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

Trigger Viewer

2P Orc06 v1.4 (1.26).w3x
Variables
Initialization
Pre Init
Map Initialiazation
Base Owner
Setup Variables
Setup Allies and Enemies
SetupAI
Disable Hero Levels for AI
Boxes
Hard
Score Screen Players
Reveal Path
Hide Harpys that are outside of Town
Money to AI
Blue Town Gold
Light Blue Town Gold
Blue Town Lumber
Light Blue Town Lumber
Hero Level Lock
Thrall Lock Levels
Cairne Lock Levels
Opening Cinematic
Area 01
Area 02
Main Quest
Queued Main Quest
Wyvern Quest
Queued Wyvern Quest
Tauren Hint
Queued Tauren Hint
Cinematic Escape
Gryphons Flying
Start Flying
Gryphon 1a
Gryphon 1b
Gryphon 2a
Gryphon 2b
Gryphon 3a
Gryphon 3b
Gryphon 4a
Gryphon 4b
Gryphon 5a
Gryphon 5b
Gryphon 5c
Gryphon 5d
Gryphon 5e
Gryphon 6a
Gryphon 6b
Gryphon 7a
Gryphon 7b
Gryphon 8a
Gryphon 8b
Expansion Goldmine Area
Centaurs Patroling
Play Animation for Centaur 02
Restart Centaur Patrols
Canyon to Wyverns
Area Entered
Harpy Area Entered
Escape Harpy Area
Harpy Queen Nest
Harpys Dead
Harpys Dead Run Away
Que Wyvern Update
Quillboars Attack
Roaming Quillboars
Quillboar Spell Animation
Turn off two Above Triggers
Patroling Harpy
Restart Patroling Harpy
Stop Harpy Patrol
Harpy Dies
First Freed Wyverns
Thrall Enters Harpy Area
Escape First Freed Wyverns
Pendant of Mana Drop
Defiled Fountain Quest Stuff
Discover Fountain
Que Fountain Speech
Que Fountain Quest
Roaming Lizards
Turn off Above Trigger
Turn on Above Trigger
Fixing Fountain Cairne
Fixing Fountain Thrall
Centaur Runs back to Camp
Centaur Khan Dead
Centaur Khan Dead Quest Not Discovered
Que Fountain Quest Not Discovered
Make Fountain Invulnerable
LizardCombatTimer
LizardCombat Expired
TriggerAIAttacks
TriggerBlueAIHarass
TriggerLightBlueAIHarass
Ending Cinematic
Ending
Ending Qued
Base Quest Completed Message
Remove Units at Cave
Escape End Cine
Defeat
Defeat Condition
Systems
Systems Init
Research Init
Research Begins
Research Cancelled
Research Complete
Requirement Init
Requirement Update
Computer Upkeeps
ResourceDrop Order
ResourceDrop Destroy
ResourceDrop Build
ResourceDrop Starters
ResourceDrop Init
Send Lumber
Send Gold
Exchange Unit
Death Select
Deselect Unit
Select Unit
Other Triggers
Item Drop Bonuses
Custom Variables
Timer Trigger
Setup Insane
Insane Heavywinds Hint
Insane Heavywinds timer
Extra Init Tree Count
Gametext
Init Gametext
Skip Cinematic
Leaves Game
Endgame Text
Startgame Text 1a
Startgame Text 1b
Startgame Text 2a
Startgame Text 2b
Startgame Text 3
Startgame New
Startgame Load
Startgame Score
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_Color takes string s returns string
    local integer i = StringLength(s)
    local string c
    local string r = ""

    loop
        set i = i - 1
        set c = SubString(s,i,i + 1)
        if c == "0" or c == "1" or c == "2" or c == "3" or c == "4" or c == "5" or c == "6" or c == "7" or c == "8" or c == "9" then
            set r = "|cffff9999" + c + "|r" + r
        elseif c == "-" then
            set r = "|cffdddddd-|r" + r
        elseif c == "a" or c == "b" or c == "c" or c == "d" or c == "e" or c == "f" or c == "g" or c == "h" or c == "i" or c == "j" or c == "k" or c == "l" or c == "m" or c == "n" or c == "o" or c == "p" or c == "q" or c == "r" or c == "s" or c == "t" or c == "u" or c == "v" or c == "w" or c == "x" or c == "y" or c == "z" then
            set r = "|cff99ff99" + c + "|r" + r
        elseif c == "A" or c == "B" or c == "C" or c == "D" or c == "E" or c == "F" or c == "G" or c == "H" or c == "I" or c == "J" or c == "K" or c == "L" or c == "M" or c == "N" or c == "O" or c == "P" or c == "Q" or c == "R" or c == "S" or c == "T" or c == "U" or c == "V" or c == "W" or c == "X" or c == "Y" or c == "Z" then
            set r = "|cff9999ff" + c + "|r" + r
        else
            set r = c + r
        endif
        exitwhen i <= 0
    endloop
    return r
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_Color(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
        return true
    endif
    return false
endfunction
Name Type Is Array Initial Value
BonusesFound integer No
BonusesTotal integer No
Cairne unit No
CairneGuys group No
CairneLoc location No
CairneTransit boolean No false
CampaignScore integer No
Cenarius unit No
CentaurKhan unit No
Cinematic boolean No true
Code string No
EnoughPlayers boolean No
EscapeEnding boolean No false
ExchangeFail1 boolean No
ExchangeFail2 boolean No
ExchangeFail3 boolean No
ExchangeSelection1 group No
ExchangeSelection2 group No
ExchangeSuccess boolean No
Exchanging1 boolean No
Exchanging2 boolean No
Extra integer No
ExtraTotal integer No
FinalInventory string Yes
FinalRank string No
GameOver boolean No false
GAMEOVER boolean No
GameSelection boolean No true
Grom unit No
Grunt03 unit No
Gryphon01 unit No
Gryphon02 unit No
Gryphon03 unit No
Gryphon04 unit No
Gryphon05 unit No
Gryphon06 unit No
Gryphon07 unit No
Gryphon08 unit No
Gryphon09 unit No
Harpy01 unit No
Harpy02 unit No
HarpyAreaGuys1 group No
HarpyAreaGuys2 group No
HarpyCine boolean No
Headhunter01 unit No
Headhunter02 unit No
Headhunter03 unit No
Headhunter04 unit No
Headhunter05 unit No
Headhunter06 unit No
Hero1 unit No
Hero2 unit No
INSANEMODE boolean No
INSANEMODEtemp boolean No
IntegerTreeLeft integer No
IntegerTreeTotal integer No
ItemGlyph item No
Jaina unit No
JainaKnight01 unit No
JainaKnight02 unit No
LizardCombatBoolean boolean No false
LizardCombatTimer timer No
MissionNumber integer No
Nazgrel unit No
NewVote1 boolean No
NewVote2 boolean No
OpeningCinematic boolean No false
Peon01 unit No
Peon02 unit No
Peon03 unit No
Peon04 unit No
Player1 player No Player00
Player2 player No Player05
QuestDefiledFountian quest No
QuestFountainCentaur questitem No
QuestFountainGlyph questitem No
QuestItem item No
QuestSummit quest No
QuestThrallSummit questitem No
QuestWyvern quest No
QuestWyvernFind questitem No
QuestWyvernSave questitem No
RankInteger integer No
Requirement_Region rect No
RequirementTech boolean Yes
RequirementUnitP1 unit Yes
RequirementUnitP2 unit Yes
RequirementUnitType unitcode Yes
ResearchEnabledT2 boolean Yes
ResearchEnabledT3 boolean Yes
ResearchStringT1 string Yes
ResearchStringT2 string Yes
ResearchStringT3 string Yes
ResearchType techcode Yes
ResourceDropBuildings group No
ResourceDropHashtable hashtable 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_TotalTime integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
ScoreBonuses integer No
ScoreExtra integer No
ScoreLimit integer Yes
ScoreLoaded boolean No
ScoreMax integer No
ScoreSubquests integer No
ScoreTime integer No
SelectedUnits1 group No
SelectedUnits2 group No
SelectionGroup1 group No
SelectionGroup2 group No
SkipVote1 boolean No
SkipVote2 boolean No
SubquestsComplete integer No
SubquestsTotal integer No
SumRank integer No
Tauren01 unit No
Tauren02 unit No
TempBoolean boolean No
TempInteger integer No
TempItem item No
TempItemType itemcode No
TempPGroup force No
TempPGroup2 force No
TempPlayer player No
TempPoint location No
temppoint location No
tempugroup group No
TempUGroup group No
TempUnit unit No
TempUnitType unitcode No
Thrall unit No
ThrallLoc location No
ThrallTransit boolean No false
ThunderLizard unit No
TimeHours integer No
TimeMax real No
TimeMin real No
TimeMins integer No
TimeRange real No
TimerMainQuest timer No
TimerRunningFromHarpys timer No
TimerTaurenHint timer No
TimerWyvernQuest timer No
TimeSeconds integer No
TimeSecondsTotal integer No
TimeTakenString string No
TranquilityDummy unit No
UnitFireSatyr unit No
UnitGroup group No
Validate boolean No
Victory boolean No
WolfRider03 unit No
Wyvern01 unit No
Wyvern02 unit No
Wyvern03 unit No
Wyvern04 unit No
Wyvern05 unit No
Wyvern06 unit No
WyvernCaptureScene boolean No false
WyvernCine boolean No
WyvernsFreedScene boolean No false
x real No
y real No
Zeppelin unit No
Pre Init
  Events
    Map initialization
  Conditions
  Actions
    Trigger - Run Setup_Variables <gen> (ignoring conditions)
    Trigger - Run Boxes <gen> (ignoring conditions)
    Trigger - Run Setup_Allies_and_Enemies <gen> (ignoring conditions)
    Trigger - Run Score_Screen_Players <gen> (ignoring conditions)
Map Initialiazation
  Events
  Conditions
  Actions
    Game - Set the time of day to 5.00
    Game - Set campaign to Orc Campaign
    Trigger - Run Base_Owner <gen> (ignoring conditions)
    Trigger - Run SetupAI <gen> (ignoring conditions)
    -------- Start Zeppelin Scene --------
    Trigger - Run Area_01 <gen> (ignoring conditions)
    -------- Remove Green for Score Screen --------
    -------- Reveal Path of Zepplin --------
    Trigger - Run Reveal_Path <gen> (ignoring conditions)
    Hero - Make Player 1 (Red) Heroes gain 50.00% experience from future kills
    Hero - Make Player 6 (Orange) Heroes gain 50.00% experience from future kills
Base Owner
  Events
  Conditions
  Actions
    Unit - Change ownership of Far Seer 0214 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Troll Witch Doctor 0113 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Troll Headhunter 0183 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Grunt 0059 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Troll Headhunter 0135 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Peon 0042 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Peon 0049 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Peon 0101 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Stronghold 0013 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Spirit Lodge 0112 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Watch Tower 0038 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Orc Burrow 0030 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Orc Burrow 0032 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Tauren Chieftain 0215 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Tauren 0165 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Tauren 0164 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Peon 0212 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Peon 0068 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Peon 0202 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Great Hall 0017 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Barracks 0028 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of War Mill 0014 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Orc Burrow 0211 <gen> to Player 6 (Orange) and Change color
    Unit - Change ownership of Orc Burrow 0009 <gen> to Player 6 (Orange) and Change color
Setup Variables
  Events
  Conditions
  Actions
    -------- Thrall's Force --------
    Set VariableSet Peon01 = Peon 0068 <gen>
    Set VariableSet Peon02 = Peon 0042 <gen>
    Set VariableSet Peon03 = Peon 0049 <gen>
    Set VariableSet Peon04 = Peon 0101 <gen>
    Set VariableSet Grunt03 = Grunt 0059 <gen>
    -------- Cairne's Force --------
    Set VariableSet CairneGuys = (Units in Cairne_Guys <gen>)
    Set VariableSet Tauren01 = Tauren 0164 <gen>
    Set VariableSet Tauren02 = Tauren 0165 <gen>
    -------- Gryphons at Summit --------
    Set VariableSet Gryphon01 = Gryphon Rider 0040 <gen>
    Set VariableSet Gryphon02 = Gryphon Rider 0133 <gen>
    Set VariableSet Gryphon03 = Gryphon Rider 0015 <gen>
    Set VariableSet Gryphon04 = Gryphon Rider 0159 <gen>
    Set VariableSet Gryphon05 = Gryphon Rider 0173 <gen>
    Set VariableSet Gryphon06 = Gryphon Rider 0174 <gen>
    Set VariableSet Gryphon07 = Gryphon Rider 0171 <gen>
    Set VariableSet Gryphon08 = Gryphon Rider 0172 <gen>
    Set VariableSet Gryphon09 = Gryphon Rider 0161 <gen>
    Set VariableSet Harpy01 = Harpy Scout 0162 <gen>
    Set VariableSet Harpy02 = Harpy Scout 0190 <gen>
    Set VariableSet CentaurKhan = Centaur Khan 0130 <gen>
    Set VariableSet ThunderLizard = Thunder Lizard 0194 <gen>
    Unit Group - Add Harpy Storm-hag 0123 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Windwitch 0033 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Scout 0119 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Scout 0121 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Scout 0120 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Windwitch 0024 <gen> to HarpyAreaGuys2
    Unit Group - Add Harpy Storm-hag 0022 <gen> to HarpyAreaGuys2
Setup Allies and Enemies
  Events
  Conditions
  Actions
    -------- Blue Player --------
    Player - Make Player 2 (Blue) treat Player 12 (Brown) as an Ally with shared vision
    Player - Make Player 2 (Blue) treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Player 2 (Blue) treat Neutral Hostile as an Ally with shared vision
    Player - Make Player 2 (Blue) treat Neutral Passive as an Ally with shared vision
    -------- Orange Player --------
    Player - Make Player 6 (Orange) treat Player 2 (Blue) as an Enemy
    Player - Make Player 6 (Orange) treat Player 10 (Light Blue) as an Enemy
    -------- Brown Player --------
    Player - Make Player 12 (Brown) treat Player 2 (Blue) as an Ally with shared vision
    Player - Make Player 12 (Brown) treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Player 12 (Brown) treat Neutral Hostile as an Ally
    Player - Make Player 12 (Brown) treat Neutral Passive as an Ally with shared vision
    -------- Light Blue Player --------
    Player - Make Player 10 (Light Blue) treat Player 2 (Blue) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Player 12 (Brown) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Neutral Hostile as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Neutral Passive as an Ally with shared vision
    -------- Neutral Player --------
    Player - Make Neutral Hostile treat Player 2 (Blue) as an Ally with shared vision
    Player - Make Neutral Hostile treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Neutral Hostile treat Player 12 (Brown) as an Ally
    Player - Make Neutral Hostile treat Neutral Passive as an Ally with shared vision
    -------- --------
    Player - Make Player 1 (Red) treat Player 6 (Orange) as an Ally with shared vision
    Player - Make Player 6 (Orange) treat Player 1 (Red) as an Ally with shared vision
SetupAI
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        AI - Start campaign AI script for Player 2 (Blue): war3mapImported\o06_insaneblue.ai (aiscript)
        AI - Start campaign AI script for Player 10 (Light Blue): war3mapImported\o06_insanelightblue.ai (aiscript)
      Else - Actions
        AI - Start campaign AI script for Player 2 (Blue): o06_blue.ai (aiscript)
        AI - Start campaign AI script for Player 10 (Light Blue): o06_lightblue.ai (aiscript)
Disable Hero Levels for AI
  Events
  Conditions
  Actions
    Hero - Disable experience gain for Mountain King 0047 <gen>.
    Hero - Disable experience gain for Archmage 0046 <gen>.
Boxes
  Events
  Conditions
  Actions
    Unit - Make Wyvern Cage 0109 <gen> Invulnerable
    Unit - Make Wyvern Cage 0110 <gen> Invulnerable
    Unit - Make Wyvern Cage 0111 <gen> Invulnerable
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_01 <gen>.
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_02 <gen>.
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_03 <gen>.
Hard
  Events
    Map initialization
  Conditions
  Actions
    Hero - Set Archmage 0046 <gen> Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Brilliance Aura
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Blizzard
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Summon Water Elemental
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Brilliance Aura
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Blizzard
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Summon Water Elemental
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Summon Water Elemental
    Hero - Learn skill for Archmage 0046 <gen>: Human Archmage - Mass Teleport
    Hero - Set Mountain King 0047 <gen> Hero-level to 9, Hide level-up graphics
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Storm Bolt
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Thunder Clap
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Bash
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Storm Bolt
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Thunder Clap
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Bash
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Storm Bolt
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Thunder Clap
    Hero - Learn skill for Mountain King 0047 <gen>: Human Mountain King - Avatar
    Unit - Create 1 Harpy Storm-hag for Neutral Hostile at (Center of Harpy_Spawn_Area01 <gen>) facing (Position of (Triggering unit))
    Set VariableSet Harpy01 = (Last created unit)
    Unit - Create 1 Harpy Storm-hag for Neutral Hostile at (Center of Harpy_Spawn_Area02 <gen>) facing (Position of (Triggering unit))
    Set VariableSet Harpy02 = (Last created unit)
Score Screen Players
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Player - Hide Player 11 (Dark Green) in the post-game score screen
    Player - Hide Player 12 (Brown) in the post-game score screen
Reveal Path
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Grant shared vision of (Picked unit) to Player 1 (Red))
    Wait 2 seconds
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Deny shared vision of (Picked unit) to Player 1 (Red))
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal01 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal02 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal03 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal04 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal05 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal06 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal07 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal08 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal09 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal10 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal11 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal12 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal13 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal14 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal15 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal16 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Reveal17 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal01 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal02 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal03 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal04 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal05 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal06 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal07 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal08 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal09 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal10 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal11 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal12 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal13 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal14 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal15 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal16 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Reveal17 <gen>) to a radius of 900.00.
    Visibility - Destroy (Last created visibility modifier)
