1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. Ride into the sunset with the 32nd Modeling Contest.
    Dismiss Notice
  5. This adventure has come to an end. Congratulate our heroes in the 16th Mini Mapping Contest Results.
    Dismiss Notice
  6. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  7. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  8. 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

ZuluhedsChallenge.w3x
Variables
Initialization
Useful Functions
Initial
Additional Variables
----------MASTER REFERENCE-----------
----------MASTER REFERENCE-----------
----------MASTER REFERENCE-----------
Debug
Chess Debug
Debug Entire
Debug Master Skip
Cinematics
Intro Cinematic
Intro Frost
Intro Lightning
Intro Winds
Player1 Skip
Player2 Skip
Post Intro
IntroSkip
End Cinematic
Setup Triggers
Dialogs
------------Dialogs-------------
Hero Select
Selection Nekros
Selection Nerzhul
Selection Guldan
Selection Zuluhed
Selection Doomhammer
Selection Rend
Selection Velen
Selection Akama
Selection ChoGall
Selection Gorefiend
Mode
Mode Select
Mode explanation
Back to Mode Selection
Dialog Loop
Initiate Classic
Initiate Prizefight
Initiate Mercenary
Initiate AI match
Initiate Conquest
Initiate Payload
Initiate Deathmatch
Initiate Tower Tactics
Remove Hero Abilities
Game Setup
------------Setup-------------
Set Up Computer Player
Setup Variables n Player settings
Chess Grid Setup
chess Hash Entry
Chess Piece Setup
chess piece hash entry
Default Rules
Set Up the Game
Game Start
Piece Layouts
-----piece layouts-----
Demon Piece Red Setup
Demon Piece Blu Setup
Element Piece Red Setup
Element Piece Blu Setup
Orc Piece Red Setup
Orc Piece Blu Setup
Draenei Piece Red Setup
Draenei Piece Blu Setup
Shadow Piece Red Setup
Shadow Piece Blu Setup
-------------general layouts--------------
Layout Blu Weak
Layout Blu Support
Layout Blu Avg
Layout Blu Strong n Special
Layout Red Weak
Layout Red Support
Layout Red Avg
Layout Red Strong n Special
General Gameplay
Per Turn Setup
Blue Player Turn Setup
BluPlayer Select Trigger
Red Player Turn Setup
RedPlayer Select Trigger
Phase Timeout
Turn Skip
Gameplay
-------------Move Phase-------------
Chess Moves Available
chess Range Indicator Unhide
Chess Move Order
chess move action
post move
------------Target Phase------------
Chess Attacks Available
chess attack indicator unhide
Chess Attack Order
chess attack action
post attack
AI
AI Player Options
---------------------------
AI Opponent Select
AI Select Zuluhed
AI Select Guldan
AI Select Doomhammer
AI Select Velen
---------------------------
AI Cull the Weak
AI drummers
AI succubi setup
AI sprays n anchors setup
AI Support Action
AI post Support Action
AI Offensive Setup
AI Offensive Group Define
AI Offensive Group Define ALL
AI Offensive Action
AI Default Move
AI Action
AI Move only
AI Implement Action
AI Timer Skip
End Actions
Chess Death
Necromancy effects
Replace on Death
---------------------------
Forfeit
Victory Condition
Victory Fireworks
Sudden Death
Sudden Death Activate
Sudden Death Dmg
---------------------------
RESET
Quits
Replay
Clear it all out
Special Abilities
--------------Abilities General------------
Clear Buffs
Ability Mgmt per turn
Impaler Damage
-------------Hero Abilities--------------
Cast Level Playing Field
Warlocks
Cast Dominate
Shamans
Cast Portal Copy
Restore Portal
Cast Spirit Drake Copy
Restore Drake
Warlords
Cast Fel Aging
Cast Lava Lash
Exarchs
Cast Redemption
Restore Redemption
Cast Deathsworn Cunning
Councilors
Cast Unholy Shield
Cast Corrupted Blood
CB Red Trigger
CB Blu Trigger
Corrupted Blood Damage
------------Bldg Abilities---------------
Cast Fount
Cast Caldera
Cast Impaler Egg
-------Item Cast Abilities--------
unit
Cast Sign o Resurrection
Cast Enfeebling Poison
Cast Mark of Air
area
Cast Barricade
Cast Earthbind Totem
Cast Felemental
Cast Landmine
Landmine Designation
other
Cast Treant
Treant creation
Game mode specific
Prizefight
Prize table
Mercenary
Merc bounties
Conquest
Conquest Setup
Conquest Add Claim
Conquest Resource Nodes
Payload
Caravan Death
Caravan Rebirth
Payload Goal
Payload Victory
Deathmatch
Champion Death
Towers
Generic Unit Placement
Gen Node Based Harvesting
Gen Increase Harvested Resources
Gen add Thing
-------------SETUP--------------
Tower Tactics Setup
Tower Tactics Timers Up
Tower Tactics Red Ready
Tower Tactics Blue Ready
Tower Tactics Start
----------RESOURCES----------
Towers Resource Nodes
Towers Mana
-------------END--------------
Tower Death
-------------UNITS--------------
Summon Anchorite
Summon Ancient
Summon Cinder
Summon Fel Elemental
Summon Felhound
Summon Frostwolf
Summon Grunt
Summon Imp
Summon Juggernaut
Summon Krokul
Summon Lost One
Summon Mercenary
Summon Necrolyte
Summon Ogre
Summon Ogre Mage
Summon Pale Orc
Summon Peon
Summon Raider
Summon Rangari
Summon Revenant
Summon Scorpid
Summon Sethekk
Summon Solid
Summon Spearman
Summon Spray
Summon Squall
Summon Succubus
Summon Vindicator
Summon Voidwalker
Summon Wardrummer
Create Tower
------------SPELLS---------------
Cast Runes
Cast Infernal Blast
Infernal Blast Timer
Infernal Blast Dmg
Tower Create Peon
Tower Create Treant
Tower Create Spirit Drake
-------------UPGRADES--------------
Cast Dmg Upgrade
Cast Mvt Upgrade
Cast Rng Upgrade
Cast Def Upgrade
Cast Necro Upgrade
Cast Parry Upgrade
Cast Pillage Upgrade
Cast Vampiric Upgrade
Cast Last Stand Upgrade
Cast Fate Upgrade
--------SHOP NAVIGATION--------
Page Weak Supports
Page Specials
Page Avg Strong
Player Events
Buy Buildables Red
Buy Buildables Blue
Player 1 leaves
Player 2 leaves
----------Cameras-----------
Overhead Cam Red
Angled Cam Red
Overhead Cam Blu
Angled Cam Blu
---------------------------
Level Up lvl1
Level Up lvl2
Conversations
Conversation Starter
Same v Same firstblood
-------------AKAMA--------------
A v G firstblood
A l V endgame
------DOOMHAMMER------
D v G firstblood
D l Z endgame
-----------GULDAN--------------
G v Z firstblood
G w Nz endgame
------------NEKROS-------------
Nk v Z firstblood
Nk l R endgame
-----------NERZHUL------------
Nz v G firstblood
Nz v V midgame
-------------REND-----------------
R w D endgame
R l G endgame
----------VELEN-------------------
V v A firstblood
V v D firstblood
----------ZULUHED-------------
Z v Nz firstblood
Z w Nk endgame
----------CHOGALL------------
C v G firstblood
C v D firstblood
C v R midgame
C l F endgame
------GOREFIEND--------
F v D firstblood
F v A midgame
F v Nz midgame
F l G endgame
Enter map-specific custom script code below. This text will be included in the map script after variables are declared and before any trigger code.

		
Name Type Is Array Initial Value
AbGruAlly player Yes
AbGruAllyPiece group Yes
AbGruAngle real Yes
AbGruCalderas group No
AbGruDominate group No
AbGruEggs group No
AbGruEnemyPiece group Yes
AbGruFelementals group Yes
AbGruFounts group No
AbGruInvisible group No
AbGruJuggernauts group No
AbGruLashed group Yes
AbGruPlayer player Yes
AbGruPoisoned group No
AbGruPortals group Yes
AbGruResurectees group No
AbGruSpiritDrakes group Yes
AbGruUnholyShield group No
AbilityAction abilcode No
AbilityLegal boolean No
AbilitySelected boolean Yes
ActionTrigger trigger No
AIActive boolean No
AIActiveDummy unitcode No
AIActiveUnit unit No
AICulledStragglers boolean No
AICurrentDamage real No
AIKeyAtkRange integer No
AIKeyGroup group No
AIKeyMovRange integer No
AIKeyUnitType unitcode No
AIOffensivesProgress integer No
AITargetAverage unitcode No
AITargetGroup group No
AITargetStrong unitcode No
AITargetSupport unitcode No
AITargetUnit unit No
AITargetUnitType unitcode No
AITargetWeak unitcode No
AITimerSkip timer No
AIUnitDmg real Yes
AIUnitMov integer Yes
AIUnitRace integer No
AIUnitRng integer Yes
AIUnitType unitcode Yes
AIUntargetedMove boolean No
AllPlayers force No
antigroup group No
AttackReal real No
BoardBluePieces integer No
BoardRedPieces integer No
BoolAttack boolean No
BoolCinema boolean No
BoolCunningSkip boolean No
BoolEndgame boolean No
BoolFirstblood boolean No
BoolMidgame boolean No
BoolSkip boolean No
Button button Yes
ButtonAbility button Yes
ButtonAI button Yes
ButtonClass button No
ButtonConquest button No
ButtonDeathmatch button No
ButtonHero button Yes
ButtonMerc button No
ButtonNextWindow button No
ButtonPayload button No
ButtonPrize button No
ButtonQuit button No
ButtonReplay button No
ButtonTactics button No
CasterAging unit No
CasterDominate unit No
CasterDrake unit No
CasterPortal unit No
CasterRedemption unit No
CBInteger integer Yes
CBTarget unit Yes
CBTimer timer Yes
ChampionBlu unitcode No
ChampionRed unitcode No
ChessAttackTarget unit No
ChessAttackValue real No
ChessBluePieces group No
ChessBluPiecesPlayer player No
ChessCurrentUnit unit No
ChessDestination rect No
ChessHashX hashtable No
ChessHashY hashtable No
ChessInt integer No
ChessMovingUnit unit No
ChessRedPiecePlayer player No
ChessRedPieces group No
ChessSpaceHash hashtable No
ChessSpawnFX string No
CinemaHero unit No
CinemaVillain unit No
ClaimsBlue group No
ClaimsRed group No
ComputerOpponentBool boolean No
ConquestInteger integer No
CrtnActivePiece boolean No
CrtnAngle real No
CrtnDuration integer No
CrtnFX string No
CrtnGroup group No
CrtnItem itemcode No
CrtnManaBool boolean No
CrtnManaReal real No
CrtnOwner player No
CrtnRankLtdBool boolean No
CrtnRegion rect No
CrtnTempBool boolean No
CrtnTriggerer unit No
CrtnUnit unitcode No
CurrentAllyPlayer player No
CurrentAngle real No
currentgroup group No
CurrentPiece unitcode No
CurrentPlayer player No
CurrentPlayerGroup force No
dedunit unit No
DialogAbility dialog No
DialogAIHero dialog No
DialogHero dialog No
DialogHeroPart2 dialog No
DialogReplay dialog No
DialogSelection dialog No
DialogVerify dialog No
DisplayValue integer No
FelAgingIsGo boolean No
FelAgingReplacement unitcode No
GameMode integer No
GameOver boolean No
GetLocalPlayer player No
GroupAlly force No
GroupEnemy force No
GroupExhausted group No
GrpChessIndicators group No
GrpChessOccupied group No
GrpChessTargets group No
GrpChessVisibleIndicator group No
HarvestBonus integer Yes
HashAbilities hashtable No
hashDestination integer No
hashkey integer No
hashkey2 integer No
hashkey3 integer No
hashkey4 integer No
IntegerCounting integer No
IntegerJuggernaut integer Yes
IntegerPaleMvt integer No
IntegerTimeout integer No 60
IntegerX integer No
IntegerY integer No
intrando integer No
intrando2 integer No
ItemUnitsTactics itemcode Yes
kilrplayer player No
ManaAbilityReal real Yes
ManaAllocated boolean No
MinerPlayer player No
MinerUnit unit No
MoveLegal boolean No
MovePhase boolean No
MoveTimeout timer No
NaaruHash hashtable No
PayloadStartIndicators group No
PlayerBlue player No
PlayerRed player No
PlayerSkip boolean Yes
PortalHash hashtable No
prize item No
prizetype itemcode No
PromotedDemons group Yes
PromotedDemonsplus group No
PromotedDraenei group No
PromotedDraeneiplus group No
PromotedElements group Yes
PromotedElementsplus group No
PromotedOrcs group No
PromotedOrcsplus group No
PromotedShadows group No
PromotedShadowsplus group No
PromotedUnit unit No
QUEST quest Yes
RacePickBlue integer No
RacePickRed integer No
RealDominateMana real No
RealDrakeMana real No
RealFelAgingMana real No
RealPortalMana real No
RealRedemptionMana real No
Redemp_avail_units integer No
Redemption_num_of_units integer Yes
Redemption_total_missing integer No
Redemptionee unitcode No
RegionSquares rect Yes
ReplacedUnit unit No
ReplacementGiven boolean No
ReplacingUnit unit No
ReplacingUnitType unitcode No
Replay boolean No
SetupTimer timer No
SetupTimerWindow timerdialog No
SilenceHash hashtable No
Skip boolean Yes
SkipAvailable boolean No
SkipTrigger trigger No
SkipUnit unit No
SpeakerA unit No
SpeakerB unit No
StartedWithRed boolean No
SuddenDeathOn boolean No
TargetIndicator unit No
tempoInt integer No
tempygroup group No
tempygroup2 group No
tempypoint location No
tempypoint2 location No
tempyregion rect No
tempyregion2 rect No
tempyunit unit No
tempyunit2 unit No
tempyunit3 unit No
tempyunit4 unit No
Thing unitcode No
TimerDrake timer No
TimerImpalerDmg timer No
TimerJuggernaut timer No
TimerPortal timer No
TimerRedemption timer No
TowerReady boolean Yes
TriggerPlayerSelect trigger No
TurnBoard leaderboard No
UniheroBlu unit No
UniheroRed unit No
UnitMarkofAir unit Yes
UnitypeBlu unitcode No
UnitypeRed unitcode No
UntargetableGroup group No
Useful Functions
  Events
  Conditions
  Actions
    Custom script: set udg_hashkey = GetHandleId(udg_tempyunit)
    -------- -------------------- --------
    Set VariableSet tempypoint = (Center of (Playable map area))
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- -------------------- --------
    Unit - Create 1.Peasant for Player 1 (Red) at tempypoint facing Default building facing degrees
    Unit - Order tempyunit to Move To.tempypoint
    Unit - Move tempyunit instantly to tempypoint, facing 90.00 degrees
    -------- -------------------- --------
    Set VariableSet tempygroup = (Units owned by Player 1 (Red) of type Footman)
    Unit Group - Pick every unit in tempygroup and do (If (((Picked unit) is alive) Equal to False) then do (Remove (Picked unit) from tempygroup.) else do (Do nothing))
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- -------------------- --------
    Set VariableSet tempygroup = (Units owned by Player 1 (Red).)
    Unit Group - Pick every unit in tempygroup and do (If (((Picked unit) is A peon-type unit) Equal to True) then do (Remove (Picked unit) from tempygroup.) else do (Do nothing))
    Unit Group - Pick every unit in tempygroup and do (Order (Picked unit) to Stop.)
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- -------------------- --------
    Unit Group - Pick every unit in tempygroup and do (If (((Picked unit) is A structure) Equal to True) then do (Remove (Picked unit) from tempygroup.) else do (Do nothing))
    -------- -------------------- --------
    Cinematic - Clear the screen of text messages for (All players).
    Selection - Clear selection for Player 1 (Red).
    Set VariableSet tempygroup = (Units in (Playable map area))
    Unit Group - Pick every unit in tempygroup and do (Order (Picked unit) to Stop.)
    Custom script: call DestroyGroup (udg_tempygroup)
    Cinematic - Disable user control for (All players).
    Cinematic - Turn cinematic mode On for (All players)
    Cinematic - Turn on letterbox mode (hide interface) for (All players): fade out over 2 seconds
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    -------- -------------------- --------
    Camera - .Apply. (Current camera) for Player 1 (Red) over 0.00 seconds
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn cinematic mode Off for (All players)
    Cinematic - Enable user control for (All players).
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    -------- -------------------- --------
    Set VariableSet tempypoint = (Center of (Playable map area))
    Hero - Instantly revive tempyunit at tempypoint, Hide revival graphics
    Custom script: call RemoveLocation (udg_tempypoint)
