1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Seek unity between the elements in the 22nd Terraining Contest Poll.
    Dismiss Notice
  3. Seize the moment! The 18th Mini Mapping Contest has commenced.
    Dismiss Notice
  4. The heavens smile on the old faithful. The 16th Techtree Contest has begun.
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

(8)TBLI TD.w3x
Variables
Initialization
Initialization
Spawns and Round Setup A
Spawns and Round Setup B
Spawns and Round Setup C
Spawns and Round Setup D
GetUnitNames
Player Setup
Player Starting Settings
Initial Messages
Boss Music
DG Fire Animation
Difficulty Settings
Dialogs
Dialog
Difficulty Level
Difficulty Vote
---------------------------
View Type Selected
View Type Vote
Quests
Initializing Quests
Update Quests
Spawning
Initial Spawning
-------- Normal Spawns --------
New Round Setup
Start Spawning Normal
Spawn Monster West
Spawn Monster North
Spawn Monster East
Spawn Monster South
-------- Boss Spawns --------
Boss Round Setup
Start Spawning Boss
Spawn Boss West
Spawn Boss North
Spawn Boss East
Spawn Boss South
---------------------------
No Spawns Check
Unit Moving
AL Locations Setup
DG Animation
West
Hero
Initial Moving W
OrderMove W2 Choice
OrderMove W9
OrderMove W10 Choice
---------------------------
OrderMove WA1
OrderMove WA2
OrderMove WA3
OrderMove WA4
OrderMove WA5
OrderMove WA6
OrderMove WA7
OrderMove WA8
OrderMove WA9
OrderMove WA10
OrderMove WA11
OrderMove WA12
OrderMove WA13
OrderMove WA14
OrderMove WA15
---------------------------
OrderMove WB1
OrderMove WB2
OrderMove WB3
OrderMove WB4
OrderMove WB5
OrderMove WB6
OrderMove WB7
OrderMove WB8
OrderMove WB9
OrderMove WB10
OrderMove WB11
OrderMove WB12
OrderMove WB13
OrderMove WB14
OrderMove WB15
==============
DestinationWest
North
Hero
Initial Moving N
OrderMove N2 Choice
OrderMove N9
OrderMove N10 Choice
---------------------------
OrderMove NL1
OrderMove NL2
OrderMove NL3
OrderMove NL4
OrderMove NL5
OrderMove NL6
OrderMove NL7
OrderMove NL8
OrderMove NL9
OrderMove NL10
OrderMove NL11
OrderMove NL12
OrderMove NL13
OrderMove NL14
OrderMove NL15
---------------------------
OrderMove NR1
OrderMove NR2
OrderMove NR3
OrderMove NR4
OrderMove NR5
OrderMove NR6
OrderMove NR7
OrderMove NR8
OrderMove NR9
OrderMove NR10
OrderMove NR11
OrderMove NR12
OrderMove NR13
OrderMove NR14
OrderMove NR15
xxxxxxxxxxxxxxx
DestinationNorth
East
East Spawns Moving
Hero
Initial Moving E
OrderMove E2 Choice
OrderMove E9
OrderMove E10 Choice
---------------------------
OrderMove EA1
OrderMove EA2
OrderMove EA3
OrderMove EA4
OrderMove EA5
OrderMove EA6
OrderMove EA7
OrderMove EA8
OrderMove EA9
OrderMove EA10
OrderMove EA11
OrderMove EA12
OrderMove EA13
OrderMove EA14
OrderMove EA15
---------------------------
OrderMove EB1
OrderMove EB2
OrderMove EB3
OrderMove EB4
OrderMove EB5
OrderMove EB6
OrderMove EB7
OrderMove EB8
OrderMove EB9
OrderMove EB10
OrderMove EB11
OrderMove EB12
OrderMove EB13
OrderMove EB14
OrderMove EB15
xxxxxxxxxxxxxxx
DestinationEast
South
South Spawns Moving
Hero
Initial Moving S
OrderMove S2 Choice
OrderMove S9
OrderMove S10 Choice
---------------------------
OrderMove SL1
OrderMove SL2
OrderMove SL3
OrderMove SL4
OrderMove SL5
OrderMove SL6
OrderMove SL7
OrderMove SL8
OrderMove SL9
OrderMove SL10
OrderMove SL11
OrderMove SL12
OrderMove SL13
OrderMove SL14
OrderMove SL15
---------------------------
OrderMove SR1
OrderMove SR2
OrderMove SR3
OrderMove SR4
OrderMove SR5
OrderMove SR6
OrderMove SR7
OrderMove SR8
OrderMove SR9
OrderMove SR10
OrderMove SR11
OrderMove SR12
OrderMove SR13
OrderMove SR14
OrderMove SR15
xxxxxxxxxxxxxxx
DestinationSouth
/End Of Unit Moving
Rounds
Round 20
Units Behaviour
Armored Infernal
Armored Juggernaut Infernal
Armored Chaos Infernal
Infernal Juggernaut
Fel Orc Raider
Corrupted Tree of Eternity
Cursed Skeleton
Cursed Skeleton
Cursed Skeleton34
Reincarnation Cooldown
Defeat Conditions
A Boss Enters DG
A Monster Enters DG
Colored Warning
LeaderBoard
Leaderboard Create
Multiboard
Multiboard Create
Multiboard Update Hero Icon
Multiboard Update Hero Level
Multiboard Update Status
Game Status
Victory
Defeat
Tower Sell
Selling Structures
Kills
Kills
Remove Kills
Player Status
Player Leaves
DEBUG
Camera Add Events
Camera All
Others
Credits
To Do
Test
Untitled Trigger 001

		
Name Type Is Array Initial Value
AL_Point location Yes
AL_PointH location Yes
AL_PointSingle location No
Boss unitcode Yes
BossRound integer Yes 0
BossRoundBeginDelay real Yes
BountyInfo quest No
BountyInfoReq questitem No
BurningLegion player No
C integer No
c integer No
Color string Yes
CurrentWave quest No
CurrentWaveSpawnA questitem No
CurrentWaveSpawnB questitem No
CurrentWaveSpawnC questitem No
CurrentWaveSpawnHero questitem No
D integer No
D_Difficulty dialog No
D_Difficulty_Easy button No
D_Difficulty_Hard button No
D_Difficulty_Normal button No
D_LMSelect dialog No
D_LMSelect_Leader button No
D_LMSelect_Multi button No
Defenders force No
DifficultyLevel integer No
ea integer No
East integer No 3
eb integer No
Facing location No
FullSide integer Yes
Gold integer No
GoldGivenFromBoss integer Yes
Hero unitcode Yes
HeroLevel integer Yes
HeroRounds integer Yes
Hex string Yes
Hex_t integer No
Hex_u integer No
HexFormattor string No
HexLives real No
HexLives_Int integer No
HexStep real No
i integer No
IconHeroPriestess string No
IntervalBetweenSpawningTypes real No
k integer No
Kills integer Yes
Kills_Index integer No
Lives integer No 0
LivesMax integer No
MaxRounds integer No
MB_C1R real Yes
MB_C2G real Yes
MB_C3B real Yes
MB_ColumnHero integer No
MB_ColumnKills integer No
MB_ColumnPlayer integer No
MB_raw integer No
MB_Raws integer No
MonsterTypeA unitcode Yes
MonsterTypeB unitcode Yes
MonsterTypeC unitcode Yes
NextWave quest No
NextWaveSpawnA questitem No
NextWaveSpawnB questitem No
NextWaveSpawnC questitem No
NextWaveSpawnHero questitem No
nl integer No
NoOfPlayer integer No
North integer No 2
nr integer No
NumberOfSpawningAType integer Yes
NumberOfSpawningBType integer Yes
NumberOfSpawningCType integer Yes
PickIndex integer No
Player player Yes
PlayerG force Yes
PlayerHero unit Yes
PlayerIndex integer No
PlayerInGame boolean Yes
PlayerPositionInMB integer Yes
PTree destructable Yes
r integer No
Random integer Yes
ReincarnationGroup group No
Round integer No 0
RoundBeginDelay real Yes
RoundBeginDelay_Int integer No
RoundBeginTimer timer No
RoundBeginTimerBoss timer No
RoundChk integer No
Scoreboard multiboard No
ScoreboardLeaderboard leaderboard No
SelectingPlayer player Yes
SelledStructures group No
SellFactor real No
Size integer No
sl integer No
South integer No 4
SpawnersA unit Yes
SpawnersB unit Yes
Spawning boolean No false
SpawningDelay real Yes
SpawnPointA location Yes
SpawnPointB location Yes
SpawnPointHero location Yes
SpawnsEnteredBoss integer No
SpawnsEnteredNormal integer No
SpawnTypeAbilityA string Yes
SpawnTypeAbilityB string Yes
SpawnTypeAbilityC string Yes
SpawnTypeNameA string Yes
SpawnTypeNameB string Yes
SpawnTypeNameC string Yes
sr integer No
StartGame timer No
StartingBuilder unitcode No
StartingBuilderCreationArea location Yes
StartingGold integer No
StartingLumberWispArea location Yes
StartingUnit unit Yes
StringSpawnDirection string Yes
TempLoc location No
TempStr string No
TempUnit unit No
TempUnitGroup group No
TimerWindow timerdialog No
ViewType integer No
Vote_index1 integer No
Vote_index2 integer No
Vote_PlayerDifficilty integer Yes
Vote_PlayersVotedEasy integer No
Vote_PlayersVotedHard integer No
Vote_PlayersVotedNormal integer No
Vote_PlayersVotedTVLeader integer No
Vote_PlayersVotedTVMulti integer No
Vote_PlayerViewType integer Yes
wa integer No
WaitDelay real No 0.00
wb integer No
West integer No 1
//TESH.scrollpos=0
//TESH.alwaysfold=0
function Trig_Initialization_Actions takes nothing returns nothing

    //call CreateFogModifierRectBJ( true, udg_Player[GetForLoopIndexA()], FOG_OF_WAR_VISIBLE, GetPlayableMapRect() )
    //call CinematicFadeBJ( bj_CINEFADETYPE_FADEOUT, 0.00, "ReplaceableTextures\\CameraMasks\\Black_mask.blp", 0, 0, 0, 0 )
        call EnableUserUI(false)
        call SetCineFilterTexture("ReplaceableTextures\\CameraMasks\\Black_Mask.blp")
        call SetCineFilterBlendMode(BLEND_MODE_BLEND)
        call SetCineFilterTexMapFlags(TEXMAP_FLAG_NONE)
        call SetCineFilterStartUV(0, 0, 1, 1)
        call SetCineFilterEndUV(0, 0, 1, 1)
        call SetCineFilterStartColor(0, 0, 0, 255)
        call SetCineFilterEndColor(0, 0, 0, 255)
        call SetCineFilterDuration(0)
        call DisplayCineFilter(true)

    call TriggerExecute( gg_trg_Player_Setup )
    call TriggerExecute( gg_trg_Spawns_and_Round_Setup_A )
    call TriggerExecute( gg_trg_AL_Locations_Setup )
    call TriggerExecute( gg_trg_Camera_Add_Events )
    set udg_Hex[0] = "0"
    set udg_Hex[1] = "1"
    set udg_Hex[2] = "2"
    set udg_Hex[3] = "3"
    set udg_Hex[4] = "4"
    set udg_Hex[5] = "5"
    set udg_Hex[6] = "6"
    set udg_Hex[7] = "7"
    set udg_Hex[8] = "8"
    set udg_Hex[9] = "9"
    set udg_Hex[10] = "A"
    set udg_Hex[11] = "B"
    set udg_Hex[12] = "C"
    set udg_Hex[13] = "D"
    set udg_Hex[14] = "E"
    set udg_Hex[15] = "F"
    set udg_IconHeroPriestess = "ReplaceableTextures\\CommandButtons\\BTNHeroMoonPriestess"
    call DestroyTrigger(gg_trg_Initialization)
endfunction

//===========================================================================
function InitTrig_Initialization takes nothing returns nothing
    set gg_trg_Initialization = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Initialization, function Trig_Initialization_Actions )
