function Crush_Cond takes nothing returns boolean
return GetSpellAbilityId() == 'A008'
endfunction
function Crush_Actions takes nothing returns nothing
local unit caster = GetSpellAbilityUnit()
local unit target = GetSpellTargetUnit()
local unit dummy = CreateUnit(GetOwningPlayer(caster), 'H009', GetUnitX(target),GetUnitY(target),GetUnitFacing(target))
local integer level = GetUnitAbilityLevel(caster,'A008')
local real duration
if level == 1 then
set duration = 250
elseif level == 2 then
set duration = 500
else
set duration = 1000
endif
call SetUnitAbilityLevel(dummy,'Ahtb',level)
call IssueTargetOrder(dummy,"thunderbolt",target)
call TriggerSleepAction(duration)
call IssueTargetOrder(target,"attack",caster)
call RemoveUnit(dummy)
set caster = null
set target = null
endfunction
//===========================================================================
function InitTrig_Crush takes nothing returns nothing
local trigger trgCrush = CreateTrigger()
call TriggerRegisterAnyUnitEventBJ( trgCrush, EVENT_PLAYER_UNIT_SPELL_FINISH )
call TriggerAddCondition( trgCrush, Condition( function Crush_Cond ) )
call TriggerAddAction( trgCrush, function Crush_Actions )
set trgCrush = null
endfunction