freeftf/entities/coffin.gd
Patrick 2dce012535 0.1.0
Added a basic test map, options menu, bug fixes, and much more.
2025-08-08 10:57:42 +02:00

23 lines
1,011 B
GDScript

class_name Coffin
extends StaticBody3D
var caught_player: Player = null
func _on_dropoff(body: Node3D) -> void:
if multiplayer.is_server() and body is Player:
var player: Player = body
if player.caught_player and !caught_player:
caught_player = player.caught_player
caught_player.get_imprisoned.rpc_id(caught_player.get_multiplayer_authority(), get_path())
player.released_player.rpc_id(player.get_multiplayer_authority())
(player.get_node("ReleaseTimer") as Timer).stop()
($DamageTimer as Timer).start()
Multiplayer.players[caught_player.get_multiplayer_authority()].captured = true
elif !player.hunter and player.visible and caught_player and caught_player.health > 0:
caught_player.go_free.rpc_id(caught_player.get_multiplayer_authority())
caught_player = null
($DamageTimer as Timer).stop()
func _on_damage_timer_timeout() -> void:
if multiplayer.is_server() and caught_player.health > 0:
caught_player.damage_player.rpc_id(caught_player.get_multiplayer_authority())