forked from Nekojimi/JackIt
18 lines
619 B
GDScript3
18 lines
619 B
GDScript3
|
extends PickPlayerAction
|
||
|
class_name ProtectNightAction
|
||
|
|
||
|
@export var infinite_protection: bool = false
|
||
|
|
||
|
func execute_with_target(user: WolfPlayer, target: WolfPlayer) -> bool:
|
||
|
if !super.execute_with_target(user, target):
|
||
|
return false
|
||
|
|
||
|
target.add_murder_callback(_target_about_to_be_murdered)
|
||
|
return true
|
||
|
|
||
|
func _target_about_to_be_murdered(target: WolfPlayer, killer: WolfPlayer) -> WolfPlayer.CallbackFlags:
|
||
|
if !infinite_protection:
|
||
|
return WolfPlayer.CallbackFlags.STOP_PROCESS # no you don't
|
||
|
else:
|
||
|
return WolfPlayer.CallbackFlags.STOP_PROCESS | WolfPlayer.CallbackFlags.KEEP_CALLBACK # no you REALLY don't
|