Overshield and Health Presets

Hey dear readers i have following issue.
I created a verse Code that changes the class of all players to a class with overshield.
Also i have some trigger that changes the SetMaxHealth of all Players.
But when i get killed i spawn with 100/100 Health and not the selected from my trigger event.

Here is the verse code im currently using:

using { /Fortnite.com/Devices }
using { /Fortnite.com/Characters }
using { /Verse.org/Simulation }

class_managerheal := class(creative_device):

@editable
Overshield_On_Device: class_and_team_selector_device = class_and_team_selector_device{}
@editable
Overshield_Off_Device: class_and_team_selector_device = class_and_team_selector_device{}


@editable
Overshield_Trigger: trigger_device = trigger_device{}

@editable
HP200_Trigger: trigger_device = trigger_device{}
@editable
HP180_Trigger: trigger_device = trigger_device{}
@editable
HP165_Trigger: trigger_device = trigger_device{}
@editable
HP1_Trigger: trigger_device = trigger_device{}

var Overshield<private> : logic = false



OnBegin<override>()<suspends>:void=
    Overshield_Trigger.TriggeredEvent.Subscribe(OvershieldTriggerEvent)
    HP200_Trigger.TriggeredEvent.Subscribe(HP200TriggerEvent)
    HP180_Trigger.TriggeredEvent.Subscribe(HP180TriggerEvent)
    HP165_Trigger.TriggeredEvent.Subscribe(HP165TriggerEvent)
    HP1_Trigger.TriggeredEvent.Subscribe(HP1TriggerEvent)



OvershieldTriggerEvent(NotAgent:?agent):void=
    if (Overshield?):
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = FortChar.GetMaxHealth()
                Shield : float = FortChar.GetMaxShield()
                Overshield_Off_Device.ChangeClass(P)
                set Overshield = false
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
    else:
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = FortChar.GetMaxHealth()
                Shield : float = FortChar.GetMaxShield()
                Overshield_On_Device.ChangeClass(P)
                set Overshield = true
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)

HP200TriggerEvent(NotAgent:?agent):void=
    if (Overshield?):
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Overshield_On_Device.ChangeClass(P)
                set Overshield = true
                Health : float = 100.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
    else:
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = 100.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
HP180TriggerEvent(NotAgent:?agent):void=
    if (Overshield?):
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Overshield_On_Device.ChangeClass(P)
                set Overshield = true
                Health : float = 80.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
    else:
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = 80.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)

HP165TriggerEvent(NotAgent:?agent):void=
    if (Overshield?):
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Overshield_On_Device.ChangeClass(P)
                set Overshield = true
                Health : float = 65.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
    else:
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = 65.0
                Shield: float = 100.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)

HP1TriggerEvent(NotAgent:?agent):void=
    if (Overshield?):
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Overshield_On_Device.ChangeClass(P)
                set Overshield = true
                Health : float = 1.0
                Shield: float = 0.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)
    else:
        Players:[]player := GetPlayspace().GetPlayers()
        for(P : Players):
            if (FortChar := P.GetFortCharacter[]):
                Health : float = 1.0
                Shield: float = 0.0
                FortChar.SetMaxHealth(Health)
                FortChar.SetMaxShield(Shield)

Hey LPDaVinci

Should you try to change overshield and health in a Class Designer because it holds the health and overshield info ?? I feel the class selector may use the class designer settings on spawning and override anything that happens before that ??

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.