32 lines
718 B
GDScript
32 lines
718 B
GDScript
extends Interactible
|
|
|
|
var plant: StringName
|
|
@onready var defuse_timer: Timer = $DefuseTimer
|
|
|
|
func _ready() -> void:
|
|
super()
|
|
if multiplayer.is_server():
|
|
Session.bomb_timer.timeout.connect(on_timeout)
|
|
Session.begin_bomb_stage()
|
|
|
|
func on_timeout():
|
|
if multiplayer.is_server() == false:
|
|
return
|
|
|
|
Session.kill_site(plant)
|
|
|
|
func on_defuse_timeout():
|
|
Session.defuse_win()
|
|
|
|
func interaction_start(player_id: int):
|
|
if Session.player_nodes[player_id].team != Session.TEAMS.DEFENCE:
|
|
return
|
|
super(player_id)
|
|
defuse_timer.start()
|
|
Session.player_nodes[player_id].passive.rpc_id(player_id)
|
|
|
|
func interaction_end():
|
|
Session.player_nodes[interacted_id].depassive.rpc_id(interacted_id)
|
|
|
|
super()
|
|
defuse_timer.stop()
|