endfunction

 
MaxMonstersToEnter : set the number of monsters that will let the game to be lost.
SpawningDelay : set the distance between each monster.
RoundBeginDelay : set the amount of time before each round.
MonsterTypeA : set the type of monster of the first group to be spawned.
MonsterTypeB : set the type of monster of the second group to be spawned.
MonsterTypeC : set the type of monster of the third group to be spawned.
NumberOfSpawningXType : set the number of monster for X type that will be spawned.
Spawns and Round Setup A
  Events
  Conditions
  Actions
    Set VariableSet SpawnersA[1] = Demon Gate 0001 <gen>
    Set VariableSet SpawnersB[1] = Demon Gate 0003 <gen>
    Set VariableSet SpawnersA[2] = Demon Gate 0004 <gen>
    Set VariableSet SpawnersB[2] = Demon Gate 0005 <gen>
    Set VariableSet SpawnersA[3] = Demon Gate 0009 <gen>
    Set VariableSet SpawnersB[3] = Demon Gate 0008 <gen>
    Set VariableSet SpawnersA[4] = Demon Gate 0007 <gen>
    Set VariableSet SpawnersB[4] = Demon Gate 0006 <gen>
    -------- Setting Spawn Regions --------
    Set VariableSet SpawnPointHero[1] = (Center of SpawnWestHero <gen>)
    Set VariableSet SpawnPointHero[2] = (Center of SpawnNorthHero <gen>)
    Set VariableSet SpawnPointHero[3] = (Center of SpawnEastHero <gen>)
    Set VariableSet SpawnPointHero[4] = (Center of SpawnSouthHero <gen>)
    Set VariableSet SpawnPointA[1] = (Center of SpawnWestAbove <gen>)
    Set VariableSet SpawnPointB[1] = (Center of SpawnWestBeyond <gen>)
    Set VariableSet SpawnPointA[2] = (Center of SpawnNorthLeft <gen>)
    Set VariableSet SpawnPointB[2] = (Center of SpawnNorthRight <gen>)
    Set VariableSet SpawnPointA[3] = (Center of SpawnEastAbove <gen>)
    Set VariableSet SpawnPointB[3] = (Center of SpawnEastBeyond <gen>)
    Set VariableSet SpawnPointA[4] = (Center of SpawnSouthRight <gen>)
    Set VariableSet SpawnPointB[4] = (Center of SpawnSouthLeft <gen>)
    -------- The following actions will set the behaviours of monsters spawning. --------
    -------- SpawningDelay [Index] : will set the distance between each monster. --------
    -------- RoundBeginDelay [Index] : will set the amount of time before each round. --------
    Set VariableSet MaxRounds = 60
    Set VariableSet LivesMax = 100
    Set VariableSet HexLives = 255.00
    Set VariableSet HexStep = (HexLives / (Real(LivesMax)))
    Set VariableSet IntervalBetweenSpawningTypes = 1.50
    -------- Round 1 --------
    Set VariableSet k = 1
    Set VariableSet SpawningDelay[k] = 3.00
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Beast (A/HP15~0.15/Unarmored/SPD180/Round 01)
    Set VariableSet MonsterTypeB[k] = Nether Dragon Hatchling (B/HP20~0.2/Unarmored/SPD180/Round 01)
    Set VariableSet MonsterTypeC[k] = Fel Guard (C/HP25~0.25/Normal/SPD180/Round 01)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 3
    Set VariableSet NumberOfSpawningBType[k] = 2
    Set VariableSet NumberOfSpawningCType[k] = 1
    -------- Round 2 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.95
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Beast (A/HP20~0.2/Unarmored/SPD182/Round 02)
    Set VariableSet MonsterTypeB[k] = Nether Dragon Hatchling (B/HP25~0.25/Unarmored/SPD182/Round 02)
    Set VariableSet MonsterTypeC[k] = Fel Guard (C/HP30~0.3/Normal/SPD182/Round 02)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 4
    Set VariableSet NumberOfSpawningBType[k] = 3
    Set VariableSet NumberOfSpawningCType[k] = 2
    -------- Round 3 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.90
    Set VariableSet RoundBeginDelay[k] = 35.00
    Set VariableSet MonsterTypeA[k] = Fel Beast (A/HP25~0.25/Unarmored/SPD185/Round 03)
    Set VariableSet MonsterTypeB[k] = Nether Dragon Hatchling (B/HP30~0.3/Unarmored/SPD185/Round 03)
    Set VariableSet MonsterTypeC[k] = Fel Guard (C/HP35~0.35/Normal/SPD185/Round 03)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 5
    Set VariableSet NumberOfSpawningBType[k] = 4
    Set VariableSet NumberOfSpawningCType[k] = 3
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Dreadlord (1st Spawn)
    -------- Round 4 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.85
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Guard (A/HP210~0.21/Normal/SPD190/Round 04)
    Set VariableSet MonsterTypeB[k] = Succubus (B/HP220~0.22/Small/SPD190/Round 04)
    Set VariableSet MonsterTypeC[k] = Fel Stalker (C/HP230~0.23/Large/SPD190/Round 04)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 6
    Set VariableSet NumberOfSpawningBType[k] = 5
    Set VariableSet NumberOfSpawningCType[k] = 4
    -------- Round 5 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.80
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Stalker (A/HP360~0.36/Large/SPD190/Round 05)
    Set VariableSet MonsterTypeB[k] = Succubus (B/HP370~0.37/Small/SPD190/Round 05)
    Set VariableSet MonsterTypeC[k] = Lesser Voidwalker (C/HP380~0.38/Medium/SPD190/Round 05)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 7
    Set VariableSet NumberOfSpawningBType[k] = 6
    Set VariableSet NumberOfSpawningCType[k] = 5
    -------- Round 6 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 35.00
    Set VariableSet MonsterTypeA[k] = Fel Stalker (A/HP530~0.53/Large/SPD190/Round 06)
    Set VariableSet MonsterTypeB[k] = Succubus (B/HP540~0.54/Small/SPD190/Round 06)
    Set VariableSet MonsterTypeC[k] = Lesser Voidwalker (C/HP550~0.55/Medium/SPD190/Round 06)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 8
    Set VariableSet NumberOfSpawningBType[k] = 7
    Set VariableSet NumberOfSpawningCType[k] = 6
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Dreadlord (2nd Spawn)
    -------- Round 7 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.70
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Vile Tormentor (A/HP990~0.99/Medium/SPD195/Round 07)
    Set VariableSet MonsterTypeB[k] = Eredar Sorcerer (B/HP1000~1/Large/SPD195/Round 07)
    Set VariableSet MonsterTypeC[k] = Doom Guard (C/HP1010~1.01/Large/SPD195/Round 07)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 8
    Set VariableSet NumberOfSpawningBType[k] = 7
    Set VariableSet NumberOfSpawningCType[k] = 6
    -------- Round 8 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.70
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Vile Tormentor (A/HP1400~1.4/Medium/SPD197/Round 08)
    Set VariableSet MonsterTypeB[k] = Eredar Sorcerer (B/HP1450~1.45/Large/SPD197/Round 08)
    Set VariableSet MonsterTypeC[k] = Doom Guard (C/HP1500~1.5/Large/SPD197/Round 08)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 9
    Set VariableSet NumberOfSpawningBType[k] = 8
    Set VariableSet NumberOfSpawningCType[k] = 7
    -------- Round 9 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 35.00
    Set VariableSet MonsterTypeA[k] = Vile Tormentor (A/HP1800~1.8/Medium/SPD197/Round 09)
    Set VariableSet MonsterTypeB[k] = Eredar Sorcerer (B/HP1850~1.85/Large/SPD197/Round 09)
    Set VariableSet MonsterTypeC[k] = Doom Guard (C/HP1900~1.9/Large/SPD197/Round 09)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 10
    Set VariableSet NumberOfSpawningBType[k] = 9
    Set VariableSet NumberOfSpawningCType[k] = 8
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Dreadlord (3rd Spawn)
    -------- Round 10 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.80
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Overlord (A/HP1900~1.9/Large/SPD200/Round 10)
    Set VariableSet MonsterTypeB[k] = Infernal Juggernaut (B/HP1950~0/Large/SPD200/Round 10)
    Set VariableSet MonsterTypeC[k] = Infernal (C/HP2000~2/Large/SPD200/Round 10)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r
    Set VariableSet NumberOfSpawningAType[k] = 11
    Set VariableSet NumberOfSpawningBType[k] = 10
    Set VariableSet NumberOfSpawningCType[k] = 9
    -------- Boss 1 Round --------
    -------- k = 11 , will be common between the boss round and round 11 --------
    Set VariableSet k = (k + 1)
    Set VariableSet BossRoundBeginDelay[k] = 35.00
    Set VariableSet BossRound[k] = k
    Set VariableSet Boss[k] = Hellfire (Boss 1)
    Set VariableSet GoldGivenFromBoss[k] = 20
    -------- Round 11 --------
    Set VariableSet SpawningDelay[k] = 2.80
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Vile Tormentor (A/HP2000~2.2/Large/SPD205/Round 11)
    Set VariableSet MonsterTypeB[k] = Fel Stalker (B/HP2050~2.26/Large/SPD205/Round 11)
    Set VariableSet MonsterTypeC[k] = Nether Dragon (C/HP2100~2.31/Large/SPD205/Round 11)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Spell Immunity|r
    Set VariableSet NumberOfSpawningAType[k] = 11
    Set VariableSet NumberOfSpawningBType[k] = 10
    Set VariableSet NumberOfSpawningCType[k] = 9
    -------- Round 12 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.80
    Set VariableSet RoundBeginDelay[k] = 35.00
    Set VariableSet MonsterTypeA[k] = Fel Stalker (A/HP2100~2.31/Small/SPD205/Round 12)
    Set VariableSet MonsterTypeB[k] = Doom Guard (B/HP2150~2.37/Large/SPD205/Round 12)
    Set VariableSet MonsterTypeC[k] = Infernal (C/HP2200~2.42/Large/SPD205/Round 12)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r
    Set VariableSet NumberOfSpawningAType[k] = 12
    Set VariableSet NumberOfSpawningBType[k] = 11
    Set VariableSet NumberOfSpawningCType[k] = 10
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Maiden of Pain (4th Spawn)
    -------- Round 13 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Nether Dragon (A/HP2200~2.42/Large/SPD205/Round 13)
    Set VariableSet MonsterTypeB[k] = Eredar Sorcerer (B/HP2250~2.48/Large/SPD205/Round 13)
    Set VariableSet MonsterTypeC[k] = Overlord (C/HP2300~2.53/Large/SPD205/Round 13)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Spell Immunity|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 13
    Set VariableSet NumberOfSpawningBType[k] = 12
    Set VariableSet NumberOfSpawningCType[k] = 11
    -------- Round 14 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Overlord (A/HP2300~2.53/Large/SPD207/Round 14)
    Set VariableSet MonsterTypeB[k] = Juggeranut Infernal (B/HP2350~2.59/Large/SPD207/Round 14)
    Set VariableSet MonsterTypeC[k] = Infernal Dragon (C/HP2400~2.64/Large/SPD207/Round 14)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 14
    Set VariableSet NumberOfSpawningBType[k] = 13
    Set VariableSet NumberOfSpawningCType[k] = 12
    -------- Round 15 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Infernal Nether Dragon (A/HP2400~2.64/Unarmored/SPD210/Round 15)
    Set VariableSet MonsterTypeB[k] = Voidwalker (B/HP2450~2.69/Medium/SPD210/Round 15)
    Set VariableSet MonsterTypeC[k] = Juggeranut Infernal (C/HP2500~2.75/Large/SPD210/Round 15)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Spell Immunity|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r
    Set VariableSet NumberOfSpawningAType[k] = 14
    Set VariableSet NumberOfSpawningBType[k] = 13
    Set VariableSet NumberOfSpawningCType[k] = 12
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Maiden of Pain (5th Spawn)
    Trigger - Run Spawns_and_Round_Setup_B <gen> (ignoring conditions)
