74 lines
2.4 KiB
Plaintext
74 lines
2.4 KiB
Plaintext
Scriptname _00E_A1_FlashpowderExpSC extends activemagiceffect
|
|
|
|
Import _00E_TalentLibrary
|
|
Import Utility
|
|
|
|
Event OnEffectStart(Actor akTarget, Actor akCaster)
|
|
|
|
If !akTarget.HasSpell(_00E_AbBleedoutSP)
|
|
AliasFound = False
|
|
Victim = akTarget
|
|
PutIntoAlias(Victim)
|
|
akTarget.SetGhost(true)
|
|
Wait(GetWaitDuration())
|
|
iAliasToFill.Clear()
|
|
_00E_A2_FlashpowderGlobal.SetValueInt(0)
|
|
akTarget.SetGhost(false)
|
|
akTarget.StopCombatAlarm()
|
|
Victim.EvaluatePackage()
|
|
EndIf
|
|
|
|
EndEvent
|
|
|
|
|
|
;=====================================================================================
|
|
; FUNCTIONS
|
|
;=====================================================================================
|
|
|
|
Function PutIntoAlias(Actor iActor)
|
|
|
|
if !AliasFound && !iActor.HasSpell(_00E_AbBleedoutSP)
|
|
int iAliasIndex = A1_Flashpowder_VictimArray.Length - 1
|
|
|
|
while (!AliasFound && iAliasIndex >= 0) && !(iActor.HasSpell(_00E_AbBleedoutSP))
|
|
|
|
iAliasToFill = A1_Flashpowder_VictimArray[iAliasIndex]
|
|
|
|
If iAliasToFill.ForceRefIfEmpty(iActor)
|
|
AliasFound = True
|
|
Else
|
|
iAliasIndex -= 1
|
|
EndIf
|
|
|
|
EndWhile
|
|
|
|
EndIf
|
|
|
|
EndFunction
|
|
|
|
float Function GetWaitDuration()
|
|
|
|
int iDurationIndex = GetPlayerTalentLevel(_00E_Class_Manipulation_P05_Talent_Rift, _00E_Class_Manipulation_P05_Talent_Rift2, _00E_Class_Manipulation_P05_Talent_Rift3) - 1
|
|
Float iWaitDuration = _00E_A1_FlashpowderSP.GetNthEffectDuration(iDurationIndex)
|
|
Return iWaitDuration
|
|
|
|
EndFunction
|
|
|
|
;=====================================================================================
|
|
; PROPERTIES
|
|
;=====================================================================================
|
|
|
|
Actor Victim
|
|
bool AliasFound
|
|
ReferenceAlias iAliasToFill
|
|
|
|
Spell Property _00E_A1_FlashpowderSP Auto
|
|
Spell Property _00E_AbBleedoutSP Auto
|
|
|
|
GlobalVariable Property _00E_A2_FlashpowderGlobal Auto
|
|
|
|
Perk Property _00E_Class_Manipulation_P05_Talent_Rift Auto
|
|
Perk Property _00E_Class_Manipulation_P05_Talent_Rift2 Auto
|
|
Perk Property _00E_Class_Manipulation_P05_Talent_Rift3 Auto
|
|
|
|
ReferenceAlias[] Property A1_Flashpowder_VictimArray Auto |