Initial
  Events
    Map initialization
  Conditions
  Actions
    Custom script: set udg_GetLocalPlayer = GetLocalPlayer()
    Player Group - Add Player 1 (Red) to AllPlayers
    Player Group - Add Player 2 (Blue) to AllPlayers
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Player 2 (Blue) slot status) Equal to Is unused
            (Player 2 (Blue) controller) Equal to Computer
      Then - Actions
        Set VariableSet ComputerOpponentBool = True
      Else - Actions
    Trigger - Run Intro_Cinematic <gen> (ignoring conditions)
    Trigger - Run Additional_Variables <gen> (ignoring conditions)
Additional Variables
  Events
  Conditions
  Actions
    Set VariableSet RealPortalMana = 60.00
    Set VariableSet RealDominateMana = 70.00
    Set VariableSet RealDrakeMana = 80.00
    Set VariableSet RealFelAgingMana = 90.00
    Set VariableSet RealRedemptionMana = 110.00
    -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------
    Hashtable - Create a hashtable
    Set VariableSet SilenceHash = (Last created hashtable)
    Hashtable - Create a hashtable
    Set VariableSet NaaruHash = (Last created hashtable)
    Hashtable - Create a hashtable
    Set VariableSet PortalHash = (Last created hashtable)
    -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------
    Set VariableSet AIActiveDummy = AI Target Dummy (small)
    -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --------
    Set VariableSet ItemUnitsTactics[1] = Anchorite
    Set VariableSet ItemUnitsTactics[2] = Ancient
    Set VariableSet ItemUnitsTactics[3] = Elemental Cinder
    Set VariableSet ItemUnitsTactics[4] = Elemental Solid
    Set VariableSet ItemUnitsTactics[5] = Elemental Spray
    Set VariableSet ItemUnitsTactics[6] = Elemental Squall
    Set VariableSet ItemUnitsTactics[7] = Fel Elemental
    Set VariableSet ItemUnitsTactics[8] = Felhound
    Set VariableSet ItemUnitsTactics[9] = Frost Wolf
    Set VariableSet ItemUnitsTactics[10] = Grunt
    Set VariableSet ItemUnitsTactics[11] = Imp
    Set VariableSet ItemUnitsTactics[12] = Juggernaut
    Set VariableSet ItemUnitsTactics[13] = Krokul
    Set VariableSet ItemUnitsTactics[14] = Lost One Seer
    Set VariableSet ItemUnitsTactics[15] = Mercenary Chieftain
    Set VariableSet ItemUnitsTactics[16] = Necrolyte
    Set VariableSet ItemUnitsTactics[17] = Ogre
    Set VariableSet ItemUnitsTactics[18] = Ogre Mage
    Set VariableSet ItemUnitsTactics[19] = Pale Orc
    Set VariableSet ItemUnitsTactics[20] = Raider
    Set VariableSet ItemUnitsTactics[21] = Rangari
    Set VariableSet ItemUnitsTactics[22] = Revenant
    Set VariableSet ItemUnitsTactics[23] = Scorpid
    Set VariableSet ItemUnitsTactics[24] = Sethekk Slave
    Set VariableSet ItemUnitsTactics[25] = Spearman
    Set VariableSet ItemUnitsTactics[26] = Special Units
    Set VariableSet ItemUnitsTactics[27] = Strong and Average Units
    Set VariableSet ItemUnitsTactics[28] = Succubus
    Set VariableSet ItemUnitsTactics[29] = Vindicator
    Set VariableSet ItemUnitsTactics[30] = Voidwalker
    Set VariableSet ItemUnitsTactics[31] = Wardrummer
    Set VariableSet ItemUnitsTactics[32] = Weak and Support Units
    Set VariableSet ItemUnitsTactics[33] = Peon
Variables

Gamemode(1) = Classic
Gamemode(2) = Prizefight
Gamemode(3) = Mercenary
Gamemode(4) = AI
Gamemode(5) = Conquest
Gamemode(6) = Payload
Gamemode(7) = Deathmatch
Gamemode(8) = Tower Tactics

RacePickRed & RacePickBlue
(1) = Elemental
(2) = Demon
(3) = Orcs
(4) = Draenei
(5) = Shadow

AIUnitMov(1-4) 1=strong unit
AIUnitRng(1-4) 2=avg
AIUnitDmg(1-4) 3=weak
AIUnitType(1-4) 4=support

currentgroup= game pieces active, red or blue
antigroup= pieces not active
currentplayer= blueplayer or redplayer
currentallyplayer= owner of current active pieces
currentplayergroup= blanket group

AbGruPlayer1 = RedPlayer
AbGruAlly1 = ChessRedPiecePlayer
AbGruAngle1 = 90
AbGruEnemyPiece1 = ChessBluePieces
AbGruAllyPiece1 = ChessRedPieces
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ChessSpaceHash

0 of (Key(game piece)) = Handle of Indicator for corresponding square
0 of (Key(indicator)) = Handle of rect(region) for indicator at corresponding square
1 of (Key(indicator)) = Handle of game piece for corresponding indicator
0 of (Key(rect/region)) = Handle of Indicator for corresponding square
X of Y = Handle of indicator at coordinate X,Y

3 of (Key(indicator)) = Conquest marker
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ChessHashX

0 of (Key(indicator)) = X coordinate on board
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ChessHashY

0 of (Key(indicator)) = Y coordinate on board
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SilenceHash

0 of (Key(game piece)) = remaining duration, silence
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
NaaruHash

0 of (Key(game piece)) = remaining duration, Naaru healing
1 of (Key(game piece)) = remaining duration, Naaru BURNING
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PortalHash

0 of (Key(indicator)) =
0 of (Key(marker)) =
HashAbilities

1 of (Key(indicator)) = Handle of Portal for corresponding sq
2 of (Key(indicator)) = Handle of Spirit Drake for corresponding sq
3 of (Key(indicator)) = Handle of Landmine for corresponding sq

Indicator is ALWAYS 0 of (Key occupying spell unit) in AbilitiesHash

5 of (Key(gamepiece)) = that piece's remaining duration with Unholy Shield
6 of (Key(gamepiece)) = that piece's remaining duration under Lava Lash debuff
7 of (Key(gamepiece)) = that piece's remaining duration under poisoned debuff
8 of (Key(gamepiece)) = that piece's kill count
9 of (Key(gamepiece)) = Last unit to attack that piece

1 of Portal Key = remaining duration in turns (int)
2 of Portal Key = Key of companion portal

1 of Spirit Drake Key = remaining duration in turns (int)

1 of Felemental Key = remaining duration in turns (int)

1 of Soothing Fount Key = remaining duration in turns (int)

1 of Searing Caldera Key = remaining duration in turns (int)

1 of Impaler Egg Key = X coordinate, nearest square
2 of Impaler Egg Key = Y coordinate, nearest square
3 of Impaler Egg Key = remaining units to hit (int) (starting from 8)
4 of Impaler Egg Key = Integer to add for successive squares (-1 for east, 1 for west)

