Initial commit
This commit is contained in:
88
levels/level1.yaml
Normal file
88
levels/level1.yaml
Normal file
@@ -0,0 +1,88 @@
|
||||
# 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]
|
||||
104
levels/level2.yaml
Normal file
104
levels/level2.yaml
Normal file
@@ -0,0 +1,104 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user