set mj[2]=CreateUnit(GetOwningPlayer(u),'e000',GetUnitX(u)+400,GetUnitY(u)-400/SquareRoot(3),0)
set i=0
loop
exitwhen i>2
set j=GetUnitAbilityLevel(u,'A000')
loop
exitwhen j<2
call UnitAddAbility(mj[i],'A001')
call SetUnitAbilityLevel(mj[i],'A001',2)
call UnitRemoveAbility(mj[i],'A001')
set j=j-1
endloop
call UnitApplyTimedLife(mj[i],'BHwe',GetUnitAbilityLevel(u,'A000')*2+3)
set i=i+1
endloop
call TriggerRegisterUnitEvent(tg,u,EVENT_UNIT_DAMAGED)
set l[0]=AddLightning("CLPB",false,GetUnitX(mj[0]),GetUnitY(mj[0]),GetUnitX(mj[1]),GetUnitY(mj[1]))
set l[1]=AddLightning("CLPB",false,GetUnitX(mj[0]),GetUnitY(mj[0]),GetUnitX(mj[2]),GetUnitY(mj[2]))
set l[2]=AddLightning("CLPB",false,GetUnitX(mj[1]),GetUnitY(mj[1]),GetUnitX(mj[2]),GetUnitY(mj[2]))
call SaveUnitHandle(udg_hs,GetHandleId(tg),0,mj[0])
call SaveUnitHandle(udg_hs,GetHandleId(tg),1,mj[1])
call SaveUnitHandle(udg_hs,GetHandleId(tg),2,mj[2])
call SaveLightningHandle(udg_hs,GetHandleId(tg),3,l[0])
call SaveLightningHandle(udg_hs,GetHandleId(tg),4,l[1])
call SaveLightningHandle(udg_hs,GetHandleId(tg),5,l[2])
call SaveReal(udg_hs,GetHandleId(tg),6,GetUnitX(mj[1]))
call SaveReal(udg_hs,GetHandleId(tg),7,GetUnitX(mj[2]))
call SaveReal(udg_hs,GetHandleId(tg),8,GetUnitY(mj[1]))
call SaveTimerHandle(udg_hs,GetHandleId(tg),9,t)
call SaveTriggerHandle(udg_hs,GetHandleId(t),0,tg)
call SaveTriggerActionHandle(udg_hs,GetHandleId(t),1,ta)
call TimerStart(t,GetUnitAbilityLevel(u,'A000')*2+3,false,function ST_DQ)
endif
set mj[0]=null
set mj[1]=null
set mj[2]=null
set u=null
set tg=null
set ta=null
set t=null
set l[0]=null
set l[1]=null
set l[2]=null
return false
endfunction
function InitTrig_ST takes nothing returns nothing
set gg_trg_ST = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_ST, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_ST, Condition(function ST_A) )
endfunction