Hide Harpys that are outside of Town
  Events
    Time - Elapsed game time is 5 seconds
  Conditions
  Actions
    Unit - Pause Harpy01
    Unit - Pause Harpy02
    Unit - Pause Harpy Queen 0071 <gen>
    Unit - Pause Harpy Scout 0190 <gen>
    Unit - Pause Harpy Scout 0162 <gen>
    Unit - Hide Harpy Queen 0071 <gen>
    Unit - Hide Wyvern 0079 <gen>
    Unit - Hide Wyvern 0082 <gen>
Blue Town Gold
  Events
    Player - Player 2 (Blue)'s Current gold becomes Less than or equal to 1000
  Conditions
  Actions
    Player - Add 1000 to Player 2 (Blue).Current gold
Light Blue Town Gold
  Events
    Player - Player 10 (Light Blue)'s Current gold becomes Less than or equal to 1000
  Conditions
  Actions
    Player - Add 1000 to Player 10 (Light Blue).Current gold
Blue Town Lumber
  Events
    Player - Player 2 (Blue)'s Current lumber becomes Less than or equal to 1000
  Conditions
  Actions
    Player - Add 1000 to Player 2 (Blue).Current lumber
Light Blue Town Lumber
  Events
    Player - Player 10 (Light Blue)'s Current lumber becomes Less than or equal to 1000
  Conditions
  Actions
    Player - Add 1000 to Player 10 (Light Blue).Current lumber
Thrall Lock Levels
  Events
    Unit - A unit owned by Player 1 (Red).Gains a level
  Conditions
    (Hero level of (Leveling Hero)) Equal to 7
    (Unit-type of (Leveling Hero)) Equal to Far Seer
  Actions
    Hero - Disable experience gain for (Leveling Hero).
Cairne Lock Levels
  Events
    Unit - A unit owned by Player 6 (Orange).Gains a level
  Conditions
    (Hero level of (Leveling Hero)) Equal to 7
    (Unit-type of (Leveling Hero)) Equal to Tauren Chieftain
  Actions
    Hero - Disable experience gain for (Leveling Hero).
Area 01
  Events
  Conditions
  Actions
    Trigger - Turn on Skip_Cinematic <gen>
    Trigger - Turn on Cinematic_Escape <gen>
    Camera - .Apply. gg_cam_View_of_Zeppelin_02 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_View_of_Zeppelin_02 for Player 6 (Orange) over 0 seconds
    Trigger - Turn off (This trigger)
    Sound - Disable dawn and dusk sounds
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop01 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop02 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop03 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop04 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop05 <gen>
    Unit - Order Gryphon01 to Attack-Move To.(Center of Gyphon_Area_01b <gen>)
    Unit - Order Gryphon02 to Attack-Move To.(Center of Gyphon_Area_02b <gen>)
    Unit - Order Gryphon03 to Attack-Move To.(Center of Gyphon_Area_03b <gen>)
    Unit - Order Gryphon04 to Attack-Move To.(Center of Gyphon_Area_04b <gen>)
    Unit - Order Gryphon05 to Attack-Move To.(Center of Gyphon_Area_05b <gen>)
    Unit - Order Gryphon06 to Attack-Move To.(Center of Gyphon_Area_05e <gen>)
    Unit - Order Gryphon07 to Attack-Move To.(Center of Gyphon_Area_06b <gen>)
    Unit - Order Gryphon08 to Attack-Move To.(Center of Gyphon_Area_07b <gen>)
    Unit - Order Gryphon09 to Attack-Move To.(Center of Gyphon_Area_08b <gen>)
    Environment - Set fog to style 0 (fogstyle), z-start 500.00, z-end 3500.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Cinematic - Turn cinematic mode On for (All players)
    Sound - Reset all volume channels to 100%
    Sound - Clear the music list
    Unit - Create 1 Goblin Zeppelin for Player 1 (Red) at (Center of Zeppelin_Scene_01a <gen>) facing (Center of Zeppelin_Scene_01b <gen>)
    Set VariableSet Zeppelin = (Last created unit)
    Unit - Create 1 Orc Scout for Player 1 (Red) at (Center of Zeppelin_Scene_01a <gen>) facing (Position of Thrall)
    Set VariableSet WolfRider03 = (Last created unit)
    Wait 0.01 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Zeppelin to Load.WolfRider03
    Wait 0.01 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_01b <gen>)
    Camera - .Apply. gg_cam_View_of_Zeppelin_02 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_View_of_Zeppelin_02 for Player 6 (Orange) over 0 seconds
    Camera - Lock camera target for Player 1 (Red) to Zeppelin, offset by (0, 0) using Default rotation
    Camera - Lock camera target for Player 6 (Orange) to Zeppelin, offset by (0, 0) using Default rotation
    Wait 0.40 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_01b <gen>)
    Unit - Set life of Zeppelin to 100%
    Wait 7.50 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set life of Zeppelin to 100.00%
    Cinematic - Fade out over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.40 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set life of Zeppelin to 100.00%
    Unit - Move Zeppelin instantly to (Center of Zeppelin_Scene_02a <gen>), facing (Center of Zeppelin_Scene_02b <gen>)
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_02b <gen>)
    Camera - .Apply. gg_cam_View_of_Zep_2B for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_View_of_Zep_2B for Player 6 (Orange) over 0 seconds
    Camera - Lock camera target for Player 1 (Red) to Zeppelin, offset by (0, 0) using Default rotation
    Camera - Lock camera target for Player 6 (Orange) to Zeppelin, offset by (0, 0) using Default rotation
    Cinematic - Fade in over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Unit - Set life of Zeppelin to 100%
    Wait 7.50 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set life of Zeppelin to 100.00%
    Cinematic - Fade out over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.40 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set life of Zeppelin to 70.00%
    Unit - Move Zeppelin instantly to (Center of Zeppelin_Scene_03a <gen>)
    Trigger - Run Area_02 <gen> (ignoring conditions)
Area 02
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Cinematic - Fade in over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Environment - Set fog to style 0 (fogstyle), z-start 1000.00, z-end 5000.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Camera - .Apply. gg_cam_View_of_Zeppelin_03 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_View_of_Zeppelin_03 for Player 6 (Orange) over 0 seconds
    Camera - Lock camera target for Player 1 (Red) to Zeppelin, offset by (0, 0) using Default rotation
    Camera - Lock camera target for Player 6 (Orange) to Zeppelin, offset by (0, 0) using Default rotation
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_03b <gen>)
    Wait 4.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Environment - Set fog to style 0 (fogstyle), z-start 1000.00, z-end 5000.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Camera - .Apply. gg_cam_CamZep04 for Player 1 (Red) over 7.20 seconds
    Camera - .Apply. gg_cam_CamZep04 for Player 6 (Orange) over 7.20 seconds
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Wait 2.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_03c <gen>)
    Wait 4.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Zeppelin to Unload All At.(Center of Zeppelin_Scene_03c <gen>)
    Unit - Order WolfRider03 to Stop.
    Wait 0.50 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order WolfRider03 to Stop.
    Wait 1.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Zeppelin to Move To.(Center of Zeppelin_Scene_03b <gen>)
    Unit - Order WolfRider03 to Move To.(Center of Orc_Scout <gen>)
    Wait 2.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Environment - Set fog to style 0 (fogstyle), z-start 800.00, z-end 4000.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Camera - .Apply. gg_cam_CamCarintalk for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_CamCarintalk for Player 6 (Orange) over 0.00 seconds
    Unit - Make WolfRider03 face Thrall over 0.40 seconds
    Unit - Make Thrall face WolfRider03 over 0.40 seconds
    Wait 0.50 seconds
    Sound - Setup all volume channels for speech
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from WolfRider03 named Orc Scout: Play O06OrcScout01 <gen> and display Warchief, we scouted the peak as you ordered. The humans have entrenched their fortifications all the way up to the summit.. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall02 <gen> and display What are they up to? If they're looking to pick a fight, they've had ample opportunities before this!. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play Comradeship.
    Unit - Order Cairne to Move To.(Center of Cairnes_Spot_for_Cinematic <gen>)
    Unit Group - Pick every unit in CairneGuys and do (Order CairneGuys to Move To.(Center of Cairnes_Guys_Move_In <gen>))
    Wait 1.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Lock camera target for Player 1 (Red) to Cairne, offset by (0, 0) using Default rotation
    Camera - Lock camera target for Player 6 (Orange) to Cairne, offset by (0, 0) using Default rotation
    Wait 5.00 seconds
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set the music list to Music, starting with song 2
    Unit - Make Thrall face Cairne over 0 seconds
    Unit - Order Peon 0068 <gen> to Harvest.Gold Mine 0200 <gen>
    Unit - Order Peon 0212 <gen> to Harvest.Gold Mine 0200 <gen>
    Unit - Order Peon 0049 <gen> to Harvest.Gold Mine 0003 <gen>
    Unit - Order Peon 0042 <gen> to Harvest.Gold Mine 0003 <gen>
    Unit - Order Peon 0101 <gen> to Harvest.Barrens Tree Wall 0712 <gen>
    Unit - Order Peon 0202 <gen> to Harvest.Barrens Tree Wall 0110 <gen>
    Camera - .Apply. gg_cam_CamCarintalk for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_CamCarintalk for Player 6 (Orange) over 0 seconds
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne03 <gen> and display Ish-ne-alo por-ah, young warchief!. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall04 <gen> and display Cairne! What are you doing here?. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne05 <gen> and display Our debt to you orcs can only be repaid with blood. We've come to help you reach the Oracle. However, those metal-clad pinkskins look like trouble.. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Remove Cairne from CairneGuys.
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall06 <gen> and display Those pinkskins are called humans. They are our enemies from across the sea. They seem intent on keeping us from the peak.. Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne07 <gen> and display Hmm. The Oracle's wisdom belongs to all. Perhaps the wyverns that live nearby can be of use to us? They have no love for hostile intruders! . Modify duration: Add 0 seconds and Wait
    If (OpeningCinematic Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Turn off Cinematic_Escape <gen>
    Trigger - Turn off Skip_Cinematic <gen>
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Player - Set Player 1 (Red).Current gold to 400
    Player - Set Player 1 (Red).Total gold gathered to 400
    Player - Set Player 1 (Red).Current lumber to 200
    Player - Set Player 1 (Red).Total lumber gathered to 200
    Player - Set Player 6 (Orange).Current gold to 400
    Player - Set Player 6 (Orange).Total gold gathered to 400
    Player - Set Player 6 (Orange).Current lumber to 200
    Player - Set Player 6 (Orange).Total lumber gathered to 200
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_120 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_121 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_122 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_123 <gen>) facing Default building facing degrees
      Else - Actions
    Unit Group - Pick every unit in CairneGuys and do (Order CairneGuys to Move To.(Center of Cairnes_Guys_After_Cinematic <gen>))
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Selection - Select Thrall for Player 1 (Red)
    Selection - Select Cairne for Player 6 (Orange)
    Camera - .Apply. gg_cam_Starting_Camera for Player 1 (Red) over 1.00 seconds
    Camera - .Apply. gg_cam_Starting_Camera for Player 6 (Orange) over 1.00 seconds
    Environment - Set fog to style 0 (fogstyle), z-start 800.00, z-end 4500.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Sound - Enable dawn and dusk sounds
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run TriggerLightBlueAIHarass <gen> (ignoring conditions)
    Trigger - Run TriggerBlueAIHarass <gen> (ignoring conditions)
    Sound - Stop the currently playing music theme
    -------- - --------
    Countdown Timer - Start TimerMainQuest as a One-shot timer that will expire in 3.00 seconds
    Countdown Timer - Start TimerWyvernQuest as a One-shot timer that will expire in 18.00 seconds
    Countdown Timer - Start TimerTaurenHint as a One-shot timer that will expire in 33.00 seconds