1 of Juggernaut Key = X coordinate
2 of JK = Y coordinate
3 of JK = target x coordinate, left
4 of JK = target x coordinate, right
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Debug Entire
  Events
    Player - Player 1 (Red) types a chat message containing initial (stringnoformat) as An exact match
  Conditions
  Actions
    Custom script: set udg_GetLocalPlayer = GetLocalPlayer()
    Player Group - Add Player 1 (Red) to AllPlayers
    Player Group - Add Player 2 (Blue) to AllPlayers
    Set VariableSet PlayerSkip[2] = True
    -------- ------------------------------ --------
    Set VariableSet RacePickBlue = 1
    Set VariableSet UnitypeBlu = Shaman
    Set VariableSet tempypoint = (Center of Blue_Start <gen>)
    Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Set VariableSet UniheroBlu = (Last created unit)
    Custom script: call RemoveLocation (udg_tempypoint)
    Unit - Add Spirit Drake (current) to UniheroBlu
    Set VariableSet ChampionBlu = Black Aspect
    -------- ------------------------------ --------
    Set VariableSet AbilitySelected[2] = True
    Set VariableSet TowerReady[2] = True
    -------- ------------------------------ --------
    Trigger - Run Intro_Cinematic <gen> (ignoring conditions)
    Trigger - Run Additional_Variables <gen> (ignoring conditions)
Debug Master Skip
  Events
    Player - Player 1 (Red) types a chat message containing skip (stringnoformat) as An exact match
  Conditions
  Actions
    Trigger - Run Turn_Skip <gen> (ignoring conditions)
Pink winter sky is best for general purpose
Intro Cinematic
  Events
  Conditions
  Actions
    -------- --------------------------------------------------------- --------
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Clear the screen of text messages for (All players).
    Cinematic - Disable user control for (All players).
    Cinematic - Turn cinematic mode On for (All players)
    Cinematic - Turn on letterbox mode (hide interface) for (All players): fade out over 0.00 seconds
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    -------- --------------------------------------------------------- --------
    Game - Set the time of day to 0.00
    Game - Set time of day speed to 0.00% of the default speed
    Environment - Set sky to Fogged Sky
    Environment - Set fog to style Linear, z-start 1000, z-end 6000.00, density 0.50 and color (19.00%, 19.00%, 24.00%)
    Sound - Play SadMystery <gen>
    -------- --------------------------------------------------------- --------
    Set VariableSet tempypoint = (Center of iZulA <gen>)
    Unit - Create 1.Shaman for Player 1 (Red) at tempypoint facing 56.00 degrees
    Set VariableSet CinemaHero = (Last created unit)
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of iNekA <gen>)
    Unit - Create 1.Warlock for Player 1 (Red) at tempypoint facing 219.00 degrees
    Set VariableSet CinemaVillain = (Last created unit)
    Custom script: call RemoveLocation (udg_tempypoint)
    Animation - Change CinemaVillain's vertex coloring to (39.00%, 39.00%, 47.00%) with 0% transparency
    -------- --------------------------------------------------------- --------
    Set VariableSet BoolSkip = False
    Trigger - Turn on Player1_Skip <gen>
    If (ComputerOpponentBool Equal to True) then do (Set VariableSet PlayerSkip[2] = True) else do (Turn on Player2_Skip <gen>)
    Set VariableSet SkipTrigger = IntroSkip <gen>
    Set VariableSet BoolCinema = True
    -------- --------------------------------------------------------- --------
    Player Group - Pick every player in AllPlayers and do (.Apply. gg_cam_IntropanA for (Picked player) over 0.00 seconds)
    Player Group - Pick every player in AllPlayers and do (.Apply. gg_cam_IntropanB for (Picked player) over 10.00 seconds)
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinemaVillain named Nekros: Play No sound and display You are a fossil, Zuluhed, the stigma of our weakness! How can you reject this gift?. Modify duration: Set to 7.00 seconds and Wait
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinemaHero named Zuluhed: Play No sound and display The gift of slavery? Depravity?. Modify duration: Set to 3.00 seconds and Don't wait
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play CinemaHero's Spell Throw (animationname) animation
    Animation - Queue CinemaHero's stand (animationname) animation
    Wait 3.00 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinemaVillain named Nekros: Play No sound and display Of power! Warlocks are the future of our people - will you cling to your superstition when you are the last shaman?. Modify duration: Set to 7.00 seconds and Don't wait
    Player Group - Pick every player in AllPlayers and do (.Apply. gg_cam_IntroZoom for (Picked player) over 15.00 seconds)
    Wait 1.00 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play CinemaVillain's attack (animationname) animation
    Animation - Queue CinemaVillain's stand (animationname) animation
    Wait 6.00 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play CinemaVillain's spell (animationname) animation
    Wait 1.50 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Set VariableSet tempypoint = (Position of CinemaVillain)
    Special Effect - Create a special effect at tempypoint using Abilities\Spells\Items\AIim\AIimTarget.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_tempypoint)
    Wait 0.30 seconds
    Unit - Remove CinemaVillain from the game
    Wait 0.50 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Set VariableSet tempypoint = (Center of iZulB <gen>)
    Unit - Order CinemaHero to Move To.tempypoint
    Custom script: call RemoveLocation (udg_tempypoint)
    Player Group - Pick every player in AllPlayers and do (.Apply. gg_cam_I_lakezoom_A for (Picked player) over 0.00 seconds)
    Player Group - Pick every player in AllPlayers and do (.Apply. gg_cam_I_lakezoom_B for (Picked player) over 20.00 seconds)
    Cinematic - Send transmission to (All players) from CinemaHero named Zuluhed: Play No sound and display As long as we honor the spirits, there is still hope for the Horde.. Modify duration: Set to 3.50 seconds and Don't wait
    Wait 5.00 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make CinemaHero face 161.00 over 0.30 seconds
    Wait 0.50 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinemaHero named Zuluhed: Play No sound and display Elements, hear me! We must prove our strength!. Modify duration: Set to 5.00 seconds and Don't wait
    Animation - Play CinemaHero's Spell (animationname) animation
    Animation - Queue CinemaHero's Spell Slam (animationname) animation
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Turn on Intro_Frost <gen>
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Queue CinemaHero's stand (animationname) animation
    Trigger - Turn on Intro_Lightning <gen>
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Turn on Intro_Winds <gen>
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade out over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    If (BoolSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- --------------------------------------------------------- --------
    Set VariableSet BoolCinema = False
    Trigger - Turn off Player1_Skip <gen>
    Trigger - Turn off Player2_Skip <gen>
    -------- --------------------------------------------------------- --------
    Trigger - Run Post_Intro <gen> (ignoring conditions)
Intro Frost
  Events
    Time - Every 0.30 seconds of game time
  Conditions
  Actions
    Set VariableSet tempypoint = (Random point in Frost_FX_area <gen>)
    Special Effect - Create a special effect at tempypoint using Objects\Spawnmodels\Naga\NagaDeath\NagaDeath.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_tempypoint)
Intro Lightning
  Events
    Time - Every 0.40 seconds of game time
  Conditions
  Actions
    Set VariableSet tempypoint = (Random point in Lightning_FX_area <gen>)
    Special Effect - Create a special effect at tempypoint using Abilities\Spells\Other\Monsoon\MonsoonBoltTarget.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_tempypoint)
Intro Winds
  Events
    Time - Every 0.50 seconds of game time
  Conditions
  Actions
    Set VariableSet tempypoint = (Random point in Lightning_FX_area <gen>)
    Special Effect - Create a special effect at tempypoint using Abilities\Spells\NightElf\Cyclone\CycloneTarget.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_tempypoint)
Player1 Skip
  Events
    Player - Player 1 (Red) skips a cinematic sequence
  Conditions
    BoolCinema Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet PlayerSkip[1] = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerSkip[2] Equal to True
      Then - Actions
        Set VariableSet BoolSkip = True
        Trigger - Run SkipTrigger (ignoring conditions)
      Else - Actions
Player2 Skip
  Events
    Player - Player 2 (Blue) skips a cinematic sequence
  Conditions
    BoolCinema Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet PlayerSkip[2] = True
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        PlayerSkip[1] Equal to True
      Then - Actions
        Set VariableSet BoolSkip = True
        Trigger - Run SkipTrigger (ignoring conditions)
      Else - Actions
Post Intro
  Events
  Conditions
  Actions
    Trigger - Turn off Intro_Frost <gen>
    Trigger - Turn off Intro_Lightning <gen>
    Trigger - Turn off Intro_Winds <gen>
    Unit - Remove CinemaHero from the game
    Game - Set the time of day to 12
    Environment - Set sky to Felwood Sky
    Environment - Set fog to style Linear, z-start 6000.00, z-end 10000.00, density 0.50 and color (63.00%, 59.00%, 63.00%)
    Sound - Stop music After fading
    Sound - Set the music list to Music, starting with a random song
    -------- --------------------------------------------------------- --------
    Camera - .Apply. gg_cam_Red_View for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_Blue_View for Player 2 (Blue) over 0.00 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Cinematic - Enable user control for (All players).
    -------- --------------------------------------------------------- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Opponent_Select <gen> (ignoring conditions)
      Else - Actions
        Trigger - Run Hero_Select <gen> (ignoring conditions)
        Wait 0.20 game-time seconds
        Dialog - Show DialogHero for Player 1 (Red)
        Dialog - Show DialogHero for Player 2 (Blue)
IntroSkip
  Events
  Conditions
  Actions
    Set VariableSet BoolCinema = False
    Unit - Remove CinemaVillain from the game
    -------- --------------------------------------------------------- --------
    Trigger - Run Post_Intro <gen> (ignoring conditions)
End Cinematic
  Events
  Conditions
  Actions
    Cinematic - Enable user control for (All players).
    Camera - .Apply. gg_cam_Red_View for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_Blue_View for Player 2 (Blue) over 0.00 seconds
    Dialog - Clear DialogReplay
    Dialog - Change the title of DialogReplay to Play Again?
    Dialog - Create a dialog button for DialogReplay labelled Yes
    Set VariableSet ButtonReplay = (Last created dialog Button)
    Dialog - Create a dialog button for DialogReplay labelled No
    Set VariableSet ButtonQuit = (Last created dialog Button)
    Dialog - Show DialogReplay for Player 1 (Red)
Hero Select
  Events
    Dialog - A dialog button is clicked for DialogHeroPart2
  Conditions
    (Clicked dialog button) Equal to ButtonNextWindow
  Actions
    Dialog - Clear DialogHero
    Dialog - Change the title of DialogHero to Choose Your Hero
    Dialog - Create a dialog button for DialogHero labelled Nekros Skullcrusher |c00540081(Warlock)|r
    Set VariableSet ButtonHero[1] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Ner'zhul |c004E2A04(Shaman)|r
    Set VariableSet ButtonHero[2] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Gul'dan |c00540081(Warlock)|r
    Set VariableSet ButtonHero[3] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Zuluhed the Whacked |c004E2A04(Shaman)|r
    Set VariableSet ButtonHero[4] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Orgrim Doomhammer |c00106246(Warlord)|r
    Set VariableSet ButtonHero[5] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Rend Blackhand |c00106246(Warlord)|r
    Set VariableSet ButtonHero[6] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Velen |c00DDDDFF(Exarch)|r
    Set VariableSet ButtonHero[7] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Akama |c00DDDDFF(Exarch)|r
    Set VariableSet ButtonHero[8] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Cho'Gall |c00191970(Shadow Councilor)|r
    Set VariableSet ButtonHero[9] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogHero labelled Teron Gorefiend |c00191970(Shadow Councilor)|r
    Set VariableSet ButtonHero[10] = (Last created dialog Button)
    -------- -------------------- --------
    Dialog - Show DialogHero for (Triggering player)
