| Trigger: General Time Elapsed Zero
 Events
  Time - Elapsed game time is 0.00 seconds
 Conditions
  ((This trigger) is on) Equal to True
 Actions
  Trigger - Turn off (This trigger)
  -------- Don't need the construction models and they're making townhalls float --------
  Destructible - Pick every destructible in (Playable map area) and do (Actions)
   Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      Or - Any (Conditions) are true
       Conditions
        (Destructible-type of (Picked destructible)) Equal to Building
        (Destructible-type of (Picked destructible)) Equal to Tower
     Then - Actions
      Destructible - Kill (Picked destructible)
      Destructible - Remove (Picked destructible)
     Else - Actions
  -------- Mushroom! --------
  For each (Integer intLoop) from 1 to 12, do (Actions)
   Loop - Actions
    Visibility - Create an initially Enabled visibility modifier for (Player(intLoop)) emitting Visibility across (Playable map area)
    Set visArMap[intLoop] = (Last created visibility modifier)
  Cinematic - Fade out over 0.01 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
  Set sndCine = QuestNew <gen>
  -------- Dialog setups for Race, Range, and Win --------
  Countdown Timer - Create a timer window for timerSelect with title Choose in:
  Set windowSelect = (Last created timer window)
  Countdown Timer - Hide windowSelect
  Dialog - Change the title of dialogRace to Pick your race:
  Dialog - Change the title of dialogRange to Pick your unit type...
  Dialog - Change the title of dialogWin to Victory!
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRace, "|cffffcc00R|r|cffffffffandom|r",82)
  Set buttonArRace[5] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRace, "|cffffcc00S|r|cffffffffatyr|r",83)
  Set buttonArRace[1] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRace, "|cffffcc00A|r|cffffffffrachnid|r",65)
  Set buttonArRace[2] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRace, "|cffffffffS|r|cffffcc00k|r|cffffffffeleton|r",75)
  Set buttonArRace[3] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRace, "|cffffcc00E|r|cfffffffflf|r",69)
  Set buttonArRace[4] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRange, "|cffffcc00R|r|cffffffffandom|r",82)
  Set buttonArRange[3] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRange, "|cffffcc00F|r|cffffffffootman|r",70)
  Set buttonArRange[1] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogRange, "|cffffcc00A|r|cffffffffrcher|r",65)
  Set buttonArRange[2] = (Last created dialog Button)
  Custom script: call DialogAddButtonWithHotkeyBJ(udg_dialogWin, "|cffffcc00Q|r|cffffffffuit Game|r",81)
  Set buttonWin = (Last created dialog Button)
  For each (Integer intLoop) from 1 to 12, do (Actions)
   Loop - Actions
    Dialog - Hide dialogRace for (Player(intLoop))
    Dialog - Hide dialogRange for (Player(intLoop))
    Dialog - Hide dialogWin for (Player(intLoop))
    -------- Define custom player status flags --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      ((Player(intLoop)) slot status) Equal to Is unused
     Then - Actions
      For each (Integer A) from 1 to 4, do (Actions)
       Loop - Actions
        Player Group - Remove (Player(intLoop)) from forceArForces[(Integer A)]
     Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      ((Player(intLoop)) slot status) Equal to Has left the game
     Then - Actions
      Game - Display to (All players) the text: ((Name of (Player(intLoop))) + has left the game.)
      Game - Grant shared vision and full shared unit control of (Player(intLoop)) units with his/her allies
     Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      ((Player(intLoop)) controller) Equal to Computer
     Then - Actions
      For each (Integer A) from 0 to 2, do (Actions)
       Loop - Actions
        Custom script: if (GetAIDifficulty(ConvertedPlayer(udg_intLoop)) == ConvertAIDifficulty(GetForLoopIndexA())) then
        Set intArDiff[intLoop] = (Integer A)
        Custom script: endif
      Game - Grant shared vision and full shared unit control of (Player(intLoop)) units with his/her allies
     Else - Actions
  Set intQuantityCheck = 0
  For each (Integer intLoop) from 1 to 4, do (Actions)
   Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      And - All (Conditions) are true
       Conditions
        Or - Any (Conditions) are true
         Conditions
          ((Player(intLoop)) controller) Equal to Computer
          ((Player(intLoop)) slot status) Equal to Is unused
        Or - Any (Conditions) are true
         Conditions
          ((Player((intLoop + 4))) controller) Equal to Computer
          ((Player((intLoop + 4))) slot status) Equal to Is unused
        Or - Any (Conditions) are true
         Conditions
          ((Player((intLoop + 8))) controller) Equal to Computer
          ((Player((intLoop + 8))) slot status) Equal to Is unused
     Then - Actions
      Countdown Timer - Start timerArAI[intLoop] as a One-shot timer that will expire in (Random real number between 35.00 and 60.00) seconds
      Set intQuantityCheck = (intQuantityCheck + 1)
      For each (Integer intLoopAI) from 0 to 2, do (Actions)
       Loop - Actions
        Player - Set name of (Player((intLoop + (intLoopAI x 4)))) to Enemy
        Set booArNoHuman[(intLoop + (intLoopAI x 4))] = True
        -------- Switch player menus for computer-usable buttons --------
        Player - Enable Attack Center (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
        Player - Enable Defend (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
        Player - Enable Attack Northwest (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
        Player - Enable Attack Northeast (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
        Player - Enable Attack Southeast (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
        Player - Enable Attack Southwest (AI Tactics) for (Player((intLoop + (intLoopAI x 4))))
     Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   If - Conditions
    intQuantityCheck Less than or equal to 0
   Then - Actions
    Custom script: call DestroyTrigger(gg_trg_Attack_parameters)
    Custom script: call DestroyTrigger(gg_trg_Hero_damaged)
    Custom script: call DestroyTrigger(gg_trg_Hero_skills)
    Custom script: call DestroyTrigger(gg_trg_Hero_trained)
    Custom script: call DestroyTrigger(gg_trg_Townhall_tech)
   Else - Actions
    Trigger - Turn on Attack parameters <gen>
  -------- Set up cinematic stats --------
  Set intCineSkip = 0
  For each (Integer intLoop) from 1 to 12, do (Actions)
   Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      Or - Any (Conditions) are true
       Conditions
        ((Player(intLoop)) controller) Equal to Computer
        ((Player(intLoop)) slot status) Equal to Is unused
     Then - Actions
     Else - Actions
      Set intCineTotal = (intCineTotal + 1)
  Set intCineGoal = (((intCineTotal x 5) / 10) + 1)
  -------- BEGIN CINEMATIC --------
  Cinematic - Turn on letterbox mode (hide interface) for (All players): fade out over 0.01 seconds
  Set booSkip = False
  Trigger - Turn on Cine Skip <gen>
  -------- GUI only permits camera by player, which is silly since the GUI function uses GetLocalPlayer() --------
  Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam0, true, 0.00)
  Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam1, true, 5.00)
  Set stringCine = The Emperor's palace garden...
  Set realCineDur = 5.00
  Cinematic - Clear the screen of text messages for (All players)
  Game - Display to (All players) for realCineDur seconds the text: stringCine
  Sound - Play sndCine
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
   Else - Actions
    Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
  Wait 2.00 game-time seconds
  Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
  Wait 3.00 game-time seconds
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Set stringCine = Since his death, fierce battle has erupted.
    Set realCineDur = 6.50
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Trigger - Turn on Cine Elf <gen>
    Trigger - Run Cine Elf <gen> (ignoring conditions)
    Trigger - Turn on Cine Skeleton <gen>
    Trigger - Run Cine Skeleton <gen> (ignoring conditions)
    Wait 6.50 game-time seconds
   Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam2, true, 0.01)
    Set stringCine = Noble Elves strive to defend the glory of his empire.
    Set realCineDur = 7.00
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Wait 7.00 game-time seconds
   Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam3, true, 8.00)
    Set stringCine = Legions of fresh Skeletons charge to battle to slay their still-living brethren.
    Set realCineDur = 9.00
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Unit - Create 1 Liche (Cinematic) for Player 7 (Green) at (Center of Cine Liche <gen>) facing (Random point in Cine Target Elf <gen>)
    Unit - Order (Last created unit) to Hold Position
    Wait 8.00 game-time seconds
    Wait 1.00 game-time seconds
   Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam4, true, 0.01)
    Set stringCine = Dark Satyr seek to destroy the empire and return it to wild land.
    Set realCineDur = 9.00
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Trigger - Turn on Cine Satyr <gen>
    Trigger - Run Cine Satyr <gen> (ignoring conditions)
    Wait 3.00 game-time seconds
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam5, true, 6.00)
    Wait 6.00 game-time seconds
   Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Set stringCine = Mysterious Arachnid armies rise to claim rulership.
    Set realCineDur = 7.00
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Trigger - Turn on Cine Arachnid <gen>
    Trigger - Run Cine Arachnid <gen> (ignoring conditions)
    Unit - Create 1 Lord (Cinematic) for Player 1 (Red) at (Center of Cine Lord <gen>) facing locMiddle
    Unit - Order (Last created unit) to Attack-Move To locMiddle
    Wait 1.00 game-time seconds
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam6, true, 5.00)
    Wait 5.00 game-time seconds
    Wait 1.00 game-time seconds
   Else - Actions
  If (All Conditions are True) then do (Then Actions) else do (Else Actions)
   Then - Actions
    Custom script: call CameraSetupApplyForceDuration(gg_cam_Cam7, true, 10.00)
    Set stringCine = Choose your path, and prepare to crush your enemies!
    Set realCineDur = 10.00
    Cinematic - Clear the screen of text messages for (All players)
    Game - Display to (All players) for realCineDur seconds the text: stringCine
    Sound - Play sndCine
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     Then - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + (ESC to skip ( + ((String(intCineGoal)) + needed).|r)))
     Else - Actions
      Game - Display to (All players) for realCineDur seconds the text: (stringSkip + ((ESC to skip. + ((String(intCineSkip)) + ( of + ((String(intCineTotal)) + have skipped ()))) + ((String(intCineGoal)) + needed).|r)))
    Wait 7.00 game-time seconds
    Cinematic - Fade out over 3.00 seconds using texture Black Mask and color (0.00%, 0.00%, 0.00%) with 0.00% transparency
    Wait 3.00 game-time seconds
   Else - Actions
  -------- Start here after skip --------
  Custom script: call DestroyTrigger(gg_trg_Cine_Elf)
  Custom script: call DestroyTrigger(gg_trg_Cine_Skeleton)
  Custom script: call DestroyTrigger(gg_trg_Cine_Satyr)
  Custom script: call DestroyTrigger(gg_trg_Cine_Arachnid)
  Custom script: call DestroyTrigger(gg_trg_Cine_Skip)
  Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
   Loop - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
     If - Conditions
      (Owner of (Picked unit)) Equal to Neutral Passive
     Then - Actions
     Else - Actions
      Unit - Kill (Picked unit)
      Unit - Remove (Picked unit) from the game
  For each (Integer intLoop) from 1 to 12, do (Actions)
   Loop - Actions
    Camera - Reset camera for (Player(intLoop)) to standard game-view over 0.00 seconds
    Camera - Pan camera for (Player(intLoop)) to ((Player(intLoop)) start location) over 1.00 seconds
  Set stringCine = Your Call to Arms begins now.
  Set realCineDur = 4.00
  Cinematic - Clear the screen of text messages for (All players)
  Game - Display to (All players) for realCineDur seconds the text: stringCine
  Sound - Play ClanInvitation <gen>
  Game - Display to (All players) for realCineDur seconds the text:
  Wait 4.00 game-time seconds
  Cinematic - Turn off letterbox mode (show interface) for (All players): fade in over 0.01 seconds
  -------- END AMAZING CINEMATICAL EXPERIENCE --------
  For each (Integer intLoop) from 1 to 12, do (Actions)
   Loop - Actions
    Player - Turn Gives bounty On for (Player(intLoop))
  Trigger - Run Check Victory Conditions <gen> (ignoring conditions)
  Set trigCountdown = Dialog race setup <gen>
  Set intCountdown = 3
  Countdown Timer - Start timerTick as a Repeating timer that will expire in 1.00 seconds
  Countdown Timer - Start timerSelect as a One-shot timer that will expire in 3.00 seconds
  Countdown Timer - Show windowSelect
  Countdown Timer - Pause timerSelect |