Name | Type | is_array | initial_value |
Cooldown | group | No | |
MapGroup | group | No | |
MapHostile | location | No | |
Region | rect | Yes | |
T_Loc | location | Yes | |
TL | integer | No | |
TL_Debug | integer | Yes | |
TL_Group | group | No | |
TL_Hero | unit | Yes | |
TL_Life | real | Yes | |
TL_Mana | real | Yes | |
TL_Point1 | location | Yes | |
TL_Timer | integer | Yes | |
TL_Times | integer | No | |
WF | integer | No | |
WF_Damage | real | Yes | |
WF_Debug_Distance | real | Yes | |
WF_Distance_Slam | real | Yes | |
WF_Equation | real | Yes | |
WF_Fly | real | Yes | |
WF_Formula | real | Yes | |
WF_Hero | unit | Yes | |
WF_Level | integer | No | |
WF_Off | boolean | Yes | |
WF_Point | location | Yes | |
WF_Skip | integer | No | |
WF_Slam_Distance_Decoy | real | Yes | |
WF_Slam_Height | real | Yes | |
WF_Slam_Speed | real | Yes | |
WF_Slam_Times | integer | Yes | |
WF_SpecialEffect | string | Yes | |
WF_Spin_Speed | real | Yes | |
WF_Targ | location | Yes | |
WF_Target | unit | Yes | |
WF_Times | integer | No | |
WF_Type | damagetype | Yes |
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Switch_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'ANfb'
endfunction
function Trig_Switch_Actions takes nothing returns nothing
local unit u = GetSpellAbilityUnit()
local unit i = GetSpellTargetUnit()
local real q = GetUnitX(u)
local real w = GetUnitY(u)
local string light = "Abilities\\Spells\\Human\\ManaFlare\\ManaFlareBoltImpact.mdl"
local string zap = "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl"
local group x = CreateGroup()
local unit temp
local real s = 0
local real g = 250
local timer N
local integer count = 1
local integer countt = 6
local location fs = GetUnitLoc(u)
//======================================================================================
local location fx = PolarProjectionBJ(fs, g, s)
loop
exitwhen count > countt
set fx = PolarProjectionBJ(fs, g, s)
call DestroyEffect(AddSpecialEffectLoc(light, fx))
set s = s + 60
set count = count + 1
endloop
//======================================================================================
call SetUnitX(u, GetUnitX(i))
call SetUnitY(u, GetUnitY(i))
call SetUnitX(i, q)
call SetUnitY(i, w)
//======================================================================================
call GroupEnumUnitsInRangeOfLoc(x, fs, g, null)
loop
set temp = FirstOfGroup(x)
exitwhen temp == null
if IsUnitEnemy(temp, null) and (GetUnitState(temp, UNIT_STATE_LIFE) > 0.405) then
call UnitDamageTarget(u, temp, 100, true, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE, null)
call GroupRemoveUnit(x, temp)
else
endif
endloop
//========================================================================================
call DestroyEffect(AddSpecialEffect(zap, q, w))
call DestroyEffect(AddSpecialEffect(zap, GetUnitX(u), GetUnitY(u)))
call RemoveLocation(fs)
call RemoveLocation(fx)
call DestroyGroup(x)
set u = null
set i = null
set temp = null
endfunction
//===========================================================================
function InitTrig_Switch takes nothing returns nothing
set gg_trg_Switch = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Switch, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Switch, Condition( function Trig_Switch_Conditions ) )
call TriggerAddAction( gg_trg_Switch, function Trig_Switch_Actions )
call Preload("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl")
call Preload("Abilities\\Spells\\Human\\ManaFlare\\ManaFlareBoltImpact.mdl")
endfunction