Files
battery/levels/level2.yaml

105 lines
2.7 KiB
YAML
Raw Permalink Normal View History

2026-07-21 19:36:02 -04:00
# Level 2 — "3% Remaining"
# Shorter fuse, meaner traps, more things that move when you least want them to.
name: "2 — 3% Remaining"
tile_size: 32
battery_seconds: 32
battery_pct: 4 # bar reads ~empty to match the theme (real time is 32s)
map: |
.........................
....#####................
.........................
.........................
.......----........###...
.........................
...###...........###.....
.........................
..........#..#...........
.........................
.P..................G....
#####.####.#####...######
traps:
# Ceiling spikes that stab down when you pass beneath — proximity triggered.
- type: spike
at: [8, 2]
direction: down
trigger: { within: 2.0 }
# A static spike hazard in the middle lane (a deadly block = spike block).
- type: block
at: [13, 4]
deadly: true
- type: block
at: [13, 5]
deadly: true
- type: block
at: [13, 6]
deadly: true
# A spiked platform patrolling the low run — jump it, never land on it.
# (Demonstrates a *mobile* mount: a block rides the patrolling block AND runs
# its own motion, lunging up to catch a player leaping over while it keeps
# sliding left/right with its carrier. Spikes ride on top of that block.)
- type: block
at: [6, 10]
path: [[6, 10], [9, 10]]
mode: pingpong
speed: 130
sprite: patrol_block
mounts:
# Rests one tile above the patrol block; springs three tiles up when the
# player is above it, then settles back — all while riding along.
- type: block
at: [0, -1]
move: [0, -3]
speed: 320
mode: once
trigger: { dir: above, range: 5, aligned: true }
mounts:
- type: spike
at: [0, -1] # spikes on top of the lunging block, riding with it
trigger: always
direction: up
# Two of the mid platform's tiles are fake — the middle looks fully floored.
- type: block
at: [11, 8]
fake: true
- type: block
at: [12, 8]
fake: true
# A block that slides sideways into you as you approach the gap.
- type: block
at: [16, 6]
move: [-3, 0]
speed: 260
trigger: { within: 3.0 }
# Crossfire: turrets from both walls at the goal approach.
- type: arrow_shooter
at: [23, 8]
direction: left
speed: 300
interval: 1.1
- type: arrow_shooter
at: [0, 4]
direction: right
speed: 220
interval: 1.7
trigger: { within: 8 }
# The single pillar before the goal (col 17 on the floor row) is a lie.
- type: block
at: [17, 11]
fake: true
# Crumbling stairs up to the exit.
- type: block
at: [19, 9]
crumble: true
crumble_delay: 0.3
respawn: 2.0