Selection Nekros
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[1]
  Actions
    Quest - Create a Required quest titled Your Army with the description You control a legion of demons|c00333364Imp|r (medium) - 11hp, 1 move, 2 range, 6 damage|c00333364Felhound|r (light) - 18hp, 2 move, 2 range, 10 damage|c00333364Voidwalker|r (heavy) - 37hp, 2 move, 1 range, 15 damage|c00333364Succubus|r - 12hp, 1 move, 2 range, silence (the targeted enemy unit cannot perform an attack action for its next two turns)Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced demons can upgrade to |c00FF7F00Captains|r, then |c00FF7F00Generals|r, giving them up to +6 bonus attack damage.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNUndeadCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[5] = (Last created quest)
        Set VariableSet RacePickRed = 2
        Set VariableSet UnitypeRed = Warlock
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Dominate (current) to UniheroRed
        Set VariableSet ChampionRed = Black Aspect
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[6] = (Last created quest)
        Set VariableSet RacePickBlue = 2
        Set VariableSet UnitypeBlu = Warlock
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Dominate (current) to UniheroBlu
        Set VariableSet ChampionBlu = Black Aspect
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Nerzhul
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[2]
  Actions
    Quest - Create a Required quest titled Your Army with the description You direct a confluence of elementals|c00333364Solid|r (medium) - 15hp, 1 move, 1 range, 5 damage|c00333364Squall|r (light) - 19hp, 2 move, 3 range, 7 damage|c00333364Cinder|r (heavy) - 20hp, 1 move, 2 range, 19 damage|c00333364Spray|r - 15hp, 2 move, 1 range, 5 healingLight units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced elementals can upgrade to |c00FF7F00Furies|r, then |c00FF7F00Lords|r, giving them up to +2 bonus attack range.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNNightElfCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[7] = (Last created quest)
        Set VariableSet RacePickRed = 1
        Set VariableSet UnitypeRed = Shaman
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Portal (current) to UniheroRed
        Set VariableSet ChampionRed = Elder Spirit
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[8] = (Last created quest)
        Set VariableSet RacePickBlue = 1
        Set VariableSet UnitypeBlu = Shaman
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Portal (current) to UniheroBlu
        Set VariableSet ChampionBlu = Elder Spirit
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Guldan
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[3]
  Actions
    Quest - Create a Required quest titled Your Army with the description You control a legion of demons|c00333364Imp|r (medium) - 11hp, 1 move, 2 range, 6 damage|c00333364Felhound|r (light) - 18hp, 2 move, 2 range, 10 damage|c00333364Voidwalker|r (heavy) - 37hp, 2 move, 1 range, 15 damage|c00333364Succubus|r - 12hp, 1 move, 2 range, silence (the targeted enemy unit cannot perform an attack action for its next two turns)Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced demons can upgrade to |c00FF7F00Captains|r, then |c00FF7F00Generals|r, giving them up to +6 bonus attack damage.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNUndeadCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[9] = (Last created quest)
        Set VariableSet RacePickRed = 2
        Set VariableSet UnitypeRed = Warlock
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Volcano (chess) to UniheroRed
        Set VariableSet ChampionRed = Shadow Council Assassin
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[10] = (Last created quest)
        Set VariableSet RacePickBlue = 2
        Set VariableSet UnitypeBlu = Warlock
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Volcano (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Shadow Council Assassin
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Zuluhed
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[4]
  Actions
    Quest - Create a Required quest titled Your Army with the description You direct a confluence of elementals|c00333364Solid|r (medium) - 15hp, 1 move, 1 range, 5 damage|c00333364Squall|r (light) - 19hp, 2 move, 3 range, 7 damage|c00333364Cinder|r (heavy) - 20hp, 1 move, 2 range, 19 damage|c00333364Spray|r - 15hp, 2 move, 1 range, 5 healingLight units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced elementals can upgrade to |c00FF7F00Furies|r, then |c00FF7F00Lords|r, giving them up to +2 bonus attack range.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNNightElfCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[11] = (Last created quest)
        Set VariableSet RacePickRed = 1
        Set VariableSet UnitypeRed = Shaman
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Spirit Drake (current) to UniheroRed
        Set VariableSet ChampionRed = Black Aspect
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[12] = (Last created quest)
        Set VariableSet RacePickBlue = 1
        Set VariableSet UnitypeBlu = Shaman
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Spirit Drake (current) to UniheroBlu
        Set VariableSet ChampionBlu = Black Aspect
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Doomhammer
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[5]
  Actions
    Quest - Create a Required quest titled Your Army with the description You command the mighty Horde!|c00333364Grunt|r (heavy) - 14hp, 2 move, 1 range, 7 damage|c00333364Spearman|r (medium) - 16hp, 1 move, 3 range, 9 damage|c00333364Raider|r (light) - 23hp, 3 move, 1 range, 18 damage|c00333364Wardrummer|r - 20hp, 2 move, passively adds +1 bonus attack and 1 damage reduction to all adjacent friendly unitsLight units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced orcs can upgrade to |c00FF7F00Veterans|r, then |c00FF7F00Champions|r, giving them up to +2 move range.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNOrcCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[13] = (Last created quest)
        Set VariableSet RacePickRed = 3
        Set VariableSet UnitypeRed = Warlord
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Lava Lash (chess) to UniheroRed
        Set VariableSet ChampionRed = Bleeding Hollow Chieftain
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[14] = (Last created quest)
        Set VariableSet RacePickBlue = 3
        Set VariableSet UnitypeBlu = Warlord
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Lava Lash (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Bleeding Hollow Chieftain
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Rend
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[6]
  Actions
    Quest - Create a Required quest titled Your Army with the description You command the mighty Horde!|c00333364Grunt|r (heavy) - 14hp, 2 move, 1 range, 7 damage|c00333364Spearman|r (medium) - 16hp, 1 move, 3 range, 9 damage|c00333364Raider|r (light) - 23hp, 3 move, 1 range, 18 damage|c00333364Wardrummer|r - 20hp, 2 move, passively adds +1 bonus attack and 1 damage reduction to all adjacent friendly unitsLight units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced orcs can upgrade to |c00FF7F00Veterans|r, then |c00FF7F00Champions|r, giving them up to +2 move range.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNOrcCaptureFlag.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[15] = (Last created quest)
        Set VariableSet RacePickRed = 3
        Set VariableSet UnitypeRed = Warlord
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Fel Aging (chess) to UniheroRed
        Set VariableSet ChampionRed = Shattered Hand Chieftain
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[16] = (Last created quest)
        Set VariableSet RacePickBlue = 3
        Set VariableSet UnitypeBlu = Warlord
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Fel Aging (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Shattered Hand Chieftain
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Velen
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[7]
  Actions
    Quest - Create a Required quest titled Your Army with the description You lead the Draenei|c00333364Krokul|r (light) - 8hp, 2 move, 1 range, 4 damage, stealths for 1 turn after attacking|c00333364Rangari|r (medium) - 17hp, 3 move, 2 range, 14 damage|c00333364Vindicator|r (heavy) - 30hp, 1 move, 1 range, 22 damage|c00333364Anchorite|r - 11hp, 2 move, 2 range, casts Light of the Naaru, healing allies and burning enemies 2hp every turn over the next 4 turns.Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced draenei can upgrade to |c00FF7F00Sages|r, then |c00FF7F00Elders|r, giving them up to 4 damage absorption.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNStaffOfTeleportation.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[17] = (Last created quest)
        Set VariableSet RacePickRed = 4
        Set VariableSet UnitypeRed = Exarch
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Redemption (chess) to UniheroRed
        Set VariableSet ChampionRed = Elder Spirit
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[18] = (Last created quest)
        Set VariableSet RacePickBlue = 4
        Set VariableSet UnitypeBlu = Exarch
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Redemption (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Elder Spirit
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Akama
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[8]
  Actions
    Quest - Create a Required quest titled Your Army with the description You lead the Draenei|c00333364Krokul|r (light) - 8hp, 2 move, 1 range, 4 damage, stealths for 1 turn after attacking|c00333364Rangari|r (medium) - 17hp, 3 move, 2 range, 14 damage|c00333364Vindicator|r (heavy) - 30hp, 1 move, 1 range, 22 damage|c00333364Anchorite|r - 11hp, 2 move, 2 range, casts Light of the Naaru, healing allies and burning enemies 2hp every turn over the next 4 turns.Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced draenei can upgrade to |c00FF7F00Sages|r, then |c00FF7F00Elders|r, giving them up to 4 damage absorption.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNStaffOfTeleportation.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[19] = (Last created quest)
        Set VariableSet RacePickRed = 4
        Set VariableSet UnitypeRed = Exarch
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Deathsworn Cunning (chess) to UniheroRed
        Set VariableSet ChampionRed = Shattered Hand Chieftain
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[20] = (Last created quest)
        Set VariableSet RacePickBlue = 4
        Set VariableSet UnitypeBlu = Exarch
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Deathsworn Cunning (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Shattered Hand Chieftain
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection ChoGall
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[9]
  Actions
    Quest - Create a Required quest titled Your Army with the description You manipulate the Shadow-touched|c00333364Pale Orc|r (light) - 4hp, 1-3 move, 1 range, 9 damage|c00333364Ogre|r (heavy) - 21hp, 2 move, 1 range, 10 damage|c00333364Sethekk Slave|r (medium) - 10hp, 3 move, 4 range, 16 damage, can only attack every other turn|c00333364Necrolyte|r - 15hp, 2 move, 3 range, casts Death Pact: deals 10 damage to allies to heal himself to full and raises souls into undead fightersEvery standard Shadow-touched fighter leaves a lingering soul on death.Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced shadow-touched can be initiated into the |c00FF7F003rd Circle|r of the Shadow Council, then the |c00FF7F005th Circle|r, allowing them to leave behind a more robust soul, with greater fighting potential when raised into undeath.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNStaffOfTeleportation.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[21] = (Last created quest)
        Set VariableSet RacePickRed = 5
        Set VariableSet UnitypeRed = Warlord
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Corrupted Blood (chess) to UniheroRed
        Set VariableSet ChampionRed = Shadow Council Assassin
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[22] = (Last created quest)
        Set VariableSet RacePickBlue = 5
        Set VariableSet UnitypeBlu = Warlord
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Corrupted Blood (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Shadow Council Assassin
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Selection Gorefiend
  Events
    Dialog - A dialog button is clicked for DialogHero
  Conditions
    (Clicked dialog button) Equal to ButtonHero[10]
  Actions
    Quest - Create a Required quest titled Your Army with the description You manipulate the Shadow-touched|c00333364Pale Orc|r (light) - 4hp, 1-3 move, 1 range, 9 damage|c00333364Ogre|r (heavy) - 21hp, 2 move, 1 range, 10 damage|c00333364Sethekk Slave|r (medium) - 10hp, 3 move, 4 range, 16 damage, can only attack every other turn|c00333364Necrolyte|r - 15hp, 2 move, 3 range, casts Death Pact: deals 10 damage to allies to heal himself to full and raises souls into undead fightersEvery standard Shadow-touched fighter leaves a lingering soul on death.Light units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced shadow-touched can be initiated into the |c00FF7F003rd Circle|r of the Shadow Council, then the |c00FF7F005th Circle|r, allowing them to leave behind a more robust soul, with greater fighting potential when raised into undeath.|c00FF0303Units do not upgrade in Classic mode.|r, using icon path ReplaceableTextures\CommandButtons\BTNStaffOfTeleportation.blp
    Quest - Disable (Last created quest)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
      Then - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[23] = (Last created quest)
        Set VariableSet RacePickRed = 5
        Set VariableSet UnitypeRed = Shadow Councilor
        Set VariableSet tempypoint = (Center of Red_Start <gen>)
        Unit - Create 1.UnitypeRed for Player 1 (Red) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroRed = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Unholy Shield (chess) to UniheroRed
        Set VariableSet ChampionRed = Bleeding Hollow Chieftain
      Else - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Enable (Last created quest)) else do (Do nothing)
        Set VariableSet QUEST[24] = (Last created quest)
        Set VariableSet RacePickBlue = 5
        Set VariableSet UnitypeBlu = Shadow Councilor
        Set VariableSet tempypoint = (Center of Blue_Start <gen>)
        Unit - Create 1.UnitypeBlu for Player 2 (Blue) at tempypoint facing Default building facing degrees
        Set VariableSet UniheroBlu = (Last created unit)
        Custom script: call RemoveLocation (udg_tempypoint)
        Unit - Add Unholy Shield (chess) to UniheroBlu
        Set VariableSet ChampionBlu = Bleeding Hollow Chieftain
    Trigger - Run Mode_Select <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ComputerOpponentBool Equal to True
      Then - Actions
        Trigger - Run AI_Player_Options <gen> (ignoring conditions)
      Else - Actions
Mode Select
  Events
  Conditions
    UniheroBlu Not equal to No unit
    UniheroRed Not equal to No unit
    ComputerOpponentBool Equal to False
  Actions
    Dialog - Clear DialogSelection
    Dialog - Change the title of DialogSelection to Choose Game Mode
    Dialog - Create a dialog button for DialogSelection labelled |c0096FF96Classic|r
    Set VariableSet Button[1] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c00008080Tower Tactics|r
    Set VariableSet Button[8] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c0000FF00Prizefight|r
    Set VariableSet Button[2] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c00006400Mercenary|r
    Set VariableSet Button[3] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c006969FFConquest|r
    Set VariableSet Button[5] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c000000FFPayload|r
    Set VariableSet Button[6] = (Last created dialog Button)
    Dialog - Create a dialog button for DialogSelection labelled |c00D4AF37Deathmatch|r
    Set VariableSet Button[7] = (Last created dialog Button)
    -------- -------------------- --------
    Dialog - Show DialogSelection for Player 1 (Red)
    Trigger - Turn on Mode_explanation <gen>
Mode explanation
  Events
    Dialog - A dialog button is clicked for DialogSelection
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Dialog - Clear DialogVerify
    Dialog - Change the title of DialogVerify to Are you sure?
    Trigger - Turn on Dialog_Loop <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to Button[1]
      Then - Actions
        Quest - Display to (All players) the Quest Update message: |c0096FF96Classic|r mode pits two players against each other with no spells, items, or special effects - pure strategy.
        Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
        Set VariableSet ButtonClass = (Last created dialog Button)
        Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Clicked dialog button) Equal to Button[2]
          Then - Actions
            Quest - Display to (All players) the Quest Update message: In a |c0000FF00Prizefight|r, players are gifted every turn with a random item that can be used to wreak havoc on the playing field. Use them quickly - or they might fall into your opponent's hands!
            Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
            Set VariableSet ButtonPrize = (Last created dialog Button)
            Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Clicked dialog button) Equal to Button[3]
              Then - Actions
                Quest - Display to (All players) the Quest Update message: A |c00006400Mercenary|r game awards players with a small amount of currency each turn, and a bounty for each enemy unit eliminated. Use this to buy special spell items from shops!
                Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
                Set VariableSet ButtonMerc = (Last created dialog Button)
                Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Clicked dialog button) Equal to Button[5]
                  Then - Actions
                    Quest - Display to (All players) the Quest Update message: The goal of |c006969FFConquest|r is to control a majority of the board by moving your pieces onto unclaimed and enemy squares.
                    Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
                    Set VariableSet ButtonConquest = (Last created dialog Button)
                    Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        (Clicked dialog button) Equal to Button[6]
                      Then - Actions
                        Quest - Display to (All players) the Quest Update message: You control a slow and fragile Caravan bearing a valuable |c000000FFPayload|r. Be the first player to deliver your payload to the center of the board.
                        Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
                        Set VariableSet ButtonPayload = (Last created dialog Button)
                        Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
                      Else - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                          If - Conditions
                            (Clicked dialog button) Equal to Button[7]
                          Then - Actions
                            Quest - Display to (All players) the Quest Update message: A |c00D4AF37Deathmatch|r pits two powerful Champions and their armies against each other. Assassinate the enemy champion to win.
                            Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
                            Set VariableSet ButtonDeathmatch = (Last created dialog Button)
                            Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
                          Else - Actions
                            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                              If - Conditions
                                (Clicked dialog button) Equal to Button[8]
                              Then - Actions
                                Quest - Display to (All players) the Quest Update message: In |c00008080Tower Tactics|r players build their own custom armies - then go to war against the enemy Tower!
                                Dialog - Create a dialog button for DialogVerify labelled |c00FFFF00Start the Game!|r
                                Set VariableSet ButtonTactics = (Last created dialog Button)
                                Trigger - Run Back_to_Mode_Selection <gen> (ignoring conditions)
                              Else - Actions
Back to Mode Selection
  Events
  Conditions
  Actions
    Dialog - Create a dialog button for DialogVerify labelled |c00FF0000Back to Mode Selection|r
    Set VariableSet Button[9] = (Last created dialog Button)
    Dialog - Show DialogVerify for Player 1 (Red)
Dialog Loop
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to Button[9]
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run Mode_Select <gen> (ignoring conditions)
Classic~
GameMode=1
Initiate Classic
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonClass
  Actions
    Set VariableSet GameMode = 1
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c0096FF96Classic|r with the description The object of the game is to eliminate all your opponent's pieces! Each turn, players can move one piece, and perform a targetting action on one piece., using icon path ReplaceableTextures\PassiveButtons\PASBTNStatUp.blp
    Set VariableSet QUEST[25] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Remove_Hero_Abilities <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Classic mode!
Prizefight~
GameMode=2
Initiate Prizefight
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonPrize
  Actions
    Set VariableSet GameMode = 2
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c0000FF00Prizefight|r with the description Your hero commands an army of minions, his 'game pieces,' in a quest to obliterate the enemy. Each turn, you may move one piece and attack or heal with one piece. Your hero will be rewarded with a random item every turn - use these trinkets and your hero's special ability to your advantage on the battlefield!, using icon path ReplaceableTextures\WorldEditUI\Editor-Random-Item.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Prizes with the description Heroes generate 10 mana and earn one random prize every turn. Some prizes benefit the hero, some place unique buffs on game pieces, some allow you to place hazards and obstacles on the battlefield, and some allow you to build special 'wards' in the pens on either side of the game board., using icon path ReplaceableTextures\CommandButtons\BTNHealthStone.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Prizefight mode!
Mercenary~
GameMode=3
Initiate Mercenary
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonMerc
  Actions
    Set VariableSet GameMode = 3
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempypoint = (Center of Red_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Red_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempygroup = (Units of type Gold Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add 20 Mana to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Barricade to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Landmine to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mystic Shield to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Net to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Salve to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Strength Potion to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Earthbind Totem to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    Set VariableSet tempygroup = (Units of type Wood Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Fel Element to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Impaler Egg to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mana Dispeller to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Meteoric Beacon to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Searing Caldera to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Sign of Resurrection to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Soothing Fount to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Wand of Air to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c00006400Mercenary|r with the description Your lead an army of mercs - your 'game pieces.' Each turn, you can move one piece and attack/heal with one piece. Kill enemies to collect bounties, and use your currency in the shops to buy items to turn the tide of battle in your favor!, using icon path ReplaceableTextures\CommandButtons\BTNChestOfGold.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Contracts with the description Your pieces collect bounties on units they kill - 9 wood per weak unit, 11 wood per support unit, 14 wood per medium unit, and 21 wood per strong unit (none for summoned units). Your hero also collects a per diem of 10 gold and 5 mana each turn. Use this currency to buy magic items from the wood shop and gold shop., using icon path ReplaceableTextures\CommandButtons\BTNSpy.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Mercenary mode!
AI~
GameMode=4
Initiate AI match
  Events
  Conditions
  Actions
    Set VariableSet GameMode = 4
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled Your Army with the description You direct a confluence of elementals|c00333364Solid|r (medium) - 1 move, 1 range, 5 damage|c00333364Squall|r (light) - 2 move, 3 range, 7 damage|c00333364Cinder|r (heavy) - 2 move, 2 range, 19 damage|c00333364Spray|r - 2 move, 1 range, 5 healingLight units do +2 bonus damage against heavy units, but -2 against medium units.Medium units do +2 against light, -2 against heavy.Heavy units do +2 against medium, -2 against light.Your units gain experience whenever they deliver a killing blow. Experienced elementals can upgrade to |c00FF7F00Furies|r, then |c00FF7F00Lords|r, giving them up to +2 bonus attack range., using icon path ReplaceableTextures\CommandButtons\BTNNightElfCaptureFlag.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Required quest titled AI Mode with the description This is an AI match. Use this to familiarize yourself with the basic gameplay of Zuluhed's Challenge., using icon path ReplaceableTextures\PassiveButtons\PASBTNStatUp.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Remove_Hero_Abilities <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
Classic~
GameMode=1
Initiate Conquest
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonConquest
  Actions
    Set VariableSet GameMode = 5
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet ConquestInteger = 28
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempypoint = (Center of Red_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Red_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempygroup = (Units of type Gold Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add 20 Mana to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Barricade to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Landmine to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mystic Shield to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Net to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Salve to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Strength Potion to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Earthbind Totem to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    Set VariableSet tempygroup = (Units of type Wood Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Impaler Egg to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mana Dispeller to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Meteoric Beacon to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Primal Seedling to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Searing Caldera to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Sign of Resurrection to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Soothing Fount to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Wand of Air to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c006969FFConquest|r with the description (Move your units onto squares to gain control of them - until your enemy lands on that square! The first player to control + ((String(ConquestInteger)) + spaces wins.)), using icon path ReplaceableTextures\CommandButtons\BTNControlMagic.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Resources with the description Four resource nodes are located on the map. In order to collect recources (to use in shops), the node must be occupied by one of your units. Players collect 3 gold and 2 lumber every turn for every node they control., using icon path ReplaceableTextures\CommandButtons\BTNBundleOfLumber.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Player - Set PlayerRed.Current gold to 20
    Player - Set PlayerBlue.Current gold to 20
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Conquest mode!
Classic~
GameMode=1
Initiate Payload
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonPayload
  Actions
    Set VariableSet GameMode = 6
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet Thing = Target
    Set VariableSet tempypoint = (Center of Chess4A_Copy_4 <gen>)
    Trigger - Run Gen_add_Thing <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess5A_Copy_5 <gen>)
    Trigger - Run Gen_add_Thing <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempypoint = (Center of Red_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Red_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempygroup = (Units of type Gold Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Barricade to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Landmine to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Net to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Salve to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Strength Potion to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Enfeebling Poison to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Earthbind Totem to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    Set VariableSet tempygroup = (Units of type Wood Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Impaler Egg to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Primal Seedling to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Meteoric Beacon to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Fel Element to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Searing Caldera to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Soothing Fount to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c000000FFPayload|r with the description You have a simple goal - move your Caravan to one of the glowing targets at the center of the board. Your caravan is fragile and slow, but if it dies, it will resurrect at its starting square in your rear rank., using icon path ReplaceableTextures\CommandButtons\BTNRiderlessKodo.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Resources with the description You collect a small amount of gold and lumber every turn, which can be spent in the Gold and Lumber shops for powerful magic items. Killing the enemy caravan - directly or indirectly - rewards a larger cache of resources., using icon path ReplaceableTextures\CommandButtons\BTNBundleOfLumber.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Player - Set PlayerRed.Current gold to ((PlayerRed Current gold) + 20)
    Player - Set PlayerBlue.Current gold to ((PlayerBlue Current gold) + 20)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Payload mode!
Classic~
GameMode=1
Initiate Deathmatch
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonDeathmatch
  Actions
    Set VariableSet GameMode = 7
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempypoint = (Center of Red_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Red_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempygroup = (Units of type Gold Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Barricade to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Landmine to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Net to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Salve to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Enfeebling Poison to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Earthbind Totem to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mystic Shield to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add 20 Mana to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    Set VariableSet tempygroup = (Units of type Wood Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Impaler Egg to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Primal Seedling to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Searing Caldera to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Soothing Fount to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Mana Dispeller to (Picked unit) with 1 in stock and a max stock of 1
        Neutral Building - Add Wand of Air to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c000000FFDeathmatch|r with the description Each army has a powerful champion at its head, immune to most magical effects and employing a powerful passive spell. Slay the enemy champion while protecting your own!, using icon path ReplaceableTextures\CommandButtons\BTNUndeadShrine.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Pickups with the description There are a finite number of resources on the map, and only your champion can pick these up. Use gold and wood to buy magical items from the shops., using icon path ReplaceableTextures\CommandButtons\BTNBundleOfLumber.blp
    Set VariableSet QUEST[26] = (Last created quest)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Player - Set PlayerRed.Current gold to ((PlayerRed Current gold) + 0)
    Player - Set PlayerBlue.Current gold to ((PlayerBlue Current gold) + 0)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Deathmatch mode!
Classic~
GameMode=1
Initiate Tower Tactics
  Events
    Dialog - A dialog button is clicked for DialogVerify
  Conditions
    (Clicked dialog button) Equal to ButtonTactics
  Actions
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet GameMode = 8
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempypoint = (Center of Red_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Goldshop <gen>)
    Unit - Create 1.Gold Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Red_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 1 (Red) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Set VariableSet tempypoint = (Center of Blue_Woodshop <gen>)
    Unit - Create 1.Wood Shop for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Set VariableSet tempygroup = (Units of type Gold Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Elemental Cinder to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Elemental Squall to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Voidwalker to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Felhound to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Raider to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Spearman to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Vindicator to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Rangari to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Sethekk Slave to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Ogre to (Picked unit) with 8 in stock and a max stock of 8
        Neutral Building - Add Weak and Support Units to (Picked unit) with 1 in stock and a max stock of 1
    Custom script: call DestroyGroup (udg_tempygroup)
    Set VariableSet tempygroup = (Units of type Wood Shop)
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Add Sell Items to (Picked unit)
        Neutral Building - Add Advanced Damage to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Experienced Defense to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Far Casting to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Fate to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Last Stand to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Necromancy to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Parry to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Pillage to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Swift Movement to (Picked unit) with 4 in stock and a max stock of 4
        Neutral Building - Add Vampiric Blade to (Picked unit) with 4 in stock and a max stock of 4
    Custom script: call DestroyGroup (udg_tempygroup)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Quest - Create a Required quest titled |c000000FFTowerTactics|r with the description You have 5 minutes at the start of the game to buy and place your army units into your first two ranks. Move your hero to his team's Circle of Power when you are ready.Your objective is to destroy the enemy team's tower. Each turn you can perform one move and one target action, and you can buy and place more units any time. Additionally, caster units have spells that can be cast any time during your turn - as long as they have mana., using icon path ReplaceableTextures\CommandButtons\BTNHumanWatchTower.blp
    Set VariableSet QUEST[25] = (Last created quest)
    Quest - Create a Optional quest titled Harvesting with the description Gold and Lumber nodes can be found at the sides of the board. Purchase peons and send them to these nodes - they will automatically gather at the end of every turn they occupy a node. Gold can be used to purchase more units, while lumber can be used to buy Poweer-ups (only one type of power-up may be applied per unit).10 per round/gold.6 per round/lumber, using icon path ReplaceableTextures\CommandButtons\BTNReturnGoods.blp
    Set VariableSet QUEST[26] = (Last created quest)
    For each (Integer intrando) from 5 to 24, do (Actions)
      Loop - Actions
        Quest - Destroy QUEST[intrando]
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Player - Set PlayerRed.Current gold to ((PlayerRed Current gold) + 550)
    Player - Set PlayerBlue.Current gold to ((PlayerBlue Current gold) + 550)
    -------- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------
    Cinematic - Fade in over 2 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 2 seconds
    Quest - Display to (All players) the Simple Hint message: Check info tab to see the rules for Tower Tactics mode!
Remove Hero Abilities
  Events
  Conditions
  Actions
    Set VariableSet tempygroup = (Units in (Playable map area) matching (((Matching unit) is A Hero) Equal to True))
    Unit Group - Pick every unit in tempygroup and do (Actions)
      Loop - Actions
        Unit - Remove Deathsworn Cunning (chess) from (Picked unit)
        Unit - Remove Fel Aging (chess) from (Picked unit)
        Unit - Remove Lava Lash (chess) from (Picked unit)
        Unit - Remove Redemption (chess) from (Picked unit)
        Unit - Remove Volcano (chess) from (Picked unit)
        Unit - Remove Dominate (current) from (Picked unit)
        Unit - Remove Portal (current) from (Picked unit)
        Unit - Remove Spirit Drake (current) from (Picked unit)
        Unit - Remove Corrupted Blood (chess) from (Picked unit)
        Unit - Remove Unholy Shield (chess) from (Picked unit)
    Custom script: call DestroyGroup (udg_tempygroup)
Set Up Computer Player
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            (Player 2 (Blue) slot status) Equal to Is unused
            (Player 2 (Blue) controller) Equal to Computer
      Then - Actions
        Set VariableSet ComputerOpponentBool = True
        -------- run grid setups --------
        Trigger - Run Chess_Grid_Setup <gen> (ignoring conditions)
      Else - Actions
        -------- run dialogs --------
        Trigger - Run Hero_Select <gen> (ignoring conditions)
Skip Button
Camera Button
Ability Variables
Player Variables
Alliances
Player Color
Visibility
"Level the Playing Field"
Setup Variables n Player settings
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- --------Create Skip, Camera Button-------------- --------
    Set VariableSet tempypoint = (Center of Skip <gen>)
    Unit - Create 1.Skip Turn for Neutral Passive at tempypoint facing Default building facing degrees
    Set VariableSet SkipUnit = (Last created unit)
    Unit - Create 1.Switch View for Player 1 (Red) at tempypoint facing Default building facing degrees
    Unit - Create 1.Switch View for Player 2 (Blue) at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    -------- ******************* --------
    -------- ******************* --------
    -------- --------Create Additional Variables-------------- --------
    -------- ******************* --------
    Set VariableSet AbilityAction = Target (chess alternative)
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet ChessRedPiecePlayer = Player 8 (Pink)
    Set VariableSet ChessBluPiecesPlayer = Player 9 (Gray)
    Set VariableSet PlayerRed = Player 1 (Red)
    If (ComputerOpponentBool Equal to True) then do (Set VariableSet PlayerBlue = Player 4 (Purple)) else do (Set VariableSet PlayerBlue = Player 2 (Blue))
    Player Group - Add PlayerRed to GroupAlly
    Player Group - Add ChessRedPiecePlayer to GroupAlly
    Player Group - Add PlayerBlue to GroupEnemy
    Player Group - Add ChessBluPiecesPlayer to GroupEnemy
    Set VariableSet AbGruPlayer[1] = PlayerRed
    Set VariableSet AbGruPlayer[2] = PlayerBlue
    Set VariableSet AbGruAlly[1] = ChessRedPiecePlayer
    Set VariableSet AbGruAlly[2] = ChessBluPiecesPlayer
    Set VariableSet AbGruAngle[1] = 90.00
    Set VariableSet AbGruAngle[2] = 270.00
    Set VariableSet AbGruEnemyPiece[1] = ChessBluePieces
    Set VariableSet AbGruEnemyPiece[2] = ChessRedPieces
    Set VariableSet AbGruAllyPiece[1] = ChessRedPieces
    Set VariableSet AbGruAllyPiece[2] = ChessBluePieces
    -------- ******************* --------
    -------- ******************* --------
    -------- PLAYER SETTINGS --------
    -------- ******************* --------
    Player - Make PlayerRed treat ChessRedPiecePlayer as an Ally with shared vision
    Player - Make ChessRedPiecePlayer treat PlayerRed as an Ally with shared vision
    Player - Make PlayerBlue treat ChessBluPiecesPlayer as an Ally with shared vision
    Player - Make ChessBluPiecesPlayer treat PlayerBlue as an Ally with shared vision
    Player - Make Player 3 (Teal) treat PlayerBlue as an Neutral
    Player - Make Player 3 (Teal) treat PlayerRed as an Neutral
    Player - Make Player 3 (Teal) treat ChessRedPiecePlayer as an Neutral
    Player - Make Player 3 (Teal) treat ChessBluPiecesPlayer as an Neutral
    Player - Make ChessRedPiecePlayer treat Player 3 (Teal) as an Neutral
    Player - Make ChessBluPiecesPlayer treat Player 3 (Teal) as an Neutral
    Player - Make PlayerBlue treat Player 3 (Teal) as an Neutral
    Player - Make PlayerRed treat Player 3 (Teal) as an Neutral
    Player - Make PlayerRed treat PlayerBlue as an Enemy
    Player - Make ChessRedPiecePlayer treat PlayerBlue as an Enemy
    Player - Make PlayerBlue treat PlayerRed as an Enemy
    Player - Make ChessBluPiecesPlayer treat PlayerRed as an Enemy
    Player - Hide Player 3 (Teal) in the post-game score screen
    -------- ================ --------
    Player Group - Pick every player in GroupAlly and do (Actions)
      Loop - Actions
        Player - Change color of (Picked player) to Red, Changing color of existing units
    Player Group - Pick every player in GroupEnemy and do (Actions)
      Loop - Actions
        Player - Change color of (Picked player) to Blue, Changing color of existing units
    -------- game settings --------
    Game - Set the time of day to 12
    Game - Turn the day/night cycle Off
    Game - Set Lock alliance settings to On
    Game - Set Lock resource trading to On
    -------- visibility --------
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility across (Playable map area)
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility across (Playable map area)
    -------- ================ --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Not equal to 1
        GameMode Not equal to 4
        GameMode Not equal to 6
        GameMode Not equal to 8
      Then - Actions
        Unit - Add Level the Playing Field to UniheroBlu
        Unit - Add Level the Playing Field to UniheroRed
      Else - Actions
Create Indicator at each square. Save handle of rect as 1 of indicator unit tag, and save indicator handle as X of Y.
Create pieces. If within n distance of indicator, save indicator to occupied slots group.
On move selection, unhide indicators of X+/- range, Y +/- range in hashtable, add to visible indicator group. Remove all units that are in occupied slots group.
Move command given, if not in 0 of indicator unit tag for every unit in visible indicator group, void.
For valid move command, get indicator of current gamepiece position, remove from ocupied slots. Move piece to new position, get nearest indicator, add to occupied slots, hide all indicators.
On attack selection, nested for every integer X range, Y range in hashtable, if handle is part of occupied group, and unit of appropriate owner (allied for heal, enemy all else) in range of indicator, unhide indicator, add unit to possible target group. Clear group on selection of new unit.
On attack, check if unit in possible target group, if so play animation, apply damage.


======
======
======
======
Player 1 = Red User
Player 2 = Blue User
Player 3 = Dummy Units/Board values
Player 8 = Red game pieces
Player 9 = Blue game pieces

Player 4 = Computer opponent
Chess Grid Setup
  Events
  Conditions
  Actions
    Hashtable - Create a hashtable
    Set VariableSet ChessSpaceHash = (Last created hashtable)
    Hashtable - Create a hashtable
    Set VariableSet ChessHashX = (Last created hashtable)
    Hashtable - Create a hashtable
    Set VariableSet ChessHashY = (Last created hashtable)
    Hashtable - Create a hashtable
    Set VariableSet HashAbilities = (Last created hashtable)
    Set VariableSet IntegerCounting = 1
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Setup_Variables_n_Player_settings <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- -----------Define Grid---------------- --------
    -------- ******************* --------
    -------- ROW 1 --------
    Set VariableSet IntegerY = 1
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess1A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess1A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 2 --------
    Set VariableSet IntegerY = 2
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess2A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess2A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 3 --------
    Set VariableSet IntegerY = 3
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess3A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess3A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 4 --------
    Set VariableSet IntegerY = 4
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess4A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess4A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 5 --------
    Set VariableSet IntegerY = 5
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess5A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess5A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 6 --------
    Set VariableSet IntegerY = 6
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess6A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess6A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 7 --------
    Set VariableSet IntegerY = 7
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess7A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess7A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ROW 8 --------
    Set VariableSet IntegerY = 8
    Set VariableSet IntegerX = 1
    Set VariableSet tempyregion = Chess8A <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_2 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_3 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_4 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_5 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_6 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_7 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    Set VariableSet tempyregion = Chess8A_Copy_8 <gen>
    Trigger - Run chess_Hash_Entry <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- -----------Create Game Pieces---------------- --------
    -------- ******************* --------
    Trigger - Run Chess_Piece_Setup <gen> (ignoring conditions)
For ChessSpaceHash~

0 of (Key(game piece)) = Handle of Indicator for corresponding square
0 of (Key(indicator)) = Handle of rect(region) for indicator at corresponding square
1 of (Key(indicator)) = Handle of game piece for corresponding indicator
0 of (Key(rect/region)) = Handle of Indicator for corresponding square
X of Y = Handle of indicator at coordinate X,Y
chess Hash Entry
  Events
  Conditions
  Actions
    Set VariableSet tempypoint = (Center of tempyregion)
    Unit - Create 1.Indicator for Neutral Passive at tempypoint facing Default building facing degrees
    Custom script: call RemoveLocation (udg_tempypoint)
    Hashtable - Save Handle Oftempyregion as 0 of (Key (Last created unit).) in ChessSpaceHash.
    Custom script: set udg_hashkey = GetHandleId(udg_tempyregion)
    Hashtable - Save Handle Of(Last created unit) as 0 of hashkey in ChessSpaceHash.
    Hashtable - Save Handle Of(Last created unit) as IntegerX of IntegerY in ChessSpaceHash.
    Hashtable - Save IntegerY as 0 of (Key (Last created unit).) in ChessHashY.
    Hashtable - Save IntegerX as 0 of (Key (Last created unit).) in ChessHashX.
    Set VariableSet RegionSquares[IntegerCounting] = tempyregion
    -------- =====temp status text (DELETE)===== --------
    Set VariableSet DisplayValue = (Load 0 of (Key (Last created unit).) from ChessHashX.)
    Quest - Display to (All players) the Simple Hint message: (((String(IntegerX)) + =X, ) + (((String(IntegerX)) + =Y, ) + ((String((Load 0 of (Key (Last created unit).) from ChessHashX.))) + is X hash value)))
    Quest - Display to (All players) the Simple Hint message: ((String(DisplayValue)) + ( is Y value for + (Name of (Last created unit))))
    Quest - Display to (All players) the Simple Hint message: ((Region + ((String(IntegerCounting)) + - )) + ((String((Height of RegionSquares[IntegerCounting]))) + (height, + ((String((Center X of RegionSquares[IntegerCounting]))) + center X))))
    -------- ========= --------
    Set VariableSet IntegerX = (IntegerX + 1)
    Set VariableSet IntegerCounting = (IntegerCounting + 1)
Pieces given from outside to inside, left to right
Chess Piece Setup
  Events
  Conditions
  Actions
    -------- ALTERNATIVE FOR TOWER TACTICS --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 8
      Then - Actions
        Trigger - Run Default_Rules <gen> (ignoring conditions)
        Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
        Skip remaining actions
      Else - Actions
    -------- ~ --------
    -------- ~ --------
    -------- -----------Create Game Pieces---------------- --------
    -------- ~ --------
    -------- ~ --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RacePickRed Equal to 1
      Then - Actions
        Trigger - Run Element_Piece_Red_Setup <gen> (ignoring conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RacePickRed Equal to 2
          Then - Actions
            Trigger - Run Demon_Piece_Red_Setup <gen> (ignoring conditions)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                RacePickRed Equal to 3
              Then - Actions
                Trigger - Run Orc_Piece_Red_Setup <gen> (ignoring conditions)
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    RacePickRed Equal to 4
                  Then - Actions
                    Trigger - Run Draenei_Piece_Red_Setup <gen> (ignoring conditions)
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        RacePickRed Equal to 5
                      Then - Actions
                        Trigger - Run Shadow_Piece_Red_Setup <gen> (ignoring conditions)
                      Else - Actions
    -------- ~ --------
    -------- ~ --------
    -------- -------------------------------- --------
    -------- -------------------------------- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RacePickBlue Equal to 1
      Then - Actions
        Trigger - Run Element_Piece_Blu_Setup <gen> (ignoring conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RacePickBlue Equal to 2
          Then - Actions
            Trigger - Run Demon_Piece_Blu_Setup <gen> (ignoring conditions)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                RacePickBlue Equal to 3
              Then - Actions
                Trigger - Run Orc_Piece_Blu_Setup <gen> (ignoring conditions)
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    RacePickBlue Equal to 4
                  Then - Actions
                    Trigger - Run Draenei_Piece_Blu_Setup <gen> (ignoring conditions)
                  Else - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        RacePickBlue Equal to 5
                      Then - Actions
                        Trigger - Run Shadow_Piece_Blu_Setup <gen> (ignoring conditions)
                      Else - Actions
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Default_Rules <gen> (ignoring conditions)
For ChessSpaceHash~

0 of (Key(game piece)) = Handle of Indicator for corresponding square
0 of (Key(indicator)) = Handle of rect(region) for indicator at corresponding square
1 of (Key(indicator)) = Handle of game piece for corresponding indicator
0 of (Key(rect/region)) = Handle of Indicator for corresponding square
chess piece hash entry
  Events
  Conditions
  Actions
    Unit - Create 1.CurrentPiece for CurrentPlayer at tempypoint facing CurrentAngle degrees
    -------- ----- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        CurrentPlayer Equal to ChessRedPiecePlayer
      Then - Actions
        If (GetLocalPlayer Equal to Player 2 (Blue)) then do (Change (Last created unit)'s vertex coloring to (100%, 50.00%, 50.00%) with 0.00% transparency) else do (Do nothing)
      Else - Actions
        If (GetLocalPlayer Equal to Player 1 (Red)) then do (Change (Last created unit)'s vertex coloring to (50.00%, 50.00%, 100.00%) with 0.00% transparency) else do (Do nothing)
    -------- ----- --------
    Unit Group - Add (Last created unit) to currentgroup
    Set VariableSet tempygroup = (Units within 180.00 of tempypoint matching ((Unit-type of (Matching unit)) Equal to Indicator).)
    Set VariableSet tempyunit = (Random unit from tempygroup)
    Unit Group - Add tempyunit to GrpChessOccupied
    Hashtable - Save Handle Oftempyunit as 0 of (Key (Last created unit).) in ChessSpaceHash.
    Custom script: set udg_hashkey = GetHandleId(udg_tempyunit)
    Hashtable - Save Handle Of(Last created unit) as 1 of hashkey in ChessSpaceHash.
    -------- =====temp status text (DELETE)===== --------
    Custom script: set udg_hashkey = GetHandleId(udg_tempyunit)
    Quest - Display to (All players) the Simple Hint message: ((Name of tempyunit) + ( demarcates + ((Name of (Last created unit)) + ( at + (((String((Load 0 of hashkey from ChessHashX.))) + , ) + (String((Load 0 of hashkey from ChessHashY.))))))))
    -------- ========= --------
    Custom script: call RemoveLocation (udg_tempypoint)
    Custom script: call DestroyGroup (udg_tempygroup)
Default Rules
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) matching (((Matching unit) is A Hero) Equal to True)) and do (Actions)
      Loop - Actions
        Hero - Disable experience gain for (Picked unit).
    -------- ================ --------
    -------- GENERAL RULES --------
    Quest - Create a Required quest titled Movement with the description The first phase of a player's turn is the 'move' phase. Select a piece to see all valid destinations for that unit, and use the 'move' ability to move to the target square. |cffaa7777Press the 'Skip' button to skip your move action and go directly to the 'attack' phase.|r, using icon path ReplaceableTextures\CommandButtons\BTNBoots.blp
    Set VariableSet QUEST[1] = (Last created quest)
    Quest - Create a Required quest titled Targeting with the description The second phase of a player's turn is the 'attack' phase. Most units damage enemy pieces, but each player also has two 'support' units who perform a special ability. Select a piece to see all valid targets, and use the 'target' ability to attack. |cffaa7777Press the 'Skip' button to skip to the next player's turn.|r, using icon path ReplaceableTextures\CommandButtons\BTNMarksmanship.blp
    Set VariableSet QUEST[2] = (Last created quest)
    Quest - Create a Optional quest titled Status Board with the description The leaderboard displays the current player turn, phase, and remaining units for each player. The 'phase' indicator also shows how many seconds remain for that phase. If time runs out, that phase will be automatically skipped - so act quickly!|c00FF0000Type 'forfeit' at any time to concede the game to your opponent.|r, using icon path ReplaceableTextures\CommandButtons\BTNSorceressMaster.blp
    Set VariableSet QUEST[3] = (Last created quest)
    Quest - Create a Optional quest titled Credits with the description models made by-Ramza-------ImpHappyTauren-------LavaSuPa--------Magma ElementalGrendel-------Necromagusalfredx_sotn-------Air Elemental Mc !-------Fire ElementalTauer-------Guldan, Doomhammer, Blackhand, Garona, ChoGallStefan.K-------Hero Zuluhed, Prophet Velen, DrakaHayate-------PitfallUgoUgo-------Shadow AssaultShyrony-------Spirit Dragon MissileKet---------------KotoBeast TowerRadagast-------Grunt SpearthrowerUjimasaHojo-------Raider DerivativesJetFangInferno---Grand Auras, Sand ExplosionCallahan-------Lightning StrikeIllidan(evil)X-------Ion Cannon BeamChampara Bros------Healing TouchPower------Harvest ManaSellenisko------Draenei HuntressHawkwing------Draenei LuminaryJesusHipster, PROXY------AkamaHerrDave------Orc SlasherFreddyK------Orc Veteran, Dark SoldierGeneral Frank------General OrcCavman------Arakkoa SageNightmare------Dragon Slayer skinMurlocologist------Zuluhed IconGhostThruster------Draenei IconsSigelang------Sin'dorei3000------CRAZYRUSSIAN------Additional IconsAdditional assets by BlizzardAlpha Playtesting by Wareditor & Nathra, using icon path ReplaceableTextures\CommandButtons\BTNSelectHeroOff.blp
    Set VariableSet QUEST[4] = (Last created quest)
Set Up the Game
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- HIDE INDICATORS, FINAL SETUP --------
    -------- ******************* --------
    Set VariableSet GrpChessIndicators = (Units of type Indicator)
    Unit Group - Pick every unit in GrpChessIndicators and do (Hide (Picked unit))
    -------- ******************* --------
    -------- ******************* --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 6
      Then - Actions
        Unit Group - Add (Load 1 of 8 in ChessSpaceHash.) to PayloadStartIndicators
        Unit Group - Add (Load 8 of 1 in ChessSpaceHash.) to PayloadStartIndicators
      Else - Actions
    -------- ******************* --------
    -------- **********Create Leaderboard********* --------
    Leaderboard - Create a leaderboard for (All players) titled
    Set VariableSet TurnBoard = (Last created leaderboard)
    Set VariableSet BoardBluePieces = (Number of units in ChessBluePieces)
    Set VariableSet BoardRedPieces = (Number of units in ChessRedPieces)
    Leaderboard - Add Player 3 (Teal) to TurnBoard with label Phase 1 - Move and value 0
    Leaderboard - Add Player 1 (Red) to TurnBoard with label (Proper name of UniheroRed) and value BoardRedPieces
    Leaderboard - Add Player 2 (Blue) to TurnBoard with label (Proper name of UniheroBlu) and value BoardBluePieces
    Leaderboard - Show TurnBoard
    -------- ******************* --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 5
      Then - Actions
        Trigger - Run Conquest_Setup <gen> (ignoring conditions)
      Else - Actions
    -------- ******************* --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 7
      Then - Actions
        For each (Integer intrando) from 1 to 64, do (Actions)
          Loop - Actions
            Set VariableSet tempypoint = (Center of RegionSquares[intrando])
            Item - Create Gold Coin at tempypoint
            Custom script: call RemoveLocation (udg_tempypoint)
        For each (Integer intrando) from 25 to 40, do (Actions)
          Loop - Actions
            Set VariableSet tempypoint = (Center of RegionSquares[intrando])
            Item - Create Small Bundle of Lumber at tempypoint
            Custom script: call RemoveLocation (udg_tempypoint)
      Else - Actions
    -------- ******************* --------
    Sound - Stop music After fading
    Sound - Play Shadowmoon_Valley_small <gen>
    Sound - Set the music list to Shadowmoon_Valley_small <gen>, starting with song 0
    -------- ******************* --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 8
      Then - Actions
        Trigger - Run Tower_Tactics_Setup <gen> (ignoring conditions)
      Else - Actions
        Trigger - Run Game_Start <gen> (ignoring conditions)
Game Start
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Replay Equal to False
      Then - Actions
        Set VariableSet intrando2 = (Random integer number between 10 and 1000)
      Else - Actions
        If (StartedWithRed Equal to False) then do (Set VariableSet intrando2 = 12) else do (Set VariableSet intrando2 = 11)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (intrando2 mod 2) Equal to 1
      Then - Actions
        Set VariableSet StartedWithRed = False
        Trigger - Run Blue_Player_Turn_Setup <gen> (ignoring conditions)
        Unit - Set mana of UniheroRed to 10.00
        If (GameMode Equal to 6) then do (Set PlayerRed.Current gold to ((PlayerRed Current gold) + 5)) else do (Do nothing)
      Else - Actions
        Set VariableSet StartedWithRed = True
        Trigger - Run Red_Player_Turn_Setup <gen> (ignoring conditions)
        Unit - Set mana of UniheroBlu to 10.00
        If (GameMode Equal to 6) then do (Set PlayerBlue.Current gold to ((PlayerBlue Current gold) + 5)) else do (Do nothing)
For new pieces, modify
~Piece Setup triggers
~Chess Death
~Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
~Merc Bounties
Demon Piece Red Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ALLY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessRedPieces
    Set VariableSet CurrentPlayer = ChessRedPiecePlayer
    Set VariableSet CurrentAngle = 90.00
    -------- ******************* --------
    -------- Succubi --------
    Set VariableSet CurrentPiece = Succubus (chess)
    Trigger - Run Layout_Red_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Felhounds --------
    Set VariableSet CurrentPiece = Felhound (chess)
    Trigger - Run Layout_Red_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Voidwalkers --------
    Set VariableSet CurrentPiece = Voidwalker (chess)
    Trigger - Run Layout_Red_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Imps --------
    Set VariableSet CurrentPiece = Imp (chess)
    Trigger - Run Layout_Red_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- -------------------------------- --------
Variables Red Demons, BLue Demons Bool determine whether player using elemental or demon setup

For new pieces, modify
~Piece Setup triggers
~*Chess Death
~*Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
~Merc Bounties
Demon Piece Blu Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ENEMY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessBluePieces
    Set VariableSet CurrentPlayer = ChessBluPiecesPlayer
    Set VariableSet CurrentAngle = 270.00
    -------- ******************* --------
    -------- Succubi --------
    Set VariableSet CurrentPiece = Succubus (chess)
    Trigger - Run Layout_Blu_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Felhounds --------
    Set VariableSet CurrentPiece = Felhound (chess)
    Trigger - Run Layout_Blu_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Voidwalkers --------
    Set VariableSet CurrentPiece = Voidwalker (chess)
    Trigger - Run Layout_Blu_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Imps --------
    Set VariableSet CurrentPiece = Imp (chess)
    Trigger - Run Layout_Blu_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
Element Piece Red Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ALLY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessRedPieces
    Set VariableSet CurrentPlayer = ChessRedPiecePlayer
    Set VariableSet CurrentAngle = 90.00
    -------- ******************* --------
    -------- Sprays --------
    Set VariableSet CurrentPiece = Elemental Spray (chess)
    Trigger - Run Layout_Red_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Squalls --------
    Set VariableSet CurrentPiece = Elemental Squall (chess)
    Trigger - Run Layout_Red_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Cinders --------
    Set VariableSet CurrentPiece = Elemental Cinder (chess)
    Trigger - Run Layout_Red_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Solids --------
    Set VariableSet CurrentPiece = Elemental Solid (chess)
    Trigger - Run Layout_Red_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- -------------------------------- --------
Variables Red Demons, BLue Demons Bool determine whether player using elemental or demon setup

For new pieces, modify
~Piece Setup triggers
~*Chess Death
~*Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
Element Piece Blu Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ENEMY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessBluePieces
    Set VariableSet CurrentPlayer = ChessBluPiecesPlayer
    Set VariableSet CurrentAngle = 270.00
    -------- ******************* --------
    -------- Sprays --------
    Set VariableSet CurrentPiece = Elemental Spray (chess)
    Trigger - Run Layout_Blu_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Squalls --------
    Set VariableSet CurrentPiece = Elemental Squall (chess)
    Trigger - Run Layout_Blu_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Cinders --------
    Set VariableSet CurrentPiece = Elemental Cinder (chess)
    Trigger - Run Layout_Blu_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Solids --------
    Set VariableSet CurrentPiece = Elemental Solid (chess)
    Trigger - Run Layout_Blu_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
Orc Piece Red Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ALLY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessRedPieces
    Set VariableSet CurrentPlayer = ChessRedPiecePlayer
    Set VariableSet CurrentAngle = 90.00
    -------- ******************* --------
    -------- Drummers --------
    Set VariableSet CurrentPiece = Wardrummer (chess)
    Trigger - Run Layout_Red_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Spearmen --------
    Set VariableSet CurrentPiece = Spearman (chess)
    Trigger - Run Layout_Red_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Raiders --------
    Set VariableSet CurrentPiece = Raider (chess)
    Trigger - Run Layout_Red_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Grunts --------
    Set VariableSet CurrentPiece = Grunt (chess)
    Trigger - Run Layout_Red_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- -------------------------------- --------
Variables Red Demons, BLue Demons Bool determine whether player using elemental or demon setup

For new pieces, modify
~Piece Setup triggers
~*Chess Death
~*Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
~Merc Bounties
Orc Piece Blu Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ENEMY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessBluePieces
    Set VariableSet CurrentPlayer = ChessBluPiecesPlayer
    Set VariableSet CurrentAngle = 270.00
    -------- ******************* --------
    -------- Drummers --------
    Set VariableSet CurrentPiece = Wardrummer (chess)
    Trigger - Run Layout_Blu_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Spearmen --------
    Set VariableSet CurrentPiece = Spearman (chess)
    Trigger - Run Layout_Blu_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Raiders --------
    Set VariableSet CurrentPiece = Raider (chess)
    Trigger - Run Layout_Blu_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Grunts --------
    Set VariableSet CurrentPiece = Grunt (chess)
    Trigger - Run Layout_Blu_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
Draenei Piece Red Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ALLY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessRedPieces
    Set VariableSet CurrentPlayer = ChessRedPiecePlayer
    Set VariableSet CurrentAngle = 90.00
    -------- ******************* --------
    -------- Anchorites --------
    Set VariableSet CurrentPiece = Anchorite (chess)
    Trigger - Run Layout_Red_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Rangari --------
    Set VariableSet CurrentPiece = Rangari (chess)
    Trigger - Run Layout_Red_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Vindicators --------
    Set VariableSet CurrentPiece = Vindicator (chess)
    Trigger - Run Layout_Red_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Krokul --------
    Set VariableSet CurrentPiece = Krokul (chess)
    Trigger - Run Layout_Red_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- -------------------------------- --------
Variables Red Demons, BLue Demons Bool determine whether player using elemental or demon setup

For new pieces, modify
~Piece Setup triggers
~*Chess Death
~*Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
~Merc Bounties
Draenei Piece Blu Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ENEMY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessBluePieces
    Set VariableSet CurrentPlayer = ChessBluPiecesPlayer
    Set VariableSet CurrentAngle = 270.00
    -------- ******************* --------
    -------- Anchorites --------
    Set VariableSet CurrentPiece = Anchorite (chess)
    Trigger - Run Layout_Blu_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Rangari --------
    Set VariableSet CurrentPiece = Rangari (chess)
    Trigger - Run Layout_Blu_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Vindicators --------
    Set VariableSet CurrentPiece = Vindicator (chess)
    Trigger - Run Layout_Blu_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Krokul --------
    Set VariableSet CurrentPiece = Krokul (chess)
    Trigger - Run Layout_Blu_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
Shadow Piece Red Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ALLY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessRedPieces
    Set VariableSet CurrentPlayer = ChessRedPiecePlayer
    Set VariableSet CurrentAngle = 90.00
    -------- ******************* --------
    -------- Necrolytes --------
    Set VariableSet CurrentPiece = Necrolyte (chess)
    Trigger - Run Layout_Red_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Ogres --------
    Set VariableSet CurrentPiece = Ogre (chess)
    Trigger - Run Layout_Red_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Sethekk --------
    Set VariableSet CurrentPiece = Sethekk Slave (chess)
    Trigger - Run Layout_Red_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Pale --------
    Set VariableSet CurrentPiece = Pale Orc (chess)
    Trigger - Run Layout_Red_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- -------------------------------- --------
Variables Red Demons, BLue Demons Bool determine whether player using elemental or demon setup

For new pieces, modify
~Piece Setup triggers
~*Chess Death
~*Chess Moves Available
~Chess Move Order
~Chess Attacks Available
~Chess Attack Order
~Merc Bounties
Shadow Piece Blu Setup
  Events
  Conditions
  Actions
    -------- ******************* --------
    -------- ******************* --------
    -------- ENEMY PIECES --------
    -------- ******************* --------
    -------- ******************* --------
    Set VariableSet currentgroup = ChessBluePieces
    Set VariableSet CurrentPlayer = ChessBluPiecesPlayer
    Set VariableSet CurrentAngle = 270.00
    -------- ******************* --------
    -------- Necrolytes --------
    Set VariableSet CurrentPiece = Necrolyte (chess)
    Trigger - Run Layout_Blu_Support <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Ogres --------
    Set VariableSet CurrentPiece = Ogre (chess)
    Trigger - Run Layout_Blu_Avg <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Sethekk --------
    Set VariableSet CurrentPiece = Sethekk Slave (chess)
    Trigger - Run Layout_Blu_Strong_n_Special <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- Pale --------
    Set VariableSet CurrentPiece = Pale Orc (chess)
    Trigger - Run Layout_Blu_Weak <gen> (ignoring conditions)
    -------- ******************* --------
    -------- ******************* --------
    -------- ******************* --------
    Trigger - Run Set_Up_the_Game <gen> (ignoring conditions)
Layout Blu Weak
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            GameMode Equal to 1
            GameMode Equal to 5
            GameMode Equal to 6
      Then - Actions
        Do nothing
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess7A_Copy_8 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            GameMode Equal to 7
          Then - Actions
            Do nothing
          Else - Actions
            Set VariableSet tempypoint = (Center of Chess7A <gen>)
            Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_2 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_3 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_4 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_5 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_6 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess7A_Copy_7 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 4
      Then - Actions
        Set VariableSet tempypoint = (Center of Chess6A <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        Set VariableSet tempypoint = (Center of Chess6A_Copy_8 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
      Else - Actions
Layout Blu Support
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            GameMode Equal to 1
            GameMode Equal to 5
            GameMode Equal to 6
      Then - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_2 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        Set VariableSet tempypoint = (Center of Chess8A_Copy_7 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_8 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            GameMode Equal to 7
          Then - Actions
            Set VariableSet tempypoint = (Center of Chess8A_Copy_2 <gen>)
            Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
          Else - Actions
            Set VariableSet tempypoint = (Center of Chess8A <gen>)
            Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
Layout Blu Avg
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            GameMode Equal to 1
            GameMode Equal to 5
            GameMode Equal to 6
            GameMode Equal to 7
      Then - Actions
        Do nothing
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_2 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        Set VariableSet tempypoint = (Center of Chess8A_Copy_7 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess8A_Copy_3 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 7
      Then - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_7 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_6 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
Layout Blu Strong n Special
  Events
  Conditions
  Actions
    Set VariableSet tempypoint = (Center of Chess8A_Copy_4 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 7
      Then - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_6 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        Set VariableSet CurrentPiece = ChampionBlu
        Set VariableSet tempypoint = (Center of Chess8A_Copy_5 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess8A_Copy_5 <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameMode Equal to 6
      Then - Actions
        Set VariableSet CurrentPiece = Caravan (chess)
        Set VariableSet tempypoint = (Center of Chess8A <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
      Else - Actions
Layout Red Weak
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            GameMode Equal to 1
            GameMode Equal to 4
            GameMode Equal to 5
            GameMode Equal to 6
      Then - Actions
        Do nothing
      Else - Actions
        Set VariableSet tempypoint = (Center of Chess2A <gen>)
        Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            GameMode Equal to 7
          Then - Actions
            Do nothing
          Else - Actions
            Set VariableSet tempypoint = (Center of Chess2A_Copy_8 <gen>)
            Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_2 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_3 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_4 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_5 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_6 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
    Set VariableSet tempypoint = (Center of Chess2A_Copy_7 <gen>)
    Trigger - Run chess_piece_hash_entry <gen> (ignoring conditions)
Layout Red Support
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            GameMode Equal to 1
            GameMode Equal to 4
            GameMode Equal to 5
            GameMode Equal to 6
      Then - Actions
        Set VariableSet tempypoint = (Center of Chess1A_Copy_2 <gen>)