added nice smoke puffs to interactible objects

This commit is contained in:
2026-01-11 12:27:02 +01:00
parent 3adf6660bb
commit 37b0d61566
13 changed files with 566 additions and 30 deletions

View File

@@ -211,7 +211,12 @@ func _process(delta: float) -> void:
global_position = open_position # Also set global position
# When moved from closed position (open), collision should be DISABLED
set_collision_layer_value(7, false)
print("Door: Opening animation complete - moved to open position: ", open_position, " (closed: ", closed_position, ", offset: ", open_offset, ") - collision DISABLED")
print("Door: Opening animation complete - moved to open position: ", open_position, " (closed: ", closed_position, ", offset: ", open_offset, ") - collision DISABLED", " (key_used=", key_used, ")" if type == "KeyDoor" else "")
# CRITICAL: For KeyDoors, ensure key_used is true after animation completes
# This prevents the door from being reset to closed in _process()
if type == "KeyDoor":
key_used = true
# Spawn smoke puffs when StoneDoor finishes opening (1-2 puffs)
if type == "StoneDoor":
@@ -1231,6 +1236,10 @@ func _sync_door_open():
is_closed = true
set_collision_layer_value(7, true)
# CRITICAL: For KeyDoors, set key_used to true so it doesn't get reset to closed
if type == "KeyDoor":
key_used = true
animation_start_position = position
is_opening = true
is_closing = false
@@ -1244,7 +1253,7 @@ func _sync_door_open():
else:
$SfxOpenStoneDoor.play()
print("Door: Client received door open RPC for ", name, " - starting open animation")
print("Door: Client received door open RPC for ", name, " - starting open animation", " (key_used=", key_used, ")" if type == "KeyDoor" else "")
@rpc("authority", "reliable")
func _sync_puzzle_solved(is_solved: bool):