Spawns and Round Setup B
  Events
  Conditions
  Actions
    -------- Round 16 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Orc Warlock (A/HP2500~2.75/Small/SPD215/Round 16)
    Set VariableSet MonsterTypeB[k] = Voidwalker (B/HP2550~2.81/Medium/SPD215/Round 16)
    Set VariableSet MonsterTypeC[k] = Armored Infernal (C/HP2000~0/Large/SPD215/Round 16)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Resistant Skin|r, |cffFFCC00Armored|r (When armor broken, the unit continues)
    Set VariableSet NumberOfSpawningAType[k] = 15
    Set VariableSet NumberOfSpawningBType[k] = 14
    Set VariableSet NumberOfSpawningCType[k] = 13
    -------- Round 17 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Orc Grunt (A/HP2600~2.86/Medium/SPD215/Round 17)
    Set VariableSet MonsterTypeB[k] = Fel Stalker (B/HP2650~2.91/Large/SPD215/Round 17)
    Set VariableSet MonsterTypeC[k] = Heavy Armored Infernal (C/HP2500~0/Large/SPD215/Round 17)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r, |cffFFCC00Armored|r (When armor broken, the unit continues)
    Set VariableSet NumberOfSpawningAType[k] = 15
    Set VariableSet NumberOfSpawningBType[k] = 14
    Set VariableSet NumberOfSpawningCType[k] = 13
    -------- Round 18 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Infernal Juggernaut (A/HP2000~0/Fortified/SPD220/Round 18)
    Set VariableSet MonsterTypeB[k] = Fel Orc Raider (B/HP2750~2.99/Medium/SPD220/Round 18)
    Set VariableSet MonsterTypeC[k] = Lesser Shadowwalker (C/HP2800~2.99/Medium/SPD220/Round 18)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Dismount|r (Dismounts 2 Fel Orc Grunts)
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Concealed|r (5% chance that attack will miss due to concealment)
    Set VariableSet NumberOfSpawningAType[k] = 15
    Set VariableSet NumberOfSpawningBType[k] = 14
    Set VariableSet NumberOfSpawningCType[k] = 13
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Maiden of Pain (6th Spawn)
    -------- Round 19 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Stalker (A/HP2800~2.99/Large/SPD/Round 19)
    Set VariableSet MonsterTypeB[k] = Fel Orc Raider (B/HP2850~2.99/Medium/SPD220/Round 19)
    Set VariableSet MonsterTypeC[k] = Fel Orc Kodo Beast (C/HP2900~2.99/Medium/SPD220/Round 19)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 15
    Set VariableSet NumberOfSpawningBType[k] = 14
    Set VariableSet NumberOfSpawningCType[k] = 13
    -------- Round 20 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.75
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fel Guard (A/HP2900~2.99/Normal/SPD220/Round 20)
    Set VariableSet MonsterTypeB[k] = Succubus (B/HP2950~2.99/Small/SPD220/Round 20)
    Set VariableSet MonsterTypeC[k] = Doom Guard (C/HP3000~2.99/Large/SPD220/Round 20)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 15
    Set VariableSet NumberOfSpawningBType[k] = 14
    Set VariableSet NumberOfSpawningCType[k] = 13
    -------- Boss 2 Round --------
    Set VariableSet k = (k + 1)
    Set VariableSet BossRoundBeginDelay[k] = 35.00
    Set VariableSet BossRound[k] = k
    Set VariableSet Boss[k] = Armored Chaos Infernal (Boss 2)
    Set VariableSet GoldGivenFromBoss[k] = 40
    -------- Round 21 --------
    Set VariableSet SpawningDelay[k] = 2.70
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Vile Tormentor (A/HP4000~4.8/Medium/SPD225/Round 21)
    Set VariableSet MonsterTypeB[k] = Overlord (B/HP4500~5.4/Large/SPD225/Round 21)
    Set VariableSet MonsterTypeC[k] = Fel Beast (C/HP5000~6/Unarmored/SPD225/Round 21)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 16
    Set VariableSet NumberOfSpawningBType[k] = 15
    Set VariableSet NumberOfSpawningCType[k] = 14
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Pit Lord (7th Spawn)
    -------- Round 22 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.70
    Set VariableSet RoundBeginDelay[k] = 25.00
    Set VariableSet MonsterTypeA[k] = Satyr Trickster (A/HP4500~5.4/Large/SPD225/Round 22)
    Set VariableSet MonsterTypeB[k] = Red Drake (B/HP5000~6/Medium/SPD225/Round 22)
    Set VariableSet MonsterTypeC[k] = Lesser Demonic Essence (C/HP1500~0.5/Unarmored/SPD225/Round 22)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Ethreal|r (Takes damage from magic attacks and spells)
    Set VariableSet NumberOfSpawningAType[k] = 16
    Set VariableSet NumberOfSpawningBType[k] = 15
    Set VariableSet NumberOfSpawningCType[k] = 14
    -------- Round 23 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.70
    Set VariableSet RoundBeginDelay[k] = 25.00
    Set VariableSet MonsterTypeA[k] = Animated Armor (A/HP5000~0/Large/SPD230/Round 23)
    Set VariableSet MonsterTypeB[k] = Elder Voidwalker (B/HP5500~6.6/Medium/SPD230/Round 23)
    Set VariableSet MonsterTypeC[k] = Giant Skeleton Warrior (C/HP6000~7.2/Small/SPD230/Round 23)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Spell Immunity|r, |cffFFCC00Resistant Skin|r, |cffFFCC00Pierce Resistance|r (80% resistance to piercing attacks)
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    -------- Round 24 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.65
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Corrupted Treant (A/HP5500~6.6/Large/SPD230/Round 24)
    Set VariableSet MonsterTypeB[k] = Satyr Trickster (B/HP6000~7.2/Large/SPD230/Round 24)
    Set VariableSet MonsterTypeC[k] = Eredar Diabolist (C/HP6500~7.8/Medium/SPD230/Round 24)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r|n|cff00A000Special:|r Gives +1 lumber bounty
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Mana Shield|r (Absorbs 2 damage for 1 mana)
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Pit Lord (8th Spawn)
    -------- Round 25 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.65
    Set VariableSet RoundBeginDelay[k] = 25.00
    Set VariableSet MonsterTypeA[k] = Cursed Skeleton (A/HP6000~7.2/Small/SPD230/Round 25)
    Set VariableSet MonsterTypeB[k] = Red Drake (B/HP6500~7.8/Medium/SPD230/Round 25)
    Set VariableSet MonsterTypeC[k] = Satyr Soulstealer (C/HP7000~8.4/Large/SPD230/Round 25)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Draining Reformation|r (Reforms again with less 1500 HP every 15 seconds)
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    -------- Round 26 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.60
    Set VariableSet RoundBeginDelay[k] = 25.00
    Set VariableSet MonsterTypeA[k] = Demonic Essence (A/HP4000~1/Unarmored/SPD235/Round 26)
    Set VariableSet MonsterTypeB[k] = Dreadlord (B/HP7000~8.4/Large/SPD235/Round 26)
    Set VariableSet MonsterTypeC[k] = Corrupted Treant (C/HP7500~9/Large/SPD235/Round 26)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Ethreal|r (Takes damage from magic attacks and spells)
    Set VariableSet SpawnTypeAbilityB[k] = |cffFFCCMagic Resistance|r (50% reduction to magic and spells damage)
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r|n|cff00A000Special:|r Gives +1 lumber bounty
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    -------- Round 27 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.55
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Dreadlord (A/HP7500~8.4/Large/SPD235/Round 27)
    Set VariableSet MonsterTypeB[k] = Shadowwalker (B/HP7500~9/Medium/SPD235/Round 27)
    Set VariableSet MonsterTypeC[k] = Satyr Soulstealer (C/HP8000~10/Large/SPD235/Round 27)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Magic Resistance|r (50% reduction to magic and spells damage)
    Set VariableSet SpawnTypeAbilityB[k] = |cffFFCC00Concealed|r (10% chance that attack will miss due to concealment)
    Set VariableSet SpawnTypeAbilityC[k] = |cff808080None|r
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Pit Lord (9th Spawn)
    -------- Round 28 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.50
    Set VariableSet RoundBeginDelay[k] = 25.00
    Set VariableSet MonsterTypeA[k] = Fel Orc Kodo Beast (A/HP7500~9/Medium/SPD240/Round 28)
    Set VariableSet MonsterTypeB[k] = Fel Orc Grunt (B/HP8000~10/Medium/SPD240/Round 28)
    Set VariableSet MonsterTypeC[k] = Fel Orc Warlock (C/HP8500~10/Small/SPD240/Round 28)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00War Inspire Aura|r (+4 Armor to nearby units)
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Mana Shield|r (Absorbs 10 damage for 1 mana)
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    -------- Round 29 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.50
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Giant Red Drake (A/HP8000~9.6/Medium/SPD240/Round 29)
    Set VariableSet MonsterTypeB[k] = Armored Juggernaut Infernal (B/HP85000~10/Large/SPD240/Round 29)
    Set VariableSet MonsterTypeC[k] = Corrupted Giant Treant (C/HP9000~10/Large/SPD240/Round 29)
    Set VariableSet SpawnTypeAbilityA[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityB[k] = |cffFFCC00Armored|r (When armor broken, the unit continues)
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Barkskin|r (Double armored)
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    -------- Round 30 --------
    Set VariableSet k = (k + 1)
    Set VariableSet SpawningDelay[k] = 2.45
    Set VariableSet RoundBeginDelay[k] = 30.00
    Set VariableSet MonsterTypeA[k] = Fire Mephit (A/HP8500~10/Unarmored/SPD245/Round 30)
    Set VariableSet MonsterTypeB[k] = Flesh Golem (B/HP9000~10/Medium/SPD245/Round 30)
    Set VariableSet MonsterTypeC[k] = Vile Temptress (C/HP9500~10/Small/SPD245/Round 30)
    Set VariableSet SpawnTypeAbilityA[k] = |cffFFCC00Evasion|r (20% to avoid attacks)
    Set VariableSet SpawnTypeAbilityB[k] = |cff808080None|r
    Set VariableSet SpawnTypeAbilityC[k] = |cffFFCC00Restoration|r (Heals 2000 HP for 100 mana, cooldown: 15 sec)
    Set VariableSet NumberOfSpawningAType[k] = 17
    Set VariableSet NumberOfSpawningBType[k] = 16
    Set VariableSet NumberOfSpawningCType[k] = 15
    Set VariableSet HeroRounds[k] = k
    Set VariableSet Hero[k] = Demonic Dragon (10th Spawn)
    -------- Boss 3 Round --------
    Set VariableSet k = (k + 1)
    Set VariableSet BossRoundBeginDelay[k] = 35.00
    Set VariableSet BossRound[k] = k
    Set VariableSet Boss[k] = Corrupted Tree of Eternity (Boss 3)
    Set VariableSet GoldGivenFromBoss[k] = 60
    Trigger - Run Spawns_and_Round_Setup_C <gen> (ignoring conditions)
Spawns and Round Setup C
  Events
  Conditions
  Actions
    -------- Round 31 --------
    -------- Round 32 --------
    -------- Round 33 --------
    -------- Round 34 --------
    -------- Round 35 --------
    -------- Round 36 --------
    -------- Round 37 --------
    -------- Round 38 --------
    -------- Round 39 --------
    -------- Round 40 --------
    -------- Boss 4 Round --------
    -------- Round 41 --------
    -------- Round 42 --------
    -------- Round 43 --------
    -------- Round 44 --------
    -------- Round 45 --------
    Trigger - Run Spawns_and_Round_Setup_D <gen> (checking conditions)
Spawns and Round Setup D
  Events
  Conditions
  Actions
    -------- Round 46 --------
    -------- Round 47 --------
    -------- Round 48 --------
    -------- Round 49 --------
    -------- Round 50 --------
    -------- Boss 5 Round --------
    -------- Round 51 --------
    -------- Round 52 --------
    -------- Round 53 --------
    -------- Round 54 --------
    -------- Round 55 --------
    -------- Round 56 --------
    -------- Round 57 --------
    -------- Round 58 --------
    -------- Round 59 --------
    -------- Round 60 --------
    -------- Final Boss Round --------
    Trigger - Run GetUnitNames <gen> (checking conditions)
function Trig_GetUnitNames_Actions takes nothing returns nothing
    local integer i = 1
    local unit TempUnit
    local location TempLoc = Location(GetRectCenterX(gg_rct_GetUnitNames), GetRectCenterY(gg_rct_GetUnitNames))
    loop
        exitwhen i > udg_MaxRounds
        set TempUnit = CreateUnitAtLoc(Player(10),udg_MonsterTypeA[i],TempLoc,0)
        set udg_SpawnTypeNameA[i] = GetUnitName(TempUnit)
        call RemoveUnit( TempUnit )
        set TempUnit = CreateUnitAtLoc(Player(10),udg_MonsterTypeB[i],TempLoc,0)
        set udg_SpawnTypeNameB[i] = GetUnitName(TempUnit)
        call RemoveUnit( TempUnit )
        set TempUnit = CreateUnitAtLoc(Player(10),udg_MonsterTypeC[i],TempLoc,0)
        set udg_SpawnTypeNameC[i] = GetUnitName(TempUnit)
        call RemoveUnit( TempUnit )
        set i = i + 1
    endloop
    call RemoveLocation(TempLoc)
    set TempUnit = null
endfunction

//===========================================================================
function InitTrig_GetUnitNames takes nothing returns nothing
    set gg_trg_GetUnitNames = CreateTrigger(  )
    call TriggerAddAction( gg_trg_GetUnitNames, function Trig_GetUnitNames_Actions )
endfunction

 
Player Setup
  Events
  Conditions
  Actions
    Game - Disable ally color button and Disable creep camp button
    -------- Players --------
    Set VariableSet Player[1] = Player 1 (Red)
    Set VariableSet Player[2] = Player 2 (Blue)
    Set VariableSet Player[3] = Player 3 (Teal)
    Set VariableSet Player[4] = Player 4 (Purple)
    Set VariableSet Player[5] = Player 5 (Yellow)
    Set VariableSet Player[6] = Player 6 (Orange)
    Set VariableSet Player[7] = Player 7 (Green)
    Set VariableSet Player[8] = Player 8 (Pink)
    Set VariableSet BurningLegion = Player 12 (Brown)
    Player - Change color of BurningLegion to Gray, Changing color of existing units
    Animation - Play Dimensional Gate 0000 <gen>'s stand alternate (animationname) animation
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Player - Disable Sell Structure (Easy) for (Picked player)
        Player - Disable Sell Structure (Normal) for (Picked player)
        Player - Disable Sell Structure (Hard) for (Picked player)
    -------- Colors --------
    -------- Red --------
    Set VariableSet Color[1] = |cffFF0000
    Set VariableSet MB_C1R[1] = 100.00
    Set VariableSet MB_C2G[1] = 0.00
    Set VariableSet MB_C3B[1] = 0.00
    -------- Blue --------
    Set VariableSet Color[2] = |cff0000FF
    Set VariableSet MB_C1R[2] = 0.00
    Set VariableSet MB_C2G[2] = 0.00
    Set VariableSet MB_C3B[2] = 100.00
    -------- Teal --------
    Set VariableSet Color[3] = |cff00FFFF
    Set VariableSet MB_C1R[3] = 0.00
    Set VariableSet MB_C2G[3] = 100.00
    Set VariableSet MB_C3B[3] = 100.00
    -------- Purple --------
    Set VariableSet Color[4] = |cff6F2583
    Set VariableSet MB_C1R[4] = 43.53
    Set VariableSet MB_C2G[4] = 14.51
    Set VariableSet MB_C3B[4] = 51.37
    -------- Yellow --------
    Set VariableSet Color[5] = |cffFFFF00
    Set VariableSet MB_C1R[5] = 100.00
    Set VariableSet MB_C2G[5] = 100.00
    Set VariableSet MB_C3B[5] = 0.00
    -------- Orange --------
    Set VariableSet Color[6] = |cffFF8C28
    Set VariableSet MB_C1R[6] = 100.00
    Set VariableSet MB_C2G[6] = 54.90
    Set VariableSet MB_C3B[6] = 15.69
    -------- Green --------
    Set VariableSet Color[7] = |cff00C800
    Set VariableSet MB_C1R[7] = 0.00
    Set VariableSet MB_C2G[7] = 78.43
    Set VariableSet MB_C3B[7] = 0.00
    -------- Pink --------
    Set VariableSet Color[8] = |cffFF64C8
    Set VariableSet MB_C1R[8] = 100.00
    Set VariableSet MB_C2G[8] = 39.22
    Set VariableSet MB_C3B[8] = 78.43
    -------- Player Group --------
    Set VariableSet PlayerG[1] = Player Group - Player 1 (Red)
    Set VariableSet PlayerG[2] = Player Group - Player 2 (Blue)
    Set VariableSet PlayerG[3] = Player Group - Player 3 (Teal)
    Set VariableSet PlayerG[4] = Player Group - Player 4 (Purple)
    Set VariableSet PlayerG[5] = Player Group - Player 5 (Yellow)
    Set VariableSet PlayerG[6] = Player Group - Player 6 (Orange)
    Set VariableSet PlayerG[7] = Player Group - Player 7 (Green)
    Set VariableSet PlayerG[8] = Player Group - Player 8 (Pink)
    -------- Joining Players --------
    Set VariableSet NoOfPlayer = 0
    For each (Integer A) from 1 to 8, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Player[(Integer A)] controller) Equal to User
            (Player[(Integer A)] slot status) Equal to Is playing
          Then - Actions
            Set VariableSet NoOfPlayer = (NoOfPlayer + 1)
            Set VariableSet PlayerInGame[(Integer A)] = True
            Player Group - Add Player[(Integer A)] to Defenders
            Visibility - Create an initially Enabled visibility modifier for Player[(Integer A)] emitting Black mask across (Playable map area)
            Visibility - Destroy (Last created visibility modifier)
            Game - Display to (All players) for 30 seconds the text: ((Color[(Integer A)] + ((Name of Player[(Integer A)]) + |r)) + has joined the game.)
            Game - Display to (All players) for 30 seconds the text:
          Else - Actions
            Set VariableSet TempUnitGroup = (Units owned by Player[(Integer A)].)
            Unit Group - Pick every unit in TempUnitGroup and do (Remove (Picked unit) from the game)
            Custom script: call DestroyGroup(udg_TempUnitGroup)
    Game - Display to Defenders for 30 seconds the text: ((|cffFF0000 + (String(NoOfPlayer))) + |r player(s) have joined the game.)
    Game - Display to Defenders for 30 seconds the text:
    -------- Check if 2 players are on the same side so that the spawning number is doubled --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerInGame[1] Equal to True
        PlayerInGame[2] Equal to True
      Then - Actions
        Set VariableSet FullSide[West] = 2
        Quest - Display to PlayerG[1] the Hint message: Spawning will be doubled.
        Quest - Display to PlayerG[2] the Hint message: Spawning will be doubled.
      Else - Actions
        Set VariableSet FullSide[West] = 1
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerInGame[3] Equal to True
        PlayerInGame[4] Equal to True
      Then - Actions
        Set VariableSet FullSide[North] = 2
        Quest - Display to PlayerG[3] the Hint message: Spawning will be doubled.
        Quest - Display to PlayerG[4] the Hint message: Spawning will be doubled.
      Else - Actions
        Set VariableSet FullSide[North] = 1
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerInGame[5] Equal to True
        PlayerInGame[6] Equal to True
      Then - Actions
        Set VariableSet FullSide[East] = 2
        Quest - Display to PlayerG[5] the Hint message: Spawning will be doubled.
        Quest - Display to PlayerG[6] the Hint message: Spawning will be doubled.
      Else - Actions
        Set VariableSet FullSide[East] = 1
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerInGame[7] Equal to True
        PlayerInGame[8] Equal to True
      Then - Actions
        Set VariableSet FullSide[South] = 2
        Quest - Display to PlayerG[7] the Hint message: Spawning will be doubled.
        Quest - Display to PlayerG[8] the Hint message: Spawning will be doubled.
      Else - Actions
        Set VariableSet FullSide[South] = 1
    Trigger - Run Player_Starting_Settings <gen> (checking conditions)
