# THIS CODE IS EUPHORIAX PROPERTY.
RESPECT THE RIGHTS OF THIS CODE
# SHARING THIS CODE COULD COME WITH A LEGAL CONSEQUENCES
using { /Fortnite.com/Characters }
using { /Fortnite.com/Game }
using { /Fortnite.com/Devices }
using { /Verse.org/Simulation }
using { /UnrealEngine.com/Temporary/Diagnostics }
Vampire_heal := class(creative_device):
@editable
Button:conditional_button_device = conditional_button_device{}
HEAL_DELAY:float = 0.1
OnBegin<override>()<suspends>:void=
Button.ActivatedEvent.Subscribe(WhenActivated)
WhenActivated(Agent:agent):void=
if(FC:fort_character = Agent.GetFortCharacter[]):
FC.DamagedEvent().Subscribe(OnPlayerDamaged)
FC.DamagedShieldEvent().Subscribe(OnShieldDamaged)
OnPlayerDamaged(DR:damage_result):void=
if(FC:fort_character = fort_character[DR.Target]):
CurrentHealth:float = FC.GetHealth()
Print("current health of player: {CurrentHealth}")
DamagedAmount:float = DR.Amount
Print("Amount_damaged: {DamagedAmount}")
if(Instigator:game_action_instigator = DR.Instigator?):
if(InstigatingAgent:agent = Instigator.GetInstigatorAgent[]):
if(FC:fort_character = InstigatingAgent.GetFortCharacter[]):
CurrentHealth:float = FC.GetHealth()
Print("current health of player:{CurrentHealth}")
DoSiphon(FC, DamagedAmount)
HealPlayer(Player:fort_character, Amount:float)<suspends>:void=
var HealedAmount:float = 0.0
loop:
CurrentHealth:float = Player.GetHealth()
if(CurrentHealth = 100.0):
break
else:
set HealedAmount += 1.0
NewHealth:float = CurrentHealth + 1.0
Player.SetHealth(NewHealth)
if(HealedAmount >= Amount):
break
Sleep (HEAL_DELAY)
OnShieldDamaged(DR:damage_result):void=
if(FC:fort_character = fort_character[DR.Target]):
CurrentShield:float = FC.GetShield()
Print("current shield of player: {CurrentShield}")
DamagedAmount:float = DR.Amount
Print("Amount damaged: {DamagedAmount}")
if(Instigator:game_action_instigator = DR.Instigator?):
if(InstigatingAgent: agent = Instigator.GetInstigatorAgent[]):
if(FC:fort_character = InstigatingAgent.GetFortCharacter[]):
CurrentShield:float = FC.GetShield()
Print("current shlied of player:{CurrentShield}")
DoSiphon(FC, DamagedAmount)
FixShield(Player:fort_character, Amount:float)<suspends>:void=
var FixedAmount:float = 0.0
loop:
CurrentShield:float = Player.GetShield()
if(CurrentShield =100.0 ):
break
else:
set FixedAmount += 1.0
NewShield:float = CurrentShield + 1.0
Player.SetShield(NewShield)
if(FixedAmount >= Amount):
break
Sleep(HEAL_DELAY)
DoSiphon(Player:fort_character, Amount:float):void=
CurrentShield:float = Player.GetShield()
CurrentHealth:float = Player.GetHealth()
if(CurrentHealth < 100.0):
Print("Heal player first {Amount}")
spawn:
HealPlayer(Player, Amount)
else:
Print("Fix shield {Amount}")
spawn:
FixShield(Player, Amount)
# THIS CODE IS EUPHORIAX PROPERTY. RESPECT THE RIGHTS OF THIS CODE
# SHARING THIS CODE COULD COME WITH A LEGAL CONSEQUENCES