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 havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Choose your ride to damnation in the 5th Special Effect Contest Poll.
    Dismiss Notice
  6. The winners of the 13th Techtree Contest have been announced!
    Dismiss Notice
  7. Vote for the best entries in the 13th Music Contest Poll.
    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

UndeadX06.w3x
Variables
Initialization
Initialization
Init 01 Players
Init 02 Units
Init 03 Music
Init 04 Environment
Init 05 Points
Init 06 Quests
Init 07a Hard
Init 07b Normal
Init 08 Regions to Points
Load Heroes
Load Heroes
Create Sylvanas
Create Varimathras
Load Default Sylvanas
Load Default Varimathras
Create Garithos
Create Balnazzar
Create Lich Orange
Create Lich Green
Cinematic Revival
xxxxxxxxxxxxxxxxxxxx
Intro Cinematic
Intro Cinematic Q
Intro Skipped
Intro Setup
Intro Cleanup
Gameplay
Midgame Cinematic Intro
Dwarves Cinematic Q
Dwarves Skipped
Dwarves Setup
Dwarves Cleanup
Midgame Cinematic Completed
Dwarves Completed Cinematic Q
Dwarves Completed Skipped
Dwarves Completed Setup
Dwarves Completed Cleanup
Victory Cinematic
Victory Cinematic Q
Victory Skipped
Victory Setup
xxxxxxxxxxxxxxxxxxxx
Quests
Quest Balnazzar Create
Quest Balnazzar Discover
Quest Balnazzar Completed
--------Dwarves--------
Quest Dwarves Create
Quest Dwarves Discover
Quest Dwarves Completed
Quest Dwarves Failed
Quest Balnazzar
Balnazzar Found Q
Quest Ironforge Dwarves
Ironforge Dwarves Intro
Ironforge Dwarves Rescued
Ironforge Dwarves Dead
Ironforge Dwarves Dead Q
xxxxxxxxxxxxxxxxxxxx
Destructible
Dwarf 01
Dwarf 01 Q
Dwarf 02
Dwarf 02 Q
---Rocks---
Rock Destroyed
Patrol
-------Demon Patrol-------
Demon Start Patrol
Ogre Patrol 01A
Ogre Patrol 01B
Ogre Patrol 02A
Ogre Patrol 02B
Ogre Patrol 03A
Ogre Patrol 03B
Ogre Patrol 04A
Ogre Patrol 04B
Ogre Patrol 05A
Ogre Patrol 05B
Ogre Patrol 06A
Ogre Patrol 06B
Hero Confronts Hero
Add Events
Sylvanas
Sylvanas Q
Garithos
Garithos Q
Varimathras
Varimathras Q
Voice Over Q
---Undead Base---
Sylvanas Base Attacked
Sylvanas Base Attacked 1 Q
Sylvanas Base Attacked 2 Q
Sylvanas Base Attacked 3 Q
Sylvanas Base Attacked 4 Q
---Human Base---
Garithos Base Attacked
Garithos Base Attacked 1 Q
Garithos Base Attacked 2 Q
Garithos Base Attacked 3 Q
Garithos Base Attacked 4 Q
---Garithos Call For Help---
Garithos Needs Help
Garithos Needs Help 1 Q
Garithos Needs Help 2 Q
Garithos Needs Help 3 Q
---Sylvanas Random Lines---
Sylvanas Random Lines
Sylvanas Random Line 1 Q
Sylvanas Random Line 2 Q
Sylvanas Random Line 3 Q
---Varimathras Random Lines---
Varimathras Random Lines
Varimathras Random Line 1 Q
Varimathras Random Line 2 Q
Varimathras Random Line 3 Q
---Garithos Random Lines---
Garithos Random Lines
Garithos Random Line 1 Q
Garithos Random Line 2 Q
Garithos Random Line 3 Q
---Storehouses---
Storehouse
Storehouse 1 Q
Storehouse 2 Q
Storehouse 3 Q
---Balnazzar Random Lines---
Balnazzar Random Lines
Balnazzar Random Lines 1 Q
Balnazzar Random Lines 2 Q
Balnazzar Random Lines 3 Q
Balnazzar Random Lines 4 Q
---Balnazzar Demons---
Balnazzar Demons
Balnazzar Demons 01 Q
Balnazzar Demons 02 Q
Balnazzar Demons 03 Q
Balnazzar Demons 04 Q
Dragons
Dragon Attack Bulding
Dragon Attack Building 01
Dragon Attack Building 02
Dragon Dies
Dragon Face Building
Dragon Attack
Hints
Barrage
Hint Shared Unit Control Q
Dwarves Found
Locate the Dwarves
Locate the Dwarves Q
xxxxxxxxxxxxxxxxxxxx
AI Buildings
Balnazzar Buildings
AI
Start AI
---Purple---
AI Resources Purple Gold
AI Resources Purple Lumber
---Yellow---
AI Resources Yellow Gold
AI Resources Yellow Lumber
---Orange---
AI Resources Orange Gold
AI Resources Orange Lumber
---Green---
AI Resources Green Gold
AI Resources Green Lumber
Level Data
Next Level Run
xxxxxxxxxxxxxxxxxxxx
Combat Check
Combat Detected
Combat Resolved
---Creep Combat---
Creep Combat Detected
Creep Combat Resolved
Victory Defeat
Victory Balnazzar Dead
Defeat Units Dead
Mission Failed BaseDead
Player Sharing Triggers
SetDifficulty
DifficultySelected
ConvertPlayerUnits
UpdateFoodUsage
UpdateResourcesGold
UpdateResourcesLumber
HeroDies
HeroRevives
HiringUnits
ScrollTownPortalStart
ScrollTownPortalEnd
ConvertCharmedUnits
PlayerLeavesGame
Game Cache Triggers
SetCacheVariables
LoadHeroesText
PreplaceItemsLoad
StartGame
LoadGame
NewGame
Satchet Triggers
MoveSatchets
BackpackDropItems
SatchetLevelGain
SatchetHeroDies
SatchetHeroRevives
function SaveLoad_InitialSetup takes nothing returns nothing
    local integer i = 0
    local integer j = 0

    loop
        set udg_SaveLoad_Compress[i + 48] = j
        set udg_SaveLoad_Uncompress[i] = i + 48
        set j = j + 1
        set i = i + 1
        exitwhen i >= 10
    endloop
    set i = 0
    loop
        set udg_SaveLoad_Compress[i + 97] = j
        set udg_SaveLoad_Compress[i + 65] = j + 26
        set udg_SaveLoad_Uncompress[i + 10] = i + 97
        set udg_SaveLoad_Uncompress[i + 26 + 10] = i + 65
        set j = j + 1
        set i = i + 1
        exitwhen i >= 26
    endloop
endfunction

function SaveLoad_Id2CId takes integer n returns integer
    local integer i = n / (256 * 256 * 256)
    local integer r
    set n = n - i * (256 * 256 * 256)
    set r = udg_SaveLoad_Compress[i]
    set i = n / (256 * 256)
    set n = n - i * (256 * 256)
    set r = r * 64 + udg_SaveLoad_Compress[i]
    set i = n / 256
    set r = r * 64 + udg_SaveLoad_Compress[i]
    return r * 64 + udg_SaveLoad_Compress[n - i * 256]
endfunction

function SaveLoad_CId2Id takes integer n returns integer
    local integer i = n / (64 * 64 * 64)
    local integer r
    set n = n - i * (64 * 64 * 64)
    set r = udg_SaveLoad_Uncompress[i]
    set i = n / (64 * 64)
    set n = n - i * (64 * 64)
    set r = r * 256 + udg_SaveLoad_Uncompress[i]
    set i = n / 64
    set r = r * 256 + udg_SaveLoad_Uncompress[i]
    return r * 256 + udg_SaveLoad_Uncompress[n - i * 64]
endfunction

function SaveLoad_Unit2Integer takes unit u returns integer
    local integer i = 0
    local integer n = GetUnitTypeId(u)
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    loop
        set i = i + 1
        exitwhen i > udg_SaveLoad_Heroes_LastIndex
        if udg_SaveLoad_Heroes[i] == n then
            return i
        endif
    endloop
    return SaveLoad_Id2CId(n)
endfunction
function SaveLoad_Integer2Unit takes integer i returns integer
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    if i <= udg_SaveLoad_Heroes_LastIndex then
        return udg_SaveLoad_Heroes[i]
    endif
    return SaveLoad_CId2Id(i)
endfunction

function SaveLoad_Item2Integer takes item t returns integer
    local integer i = 0
    local integer n = GetItemTypeId(t)
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    loop
        set i = i + 1
        exitwhen i > udg_SaveLoad_Items_LastIndex
        if udg_SaveLoad_Items[i] == n then
            return i
        endif
    endloop
    return SaveLoad_Id2CId(n)
endfunction
function SaveLoad_Integer2Item takes integer i returns integer
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    if i <= udg_SaveLoad_Items_LastIndex then
        return udg_SaveLoad_Items[i]
    endif
    return SaveLoad_CId2Id(i)
endfunction

function SaveLoad_Ability2Integer takes integer a returns integer
    local integer i = 0
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    loop
        set i = i + 1
        exitwhen i > udg_SaveLoad_Abilities_LastIndex
        if udg_SaveLoad_Abilities[i] == a then
            return i
        endif
    endloop
    return SaveLoad_Id2CId(a)
endfunction
function SaveLoad_Integer2Ability takes integer i returns integer
    if udg_SaveLoad_Initialized == false then
        set udg_SaveLoad_Initialized = true
        call SaveLoad_InitialSetup()
    endif
    if i <= udg_SaveLoad_Abilities_LastIndex then
        return udg_SaveLoad_Abilities[i]
    endif
    return SaveLoad_CId2Id(i)
endfunction

function SaveLoad_EncodeChar takes string n returns integer
    local integer i = 0
    local string s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    local string s2 = "abcdefghijklmnopqrstuvwxyz"
    local string s3 = "0123456789"

    loop
        if SubString(s1,i,i + 1) == n then
            return i
        endif
        if SubString(s2,i,i + 1) == n then
            return i
        endif
        set i = i + 1
        exitwhen i >= 26
    endloop
    set i = 0
    loop
        if SubString(s3,i,i + 1) == n then
            return i
        endif
        set i = i + 1
        exitwhen i >= 10
    endloop
    return 0
endfunction

function SaveLoad_EncodeVerify takes string buffer returns integer
    local integer i = 0
    local integer j = 0
    local string name = GetPlayerName(GetTriggerPlayer())
    if udg_SaveLoad_UsePlayername == true then
        loop
            set j = j + SaveLoad_EncodeChar(SubString(name,i,i + 1))
            set i = i + 1
            exitwhen i >= StringLength(name)
        endloop
    endif
    set i = 0
    loop
        set j = j + SaveLoad_EncodeChar(SubString(buffer,i,i + 1))
        set i = i + 1
        exitwhen i >= StringLength(buffer)
    endloop
    return j
endfunction

function SaveLoad_EncodeValues takes nothing returns string
    local integer i
    local integer j
    local integer k
    local integer l
    local integer m
    local integer CodeLength = StringLength(udg_SaveLoad_Alphabet)
    local integer array a
    local string buffer = ""
    local string c = ""
    local integer skip = 0
    local integer CONST = 1000000
    local string abc = "0123456789"

    set i = 0
    loop
        set i = i + 1
        exitwhen i > udg_SaveCount
        set buffer = buffer + I2S(udg_Save[i]) + "-"
    endloop
    set buffer = buffer + I2S(SaveLoad_EncodeVerify(buffer))
    if udg_Save[1] == 0 then
        set buffer = "-" + buffer
    endif

    set i = 0
    loop
        set a[i] = 0
        set i = i + 1
        exitwhen i >= 100
    endloop

    set m = 0
    set i = 0
    loop
        set j = 0
        loop
            set a[j] = a[j] * 11
            set j = j + 1
            exitwhen j > m
        endloop

        set l = 0
        set c = SubString(buffer,i,i + 1)
        loop
            exitwhen SubString(abc,l,l + 1) == c
            set l = l + 1
            exitwhen l > 9
        endloop
        set a[0] = a[0] + l

        set j = 0
        loop
            set k = a[j] / CONST
            set a[j] = a[j] - k * CONST
            set a[j + 1] = a[j + 1] + k
            set j = j + 1
            exitwhen j > m
        endloop
        if k > 0 then
            set m = m + 1
        endif
        set i = i + 1
        exitwhen i >= StringLength(buffer)
    endloop

    set buffer = ""
    loop
        exitwhen m < 0
        set j = m
        loop
            exitwhen j <= 0
            set k = a[j] / CodeLength
            set a[j - 1] = a[j - 1] + (a[j] - k * CodeLength) * CONST
            set a[j] = k
            set j = j - 1
        endloop
        set k = a[j] / CodeLength
        set i = a[j] - k * CodeLength
        set buffer = buffer + SubString(udg_SaveLoad_Alphabet,i,i + 1)
        set a[j] = k
        if a[m] == 0 then
            set m = m - 1
        endif
    endloop

    set i = StringLength(buffer)
    set skip = 0
    set c = ""
    loop
        set i = i - 1
        set c = c + SubString(buffer,i,i + 1)
        set skip = skip + 1
        if skip == 4 and i > 0 then
            set c = c + "-"
            set skip = 0
        endif
        exitwhen i <= 0
    endloop
    return c
endfunction

function SaveLoad_DecodeValues takes string s returns boolean
    local integer i
    local integer j
    local integer k
    local integer l
    local integer SaveCode = 0
    local integer m
    local integer array a
    local string buffer = ""
    local integer CodeLength = StringLength(udg_SaveLoad_Alphabet)
    local integer skip = -1
    local integer CONST = 1000000
    local string abc = "0123456789-"
    local string c

    set i = 0
    loop
        set a[i] = 0
        set i = i + 1
        exitwhen i >= 100
    endloop

    set m = 0

    set i = 0
    loop
        set j = 0
        loop
            set a[j] = a[j] * CodeLength
            set j = j + 1
            exitwhen j > m
        endloop

        set skip = skip + 1
        if skip == 4 then
            set skip = 0
            set i = i + 1
        endif

        set l = CodeLength
        set c = SubString(s,i,i + 1)
        loop
            set l = l - 1
            exitwhen l < 1
            exitwhen SubString(udg_SaveLoad_Alphabet,l,l + 1) == c
        endloop
        set a[0] = a[0] + l

        set j = 0
        loop
            set k = a[j] / CONST
            set a[j] = a[j] - k * CONST
            set a[j + 1] = a[j + 1] + k
            set j = j + 1
            exitwhen j > m
        endloop
        if k > 0 then
            set m = m + 1
        endif
        set i = i + 1
        exitwhen i >= StringLength(s)
    endloop

    loop
        exitwhen m < 0
        set j = m
        loop
            exitwhen j <= 0
            set k = a[j] / 11
            set a[j - 1] = a[j - 1] + (a[j] - k * 11) * CONST
            set a[j] = k
            set j = j - 1
        endloop
        set k = a[j] / 11
        set i = a[j] - k * 11
        set buffer = SubString(abc,i,i + 1) + buffer
        set a[j] = k
        if a[m] == 0 then
            set m = m - 1
        endif
    endloop

    set i = 0
    set j = 0
    loop
        loop
            exitwhen i >= StringLength(buffer)
            exitwhen i > 0 and SubString(buffer,i,i + 1) == "-" and SubString(buffer,i - 1,i) != "-"
            set i = i + 1
        endloop
        if i < StringLength(buffer) then
            set k = i
        endif
        set SaveCode = SaveCode + 1
        set udg_Save[SaveCode] = S2I(SubString(buffer,j,i))
        set j = i + 1
        set i = i + 1
        exitwhen i >= StringLength(buffer)
    endloop

    set j = SaveLoad_EncodeVerify(SubString(buffer,0,k))
    set udg_SaveCount = SaveCode - 1
    if j == udg_Save[SaveCode]then
        return true
    endif
    return false