Main Quest
  Events
    Time - TimerMainQuest expires
  Conditions
  Actions
    Trigger - Add Queued_Main_Quest <gen> to the trigger queue (Checking conditions)
Queued Main Quest
  Events
  Conditions
  Actions
    Quest - Create a Required quest titled Stonetalon Peak with the description The mysterious Oracle lies within the dark hollows of Stonetalon Peak. Destroy the Human base to reach the craggy summit to enter the recesses of the foreboding peak., using icon path ReplaceableTextures\CommandButtons\BTNFarSight.tga
    Set VariableSet QuestSummit = (Last created quest)
    Quest - Create a quest requirement for QuestSummit with the description Destroy the Human base guarding the peak
    Set VariableSet QuestThrallSummit = (Last created quest requirement)
    Quest - Create a Optional, undiscovered quest titled Wyverns with the description You must seek out the noble Wyverns of Kalimdor and enlist their aid. , using icon path ReplaceableTextures\CommandButtons\BTNWyvern.tga
    Set VariableSet QuestWyvern = (Last created quest)
    Quest - Create a quest requirement for QuestWyvern with the description Find the Wyverns
    Set VariableSet QuestWyvernFind = (Last created quest requirement)
    Quest - Create a Optional, undiscovered quest titled Defiled Fountain with the description The Fountain of Health, blessed by the goddess Elune in ancient times, has been fouled by the wicked Harpies. You must recover the Glyph of Purification from the local Centaur Khan and use its energies to restore the Fountain's holy waters. Once that is done, the purified waters will replenish your warriors' health., using icon path ReplaceableTextures\CommandButtons\BTNFountainOfLifeDefiled.tga
    Set VariableSet QuestDefiledFountian = (Last created quest)
    Quest - Create a quest requirement for QuestDefiledFountian with the description Kill the Centaur Khan
    Set VariableSet QuestFountainCentaur = (Last created quest requirement)
    Quest - Create a quest requirement for QuestDefiledFountian with the description Return the Glyph of Purification to restore the Fountain
    Set VariableSet QuestFountainGlyph = (Last created quest requirement)
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rStonetalon Peak - Destroy the Human base that guards the peak
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Wyvern Quest
  Events
    Time - TimerWyvernQuest expires
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Queued_Wyvern_Quest <gen> to the trigger queue (Checking conditions)
Queued Wyvern Quest
  Events
  Conditions
  Actions
    Quest - Mark QuestWyvern as Discovered
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rWyverns - Find the Wyverns
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Tauren Hint
  Events
    Time - TimerTaurenHint expires
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Queued_Tauren_Hint <gen> to the trigger queue (Checking conditions)
Queued Tauren Hint
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Simple Hint message: |cff87CEEBNEW UNIT AVAILABLE|rTauren - You may now build Tauren from the Tauren Totem. They are mighty warriors and can learn the Pulverize ability.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Cinematic Escape
  Events
  Conditions
  Actions
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Set VariableSet OpeningCinematic = True
    Trigger - Turn off (This trigger)
    Trigger - Turn off Area_01 <gen>
    Trigger - Turn off Area_02 <gen>
    Sound - Stop the currently playing music theme
    -------- Fade out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.60 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Camera - .Apply. gg_cam_Starting_Camera for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_Starting_Camera for Player 6 (Orange) over 0.00 seconds
    Environment - Set sky to None
    Environment - Set fog to style 0 (fogstyle), z-start 800.00, z-end 4500.00, density 0 and color (30.00%, 20.00%, 0.00%)
    Selection - Select Thrall for Player 1 (Red)
    Selection - Select Cairne for Player 6 (Orange)
    Unit - Order Peon 0068 <gen> to Harvest.Gold Mine 0200 <gen>
    Unit - Order Peon 0212 <gen> to Harvest.Gold Mine 0200 <gen>
    Unit - Order Peon 0049 <gen> to Harvest.Gold Mine 0003 <gen>
    Unit - Order Peon 0042 <gen> to Harvest.Gold Mine 0003 <gen>
    Unit - Order Peon 0101 <gen> to Harvest.Barrens Tree Wall 0712 <gen>
    Unit - Order Peon 0202 <gen> to Harvest.Barrens Tree Wall 0110 <gen>
    -------- Perform level-specific cleanup --------
    Unit - Remove Zeppelin from the game
    Wait 0.10 seconds
    Unit - Remove WolfRider03 from the game
    Unit - Create 1.Goblin Zeppelin for Player 1 (Red) at (Center of Zeppelin_Scene_03c <gen>) facing Default building facing degrees
    Set VariableSet Zeppelin = (Last created unit)
    Unit - Set life of Zeppelin to 70.00%
    Unit - Create 1.Orc Scout for Player 1 (Red) at (Center of Orc_Scout <gen>) facing Default building facing degrees
    Unit Group - Remove Cairne from CairneGuys.
    Unit - Move Thrall instantly to (Center of Thralls_Spot_for_Cinematic <gen>)
    Unit - Move Cairne instantly to (Center of Cairnes_Spot_for_Cinematic <gen>)
    Unit Group - Pick every unit in CairneGuys and do (Move (Picked unit) instantly to (Center of Cairnes_Guys_After_Cinematic <gen>))
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Create_Vision <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Zeppelin_Scene_03a <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Zeppelin_Scene_03b <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Create_Vision <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Zeppelin_Scene_03a <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Zeppelin_Scene_03b <gen>) to a radius of 512.00.
    Visibility - Destroy (Last created visibility modifier)
    Player - Set Player 1 (Red).Current gold to 400
    Player - Set Player 1 (Red).Total gold gathered to 400
    Player - Set Player 1 (Red).Current lumber to 200
    Player - Set Player 1 (Red).Total lumber gathered to 200
    Player - Set Player 6 (Orange).Current gold to 400
    Player - Set Player 6 (Orange).Total gold gathered to 400
    Player - Set Player 6 (Orange).Current lumber to 200
    Player - Set Player 6 (Orange).Total lumber gathered to 200
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run TriggerLightBlueAIHarass <gen> (ignoring conditions)
    Trigger - Run TriggerBlueAIHarass <gen> (ignoring conditions)
    Sound - Enable dawn and dusk sounds
    -------- Fade in --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- - --------
    Countdown Timer - Start TimerMainQuest as a One-shot timer that will expire in 3.00 seconds
    Countdown Timer - Start TimerWyvernQuest as a One-shot timer that will expire in 18.00 seconds
    Countdown Timer - Start TimerTaurenHint as a One-shot timer that will expire in 33.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_120 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_121 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_122 <gen>) facing Default building facing degrees
        Unit - Create 1.Sky-Fury Tower for Player 2 (Blue) at (Center of Region_123 <gen>) facing Default building facing degrees
      Else - Actions
Start Flying
  Events
  Conditions
  Actions
    Player - Change color of Player 11 (Dark Green) to Blue, Changing color of existing units
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player 11 (Dark Green)) and do (Order (Picked unit) to Stop.)
    Unit - Move Gryphon01 instantly to (Center of Gyphon_Area_01a <gen>)
    Unit - Move Gryphon02 instantly to (Center of Gyphon_Area_02a <gen>)
    Unit - Move Gryphon03 instantly to (Center of Gyphon_Area_03a <gen>)
    Unit - Move Gryphon04 instantly to (Center of Gyphon_Area_04a <gen>)
    Unit - Move Gryphon05 instantly to (Center of Gyphon_Area_05a <gen>)
    Unit - Move Gryphon06 instantly to (Center of Gyphon_Area_05d <gen>)
    Unit - Move Gryphon07 instantly to (Center of Gyphon_Area_06a <gen>)
    Unit - Move Gryphon08 instantly to (Center of Gyphon_Area_07a <gen>)
    Unit - Move Gryphon09 instantly to (Center of Gyphon_Area_08a <gen>)
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player 11 (Dark Green)) and do (Order (Picked unit) to Stop.)
    Unit - Order Gryphon01 to Attack-Move To.(Center of Gyphon_Area_01b <gen>)
    Unit - Order Gryphon02 to Attack-Move To.(Center of Gyphon_Area_02b <gen>)
    Unit - Order Gryphon03 to Attack-Move To.(Center of Gyphon_Area_03b <gen>)
    Unit - Order Gryphon04 to Attack-Move To.(Center of Gyphon_Area_04b <gen>)
    Unit - Order Gryphon05 to Attack-Move To.(Center of Gyphon_Area_05b <gen>)
    Unit - Order Gryphon06 to Attack-Move To.(Center of Gyphon_Area_05e <gen>)
    Unit - Order Gryphon07 to Attack-Move To.(Center of Gyphon_Area_06b <gen>)
    Unit - Order Gryphon08 to Attack-Move To.(Center of Gyphon_Area_07b <gen>)
    Unit - Order Gryphon09 to Attack-Move To.(Center of Gyphon_Area_08b <gen>)
Gryphon 1a
  Events
    Unit - A unit enters Gyphon_Area_01a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_01b <gen>)
Gryphon 1b
  Events
    Unit - A unit enters Gyphon_Area_01b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_01a <gen>)
Gryphon 2a
  Events
    Unit - A unit enters Gyphon_Area_02a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_02b <gen>)
Gryphon 2b
  Events
    Unit - A unit enters Gyphon_Area_02b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_02a <gen>)
Gryphon 3a
  Events
    Unit - A unit enters Gyphon_Area_03a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_03b <gen>)
Gryphon 3b
  Events
    Unit - A unit enters Gyphon_Area_03b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_03a <gen>)
Gryphon 4a
  Events
    Unit - A unit enters Gyphon_Area_04a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_04b <gen>)
Gryphon 4b
  Events
    Unit - A unit enters Gyphon_Area_04b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_04a <gen>)
Gryphon 5a
  Events
    Unit - A unit enters Gyphon_Area_05a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_05b <gen>)
Gryphon 5b
  Events
    Unit - A unit enters Gyphon_Area_05b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_05c <gen>)
Gryphon 5c
  Events
    Unit - A unit enters Gyphon_Area_05c <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_05d <gen>)
Gryphon 5d
  Events
    Unit - A unit enters Gyphon_Area_05d <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_05e <gen>)
Gryphon 5e
  Events
    Unit - A unit enters Gyphon_Area_05e <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_05a <gen>)
Gryphon 6a
  Events
    Unit - A unit enters Gyphon_Area_06a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_06b <gen>)
Gryphon 6b
  Events
    Unit - A unit enters Gyphon_Area_06b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_06a <gen>)
Gryphon 7a
  Events
    Unit - A unit enters Gyphon_Area_07a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_07b <gen>)
Gryphon 7b
  Events
    Unit - A unit enters Gyphon_Area_07b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_07a <gen>)
Gryphon 8a
  Events
    Unit - A unit enters Gyphon_Area_08a <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_08b <gen>)
