Name | Type | is_array | initial_value |
CorrosiveLoc | location | Yes | |
CorrosiveUnit | unit | Yes | |
Creep_Positions | location | Yes | |
Creep_Types | unitcode | Yes | |
Dark_Ripple_Loc | location | Yes | |
Dark_Ripple_T | real | No | |
Dark_Ripple_Unit | unit | Yes | |
Dark_Ripple_X | real | No | |
Dark_Ripple_Y | real | No | |
FlameTrapLoc | location | Yes | |
FlameTrapUnit | unit | Yes | |
i | integer | Yes | |
IgniteUnit | unit | Yes | |
InfraLoc | location | Yes | |
InfraUnit | unit | Yes | |
IntVar | integer | Yes | |
LevelVar | integer | Yes | |
LocVar | location | Yes | |
MagmaGroup | group | No | |
MagmaLoc | location | Yes | |
MagmaUnit | unit | Yes | |
PlayerVar | player | Yes | |
RealVar | real | Yes | |
SandFormLoc | location | Yes | |
SandFormUnit | unit | Yes | |
SandStormLoc | location | Yes | |
SandStormUnit | unit | Yes | |
Starfall_Effect | effect | No | |
Starfall_Group | group | No | |
Starfall_Loc | location | Yes | |
Starfall_Unit | unit | Yes | |
UnitVar | unit | Yes |
function Revive_Creep takes nothing returns nothing
local integer i
set i = GetUnitUserData(GetTriggerUnit())
call TriggerSleepAction( 60.00 )
call CreateNUnitsAtLoc( 1, udg_Creep_Types[i], Player(PLAYER_NEUTRAL_AGGRESSIVE), udg_Creep_Positions[i], bj_UNIT_FACING )
call SetUnitUserData( GetLastCreatedUnit(), i )
endfunction
//===========================================================================
function InitTrig_Creep_Revive takes nothing returns nothing
set gg_trg_Creep_Revive = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Creep_Revive, Player(PLAYER_NEUTRAL_AGGRESSIVE), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddAction( gg_trg_Creep_Revive, function Revive_Creep )
endfunction
function Trig_Dark_Ripple_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A00K' ) ) then
return false
endif
return true
endfunction
function Trig_Dark_Ripple_Actions takes nothing returns nothing
set udg_Dark_Ripple_Unit[1] = GetTriggerUnit()
set udg_Dark_Ripple_Loc[1] = GetUnitLoc(udg_Dark_Ripple_Unit[1])
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 360
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
set udg_Dark_Ripple_T = ( GetUnitFacing(udg_Dark_Ripple_Unit[1]) + ( ( I2R(GetForLoopIndexA()) * 2.00 ) + 0.00 ) )
set udg_Dark_Ripple_X = ( 1.00 * Pow(CosBJ(udg_Dark_Ripple_T), 3.00) )
set udg_Dark_Ripple_X = ( ( udg_Dark_Ripple_X * 400.00 ) + GetLocationX(udg_Dark_Ripple_Loc[1]) )
set udg_Dark_Ripple_Y = ( 1.00 * Pow(SinBJ(udg_Dark_Ripple_T), 3.00) )
set udg_Dark_Ripple_Y = ( ( udg_Dark_Ripple_Y * 400.00 ) + GetLocationY(udg_Dark_Ripple_Loc[1]) )
set udg_Dark_Ripple_Loc[( 2 + GetForLoopIndexA() )] = Location(udg_Dark_Ripple_X, udg_Dark_Ripple_Y)
call CreateNUnitsAtLoc( 1, 'h008', GetOwningPlayer(udg_Dark_Ripple_Unit[1]), udg_Dark_Ripple_Loc[( 2 + GetForLoopIndexA() )], bj_UNIT_FACING )
set udg_Dark_Ripple_Unit[( 2 + GetForLoopIndexA() )] = GetLastCreatedUnit()
call UnitApplyTimedLifeBJ( 1.50, 'BTLF', udg_Dark_Ripple_Unit[( 2 + GetForLoopIndexA() )] )
call RemoveLocation(udg_Dark_Ripple_Loc[2 + bj_forLoopAIndex])
set bj_forLoopAIndex = bj_forLoopAIndex + 3
endloop
call RemoveLocation(udg_Dark_Ripple_Loc[1])
endfunction
//===========================================================================
function InitTrig_Dark_Ripple takes nothing returns nothing
set gg_trg_Dark_Ripple = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_Dark_Ripple, EVENT_PLAYER_UNIT_SPELL_EFFECT )
call TriggerAddCondition( gg_trg_Dark_Ripple, Condition( function Trig_Dark_Ripple_Conditions ) )
call TriggerAddAction( gg_trg_Dark_Ripple, function Trig_Dark_Ripple_Actions )
endfunction