Player Starting Settings
  Events
  Conditions
  Actions
    Player Group - Pick every player in Defenders and do (Actions)
      Loop - Actions
        Player - Limit training of Wisp to 4 for (Picked player)
        Player - Limit training of Builder Sorceress to 4 for (Picked player)
        Player - Limit training of Sentry to 4 for (Picked player)
        Player - Limit training of Chimaera to 4 for (Picked player)
        Player - Limit training of Heroes to 1 for (Picked player)
        Set VariableSet TempUnitGroup = (Units owned by (Picked player).)
        Unit Group - Pick every unit in TempUnitGroup and do (Hide (Picked unit))
        Custom script: call DestroyGroup(udg_TempUnitGroup)
    Set VariableSet StartingBuilder = Wisp
    -------- Player1 (Red) --------
    Set VariableSet StartingBuilderCreationArea[1] = (Center of PlayerStartUnitRed <gen>)
    Set VariableSet StartingLumberWispArea[1] = (Center of PlayerLumberWorkerRed <gen>)
    Set VariableSet PTree[1] = Black Citadel Tree Wall 0353 <gen>
    -------- Player2 (Blue) --------
    Set VariableSet StartingBuilderCreationArea[2] = (Center of PlayerStartUnitBlue <gen>)
    Set VariableSet StartingLumberWispArea[2] = (Center of PlayerLumberWorkerBlue <gen>)
    Set VariableSet PTree[2] = Outland Tree Wall 0581 <gen>
    -------- Player3 (Teal) --------
    Set VariableSet StartingBuilderCreationArea[3] = (Center of PlayerStartUnitTeal <gen>)
    Set VariableSet StartingLumberWispArea[3] = (Center of PlayerLumberWorkerTeal <gen>)
    Set VariableSet PTree[3] = Outland Tree Wall 0586 <gen>
    -------- Player4 (Purple) --------
    Set VariableSet StartingBuilderCreationArea[4] = (Center of PlayerStartUnitPurple <gen>)
    Set VariableSet StartingLumberWispArea[4] = (Center of PlayerLumberWorkerPurple <gen>)
    Set VariableSet PTree[4] = Black Citadel Tree Wall 0367 <gen>
    -------- Player5 (Yellow) --------
    Set VariableSet StartingBuilderCreationArea[5] = (Center of PlayerStartUnitYellow <gen>)
    Set VariableSet StartingLumberWispArea[5] = (Center of PlayerLumberWorkerYellow <gen>)
    Set VariableSet PTree[5] = Outland Tree Wall 0584 <gen>
    -------- Player6 (Orange) --------
    Set VariableSet StartingBuilderCreationArea[6] = (Center of PlayerStartUnitOrange <gen>)
    Set VariableSet StartingLumberWispArea[6] = (Center of PlayerLumberWorkerOrange <gen>)
    Set VariableSet PTree[6] = Outland Tree Wall 0585 <gen>
    -------- Player7 (Green) --------
    Set VariableSet StartingBuilderCreationArea[7] = (Center of PlayerStartUnitGreen <gen>)
    Set VariableSet StartingLumberWispArea[7] = (Center of PlayerLumberWorkerGreen <gen>)
    Set VariableSet PTree[7] = Outland Tree Wall 0582 <gen>
    -------- Player8 (Pink) --------
    Set VariableSet StartingBuilderCreationArea[8] = (Center of PlayerStartUnitPink <gen>)
    Set VariableSet StartingLumberWispArea[8] = (Center of PlayerLumberWorkerPink <gen>)
    Set VariableSet PTree[8] = Outland Tree Wall 0583 <gen>
    -------- -------- -------- -------- --------
    Player - Turn Gives bounty On for BurningLegion
