function g7 takes nothing returns boolean
return(GetSpellAbilityId()=='A123')
endfunction
function G7 takes nothing returns boolean
return(IsUnitInGroup(GetTriggerUnit(),udg_group29)==false)
endfunction
function h7 takes nothing returns boolean
return(GetHeroStatBJ(1,udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)>GetHeroStatBJ(1,udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true))
endfunction
function H7 takes nothing returns nothing
call GroupAddUnit(udg_group37,GetTriggerUnit())
set udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=GetTriggerUnit()
set udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]=GetSpellTargetUnit()
call PauseUnit(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)
call PauseUnit(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)
call SetUnitInvulnerable(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)
call SetUnitInvulnerable(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)
set bj_forLoopBIndex=1
set bj_forLoopBIndexEnd=3
loop
exitwhen bj_forLoopBIndex>bj_forLoopBIndexEnd
call SetUnitVertexColorBJ(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],100,100,100,100.)
call GF(.2)
call SetUnitPositionLocFacingLocBJ(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],GetRandomLocInRect(RectFromCenterSizeBJ(GetUnitLoc(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]),60.,60.)),GetUnitLoc(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]))
call GF(.2)
call SetUnitVertexColorBJ(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],100,100,100,.0)
call GF(.2)
set bj_forLoopBIndex=bj_forLoopBIndex+1
endloop
call SetUnitAnimation(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],"attack")
call GF(.2)
if(G7())then
call PauseUnit(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false)
endif
call PauseUnit(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false)
call GroupRemoveUnit(udg_group37,GetTriggerUnit())
call SetUnitInvulnerable(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false)
call SetUnitInvulnerable(udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],false)
if(h7())then
set udg_real01=((I2R(GetHeroStatBJ(1,udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true))-I2R(GetHeroStatBJ(1,udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],true)))*(1.*I2R(GetUnitAbilityLevelSwapped(GetSpellAbilityId(),udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))]))))
call UnitDamageTargetBJ(udg_units08[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],udg_units09[(1+GetPlayerId(GetOwningPlayer(GetTriggerUnit())))],udg_real01,ATTACK_TYPE_NORMAL,DAMAGE_TYPE_ENHANCED)
endif
endfunction