Gryphon 8b
  Events
    Unit - A unit enters Gyphon_Area_08b <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Gryphon Rider
    (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Unit - Order (Entering unit) to Attack-Move To.(Center of Gyphon_Area_08a <gen>)
Centaurs Patroling
  Events
    Game - The in-game time of day becomes Equal to 6.01
  Conditions
  Actions
    Unit - Order Centaur Sorcerer 0147 <gen> to Patrol To.(Center of Patrol_Centaur_01 <gen>)
    Unit - Order Centaur Sorcerer 0148 <gen> to Patrol To.(Center of Patrol_Centaur_02 <gen>)
Play Animation for Centaur 02
  Events
    Unit - A unit enters Patrol_Centaur_02 <gen>
  Conditions
    (Unit-type of (Entering unit)) Equal to Centaur Sorcerer
    (Owner of (Entering unit)) Equal to Neutral Hostile
  Actions
    Unit - Order Centaur Sorcerer 0148 <gen> to Stop.
    Wait 1.00 seconds
    Animation - Play (Entering unit)'s spell slam (animationname) animation
    Wait 1.00 seconds
    Unit - Order Centaur Sorcerer 0148 <gen> to Patrol To.(Center of Patrol_Centaur_02a <gen>)
Restart Centaur Patrols
  Events
  Conditions
  Actions
    If ((Centaur Sorcerer 0147 <gen> is alive) Equal to True) then do (Move Centaur Sorcerer 0147 <gen> instantly to (Center of Patrol_Centaur_01a <gen>)) else do (Do nothing)
    If ((Centaur Sorcerer 0147 <gen> is alive) Equal to True) then do (Order Centaur Sorcerer 0147 <gen> to Patrol To.(Center of Patrol_Centaur_01 <gen>)) else do (Do nothing)
    If ((Centaur Sorcerer 0148 <gen> is alive) Equal to True) then do (Move Centaur Sorcerer 0148 <gen> instantly to (Center of Patrol_Centaur_02a <gen>)) else do (Do nothing)
    If ((Centaur Sorcerer 0148 <gen> is alive) Equal to True) then do (Order Centaur Sorcerer 0148 <gen> to Patrol To.(Center of Patrol_Centaur_02 <gen>)) else do (Do nothing)
Area Entered
  Events
    Unit - A unit enters Harpy_Area_01 <gen>
    Unit - A unit enters Harpy_Area_02 <gen>
    Unit - A unit enters Harpy_Area_03 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 1 (Red)
        (Owner of (Entering unit)) Equal to Player 6 (Orange)
    (Entering unit) Not equal to Zeppelin
    GameOver Equal to False
    Victory Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Wyvern_Quest <gen>
    Countdown Timer - Pause TimerTaurenHint
    Set VariableSet HarpyCine = True
    If ((Harpy_Area_03 <gen> contains (Entering unit)) Equal to True) then do (Center Harpys_Attack <gen> on (Center of Harpy_Area_03 <gen>)) else do (Do nothing)
    If ((Harpy_Area_02 <gen> contains (Entering unit)) Equal to True) then do (Center Harpys_Attack <gen> on (Center of Harpy_Area_02 <gen>)) else do (Do nothing)
    Trigger - Add Harpy_Area_Entered <gen> to the trigger queue (Checking conditions)
Harpy Area Entered
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Remove Queued_Wyvern_Quest <gen> from the trigger queue
    Sound - Disable dawn and dusk sounds
    -------- Fade out --------
    Cinematic - Fade out over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    Cinematic - Turn cinematic mode On for (All players)
    Set VariableSet Cinematic = True
    Camera - .Apply. gg_cam_Harpy_Area_Cam for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Harpy_Area_Cam for Player 6 (Orange) over 0 seconds
    Unit - Unhide Harpy Queen 0071 <gen>
    Unit - Unhide Harpy Scout 0162 <gen>
    Unit - Unhide Harpy Scout 0190 <gen>
    Unit - Unhide Wyvern 0079 <gen>
    Unit - Unhide Wyvern 0082 <gen>
    Set VariableSet SelectedUnits1 = (Units currently selected by Player 1 (Red))
    Set VariableSet SelectedUnits2 = (Units currently selected by Player 6 (Orange))
    Selection - Clear selection
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Remove All buffs from (Picked unit))
    Player - Set the current research level of Roen (techcode) to 1 for Neutral Hostile
    Player - Make Neutral Hostile treat Player 1 (Red) as an Ally
    Player - Make Neutral Hostile treat Player 6 (Orange) as an Ally
    Player - Make Player 1 (Red) treat Neutral Hostile as an Ally
    Player - Make Player 6 (Orange) treat Neutral Hostile as an Ally
    Player - Make Neutral Hostile treat Player 12 (Brown) as an Enemy
    Unit - Pause all units
    -------- Cinematic Begins --------
    Trigger - Turn on Escape_Harpy_Area <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    -------- Fade in --------
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (WyvernCaptureScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Unpause Harpy01
    Unit - Add Ensnare (Neutral Hostile) to Harpy01
    Unit - Order Harpy01 to Orc Raider - Ensnare.Wyvern 0079 <gen>
    Wait 0.50 seconds
    If (WyvernCaptureScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Unpause Harpy02
    Unit - Add Ensnare (Neutral Hostile) to Harpy02
    Unit - Order Harpy02 to Orc Raider - Ensnare.Wyvern 0082 <gen>
    Wait 1.00 seconds
    If (WyvernCaptureScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Attach EnsnareTarget <gen> to Wyvern 0082 <gen>
    Sound - Play EnsnareTarget <gen>
    Player - Make Neutral Hostile treat Player 12 (Brown) as an Ally
    Unit - Order Harpy Queen 0071 <gen> to Stop.
    Unit - Order Harpy01 to Stop.
    Unit - Order Harpy02 to Stop.
    Sound - Setup all volume channels for speech
    If ((Cairne is dead) Equal to True) then do (Do nothing) else do (Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne08 <gen> and display The harpies have enslaved the wyverns!. Modify duration: Add 0 seconds and Wait)
    Unit - Order Harpy Scout 0162 <gen> to Stop.
    Unit - Order Harpy Scout 0190 <gen> to Stop.
    If (WyvernCaptureScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Cinematic Ends --------
    Trigger - Turn off Escape_Harpy_Area <gen>
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Sound - Reset all volume channels to 100%
    Player - Make Neutral Hostile treat Player 1 (Red) as an Enemy
    Player - Make Neutral Hostile treat Player 6 (Orange) as an Enemy
    Player - Make Player 1 (Red) treat Neutral Hostile as an Enemy
    Player - Make Player 6 (Orange) treat Neutral Hostile as an Enemy
    Cinematic - Fade out over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - Reset camera for Player 1 (Red) to standard game-view over 1.00 seconds
    Camera - Reset camera for Player 6 (Orange) to standard game-view over 1.00 seconds
    Unit - Unpause all units
    Unit - Order Harpy01 to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Order Harpy02 to Attack-Move To.(Center of Harpys_Attack <gen>)
    Selection - Clear selection
    Selection - Select SelectedUnits1
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Unit - Order Harpy Scout 0190 <gen> to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Order Harpy Scout 0162 <gen> to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Remove Wyvern 0079 <gen> from the game
    Unit - Remove Wyvern 0082 <gen> from the game
    Sound - Enable dawn and dusk sounds
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Box_02 <gen>) to a radius of 1024.00.
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Box_02 <gen>) to a radius of 1024.00.
    Visibility - Destroy (Last created visibility modifier)
    Countdown Timer - Start TimerRunningFromHarpys as a One-shot timer that will expire in 20.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Set VariableSet HarpyCine = False
    Trigger - Remove (This trigger) from the trigger queue
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run Restart_Centaur_Patrols <gen> (ignoring conditions)
    Trigger - Run Restart_Patroling_Harpy <gen> (ignoring conditions)
Escape Harpy Area
  Events
  Conditions
  Actions
    Set VariableSet WyvernCaptureScene = True
    Set VariableSet HarpyCine = False
    Trigger - Turn off (This trigger)
    Player - Make Neutral Hostile treat Player 1 (Red) as an Enemy
    Player - Make Neutral Hostile treat Player 6 (Orange) as an Enemy
    Player - Make Player 1 (Red) treat Neutral Hostile as an Enemy
    Player - Make Player 6 (Orange) treat Neutral Hostile as an Enemy
    Unit - Unpause all units
    Unit - Order Harpy01 to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Order Harpy02 to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Order Harpy Scout 0190 <gen> to Attack-Move To.(Center of Harpys_Attack <gen>)
    Unit - Order Harpy Scout 0162 <gen> to Attack-Move To.(Center of Harpys_Attack <gen>)
    Selection - Select SelectedUnits1 for Player 1 (Red)
    Selection - Select SelectedUnits2 for Player 6 (Orange)
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Unit - Order Harpy Queen 0071 <gen> to Move To.(Center of Harpy_Queen <gen>)
    Unit - Remove Wyvern 0082 <gen> from the game
    Unit - Remove Wyvern 0079 <gen> from the game
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Box_02 <gen>) to a radius of 1024.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of VisibilityHarpyIntroArea <gen>) to a radius of 640.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Box_02 <gen>) to a radius of 1024.00.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of VisibilityHarpyIntroArea <gen>) to a radius of 640.00.
    Visibility - Destroy (Last created visibility modifier)
    Sound - Enable dawn and dusk sounds
    Countdown Timer - Start TimerRunningFromHarpys as a One-shot timer that will expire in 20.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Remove Harpy_Area_Entered <gen> from the trigger queue
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run Restart_Centaur_Patrols <gen> (ignoring conditions)
    Trigger - Run Restart_Patroling_Harpy <gen> (ignoring conditions)
Harpy Queen Nest
  Events
    Unit - A unit enters Harpy_Queen <gen>
  Conditions
    (Entering unit) Equal to Harpy Queen 0071 <gen>
  Actions
    Unit - Order (Entering unit) to Hold Position.
    Unit - Move (Entering unit) instantly to (Center of Harpy_Queen <gen>)