Initial Messages
  Events
  Conditions
  Actions
    Game - Display to Defenders for 30 seconds the text: Monster will be spawned within |cffFFCC0060|r seconds.
    Wait 5.00 game-time seconds
    Game - Display to Defenders for 30 seconds the text: |cffFF0000Most|r towers can attack both |cffffcc00ground|r and |cffffcc00air|r.
    Wait 10.00 game-time seconds
    Game - Display to Defenders for 45.00 seconds the text: Some towers can be upgraded from the |cffffcc00Research Hall|r , and some towers can be upgraded from the tower |cffFFCC00itself|r causing it |cffFF0000not to attack for the duration of the ugrade|r.
Boss Music
  Events
  Conditions
  Actions
    Sound - Play Undead X1.
DG Fire Animation
  Events
    Time - Every 0.50 seconds of game time
  Conditions
  Actions
    Animation - Play the stand (animationname) animation for all doodads of type D001 (doodadcode) within DimensionalGateFire <gen>.
Difficulty Settings
  Events
  Conditions
  Actions
    -------- EASY --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        DifficultyLevel Equal to 1
      Then - Actions
        Game - Display to Defenders the text: The difficulty is |cff00FF00Easy|r - Spawns have |cff00FF0060%|r HP. - Tower sell value is |cff00FF0075%|r from its cost. - XP rate is |cff00FF001.2|r normal XP rate.
        Set VariableSet StartingGold = 80
        Set VariableSet SellFactor = 0.75
        Player - Set BurningLegion handicap to Campaign easy handicap%
        Player Group - Pick every player in Defenders and do (Enable Sell Structure (Easy) for (Picked player))
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Hero - Make (Picked player) Heroes gain 120.00% experience from future kills
      Else - Actions
    -------- NORMAL --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        DifficultyLevel Equal to 2
      Then - Actions
        Game - Display to Defenders the text: The difficulty is |cffFF6666Normal|r - Spawns have |cffFFA0A0100%|r HP. - Tower sell value is |cffFFA0A050%|r from its cost.
        Set VariableSet StartingGold = 60
        Set VariableSet SellFactor = 0.50
        Player Group - Pick every player in Defenders and do (Enable Sell Structure (Normal) for (Picked player))
      Else - Actions
    -------- HARD --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        DifficultyLevel Equal to 3
      Then - Actions
        Game - Display to Defenders the text: The difficulty is |cffFF0000Hard|r - Spawns have |cffFF0000150%|r HP. - Tower sell value is |cffFF000025%|r from its cost. - XP rate is |cffFF00000.8|r normal XP rate.
        Set VariableSet StartingGold = 40
        Set VariableSet SellFactor = 0.25
        Player - Set BurningLegion handicap to 150.00%
        Player Group - Pick every player in Defenders and do (Enable Sell Structure (Hard) for (Picked player))
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Hero - Make (Picked player) Heroes gain 80.00% experience from future kills
      Else - Actions
    Player Group - Pick every player in Defenders and do (Actions)
      Loop - Actions
        Player - Add StartingGold to (Picked player).Current gold
Dialog
  Events
    Time - Elapsed game time is 0.00 seconds
  Conditions
  Actions
    -------- Difficulty Dialog --------
    Dialog - Change the title of D_Difficulty to Difficulty Selection
    Custom script: call DialogAddButtonWithHotkeyBJ(udg_D_Difficulty,"|cff00FF00E|rasy",69)
    Set VariableSet D_Difficulty_Easy = (Last created dialog Button)
    Custom script: call DialogAddButtonWithHotkeyBJ(udg_D_Difficulty,"|cffFF8C28N|rormal",78)
    Set VariableSet D_Difficulty_Normal = (Last created dialog Button)
    Custom script: call DialogAddButtonWithHotkeyBJ(udg_D_Difficulty,"|cffFF0000H|rard",72)
    Set VariableSet D_Difficulty_Hard = (Last created dialog Button)
    -------- Leaderboard/Multiboard Selection Dialog --------
    Dialog - Change the title of D_LMSelect to Info View Type
    Custom script: call DialogAddButtonWithHotkeyBJ(udg_D_LMSelect,"|cffFF00FFL|readerboard",76)
    Set VariableSet D_LMSelect_Leader = (Last created dialog Button)
    Custom script: call DialogAddButtonWithHotkeyBJ(udg_D_LMSelect,"|cffFF00FFM|rultiboard",77)
    Set VariableSet D_LMSelect_Multi = (Last created dialog Button)
    -------- -------- -------- --------
    Player Group - Pick every player in Defenders and do (Actions)
      Loop - Actions
        Dialog - Show D_Difficulty for (Picked player)
