using { /Fortnite.
com/Devices }
using { /[Link]/Simulation }
using { /[Link]/Temporary/Diagnostics }
using { /[Link]/Random }
using { /[Link]/Characters }
using { /[Link]/Game }
using { /[Link]/UI }
using { /[Link]/Simulation/Tags }
using { /[Link]/Temporary/UI }
using { /[Link]/Colors/NamedColors }
using { /[Link]/Temporary/SpatialMath }
freeze_device := class(creative_device):
@editable ConditionalButton : conditional_button_device =
conditional_button_device{}
@editable FreezeTime : float = 2.0
OnPlayerDamage(DamageResult : damage_result): void =
if:
Instigator := [Link]?
Agent := [Link][]
[Link][Agent]
Target := fort_character[[Link]]
then:
spawn:
FreezePlayer(Target)
FreezePlayer(Target : fort_character)<suspends> : void =
Print("Frozen")
[Link](stasis_args{})
Sleep(FreezeTime)
[Link]()
Print("UnFrozen")
OnPLayerAdded(Player : player) : void =
if (FortCharacter := [Link][]):
[Link]().Subscribe(OnPlayerDamage)
OnBegin<override>()<suspends> : void =
GetPlayspace().PlayerAddedEvent().Subscribe(OnPLayerAdded)
for (Player : GetPlayspace().GetPlayers(), FortCharacter :=
[Link][]):
[Link]().Subscribe(OnPlayerDamage)