Harpys Dead
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    (Harpy01 is dead) Equal to True
    (Harpy02 is dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Harpys_Dead_Run_Away <gen>
    Trigger - Add Que_Wyvern_Update <gen> to the trigger queue (Checking conditions)
Harpys Dead Run Away
  Events
    Time - TimerRunningFromHarpys expires
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Harpys_Dead <gen>
    Trigger - Add Que_Wyvern_Update <gen> to the trigger queue (Checking conditions)
Que Wyvern Update
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Mark QuestWyvern as Discovered
    Quest - Mark QuestWyvernFind as Completed
    Quest - Create a quest requirement for QuestWyvern with the description Save the Wyverns from the vile Harpies
    Set VariableSet QuestWyvernSave = (Last created quest requirement)
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST UPDATE|r Wyverns - |cff808080Find the Wyverns (Completed)|r - Save the captured Wyverns
    Cinematic - Ping minimap for (All players) at (Center of Box_02 <gen>) for 3.00 seconds
    Trigger - Remove (This trigger) from the trigger queue
    Countdown Timer - Resume TimerTaurenHint
Quillboars Attack
  Events
    Unit - A unit comes within 512.00 of Quillboar Hunter 0039 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player 1 (Red)
        (Owner of (Triggering unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn off (This trigger)
    Unit - Order Quillboar Hunter 0020 <gen> to Attack-Move To.(Center of Quillboars_Attack <gen>)
    Unit - Order Quillboar Hunter 0031 <gen> to Attack-Move To.(Center of Quillboars_Attack <gen>)
Roaming Quillboars
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Unit - Order Razormane Brute 0086 <gen> to Move To.(Random point in Roaming_Quillboars <gen>)
    Unit - Order Razormane Brute 0091 <gen> to Move To.(Random point in Roaming_Quillboars <gen>)
    Unit - Order Razormane Medicine Man 0108 <gen> to Move To.(Random point in Roaming_Quillboars <gen>)
Quillboar Spell Animation
  Events
    Time - Every 25.00 seconds of game time
  Conditions
  Actions
    Animation - Play Razormane Medicine Man 0108 <gen>'s spell attack - 1 (animationname) animation
Turn off two Above Triggers
  Events
    Unit - A unit enters Roaming_Quillboars <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 1 (Red)
        (Owner of (Entering unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn off Quillboar_Spell_Animation <gen>
    Trigger - Turn off Roaming_Quillboars <gen>
Patroling Harpy
  Events
    Time - Elapsed game time is 5 seconds
  Conditions
  Actions
    Unit - Order Harpy Rogue 0100 <gen> to Patrol To.(Center of Harpy_Fly_Back_and_Forth <gen>)
Restart Patroling Harpy
  Events
  Conditions
  Actions
    If ((Harpy Rogue 0100 <gen> is alive) Equal to True) then do (Move Harpy Rogue 0100 <gen> instantly to (Center of Harpy100Initial <gen>)) else do (Do nothing)
    If ((Harpy Rogue 0100 <gen> is alive) Equal to True) then do (Order Harpy Rogue 0100 <gen> to Patrol To.(Center of Harpy_Fly_Back_and_Forth <gen>)) else do (Do nothing)
Stop Harpy Patrol
  Events
    Unit - A unit comes within 256 of Harpy Rogue 0100 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player 1 (Red)
        (Owner of (Triggering unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Patroling_Harpy <gen>
    Unit - Order Harpy Rogue 0100 <gen> to Move To.(Center of Harpy_Fly_Back_and_Forth <gen>)
Harpy Dies
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Dying unit) Equal to Harpy Queen 0071 <gen>
        ((Dying unit) is in HarpyAreaGuys2.) Equal to True
  Actions
    Unit Group - Remove (Dying unit) from HarpyAreaGuys2.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in HarpyAreaGuys2) Equal to 0
        (Harpy Queen 0071 <gen> is dead) Equal to True
        GameOver Equal to False
        Victory Equal to False
      Then - Actions
        Trigger - Run First_Freed_Wyverns <gen> (ignoring conditions)
      Else - Actions
First Freed Wyverns
  Events
  Conditions
  Actions
    Set VariableSet SubquestsComplete = (SubquestsComplete + 1)
    Trigger - Turn off (This trigger)
    Trigger - Turn off Thrall_Enters_Harpy_Area <gen>
    Game - Turn the day/night cycle Off
    Cinematic - Fade out over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Set VariableSet WyvernCine = True
    If (GameOver Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Turn cinematic mode On for (All players)
    Set VariableSet Cinematic = True
    Set VariableSet SelectedUnits1 = (Units currently selected by Player 1 (Red))
    Set VariableSet SelectedUnits2 = (Units currently selected by Player 6 (Orange))
    Selection - Clear selection
    If ((Thrall is dead) Equal to True) then do (Do nothing) else do (Set VariableSet ThrallLoc = (Position of Thrall))
    If ((Cairne is dead) Equal to True) then do (Do nothing) else do (Set VariableSet CairneLoc = (Position of Cairne))
    Unit - Pause all units
    If ((Cairne is being transported) Equal to True) then do (Set VariableSet CairneTransit = True) else do (Do nothing)
    If ((Thrall is being transported) Equal to True) then do (Set VariableSet ThrallTransit = True) else do (Do nothing)
    Set VariableSet HarpyAreaGuys1 = (Units owned by Player 1 (Red) matching ((Hide_Units_in_Harpy_Area <gen> contains (Matching unit)) Equal to True).)
    Unit Group - Pick every unit in HarpyAreaGuys1 and do (Remove All buffs from (Picked unit))
    Set VariableSet HarpyAreaGuys1 = (Units owned by Player 1 (Red) matching (((Hide_Units_in_Harpy_Area <gen> contains (Matching unit)) Equal to True) and (((Triggering unit) is hidden) Equal to False)).)
    Unit Group - Pick every unit in HarpyAreaGuys1 and do (Hide (Picked unit))
    Set VariableSet HarpyAreaGuys2 = (Units owned by Player 6 (Orange) matching ((Hide_Units_in_Harpy_Area <gen> contains (Matching unit)) Equal to True).)
    Unit Group - Pick every unit in HarpyAreaGuys2 and do (Remove All buffs from (Picked unit))
    Set VariableSet HarpyAreaGuys2 = (Units owned by Player 6 (Orange) matching (((Hide_Units_in_Harpy_Area <gen> contains (Matching unit)) Equal to True) and (((Triggering unit) is hidden) Equal to False)).)
    Unit Group - Pick every unit in HarpyAreaGuys2 and do (Hide (Picked unit))
    Unit - Unpause Thrall
    Unit - Unhide Thrall
    Unit - Unpause Cairne
    Unit - Unhide Cairne
    Unit - Move Thrall instantly to (Center of Thrall_Cast_Lightning_on_Boxes <gen>)
    Unit - Move Cairne instantly to (Center of Cairne_At_Harpy_Area <gen>)
    If ((Thrall is dead) Equal to True) then do (Instantly revive Thrall at (Center of Thrall_Cast_Lightning_on_Boxes <gen>), Hide revival graphics) else do (Do nothing)
    If ((Cairne is dead) Equal to True) then do (Instantly revive Cairne at (Center of Cairne_At_Harpy_Area <gen>), Hide revival graphics) else do (Do nothing)
    Unit - Make Thrall face (Center of Box_02 <gen>) over 0.00 seconds
    Unit - Make Cairne face (Center of Box_02 <gen>) over 0.00 seconds
    Unit - Remove All buffs from Cairne
    Unit - Remove All buffs from Thrall
    Camera - .Apply. gg_cam_Harpy_Queen for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Harpy_Queen for Player 6 (Orange) over 0 seconds
    Trigger - Turn on Escape_First_Freed_Wyverns <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Thrall's spell (animationname) animation
    -------- Blowing up the Wyvern Cages --------
    Wait 0.50 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning01 <gen>.
    Sound - Set position of LightningBolt <gen> to (Center of Box_01 <gen>) with Z offset 0
    Sound - Play LightningBolt <gen>
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning02 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning03 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning04 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning05 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning06 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning07 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning08 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning09 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning10 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning11 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning12 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning13 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning14 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning15 <gen>.
    Wait 1.00 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Thrall's spell (animationname) animation
    Wait 0.50 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning01 <gen>.
    Sound - Set position of LightningBolt <gen> to (Center of Box_01 <gen>) with Z offset 0
    Sound - Play LightningBolt <gen>
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning02 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning03 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning04 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning05 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning06 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning07 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning08 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning09 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning10 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning11 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning12 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning13 <gen>.
    Animation - Play the stand Alternate (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning14 <gen>.
    Animation - Play the stand (animationname) animation for all doodads of type YOlb (doodadcode) within Lightning15 <gen>.
    Wait 1.00 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Thrall's animation
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_01 <gen>.
    Sound - Set position of LightningBolt <gen> to (Center of Box_01 <gen>) with Z offset 0
    Sound - Play LightningBolt <gen>
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_02 <gen>.
    Sound - Set position of RollingThunder1 <gen> to (Center of Box_02 <gen>) with Z offset 0
    Sound - Play RollingThunder1 <gen>
    Animation - Play the death (animationname) animation for all doodads of type YOlb (doodadcode) within Box_03 <gen>.
    Unit - Kill Wyvern Cage 0109 <gen>
    Unit - Kill Wyvern Cage 0111 <gen>
    Unit - Kill Wyvern Cage 0110 <gen>
    -------- Creating the Wyverns --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
      Else - Actions
        Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_01 <gen>) facing Default building facing degrees
        Set VariableSet Wyvern01 = (Last created unit)
        Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_03 <gen>) facing Default building facing degrees
        Set VariableSet Wyvern06 = (Last created unit)
    Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_01 <gen>) facing Default building facing degrees
    Set VariableSet Wyvern02 = (Last created unit)
    Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_02 <gen>) facing Default building facing degrees
    Set VariableSet Wyvern03 = (Last created unit)
    Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_02 <gen>) facing Default building facing degrees
    Set VariableSet Wyvern04 = (Last created unit)
    Unit - Create 1.Wyvern (Riderless) for Player 12 (Brown) at (Center of Box_03 <gen>) facing Default building facing degrees
    Set VariableSet Wyvern05 = (Last created unit)
    -------- Wyverns Fly out of boxes --------
    Unit - Order Wyvern01 to Move To.(Center of WyvernSpot01 <gen>)
    Unit - Order Wyvern02 to Move To.(Center of WyvernSpot02 <gen>)
    Unit - Order Wyvern03 to Move To.(Center of WyvernSpot03 <gen>)
    Unit - Order Wyvern04 to Move To.(Center of WyvernSpot04 <gen>)
    Unit - Order Wyvern05 to Move To.(Center of WyvernSpot05 <gen>)
    Unit - Order Wyvern06 to Move To.(Center of WyvernSpot06 <gen>)
    Wait 1.00 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne10 <gen> and display There! These proud beasts will now aid us in reaching the summit.. Modify duration: Add 0 seconds and Wait
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2.00 seconds
    If (WyvernsFreedScene Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE MOKEY --------
    Trigger - Turn off Escape_First_Freed_Wyverns <gen>
    Trigger - Turn off Skip_Cinematic <gen>
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Game - Turn the day/night cycle On
    Cinematic - Fade out over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Unit Group - Pick every unit in HarpyAreaGuys1 and do (If (((Picked unit) is being transported) Equal to False) then do (Unhide (Picked unit)) else do (Do nothing))
    Unit Group - Pick every unit in HarpyAreaGuys2 and do (If (((Picked unit) is being transported) Equal to False) then do (Unhide (Picked unit)) else do (Do nothing))
    If (CairneTransit Equal to True) then do (Hide Cairne) else do (Do nothing)
    If (ThrallTransit Equal to True) then do (Hide Thrall) else do (Do nothing)
    Unit - Remove Wyvern01 from the game
    Unit - Remove Wyvern02 from the game
    Unit - Remove Wyvern03 from the game
    Unit - Remove Wyvern04 from the game
    Unit - Remove Wyvern05 from the game
    Unit - Remove Wyvern06 from the game
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot02 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot03 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot04 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot05 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
      Else - Actions
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot01 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot02 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot03 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot04 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot05 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot06 <gen>) facing Default building facing degrees
    Unit - Move Thrall instantly to ThrallLoc
    Unit - Move Cairne instantly to CairneLoc
    Cinematic - Fade in over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - Reset camera for Player 1 (Red) to standard game-view over 0 seconds
    Camera - Reset camera for Player 6 (Orange) to standard game-view over 0 seconds
    Unit - Unpause all units
    Selection - Clear selection
    Selection - Select SelectedUnits1 for Player 1 (Red)
    Selection - Select SelectedUnits2 for Player 6 (Orange)
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Player - Make Wind Rider Available for training/construction by Player 1 (Red)
    Player - Enable Envenomed Spears for Player 1 (Red)
    Player - Set the current research level of Rovs (techcode) to 0 for Player 1 (Red)
    Player - Set the max research level of Rovs (techcode) to 1 for Player 1 (Red)
    Player - Make Wind Rider Available for training/construction by Player 6 (Orange)
    Player - Enable Envenomed Spears for Player 6 (Orange)
    Player - Set the current research level of Rovs (techcode) to 0 for Player 6 (Orange)
    Player - Set the max research level of Rovs (techcode) to 1 for Player 6 (Orange)
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run Restart_Centaur_Patrols <gen> (ignoring conditions)
    Trigger - Run Restart_Patroling_Harpy <gen> (ignoring conditions)
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rWyverns
    Quest - Mark QuestWyvern as Completed
    Quest - Mark QuestWyvernSave as Completed
    Sound - Enable dawn and dusk sounds
    Set VariableSet WyvernCine = False
    Wait 10.00 seconds
    Quest - Display to (All players) the Simple Hint message: |cff87CEEBNEW UNIT AVAILABLE|rWyvern - You may now build Wyverns from the Beastiary. They are highly mobile flying creatures and excellent at scouting. Wyverns can learn the Envenomed Spears ability.
Thrall Enters Harpy Area
  Events
    Unit - A unit enters Hide_Units_in_Harpy_Area <gen>
  Conditions
    (Distance between (Position of Harpy Queen 0071 <gen>) and (Position of Thrall)) Less than or equal to 2048.00
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall15 <gen> and display Quickly, my warriors, the wyverns must be freed!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
Escape First Freed Wyverns
  Events
  Conditions
  Actions
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Trigger - Turn off (This trigger)
    Set VariableSet WyvernsFreedScene = True
    Set VariableSet WyvernCine = False
    Game - Turn the day/night cycle On
    Unit - Kill Wyvern Cage 0109 <gen>
    Unit - Kill Wyvern Cage 0111 <gen>
    Unit - Kill Wyvern Cage 0110 <gen>
    Unit Group - Pick every unit in HarpyAreaGuys1 and do (If (((Picked unit) is being transported) Equal to False) then do (Unhide (Picked unit)) else do (Do nothing))
    Unit - Remove Wyvern01 from the game
    Unit - Remove Wyvern02 from the game
    Unit - Remove Wyvern03 from the game
    Unit - Remove Wyvern04 from the game
    Unit - Remove Wyvern05 from the game
    Unit - Remove Wyvern06 from the game
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot02 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot03 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot04 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot05 <gen>) facing Default building facing degrees
        Unit - Set life of (Last created unit) to (Random real number between 35.00 and 65.00)%
      Else - Actions
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot01 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot02 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot03 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot04 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 1 (Red) at (Center of WyvernSpot05 <gen>) facing Default building facing degrees
        Unit - Create 1.Wind Rider for Player 6 (Orange) at (Center of WyvernSpot06 <gen>) facing Default building facing degrees
    Unit - Move Thrall instantly to ThrallLoc
    Unit - Move Cairne instantly to CairneLoc
    Cinematic - Fade in over 0.40 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - Reset camera for Player 1 (Red) to standard game-view over 0 seconds
    Camera - Reset camera for Player 6 (Orange) to standard game-view over 0 seconds
    Unit - Unpause all units
    Selection - Clear selection
    Selection - Select SelectedUnits1 for Player 1 (Red)
    Selection - Select SelectedUnits2 for Player 6 (Orange)
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Player - Make Wind Rider Available for training/construction by Player 1 (Red)
    Player - Enable Envenomed Spears for Player 1 (Red)
    Player - Set the current research level of Rovs (techcode) to 0 for Player 1 (Red)
    Player - Set the max research level of Rovs (techcode) to 1 for Player 1 (Red)
    Player - Make Wind Rider Available for training/construction by Player 6 (Orange)
    Player - Enable Envenomed Spears for Player 6 (Orange)
    Player - Set the current research level of Rovs (techcode) to 0 for Player 6 (Orange)
    Player - Set the max research level of Rovs (techcode) to 1 for Player 6 (Orange)
    Trigger - Run Start_Flying <gen> (ignoring conditions)
    Trigger - Run Restart_Centaur_Patrols <gen> (ignoring conditions)
    Trigger - Run Restart_Patroling_Harpy <gen> (ignoring conditions)
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rWyverns
    Quest - Mark QuestWyvern as Completed
    Quest - Mark QuestWyvernSave as Completed
    Wait 10.00 seconds
    Quest - Display to (All players) the Simple Hint message: |cff87CEEBNEW UNIT AVAILABLE|rWyvern - You may now build Wyverns from the Beastiary.
Pendant of Mana Drop
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to False
        (Dying unit) Equal to Harpy Queen 0071 <gen>
      Then - Actions
        Trigger - Turn off (This trigger)
        Item - Create Pendant of Mana at (Position of (Picked unit))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
        (Unit-type of (Dying unit)) Equal to Harpy Venomancer
      Then - Actions
        Trigger - Turn off (This trigger)
        Item - Create Pendant of Mana at (Position of (Picked unit))
      Else - Actions
Discover Fountain
  Events
    Time - Every 2 seconds of game time
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Number of units in (Units in Defiled_Fountain <gen> matching (((Owner of (Matching unit)) Equal to Player 1 (Red)) and (((Matching unit) is alive) Equal to True)))) Greater than 0
        (Number of units in (Units in Defiled_Fountain <gen> matching (((Owner of (Matching unit)) Equal to Player 6 (Orange)) and (((Matching unit) is alive) Equal to True)))) Greater than 0
    LizardCombatBoolean Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Que_Fountain_Speech <gen> to the trigger queue (Checking conditions)
    Trigger - Turn on Fixing_Fountain_Cairne <gen>
    Trigger - Turn on Fixing_Fountain_Thrall <gen>
Que Fountain Speech
  Events
  Conditions
    GameOver Equal to False
  Actions
    Wait 2 seconds
    Camera - Pan camera as necessary for Player 1 (Red) to (Position of Defiled Fountain 0131 <gen>) over 0.5 seconds
    Camera - Pan camera as necessary for Player 6 (Orange) to (Position of Defiled Fountain 0131 <gen>) over 0.5 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O02Thrall22 <gen> and display This place has been defiled. I sense that the spirits have fled.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    Wait Campaign hint delay seconds
    Trigger - Add Que_Fountain_Quest <gen> to the trigger queue (Checking conditions)
