Files
battery/levels/level1.yaml

89 lines
2.5 KiB
YAML
Raw Normal View History

2026-07-21 19:36:02 -04:00
# Level 1 — "Low Battery"
# A gentle-ish introduction to the fact that nothing here can be trusted.
#
# Map legend: #=solid -=one-way platform P=spawn G=goal(charger) .=empty
# Trap coords are [col, row], 0-based from the top-left of the map.
name: "1 — Low Battery"
tile_size: 32
battery_seconds: 40
map: |
.........................
.........................
.......#####.............
.........................
.........................
..............#####......
.........................
....###..................
.........................
.................####....
.........................
.P.....................G.
##########.###.##########
traps:
# The 4th tile of this ledge isn't really there — a classic pit-trap step.
- type: block
at: [7, 7]
fake: true
# A rhythmic floor spike near the start. Timed, so you can learn to read it.
- type: spike
at: [5, 11]
direction: up
trigger: { timer: { interval: 1.2, up_time: 0.7 } }
# The little island between the pits looks safe. It is — for a quarter
# second. Keep moving and you pass; hesitate and it strikes.
- type: spike
at: [12, 11]
direction: up
trigger: { within: 1.6 }
delay: 0.25
# A wall turret raking the upper platform with arrows (always firing).
- type: arrow_shooter
at: [22, 5]
direction: left
speed: 240
interval: 1.4
# This tile extends the right-hand ledge... until you step over it, then it
# drops (mode: once — extends while triggered, retracts when not). Two
# conditions: you're close AND directly above it. Because the sensors track
# the block, it keeps dropping as you ride it down.
- type: block
at: [21, 9]
move: [0, 4]
speed: 220
sense: current # rides down with you (senses from its live position)
trigger:
all:
- { within: 5 }
- { dir: above, aligned: true }
# A ferry platform between the low ledges — ride it, don't rush it. A patrol
# is just a block with a path and (the default) `always` trigger.
- type: block
at: [9, 10]
path: [[9, 10], [14, 10], [14, 6]]
mode: loop
speed: 110
sprite: patrol_block
# A stepping block that gives way a beat after you land on it.
- type: block
at: [16, 11]
crumble: true
crumble_delay: 0.4
respawn: 2.5
# An invisible catch-wall below the dropper — a vertical array of invisible
# blocks (this is what used to be an invisible_wall).
- type: block
at: [22, 10]
invisible: true
count: [1, 3]