09d4a60f43
Move every script and scene into role-based directories (actors/, systems/, ui/, levels/, props/) and all raw art under art/ (grouped by role, snake_case, Extract-Textures GLBs), dropping Blender version-suffix noise. Filenames are snake_case (PascalCase reserved for class_name) to avoid case-insensitive filesystem aliasing on the web/macOS targets. Routes the bull's hits through the typed DamageEvent pipeline and wires the bull's abilities to the Fx library. Updates CLAUDE.md's folder-layout overview to match. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CCyaJPTHCH9EDthpf4A5Sj
16 lines
487 B
GDScript
16 lines
487 B
GDScript
extends Node3D
|
|
## Lobby geometry — watches the run state and raises the bear-gate grid once the arena has
|
|
## been cleared. The DP flag stays as a designer override for testing the animation.
|
|
|
|
var bear_gate_open := false
|
|
|
|
|
|
func _process(_delta: float) -> void:
|
|
if bear_gate_open:
|
|
return
|
|
if Run.bear_gate_open() or DP.b("gate_unlocked_bear"):
|
|
bear_gate_open = true
|
|
$AnimationPlayer.play("Gate_opening")
|
|
if DP.b("gamepad_vibration"):
|
|
Input.start_joy_vibration(0, 0.5, .5, 7)
|