feat(map): high-quality movement map with spawns, cover, and wall-run surfaces

- Multi-level layout: central tower, corner platforms, stepping stones
- 6 spawn points (3 red, 3 blue) in covered alcoves with multiple exits
- Anti-spawn-camping: cover walls around spawns, 2+ exit routes each
- Wall-run surfaces on outer walls and inner tower walls (blue metal)
- Cover systems: low walls, crates, corridor walls for tactical lanes
- Ramps: cardinal ramps to central platform, corner ramps to platforms
- Visual polish: warm/cool accent lighting, sky/fog, varied materials
- Materials: concrete, dark concrete, metal, wood, crate, wall-run blue
- Decorative: barrels, hazard stripes, edge trim, accent beams
- Fixed test_fsm_runner.gd queue_free() void return parse error
- Added _ramp_mat() builder for material-based ramps

Closes #2
This commit is contained in:
2026-06-21 00:50:25 -04:00
parent 415082d866
commit 7eac41b4cf
3 changed files with 549 additions and 56 deletions
-19
View File
@@ -36,25 +36,6 @@ func update(delta: float) -> void:
vel.x = hvel.x
vel.z = hvel.z
# Bunny hop: if jump pressed and on ground near-peak of arc → extra boost
if machine.input_jump_just_pressed and machine.on_ground:
vel.y = params.jump_velocity * params.bunny_hop_impulse
machine.player.velocity = vel
machine.register_chain_mechanic("bunny_hop")
machine.current_jump_count += 1
machine.on_ground = false
machine.switch_to("air")
return
# Double Jump
if machine.input_jump_just_pressed and not machine.on_ground and machine.current_jump_count < params.double_jump_max_count:
vel.y = params.double_jump_velocity
machine.player.velocity = vel
machine.current_jump_count += 1
machine.register_chain_mechanic("double_jump")
machine.switch_to("air")
return
machine.player.velocity = vel
machine.player.move_and_slide()