Difficulty Level
  Events
    Dialog - A dialog button is clicked for D_Difficulty
  Conditions
  Actions
    Set VariableSet Vote_index1 = (Vote_index1 + 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to D_Difficulty_Easy
      Then - Actions
        Set VariableSet Vote_PlayerDifficilty[(Player number of (Triggering player))] = 1
        Game - Display to Defenders the text: (Color[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r has voted for |cff00FF00Easy|r))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to D_Difficulty_Normal
      Then - Actions
        Set VariableSet Vote_PlayerDifficilty[(Player number of (Triggering player))] = 2
        Game - Display to Defenders the text: (Color[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r has voted for |cffFF6666Normal|r))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to D_Difficulty_Hard
      Then - Actions
        Set VariableSet Vote_PlayerDifficilty[(Player number of (Triggering player))] = 3
        Game - Display to Defenders the text: (Color[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r has voted for |cffFF0000Hard|r))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_index1 Equal to NoOfPlayer
      Then - Actions
        Trigger - Run Difficulty_Vote <gen> (checking conditions)
      Else - Actions
Difficulty Vote
  Events
  Conditions
  Actions
    Player Group - Pick every player in Defenders and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayerDifficilty[(Player number of (Picked player))] Equal to 1
          Then - Actions
            Set VariableSet Vote_PlayersVotedEasy = (Vote_PlayersVotedEasy + 1)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayerDifficilty[(Player number of (Picked player))] Equal to 2
          Then - Actions
            Set VariableSet Vote_PlayersVotedNormal = (Vote_PlayersVotedNormal + 1)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayerDifficilty[(Player number of (Picked player))] Equal to 3
          Then - Actions
            Set VariableSet Vote_PlayersVotedHard = (Vote_PlayersVotedHard + 1)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_PlayersVotedEasy Greater than (Max(Vote_PlayersVotedNormal, Vote_PlayersVotedHard))
      Then - Actions
        Set VariableSet DifficultyLevel = 1
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_PlayersVotedNormal Greater than (Max(Vote_PlayersVotedEasy, Vote_PlayersVotedHard))
      Then - Actions
        Set VariableSet DifficultyLevel = 2
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_PlayersVotedHard Greater than (Max(Vote_PlayersVotedEasy, Vote_PlayersVotedNormal))
      Then - Actions
        Set VariableSet DifficultyLevel = 3
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Vote_PlayersVotedEasy Equal to (Max(Vote_PlayersVotedNormal, Vote_PlayersVotedHard))
            Vote_PlayersVotedNormal Equal to (Max(Vote_PlayersVotedEasy, Vote_PlayersVotedHard))
            Vote_PlayersVotedHard Equal to (Max(Vote_PlayersVotedEasy, Vote_PlayersVotedNormal))
      Then - Actions
        Quest - Display to Defenders the Quest Failed message: There are players who voted equally for different difficulties.Difficulty voting will run again.
        Set VariableSet Vote_PlayersVotedEasy = 0
        Set VariableSet Vote_PlayersVotedNormal = 0
        Set VariableSet Vote_PlayersVotedHard = 0
        Set VariableSet Vote_index1 = 0
        For each (Integer A) from 1 to NoOfPlayer, do (Actions)
          Loop - Actions
            Set VariableSet Vote_PlayerDifficilty[(Integer A)] = 0
        Wait 1.00 seconds
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Dialog - Show D_Difficulty for (Picked player)
      Else - Actions
        Trigger - Run Difficulty_Settings <gen> (checking conditions)
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Dialog - Show D_LMSelect for (Picked player)
View Type Selected
  Events
    Dialog - A dialog button is clicked for D_LMSelect
  Conditions
  Actions
    Set VariableSet Vote_index2 = (Vote_index2 + 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to D_LMSelect_Leader
      Then - Actions
        Set VariableSet Vote_PlayerViewType[(Player number of (Triggering player))] = 1
        Game - Display to Defenders the text: (Color[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r has voted for |cffFF00FFLeaderboard|r view))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to D_LMSelect_Multi
      Then - Actions
        Set VariableSet Vote_PlayerViewType[(Player number of (Triggering player))] = 2
        Game - Display to Defenders the text: (Color[(Player number of (Triggering player))] + ((Name of (Triggering player)) + |r has voted for |cffFF00FFMultiboard|r view))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_index2 Equal to NoOfPlayer
      Then - Actions
        Trigger - Run View_Type_Vote <gen> (checking conditions)
      Else - Actions
View Type Vote
  Events
  Conditions
  Actions
    Player Group - Pick every player in Defenders and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayerViewType[(Player number of (Picked player))] Equal to 1
          Then - Actions
            Set VariableSet Vote_PlayersVotedTVLeader = (Vote_PlayersVotedTVLeader + 1)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayerViewType[(Player number of (Picked player))] Equal to 2
          Then - Actions
            Set VariableSet Vote_PlayersVotedTVMulti = (Vote_PlayersVotedTVMulti + 1)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Vote_PlayersVotedTVLeader Equal to Vote_PlayersVotedTVMulti
      Then - Actions
        Quest - Display to Defenders the Quest Failed message: There are players who voted equally for different type of view.Type of view voting will run again.
        Set VariableSet Vote_PlayersVotedTVLeader = 0
        Set VariableSet Vote_PlayersVotedTVMulti = 0
        Set VariableSet Vote_index2 = 0
        For each (Integer A) from 1 to NoOfPlayer, do (Actions)
          Loop - Actions
            Set VariableSet Vote_PlayerViewType[(Integer A)] = 0
        Wait 1.00 seconds
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Dialog - Show D_LMSelect for (Picked player)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Vote_PlayersVotedTVLeader Greater than Vote_PlayersVotedTVMulti
          Then - Actions
            Set VariableSet ViewType = 1
            Game - Display to Defenders the text: The type of view is |cffFF00FFLeaderboard|r
            Trigger - Run Leaderboard_Create <gen> (checking conditions)
          Else - Actions
            Set VariableSet ViewType = 2
            Game - Display to Defenders the text: The type of view is |cffFF00FFMultiboard|r
            Trigger - Run Multiboard_Create <gen> (checking conditions)
        Countdown Timer - Start StartGame as a One-shot timer that will expire in 30 seconds
        Trigger - Run Initial_Messages <gen> (checking conditions)
        Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
        Player Group - Pick every player in Defenders and do (Actions)
          Loop - Actions
            Set VariableSet PickIndex = (Player number of (Picked player))
            Set VariableSet TempUnitGroup = (Units owned by (Picked player).)
            Unit Group - Pick every unit in TempUnitGroup and do (Unhide (Picked unit))
            Custom script: call DestroyGroup(udg_TempUnitGroup)
            Unit - Create 1.StartingBuilder for (Picked player) at StartingBuilderCreationArea[PickIndex] facing Default building facing degrees
            Selection - Select (Last created unit) for (Picked player)
            Unit - Create 1.Lumber Wisp for (Picked player) at StartingLumberWispArea[PickIndex] facing Default building facing degrees
            Unit - Order (Last created unit) to Harvest.PTree[PickIndex]
            Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility across (Playable map area)
            Custom script: call RemoveLocation(udg_StartingBuilderCreationArea[udg_PickIndex])
            Custom script: call RemoveLocation(udg_StartingLumberWispArea[udg_PickIndex])
        For each (Integer A) from 1 to 8, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                PlayerInGame[(Integer A)] Equal to True
              Then - Actions
                Unit - Create 1.StartingBuilder for Player[(Integer A)] at StartingBuilderCreationArea[(Integer A)] facing Default building facing degrees
                Selection - Select (Last created unit) for Player[(Integer A)]
                Unit - Create 1.Lumber Wisp for Player[(Integer A)] at StartingLumberWispArea[(Integer A)] facing Default building facing degrees
                Unit - Order (Last created unit) to Harvest.PTree[(Integer A)]
                Custom script: call RemoveLocation(udg_StartingBuilderCreationArea[bj_forLoopAIndex])
                Custom script: call RemoveLocation(udg_StartingLumberWispArea[bj_forLoopAIndex])
              Else - Actions
Initializing Quests
  Events
    Time - Elapsed game time is 0.00 seconds
  Conditions
  Actions
    Quest - Create a Required quest titled Current Wave with the description , using icon path ReplaceableTextures\WorldEditUI\Editor-MultipleUnits.blp
    Set VariableSet CurrentWave = (Last created quest)
    Quest - Create a quest requirement for CurrentWave with the description Spawn A Type: |cff808080N/A|r
    Set VariableSet CurrentWaveSpawnA = (Last created quest requirement)
    Quest - Create a quest requirement for CurrentWave with the description Spawn B Type: |cff808080N/A|r
    Set VariableSet CurrentWaveSpawnB = (Last created quest requirement)
    Quest - Create a quest requirement for CurrentWave with the description Spawn C Type: |cff808080N/A|r
    Set VariableSet CurrentWaveSpawnC = (Last created quest requirement)
    -------- -------- --------
    Quest - Create a Required quest titled Next Wave with the description , using icon path ReplaceableTextures\CommandButtons\BTNDemonGate.blp
    Set VariableSet NextWave = (Last created quest)
    Quest - Create a quest requirement for NextWave with the description (Spawn |cffffcc00A|r Type: |cffffcc00 + SpawnTypeNameA[(Round + 1)])
    Set VariableSet NextWaveSpawnA = (Last created quest requirement)
    Quest - Create a quest requirement for NextWave with the description (Spawn |cffffcc00B|r Type: |cffffcc00 + SpawnTypeNameB[(Round + 1)])
    Set VariableSet NextWaveSpawnB = (Last created quest requirement)
    Quest - Create a quest requirement for NextWave with the description (Spawn |cffffcc00C|r Type: |cffffcc00 + SpawnTypeNameC[(Round + 1)])
    Set VariableSet NextWaveSpawnC = (Last created quest requirement)
    -------- -------- --------
    Quest - Create a Required quest titled Round Information with the description , using icon path ReplaceableTextures\WorldEditUI\Editor-Random-Unit.blp
    Quest - Create a quest requirement for (Last created quest) with the description There are |cffffcc003|r types of spawns per round.
    Quest - Create a quest requirement for (Last created quest) with the description Every |cffffcc003|r rounds a special hero is spawned.
    Quest - Create a quest requirement for (Last created quest) with the description Every |cffffcc0010|r rounds a boss is spawned.
    -------- -------- --------
    Quest - Create a Optional quest titled Bounty Information with the description - You get gold bounty from spawns equal to round, except frombosses and mini-bosses.- You get gold before and after a round, and is equal to the round multiplied by |cffffcc0010|r.- After round |cffffcc0020|r you will get lumber bounty from mini-bosses andbosses.- And after round |cffffcc0040|r you will get it from all spawns., using icon path ReplaceableTextures\CommandButtons\BTNMedalionOfCourage.blp
    Set VariableSet BountyInfo = (Last created quest)
    Quest - Create a quest requirement for (Last created quest) with the description Round 0: 0 gold/0 lumber
    Set VariableSet BountyInfoReq = (Last created quest requirement)
    Quest - Create a Optional quest titled Camera with the description , using icon path ReplaceableTextures\WorldEditUI\Doodad-Cinematic.blp
    Quest - Create a quest requirement for (Last created quest) with the description Type '|cffFFCC00-dis#|r' to change the camera distance. #: <0-4500>
    Quest - Create a quest requirement for (Last created quest) with the description Type '|cffFFCC00-aoa#|r' to change the camera angle of attack.
    Quest - Create a quest requirement for (Last created quest) with the description Type '|cffFFCC00-rot#|r' to change the camera rotation angle.
Update Quests
  Events
  Conditions
  Actions
    Quest - Change the description of BountyInfoReq to (Round |cffffcccc + ((String(Round)) + (|r: |cffffcc00 + ((String(Round)) + |r/|cff00cc000|r))))
    -------- Update Current Wave --------
    Quest - Change the description of CurrentWaveSpawnA to (Spawn |cffffcc00A|r Type: |cffffcc00 + SpawnTypeNameA[Round])
    Quest - Change the description of CurrentWaveSpawnB to (Spawn |cffffcc00B|r Type: |cffffcc00 + SpawnTypeNameB[Round])
    Quest - Change the description of CurrentWaveSpawnC to (Spawn |cffffcc00C|r Type: |cffffcc00 + SpawnTypeNameC[Round])
    Set VariableSet TempStr = ((SpawnTypeNameA[Round] + : ) + (SpawnTypeAbilityA[Round] + |n))
    Set VariableSet TempStr = (TempStr + ((SpawnTypeNameB[Round] + : ) + (SpawnTypeAbilityB[Round] + |n)))
    Set VariableSet TempStr = (TempStr + ((SpawnTypeNameC[Round] + : ) + SpawnTypeAbilityC[Round]))
    Set VariableSet TempStr = (|cffFF6464Abilities:|r|n + TempStr)
    Quest - Change the description of CurrentWave to TempStr
    -------- On-Screen Display --------
    Quest - Display to Defenders the Hint message: |cffFF8080Information:|r
    Game - Display to Defenders for 12.00 seconds the text: (Round |cffFFCC00 + ((String(Round)) + |r Spawns:))
    Game - Display to Defenders for 12.00 seconds the text: ( - + SpawnTypeNameA[Round])
    Game - Display to Defenders for 12.00 seconds the text: ( - + SpawnTypeNameB[Round])
    Game - Display to Defenders for 12.00 seconds the text: ( - + SpawnTypeNameC[Round])
    Game - Display to Defenders for 12.00 seconds the text:
    -------- Update Next Wave --------
    Quest - Change the description of NextWaveSpawnA to (Spawn |cffffcc00A|r Type: |cffffcc00 + SpawnTypeNameA[(Round + 1)])
    Quest - Change the description of NextWaveSpawnB to (Spawn |cffffcc00B|r Type: |cffffcc00 + SpawnTypeNameB[(Round + 1)])
    Quest - Change the description of NextWaveSpawnC to (Spawn |cffffcc00C|r Type: |cffffcc00 + SpawnTypeNameC[(Round + 1)])
    Set VariableSet TempStr = ((SpawnTypeNameA[(Round + 1)] + : ) + (SpawnTypeAbilityA[(Round + 1)] + |n))
    Set VariableSet TempStr = (TempStr + ((SpawnTypeNameB[(Round + 1)] + : ) + (SpawnTypeAbilityB[(Round + 1)] + |n)))
    Set VariableSet TempStr = (TempStr + ((SpawnTypeNameC[(Round + 1)] + : ) + SpawnTypeAbilityC[(Round + 1)]))
    Set VariableSet TempStr = (|cffFF6464Abilities:|r|n|n + TempStr)
    Quest - Change the description of NextWave to TempStr
Initial Spawning
  Events
    Time - StartGame expires
  Conditions
  Actions
    Trigger - Run New_Round_Setup <gen> (checking conditions)
The var(Round) must not be set to Arith(Round + 1) until we check that the next round is a boss one, if so we run the Boss Spawning triggers.
But take note all indicies of the variables of the boss level will be equal to the next round Arith(Round + 1) so in the boss triggers set the indicies to Arith(Round + 1) without changing the value of the var(Round)

var --> Variable
Arith --> Arithmatic
New Round Setup
  Events
  Conditions
  Actions
    -------- Chech that the next round is boss level or not --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (RoundChk + 1) Equal to BossRound[(RoundChk + 1)]
      Then - Actions
        Trigger - Run Boss_Round_Setup <gen> (checking conditions)
        Skip remaining actions
      Else - Actions
    Set VariableSet Round = (Round + 1)
    Set VariableSet RoundChk = Round
    Set VariableSet RoundBeginDelay_Int = (Integer(RoundBeginDelay[Round]))
    Trigger - Run Round_20 <gen> (checking conditions)
    Trigger - Run Update_Quests <gen> (checking conditions)
    Quest - Display to Defenders the Hint message: (((Round ( + |cffffcc00) + ((String(Round)) + |r))) + ( will begin in + ((String(RoundBeginDelay_Int)) + seconds.)))
    Countdown Timer - Start RoundBeginTimer as a One-shot timer that will expire in RoundBeginDelay[Round] seconds
    Countdown Timer - Create a timer window for RoundBeginTimer with title (Round + ((String(Round)) + time left:))
    Set VariableSet TimerWindow = (Last created timer window)
    Player Group - Pick every player in Defenders and do (Add (10 x Round) to (Picked player).Current gold)
    Game - Display to Defenders the text: ((String((10 x Round))) + ( gold added to prepare for Round + (String(Round))))
Start Spawning Normal
  Events
    Time - RoundBeginTimer expires
  Conditions
  Actions
    Countdown Timer - Destroy TimerWindow
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ViewType Equal to 1
      Then - Actions
        Leaderboard - Change the title of ScoreboardLeaderboard to (Scoreboard - Round + (String(Round)))
      Else - Actions
        Multiboard - Change the title of Scoreboard to (Scoreboard - Round + (String(Round)))
    Trigger - Run Spawn_Monster_West <gen> (checking conditions)
    Trigger - Run Spawn_Monster_North <gen> (checking conditions)
    Trigger - Run Spawn_Monster_East <gen> (checking conditions)
    Trigger - Run Spawn_Monster_South <gen> (checking conditions)
Spawn Monster West
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[1] Equal to True
        PlayerInGame[2] Equal to True
  Actions
    Animation - Play SpawnersA[1]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[1]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Round Equal to HeroRounds[Round]
      Then - Actions
        Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            FullSide[West] Equal to 2
          Then - Actions
            Wait 0.10 seconds
            Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[West] facing Facing
            Unit - Turn collision for (Last created unit) Off.
          Else - Actions
      Else - Actions
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer A) from 1 to (FullSide[West] x NumberOfSpawningAType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointA[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointB[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer A) from 1 to (FullSide[West] x NumberOfSpawningBType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointA[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointB[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer A) from 1 to (FullSide[West] x NumberOfSpawningCType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointA[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointB[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to (FullSide[West] x NumberOfSpawningCType[Round])
          Then - Actions
            Set VariableSet Spawning = False
          Else - Actions
        Wait SpawningDelay[Round] seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[1]'s stand (animationname) animation
    Animation - Play SpawnersB[1]'s stand (animationname) animation
Spawn Monster North
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[3] Equal to True
        PlayerInGame[4] Equal to True
  Actions
    Animation - Play SpawnersA[2]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[2]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Round Equal to HeroRounds[Round]
      Then - Actions
        Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            FullSide[North] Equal to 2
          Then - Actions
            Wait 0.10 seconds
            Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[North] facing Facing
            Unit - Turn collision for (Last created unit) Off.
          Else - Actions
      Else - Actions
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer B) from 1 to (FullSide[North] x NumberOfSpawningAType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointA[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointB[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer B) from 1 to (FullSide[North] x NumberOfSpawningBType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointA[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointB[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer B) from 1 to (FullSide[North] x NumberOfSpawningCType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointA[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointB[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to (FullSide[North] x NumberOfSpawningCType[Round])
          Then - Actions
            Set VariableSet Spawning = False
          Else - Actions
        Wait SpawningDelay[Round] seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[2]'s stand (animationname) animation
    Animation - Play SpawnersB[2]'s stand (animationname) animation
Spawn Monster East
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[5] Equal to True
        PlayerInGame[6] Equal to True
  Actions
    Animation - Play SpawnersA[3]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[3]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Round Equal to HeroRounds[Round]
      Then - Actions
        Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            FullSide[East] Equal to 2
          Then - Actions
            Wait 0.10 seconds
            Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[East] facing Facing
            Unit - Turn collision for (Last created unit) Off.
          Else - Actions
      Else - Actions
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer C) from 1 to (FullSide[East] x NumberOfSpawningAType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointA[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointB[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer C) from 1 to (FullSide[East] x NumberOfSpawningBType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointA[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointB[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer C) from 1 to (FullSide[East] x NumberOfSpawningCType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointA[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointB[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to (FullSide[East] x NumberOfSpawningCType[Round])
          Then - Actions
            Set VariableSet Spawning = False
          Else - Actions
        Wait SpawningDelay[Round] seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[3]'s stand (animationname) animation
    Animation - Play SpawnersB[3]'s stand (animationname) animation
Spawn Monster South
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[7] Equal to True
        PlayerInGame[8] Equal to True
  Actions
    Animation - Play SpawnersA[4]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[4]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Round Equal to HeroRounds[Round]
      Then - Actions
        Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            FullSide[South] Equal to 2
          Then - Actions
            Wait 0.10 seconds
            Unit - Create 1 Hero[Round] for BurningLegion at SpawnPointHero[South] facing Facing
            Unit - Turn collision for (Last created unit) Off.
          Else - Actions
      Else - Actions
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer D) from 1 to (FullSide[South] x NumberOfSpawningAType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointA[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeA[Round] for BurningLegion at SpawnPointB[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer D) from 1 to (FullSide[South] x NumberOfSpawningAType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointA[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeB[Round] for BurningLegion at SpawnPointB[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Wait SpawningDelay[Round] seconds
    Wait IntervalBetweenSpawningTypes seconds
    For each (Integer D) from 1 to (FullSide[South] x NumberOfSpawningCType[Round]), do (Actions)
      Loop - Actions
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointA[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        Unit - Create 1 MonsterTypeC[Round] for BurningLegion at SpawnPointB[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to (FullSide[South] x NumberOfSpawningCType[Round])
          Then - Actions
            Set VariableSet Spawning = False
          Else - Actions
        Wait SpawningDelay[Round] seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[4]'s stand (animationname) animation
    Animation - Play SpawnersB[4]'s stand (animationname) animation
Boss Round Setup
  Events
  Conditions
  Actions
    Set VariableSet RoundBeginDelay_Int = (Integer(BossRoundBeginDelay[(Round + 1)]))
    Quest - Display to (All players) the Hint message: (Boss Round + ( will begin in + ((String(RoundBeginDelay_Int)) + seconds.)))
    Countdown Timer - Start RoundBeginTimerBoss as a One-shot timer that will expire in BossRoundBeginDelay[(Round + 1)] seconds
    Countdown Timer - Create a timer window for RoundBeginTimerBoss with title Boss time left:
    Set VariableSet TimerWindow = (Last created timer window)
Start Spawning Boss
  Events
    Time - RoundBeginTimerBoss expires
  Conditions
  Actions
    Countdown Timer - Destroy TimerWindow
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ViewType Equal to 1
      Then - Actions
        Leaderboard - Change the title of ScoreboardLeaderboard to Scoreboard - Boss
      Else - Actions
        Multiboard - Change the title of Scoreboard to Scoreboard - Round Boss
    Trigger - Run Spawn_Boss_West <gen> (checking conditions)
    Trigger - Run Spawn_Boss_North <gen> (checking conditions)
    Trigger - Run Spawn_Boss_East <gen> (checking conditions)
    Trigger - Run Spawn_Boss_South <gen> (checking conditions)
    Trigger - Run Boss_Music <gen> (checking conditions)
Spawn Boss West
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[1] Equal to True
        PlayerInGame[2] Equal to True
  Actions
    Animation - Play SpawnersA[1]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[1]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[West] facing Facing
    Unit - Turn collision for (Last created unit) Off.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FullSide[West] Equal to 2
      Then - Actions
        Wait 0.10 seconds
        Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[West] facing Facing
        Unit - Turn collision for (Last created unit) Off.
      Else - Actions
    Wait 0.10 game-time seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[1]'s stand (animationname) animation
    Animation - Play SpawnersB[1]'s stand (animationname) animation
    Set VariableSet RoundChk = (RoundChk + 1)
Spawn Boss North
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[3] Equal to True
        PlayerInGame[4] Equal to True
  Actions
    Animation - Play SpawnersA[2]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[2]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[North] facing Facing
    Unit - Turn collision for (Last created unit) Off.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FullSide[North] Equal to 2
      Then - Actions
        Wait 0.10 seconds
        Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[North] facing Facing
        Unit - Turn collision for (Last created unit) Off.
      Else - Actions
    Wait 0.10 game-time seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[2]'s stand (animationname) animation
    Animation - Play SpawnersB[2]'s stand (animationname) animation
    Set VariableSet RoundChk = (RoundChk + 1)
Spawn Boss East
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[5] Equal to True
        PlayerInGame[6] Equal to True
  Actions
    Animation - Play SpawnersA[3]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[3]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[East] facing Facing
    Unit - Turn collision for (Last created unit) Off.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FullSide[East] Equal to 2
      Then - Actions
        Wait 0.10 seconds
        Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[East] facing Facing
        Unit - Turn collision for (Last created unit) Off.
      Else - Actions
    Wait 0.10 game-time seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[3]'s stand (animationname) animation
    Animation - Play SpawnersB[3]'s stand (animationname) animation
    Set VariableSet RoundChk = (RoundChk + 1)
Spawn Boss South
  Events
  Conditions
    Or - Any (Conditions) are true
      Conditions
        PlayerInGame[7] Equal to True
        PlayerInGame[8] Equal to True
  Actions
    Animation - Play SpawnersA[4]'s Stand Work (animationname) animation
    Animation - Play SpawnersB[4]'s Stand Work (animationname) animation
    Set VariableSet Spawning = True
    Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[South] facing Facing
    Unit - Turn collision for (Last created unit) Off.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FullSide[South] Equal to 2
      Then - Actions
        Wait 0.10 seconds
        Unit - Create 1 Boss[(Round + 1)] for BurningLegion at SpawnPointHero[South] facing Facing
        Unit - Turn collision for (Last created unit) Off.
      Else - Actions
    Wait 0.10 game-time seconds
    Set VariableSet Spawning = False
    Animation - Play SpawnersA[4]'s stand (animationname) animation
    Animation - Play SpawnersB[4]'s stand (animationname) animation
    Set VariableSet RoundChk = (RoundChk + 1)
No Spawns Check
  Events
    Player - Player 12 (Brown)'s Food used becomes Less than or equal to 0.00
  Conditions
  Actions
    Wait 0.10 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Spawning Equal to True
            (BurningLegion Food used) Greater than or equal to 1
      Then - Actions
        Skip remaining actions
      Else - Actions
        Sound - Stop the currently playing music theme
        Animation - Play Dimensional Gate 0000 <gen>'s stand alternate (animationname) animation
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ViewType Equal to 1
          Then - Actions
            Leaderboard - Change the title of ScoreboardLeaderboard to Scoreboard
          Else - Actions
            Multiboard - Change the title of Scoreboard to Scoreboard
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RoundChk Equal to BossRound[RoundChk]
            (Round + 1) Equal to BossRound[(Round + 1)]
          Then - Actions
            Player Group - Pick every player in Defenders and do (Add GoldGivenFromBoss[(Round + 1)] to (Picked player).Current gold)
            Game - Display to (All players) the text: ((String(GoldGivenFromBoss[(Round + 1)])) + gold added for passing the Boss Round)
          Else - Actions
            Player Group - Pick every player in Defenders and do (Add (10 x Round) to (Picked player).Current gold)
            Game - Display to Defenders the text: ((String((10 x Round))) + ( gold added for completing Round + (String(Round))))
        Wait 0.10 game-time seconds
        Trigger - Run New_Round_Setup <gen> (checking conditions)
AL Locations Setup
  Events
  Conditions
  Actions
    Set VariableSet Facing = (Center of FacePoint <gen>)
    Set VariableSet AL_Point[121] = (Center of MoveWestHero_1 <gen>)
    Set VariableSet AL_Point[122] = (Center of MoveWestHero_2 <gen>)
    Set VariableSet AL_Point[123] = (Center of MoveWestHero_3 <gen>)
    Set VariableSet AL_Point[124] = (Center of MoveNorthHero_1 <gen>)
    Set VariableSet AL_Point[125] = (Center of MoveNorthHero_2 <gen>)
    Set VariableSet AL_Point[126] = (Center of MoveNorthHero_3 <gen>)
    Set VariableSet AL_Point[127] = (Center of MoveEastHero_1 <gen>)
    Set VariableSet AL_Point[128] = (Center of MoveEastHero_2 <gen>)
    Set VariableSet AL_Point[129] = (Center of MoveEastHero_3 <gen>)
    Set VariableSet AL_Point[130] = (Center of MoveSouthHero_1 <gen>)
    Set VariableSet AL_Point[131] = (Center of MoveSouthHero_2 <gen>)
    Set VariableSet AL_Point[132] = (Center of MoveSouthHero_3 <gen>)
    Set VariableSet Size = 15
    -------- West Beyond --------
    Set VariableSet c = 0
    Set VariableSet wb = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyond14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestBeyondFinal <gen>)
    -------- West Above --------
    Set VariableSet c = (c + 1)
    Set VariableSet wa = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAbove14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveWestAboveFinal <gen>)
    -------- North Left --------
    Set VariableSet c = (c + 1)
    Set VariableSet nl = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeft14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthLeftFinal <gen>)
    -------- North Right --------
    Set VariableSet c = (c + 1)
    Set VariableSet nr = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRight14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveNorthRightFinal <gen>)
    -------- East Above --------
    Set VariableSet c = (c + 1)
    Set VariableSet ea = c
    Set VariableSet AL_Point[((c x Size) + 1)] = (Center of MoveEastAbove01 <gen>)
    Set VariableSet AL_Point[((c x Size) + 2)] = (Center of MoveEastAbove02 <gen>)
    Set VariableSet AL_Point[((c x Size) + 3)] = (Center of MoveEastAbove03 <gen>)
    Set VariableSet AL_Point[((c x Size) + 4)] = (Center of MoveEastAbove04 <gen>)
    Set VariableSet AL_Point[((c x Size) + 5)] = (Center of MoveEastAbove05 <gen>)
    Set VariableSet AL_Point[((c x Size) + 6)] = (Center of MoveEastAbove06 <gen>)
    Set VariableSet AL_Point[((c x Size) + 7)] = (Center of MoveEastAbove07 <gen>)
    Set VariableSet AL_Point[((c x Size) + 8)] = (Center of MoveEastAbove08 <gen>)
    Set VariableSet AL_Point[((c x Size) + 9)] = (Center of MoveEastAbove09 <gen>)
    Set VariableSet AL_Point[((c x Size) + 10)] = (Center of MoveEastAbove10 <gen>)
    Set VariableSet AL_Point[((c x Size) + 11)] = (Center of MoveEastAbove11 <gen>)
    Set VariableSet AL_Point[((c x Size) + 12)] = (Center of MoveEastAbove12 <gen>)
    Set VariableSet AL_Point[((c x Size) + 13)] = (Center of MoveEastAbove13 <gen>)
    Set VariableSet AL_Point[((c x Size) + 14)] = (Center of MoveEastAbove14 <gen>)
    Set VariableSet AL_Point[((c x Size) + 15)] = (Center of MoveEastAboveFinal <gen>)
    -------- East Beyond --------
    Set VariableSet c = (c + 1)
    Set VariableSet eb = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyond14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveEastBeyondFinal <gen>)
    -------- South Right --------
    Set VariableSet c = (c + 1)
    Set VariableSet sr = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRight14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthRightFinal <gen>)
    -------- South Left --------
    Set VariableSet c = (c + 1)
    Set VariableSet sl = c
    Set VariableSet r = 1
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft01 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft02 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft03 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft04 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft05 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft06 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft07 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft08 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft09 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft10 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft11 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft12 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft13 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeft14 <gen>)
    Set VariableSet r = (r + 1)
    Set VariableSet AL_Point[((c x Size) + r)] = (Center of MoveSouthLeftFinal <gen>)
DG Animation
  Events
    Unit - A unit enters MoveWestAbove14 <gen>
    Unit - A unit enters MoveWestBeyond14 <gen>
    Unit - A unit enters MoveNorthLeft14 <gen>
    Unit - A unit enters MoveNorthRight14 <gen>
    Unit - A unit enters MoveEastAbove14 <gen>
    Unit - A unit enters MoveEastBeyond14 <gen>
    Unit - A unit enters MoveSouthRight14 <gen>
    Unit - A unit enters MoveSouthLeft14 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Animation - Play Dimensional Gate 0000 <gen>'s stand work (animationname) animation
Initial Moving W
  Events
    Unit - A unit enters SpawnWestHero <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Unit - Set the custom value of (Entering unit) to 121
    Unit - Order (Entering unit) to Move To.AL_Point[121]
OrderMove W2 Choice
  Events
    Unit - A unit enters MoveWestHero_1 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Set VariableSet Random[West] = (Random integer number between 1 and 2)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Random[West] Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 17
        Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 2)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 2
        Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 2)]
OrderMove W9
  Events
    Unit - A unit enters MoveWestHero_2 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Unit - Set the custom value of (Entering unit) to 123
    Unit - Order (Entering unit) to Move To.AL_Point[123]
OrderMove W10 Choice
  Events
    Unit - A unit enters MoveWestHero_3 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Set VariableSet Random[West] = (Random integer number between 1 and 2)
    Game - Display to (All players) the text: (String(Random[West]))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Random[West] Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 25
        Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 10)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 10
        Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 10)]
OrderMove WA1
  Events
    Unit - A unit enters SpawnWestAbove <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 16
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 1)]
OrderMove WA2
  Events
    Unit - A unit enters MoveWestAbove01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 2)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 2)]
OrderMove WA3
  Events
    Unit - A unit enters MoveWestAbove02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 3)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 3)]
OrderMove WA4
  Events
    Unit - A unit enters MoveWestAbove03 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 4)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 4)]
OrderMove WA5
  Events
    Unit - A unit enters MoveWestAbove04 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 5)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 5)]
