Name | Type | is_array | initial_value |
Caster | unit | Yes | |
Set_MUI | unit | No | |
SFCaster | unit | Yes | |
SFMaxIndex | integer | No | |
SFTarget | unit | Yes | |
SpecialEffect | effect | Yes | |
Target | unit | No | |
TempLoc001 | location | Yes | |
TempLoc01 | location | No | |
TempLoc02 | location | No | |
TempLoc03 | location | No | |
UnitVarCaster | unit | No | |
UnitVarTarget | unit | No |
function Trig_Shdow_Fury_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A000'
endfunction
function Trig_Shdow_Fury_Actions takes nothing returns nothing
local unit caster = GetTriggerUnit()
local unit target = GetSpellTargetUnit()
local effect eff
local effect eff2
local integer i = 0
call PolledWait(.01)
call SetUnitInvulnerable(caster,true)
call PauseUnit(caster,true)
call SetUnitTimeScale(caster,2.)
set eff = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",caster,"hand right")
set eff2 = AddSpecialEffectTarget("Abilities\\Weapons\\PhoenixMissile\\Phoenix_Missile_mini.mdl",caster,"hand left")
loop
exitwhen i >= 20
call TriggerSleepAction(.20)
call SetUnitAnimation(caster,"attack")
call SetUnitPosition(caster,GetUnitX(target),GetUnitY(target))
call SetUnitFacing(caster,Atan2(GetUnitY(target)-GetUnitY(caster),GetUnitX(target)-GetUnitX(caster))*bj_RADTODEG)
call UnitDamageTarget(caster,target,50.,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\NightElf\\Blink\\BlinkCaster.mdl",caster,"origin"))
call DestroyEffect(AddSpecialEffectTarget("Objects\\Spawnmodels\\Critters\\Albatross\\CritterBloddAlbatross.mdl",target,"chest"))
if GetWidgetLife(target) < 60. then
call SetUnitAnimation(caster,"attack")
call PauseUnit(target,true)
call SetUnitTimeScale(caster,.25)
call SetUnitTimeScale(target,.1)
call PolledWait(1.85)
call SetUnitAnimation(target,"death")
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Other\\Stampede\\StampedeMissileDeath.mdl",target,"chest"))
call DestroyEffect(AddSpecialEffect("Abilities\\Weapons\\MeatwagonMissile\\MeatwagonMissile.mdl",GetUnitX(target),GetUnitY(target)))
call SetUnitTimeScale(target,1.)
call PolledWait(.01)
call SetUnitExploded(target,true)
call UnitDamageTarget(caster,target,150.,true,false,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_NORMAL,null)
call PolledWait(1.)
exitwhen true
endif
set i = i + 1
endloop
call SetUnitAnimation(caster,"stand")
call SetUnitInvulnerable(caster,false)
call PauseUnit(caster,false)
call SetUnitTimeScale(caster,1.)
call DestroyEffect(eff)
call DestroyEffect(eff2)
set eff = null
set eff2 = null
set caster = null
set target = null
endfunction
function InitTrig_Shdow_Fury takes nothing returns nothing
set gg_trg_Shdow_Fury = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(gg_trg_Shdow_Fury,EVENT_PLAYER_UNIT_SPELL_EFFECT)
call TriggerAddCondition(gg_trg_Shdow_Fury,Condition(function Trig_Shdow_Fury_Conditions))
call TriggerAddAction(gg_trg_Shdow_Fury,function Trig_Shdow_Fury_Actions)
endfunction