Que Fountain Quest
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Mark QuestDefiledFountian as Discovered
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rDefiled Fountain - Kill the Centaur Khan - Return the Glyph of Purification to restore the Fountain
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Roaming Lizards
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Unit - Order Lightning Lizard 0191 <gen> to Attack-Move To.(Random point in Lizards_Roam <gen>)
    Unit - Order Lightning Lizard 0192 <gen> to Attack-Move To.(Random point in Lizards_Roam <gen>)
    Unit - Order ThunderLizard to Attack-Move To.(Random point in Lizards_Roam <gen>)
    Unit - Order Lightning Lizard 0197 <gen> to Attack-Move To.(Random point in Lizard_Roam_2 <gen>)
    Unit - Order Lightning Lizard 0198 <gen> to Attack-Move To.(Random point in Lizard_Roam_2 <gen>)
Turn off Above Trigger
  Events
    Unit - A unit enters Defiled_Fountain <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 1 (Red)
        (Owner of (Entering unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn off Roaming_Lizards <gen>
Turn on Above Trigger
  Events
    Unit - A unit leaves Defiled_Fountain <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Leaving unit)) Equal to Player 1 (Red)
        (Owner of (Leaving unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn on Roaming_Lizards <gen>
Fixing Fountain Cairne
  Events
    Unit - A unit enters Defiled_Fountain <gen>
  Conditions
    (Cairne has an item of type Glyph of Purification) Equal to True
    (Entering unit) Equal to Cairne
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Fixing_Fountain_Thrall <gen>
    Item - Remove (Item carried by Cairne of type Glyph of Purification)
    Special Effect - Create a special effect at (Center of Fountain_Spot <gen>) using Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl
    Sound - Set position of ReviveHuman <gen> to (Center of Fountain_Spot <gen>) with Z offset 0
    Sound - Play ReviveHuman <gen>
    Wait 3.00 seconds
    Set VariableSet SubquestsComplete = (SubquestsComplete + 1)
    Unit - Replace Defiled Fountain 0131 <gen> with a Fountain of Health using The new unit's default life and mana
    Special Effect - Destroy (Last created special effect)
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rDefiled Fountain
    Quest - Mark QuestDefiledFountian as Completed
    Quest - Mark QuestFountainGlyph as Completed
Fixing Fountain Thrall
  Events
    Unit - A unit enters Defiled_Fountain <gen>
  Conditions
    (Thrall has an item of type Glyph of Purification) Equal to True
    (Entering unit) Equal to Thrall
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Fixing_Fountain_Cairne <gen>
    Item - Remove (Item carried by Thrall of type Glyph of Purification)
    Special Effect - Create a special effect at (Center of Fountain_Spot <gen>) using Abilities\Spells\Undead\Unsummon\UnsummonTarget.mdl
    Sound - Set position of ReviveHuman <gen> to (Center of Fountain_Spot <gen>) with Z offset 0
    Sound - Play ReviveHuman <gen>
    Wait 3.00 seconds
    Set VariableSet SubquestsComplete = (SubquestsComplete + 1)
    Unit - Replace Defiled Fountain 0131 <gen> with a Fountain of Health using The new unit's default life and mana
    Special Effect - Destroy (Last created special effect)
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rDefiled Fountain
    Quest - Mark QuestDefiledFountian as Completed
    Quest - Mark QuestFountainGlyph as Completed
Centaur Runs back to Camp
  Events
    Unit - A unit comes within 512.00 of Centaur Impaler 0169 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player 1 (Red)
        (Owner of (Triggering unit)) Equal to Player 6 (Orange)
  Actions
    Trigger - Turn off (This trigger)
    Unit - Order Centaur Impaler 0169 <gen> to Move To.(Center of Centaur_Retreat <gen>)
Centaur Khan Dead
  Events
    Unit - A unit Dies
  Conditions
    (QuestDefiledFountian is discovered) Equal to True
    GameOver Equal to False
    (Dying unit) Equal to CentaurKhan
  Actions
    Trigger - Turn off (This trigger)
    Quest - Mark QuestFountainCentaur as Completed
    Quest - Display to (All players) the Quest Update message: |cffffcc00OPTIONAL QUEST UPDATE|r Defiled Fountain - |cff808080Kill Centaur Khan (Completed)|r - Return the Glyph of Purification to restore the Fountain
    Item - Create Glyph of Purification at (Position of (Dying unit))
    Set VariableSet ItemGlyph = (Last created item)
    Item - Make (Last created item) Invulnerable
    Item - Make (Last created item) Undroppable
Centaur Khan Dead Quest Not Discovered
  Events
    Unit - A unit Dies
  Conditions
    (QuestDefiledFountian is discovered) Equal to False
    GameOver Equal to False
    (Dying unit) Equal to CentaurKhan
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Discover_Fountain <gen>
    Trigger - Turn off Centaur_Khan_Dead <gen>
    Quest - Mark QuestFountainCentaur as Completed
    Quest - Display to (All players) the Quest Update message: |cffffcc00OPTIONAL QUEST|rDefiled Fountain - Return the Glyph of Purification to restore the Fountain
    Trigger - Add Que_Fountain_Quest_Not_Discovered <gen> to the trigger queue (Checking conditions)
    Item - Create Glyph of Purification at (Position of (Dying unit))
    Set VariableSet ItemGlyph = (Last created item)
    Item - Make (Last created item) Invulnerable
    Item - Make (Last created item) Undroppable
    Trigger - Turn on Fixing_Fountain_Cairne <gen>
    Trigger - Turn on Fixing_Fountain_Thrall <gen>
Que Fountain Quest Not Discovered
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Mark QuestDefiledFountian as Discovered
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rDefiled Fountain - |cff808080Kill Centaur Khan (Completed)|r - Return the Glyph of Purification to restore the Fountain
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Make Fountain Invulnerable
  Events
    Map initialization
  Conditions
  Actions
    Unit - Make Defiled Fountain 0131 <gen> Invulnerable
LizardCombatTimer
  Events
    Unit - A unit owned by Player 1 (Red).Is attacked
    Unit - A unit owned by Player 6 (Orange).Is attacked
  Conditions
  Actions
    Set VariableSet LizardCombatBoolean = True
    Countdown Timer - Start LizardCombatTimer as a One-shot timer that will expire in 4.00 seconds
LizardCombat Expired
  Events
    Time - LizardCombatTimer expires
  Conditions
  Actions
    Set VariableSet LizardCombatBoolean = False
TriggerBlueAIHarass
  Events
  Conditions
  Actions
    AI - Send Player 2 (Blue) the AI Command (0, 0)
TriggerLightBlueAIHarass
  Events
  Conditions
  Actions
    AI - Send Player 10 (Light Blue) the AI Command (0, 0)
Ending
  Events
    Unit - A unit owned by Player 2 (Blue).Dies
  Conditions
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Town Hall) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Keep) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Castle) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Altar of Kings) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Barracks) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Workshop) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    (Number of units in (Units owned by Player 2 (Blue) matching (((Unit-type of (Matching unit)) Equal to Gryphon Aviary) and (((Matching unit) is alive) Equal to True)).)) Equal to 0
    GameOver Equal to False
    HarpyCine Equal to False
    WyvernCine Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Area_Entered <gen>
    Set VariableSet Victory = True
    Trigger - Run Base_Quest_Completed_Message <gen> (ignoring conditions)
    Trigger - Turn on Remove_Units_at_Cave <gen>
    Trigger - Add Ending_Qued <gen> to the trigger queue (Checking conditions)
Ending Qued
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Sound - Disable dawn and dusk sounds
    Unit - Make Cairne Invulnerable
    Unit - Make Thrall Invulnerable
    Wait 7.00 seconds
    If ((Cairne is dead) Equal to True) then do (Wait 2.00 seconds) else do (Do nothing)
    Item - Remove (Item carried by Cairne of type Glyph of Purification)
    Item - Remove (Item carried by Thrall of type Glyph of Purification)
    Trigger - Turn on Escape_End_Cine <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Cinematic - Turn cinematic mode On for (All players)
    Set VariableSet Cinematic = True
    Sound - Play Comradeship.
    Set VariableSet SelectedUnits1 = (Units currently selected by Player 1 (Red))
    Set VariableSet SelectedUnits2 = (Units currently selected by Player 6 (Orange))
    Selection - Clear selection
    Cinematic - Fade out over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Environment - Set sky to Generic Sky
    Unit - Remove All buffs from Cairne
    Unit - Remove All buffs from Thrall
    Wait 1.00 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Hide Cairne
    Unit - Hide Thrall
    Unit - Hide Mountain King 0047 <gen>
    Wait 0.10 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Pick every unit in (Units in Remove_Units_for_End_Cinematic <gen>) and do (Remove (Picked unit) from the game)
    Wait 0.10 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Unhide Cairne
    Unit - Unhide Thrall
    If ((Cairne is dead) Equal to True) then do (Instantly revive Cairne at (Center of CarineEndSpot <gen>), Hide revival graphics) else do (Move Cairne instantly to (Center of CarineEndSpot <gen>))
    If ((Thrall is dead) Equal to True) then do (Instantly revive Thrall at (Center of ThrallEndSpot <gen>), Hide revival graphics) else do (Move Thrall instantly to (Center of ThrallEndSpot <gen>))
    -------- Cinematic is Escapeable --------
    Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - .Apply. gg_cam_Ending_View for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Ending_View for Player 6 (Orange) over 0 seconds
    Unit - Make Cairne face (Center of Cave <gen>) over 0 seconds
    Unit - Make Thrall face (Center of Cave <gen>) over 0 seconds
    Unit - Make Thrall Invulnerable
    Unit - Make Cairne Invulnerable
    Unit - Create 1 Archmage for Player 10 (Light Blue) at (Center of Jania <gen>) facing (Position of (Triggering unit))
    Set VariableSet Jaina = (Last created unit)
    Unit - Create 1 Knight for Player 10 (Light Blue) at (Center of Jaina_Knight_01 <gen>) facing (Position of (Triggering unit))
    Set VariableSet JainaKnight01 = (Last created unit)
    Unit - Create 1 Knight for Player 10 (Light Blue) at (Center of Jaina_Knight_02 <gen>) facing (Position of (Triggering unit))
    Set VariableSet JainaKnight02 = (Last created unit)
    Unit - Set Jaina movement speed to 150.00
    Unit - Set JainaKnight01 movement speed to 200.00
    Unit - Set JainaKnight02 movement speed to 200.00
    Unit - Order Jaina to Move To.(Center of Cave <gen>)
    Unit - Order JainaKnight01 to Move To.(Center of Cave <gen>)
    Unit - Order JainaKnight02 to Move To.(Center of Cave <gen>)
    Sound - Attach HorseLoop3 <gen> to JainaKnight01
    Sound - Play HorseLoop3 <gen>
    Unit - Make Jaina Invulnerable
    Unit - Make JainaKnight01 Invulnerable
    Unit - Make JainaKnight02 Invulnerable
    Wait 0.50 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne21 <gen> and display Hold, Warchief.. Modify duration: Add 0 seconds and Wait
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall22 <gen> and display That's the young sorceress Grom told me about. It appears that she seeks the Oracle as well. . Modify duration: Add 0 seconds and Wait
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named Cairne Bloodhoof: Play O06Cairne23 <gen> and display Be wary, young one. That cave is the perfect spot for an ambush.. Modify duration: Add 0 seconds and Wait
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O06Thrall24 <gen> and display Don't worry, Cairne. I was raised by the humans. I know their tricks and stratagems. There's no way that I'll let them stop me from reaching the Oracle.. Modify duration: Add 0 seconds and Don't wait
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 8.00 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set Thrall movement speed to 200.00
    Unit - Set Cairne movement speed to 200.00
    Unit - Order Cairne to Move To.(Center of Carine_Cave_Spot <gen>)
    Wait 1.00 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Thrall to Move To.(Center of Thrall_Cave_Spot <gen>)
    Wait 4.00 seconds
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O06Thrall24 <gen> to be 0 seconds from finished playing
    If (EscapeEnding Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- Cinematic is not Escapeable --------
    Trigger - Turn off Skip_Cinematic <gen>
    Trigger - Turn off Escape_End_Cine <gen>
    Sound - Enable dawn and dusk sounds
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop01 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop02 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop03 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop04 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop05 <gen>
    Unit - Remove Jaina from the game
    Item - Remove ItemGlyph
    Unit Group - Pick every unit in (Units of type Peon) and do (Actions)
      Loop - Actions
        Unit - Order (Picked unit) to Stop.
    Wait 2.00 seconds
    Unit - Pause all units
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
      Loop - Actions
        Unit - Order (Picked unit) to Stop.
        Unit - Unhide (Picked unit)
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Endgame_Text <gen> (checking conditions)
Base Quest Completed Message
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Quest Completed message: |cffffcc00REQUIRED QUEST COMPLETED|rStonetalon Peak
    Quest - Mark QuestSummit as Completed
    Quest - Mark QuestThrallSummit as Completed
Remove Units at Cave
  Events
    Unit - A unit enters Cave <gen>
  Conditions
  Actions
    Unit - Hide (Entering unit)
Escape End Cine
  Events
  Conditions
    EscapeEnding Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet EscapeEnding = True
    Item - Remove ItemGlyph
    Unit - Remove Jaina from the game
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Unit Group - Pick every unit in (Units of type Peon) and do (Actions)
      Loop - Actions
        Unit - Order (Picked unit) to Stop.
    Wait 2.00 seconds
    Unit - Pause all units
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
      Loop - Actions
        Unit - Order (Picked unit) to Stop.
        Unit - Unhide (Picked unit)
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Endgame_Text <gen> (checking conditions)
Defeat Condition
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
  Conditions
    (Count structures controlled by Player 1 (Red) (Include incomplete structures)) Equal to 0
    (Count structures controlled by Player 6 (Orange) (Include incomplete structures)) Equal to 0
    Victory Equal to False
    HarpyCine Equal to False
    WyvernCine Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet GameOver = True
    Game - Display to (All players) for 600.00 seconds the text: |cffffcc00MAIN QUEST FAILED|r
    Game - Display to (All players) for 600.00 seconds the text: All of your buildings have been destroyed.
    Sound - Play QuestFailed <gen>
    Game - Turn the day/night cycle Off
    Wait 1.00 seconds
    Cinematic - Fade out over 2 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Play SadMystery <gen>
    Wait 2 seconds
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Make (Picked unit) Invulnerable)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Order (Picked unit) to Stop.)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Hide (Picked unit))
Systems Init
  Events
    Time - Elapsed game time is 0.50 seconds
  Conditions
  Actions
    Player - Set Player1.Food max to 60
    Player - Set Player2.Food max to 60
