feat: Implement player input and movement managers for grid-based interaction and movement.

This commit is contained in:
Yogi Wiguna
2026-02-12 12:11:38 +08:00
parent 5cf77c19ab
commit 5275c4acd8
4 changed files with 71 additions and 7 deletions
+6 -4
View File
@@ -148,9 +148,11 @@ func _flash_damage():
var is_recovering: bool = false # True when shrunk/waiting
@rpc("any_peer", "call_local", "reliable")
func on_thrown_landing(attacker: Node = null):
"""Called when Tekton lands after being thrown."""
print("[Tekton] Landed! Shrinking and waiting...")
func on_thrown_landing(attacker: Node = null, intensity: float = 1.0):
"""Called when Tekton lands after being thrown or knocked."""
print("[Tekton] Landed/Knocked! Shrinking and waiting... (Intensity: %.1f)" % intensity)
_flash_damage() # Add visual flash too? Why not.
is_recovering = true
@@ -194,7 +196,7 @@ func on_thrown_landing(attacker: Node = null):
# Spawn tiles (as requested "tekton will spawn a tiles around that floor also")
if is_multiplayer_authority():
spawn_tiles_around(8) # Standard amount
spawn_tiles_around(int(8 * intensity))
# Floor Freeze (Visual/Instant - Run on all clients locally)
temporarily_change_floor(current_position, 1, 6, 3.0)