Untitled
unknown
plain_text
a year ago
2.7 kB
13
Indexable
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
using { /Fortnite.com/Characters }
using { /Fortnite.com/Game }
health_boost_shop := class(creative_device):
@editable
LowHealthButton : conditional_button_device = conditional_button_device{}
@editable
MediumHealthButton : conditional_button_device = conditional_button_device{}
@editable
HighHealthButton : conditional_button_device = conditional_button_device{}
@editable
LowHealthBoost : float = 25.0
@editable
MediumHealthBoost : float = 50.0
@editable
HighHealthBoost : float = 100.0
# Track current health tier for each agent (0=none, 1=low, 2=med, 3=high)
var AgentHealthTier : [agent]int = map{}
OnBegin<override>()<suspends>:void=
LowHealthButton.ActivatedEvent.Subscribe(OnLowHealthPurchased)
MediumHealthButton.ActivatedEvent.Subscribe(OnMediumHealthPurchased)
HighHealthButton.ActivatedEvent.Subscribe(OnHighHealthPurchased)
GetPlayspace().PlayerAddedEvent().Subscribe(OnPlayerSpawned)
OnLowHealthPurchased(Agent : agent) : void =
if (CanUpgradeToTier[Agent, 1]):
ApplyHealthBoost(Agent, LowHealthBoost, 1)
OnMediumHealthPurchased(Agent : agent) : void =
if (CanUpgradeToTier[Agent, 2]):
ApplyHealthBoost(Agent, MediumHealthBoost, 2)
OnHighHealthPurchased(Agent : agent) : void =
if (CanUpgradeToTier[Agent, 3]):
ApplyHealthBoost(Agent, HighHealthBoost, 3)
# Only allow upgrade if new tier is higher than current
CanUpgradeToTier(Agent : agent, NewTier : int)<decides><transacts> : void =
if (CurrentTier := AgentHealthTier[Agent]):
NewTier > CurrentTier
else:
true
ApplyHealthBoost(Agent : agent, BoostAmount : float, Tier : int) : void =
if (Character := Agent.GetFortCharacter[]):
Character.SetMaxHealth(BoostAmount)
Character.SetHealth(BoostAmount)
if (set AgentHealthTier[Agent] = Tier) {}
Print("Health boost applied: {BoostAmount}, Tier: {Tier}")
OnPlayerSpawned(Player : player) : void =
if (set AgentHealthTier[Player] = 0) {}
if (Character := Player.GetFortCharacter[]):
Character.EliminatedEvent().Subscribe(OnPlayerEliminated)
OnPlayerEliminated(Result : elimination_result) : void =
Print ("Player Elim confirmed")
if (Character := Result.EliminatedCharacter, Agent := Character.GetAgent[]):
if (set AgentHealthTier[Agent] = 0) {}Editor is loading...
Leave a Comment