* animate slime faster

* show loot text above head much closer to head
This commit is contained in:
2026-01-11 04:32:42 +01:00
parent a43a17ed10
commit 464f499b36
7 changed files with 160 additions and 80 deletions

View File

@@ -2148,12 +2148,39 @@ func _die():
is_dead = true # Ensure flag is set
velocity = Vector2.ZERO
is_knocked_back = false
is_lifting = false
is_pushing = false
held_object = null
# Don't force release - let them carry the corpse
# We'll handle release during respawn
# CRITICAL: Release any held object/player BEFORE dying to restore their collision layers
if held_object:
var released_obj = held_object
held_object = null
is_lifting = false
is_pushing = false
grab_offset = Vector2.ZERO
push_axis = Vector2.ZERO
# Re-enable collision for released object/player
if _is_box(released_obj):
released_obj.set_collision_layer_value(2, true)
released_obj.set_collision_mask_value(1, true)
released_obj.set_collision_mask_value(2, true)
if "is_being_held" in released_obj:
released_obj.is_being_held = false
if "held_by_player" in released_obj:
released_obj.held_by_player = null
elif _is_player(released_obj):
released_obj.set_collision_layer_value(1, true)
released_obj.set_collision_mask_value(1, true)
if released_obj.has_method("set_being_held"):
released_obj.set_being_held(false)
# Sync release to network
if multiplayer.has_multiplayer_peer() and is_multiplayer_authority() and can_send_rpcs and is_inside_tree():
_sync_release.rpc(released_obj.get_path())
print(name, " released ", released_obj.name, " on death")
else:
is_lifting = false
is_pushing = false
print(name, " died!")