OrderMove WA6
  Events
    Unit - A unit enters MoveWestAbove05 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 6)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 6)]
OrderMove WA7
  Events
    Unit - A unit enters MoveWestAbove06 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to ((wa x Size) + 7)
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 7)]
OrderMove WA8
  Events
    Unit - A unit enters MoveWestAbove07 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
            (Point-value of (Entering unit)) Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 23
        Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 8)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 122
        Unit - Order (Entering unit) to Move To.AL_Point[122]
OrderMove WA9
  Events
    Unit - A unit enters MoveWestAbove08 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 24
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 9)]
OrderMove WA10
  Events
    Unit - A unit enters MoveWestAbove09 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 25
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 10)]
OrderMove WA11
  Events
    Unit - A unit enters MoveWestAbove10 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 26
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 11)]
OrderMove WA12
  Events
    Unit - A unit enters MoveWestAbove11 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 27
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 12)]
OrderMove WA13
  Events
    Unit - A unit enters MoveWestAbove12 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 28
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 13)]
OrderMove WA14
  Events
    Unit - A unit enters MoveWestAbove13 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 29
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 14)]
OrderMove WA15
  Events
    Unit - A unit enters MoveWestAbove14 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 30
    Unit - Order (Entering unit) to Move To.AL_Point[((wa x Size) + 15)]