endfunction

function SaveLoad_Encode takes nothing returns string
    if udg_SaveLoad_CaseSensitive == false then
        set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true)
    endif
    return SaveLoad_EncodeValues()
endfunction

function SaveLoad_Decode takes string s returns boolean
    if udg_SaveLoad_CaseSensitive == false then
        set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true)
        set s = StringCase(s,true)
    endif
    if SaveLoad_DecodeValues(s) then
        call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding sucessful")
        return true
    endif
    call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding failed")
    return false
endfunction

function CreateTextFile takes string Code returns nothing
    call PreloadGenClear()
    call PreloadGenStart()
    
    // The line below creates the log
    call Preload("load " + Code)
    
    // The line below creates the file at the specified location
    call PreloadGenEnd(udg_TextFileName + ".txt")
endfunction
Name Type Is Array Initial Value
AP01_Varimathras player No Player00
AP02_Sylvanas player No Player01
AP11_SharedPlayer player No Player10
APG1_Player force No
Arthas unit No
ArthasInventory string No
Balnazzar unit No
BalnazzarDemon integer No
BalnazzarRandomLines integer No
BalnazzarReturnSpot location No
BalnazzarsBase group No
CameraReturnPoint location No
CharmedUnit unit No
ChooseDifficulty dialog No
Code string No
CodeError boolean No
CombatCheckTimer timer No
CreepCombatCheckTimer timer No
DragonAttackBuilding01 unit No
DragonAttackBuilding02 unit No
DragonAttackTimer01 timer No
DragonAttackTimer02 timer No
DragonBusy boolean No
DragonGroup group No
DwarvesCompletedSkipped boolean No false
DwarvesDead boolean No
DwarvesDiscovered boolean No
DwarvesFootman01 unit No
DwarvesFootman02 unit No
DwarvesIntroTimer timer No
DwarvesSkipped boolean No false
DwarvesTimer timer No
ExpDisabledForGarithos boolean No false
ExpDisabledForSylvanas boolean No false
ExpDisabledForVarimathras boolean No false
GameOver boolean No false
GameSelection boolean No
Garithos unit No
GarithosBaseAttacked integer No
GarithosMeetsBalnazzar boolean No
GarithosNeedsHelp integer No
GarithosRandomLines integer No
GarithosReturnSpot location No
GhoulEnd01 unit No
GhoulEnd02 unit No
GhoulEnd03 unit No
Hard boolean No
HardB button No
Hero1 unit No
HeroToRevive unit No
HiddenUnits group No
InCinematic boolean No false
InCombat boolean No false
InCreepCombat boolean No
IntroSkipped boolean No false
Kelthuzad unit No
KelthuzadInventory string No
Lich01 unit No
Lich02 unit No
NormalB button No
P03_TealUndead player No Player02
P04_PurpleUndead player No Player03
P05_YellowUndead player No Player04
P06_OrangeUndead player No Player05
P07_GreenUndead player No Player06
P09_GarithosHuman player No Player08
P10_LightBlueDwarves player No Player09
Patrol01A location No
Patrol01B location No
Patrol02A location No
Patrol02B location No
Patrol03A location No
Patrol03B location No
Patrol04A location No
Patrol04B location No
Patrol05A location No
Patrol05B location No
Patrol06A location No
Patrol06B location No
Player player No
PointTripwireDragon02 location No
QuestBalnazzar quest No
QuestBalnazzarReq questitem No
QuestDwarves quest No
QuestDwarvesReq questitem No
RevivalAltar unit No UnitNull
RevivalHero unit No UnitNull
RevivalReturnSpot location No
RevivalSpot location No
Rifleman01 unit No
Rifleman02 unit No
Satchet01 unit No
Satchet02 unit No
SatchetPosition location No
Save integer Yes
SaveCount integer No
SaveLoad_Abilities abilcode Yes
SaveLoad_Abilities_LastIndex integer No
SaveLoad_Alphabet string No
SaveLoad_CaseSensitive boolean No
SaveLoad_Compress integer Yes
SaveLoad_Heroes unitcode Yes
SaveLoad_Heroes_LastIndex integer No
SaveLoad_Initialized boolean No
SaveLoad_Items itemcode Yes
SaveLoad_Items_LastIndex integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
SelectedUnitsPlayer1 group No
SelectedUnitsPlayer2 group No
SinglePlayer boolean No
StoreHouse integer No
Storehouse01 unit No
Storehouse02 unit No
Storehouse03 unit No
Sylvanas unit No UnitNull
SylvanasBaseAttacked integer No
SylvanasInventory string No
SylvanasRandomLine integer No
SylvanasReturnSpot location No
TeleportingUnits group Yes
TempHero unit No
TempItem item No
TempItemType itemcode No
TempPoint location No
TextFileName string No
TownPortalEnd location No
TownPortalStart location No
Validate boolean No
Varimathras unit No UnitNull
VarimathrasMeetsBalnazzar boolean No
VarimathrasRandomLines integer No
VarimathrasReturnSpot location No
VictorySkipped boolean No false
Initialization
  Events
    Map initialization
  Conditions
  Actions
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Game - Set ally color filtering to 0
    Game - Set Lock resource trading to On
    Game - Disable ally color button and Disable creep camp button
    Trigger - Run Init_01_Players <gen> (checking conditions)
    Trigger - Run Init_02_Units <gen> (checking conditions)
    Trigger - Run Init_04_Environment <gen> (checking conditions)
    Trigger - Run Init_05_Points <gen> (checking conditions)
    Trigger - Run Init_06_Quests <gen> (checking conditions)
    Trigger - Run Init_08_Regions_to_Points <gen> (checking conditions)
    Trigger - Run SetDifficulty <gen> (checking conditions)
Init 01 Players
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    Player Group - Add AP02_Sylvanas to APG1_Player
    Player Group - Add AP01_Varimathras to APG1_Player
    Player Group - Add AP11_SharedPlayer to APG1_Player
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP02_Sylvanas controller) Equal to Computer) or ((AP02_Sylvanas slot status) Equal to Is unused)
      Then - Actions
        Set VariableSet SinglePlayer = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP01_Varimathras controller) Equal to Computer) or ((AP01_Varimathras slot status) Equal to Is unused)
      Then - Actions
        Set VariableSet SinglePlayer = True
      Else - Actions
    -------- Alliance Settings --------
    Player - Make P03_TealUndead treat AP11_SharedPlayer as an Enemy
    Player - Make P04_PurpleUndead treat AP11_SharedPlayer as an Enemy
    Player - Make P05_YellowUndead treat AP11_SharedPlayer as an Enemy
    Player - Make P06_OrangeUndead treat AP11_SharedPlayer as an Enemy
    Player - Make P07_GreenUndead treat AP11_SharedPlayer as an Enemy
    Player - Make AP11_SharedPlayer treat P03_TealUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P04_PurpleUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P05_YellowUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P06_OrangeUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P07_GreenUndead as an Enemy
    -------- - --------
    Player - Make P03_TealUndead treat P09_GarithosHuman as an Enemy
    Player - Make P04_PurpleUndead treat P09_GarithosHuman as an Enemy
    Player - Make P05_YellowUndead treat P09_GarithosHuman as an Enemy
    Player - Make P06_OrangeUndead treat P09_GarithosHuman as an Enemy
    Player - Make P07_GreenUndead treat P09_GarithosHuman as an Enemy
    Player - Make P09_GarithosHuman treat P03_TealUndead as an Enemy
    Player - Make P09_GarithosHuman treat P04_PurpleUndead as an Enemy
    Player - Make P09_GarithosHuman treat P05_YellowUndead as an Enemy
    Player - Make P09_GarithosHuman treat P06_OrangeUndead as an Enemy
    Player - Make P09_GarithosHuman treat P07_GreenUndead as an Enemy
    -------- - --------
    Player - Make P03_TealUndead treat Neutral Hostile as an Neutral
    Player - Make P04_PurpleUndead treat Neutral Hostile as an Neutral
    Player - Make P05_YellowUndead treat Neutral Hostile as an Neutral
    Player - Make P06_OrangeUndead treat Neutral Hostile as an Neutral
    Player - Make P07_GreenUndead treat Neutral Hostile as an Neutral
    Player - Make P10_LightBlueDwarves treat Neutral Hostile as an Neutral
    -------- - --------
    Player - Make Neutral Hostile treat P03_TealUndead as an Neutral
    Player - Make Neutral Hostile treat P04_PurpleUndead as an Neutral
    Player - Make Neutral Hostile treat P05_YellowUndead as an Neutral
    Player - Make Neutral Hostile treat P06_OrangeUndead as an Neutral
    Player - Make Neutral Hostile treat P07_GreenUndead as an Neutral
    Player - Make Neutral Hostile treat P10_LightBlueDwarves as an Neutral
    -------- Purple --------
    Player - Set P04_PurpleUndead.Current gold to 5000
    Player - Set P04_PurpleUndead.Current lumber to 5000
    -------- Yellow --------
    Player - Set P05_YellowUndead.Current gold to 5000
    Player - Set P05_YellowUndead.Current lumber to 5000
    -------- Orange --------
    Player - Set P06_OrangeUndead.Current gold to 5000
    Player - Set P06_OrangeUndead.Current lumber to 5000
    -------- Green --------
    Player - Set P07_GreenUndead.Current gold to 5000
    Player - Set P07_GreenUndead.Current lumber to 5000
    -------- Player Colors --------
    Player - Change color of P05_YellowUndead to Orange, Changing color of existing units
    Player - Change color of P03_TealUndead to Purple, Changing color of existing units
    Player - Change color of P09_GarithosHuman to Light Blue, Changing color of existing units
    Player - Change color of AP11_SharedPlayer to Blue, Changing color of existing units
    -------- Hide Excess Players --------
    Player - Hide P03_TealUndead in the post-game score screen
    Player - Hide P05_YellowUndead in the post-game score screen
    Player - Hide P10_LightBlueDwarves in the post-game score screen
    Player - Hide AP11_SharedPlayer in the post-game score screen
Init 02 Units
  Events
  Conditions
  Actions
    -------- Heroes --------
    Trigger - Run Load_Heroes <gen> (checking conditions)
    Hero - Make AP02_Sylvanas Heroes gain 60.00% experience from future kills
    Hero - Make AP01_Varimathras Heroes gain 60.00% experience from future kills
    Hero - Make P09_GarithosHuman Heroes gain 30.00% experience from future kills
    -------- Balnazzar --------
    Set VariableSet BalnazzarsBase = (Units owned by P04_PurpleUndead of type Necropolis)
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Necropolis) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Halls of the Dead) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Black Citadel) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Altar of Darkness) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Crypt) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Slaughterhouse) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Temple of the Damned) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Boneyard) to BalnazzarsBase
    Unit Group - Add all units of (Units owned by P04_PurpleUndead of type Demon Gate) to BalnazzarsBase
    -------- NPCs --------
    Set VariableSet Storehouse01 = Lordaeron City Stash 0048 <gen>
    Set VariableSet Storehouse02 = Lordaeron City Stash 0034 <gen>
    Set VariableSet Storehouse03 = Lordaeron City Stash 0082 <gen>
    -------- Creeps --------
    Unit - Make Tent 0271 <gen> Invulnerable
    Unit - Make Tent 0272 <gen> Invulnerable
    Unit - Make Tent 0273 <gen> Invulnerable
    Set VariableSet DragonGroup = (Units in Dragon_Group <gen> owned by Neutral Hostile)
    Player - Disable sleeping for all creeps
Init 03 Music
  Events
  Conditions
  Actions
    Sound - Reset all volume channels to 100%
    Sound - Clear the music list
    Sound - Play Dark Agents, skipping the first 10.00 seconds
    Sound - Set the music list to Music, starting with song 1
Init 04 Environment
  Events
  Conditions
  Actions
    -------- Initial Time Of Day --------
    Game - Set the time of day to 8.00
    -------- Weather Effects --------
    -------- Fog --------
    -------- Initial Visibility --------
    -------- Bridges, Gates, etc. --------
Init 05 Points
  Events
  Conditions
  Actions
    Set VariableSet Patrol01A = (Center of Patrol_01_A <gen>)
    Set VariableSet Patrol01B = (Center of Patrol_01_B <gen>)
    Set VariableSet Patrol02A = (Center of Patrol_02_A <gen>)
    Set VariableSet Patrol02B = (Center of Patrol_02_B <gen>)
    Set VariableSet Patrol03A = (Center of Patrol_03_A <gen>)
    Set VariableSet Patrol03B = (Center of Patrol_03_B <gen>)
    Set VariableSet Patrol04A = (Center of Patrol_04_A <gen>)
    Set VariableSet Patrol04B = (Center of Patrol_04_B <gen>)
    Set VariableSet Patrol05A = (Center of Patrol_05_A <gen>)
    Set VariableSet Patrol05B = (Center of Patrol_05_B <gen>)
    Set VariableSet Patrol06A = (Center of Patrol_06_A <gen>)
    Set VariableSet Patrol06B = (Center of Patrol_06_B <gen>)
Init 06 Quests
  Events
  Conditions
  Actions
    -------- Create Quests --------
    Trigger - Run Quest_Balnazzar_Create <gen> (checking conditions)
    Trigger - Run Quest_Dwarves_Create <gen> (checking conditions)
Init 07a Hard
  Events
  Conditions
    Hard Equal to True
  Actions
    -------- Extra Gnolls --------
    -------- Extra Undead --------
Init 07b Normal
  Events
  Conditions
    Hard Equal to False
  Actions
    -------- Remove Units --------
    Unit - Remove Granite Golem 0329 <gen> from the game
    Unit - Remove Kobold Mastermind 0173 <gen> from the game
    Unit - Remove Kobold Mastermind 0328 <gen> from the game
Init 08 Regions to Points
  Events
  Conditions
  Actions
    Set VariableSet PointTripwireDragon02 = (Center of TripwireDragon02 <gen>)
Load Heroes
  Events
  Conditions
  Actions
    -------- Load Each Hero --------
    Trigger - Run Create_Sylvanas <gen> (checking conditions)
    Trigger - Run Create_Varimathras <gen> (checking conditions)
    Trigger - Run Create_Garithos <gen> (checking conditions)
