Does anyone know how the freezing gun works in the case of a shield

This is my code:
using { /Fortnite.com/Characters }
using { /Fortnite.com/Devices }
using { /Fortnite.com/Game }
using { /Fortnite.com/UI }
using { /Verse.org/Simulation }
using { /Verse.org/Colors }
using { /UnrealEngine.com/Temporary/SpatialMath }
using { /UnrealEngine.com/Temporary/Diagnostics }

freeze_device := class(creative_device):

@editable ConditionalButton : conditional_button_device = conditional_button_device{}
@editable FreezeTime : float = 2.0


OnPlayerDamaged(DamageResult : damage_result): void =
    if:
        Instigator := DamageResult.Instigator?
        Agent := Instigator.GetInstigatorAgent[]
        ConditionalButton.IsHoldingItem[Agent]
        Target := fort_character[DamageResult.Target]

    then:
        spawn:
            FreezePlayer(Target)

FreezePlayer(Target : fort_character)<suspends> : void = 
    Print("Frozen the player")
    Target.PutInStasis(stasis_args{}) 
    Sleep(FreezeTime)
    Target.ReleaseFromStasis()
    Print("Unfrozen the player")

OnPlayerAdded(Player : player) : void =
    if (FortCharacter := Player.GetFortCharacter[]):
        FortCharacter.DamagedEvent().Subscribe(OnPlayerDamaged)

OnBegin<override>()<suspends> : void = 
    GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerAdded)

    for (Player : GetPlayspace().GetPlayers(), FortCharacter := Player.GetFortCharacter[]):
        FortCharacter.DamagedEvent().Subscribe(OnPlayerDamaged)