Research Init
  Events
    Map initialization
  Conditions
  Actions
    -------- Limits --------
    For each (Integer A) from 1 to 13, do (Actions)
      Loop - Actions
        Set VariableSet ResearchEnabledT2[(Integer A)] = True
        Set VariableSet ResearchEnabledT3[(Integer A)] = True
    Set VariableSet ResearchEnabledT2[1] = True
    Set VariableSet ResearchEnabledT2[2] = True
    Set VariableSet ResearchEnabledT2[3] = True
    -------- General --------
    Set VariableSet ResearchType[1] = Rome (techcode)
    Set VariableSet ResearchStringT1[1] = Steel Melee Weapons
    Set VariableSet ResearchStringT2[1] = Thorium Melee Weapons
    Set VariableSet ResearchStringT3[1] = Arcanite Melee Weapons
    Set VariableSet ResearchType[2] = Rora (techcode)
    Set VariableSet ResearchStringT1[2] = Steel Ranged Weapons
    Set VariableSet ResearchStringT2[2] = Thorium Ranged Weapons
    Set VariableSet ResearchStringT3[2] = Arcanite Ranged Weapons
    Set VariableSet ResearchType[3] = Roar (techcode)
    Set VariableSet ResearchStringT1[3] = Steel Armor
    Set VariableSet ResearchStringT2[3] = Thorium Armor
    Set VariableSet ResearchStringT3[3] = Arcanite Armor
    Set VariableSet ResearchType[4] = Rosp (techcode)
    Set VariableSet ResearchStringT1[4] = Spiked Barricades
    Set VariableSet ResearchStringT2[4] = Improved Spiked Barricades
    Set VariableSet ResearchStringT3[4] = Advanced Spiked Barricades
    -------- Unit Specifics --------
    Set VariableSet ResearchType[5] = Ropg (techcode)
    Set VariableSet ResearchStringT1[5] = Pillage
    Set VariableSet ResearchType[6] = Robs (techcode)
    Set VariableSet ResearchStringT1[6] = Beserker Strength
    Set VariableSet ResearchType[7] = Rotr (techcode)
    Set VariableSet ResearchStringT1[7] = Troll Regeneration
    Set VariableSet ResearchType[8] = Roen (techcode)
    Set VariableSet ResearchStringT1[8] = Ensnare
    Set VariableSet ResearchType[9] = Rwdm (techcode)
    Set VariableSet ResearchStringT1[9] = War Drums Damage Increase
    Set VariableSet ResearchType[10] = Rovs (techcode)
    Set VariableSet ResearchStringT1[10] = Envenomed Spears
    Set VariableSet ResearchType[11] = Rows (techcode)
    Set VariableSet ResearchStringT1[11] = Pulverise
    -------- Spellcasters --------
    Set VariableSet ResearchType[12] = Rost (techcode)
    Set VariableSet ResearchStringT1[12] = Shaman Adept Training
    Set VariableSet ResearchStringT2[12] = Shaman Master Training
    Set VariableSet ResearchType[13] = Rowd (techcode)
    Set VariableSet ResearchStringT1[13] = Witch Doctor Adept Training
    Set VariableSet ResearchStringT2[13] = Witch Doctor Master Training
Research Begins
  Events
    Unit - A unit Begins research
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player1
        (Owner of (Triggering unit)) Equal to Player2
  Actions
    For each (Integer A) from 1 to 15, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Researched tech-type) Equal to ResearchType[(Integer A)]
          Then - Actions
            Set VariableSet TempInteger = (Current research level of (Researched tech-type) for (Owner of (Triggering unit)))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Triggering unit)) Equal to Player1
              Then - Actions
                Player - Set the max research level of (Researched tech-type) to TempInteger for Player2
              Else - Actions
                Player - Set the max research level of (Researched tech-type) to TempInteger for Player1
          Else - Actions
Research Cancelled
  Events
    Unit - A unit Cancels research
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player1
        (Owner of (Triggering unit)) Equal to Player2
  Actions
    For each (Integer A) from 1 to 15, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Researched tech-type) Equal to ResearchType[(Integer A)]
          Then - Actions
            Set VariableSet TempInteger = (Current research level of (Researched tech-type) for (Owner of (Triggering unit)))
            Player - Set the max research level of (Researched tech-type) to (TempInteger + 1) for Player1
            Player - Set the max research level of (Researched tech-type) to (TempInteger + 1) for Player2
          Else - Actions
Research Complete
  Events
    Unit - A unit Finishes research
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player1
        (Owner of (Triggering unit)) Equal to Player2
  Actions
    Wait 0.50 seconds
    For each (Integer A) from 1 to 15, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Researched tech-type) Equal to ResearchType[(Integer A)]
          Then - Actions
            Set VariableSet TempInteger = (Current research level of (Researched tech-type) for (Owner of (Triggering unit)))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Triggering unit)) Equal to Player1
              Then - Actions
                Player - Set the max research level of (Researched tech-type) to TempInteger for Player2
                Player - Set the current research level of (Researched tech-type) to TempInteger for Player2
              Else - Actions
                Player - Set the max research level of (Researched tech-type) to TempInteger for Player1
                Player - Set the current research level of (Researched tech-type) to TempInteger for Player1
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger Equal to 1
              Then - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    ResearchEnabledT2[(Integer A)] Equal to True
                  Then - Actions
                    Player - Set the max research level of (Researched tech-type) to 2 for Player1
                    Player - Set the max research level of (Researched tech-type) to 2 for Player2
                  Else - Actions
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger Equal to 2
              Then - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    ResearchEnabledT3[(Integer A)] Equal to True
                  Then - Actions
                    Player - Set the max research level of (Researched tech-type) to 3 for Player1
                    Player - Set the max research level of (Researched tech-type) to 3 for Player2
                  Else - Actions
              Else - Actions
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger Equal to 1
              Then - Actions
                Game - Display to (All players) the text: (|cff9966ccRESEARCH|r - + ((Name of (Owner of (Triggering unit))) + ( has researched + (ResearchStringT1[(Integer A)] + for both players.))))
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger Equal to 2
              Then - Actions
                Game - Display to (All players) the text: (|cff9966ccRESEARCH|r - + ((Name of (Owner of (Triggering unit))) + ( has researched + (ResearchStringT2[(Integer A)] + for both players.))))
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger Equal to 3
              Then - Actions
                Game - Display to (All players) the text: (|cff9966ccRESEARCH|r - + ((Name of (Owner of (Triggering unit))) + ( has researched + (ResearchStringT3[(Integer A)] + for both players.))))
              Else - Actions
          Else - Actions
Requirement Init
  Events
    Time - Elapsed game time is 1.00 seconds
  Conditions
  Actions
    Set VariableSet Requirement_Region = Region_115 <gen>
    Set VariableSet RequirementUnitType[1] = Great Hall (Requirement)
    Set VariableSet RequirementUnitType[2] = Stronghold (Requirement)
    Set VariableSet RequirementUnitType[3] = Fortress (Requirement)
    Set VariableSet RequirementUnitType[4] = Altar of Storms (Requirement)
    Set VariableSet RequirementUnitType[5] = War Mill (Requirement)
    -------- Great Hall --------
    Set VariableSet RequirementTech[1] = True
    -------- Stronghold --------
    Set VariableSet RequirementTech[2] = True
    -------- Fortress --------
    Set VariableSet RequirementTech[3] = False
    -------- Altar of Storms --------
    Set VariableSet RequirementTech[4] = False
    -------- War Mill --------
    Set VariableSet RequirementTech[5] = True
    -------- --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RequirementTech[1] Equal to True
      Then - Actions
        Unit - Create 1.RequirementUnitType[1] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP1[1] = (Last created unit)
        Unit - Create 1.RequirementUnitType[1] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP2[1] = (Last created unit)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            RequirementTech[2] Equal to True
          Then - Actions
            Unit - Create 1.RequirementUnitType[2] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[2] = (Last created unit)
            Unit - Create 1.RequirementUnitType[2] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[2] = (Last created unit)
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                RequirementTech[3] Equal to True
              Then - Actions
                Unit - Create 1.RequirementUnitType[3] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
                Set VariableSet RequirementUnitP1[3] = (Last created unit)
                Unit - Create 1.RequirementUnitType[3] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
                Set VariableSet RequirementUnitP2[3] = (Last created unit)
              Else - Actions
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RequirementTech[4] Equal to True
      Then - Actions
        Unit - Create 1.RequirementUnitType[4] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP1[4] = (Last created unit)
        Unit - Create 1.RequirementUnitType[4] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP2[4] = (Last created unit)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        RequirementTech[5] Equal to True
      Then - Actions
        Unit - Create 1.RequirementUnitType[5] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP1[5] = (Last created unit)
        Unit - Create 1.RequirementUnitType[5] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
        Set VariableSet RequirementUnitP2[5] = (Last created unit)
      Else - Actions