Create Sylvanas
  Events
  Conditions
  Actions
    -------- Create Hero --------
    Unit - Create 1.Dark Ranger for Neutral Passive at (Center of Intro_Sylvanas_Start <gen>) facing 210.00 degrees
    Set VariableSet Sylvanas = (Last created unit)
    Hero - Set Sylvanas Hero-level to 8, Hide level-up graphics
    -------- Create Satchet --------
    Unit - Create 1.Sachet for Neutral Passive at (Center of Intro_Sylvanas_Start <gen>) facing 90.00 degrees
    Set VariableSet Satchet01 = (Last created unit)
Create Varimathras
  Events
  Conditions
  Actions
    -------- Create Hero --------
    Unit - Create 1.Dreadlord for Neutral Passive at (Center of Intro_Varimathras_Start <gen>) facing 210.00 degrees
    Set VariableSet Varimathras = (Last created unit)
    Hero - Set Varimathras Hero-level to 8, Hide level-up graphics
    Unit - Change color of Varimathras to Red
    -------- Create Satchet --------
    Unit - Create 1.Sachet for Neutral Passive at (Center of Intro_Varimathras_Start <gen>) facing 90.00 degrees
    Set VariableSet Satchet02 = (Last created unit)
Load Default Sylvanas
  Events
  Conditions
  Actions
    -------- Default Hero Data --------
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Black Arrow
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Black Arrow
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Black Arrow
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Silence
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Life Drain
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Silence
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Life Drain
    -------- Add Items --------
    Hero - Create Slippers of Agility +3 and give it to Sylvanas
    Hero - Create Gloves of Haste and give it to Sylvanas
    Hero - Create Pendant of Energy and give it to Sylvanas
Load Default Varimathras
  Events
  Conditions
  Actions
    -------- Default Hero Data --------
    Hero - Learn skill for Varimathras: Special Varimathras - Rain Of Fire
    Hero - Learn skill for Varimathras: Special Varimathras - Rain Of Fire
    Hero - Learn skill for Varimathras: Special Varimathras - Rain Of Fire
    Hero - Learn skill for Varimathras: Special Varimathras - Vampiric Aura
    Hero - Learn skill for Varimathras: Special Varimathras - Sleep
    Hero - Learn skill for Varimathras: Special Varimathras - Vampiric Aura
    Hero - Learn skill for Varimathras: Special Varimathras - Sleep
    -------- Add Items --------
    Hero - Create Orb of Fire and give it to Varimathras
    Hero - Create Ring of Protection +3 and give it to Varimathras
    Hero - Create Ring of Regeneration and give it to Varimathras
Create Garithos
  Events
  Conditions
  Actions
    -------- Create Default Hero --------
    Unit - Create 1.Dark Knight for Neutral Passive at (Center of Intro_Garithos_Start <gen>) facing 210.00 degrees
    Set VariableSet Garithos = (Last created unit)
    Unit - Change color of Garithos to Gray
    Hero - Set Garithos Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Garithos: Special Garithos - Shockwave
    Hero - Learn skill for Garithos: Special Garithos - Holy Light
    Hero - Learn skill for Garithos: Special Garithos - Devotion Aura
    Hero - Learn skill for Garithos: Special Garithos - Shockwave
    Hero - Learn skill for Garithos: Special Garithos - Holy Light
    Hero - Learn skill for Garithos: Special Garithos - Devotion Aura
    Hero - Learn skill for Garithos: Special Garithos - Holy Light
    Hero - Learn skill for Garithos: Special Garithos - Avatar
    -------- Add Items --------
    Hero - Create Medallion of Courage and give it to Garithos
    Hero - Create Circlet of Nobility and give it to Garithos
    Hero - Create Gloves of Haste and give it to Garithos
Create Balnazzar
  Events
  Conditions
  Actions
    -------- Create Default Hero --------
    Unit - Create 1.Dreadlord for P04_PurpleUndead at (Center of Balnazzar <gen>) facing 300.00 degrees
    Set VariableSet Balnazzar = (Last created unit)
    Hero - Set Balnazzar Hero-level to 9, Hide level-up graphics
    Hero - Learn skill for Balnazzar: Special Balnazzar - Sleep
    Hero - Learn skill for Balnazzar: Special Balnazzar - Vampiric Aura
    Hero - Learn skill for Balnazzar: Special Balnazzar - Rain Of Chaos
    Hero - Learn skill for Balnazzar: Special Balnazzar - Sleep
    Hero - Learn skill for Balnazzar: Special Balnazzar - Vampiric Aura
    Hero - Learn skill for Balnazzar: Special Balnazzar - Earthquake
    Hero - Learn skill for Balnazzar: Special Balnazzar - Finger Of Pain
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        Hero - Set Balnazzar Hero-level to 10, Hide level-up graphics
        Hero - Learn skill for Balnazzar: Special Balnazzar - Rain Of Chaos
        Hero - Learn skill for Balnazzar: Special Balnazzar - Sleep
        Hero - Learn skill for Balnazzar: Special Balnazzar - Rain Of Chaos
      Else - Actions
        Hero - Disable experience gain for Balnazzar.
    -------- Add Items --------
    Hero - Create Orb of Darkness and give it to Balnazzar
    Hero - Create Phat Lewt and give it to Balnazzar
    Hero - Create Phat Lewt and give it to Balnazzar
    Hero - Create Phat Lewt and give it to Balnazzar
    Hero - Create Phat Lewt and give it to Balnazzar
    Hero - Create Phat Lewt and give it to Balnazzar
    -------- Mana --------
    Unit - Set mana of Balnazzar to 100%
Create Lich Orange
  Events
  Conditions
  Actions
    -------- Create Default Hero --------
    Unit - Create 1.Lich for P06_OrangeUndead at (Center of Lich_01 <gen>) facing 300.00 degrees
    Set VariableSet Lich01 = (Last created unit)
    Hero - Set Lich01 Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Lich01: Undead Lich - Frost Nova
    Hero - Learn skill for Lich01: Undead Lich - Frost Nova
    Hero - Learn skill for Lich01: Undead Lich - Frost Nova
    Hero - Learn skill for Lich01: Undead Lich - Frost Armor
    Hero - Learn skill for Lich01: Undead Lich - Frost Armor
    Hero - Learn skill for Lich01: Undead Lich - Dark Ritual
    Hero - Learn skill for Lich01: Undead Lich - Dark Ritual
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        Hero - Set Lich01 Hero-level to 10, Hide level-up graphics
        Hero - Learn skill for Lich01: Undead Lich - Frost Armor
        Hero - Learn skill for Lich01: Undead Lich - Dark Ritual
        Hero - Learn skill for Lich01: Undead Lich - Death And Decay
      Else - Actions
        Hero - Disable experience gain for Lich01.
    -------- Add Items --------
    Hero - Create Phat Lewt and give it to Lich01
    Hero - Create Phat Lewt and give it to Lich01
    Hero - Create Phat Lewt and give it to Lich01
    Hero - Create Phat Lewt and give it to Lich01
    Hero - Create Phat Lewt and give it to Lich01
    Hero - Create Phat Lewt and give it to Lich01
Create Lich Green
  Events
  Conditions
  Actions
    -------- Create Default Hero --------
    Unit - Create 1.Lich for P07_GreenUndead at (Center of Lich_02 <gen>) facing 300.00 degrees
    Set VariableSet Lich02 = (Last created unit)
    Hero - Set Lich02 Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Lich02: Undead Lich - Frost Nova
    Hero - Learn skill for Lich02: Undead Lich - Frost Nova
    Hero - Learn skill for Lich02: Undead Lich - Frost Nova
    Hero - Learn skill for Lich02: Undead Lich - Frost Armor
    Hero - Learn skill for Lich02: Undead Lich - Frost Armor
    Hero - Learn skill for Lich02: Undead Lich - Dark Ritual
    Hero - Learn skill for Lich02: Undead Lich - Dark Ritual
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        Hero - Set Lich02 Hero-level to 10, Hide level-up graphics
        Hero - Learn skill for Lich02: Undead Lich - Frost Armor
        Hero - Learn skill for Lich02: Undead Lich - Dark Ritual
        Hero - Learn skill for Lich02: Undead Lich - Death And Decay
      Else - Actions
        Hero - Disable experience gain for Lich02.
    -------- Add Items --------
    Hero - Create Phat Lewt and give it to Lich02
    Hero - Create Phat Lewt and give it to Lich02
    Hero - Create Phat Lewt and give it to Lich02
    Hero - Create Phat Lewt and give it to Lich02
    Hero - Create Phat Lewt and give it to Lich02
    Hero - Create Phat Lewt and give it to Lich02
Before running this in a cinematic, do the following:
- Set "RevivalHero" to the hero you wish to revive.
- Set "RevivalSpot" to the place at which you wish the hero to be revived.

After running this, set the unit facing for the revived hero.

After the cinematic, move the hero instantly to RevivalReturnSpot.
Cinematic Revival
  Events
  Conditions
  Actions
    Set VariableSet RevivalReturnSpot = (Position of RevivalHero)
    Unit - Move RevivalHero instantly to RevivalSpot
    If ((RevivalHero is alive) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Hero - Instantly revive RevivalHero at RevivalSpot, Hide revival graphics
    Set VariableSet RevivalReturnSpot = RevivalSpot
    Set VariableSet RevivalAltar = (Random unit from (Units owned by (Owner of RevivalHero) matching ((((Matching unit) is alive) Equal to True) and ((((Unit-type of (Matching unit)) Equal to Altar of Kings) or ((Unit-type of (Matching unit)) Equal to Altar of Storms)) or (((Unit-type of (Matching unit)) Equal to Altar of Darkness) or ((Unit-type of (Matching unit)) Equal to Altar of Elders)))).))
    If (RevivalAltar Not equal to No unit) then do (Set VariableSet RevivalReturnSpot = ((Position of RevivalAltar) offset by (0, -128.00))) else do (Do nothing)
Intro Cinematic Q
  Events
  Conditions
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Trigger - Run Intro_Setup <gen> (checking conditions)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_01 for (Picked player) over 0 seconds
    -------- Fade In --------
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.25 seconds
    Sound - Set Music to 100%
    Wait 1.75 seconds
    Trigger - Turn on Intro_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_02 for (Picked player) over 30.00 seconds
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras01 <gen> and display The capital city is heavily defended. Balnazzar is no fool, my lady. This battle can be won only through attrition.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Varimathras01 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Lock Garithos's Head to face Varimathras, offset by (0, 0, 90)
    Unit - Make Garithos face 130.00 over 0.20 seconds
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos02 <gen> and display What's the matter, demon? Are you afraid?. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Garithos02 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Varimathras face Garithos over 0.20 seconds
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras03 <gen> and display Watch your tongue, human dog. Your hollow bravado does not impress--. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Varimathras03 <gen> to be 0.30 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Sylvanas face Garithos over 0.20 seconds
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas04 <gen> and display Stand down, gentlemen! Save your anger for Balnazzar. Garithos, I'll lead my forces in a frontal assault while you attack the city from the rear.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas04 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Varimathras face -160.00 over 0.30 seconds
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos05 <gen> and display An aggressive ploy, milady. So long as we get our capital back, I'll stick to whatever strategy you wish.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Garithos05 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas06 <gen> and display Give the order. Let the attack commence.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas06 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Intro_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set VariableSet InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Intro Skipped
  Events
    Player - Player 1 (Red) skips a cinematic sequence
    Player - Player 2 (Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet IntroSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set VariableSet InCinematic = False
    Trigger - Remove Intro_Cinematic_Q <gen> from the trigger queue
Intro Setup
  Events
  Conditions
  Actions
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Winter Sky (Red)
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Sylvanas.
    Hero - Disable experience gain for Varimathras.
    Hero - Disable experience gain for Garithos.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Sylvanas
    Unit - Unpause Varimathras
    Unit - Unpause Garithos
    -------- Enable Aura --------
    Player - Disable Vampiric Aura for AP01_Varimathras
    Player - Disable Vampiric Aura for P04_PurpleUndead
    Player - Disable Devotion Aura for P09_GarithosHuman
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP11_SharedPlayer matching (((Matching unit) is hidden) Equal to False).)
    Unit Group - Add all units of (Units owned by AP02_Sylvanas.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP01_Varimathras.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_TealUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_PurpleUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_YellowUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_OrangeUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_GreenUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P09_GarithosHuman.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P10_LightBlueDwarves.) to HiddenUnits
    Unit Group - Add all units of (Units owned by Neutral Hostile.) to HiddenUnits
    Unit Group - Remove Sylvanas from HiddenUnits.
    Unit Group - Remove Varimathras from HiddenUnits.
    Unit Group - Remove Garithos from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
Intro Cleanup
  Events
  Conditions
  Actions
    -------- Move Units --------
    Unit - Move Sylvanas instantly to (Center of Gameplay_Slyvanas_Start <gen>), facing 255.00 degrees
    Unit - Move Varimathras instantly to (Center of Gameplay_Varimathras_Start <gen>), facing 285.00 degrees
    Unit - Move Garithos instantly to (Center of Gameplay_Garithos_Start <gen>), facing 90.00 degrees
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Enable Aura --------
    Player - Enable Vampiric Aura for AP01_Varimathras
    Player - Enable Vampiric Aura for P04_PurpleUndead
    Player - Enable Devotion Aura for P09_GarithosHuman
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForSylvanas Equal to False) then do (Enable experience gain for Sylvanas.) else do (Do nothing)
    If (ExpDisabledForVarimathras Equal to False) then do (Enable experience gain for Varimathras.) else do (Do nothing)
    If (ExpDisabledForGarithos Equal to False) then do (Enable experience gain for Varimathras.) else do (Do nothing)
    -------- Restore Selection --------
    Selection - Select Sylvanas for AP02_Sylvanas
    Selection - Select Varimathras for AP01_Varimathras
    -------- Reset Sky --------
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
    Camera - Pan camera for AP02_Sylvanas to (Center of Gameplay_Slyvanas_Start <gen>) over 0 seconds
    Camera - Pan camera for AP01_Varimathras to (Center of Gameplay_Varimathras_Start <gen>) over 0 seconds
    -------- Initial Harvesting --------
    Unit Group - Pick every unit in (Units in PeonsHarvetGold_01 <gen> owned by AP11_SharedPlayer) and do (Order (Picked unit) to Harvest Nearby Gold.)
    Unit Group - Pick every unit in (Units in PeonsHarvestLumber_01 <gen> owned by AP11_SharedPlayer) and do (Order (Picked unit) to Harvest Nearby Lumber.)
    Unit Group - Pick every unit in (Units in PeonsHarvetGold_02 <gen> owned by P09_GarithosHuman) and do (Order (Picked unit) to Harvest Nearby Gold.)
    Unit Group - Pick every unit in (Units in PeonsHarvestLumber_02 <gen> owned by P09_GarithosHuman) and do (Order (Picked unit) to Harvest Nearby Lumber.)
    -------- Reset Animations --------
    Animation - Reset Garithos's body-part facing
    -------- Wipe Visibility --------
    Visibility - Create an initially Enabled visibility modifier for AP02_Sylvanas emitting Black mask across (Playable map area)
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP01_Varimathras emitting Black mask across (Playable map area)
    Visibility - Destroy (Last created visibility modifier)
