function Blizzard_Shock_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A000' // kiem tra Blizzard Shock
endfunction
function Blizzard_Shock_Actions takes nothing returns nothing
local unit Blizzard_Shock_C = GetTriggerUnit()
local unit Blizzard_Shock_T = GetSpellTargetUnit()
local location Blizzard_Shock_TP = GetUnitLoc(Blizzard_Shock_T)
local unit dummyBlizzardShock = CreateUnitAtLoc( GetOwningPlayer(Blizzard_Shock_C), 'n000', Blizzard_Shock_TP, 270 )
call UnitAddAbility( dummyBlizzardShock, 'A002' ) // Add storm bolt
call UnitAddAbility( dummyBlizzardShock, 'A001' ) // Add war storm
call UnitAddAbility( dummyBlizzardShock, 'A003' ) // Add Blizzard
call SetUnitAbilityLevel( dummyBlizzardShock, 'A002',GetUnitAbilityLevel(Blizzard_Shock_C,'A000'))
call SetUnitAbilityLevel( dummyBlizzardShock, 'A001',GetUnitAbilityLevel(Blizzard_Shock_C,'A000'))
call SetUnitAbilityLevel( dummyBlizzardShock, 'A003',GetUnitAbilityLevel(Blizzard_Shock_C,'A000'))
call IssueTargetOrder( dummyBlizzardShock, "thunderbolt", Blizzard_Shock_T )
call IssueImmediateOrder( dummyBlizzardShock, "stomp" )
call IssuePointOrderLoc( dummyBlizzardShock, "blizzard", Blizzard_Shock_TP )
call UnitApplyTimedLife( dummyBlizzardShock, 'BTLF', 12.00 )
call RemoveLocation(Blizzard_Shock_TP) // Remove leak TP //
set Blizzard_Shock_C = null
set dummyBlizzardShock = null
endfunction
//===========================================================================
function InitTrig_Blizzard_Shock takes nothing returns nothing
set Blizzard_Shock = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( Blizzard_Shock, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( Blizzard_Shock, Condition( function Blizzard_Shock_Conditions ) )
call TriggerAddAction( Blizzard_Shock, function Blizzard_Shock_Actions )
endfunction