Name | Type | is_array | initial_value |
Creep_Face_Ang | real | Yes | |
Creep_Loc | location | Yes | |
Epicenter_Caster | unit | No | |
Epicenter_Caster_Loc | location | No | |
Epicenter_Damage | integer | No | |
Epicenter_Group | group | No | |
Epicenter_Picked_Loc | location | No | |
Epicenter_Pulses | integer | No | |
IB_Multiplier | integer | No | |
IB_Offset | real | No | |
IB_Point | location | Yes | |
Integer | integer | No | |
Temp_Point | location | No |
function Trig_Burrowstrike_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A008'
endfunction
function Trig_Burrowstrike_Actions takes nothing returns nothing
local unit u = GetTriggerUnit()
local integer i = GetUnitAbilityLevelSwapped('A008', u)
local location l = GetUnitLoc(u)
local location m = GetSpellTargetLoc()
call CreateNUnitsAtLoc( 1, 'n000', GetOwningPlayer(u), PolarProjectionBJ(l, -100.00, AngleBetweenPoints(l, m)), GetUnitFacing(u) )
if i==1 then
call UnitAddAbility( GetLastCreatedUnit(), 'A005' )
call SetUnitAbilityLevelSwapped( 'A005', GetLastCreatedUnit(), ( R2I(DistanceBetweenPoints(l, m)) / 100 ) )
else
if i==2 then
call UnitAddAbility( GetLastCreatedUnit(), 'A006' )
call SetUnitAbilityLevelSwapped( 'A006', GetLastCreatedUnit(), ( R2I(DistanceBetweenPoints(l, m)) / 100 ) )
else
if i==3 then
call UnitAddAbility( GetLastCreatedUnit(), 'A007' )
call SetUnitAbilityLevelSwapped( 'A007', GetLastCreatedUnit(), ( R2I(DistanceBetweenPoints(l, m)) / 100 ) )
else
call UnitAddAbility( GetLastCreatedUnit(), 'A004' )
call SetUnitAbilityLevelSwapped( 'A004', GetLastCreatedUnit(), ( R2I(DistanceBetweenPoints(l, m)) / 100 ) )
endif
endif
endif
call IssuePointOrder( GetLastCreatedUnit(), "impale", GetLocationX(m),GetLocationY(m) )
call TriggerSleepAction( ( DistanceBetweenPoints(l, m) / 4000.00 ) )
call SetUnitPositionLoc( u, m )
call SetUnitAnimation( u, "morph ALTERNATE" )
set u = null
call RemoveLocation(l)
call RemoveLocation(m)
set l = null
set m = null
endfunction
//===========================================================================
function InitTrig_Burrowstrike takes nothing returns nothing
set gg_trg_Burrowstrike = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Burrowstrike, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Burrowstrike, Condition( function Trig_Burrowstrike_Conditions ) )
call TriggerAddAction( gg_trg_Burrowstrike, function Trig_Burrowstrike_Actions )
endfunction