OrderMove WB1
  Events
    Unit - A unit enters SpawnWestBeyond <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 1
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 1)]
OrderMove WB2
  Events
    Unit - A unit enters MoveWestBeyond01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 2
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 2)]
OrderMove WB3
  Events
    Unit - A unit enters MoveWestBeyond02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 3
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 3)]
OrderMove WB4
  Events
    Unit - A unit enters MoveWestBeyond03 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 4
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 4)]
OrderMove WB5
  Events
    Unit - A unit enters MoveWestBeyond04 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 5
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 5)]
OrderMove WB6
  Events
    Unit - A unit enters MoveWestBeyond05 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 6
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 6)]
OrderMove WB7
  Events
    Unit - A unit enters MoveWestBeyond06 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 7
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 7)]
OrderMove WB8
  Events
    Unit - A unit enters MoveWestBeyond07 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
            (Point-value of (Entering unit)) Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 8
        Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 8)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 122
        Unit - Order (Entering unit) to Move To.AL_Point[122]
OrderMove WB9
  Events
    Unit - A unit enters MoveWestBeyond08 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 9
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 9)]
OrderMove WB10
  Events
    Unit - A unit enters MoveWestBeyond09 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 10
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 10)]
OrderMove WB11
  Events
    Unit - A unit enters MoveWestBeyond10 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 11
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 11)]
OrderMove WB12
  Events
    Unit - A unit enters MoveWestBeyond11 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 12
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 12)]
OrderMove WB13
  Events
    Unit - A unit enters MoveWestBeyond12 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 13
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 13)]
OrderMove WB14
  Events
    Unit - A unit enters MoveWestBeyond13 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 14
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 14)]
OrderMove WB15
  Events
    Unit - A unit enters MoveWestBeyond14 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 15
    Unit - Order (Entering unit) to Move To.AL_Point[((wb x Size) + 15)]
DestinationWest
  Events
    Unit - A unit enters DGWestDestinationTripWire <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Special Effect - Create a special effect attached to the origin (attachpoint) of (Entering unit) using Abilities\Spells\Orc\FeralSpirit\feralspirittarget.mdl
    Wait 0.50 seconds
    Unit - Remove (Entering unit) from the game
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
      Then - Actions
        Trigger - Run A_Boss_Enters_DG <gen> (checking conditions)
      Else - Actions
        Trigger - Run A_Monster_Enters_DG <gen> (checking conditions)
Initial Moving N
  Events
    Unit - A unit enters SpawnNorthHero <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Unit - Set the custom value of (Entering unit) to 124
    Unit - Order (Entering unit) to Move To.AL_Point[124]
OrderMove N2 Choice
  Events
    Unit - A unit enters MoveNorthHero_1 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Set VariableSet Random[North] = (Random integer number between 1 and 2)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Random[North] Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 32
        Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 2)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 47
        Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 2)]
OrderMove N9
  Events
    Unit - A unit enters MoveNorthHero_2 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Unit - Set the custom value of (Entering unit) to 126
    Unit - Order (Entering unit) to Move To.AL_Point[126]
OrderMove N10 Choice
  Events
    Unit - A unit enters MoveNorthHero_3 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to Hero[Round]
        (Unit-type of (Entering unit)) Equal to Boss[(Round + 1)]
        (Point-value of (Entering unit)) Equal to 2
  Actions
    Set VariableSet Random[North] = (Random integer number between 1 and 2)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Random[North] Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 40
        Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 10)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 55
        Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 10)]
OrderMove NL1
  Events
    Unit - A unit enters SpawnNorthLeft <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 31
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 1)]
OrderMove NL2
  Events
    Unit - A unit enters MoveNorthLeft01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 32
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 2)]
OrderMove NL3
  Events
    Unit - A unit enters MoveNorthLeft02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 33
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 3)]
OrderMove NL4
  Events
    Unit - A unit enters MoveNorthLeft03 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 34
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 4)]
OrderMove NL5
  Events
    Unit - A unit enters MoveNorthLeft04 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 35
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 5)]
OrderMove NL6
  Events
    Unit - A unit enters MoveNorthLeft05 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 36
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 6)]
OrderMove NL7
  Events
    Unit - A unit enters MoveNorthLeft06 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 37
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 7)]
OrderMove NL8
  Events
    Unit - A unit enters MoveNorthLeft07 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
            (Point-value of (Entering unit)) Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 38
        Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 8)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 125
        Unit - Order (Entering unit) to Move To.AL_Point[125]
OrderMove NL9
  Events
    Unit - A unit enters MoveNorthLeft08 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 39
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 9)]
OrderMove NL10
  Events
    Unit - A unit enters MoveNorthLeft09 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 40
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 10)]
OrderMove NL11
  Events
    Unit - A unit enters MoveNorthLeft10 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 41
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 11)]
OrderMove NL12
  Events
    Unit - A unit enters MoveNorthLeft11 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 42
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 12)]
OrderMove NL13
  Events
    Unit - A unit enters MoveNorthLeft12 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 43
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 13)]
OrderMove NL14
  Events
    Unit - A unit enters MoveNorthLeft13 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 44
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 14)]
OrderMove NL15
  Events
    Unit - A unit enters MoveNorthLeft14 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 45
    Unit - Order (Entering unit) to Move To.AL_Point[((nl x Size) + 15)]
OrderMove NR1
  Events
    Unit - A unit enters SpawnNorthRight <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 46
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 1)]
OrderMove NR2
  Events
    Unit - A unit enters MoveNorthRight01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 47
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 2)]
OrderMove NR3
  Events
    Unit - A unit enters MoveNorthRight02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 48
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 3)]
OrderMove NR4
  Events
    Unit - A unit enters MoveNorthRight03 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 49
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 4)]
OrderMove NR5
  Events
    Unit - A unit enters MoveNorthRight04 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 50
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 5)]
OrderMove NR6
  Events
    Unit - A unit enters MoveNorthRight05 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 51
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 6)]
OrderMove NR7
  Events
    Unit - A unit enters MoveNorthRight06 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 52
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 7)]
OrderMove NR8
  Events
    Unit - A unit enters MoveNorthRight07 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
            (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
            (Point-value of (Entering unit)) Equal to 1
      Then - Actions
        Unit - Set the custom value of (Entering unit) to 53
        Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 8)]
      Else - Actions
        Unit - Set the custom value of (Entering unit) to 125
        Unit - Order (Entering unit) to Move To.AL_Point[125]
OrderMove NR9
  Events
    Unit - A unit enters MoveNorthRight08 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 54
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 9)]
OrderMove NR10
  Events
    Unit - A unit enters MoveNorthRight09 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Entering unit)) Equal to MonsterTypeA[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeB[Round]
        (Unit-type of (Entering unit)) Equal to MonsterTypeC[Round]
        (Point-value of (Entering unit)) Equal to 1
  Actions
    Unit - Set the custom value of (Entering unit) to 55
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 10)]
OrderMove NR11
  Events
    Unit - A unit enters MoveNorthRight10 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 56
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 11)]
OrderMove NR12
  Events
    Unit - A unit enters MoveNorthRight11 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 57
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 12)]
OrderMove NR13
  Events
    Unit - A unit enters MoveNorthRight12 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 58
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 13)]
OrderMove NR14
  Events
    Unit - A unit enters MoveNorthRight13 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 59
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 14)]
OrderMove NR15
  Events
    Unit - A unit enters MoveNorthRight14 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Unit - Set the custom value of (Entering unit) to 60
    Unit - Order (Entering unit) to Move To.AL_Point[((nr x Size) + 15)]
DestinationNorth
  Events
    Unit - A unit enters DGNorthDestinationTripWire <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
  Actions
    Special Effect - Create a special effect attached to the origin (attachpoint) of (Entering unit) using Abilities\Spells\Orc\FeralSpirit\feralspirittarget.mdl
    Wait 0.50 seconds
    Unit - Remove (Entering unit) from the game
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Unit-type of (Entering unit)) Equal to Boss[Round]
      Then - Actions
        Trigger - Run A_Boss_Enters_DG <gen> (checking conditions)
      Else - Actions
        Trigger - Run A_Monster_Enters_DG <gen> (checking conditions)
Initial Moving E
  Events
    Unit - A unit enters SpawnEastHero <gen>
  Conditions
    (Owner of (Entering unit)) Equal to BurningLegion
    Or - Any (Conditions) are true