function Trig_asd_Func010002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hfoo' )
endfunction
function Trig_asd_Func010002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hrif' )
endfunction
function Trig_asd_Func010002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hmtt' )
endfunction
function Trig_asd_Func010002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func010002002002001(), Trig_asd_Func010002002002002() )
endfunction
function Trig_asd_Func010002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func010002002001(), Trig_asd_Func010002002002() )
endfunction
function Trig_asd_Func013002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hfoo' )
endfunction
function Trig_asd_Func013002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hrif' )
endfunction
function Trig_asd_Func013002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hmtt' )
endfunction
function Trig_asd_Func013002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func013002002002001(), Trig_asd_Func013002002002002() )
endfunction
function Trig_asd_Func013002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func013002002001(), Trig_asd_Func013002002002() )
endfunction
function Trig_asd_Func016002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hfoo' )
endfunction
function Trig_asd_Func016002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hrif' )
endfunction
function Trig_asd_Func016002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'hmtt' )
endfunction
function Trig_asd_Func016002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func016002002002001(), Trig_asd_Func016002002002002() )
endfunction
function Trig_asd_Func016002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func016002002001(), Trig_asd_Func016002002002() )
endfunction
function Trig_asd_Func020002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h003' )
endfunction
function Trig_asd_Func020002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h005' )
endfunction
function Trig_asd_Func020002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h009' )
endfunction
function Trig_asd_Func020002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func020002002002001(), Trig_asd_Func020002002002002() )
endfunction
function Trig_asd_Func020002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func020002002001(), Trig_asd_Func020002002002() )
endfunction
function Trig_asd_Func023002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h003' )
endfunction
function Trig_asd_Func023002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h005' )
endfunction
function Trig_asd_Func023002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h009' )
endfunction
function Trig_asd_Func023002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func023002002002001(), Trig_asd_Func023002002002002() )
endfunction
function Trig_asd_Func023002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func023002002001(), Trig_asd_Func023002002002() )
endfunction
function Trig_asd_Func026002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h003' )
endfunction
function Trig_asd_Func026002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h005' )
endfunction
function Trig_asd_Func026002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h009' )
endfunction
function Trig_asd_Func026002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func026002002002001(), Trig_asd_Func026002002002002() )
endfunction
function Trig_asd_Func026002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func026002002001(), Trig_asd_Func026002002002() )
endfunction
function Trig_asd_Func030002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h004' )
endfunction
function Trig_asd_Func030002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h006' )
endfunction
function Trig_asd_Func030002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h00A' )
endfunction
function Trig_asd_Func030002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func030002002002001(), Trig_asd_Func030002002002002() )
endfunction
function Trig_asd_Func030002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func030002002001(), Trig_asd_Func030002002002() )
endfunction
function Trig_asd_Func033002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h004' )
endfunction
function Trig_asd_Func033002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h006' )
endfunction
function Trig_asd_Func033002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h00A' )
endfunction
function Trig_asd_Func033002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func033002002002001(), Trig_asd_Func033002002002002() )
endfunction
function Trig_asd_Func033002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func033002002001(), Trig_asd_Func033002002002() )
endfunction
function Trig_asd_Func036002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h004' )
endfunction
function Trig_asd_Func036002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h006' )
endfunction
function Trig_asd_Func036002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h00A' )
endfunction
function Trig_asd_Func036002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func036002002002001(), Trig_asd_Func036002002002002() )
endfunction
function Trig_asd_Func036002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func036002002001(), Trig_asd_Func036002002002() )
endfunction
function Trig_asd_Func040002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h002' )
endfunction
function Trig_asd_Func040002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h007' )
endfunction
function Trig_asd_Func040002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h008' )
endfunction
function Trig_asd_Func040002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func040002002002001(), Trig_asd_Func040002002002002() )
endfunction
function Trig_asd_Func040002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func040002002001(), Trig_asd_Func040002002002() )
endfunction
function Trig_asd_Func043002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h002' )
endfunction
function Trig_asd_Func043002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h007' )
endfunction
function Trig_asd_Func043002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h008' )
endfunction
function Trig_asd_Func043002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func043002002002001(), Trig_asd_Func043002002002002() )
endfunction
function Trig_asd_Func043002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func043002002001(), Trig_asd_Func043002002002() )
endfunction
function Trig_asd_Func046002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h002' )
endfunction
function Trig_asd_Func046002002002001 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h007' )
endfunction
function Trig_asd_Func046002002002002 takes nothing returns boolean
return ( GetUnitTypeId(GetFilterUnit()) == 'h008' )
endfunction
function Trig_asd_Func046002002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func046002002002001(), Trig_asd_Func046002002002002() )
endfunction
function Trig_asd_Func046002002 takes nothing returns boolean
return GetBooleanOr( Trig_asd_Func046002002001(), Trig_asd_Func046002002002() )
endfunction
function Trig_asd_Actions takes nothing returns nothing
local location temppoint
local location temppoint2
local location array tpoint
local rect tempregion
call DestroyTimerDialogBJ( udg_FirstSpawnTimerWindow )
set udg_FirstSpawnTimer = null
set udg_FirstSpawnTimerWindow = null
call EnableTrigger( gg_trg_Time_Update )
call StartTimerBJ( udg_Spawn_Timer, true, 30.00 )
set udg_Spawn_Timer = GetLastCreatedTimerBJ()
// Humans
set tempregion = gg_rct_Human_Southeast_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Undead_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'hfoo', Player(0), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'hrif', Player(0), temppoint, temppoint2 )
set udg_SpawningUnits[1] = GetUnitsInRectMatching( tempregion, Condition(function Trig_asd_Func010002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Human_South_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Orc_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'hfoo', Player(1), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'hrif', Player(1), temppoint, temppoint2 )
set udg_SpawningUnits[2] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func013002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Human_East_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Night_Elf_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'hfoo', Player(2), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'hrif', Player(2), temppoint, temppoint2 )
set udg_SpawningUnits[3] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func016002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
// Orcs
set tempregion = gg_rct_Orc_Northeast_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Night_Elf_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h003', Player(3), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h005', Player(3), temppoint, temppoint2 )
set udg_SpawningUnits[4] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func020002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Orc_East_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Undead_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h003', Player(4), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h005', Player(4), temppoint, temppoint2 )
set udg_SpawningUnits[5] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func023002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Orc_North_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Human_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h003', Player(5), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h005', Player(5), temppoint, temppoint2 )
set udg_SpawningUnits[6] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func026002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
// Undeads
set tempregion = gg_rct_Undead_Northwest_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Human_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h004', Player(6), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h006', Player(6), temppoint, temppoint2 )
set udg_SpawningUnits[7] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func030002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Undead_West_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Orc_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h004', Player(7), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h006', Player(7), temppoint, temppoint2 )
set udg_SpawningUnits[8] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func033002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Undead_North_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Night_Elf_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h004', Player(8), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h006', Player(8), temppoint, temppoint2 )
set udg_SpawningUnits[9] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func036002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
// Night Elves
set tempregion = gg_rct_Night_Elf_Southwest_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Orc_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h002', Player(9), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h007', Player(9), temppoint, temppoint2 )
set udg_SpawningUnits[10] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func040002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Night_Elf_South_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Undead_Basement)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h002', Player(10), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h007', Player(10), temppoint, temppoint2 )
set udg_SpawningUnits[11] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func043002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
set tempregion = gg_rct_Night_Elf_West_Spawn
set temppoint = GetRectCenter(tempregion)
set temppoint2 = GetRectCenter(gg_rct_Human_East_Spawn)
call CreateNUnitsAtLocFacingLocBJ( 3, 'h002', Player(11), temppoint, temppoint2 )
call CreateNUnitsAtLocFacingLocBJ( 3, 'h007', Player(11), temppoint, temppoint2 )
set udg_SpawningUnits[12] = GetUnitsInRectMatching(tempregion, Condition(function Trig_asd_Func046002002))
call RemoveLocation(temppoint)
call RemoveLocation(temppoint2)
call RemoveRect(tempregion)
// Actions
set tpoint[1] = GetRectCenter(gg_rct_Undead_Basement)
set tpoint[2] = GetRectCenter(gg_rct_Orc_Basement)
set tpoint[3] = GetRectCenter(gg_rct_Night_Elf_Basement)
set tpoint[4] = GetRectCenter(gg_rct_Human_Basement)
call GroupPointOrderLocBJ( udg_SpawningUnits[1], "attack", tpoint[1] )
call GroupPointOrderLocBJ( udg_SpawningUnits[2], "attack", tpoint[2] )
call GroupPointOrderLocBJ( udg_SpawningUnits[3], "attack", tpoint[3] )
call GroupPointOrderLocBJ( udg_SpawningUnits[4], "attack", tpoint[3] )
call GroupPointOrderLocBJ( udg_SpawningUnits[5], "attack", tpoint[1] )
call GroupPointOrderLocBJ( udg_SpawningUnits[6], "attack", tpoint[4] )
call GroupPointOrderLocBJ( udg_SpawningUnits[7], "attack", tpoint[4] )
call GroupPointOrderLocBJ( udg_SpawningUnits[8], "attack", tpoint[2] )
call GroupPointOrderLocBJ( udg_SpawningUnits[9], "attack", tpoint[3] )
call GroupPointOrderLocBJ( udg_SpawningUnits[10], "attack", tpoint[2] )
call GroupPointOrderLocBJ( udg_SpawningUnits[11], "attack", tpoint[1] )
call GroupPointOrderLocBJ( udg_SpawningUnits[12], "attack", tpoint[4] )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 12
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call DestroyGroup(udg_SpawningUnits[GetForLoopIndexA()])
call RemoveLocation(tpoint[GetForLoopIndexA()])
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call EnableTrigger( gg_trg_DoNotDoNothing )
call DestroyTrigger(GetTriggeringTrigger())
endfunction
//===========================================================================
function InitTrig_NoLeakingFirstSpawn takes nothing returns nothing
set gg_trg_NoLeakingFirstSpawn = CreateTrigger( )
call TriggerRegisterTimerExpireEventBJ( gg_trg_NoLeakingFirstSpawn, udg_FirstSpawnTimer )
call TriggerAddAction( gg_trg_NoLeakingFirstSpawn, function Trig_asd_Actions )
endfunction