Gameplay
  Events
  Conditions
  Actions
    -------- Do initial gameplay stuff, like quest messages and hints --------
    Wait 5.00 seconds
    Trigger - Add Balnazzar_Found_Q <gen> to the trigger queue (Checking conditions)
    Wait 30.00 seconds
    Trigger - Add Hint_Shared_Unit_Control_Q <gen> to the trigger queue (Checking conditions)
    Wait 30.00 seconds
    Countdown Timer - Start DwarvesIntroTimer as a One-shot timer that will expire in 15.00 seconds
Dwarves Cinematic Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameOver Equal to True
      Then - Actions
        Skip remaining actions
      Else - Actions
    Trigger - Run Dwarves_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Mid_Dwarves_01 for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_Mid_Dwarves_03 for (Picked player) over 5.00 seconds
    -------- Units Movement --------
    Unit - Create 1.Footman for P09_GarithosHuman at (Center of Dwarves_Footman_01 <gen>) facing 10.00 degrees
    Set VariableSet DwarvesFootman01 = (Last created unit)
    Unit - Create 1.Footman for P09_GarithosHuman at (Center of Dwarves_Footman_02_A <gen>) facing 260.00 degrees
    Set VariableSet DwarvesFootman02 = (Last created unit)
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Turn on Dwarves_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Unit - Make DwarvesFootman01 face Garithos over 0.60 seconds
    Unit - Order DwarvesFootman02 to Move To.(Center of Dwarves_Footman_02_Aa <gen>)
    Wait 1.30 seconds
    Unit - Order DwarvesFootman02 to Move To.(Center of Dwarves_Footman_02_B <gen>)
    Wait 1.30 seconds
    If (DwarvesSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from DwarvesFootman02 named Footman: Play L06Footman17 <gen> and display Lord Garithos, our scouts have found the missing band of dwarves! They appear to be lost in the wilderness nearby.. Modify duration: Add 0 seconds and Don't wait
    Unit - Make Garithos face DwarvesFootman02 over 0.60 seconds
    Wait for L06Footman17 <gen> to be 0 seconds from finished playing
    If (DwarvesSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos18 <gen> and display Those brainless dwarves are almost more trouble then they're worth! However, we'll need them on the front lines. I'll have to lead them myself.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Garithos18 <gen> to be 0 seconds from finished playing
    If (DwarvesSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Dwarves_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Dwarves_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    Trigger - Run Quest_Dwarves_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Set VariableSet InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Dwarves Skipped
  Events
    Player - Player 1 (Red) skips a cinematic sequence
    Player - Player 2 (Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet DwarvesSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Dwarves_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Quest Update --------
    Trigger - Run Quest_Dwarves_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Set VariableSet InCinematic = False
    Trigger - Remove Dwarves_Cinematic_Q <gen> from the trigger queue
Dwarves Setup
  Events
  Conditions
  Actions
    -------- Save Camera Position --------
    Set VariableSet CameraReturnPoint = (Target of current camera view)
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Winter Sky (Red)
    -------- Save Selection --------
    Set VariableSet SelectedUnitsPlayer1 = (Units currently selected by AP02_Sylvanas)
    Set VariableSet SelectedUnitsPlayer2 = (Units currently selected by AP01_Varimathras)
    Selection - Clear selection for AP02_Sylvanas.
    Selection - Clear selection for AP01_Varimathras.
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Garithos
    Set VariableSet RevivalSpot = (Center of Dwarves_Garithos_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet GarithosReturnSpot = RevivalReturnSpot
    Unit - Make Garithos face 90.00 over 180.00 seconds
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Sylvanas.
    Hero - Disable experience gain for Varimathras.
    Hero - Disable experience gain for Garithos.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Garithos
    -------- Disable Aura --------
    Player - Disable Vampiric Aura for AP01_Varimathras
    Player - Disable Vampiric Aura for P04_PurpleUndead
    Player - Disable Devotion Aura for P09_GarithosHuman
    -------- Remove Buffs --------
    Unit Group - Pick every unit in (Units owned by AP02_Sylvanas matching (((Matching unit) is hidden) Equal to False).) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP01_Varimathras matching (((Matching unit) is hidden) Equal to False).) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP11_SharedPlayer matching (((Matching unit) is hidden) Equal to False).) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P04_PurpleUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P07_GreenUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P09_GarithosHuman.) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP11_SharedPlayer matching (((Matching unit) is hidden) Equal to False).)
    Unit Group - Add all units of (Units owned by AP02_Sylvanas matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP01_Varimathras matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_TealUndead matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_PurpleUndead matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_YellowUndead matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_OrangeUndead matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_GreenUndead matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P09_GarithosHuman matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by P10_LightBlueDwarves matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Add all units of (Units owned by Neutral Hostile matching (((Matching unit) is hidden) Equal to False).) to HiddenUnits
    Unit Group - Remove Garithos from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Music Theme --------
    Sound - Play Human X1, skipping the first 55.00 seconds
Dwarves Cleanup
  Events
  Conditions
  Actions
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Unit Movement --------
    Unit - Remove DwarvesFootman01 from the game
    Unit - Remove DwarvesFootman02 from the game
    -------- Enable Aura --------
    Player - Enable Vampiric Aura for AP01_Varimathras
    Player - Enable Vampiric Aura for P04_PurpleUndead
    Player - Enable Devotion Aura for P09_GarithosHuman
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForSylvanas Equal to False) then do (Enable experience gain for Sylvanas.) else do (Do nothing)
    If (ExpDisabledForVarimathras Equal to False) then do (Enable experience gain for Varimathras.) else do (Do nothing)
    If (ExpDisabledForGarithos Equal to False) then do (Enable experience gain for Garithos.) else do (Do nothing)
    -------- Return Heroes --------
    Unit - Move Garithos instantly to GarithosReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnitsPlayer1 for AP02_Sylvanas
    Selection - Select SelectedUnitsPlayer2 for AP01_Varimathras
    -------- Reset Sky --------
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to CameraReturnPoint over 0 seconds
Dwarves Completed Cinematic Q
  Events
  Conditions
    GameOver Equal to False
    DwarvesDead Equal to False
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameOver Equal to True
      Then - Actions
        Skip remaining actions
      Else - Actions
    Trigger - Run Dwarves_Completed_Setup <gen> (checking conditions)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        DwarvesDead Equal to True
      Then - Actions
        Trigger - Run Dwarves_Completed_Skipped <gen> (ignoring conditions)
        Skip remaining actions
      Else - Actions
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Mid_Dwarves_Complete_01 for (Picked player) over 0 seconds
    -------- Units Movement --------
    -------- Fade In --------
    Unit - Make Garithos face Rifleman 0123 <gen> over 0.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Turn on Dwarves_Completed_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
    Camera - .Apply. gg_cam_Mid_Dwarves_Complete_02 for (Picked player) over 5.00 seconds
    Wait 1.00 seconds
    If (DwarvesCompletedSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos19 <gen> and display Can't you idiots follow simple orders? There's a war on, and you louts are off having a picnic! Get this column rolling immediately!. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Garithos19 <gen> to be 0 seconds from finished playing
    If (DwarvesCompletedSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Rifleman 0123 <gen> to Move To.(Center of DwarfMoveTo <gen>)
    Wait 1.00 seconds
    If (DwarvesCompletedSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Rifleman 0123 <gen> named Rifleman: Play L06Rifleman20 <gen> and display Right away, Lord Garithos! Move 'em out, lads!. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Rifleman20 <gen> to be 2.30 seconds from finished playing
    Unit - Make Rifleman 0123 <gen> face Mortar Team 0117 <gen> over 0.30 seconds
    Wait 2.50 seconds
    If (DwarvesCompletedSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Mid_Dwarves_Complete_03 for (Picked player) over 0.00 seconds
    Unit - Make Rifleman 0121 <gen> face Rifleman 0125 <gen> over 0.30 seconds
    Cinematic - Send transmission to (All players) from Rifleman 0123 <gen> named Rifleman: Play L06Rifleman21 <gen> and display They don't pay us enough to put up with that asshole.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Rifleman21 <gen> to be 2.00 seconds from finished playing
    Animation - Lock Rifleman 0125 <gen>'s Head to face Rifleman 0121 <gen>, offset by (0, 0, 500.00)
    Wait 2.00 seconds
    If (DwarvesCompletedSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Dwarves_Completed_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Dwarves_Completed_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    Trigger - Run Quest_Dwarves_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Set VariableSet InCinematic = False
    Trigger - Run Dwarves_Found <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Run Barrage <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Dwarves Completed Skipped
  Events
    Player - Player 1 (Red) skips a cinematic sequence
    Player - Player 2 (Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet DwarvesCompletedSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Dwarves_Completed_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Quest Update --------
    Trigger - Run Quest_Dwarves_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Set VariableSet InCinematic = False
    Trigger - Run Dwarves_Found <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Run Barrage <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove Dwarves_Completed_Cinematic_Q <gen> from the trigger queue
Dwarves Completed Setup
  Events
  Conditions
  Actions
    -------- Save Camera Position --------
    Set VariableSet CameraReturnPoint = (Target of current camera view)
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Winter Sky (Red)
    -------- Save Selection --------
    Set VariableSet SelectedUnitsPlayer1 = (Units currently selected by AP02_Sylvanas)
    Set VariableSet SelectedUnitsPlayer2 = (Units currently selected by AP01_Varimathras)
    Selection - Clear selection for AP02_Sylvanas.
    Selection - Clear selection for AP01_Varimathras.
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Garithos
    Set VariableSet RevivalSpot = (Center of Dwarves_Garithos_Completed_01 <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet GarithosReturnSpot = RevivalReturnSpot
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Sylvanas.
    Hero - Disable experience gain for Varimathras.
    Hero - Disable experience gain for Garithos.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Garithos
    Unit - Unpause Rifleman 0123 <gen>
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP11_SharedPlayer matching (((Matching unit) is hidden) Equal to False).)
    Unit Group - Add all units of (Units owned by AP02_Sylvanas.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP01_Varimathras.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_TealUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_PurpleUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_YellowUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_OrangeUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_GreenUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P09_GarithosHuman.) to HiddenUnits
    Unit Group - Add all units of (Units owned by Neutral Hostile.) to HiddenUnits
    Unit Group - Remove Garithos from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Disable Aura --------
    Player - Disable Vampiric Aura for AP01_Varimathras
    Player - Disable Vampiric Aura for P04_PurpleUndead
    Player - Disable Devotion Aura for P09_GarithosHuman
    -------- Remove Buffs --------
    Unit Group - Pick every unit in (Units owned by AP02_Sylvanas matching (((Matching unit) is hidden) Equal to False).) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP01_Varimathras matching (((Matching unit) is hidden) Equal to False).) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP11_SharedPlayer.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P04_PurpleUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P07_GreenUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P09_GarithosHuman.) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Human X1, skipping the first 258.00 seconds
Dwarves Completed Cleanup
  Events
  Conditions
  Actions
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Unit Movement --------
    -------- Enable Aura --------
    Player - Enable Vampiric Aura for AP01_Varimathras
    Player - Enable Vampiric Aura for P04_PurpleUndead
    Player - Enable Devotion Aura for P09_GarithosHuman
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForSylvanas Equal to False) then do (Enable experience gain for Sylvanas.) else do (Do nothing)
    If (ExpDisabledForVarimathras Equal to False) then do (Enable experience gain for Varimathras.) else do (Do nothing)
    If (ExpDisabledForGarithos Equal to False) then do (Enable experience gain for Garithos.) else do (Do nothing)
    -------- Return Heroes --------
    Unit - Move Garithos instantly to GarithosReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnitsPlayer1 for AP02_Sylvanas
    Selection - Select SelectedUnitsPlayer2 for AP01_Varimathras
    -------- Reset Sky --------
    Environment - Set sky to None
    -------- Reset Animations --------
    Animation - Reset Rifleman 0125 <gen>'s body-part facing
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to CameraReturnPoint over 0 seconds
Victory Cinematic Q
  Events
  Conditions
  Actions
    Set VariableSet InCinematic = True
    -------- Quest update --------
    Trigger - Run Quest_Balnazzar_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Victory_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Unit - Create 1 Ghoul for AP11_SharedPlayer at (Center of GhoulEnd01 <gen>) facing (Center of Balnazzar_End <gen>)
    Set VariableSet GhoulEnd01 = (Last created unit)
    Unit - Set life of GhoulEnd01 to 3.00%
    Unit - Create 1 Ghoul for AP11_SharedPlayer at (Center of GhoulEnd02 <gen>) facing (Center of Balnazzar_End <gen>)
    Set VariableSet GhoulEnd02 = (Last created unit)
    Unit - Set life of GhoulEnd02 to 3.00%
    Unit - Create 1 Ghoul for AP11_SharedPlayer at (Center of GhoulEnd03 <gen>) facing (Center of Balnazzar_End <gen>)
    Set VariableSet GhoulEnd03 = (Last created unit)
    Unit - Set life of GhoulEnd03 to 3.00%
    Player - Enable Cannibalize for AP11_SharedPlayer
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Victory_01 for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_Victory_01a for (Picked player) over 30.00 seconds
    Special Effect - Create a special effect attached to the chest (attachpoint) of Balnazzar using Objects\Spawnmodels\Other\OrcBloodCinematicEffect\OrcBloodCinematicEffect.mdl
    Animation - Lock Balnazzar's Head to face Sylvanas, offset by (0, 0, 90.00)
    Animation - Lock Balnazzar's Chest to face Sylvanas, offset by (0, 0, -700.00)
    -------- Fade In --------
    Unit - Make Balnazzar face Sylvanas over 0 seconds
    Unit - Make Sylvanas face Balnazzar over 0 seconds
    Unit - Make Varimathras face Balnazzar over 0 seconds
    Unit - Make Garithos face Balnazzar over 0 seconds
    Unit - Set life of Balnazzar to 3.00%
    Unit - Set mana of Varimathras to 5.00%
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Set Animation and Spell Sounds to 100%
    Sound - Set Combat Sounds to 100%
    Wait 1.00 seconds
    Animation - Change Balnazzar blend time to 0.80
    Special Effect - Create a special effect attached to the foot left (attachpoint) of Balnazzar using Objects\Spawnmodels\Other\OrcBloodCinematicEffect\OrcBloodCinematicEffect.mdl
    Trigger - Turn on Victory_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas53 <gen> and display It's over, Balnazzar. Varimathras?. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas53 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect attached to the head (attachpoint) of Balnazzar using Objects\Spawnmodels\Other\OrcBloodCinematicEffect\OrcBloodCinematicEffect.mdl
    Unit - Make Varimathras face Sylvanas over 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras54 <gen> and display Yes, my lady?. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Varimathras54 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas55 <gen> and display Kill him.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas55 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Balnazzar face Varimathras over 1.00 seconds
    Animation - Lock Balnazzar's Head to face Varimathras, offset by (0, 0, 150.00)
    Wait 0.40 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect attached to the hand right (attachpoint) of Balnazzar using Objects\Spawnmodels\Other\OrcBloodCinematicEffect\OrcBloodCinematicEffect.mdl
    Animation - Lock Balnazzar's Chest to face Varimathras, offset by (0, 0, -300.00)
    Unit - Order Varimathras to Move To.(Center of Vari_Walk_To <gen>)
    Wait 1.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Varimathras face Sylvanas over 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras56 <gen> and display But I... It is forbidden for one of the Nathrezim to kill another! My defection was one thing, but this.... Modify duration: Add 0 seconds and Don't wait
    Wait for L06Varimathras56 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas57 <gen> and display I require one last test of your loyalty, dreadlord. Do it.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas57 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Varimathras face Balnazzar over 0.30 seconds
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar58 <gen> and display You wouldn't dare!. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Balnazzar58 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Varimathras to Attack.Balnazzar
    Animation - Reset Balnazzar's body-part facing
    Wait 2.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set Animation and Spell Sounds to 60.00%
    Unit - Order Garithos to Move To.(Center of GarithosEndMoveTo <gen>)
    Unit - Make Varimathras face Garithos over 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos59 <gen> and display There, your business is done. Now, I want you wretched animals out of my city before I--. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Garithos59 <gen> to be 0.50 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas60 <gen> and display Kill him, too.. Modify duration: Add 0 seconds and Don't wait
    Sound - Set Animation and Spell Sounds to 100.00%
    Wait for L06Sylvanas60 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.40 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Garithos face Sylvanas over 0.20 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras61 <gen> and display Gladly.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Varimathras61 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Garithos face Varimathras over 0.20 seconds
    Unit - Order Varimathras to Special Doom Guard - Rain Of Fire.(Center of GarithosEndMoveTo <gen>)
    Sound - Play RainOfFireTarget1 <gen> at 80.00% volume, located at (Center of GarithosEndMoveTo <gen>) with Z offset 0
    Wait 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Garithos to Attack.Varimathras
    Wait 1.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Kill Garithos
    Unit - Order Varimathras to Stop.
    Wait 1.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Varimathras to Move To.(Center of Varimathras_End <gen>)
    Unit - Order GhoulEnd01 to Move To.(Center of GhoulEat <gen>)
    Unit - Order GhoulEnd02 to Move To.(Center of GhoulEatA <gen>)
    Unit - Order GhoulEnd03 to Move To.(Center of GhoulEatB <gen>)
    Wait 3.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop the currently playing music theme
    Unit - Make GhoulEnd01 face (Center of GarithosEndMoveTo <gen>) over 0.20 seconds
    Unit - Make GhoulEnd02 face (Center of GarithosEndMoveTo <gen>) over 0.20 seconds
    Unit - Make GhoulEnd03 face (Center of GarithosEndMoveTo <gen>) over 0.20 seconds
    Animation - Play GhoulEnd01's stand channel (animationname) animation
    Animation - Play GhoulEnd02's stand channel (animationname) animation
    Animation - Play GhoulEnd03's stand channel (animationname) animation
    Unit - Order Sylvanas to Move To.(Center of SylvanasEndMoveTo <gen>)
    Unit - Order Varimathras to Move To.(Center of VariEndMoveTo <gen>)
    Wait 0.75 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_FromThisDay for (Picked player) over 0 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas62 <gen> and display The capital city is ours, but we are no longer part of the Scourge. From here on out, we shall be known as the Forsaken.. Modify duration: Add 0 seconds and Don't wait
    Sound - Play Dark Victory.
    Wait for L06Sylvanas62 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play GhoulEnd01's stand channel (animationname) animation
    Animation - Play GhoulEnd02's stand channel (animationname) animation
    Animation - Play GhoulEnd03's stand channel (animationname) animation
    Unit - Make Sylvanas face Varimathras over 0.20 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_WeWillFind for (Picked player) over 0 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas63 <gen> and display We will find our own path in this world, dreadlord... and slaughter anyone who stands in our way.. Modify duration: Add 0 seconds and Don't wait
    Wait for L06Sylvanas63 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Victory_Skipped <gen>
    Player - Make AP02_Sylvanas treat P04_PurpleUndead as an Enemy
    Player - Make AP01_Varimathras treat P04_PurpleUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P04_PurpleUndead as an Enemy
    Player - Make P04_PurpleUndead treat AP02_Sylvanas as an Enemy
    Player - Make P04_PurpleUndead treat AP01_Varimathras as an Enemy
    Player - Make P04_PurpleUndead treat AP11_SharedPlayer as an Enemy
    Player - Make AP02_Sylvanas treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP01_Varimathras treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP11_SharedPlayer treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP02_Sylvanas as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP01_Varimathras as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP11_SharedPlayer as an Ally with shared vision and full shared units
    -------- Fade Out --------
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Skipped
  Events
    Player - Player 1 (Red) skips a cinematic sequence
    Player - Player 2 (Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet VictorySkipped = True
    -------- Fade Out --------
    Player - Make AP02_Sylvanas treat P04_PurpleUndead as an Enemy
    Player - Make AP01_Varimathras treat P04_PurpleUndead as an Enemy
    Player - Make AP11_SharedPlayer treat P04_PurpleUndead as an Enemy
    Player - Make P04_PurpleUndead treat AP02_Sylvanas as an Enemy
    Player - Make P04_PurpleUndead treat AP01_Varimathras as an Enemy
    Player - Make P04_PurpleUndead treat AP11_SharedPlayer as an Enemy
    Player - Make AP02_Sylvanas treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP01_Varimathras treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP11_SharedPlayer treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP02_Sylvanas as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP01_Varimathras as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP11_SharedPlayer as an Ally with shared vision and full shared units
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Setup
  Events
  Conditions
  Actions
    Player - Make Player 1 (Red) treat Player 4 (Purple) as an Neutral
    Player - Make Player 2 (Blue) treat Player 4 (Purple) as an Neutral
    Player - Make Player 9 (Gray) treat Player 4 (Purple) as an Neutral
    Player - Make Player 11 (Dark Green) treat Player 4 (Purple) as an Neutral
    Player - Make Player 4 (Purple) treat Player 1 (Red) as an Neutral
    Player - Make Player 4 (Purple) treat Player 2 (Blue) as an Neutral
    Player - Make Player 4 (Purple) treat Player 9 (Gray) as an Neutral
    Player - Make Player 4 (Purple) treat Player 11 (Dark Green) as an Neutral
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Winter Sky (Red)
    -------- Clear Selection --------
    Selection - Clear selection
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Sylvanas
    Set VariableSet RevivalSpot = (Center of Sylvanas_End <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet SylvanasReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Sylvanas to AP02_Sylvanas and Change color
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Varimathras
    Set VariableSet RevivalSpot = (Center of Varimathras_End <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet VarimathrasReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Varimathras to AP01_Varimathras and Change color
    Hero - Instantly revive Satchet02 at RevivalSpot, Hide revival graphics
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Balnazzar
    Set VariableSet RevivalSpot = (Center of Balnazzar_End <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet BalnazzarReturnSpot = RevivalReturnSpot
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Garithos
    Set VariableSet RevivalSpot = (Center of Garithos_End <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet GarithosReturnSpot = RevivalReturnSpot
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Sylvanas.
    Hero - Disable experience gain for Garithos.
    Hero - Disable experience gain for Balnazzar.
    Hero - Disable experience gain for Varimathras.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Sylvanas
    Unit - Unpause Varimathras
    Unit - Unpause Garithos
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP11_SharedPlayer matching (((Matching unit) is hidden) Equal to False).)
    Unit Group - Add all units of (Units owned by AP02_Sylvanas.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP01_Varimathras.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_TealUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_PurpleUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_YellowUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_OrangeUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_GreenUndead.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P09_GarithosHuman.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P10_LightBlueDwarves.) to HiddenUnits
    Unit Group - Remove Sylvanas from HiddenUnits.
    Unit Group - Remove Varimathras from HiddenUnits.
    Unit Group - Remove Balnazzar from HiddenUnits.
    Unit Group - Remove Garithos from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Disable Aura --------
    Player - Disable Vampiric Aura for AP01_Varimathras
    Player - Disable Vampiric Aura for P04_PurpleUndead
    Player - Disable Devotion Aura for P09_GarithosHuman
    -------- Remove Buffs --------
    Unit Group - Pick every unit in (Units owned by AP02_Sylvanas.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP01_Varimathras.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP11_SharedPlayer.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P04_PurpleUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P07_GreenUndead.) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P09_GarithosHuman.) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Tragic Confrontation.
Quest Balnazzar Create
  Events
  Conditions
    ((This trigger) is on) Equal to True
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Create the quest objects --------
    Quest - Create a Required, undiscovered quest titled Balnazzar with the description Balnazzar, the most powerful of the Dreadlords, holds Lordaeron in an iron grip. Only with the help of Garithos' army can Sylvanas hope to overthrow the mighty Dreadlord's rule and bring him to his knees, thus establishing her freedom from the Scourge once and for all., using icon path ReplaceableTextures\CommandButtons\BTNTichondrius.tga
    Set VariableSet QuestBalnazzar = (Last created quest)
    Quest - Create a quest requirement for QuestBalnazzar with the description Destroy Balnazzar's purple base
    Set VariableSet QuestBalnazzarReq = (Last created quest requirement)
Quest Balnazzar Discover
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Balnazzar_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestBalnazzar as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rBalnazzar - Destroy Balnazzar's purple base
Quest Balnazzar Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Balnazzar_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestBalnazzar as Discovered
    Quest - Mark QuestBalnazzarReq as Completed
    Quest - Mark QuestBalnazzar as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rBalnazzar
Quest Dwarves Create
  Events
  Conditions
    ((This trigger) is on) Equal to True
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Create the quest objects --------
    Quest - Create a Optional, undiscovered quest titled Ironforge Dwarves with the description Unlike the rest of Garithos' troops, the Dwarven contingent seems to have gone astray during the march to Lordaeron. If they could be located, their assistance in laying siege to the city would be invaluable., using icon path ReplaceableTextures\CommandButtons\BTNAvatarOn.tga
    Set VariableSet QuestDwarves = (Last created quest)
    Quest - Create a quest requirement for QuestDwarves with the description Locate the missing Dwarves
    Set VariableSet QuestDwarvesReq = (Last created quest requirement)
Quest Dwarves Discover
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Dwarves_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestDwarves as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rIronforge Dwarves - Locate the missing Dwarves
    -------- Ping and Reveal --------
    Player - For AP02_Sylvanas, turn Shared vision On toward P10_LightBlueDwarves
    Player - For AP01_Varimathras, turn Shared vision On toward P10_LightBlueDwarves
    Player - For P10_LightBlueDwarves, turn Shared vision On toward AP02_Sylvanas
    Player - For P10_LightBlueDwarves, turn Shared vision On toward AP01_Varimathras
    Cinematic - Ping minimap for APG1_Player at (Center of Ironforge_Dwarves_Vis <gen>) for 4.00 seconds
    Camera - Set a spacebar-point for AP02_Sylvanas at (Center of Ironforge_Dwarves_Vis <gen>)
    Camera - Set a spacebar-point for AP01_Varimathras at (Center of Ironforge_Dwarves_Vis <gen>)
Quest Dwarves Completed
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Dwarves_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestDwarves as Discovered
    Quest - Mark QuestDwarvesReq as Completed
    Quest - Mark QuestDwarves as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rIronforge Dwarves
    -------- Enable All The Dwarves --------
    Player - Make Rifleman Available for training/construction by P09_GarithosHuman
    Player - Make Siege Engine (Barrage) Available for training/construction by P09_GarithosHuman
    Player - Make Workshop Available for training/construction by P09_GarithosHuman
    Player - Set the max research level of Rhra (techcode) to 3 for P09_GarithosHuman
    Player - Set the max research level of Rhla (techcode) to 3 for P09_GarithosHuman
    -------- Dwarves Are Yours --------
    Unit Group - Pick every unit in (Units owned by P10_LightBlueDwarves.) and do (Actions)
      Loop - Actions
        Unit - Rescue (Picked unit) for P09_GarithosHuman and Change color
Quest Dwarves Failed
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Mark QuestDwarves as Discovered
    Quest - Mark QuestDwarves as Failed
    Quest - Display to (All players) the Quest Failed message: |cffffcc00OPTIONAL QUEST FAILED|rIronforge Dwarves
Balnazzar Found Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Run Quest_Balnazzar_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Ironforge Dwarves Intro
  Events
    Time - DwarvesIntroTimer expires
  Conditions
    GameOver Equal to False
    DwarvesDead Equal to False
    DwarvesDiscovered Equal to False
  Actions
    Wait until (InCombat Equal to False), checking every 1 seconds
    Trigger - Add Dwarves_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Ironforge Dwarves Rescued
  Events
    Unit - A unit enters TripwireDwarves_Discoverd <gen>
  Conditions
    GameOver Equal to False
    DwarvesDiscovered Equal to False
    DwarvesDead Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP02_Sylvanas
        (Owner of (Entering unit)) Equal to AP01_Varimathras
        (Owner of (Entering unit)) Equal to AP11_SharedPlayer
        (Owner of (Entering unit)) Equal to P09_GarithosHuman
    ((Entering unit) is Summoned) Equal to False
    ((Entering unit) is A flying unit) Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet DwarvesDiscovered = True
    Trigger - Add Dwarves_Completed_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Ironforge Dwarves Dead
  Events
    Unit - A unit owned by Player 10 (Light Blue).Dies
  Conditions
    GameOver Equal to False
    (All units of (Units owned by P10_LightBlueDwarves.) are dead) Equal to True
    DwarvesDiscovered Equal to False
    DwarvesDead Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet DwarvesDiscovered = True
    Set VariableSet DwarvesDead = True
    Trigger - Add Ironforge_Dwarves_Dead_Q <gen> to the trigger queue (Checking conditions)
Ironforge Dwarves Dead Q
  Events
  Conditions
  Actions
    Trigger - Run Quest_Dwarves_Failed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Dwarf 01
  Events
    Destructible - Cage 0738 <gen> dies
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Add Dwarf_01_Q <gen> to the trigger queue (Checking conditions)
Dwarf 01 Q
  Events
  Conditions
  Actions
    Unit - Create 1.Rifleman for P09_GarithosHuman at (Position of (Dying destructible)) facing 190.00 degrees
    Set VariableSet Rifleman01 = (Last created unit)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Rifleman01 named Dwarven Rifleman: Play RiflemanWarcry1 <gen> and display For Ironforge!. Modify duration: Add 0 seconds and Wait
    Sound - Play Rescue <gen>
    Cinematic - Flash a speech indicator for Rifleman01 of color (100%, 100%, 100%) with 0% transparency
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Dwarf 02
  Events
    Destructible - Cage 0438 <gen> dies
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Add Dwarf_02_Q <gen> to the trigger queue (Checking conditions)
Dwarf 02 Q
  Events
  Conditions
  Actions
    Unit - Create 1.Rifleman for P09_GarithosHuman at (Position of (Dying destructible)) facing 180.00 degrees
    Set VariableSet Rifleman02 = (Last created unit)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Rifleman02 named Dwarven Rifleman: Play RiflemanWhat1 <gen> and display Aye, sir!. Modify duration: Add 0 seconds and Wait
    Sound - Play Rescue <gen>
    Cinematic - Flash a speech indicator for Rifleman02 of color (100%, 100%, 100%) with 0% transparency
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rock Destroyed
  Events
    Destructible - A destructible within Destroy_Rocks <gen> dies
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Pick every destructible in Destroy_Rocks <gen> and do (Actions)
      Loop - Actions
        Destructible - Kill (Picked destructible)
Demon Start Patrol
  Events
  Conditions
    GameOver Equal to False
  Actions
    Unit - Order Fel Stalker 0030 <gen> to Attack-Move To.Patrol01B
    Unit - Order Fel Ravager 0023 <gen> to Attack-Move To.Patrol02B
    Unit - Order Fel Stalker 0036 <gen> to Attack-Move To.Patrol03B
    Unit - Order Fel Stalker 0073 <gen> to Attack-Move To.Patrol04B
    Unit - Order Fel Ravager 0071 <gen> to Attack-Move To.Patrol05B
    Unit - Order Fel Stalker 0072 <gen> to Attack-Move To.Patrol06B
Ogre Patrol 01A
  Events
    Unit - A unit enters Patrol_01_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0030 <gen>
    ((Owner of Fel Stalker 0030 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0030 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0030 <gen> to Attack-Move To.Patrol01B
Ogre Patrol 01B
  Events
    Unit - A unit enters Patrol_01_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0030 <gen>
    ((Owner of Fel Stalker 0030 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0030 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0030 <gen> to Attack-Move To.Patrol01A
Ogre Patrol 02A
  Events
    Unit - A unit enters Patrol_02_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Ravager 0023 <gen>
    ((Owner of Fel Ravager 0023 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Ravager 0023 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Ravager 0023 <gen> to Attack-Move To.Patrol02B
Ogre Patrol 02B
  Events
    Unit - A unit enters Patrol_02_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Ravager 0023 <gen>
    ((Owner of Fel Ravager 0023 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Ravager 0023 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Ravager 0023 <gen> to Attack-Move To.Patrol02A
Ogre Patrol 03A
  Events
    Unit - A unit enters Patrol_03_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0036 <gen>
    ((Owner of Fel Stalker 0036 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0036 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0036 <gen> to Attack-Move To.Patrol03B
Ogre Patrol 03B
  Events
    Unit - A unit enters Patrol_03_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0036 <gen>
    ((Owner of Fel Stalker 0036 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0036 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0036 <gen> to Attack-Move To.Patrol03A
Ogre Patrol 04A
  Events
    Unit - A unit enters Patrol_04_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0073 <gen>
    ((Owner of Fel Stalker 0073 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0073 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0073 <gen> to Attack-Move To.Patrol04B
Ogre Patrol 04B
  Events
    Unit - A unit enters Patrol_04_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0073 <gen>
    ((Owner of Fel Stalker 0073 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0073 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0073 <gen> to Attack-Move To.Patrol04A
Ogre Patrol 05A
  Events
    Unit - A unit enters Patrol_05_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Ravager 0071 <gen>
    ((Owner of Fel Ravager 0071 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Ravager 0071 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Ravager 0071 <gen> to Attack-Move To.Patrol05B
Ogre Patrol 05B
  Events
    Unit - A unit enters Patrol_05_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Ravager 0071 <gen>
    ((Owner of Fel Ravager 0071 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Ravager 0071 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Ravager 0071 <gen> to Attack-Move To.Patrol05A
Ogre Patrol 06A
  Events
    Unit - A unit enters Patrol_06_A <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0072 <gen>
    ((Owner of Fel Stalker 0072 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0072 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0072 <gen> to Attack-Move To.Patrol06B
Ogre Patrol 06B
  Events
    Unit - A unit enters Patrol_06_B <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Fel Stalker 0072 <gen>
    ((Owner of Fel Stalker 0072 <gen>) Not equal to AP11_SharedPlayer) and ((Owner of Fel Stalker 0072 <gen>) Not equal to AP02_Sylvanas)
  Actions
    Wait (Random real number between 0.50 and 1.00) seconds
    Unit - Order Fel Stalker 0072 <gen> to Attack-Move To.Patrol06A
Add Events
  Events
    Map initialization
  Conditions
  Actions
    Trigger - Add to Sylvanas <gen> the event (A unit comes within 650.00 of Balnazzar)
    Trigger - Add to Garithos <gen> the event (A unit comes within 650.00 of Balnazzar)
    Trigger - Add to Varimathras <gen> the event (A unit comes within 650.00 of Balnazzar)
Sylvanas
  Events
  Conditions
    GameOver Equal to False
    (Triggering unit) Equal to Sylvanas
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Sylvanas_Q <gen> to the trigger queue (Checking conditions)
Sylvanas Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Sylvanas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas36 <gen> and display Let's see. I've made one of your brothers my servant, and tore the other to bloody shreds. I wonder what your fate holds, Balnazzar?. Modify duration: Add 0 seconds and Wait
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Balnazzar is alive) Equal to True
        (Sylvanas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar37 <gen> and display I'll cut out your tongue!. Modify duration: Add 0 seconds and Wait
      Else - Actions
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Garithos
  Events
  Conditions
    GameOver Equal to False
    (Triggering unit) Equal to Garithos
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Garithos_Q <gen> to the trigger queue (Checking conditions)
Garithos Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Balnazzar is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar34 <gen> and display Ah, my wayward pet, Garithos. I see you've grown a spine since we last met.. Modify duration: Add 0 seconds and Wait
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Garithos is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos35 <gen> and display Your mind powers tricked me before, demon, but never again! You and I have a serious score to settle.. Modify duration: Add 0 seconds and Wait
      Else - Actions
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Varimathras
  Events
  Conditions
    GameOver Equal to False
    (Triggering unit) Equal to Varimathras
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Varimathras_Q <gen> to the trigger queue (Checking conditions)
Varimathras Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Balnazzar is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar33 <gen> and display You disappoint me, brother. Poor Detheroc must have been stung by your treachery. How dare you call yourself Nathrezim!. Modify duration: Add 0 seconds and Wait
      Else - Actions
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Sylvanas Base Attacked
  Events
    Unit - A unit owned by Player 1 (Red).Is attacked
    Unit - A unit owned by Player 2 (Blue).Is attacked
    Unit - A unit owned by Player 11 (Dark Green).Is attacked
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    ((Attacked unit) is A structure) Equal to True
    (Sylvanas is alive) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet SylvanasBaseAttacked = (SylvanasBaseAttacked + 1)
    If (SylvanasBaseAttacked Greater than 4) then do (Set VariableSet SylvanasBaseAttacked = 1) else do (Do nothing)
    -------- Queue the message --------
    If (SylvanasBaseAttacked Equal to 1) then do (Add Sylvanas_Base_Attacked_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (SylvanasBaseAttacked Equal to 2) then do (Add Sylvanas_Base_Attacked_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (SylvanasBaseAttacked Equal to 3) then do (Add Sylvanas_Base_Attacked_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (SylvanasBaseAttacked Equal to 4) then do (Add Sylvanas_Base_Attacked_4_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Sylvanas Base Attacked 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras07 <gen> and display Balnazzar's forces are advancing!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Base_Attacked <gen>
Sylvanas Base Attacked 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras08 <gen> and display We're under attack!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Base_Attacked <gen>
Sylvanas Base Attacked 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras09 <gen> and display Drive them back! We've got to push into the heart of the city!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Base_Attacked <gen>
Sylvanas Base Attacked 4 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras10 <gen> and display Our base is under siege! Man the defenses!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Base_Attacked <gen>
Garithos Base Attacked
  Events
    Unit - A unit owned by Player 9 (Gray).Is attacked
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    ((Attacked unit) is A structure) Equal to True
    (Garithos is alive) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet GarithosBaseAttacked = (GarithosBaseAttacked + 1)
    If (GarithosBaseAttacked Greater than 4) then do (Set VariableSet GarithosBaseAttacked = 1) else do (Do nothing)
    -------- Queue the message --------
    If (GarithosBaseAttacked Equal to 1) then do (Add Garithos_Base_Attacked_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosBaseAttacked Equal to 2) then do (Add Garithos_Base_Attacked_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosBaseAttacked Equal to 3) then do (Add Garithos_Base_Attacked_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosBaseAttacked Equal to 4) then do (Add Garithos_Base_Attacked_4_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Garithos Base Attacked 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos11 <gen> and display Here they come, boys! Stand your ground!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Base_Attacked <gen>
Garithos Base Attacked 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos12 <gen> and display The blasted undead are advancing!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Base_Attacked <gen>
Garithos Base Attacked 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos13 <gen> and display Cut them to shreds! For Lordaeron!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Base_Attacked <gen>
Garithos Base Attacked 4 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos14 <gen> and display We're under attack! Defend the base at all costs!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Base_Attacked <gen>
Garithos Needs Help
  Events
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    ((Dying unit) is A structure) Equal to True
    (Garithos is alive) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet GarithosNeedsHelp = (GarithosNeedsHelp + 1)
    If (GarithosNeedsHelp Greater than 3) then do (Set VariableSet GarithosNeedsHelp = 1) else do (Do nothing)
    -------- Queue the message --------
    If (GarithosNeedsHelp Equal to 1) then do (Add Garithos_Needs_Help_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosNeedsHelp Equal to 2) then do (Add Garithos_Needs_Help_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosNeedsHelp Equal to 3) then do (Add Garithos_Needs_Help_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Garithos Needs Help 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos50 <gen> and display The enemy is advancing! We may need help here!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Needs_Help <gen>
Garithos Needs Help 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos51 <gen> and display They're pressing the attack! We've got to hold the line!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Needs_Help <gen>
Garithos Needs Help 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos52 <gen> and display Stand fast, my warriors! We're not out of this yet!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Needs_Help <gen>
Sylvanas Random Lines
  Events
    Unit - A unit owned by Player 4 (Purple).Dies
    Unit - A unit owned by Player 5 (Yellow).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    (Killing unit) Equal to Sylvanas
    ((Dying unit) is A structure) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet SylvanasRandomLine = (SylvanasRandomLine + 1)
    If (SylvanasRandomLine Greater than 3) then do (Set VariableSet SylvanasRandomLine = 1) else do (Do nothing)
    -------- Queue the message --------
    If (SylvanasRandomLine Equal to 1) then do (Add Sylvanas_Random_Line_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (SylvanasRandomLine Equal to 2) then do (Add Sylvanas_Random_Line_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (SylvanasRandomLine Equal to 3) then do (Add Sylvanas_Random_Line_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Sylvanas Random Line 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas38 <gen> and display Push the attack! Their defenses are weakening!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Random_Lines <gen>
Sylvanas Random Line 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas39 <gen> and display Show them no mercy!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Random_Lines <gen>
Sylvanas Random Line 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas40 <gen> and display Where are you, Balnazzar? Afraid to face me?. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Sylvanas_Random_Lines <gen>
Varimathras Random Lines
  Events
    Unit - A unit owned by Player 4 (Purple).Dies
    Unit - A unit owned by Player 5 (Yellow).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    (Killing unit) Equal to Varimathras
    ((Dying unit) is A structure) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet VarimathrasRandomLines = (VarimathrasRandomLines + 1)
    If (VarimathrasRandomLines Greater than 3) then do (Set VariableSet VarimathrasRandomLines = 1) else do (Do nothing)
    -------- Queue the message --------
    If (VarimathrasRandomLines Equal to 1) then do (Add Varimathras_Random_Line_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (VarimathrasRandomLines Equal to 2) then do (Add Varimathras_Random_Line_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (VarimathrasRandomLines Equal to 3) then do (Add Varimathras_Random_Line_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Varimathras Random Line 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras41 <gen> and display Strike for the Dark Lady! For Sylvanas!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Varimathras_Random_Lines <gen>
Varimathras Random Line 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras42 <gen> and display Victory draws near! Hasten the attack!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Varimathras_Random_Lines <gen>
Varimathras Random Line 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Varimathras named Varimathras: Play L06Varimathras43 <gen> and display Balnazzar must be somewhere!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Varimathras_Random_Lines <gen>
Garithos Random Lines
  Events
    Unit - A unit owned by Player 4 (Purple).Dies
    Unit - A unit owned by Player 5 (Yellow).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    (Killing unit) Equal to Garithos
    ((Dying unit) is A structure) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet GarithosRandomLines = (GarithosRandomLines + 1)
    If (GarithosRandomLines Greater than 3) then do (Set VariableSet GarithosRandomLines = 1) else do (Do nothing)
    -------- Queue the message --------
    If (GarithosRandomLines Equal to 1) then do (Add Garithos_Random_Line_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosRandomLines Equal to 2) then do (Add Garithos_Random_Line_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GarithosRandomLines Equal to 3) then do (Add Garithos_Random_Line_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Garithos Random Line 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos44 <gen> and display Slay these inhuman freaks!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Random_Lines <gen>
Garithos Random Line 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos45 <gen> and display Forward, my warriors! We'll take back what's ours!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Random_Lines <gen>
Garithos Random Line 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Garithos named Grand Marshal Garithos: Play L06Garithos46 <gen> and display The city is nearly ours!. Modify duration: Add 0 seconds and Don't wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Garithos_Random_Lines <gen>
Storehouse
  Events
    Unit - A unit Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    Or - Any (Conditions) are true
      Conditions
        (Dying unit) Equal to Storehouse01
        (Dying unit) Equal to Storehouse02
        (Dying unit) Equal to Storehouse03
  Actions
    -------- Increment the message index --------
    Set VariableSet StoreHouse = (StoreHouse + 1)
    -------- Queue the message --------
    If (StoreHouse Equal to 1) then do (Add Storehouse_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (StoreHouse Equal to 2) then do (Add Storehouse_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (StoreHouse Equal to 3) then do (Add Storehouse_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Storehouse 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L06Sylvanas22 <gen> and display Storehouses such as this hold many of Lordaeron's treasures. Seek them out, and we'll claim whatever artifacts they hold!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Storehouse 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from a AP11_SharedPlayer.Banshee named Banshee at (Center of PeonsHarvetGold_01 <gen>): Play L06Banshee23 <gen> and display Mistress, we've discovered another storehouse! It may hold artifacts that could aid us!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Storehouse 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from a AP11_SharedPlayer.Banshee named Banshee at (Center of PeonsHarvetGold_01 <gen>): Play L06Banshee24 <gen> and display Mistress Sylvanas, we've found yet another storehouse! It likely holds priceless magical treasures!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Balnazzar Random Lines
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 2 (Blue).Dies
    Unit - A unit owned by Player 9 (Gray).Dies
    Unit - A unit owned by Player 11 (Dark Green).Dies
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    (Killing unit) Equal to Balnazzar
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet BalnazzarRandomLines = (BalnazzarRandomLines + 1)
    If (BalnazzarRandomLines Greater than 4) then do (Set VariableSet BalnazzarRandomLines = 1) else do (Do nothing)
    -------- Queue the message --------
    If (BalnazzarRandomLines Equal to 1) then do (Add Balnazzar_Random_Lines_1_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarRandomLines Equal to 2) then do (Add Balnazzar_Random_Lines_2_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarRandomLines Equal to 3) then do (Add Balnazzar_Random_Lines_3_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarRandomLines Equal to 4) then do (Add Balnazzar_Random_Lines_4_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Balnazzar Random Lines 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar25 <gen> and display You vile traitors will suffer for this outrage!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Random_Lines <gen>
Balnazzar Random Lines 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar26 <gen> and display These Plaguelands are mine!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Random_Lines <gen>
Balnazzar Random Lines 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar27 <gen> and display You will all drown in lakes of blood!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Random_Lines <gen>
Balnazzar Random Lines 4 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar28 <gen> and display My power is supreme! You mongrels cannot win!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Random_Lines <gen>
Balnazzar Demons
  Events
    Unit - A unit owned by Player 4 (Purple).Begins casting an ability
  Conditions
    GameOver Equal to False
    (The trigger queue is empty) Equal to True
    (Ability being cast) Equal to Rain of Chaos (Balnazzar)
  Actions
    Trigger - Turn off (This trigger)
    -------- Increment the message index --------
    Set VariableSet BalnazzarDemon = (BalnazzarDemon + 1)
    If (BalnazzarDemon Greater than 4) then do (Set VariableSet BalnazzarDemon = 1) else do (Do nothing)
    -------- Queue the message --------
    If (BalnazzarDemon Equal to 1) then do (Add Balnazzar_Demons_01_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarDemon Equal to 2) then do (Add Balnazzar_Demons_02_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarDemon Equal to 3) then do (Add Balnazzar_Demons_03_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (BalnazzarDemon Equal to 4) then do (Add Balnazzar_Demons_04_Q <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
Balnazzar Demons 01 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar29 <gen> and display Now, feel the wrath of the Legion!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Demons <gen>
Balnazzar Demons 02 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar30 <gen> and display Come, you burning devils! Balnazzar calls!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Demons <gen>
Balnazzar Demons 03 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar31 <gen> and display Heed me, demons! Devour these traitorous fools!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Demons <gen>
Balnazzar Demons 04 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Wait for (Last played sound) to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L06Balnazzar32 <gen> and display I still have a hand to play.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    -------- Wait a while before enabling the next warning message, to avoid spam --------
    Wait 180.00 seconds
    Trigger - Turn on Balnazzar_Demons <gen>
Dragon Attack Bulding
  Events
    Time - Elapsed game time is 1.00 seconds
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait until (InCinematic Equal to False), checking every 0.50 seconds
    Trigger - Run Dragon_Attack_Building_01 <gen> (checking conditions)
    Trigger - Run Dragon_Attack_Building_02 <gen> (checking conditions)
Dragon Attack Building 01
  Events
    Time - DragonAttackTimer01 expires
  Conditions
  Actions
    Set VariableSet DragonAttackBuilding01 = Red Dragon 0286 <gen>
    Countdown Timer - Start DragonAttackTimer01 as a One-shot timer that will expire in (Random real number between 1.10 and 1.30) seconds
    -------- ---- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameOver Equal to False
        InCreepCombat Equal to False
        DragonBusy Equal to False
        (DragonAttackBuilding01 <gen> contains DragonAttackBuilding01) Equal to True
        (DragonAttackBuilding01 is alive) Equal to True
      Then - Actions
        Animation - Play DragonAttackBuilding01's Attack 1 (animationname) animation
      Else - Actions
Dragon Attack Building 02
  Events
    Time - DragonAttackTimer02 expires
  Conditions
  Actions
    Set VariableSet DragonAttackBuilding01 = Red Drake 0287 <gen>
    Countdown Timer - Start DragonAttackTimer02 as a One-shot timer that will expire in (Random real number between 1.10 and 1.30) seconds
    -------- ---- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameOver Equal to False
        InCreepCombat Equal to False
        DragonBusy Equal to False
        (DragonAttackBuilding02 <gen> contains DragonAttackBuilding02) Equal to True
        (DragonAttackBuilding01 is alive) Equal to True
      Then - Actions
        Animation - Play DragonAttackBuilding01's attack (animationname) animation
      Else - Actions
Dragon Dies
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    ((Dying unit) is in DragonGroup.) Equal to True
    GameOver Equal to False
  Actions
    Unit Group - Remove (Dying unit) from DragonGroup.
Dragon Face Building
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCreepCombat Equal to False
    DragonBusy Equal to False
  Actions
    -------- Ogre 01 --------
    Set VariableSet DragonAttackBuilding01 = Red Dragon 0286 <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (DragonAttackBuilding01 <gen> contains DragonAttackBuilding01) Equal to True
      Then - Actions
        Unit - Make DragonAttackBuilding01 face 0.00 over 0.60 seconds
      Else - Actions
    -------- Ogre 02 --------
    Set VariableSet DragonAttackBuilding02 = Red Drake 0287 <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (DragonAttackBuilding02 <gen> contains DragonAttackBuilding02) Equal to True
      Then - Actions
        Unit - Make DragonAttackBuilding02 face 75.00 over 0.60 seconds
      Else - Actions
Dragon Attack
  Events
    Unit - A unit enters TripwireDragon01 <gen>
    Unit - A unit enters TripwireDragon02 <gen>
    Unit - A unit enters TripwireDragon03 <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP02_Sylvanas
        (Owner of (Entering unit)) Equal to AP01_Varimathras
        (Owner of (Entering unit)) Equal to AP11_SharedPlayer
        (Owner of (Entering unit)) Equal to P09_GarithosHuman
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet DragonBusy = True
    Unit Group - Pick every unit in DragonGroup and do (Order (Picked unit) to Attack-Move To.PointTripwireDragon02)
    Wait 4.00 seconds
    Set VariableSet DragonBusy = False
Barrage
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Garithos' Siege Engines have the Barrage upgrade, which gives them more effective firepower against enemy flyers.
Hint Shared Unit Control Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Both players are able to control Garithos and his army of Humans.
    Cinematic - Ping minimap for (All players) at (Center of Garithos_Ping <gen>) for 4.00 seconds
    Camera - Set a spacebar-point for AP02_Sylvanas at (Center of Garithos_Ping <gen>)
    Camera - Set a spacebar-point for AP01_Varimathras at (Center of Garithos_Ping <gen>)
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Dwarves Found
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff87ceeb UNITS NOW AVAILABLE|rDwarves - You may now build a Workshop. This building offers training and upgrades for Riflemen, Mortar Teams, and Siege Engines.
Locate the Dwarves
  Events
    Unit - A unit enters Dwarves_Hint <gen>
  Conditions
    GameOver Equal to False
    (Unit-type of (Entering unit)) Equal to Gargoyle
    ((Owner of (Entering unit)) Not equal to AP11_SharedPlayer) and ((Owner of (Entering unit)) Equal to AP02_Sylvanas)
  Actions
    Trigger - Turn off (This trigger)
    Wait until (InCombat Equal to False), checking every 1 seconds
    Trigger - Add Locate_the_Dwarves_Q <gen> to the trigger queue (Checking conditions)
Locate the Dwarves Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Rescue the dwarves to gain better defenses against air attacks.
    Cinematic - Ping minimap for (All players) at (Center of Ironforge_Dwarves_Vis <gen>) for 4.00 seconds
    Camera - Set a spacebar-point for AP02_Sylvanas at (Center of Ironforge_Dwarves_Vis <gen>)
    Camera - Set a spacebar-point for AP01_Varimathras at (Center of Ironforge_Dwarves_Vis <gen>)
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Balnazzar Buildings
  Events
    Unit - A unit owned by Player 4 (Purple).Finishes construction
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Constructed structure)) Equal to Necropolis
        (Unit-type of (Constructed structure)) Equal to Altar of Darkness
        (Unit-type of (Constructed structure)) Equal to Crypt
        (Unit-type of (Constructed structure)) Equal to Slaughterhouse
        (Unit-type of (Constructed structure)) Equal to Temple of the Damned
        (Unit-type of (Constructed structure)) Equal to Boneyard
  Actions
    Unit Group - Add (Constructed structure) to BalnazzarsBase
Start AI
  Events
  Conditions
  Actions
    Trigger - Run Demon_Start_Patrol <gen> (checking conditions)
    -------- Start All AI Scripts --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        AI - Start melee AI script for P04_PurpleUndead: u06x04h.ai (aiscript)
        AI - Start melee AI script for P05_YellowUndead: u06x05h.ai (aiscript)
        AI - Start melee AI script for P06_OrangeUndead: u06x06h.ai (aiscript)
        AI - Start melee AI script for P07_GreenUndead: u06x07h.ai (aiscript)
      Else - Actions
        AI - Start melee AI script for P04_PurpleUndead: u06x04n.ai (aiscript)
        AI - Start melee AI script for P05_YellowUndead: u06x05n.ai (aiscript)
        AI - Start melee AI script for P06_OrangeUndead: u06x06n.ai (aiscript)
        AI - Start melee AI script for P07_GreenUndead: u06x07n.ai (aiscript)
    -------- Send out the Command --------
    AI - Send P04_PurpleUndead the AI Command (0, 0)
    AI - Send P06_OrangeUndead the AI Command (0, 0)
    AI - Send P07_GreenUndead the AI Command (0, 0)
AI Resources Purple Gold
  Events
    Player - Player 4 (Purple)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P04_PurpleUndead.Current gold to 1351
AI Resources Purple Lumber
  Events
    Player - Player 4 (Purple)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P04_PurpleUndead.Current lumber to 1273
AI Resources Yellow Gold
  Events
    Player - Player 5 (Yellow)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P05_YellowUndead.Current gold to 1351
AI Resources Yellow Lumber
  Events
    Player - Player 5 (Yellow)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P05_YellowUndead.Current lumber to 1273
AI Resources Orange Gold
  Events
    Player - Player 6 (Orange)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P06_OrangeUndead.Current gold to 1351
AI Resources Orange Lumber
  Events
    Player - Player 6 (Orange)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P06_OrangeUndead.Current lumber to 1273
AI Resources Green Gold
  Events
    Player - Player 7 (Green)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P07_GreenUndead.Current gold to 1627
AI Resources Green Lumber
  Events
    Player - Player 7 (Green)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P07_GreenUndead.Current lumber to 1019
Next Level Run
  Events
  Conditions
  Actions
    -------- Set Next Level and Victory --------
    Game - Victory AP01_Varimathras (Show dialogs, Show scores)
    Game - Victory AP02_Sylvanas (Show dialogs, Show scores)
To use combat detection, just enable these two triggers and check the "InCombat" variable to determine whether or not the player is in combat.
Combat Detected
  Events
    Unit - A unit owned by Player 1 (Red).Is attacked
    Unit - A unit owned by Player 2 (Blue).Is attacked
    Unit - A unit owned by Player 9 (Gray).Is attacked
    Unit - A unit owned by Player 11 (Dark Green).Is attacked
  Conditions
  Actions
    Countdown Timer - Start CombatCheckTimer as a One-shot timer that will expire in 3.00 seconds
    Set VariableSet InCombat = True
Combat Resolved
  Events
    Time - CombatCheckTimer expires
  Conditions
  Actions
    Set VariableSet InCombat = False
To use combat detection, just enable these two triggers and check the "InCombat" variable to determine whether or not the player is in combat.
Creep Combat Detected
  Events
    Unit - A unit owned by Neutral Hostile.Is attacked
  Conditions
  Actions
    Countdown Timer - Start CreepCombatCheckTimer as a One-shot timer that will expire in 3.00 seconds
    Set VariableSet InCreepCombat = True
Creep Combat Resolved
  Events
    Time - CreepCombatCheckTimer expires
  Conditions
  Actions
    Set VariableSet InCreepCombat = False
Victory Balnazzar Dead
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    GameOver Equal to False
    (All units of BalnazzarsBase are dead) Equal to True
  Actions
    Set VariableSet GameOver = True
    Trigger - Add Victory_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Defeat Units Dead
  Events
  Conditions
    And - All (Conditions) are true
      Conditions
        (Count structures controlled by AP11_SharedPlayer (Include incomplete structures)) Equal to 0
        (Count structures controlled by P09_GarithosHuman (Include incomplete structures)) Equal to 0
    GameOver Equal to False
  Actions
    Set VariableSet GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_BaseDead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP02_Sylvanas with the message: Defeat!
    Game - Defeat AP01_Varimathras with the message: Defeat!
Mission Failed BaseDead
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of your buildings have been destroyed.
SetDifficulty
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to False
      Then - Actions
        Game - Display to Player Group - Player 2 (Blue) for 600.00 seconds the text: Waiting for main player to select difficulty...
      Else - Actions
    Sound - Clear the music list
    Sound - Set Ambient Sounds to 0.00%
    Sound - Set Animation and Spell Sounds to 0.00%
    Sound - Set Music to 0.00%
    Wait 0.01 seconds
    Sound - Stop music Immediately
    Wait 0.25 seconds
    Dialog - Change the title of ChooseDifficulty to Choose difficulty:
    Dialog - Create a dialog button for ChooseDifficulty labelled Normal
    Set VariableSet NormalB = (Last created dialog Button)
    Dialog - Create a dialog button for ChooseDifficulty labelled Hard
    Set VariableSet HardB = (Last created dialog Button)
    Dialog - Show ChooseDifficulty for AP01_Varimathras
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to True
      Then - Actions
        Dialog - Show ChooseDifficulty for AP02_Sylvanas
      Else - Actions
DifficultySelected
  Events
    Dialog - A dialog button is clicked for ChooseDifficulty
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to NormalB
      Then - Actions
        Set VariableSet Hard = False
        Trigger - Run Init_07b_Normal <gen> (checking conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Clicked dialog button) Equal to HardB
          Then - Actions
            Set VariableSet Hard = True
            Trigger - Run Init_07a_Hard <gen> (checking conditions)
          Else - Actions
    Sound - Play GoodJob <gen>
    -------- Run Required Triggers --------
    Trigger - Run SetCacheVariables <gen> (checking conditions)
    Trigger - Run Create_Balnazzar <gen> (checking conditions)
    Trigger - Run Create_Lich_Orange <gen> (checking conditions)
    Trigger - Run Create_Lich_Green <gen> (checking conditions)
    Trigger - Turn on LoadGame <gen>
    Trigger - Turn on NewGame <gen>
    Trigger - Run LoadHeroesText <gen> (checking conditions)
    Set VariableSet GameSelection = True
ConvertPlayerUnits
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP02_Sylvanas controller) Equal to Computer) or ((AP02_Sylvanas slot status) Equal to Is unused)
      Then - Actions
        Player - Make AP02_Sylvanas treat AP01_Varimathras as an Ally with shared vision and full shared units
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP01_Varimathras controller) Equal to Computer) or ((AP01_Varimathras slot status) Equal to Is unused)
      Then - Actions
        Player - Make AP01_Varimathras treat AP02_Sylvanas as an Ally with shared vision and full shared units
      Else - Actions
    -------- Set User Player Alliances --------
    Hero - Reserve 0 Hero buttons for the local player
    Player - Make AP02_Sylvanas treat AP11_SharedPlayer as an Ally with shared vision and full shared units
    Player - Make AP01_Varimathras treat AP11_SharedPlayer as an Ally with shared vision and full shared units
    Player - Make AP11_SharedPlayer treat AP02_Sylvanas as an Ally with shared vision and full shared units
    Player - Make AP11_SharedPlayer treat AP01_Varimathras as an Ally with shared vision and full shared units
    Player - Make AP02_Sylvanas treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP01_Varimathras treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make AP11_SharedPlayer treat P09_GarithosHuman as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP02_Sylvanas as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP01_Varimathras as an Ally with shared vision and full shared units
    Player - Make P09_GarithosHuman treat AP11_SharedPlayer as an Ally with shared vision and full shared units
    -------- Initial Resources --------
    Player - Set AP11_SharedPlayer.Current gold to 500
    Player - Set AP11_SharedPlayer.Current lumber to 150
    Player - Set P09_GarithosHuman.Current gold to 500
    Player - Set P09_GarithosHuman.Current lumber to 150
    -------- Sylvanas' Units --------
    Unit - Change ownership of Sylvanas to AP02_Sylvanas and Change color
    Unit - Change ownership of Satchet01 to AP02_Sylvanas and Change color
    -------- Varimathras' Units --------
    Unit - Change ownership of Varimathras to AP01_Varimathras and Change color
    Unit - Change ownership of Satchet02 to AP01_Varimathras and Change color
    -------- Sylvanas' Forces --------
    Unit - Change ownership of Halls of the Dead 0282 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Haunted Gold Mine 0008 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Crypt 0038 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Crypt 0042 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Temple of the Damned 0140 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Slaughterhouse 0139 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Tomb of Relics 0138 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Graveyard 0136 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Sacrificial Pit 0031 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Altar of Darkness 0137 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Ziggurat 0141 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Nerubian Tower 0049 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Nerubian Tower 0135 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Nerubian Tower 0142 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Nerubian Tower 0067 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Acolyte 0144 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Acolyte 0145 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Acolyte 0146 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Acolyte 0147 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Acolyte 0148 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Ghoul 0149 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Ghoul 0150 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Shade 0310 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Shade 0314 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Crypt Fiend 0143 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Crypt Fiend 0155 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Necromancer 0153 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Banshee 0154 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Banshee 0156 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Banshee 0283 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Abomination 0020 <gen> to AP11_SharedPlayer and Change color
    Unit - Change ownership of Abomination 0152 <gen> to AP11_SharedPlayer and Change color
    -------- Garithos' Forces --------
    Unit - Change ownership of Garithos to P09_GarithosHuman and Change color
    Unit - Change ownership of Keep 0005 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Barracks 0069 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Barracks 0087 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Altar of Kings 0089 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Lumber Mill 0090 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Blacksmith 0088 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Arcane Vault 0103 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0096 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0097 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0098 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0105 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0106 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0107 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0091 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0092 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0093 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0099 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0100 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Farm 0101 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Guard Tower 0094 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Guard Tower 0102 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Guard Tower 0095 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Guard Tower 0104 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0108 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0109 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0110 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0111 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0112 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0113 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Peasant 0114 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Footman 0224 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Footman 0225 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Footman 0226 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Footman 0227 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Knight 0220 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Knight 0221 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Knight 0222 <gen> to P09_GarithosHuman and Change color
    Unit - Change ownership of Knight 0223 <gen> to P09_GarithosHuman and Change color
UpdateFoodUsage
  Events
    Time - Every 0.25 seconds of game time
  Conditions
  Actions
    Player - Set AP02_Sylvanas.Food used to (AP11_SharedPlayer Food used)
    Player - Set AP01_Varimathras.Food used to (AP11_SharedPlayer Food used)
    Player - Set AP02_Sylvanas.Food cap to (AP11_SharedPlayer Food cap)
    Player - Set AP01_Varimathras.Food cap to (AP11_SharedPlayer Food cap)
UpdateResourcesGold
  Events
    Player - Player 1 (Red)'s Current gold becomes Greater than or equal to 0.00
    Player - Player 2 (Blue)'s Current gold becomes Greater than or equal to 0.00
    Player - Player 11 (Dark Green)'s Current gold becomes Greater than or equal to 0.00
  Conditions
  Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Picked player) Not equal to (Triggering player)
          Then - Actions
            Player - Set (Picked player).Current gold to ((Triggering player) Current gold)
          Else - Actions
UpdateResourcesLumber
  Events
    Player - Player 1 (Red)'s Current lumber becomes Greater than or equal to 0.00
    Player - Player 2 (Blue)'s Current lumber becomes Greater than or equal to 0.00
    Player - Player 11 (Dark Green)'s Current lumber becomes Greater than or equal to 0.00
  Conditions
  Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Picked player) Not equal to (Triggering player)
          Then - Actions
            Player - Set (Picked player).Current lumber to ((Triggering player) Current lumber)
          Else - Actions
HeroDies
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 2 (Blue).Dies
  Conditions
    ((Dying unit) is A Hero) Equal to True
    And - All (Conditions) are true
      Conditions
        (Dying unit) Not equal to Satchet01
        (Dying unit) Not equal to Satchet02
    GameOver Equal to False
  Actions
    Custom script: local unit udg_HeroToRevive
    Set VariableSet HeroToRevive = (Dying unit)
    Wait 6.00 seconds
    Unit - Change ownership of HeroToRevive to AP11_SharedPlayer and Change color
HeroRevives
  Events
    Unit - A unit owned by Player 11 (Dark Green).Finishes reviving
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Reviving Hero) Equal to Sylvanas
      Then - Actions
        Unit - Change ownership of Sylvanas to AP02_Sylvanas and Change color
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Reviving Hero) Equal to Varimathras
          Then - Actions
            Unit - Change ownership of Varimathras to AP01_Varimathras and Change color
          Else - Actions
HiringUnits
  Events
    Unit - A unit owned by Neutral Passive.Sells a unit
  Conditions
    ((Owner of (Buying unit)) is in APG1_Player.) Equal to True
  Actions
    Unit - Change ownership of (Sold unit) to AP11_SharedPlayer and Change color
ScrollTownPortalStart
  Events
    Unit - A unit owned by Player 1 (Red).Begins casting an ability
    Unit - A unit owned by Player 2 (Blue).Begins casting an ability
  Conditions
    (Ability being cast) Equal to Item Town Portal
  Actions
    Custom script: local location TownPortalStart
    Set VariableSet TownPortalStart = (Position of (Casting unit))
    Set VariableSet TeleportingUnits[(Player number of (Owner of (Casting unit)))] = (Units within 1100.00 of TownPortalStart matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an ally of (Owner of (Casting unit)).) Equal to True) and ((((Matching unit) is hidden) Equal to False) and (((Owner of (Matching unit)) Not equal to P09_GarithosHuman) and ((((Matching unit) is A Hero) Equal to False) or ((((Matching unit) has buff Anti-magic Shell) Equal to True) or (((Matching unit) is Magic Immune) Equal to False)))))))).)
    Unit Group - Pick every unit in TeleportingUnits[(Player number of (Owner of (Casting unit)))] and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is A peon-type unit) Equal to False) or ((Current order of (Picked unit)) Equal to (Order(none)))
          Then - Actions
            Set VariableSet TempPoint = (Position of (Picked unit))
            Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation( udg_TempPoint )
          Else - Actions
    Custom script: call RemoveLocation( udg_TownPortalStart )
ScrollTownPortalEnd
  Events
    Unit - A unit owned by Player 1 (Red).Finishes casting an ability
    Unit - A unit owned by Player 2 (Blue).Finishes casting an ability
  Conditions
    (Ability being cast) Equal to Item Town Portal
  Actions
    Custom script: local location TownPortalEnd
    Set VariableSet TownPortalEnd = (Position of (Casting unit))
    Unit Group - Pick every unit in TeleportingUnits[(Player number of (Owner of (Casting unit)))] and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is A peon-type unit) Equal to False) or ((Current order of (Picked unit)) Equal to (Order(none)))
          Then - Actions
            Unit - Move (Picked unit) instantly to TownPortalEnd
            Set VariableSet TempPoint = (Position of (Picked unit))
            Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation( udg_TempPoint )
          Else - Actions
    Custom script: call RemoveLocation( udg_TownPortalEnd )
ConvertCharmedUnits
  Events
    Unit - A unit owned by Player 2 (Blue).Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Charm
  Actions
    Custom script: local unit udg_CharmedUnit
    Set VariableSet CharmedUnit = (Target unit of ability being cast)
    Wait 0.01 seconds
    Unit - Change ownership of CharmedUnit to AP11_SharedPlayer and Change color
PlayerLeavesGame
  Events
    Player - Player 1 (Red) leaves the game
    Player - Player 2 (Blue) leaves the game
  Conditions
  Actions
    Set VariableSet SinglePlayer = True
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Picked player) Not equal to (Triggering player)
          Then - Actions
            Player - Make (Triggering player) treat (Picked player) as an Ally with shared vision and full shared units
          Else - Actions
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has left the game.)
    Sound - Play UpkeepRing <gen>
SetCacheVariables
  Events
  Conditions
  Actions
    -------- Item Setup --------
    Set VariableSet SaveLoad_Items[1] = Rod of Necromancy
    Set VariableSet SaveLoad_Items[2] = Lesser Clarity Potion
    Set VariableSet SaveLoad_Items[3] = Sacrificial Skull
    Set VariableSet SaveLoad_Items[4] = Potion of Healing
    Set VariableSet SaveLoad_Items[5] = Potion of Mana
    Set VariableSet SaveLoad_Items[6] = Scroll of Town Portal
    Set VariableSet SaveLoad_Items[7] = Orb of Corruption
    Set VariableSet SaveLoad_Items[8] = Scroll of Healing
    Set VariableSet SaveLoad_Items[9] = Goblin Land Mines
    Set VariableSet SaveLoad_Items[10] = Potion of Greater Healing
    Set VariableSet SaveLoad_Items[11] = Potion of Greater Mana
    Set VariableSet SaveLoad_Items[12] = Scroll of Mana
    Set VariableSet SaveLoad_Items[13] = Scroll of Restoration
    Set VariableSet SaveLoad_Items[14] = Book of the Dead
    Set VariableSet SaveLoad_Items[15] = Boots of Speed
    Set VariableSet SaveLoad_Items[16] = Scroll of Regeneration
    Set VariableSet SaveLoad_Items[17] = Scroll of Protection
    Set VariableSet SaveLoad_Items[18] = Orb of Darkness
    Set VariableSet SaveLoad_Items[19] = Keg of Ale
    Set VariableSet SaveLoad_Items[20] = Claws of Attack +15
    Set VariableSet SaveLoad_Items[21] = Potion of Lesser Invulnerability
    Set VariableSet SaveLoad_Items[22] = Khadgar's Gem of Health
    Set VariableSet SaveLoad_Items[23] = Ice Shard
    Set VariableSet SaveLoad_Items[24] = Voodoo Mask
    Set VariableSet SaveLoad_Items[25] = Bladebane Armor
    Set VariableSet SaveLoad_Items[26] = Ancient Amulet
    Set VariableSet SaveLoad_Items[27] = Claws of Attack +12
    Set VariableSet SaveLoad_Items[28] = Ring of Protection +5
    Set VariableSet SaveLoad_Items[29] = Gauntlets of Ogre Strength +3
    Set VariableSet SaveLoad_Items[30] = Mantle of Intelligence +3
    Set VariableSet SaveLoad_Items[31] = Slippers of Agility +3
    Set VariableSet SaveLoad_Items[32] = Ancestral Staff
    Set VariableSet SaveLoad_Items[33] = Mana Stone
    Set VariableSet SaveLoad_Items[34] = Staff of Silence
    Set VariableSet SaveLoad_Items[35] = Staff of Reanimation
    Set VariableSet SaveLoad_Items[36] = Totem of Might
    Set VariableSet SaveLoad_Items[37] = Health Stone
    Set VariableSet SaveLoad_Items[38] = Ring of Protection +2
    Set VariableSet SaveLoad_Items[39] = Circlet of Nobility
    Set VariableSet SaveLoad_Items[40] = Orb of Venom
    Set VariableSet SaveLoad_Items[41] = Periapt of Vitality
    Set VariableSet SaveLoad_Items[42] = Pendant of Energy
    Set VariableSet SaveLoad_Items[43] = Boots of Quel'Thalas +6
    Set VariableSet SaveLoad_Items[44] = Belt of Giant Strength +6
    Set VariableSet SaveLoad_Items[45] = Claws of Attack +6
    Set VariableSet SaveLoad_Items[46] = Ring of Protection +3
    Set VariableSet SaveLoad_Items[47] = Hood of Cunning
    Set VariableSet SaveLoad_Items[48] = Medallion of Courage
    Set VariableSet SaveLoad_Items[49] = Healing Salve
    Set VariableSet SaveLoad_Items[50] = Ring of Superiority
    Set VariableSet SaveLoad_Items[51] = Claws of Attack +9
    Set VariableSet SaveLoad_Items[52] = Sobi Mask
    Set VariableSet SaveLoad_Items[53] = Staff of Negation
    Set VariableSet SaveLoad_Items[54] = Ring of Protection +4
    Set VariableSet SaveLoad_Items[55] = Ring of Regeneration
    Set VariableSet SaveLoad_Items[56] = Pendant of Mana
    Set VariableSet SaveLoad_Items[57] = Gloves of Haste
    Set VariableSet SaveLoad_Items[58] = Orb of Fire
    Set VariableSet SaveLoad_Items[59] = Amulet of Spell Shield
    Set VariableSet SaveLoad_Items[60] = Orb of Frost
    Set VariableSet SaveLoad_Items[61] = Runed Bracers
    Set VariableSet SaveLoad_Items[62] = Spider Ring
    Set VariableSet SaveLoad_Items[63] = Lesser Scroll of Replenishment
    Set VariableSet SaveLoad_Items[64] = Scroll of Resurrection
    Set VariableSet SaveLoad_Items[65] = Ring of Protection +1
    Set VariableSet SaveLoad_Items[66] = Claws of Attack +3
    Set VariableSet SaveLoad_Items[67] = Anti-magic Potion
    Set VariableSet SaveLoad_Items[68] = Wand of Negation
    Set VariableSet SaveLoad_Items[69] = Scroll of Speed
    Set VariableSet SaveLoad_Items[70] = Vampiric Potion
    Set VariableSet SaveLoad_Items[71] = Replenishment Potion