Requirement Update
  Events
    Unit - A unit Finishes construction
    Unit - A unit Finishes an upgrade
    Unit - A unit Dies
  Conditions
    GameSelection Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player1
        (Owner of (Triggering unit)) Equal to Player2
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Triggering unit)) Equal to Great Hall
        (Unit-type of (Triggering unit)) Equal to Stronghold
        (Unit-type of (Triggering unit)) Equal to Fortress
        (Unit-type of (Triggering unit)) Equal to Altar of Storms
        (Unit-type of (Triggering unit)) Equal to War Mill
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((Triggering unit) is alive) Equal to True
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Great Hall
            RequirementTech[1] Equal to False
          Then - Actions
            Set VariableSet RequirementTech[1] = True
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            Game - Display to (All players) the text: (|cff6666ccTECHTREE|r - + ((Name of (Owner of (Triggering unit))) + has constructed a Great Hall for both players.))
            Unit - Create 1.RequirementUnitType[1] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[1] = (Last created unit)
            Unit - Create 1.RequirementUnitType[1] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[1] = (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Stronghold
            RequirementTech[2] Equal to False
          Then - Actions
            Set VariableSet RequirementTech[2] = True
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            Game - Display to (All players) the text: (|cff6666ccTECHTREE|r - + ((Name of (Owner of (Triggering unit))) + has upgraded to a Stronghold for both players.))
            Unit - Create 1.RequirementUnitType[2] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[2] = (Last created unit)
            Unit - Create 1.RequirementUnitType[2] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[2] = (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Fortress
            RequirementTech[3] Equal to False
          Then - Actions
            Set VariableSet RequirementTech[3] = True
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            Game - Display to (All players) the text: (|cff6666ccTECHTREE|r - + ((Name of (Owner of (Triggering unit))) + has upgraded to a Fortressl for both players.))
            Unit - Create 1.RequirementUnitType[3] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[3] = (Last created unit)
            Unit - Create 1.RequirementUnitType[3] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[3] = (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Altar of Storms
            RequirementTech[4] Equal to False
          Then - Actions
            Set VariableSet RequirementTech[4] = True
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            Game - Display to (All players) the text: (|cff6666ccTECHTREE|r - + ((Name of (Owner of (Triggering unit))) + has constructed an Altar of Storms for both players.))
            Unit - Create 1.RequirementUnitType[4] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[4] = (Last created unit)
            Unit - Create 1.RequirementUnitType[4] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[4] = (Last created unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to War Mill
            RequirementTech[5] Equal to False
          Then - Actions
            Set VariableSet RequirementTech[5] = True
            Sound - Play Hint <gen>
            Game - Display to (All players) the text:
            Game - Display to (All players) the text: (|cff6666ccTECHTREE|r - + ((Name of (Owner of (Triggering unit))) + has constructed a War Mill for both players.))
            Unit - Create 1.RequirementUnitType[5] for Player1 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP1[5] = (Last created unit)
            Unit - Create 1.RequirementUnitType[5] for Player2 at (Center of Requirement_Region) facing Default building facing degrees
            Set VariableSet RequirementUnitP2[5] = (Last created unit)
          Else - Actions
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Great Hall
            RequirementTech[1] Equal to True
            (Number of living Great Hall units owned by Player1) Equal to 0
            (Number of living Great Hall units owned by Player2) Equal to 0
            (Number of living Stronghold units owned by Player1) Equal to 0
            (Number of living Stronghold units owned by Player2) Equal to 0
            (Number of living Fortress units owned by Player1) Equal to 0
            (Number of living Fortress units owned by Player2) Equal to 0
          Then - Actions
            Set VariableSet RequirementTech[1] = False
            Unit - Remove RequirementUnitP1[1] from the game
            Unit - Remove RequirementUnitP2[1] from the game
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Stronghold
            RequirementTech[1] Equal to True
            (Number of living Stronghold units owned by Player1) Equal to 0
            (Number of living Stronghold units owned by Player2) Equal to 0
            (Number of living Fortress units owned by Player1) Equal to 0
            (Number of living Fortress units owned by Player2) Equal to 0
          Then - Actions
            Set VariableSet RequirementTech[2] = False
            Unit - Remove RequirementUnitP1[2] from the game
            Unit - Remove RequirementUnitP2[2] from the game
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Number of living Great Hall units owned by Player1) Equal to 0
                (Number of living Great Hall units owned by Player2) Equal to 0
              Then - Actions
                Set VariableSet RequirementTech[1] = False
                Unit - Remove RequirementUnitP1[1] from the game
                Unit - Remove RequirementUnitP2[1] from the game
              Else - Actions
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Fortress
            RequirementTech[3] Equal to True
            (Number of living Fortress units owned by Player1) Equal to 0
            (Number of living Fortress units owned by Player2) Equal to 0
          Then - Actions
            Set VariableSet RequirementTech[3] = False
            Unit - Remove RequirementUnitP1[3] from the game
            Unit - Remove RequirementUnitP2[3] from the game
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Number of living Stronghold units owned by Player1) Equal to 0
                (Number of living Stronghold units owned by Player2) Equal to 0
              Then - Actions
                Set VariableSet RequirementTech[2] = False
                Unit - Remove RequirementUnitP1[2] from the game
                Unit - Remove RequirementUnitP2[2] from the game
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Number of living Great Hall units owned by Player1) Equal to 0
                    (Number of living Great Hall units owned by Player2) Equal to 0
                  Then - Actions
                    Set VariableSet RequirementTech[1] = False
                    Unit - Remove RequirementUnitP1[1] from the game
                    Unit - Remove RequirementUnitP2[1] from the game
                  Else - Actions
              Else - Actions
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Altar of Storms
            RequirementTech[4] Equal to True
            (Number of living Altar of Storms units owned by Player1) Equal to 0
            (Number of living Altar of Storms units owned by Player2) Equal to 0
          Then - Actions
            Set VariableSet RequirementTech[4] = False
            Unit - Remove RequirementUnitP1[4] from the game
            Unit - Remove RequirementUnitP2[4] from the game
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to War Mill
            RequirementTech[5] Equal to True
            (Number of living War Mill units owned by Player1) Equal to 0
            (Number of living War Mill units owned by Player2) Equal to 0
          Then - Actions
            Set VariableSet RequirementTech[5] = False
            Unit - Remove RequirementUnitP1[5] from the game
            Unit - Remove RequirementUnitP2[5] from the game
          Else - Actions
Computer Upkeeps
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    For each (Integer A) from 1 to 12, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                (Integer A) Equal to 2
                (Integer A) Equal to 10
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                ((Player((Integer A))) Food used) Less than 50
              Then - Actions
                Player - Set (Player((Integer A))).Gold upkeep rate to 0
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                ((Player((Integer A))) Food used) Less than 80
                ((Player((Integer A))) Food used) Greater than or equal to 50
              Then - Actions
                Player - Set (Player((Integer A))).Gold upkeep rate to 30
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                ((Player((Integer A))) Food used) Greater than or equal to 80
              Then - Actions
                Player - Set (Player((Integer A))).Gold upkeep rate to 60
              Else - Actions
          Else - Actions
ResourceDrop Order
  Events
    Unit - A unit Is issued an order targeting an object
  Conditions
    (Unit-type of (Ordered unit)) Equal to Peon
    (Issued order) Equal to (Order(smart))
    ((Target unit of issued order) is in ResourceDropBuildings.) Equal to True
  Actions
    Unit - Order (Ordered unit) to Right-Click.(Load 0 of (Key (Target unit of issued order).) in ResourceDropHashtable.)
ResourceDrop Destroy
  Events
    Unit - A unit Dies
  Conditions
    ((Dying unit) is in ResourceDropBuildings.) Equal to True
  Actions
    Unit - Add a 0.50 second Generic expiration timer to (Load 0 of (Key (Dying unit).) in ResourceDropHashtable.)
    Hashtable - Clear all child hashtables of child (Key (Load 0 of (Key (Dying unit).) in ResourceDropHashtable.).) in ResourceDropHashtable.
ResourceDrop Build
  Events
    Unit - A unit Finishes construction
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player1
        (Owner of (Triggering unit)) Equal to Player2
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Triggering unit)) Equal to Great Hall
        (Unit-type of (Triggering unit)) Equal to War Mill
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of (Triggering unit)) Equal to Player1
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Great Hall
          Then - Actions
            Set VariableSet TempPoint = (Position of (Triggering unit))
            Unit - Create 1.Return GoldLumber Dummy for Player2 at TempPoint facing Default building facing degrees
            Set VariableSet x = (X of TempPoint)
            Set VariableSet y = (Y of TempPoint)
            Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
            Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
            Unit - Turn collision for (Last created unit) Off.
            Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to (Triggering unit)))
            Unit Group - Pick every unit in TempUGroup and do (Actions)
              Loop - Actions
                Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
            Custom script: call DestroyGroup (udg_TempUGroup)
            Custom script: call RemoveLocation (udg_TempPoint)
            Unit Group - Add (Triggering unit) to ResourceDropBuildings
          Else - Actions
            Set VariableSet TempPoint = (Position of (Triggering unit))
            Unit - Create 1 Return Lumber Dummy for Player2 at TempPoint facing (Position of (Triggering unit))
            Set VariableSet x = (X of TempPoint)
            Set VariableSet y = (Y of TempPoint)
            Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
            Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
            Unit - Turn collision for (Last created unit) Off.
            Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to (Triggering unit)))
            Unit Group - Pick every unit in TempUGroup and do (Actions)
              Loop - Actions
                Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
            Custom script: call DestroyGroup (udg_TempUGroup)
            Custom script: call RemoveLocation (udg_TempPoint)
            Unit Group - Add (Triggering unit) to ResourceDropBuildings
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Unit-type of (Triggering unit)) Equal to Great Hall
          Then - Actions
            Set VariableSet TempPoint = (Position of (Triggering unit))
            Unit - Create 1.Return GoldLumber Dummy for Player1 at TempPoint facing Default building facing degrees
            Set VariableSet x = (X of TempPoint)
            Set VariableSet y = (Y of TempPoint)
            Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
            Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
            Unit - Turn collision for (Last created unit) Off.
            Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to (Triggering unit)))
            Unit Group - Pick every unit in TempUGroup and do (Actions)
              Loop - Actions
                Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
            Custom script: call DestroyGroup (udg_TempUGroup)
            Custom script: call RemoveLocation (udg_TempPoint)
            Unit Group - Add (Triggering unit) to ResourceDropBuildings
          Else - Actions
            Set VariableSet TempPoint = (Position of (Triggering unit))
            Unit - Create 1.Return Lumber Dummy for Player1 at TempPoint facing Default building facing degrees
            Set VariableSet x = (X of TempPoint)
            Set VariableSet y = (Y of TempPoint)
            Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
            Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
            Unit - Turn collision for (Last created unit) Off.
            Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to (Triggering unit)))
            Unit Group - Pick every unit in TempUGroup and do (Actions)
              Loop - Actions
                Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
            Custom script: call DestroyGroup (udg_TempUGroup)
            Custom script: call RemoveLocation (udg_TempPoint)
            Unit Group - Add (Triggering unit) to ResourceDropBuildings
ResourceDrop Starters
  Events
    Time - Elapsed game time is 1.00 seconds
  Conditions
  Actions
    Set VariableSet TempPoint = (Position of War Mill 0014 <gen>)
    Unit - Create 1.Return Lumber Dummy for Player1 at TempPoint facing Default building facing degrees
    Set VariableSet x = (X of TempPoint)
    Set VariableSet y = (Y of TempPoint)
    Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
    Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
    Unit - Turn collision for (Last created unit) Off.
    Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to War Mill 0014 <gen>))
    Unit Group - Pick every unit in TempUGroup and do (Actions)
      Loop - Actions
        Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
    Custom script: call DestroyGroup (udg_TempUGroup)
    Custom script: call RemoveLocation (udg_TempPoint)
    Unit Group - Add War Mill 0014 <gen> to ResourceDropBuildings
    Set VariableSet TempPoint = (Position of Stronghold 0013 <gen>)
    Unit - Create 1.Return GoldLumber Dummy for Player2 at TempPoint facing Default building facing degrees
    Set VariableSet x = (X of TempPoint)
    Set VariableSet y = (Y of TempPoint)
    Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
    Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
    Unit - Turn collision for (Last created unit) Off.
    Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to Stronghold 0013 <gen>))
    Unit Group - Pick every unit in TempUGroup and do (Actions)
      Loop - Actions
        Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
    Custom script: call DestroyGroup (udg_TempUGroup)
    Custom script: call RemoveLocation (udg_TempPoint)
    Unit Group - Add Stronghold 0013 <gen> to ResourceDropBuildings
    Set VariableSet TempPoint = (Position of Great Hall 0017 <gen>)
    Unit - Create 1.Return GoldLumber Dummy for Player1 at TempPoint facing Default building facing degrees
    Set VariableSet x = (X of TempPoint)
    Set VariableSet y = (Y of TempPoint)
    Custom script: call SetUnitX(GetLastCreatedUnit(), udg_x)
    Custom script: call SetUnitY(GetLastCreatedUnit(), udg_y)
    Unit - Turn collision for (Last created unit) Off.
    Set VariableSet TempUGroup = (Units in (Playable map area) matching ((Matching unit) Equal to Great Hall 0017 <gen>))
    Unit Group - Pick every unit in TempUGroup and do (Actions)
      Loop - Actions
        Hashtable - Save Handle Of(Last created unit) as 0 of (Key (Picked unit).) in (Last created hashtable).
    Custom script: call DestroyGroup (udg_TempUGroup)
    Custom script: call RemoveLocation (udg_TempPoint)
    Unit Group - Add Great Hall 0017 <gen> to ResourceDropBuildings
ResourceDrop Init
  Events
    Map initialization
  Conditions
  Actions
    Hashtable - Create a hashtable
    Set VariableSet ResourceDropHashtable = (Last created hashtable)
Send Lumber
  Events
    Player - Player 1 (Red) types a chat message containing -lumber (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing -lumber (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 8)) Equal to -lumber
  Actions
    Set VariableSet TempInteger = (Integer((Substring((Entered chat string), 9, 50))))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger Greater than ((Triggering player) Current lumber)
      Then - Actions
        Set VariableSet TempInteger = ((Triggering player) Current lumber)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger Greater than 0
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Triggering player) Equal to Player1
          Then - Actions
            Player - Add (0 - TempInteger) to Player1.Current lumber
            Player - Add TempInteger to Player2.Current lumber
            Game - Display to (All players) the text:
            Game - Display to (Player group(Player1)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - + ((String(TempInteger)) + ( lumber sent to + ((Name of Player2) + .))))
            Game - Display to (Player group(Player2)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - Received + ((String(TempInteger)) + ( lumber from + ((Name of Player1) + .))))
            Sound - Play Rescue <gen>
          Else - Actions
            Player - Add (0 - TempInteger) to Player2.Current lumber
            Player - Add TempInteger to Player1.Current lumber
            Game - Display to (All players) the text:
            Game - Display to (Player group(Player2)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - + ((String(TempInteger)) + ( lumber sent to + ((Name of Player1) + .))))
            Game - Display to (Player group(Player1)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - Received + ((String(TempInteger)) + ( lumber from + ((Name of Player2) + .))))
            Sound - Play Rescue <gen>
      Else - Actions
Send Gold
  Events
    Player - Player 1 (Red) types a chat message containing -gold (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing -gold (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 6)) Equal to -gold
  Actions
    Set VariableSet TempInteger = (Integer((Substring((Entered chat string), 7, 50))))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger Greater than ((Triggering player) Current gold)
      Then - Actions
        Set VariableSet TempInteger = ((Triggering player) Current gold)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger Greater than 0
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Triggering player) Equal to Player1
          Then - Actions
            Player - Add (0 - TempInteger) to Player1.Current gold
            Player - Add TempInteger to Player2.Current gold
            Game - Display to (All players) the text:
            Game - Display to (Player group(Player1)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - + ((String(TempInteger)) + ( gold sent to + ((Name of Player2) + .))))
            Game - Display to (Player group(Player2)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - Received + ((String(TempInteger)) + ( gold from + ((Name of Player1) + .))))
            Sound - Play Rescue <gen>
          Else - Actions
            Player - Add (0 - TempInteger) to Player2.Current gold
            Player - Add TempInteger to Player1.Current gold
            Game - Display to (All players) the text:
            Game - Display to (Player group(Player2)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - + ((String(TempInteger)) + ( gold sent to + ((Name of Player1) + .))))
            Game - Display to (Player group(Player1)) for 5.00 seconds the text: (|cffcc6600ALLIES|r - Received + ((String(TempInteger)) + ( gold from + ((Name of Player2) + .))))
            Sound - Play Rescue <gen>
      Else - Actions
Exchange Unit
  Events
    Player - Player 1 (Red) types a chat message containing -exchange (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing -exchange (stringnoformat) as A substring
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player1
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Exchanging1 Equal to True
          Then - Actions
            Skip remaining actions
          Else - Actions
            Set VariableSet Exchanging1 = True
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Exchanging2 Equal to True
          Then - Actions
            Skip remaining actions
          Else - Actions
            Set VariableSet Exchanging2 = True
    Set VariableSet ExchangeFail1 = False
    Set VariableSet ExchangeFail2 = False
    Set VariableSet ExchangeFail3 = False
    Set VariableSet ExchangeSuccess = False
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player1
      Then - Actions
        Set VariableSet TempUGroup = ExchangeSelection1
        Set VariableSet TempPGroup = (Player group(Player1))
        Set VariableSet TempPGroup2 = (Player group(Player2))
        Set VariableSet TempPlayer = Player1
        Set VariableSet Exchanging1 = False
      Else - Actions
        Set VariableSet TempUGroup = ExchangeSelection2
        Set VariableSet TempPGroup = (Player group(Player2))
        Set VariableSet TempPGroup2 = (Player group(Player1))
        Set VariableSet TempPlayer = Player2
        Set VariableSet Exchanging2 = False
    Set VariableSet TempBoolean = False
    Unit Group - Pick every unit in TempUGroup and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Owner of (Picked unit)) Equal to (Triggering player)
          Then - Actions
            Set VariableSet TempBoolean = True
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempBoolean Equal to True
      Then - Actions
        Unit Group - Pick every unit in TempUGroup and do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Picked unit)) Equal to (Triggering player)
              Then - Actions
                Set VariableSet tempugroup = (Units in (Playable map area) matching (((Matching unit) is loaded into (Picked unit).) Equal to True))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Unit-type of (Picked unit)) Not equal to Altar of Storms
                    ((Picked unit) is A Hero) Equal to False
                    ((Picked unit) is A town-hall-type unit) Equal to False
                    ((Picked unit) is A peon-type unit) Equal to False
                    ((Picked unit) is Summoned) Equal to False
                    (Number of units in tempugroup) Equal to 0
                  Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)