1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Head to the 33rd Modeling Contest Poll and drink to your heart's desire.
    Dismiss Notice
  3. Choose your means of doom in the 17th Mini Mapping Contest Poll.
    Dismiss Notice
  4. A slave to two rhythms, the 22nd Terraining Contest is here.
    Dismiss Notice
  5. The heavens smile on the old faithful. The 16th Techtree Contest has begun.
    Dismiss Notice
  6. The die is cast - the 6th Melee Mapping Contest results have been announced. Onward to the Hive Cup!
    Dismiss Notice
  7. The glory of the 20th Icon Contest is yours for the taking!
    Dismiss Notice
  8. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

3P Orc02 v2.1.w3x
Variables
WESTRING_VARIABLESCATEGORY
Initialization
Pre Initialization
SetupQuests
SetupCreeps
SetupKodoBeast
SetupTaurenGroup
SetupCentaurGroups
SetupMurlocGroup
SetupLizardGroup
SetupHeroes
ThrallLevelUp
SetupAlliance
SetupBreadcrumbs
SetupBreadcrumbs Single
SetupFormations
SetupPlayerGroup
PostInit
Cheats and Commands
Disable Faction Sharing
Enable Faction Sharing
PlayerGroups
GruntGroupAdd
GruntGroupRemove
HunterGroupAdd
HunterGroupRemove
RaiderGroupAdd
RaiderGroupRemove
CatapultGroupAdd
CatapultGroupRemove
Caravan Arrival and Departure
Oasis01
Timer01Expires
Oasis02
Timer02Expires
Oasis ReachedByThrall
Oasis01Reinforcements
Oasis01Reinforcements Que
Oasis02Reinforcements
Oasis02Reinforcements Que
Oasis03Ending
Oasis03Ending Que
MerchantReinforcements
MerchantReinforcements Que
CatapultRescue
Caravan
CaravanStart
Kodo01Dead
Kodo02Dead
Kodo03Dead
Kodo04Dead
ThrallSaysGo
ThrallSaysGo Single
SuicideRush
SuicideRush
KodoLostMessage
KodoDies
KodoDialogue
IZZZZZZI CINEMATICS IZZZZZZI
OpeningCinematic
FirepitExtinguish
OpeningCancelled
Opening01
Opening02
Opening03
DialogueThrallAttacked
DialogueThrallAttacked Que
EndingCinematic
EndingCancelled
Ending01
EndingHerdRush
EndingHerdStart
EndingHerdStop
EndingHerdSend
IZZZZZZZZZZZZZZZZZZZZZZZI
CentaurAttacks
FirstCallForHelp
EndingDialogue
CairneOverrunDialogue
CairneOverrunDialogue Que
CatapultHint
Catapult Hint
Catapult Hint Que
Raider Hint
Raider Hint
Raider Hint Que
Crates
Crate01
Crate02
Attacks
Attack01
Cave01Attack
Cave02Attack
Ambush02
HarpyAttack
HarpyAttack Que
RemoveDeadCentaursFromGroup
RemoveFromGroup
AttackGenerator01Behind
StartWave01Timer
StopWave01Timer
SendWave01
AttackGenerator02Behind
StartWave02BehindTimer
StopWave02BehindTimer
SendWave02FromBehind
AttackGenerator02Front
StartWave02FrontTimer
StopWave02FrontTimer
SuicideGroup02Front
SendWave02Front
AttackGenerator03Behind
StartWave03BehindTimer
StopWave03BehindTimer
SuicideGroup03Behind
SendWave03Behind
StartWave03BehindFinalTimer
SuicideGroup03BehindFinal
SendWave03BehindFinal
AttackGenerator03Front
StartWave03FrontTimer
StopWave03FrontTimer
SuicideGroup03Front
SendWave03Front
HerdRushScene
HerdStartTimer
HerdStopTimer
MoveHerdGroup
SendHerd
HerdRemove
HerdSafety
CairneAttackDialogue
AttackFirstResponseQuest
AttackFirstResponseQuest Que
AttackSecondResponse
AttackSecondResponse Que
AttackThirdResponse
AttackThirdResponse Que
DialogueLoopStart
DialogueWait
DialogueWait Que
DialogueActivate
DialogueCentaurDead01
DialogueCentaurDead02
DialogueCentaurDead02 Que
RandomizerPatrols
Patrol01
Patrol02
Patrol03Murloc
Patrol04Lizards
Defeat
Hero Defeat
Kodo Defeat
DefeatKodoCheck
IZZZZZZZZZZZZZZZZZZZZZZZI
Custom - Hero Experience
NazgrelLevelUp
VoljinLevelUp
CaineLevelUp
Custom - Druid of the Fang
Druids of the fang
Custom - Fang Cave
Teleport Inside
Teleport Outside
Custom - Gametext
Skip Cinematic
Custom - Samuro Events
Samuro Attack
Centaurs Dead
Samuro Hide with low HP
Go Away Samuro
Custom - Save System
Init Gametext
Custom Variables
Startgame Text
Startgame Text 2
Startgame Text 3
Startgame New
Endgame Text
Startgame Load
Leaves Game
Custom - Heroic Mode
Delete Normal Mobs
Custom - Other Triggers
FrostWolfGrunt
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
Ambush02Group group No
AttackWaveGroup group No
Bonus_Agility integer No
Bonus_Intelligence integer No
Bonus_Strength integer No
BonusesFound integer No
BonusesTotal integer No
BreadcrumbAllowed integer No
BreadcrumbAngleArray real Yes
BreadcrumbCurrent integer No
BreadcrumbIntro integer No
BreadcrumbReached integer No
BreadcrumbStopCOP integer No
BreadcrumbStopExit integer No
BreadcrumbStopOasis1 integer No
BreadcrumbStopOasis2 integer No
BreadcrumbStopOasis3 integer No
BreadcrumbTotal integer No
BreadcrunbStopEnd integer No
Buttons button Yes
Cairne unit No
CairneDialogueCentaur01 unit No
CairneDialogueCentaur02 unit No
CairneDialogueCentaurGroup group No
CampaignScore integer No
CaravanAggroTimer timer No
CaravanGuardFirst integer No
CaravanGuardLast integer No
CaravanOrderFirst integer No
CaravanOrderPulse timer No
CaravanTestPulse timer No
CaravanTown1Timer timer No
CaravanUnitArray unit Yes
CaravanWagonFirst integer No
CaravanWagonLast integer No
CatapultGroup group No
CentaurGroup01 group No
CentaurGroup02 group No
CentaurGroup03 group No
CentaurGroup04 group No
CentaurWave01 group No
Cinematic boolean No true
Code string No
Code_Is_Active boolean No
DialogueLoopActivate timer No
DialogueLoopWait timer No
EndingCancelled boolean No false
EndingHerdGroup group No
EndingHerdMoveTimer timer No
EndTimer timer No
EnoughPlayers boolean No
Extra integer No
ExtraTotal integer No
FinalInventory string Yes
FinalRank string No
FormationAngleArray real Yes
FormationDistanceArray real Yes
FormationRegionArray rect Yes
FormationTotal integer No
GAMEOVER boolean No false
GameSelection boolean No true
Grunt01Rescue unit No
Grunt02Rescue unit No
Grunt03Rescue unit No
GruntGroup group No
GuardCallForHelpDist real No 1500.00
GuardCallForHelpDuration real No 2.00
GuardCallForHelpFrequency real No 1.00
GuardLeftBehindRange real No 1500.00
GuardsCatchingUp boolean No false
HerdGroup group No
HerdMovingTimer timer No
HerdRush location No
HerdWaitTimer timer No
Hero1 unit No
Hero2 unit No
Hero3 unit No
HEROICMODE boolean No
HunterGroup group No
Kodo01Dead boolean No false
Kodo02Dead boolean No false
Kodo03Dead boolean No false
Kodo04Dead boolean No false
KodoBeast01 unit No
KodoBeast02 unit No
KodoBeast03 unit No
KodoBeast04 unit No
KodoCount integer No
Kododmg real No 100.00
KodoGroup group No
LizardGroup group No
MissionNumber integer No
MurlocGroup01 group No
Nazgrel unit No
NazgrelSpells integer Yes
NewVote1 boolean No
NewVote2 boolean No
NewVote3 boolean No
Oasis01RestTimer timer No
Oasis01Visibilitya fogmodifier No
Oasis01Visibilityb fogmodifier No
Oasis02RestTimer timer No
Oasis02Visibilitya fogmodifier No
Oasis02Visibilityb fogmodifier No
Oasis03RestTimer timer No
Oasis03Visibilitya fogmodifier No
Oasis03Visibilityb fogmodifier No
OpeningCancelled boolean No false
QuestCaravan quest No
QuestCaravanReq01 questitem No
QuestCaravanReq02 questitem No
QuestOases quest No
QuestOasisReq01 questitem No
QuestOasisReq02 questitem No
QuestOasisReq03 questitem No
RaiderGroup group No
RankInteger integer No
ReorientAngle real No
RescueGroup01 group No
Resting boolean No false
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_Integer integer 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
ScoreMax integer No
ScoreSubquests integer No
ScoreTime integer No
SkipVote1 boolean No
SkipVote2 boolean No
SkipVote3 boolean No
SpeedOfGuards real No 150.00
SpeedOfWagons real No 150.00
SubquestsComplete integer No
SubquestsTotal integer No
SumRank integer No
Tauren01 unit No
Tauren02 unit No
Tauren03 unit No
Tauren04 unit No
Tauren05 unit No
TaurenGroup group No
TempAngle real No
TempItem item No
TempItemType itemcode No
TempLastAngle real No
TempLastIndex integer No
TempMaxAngle real No
TempMinAngle real No
TempNextAngle real No
TempNextIndex integer No
temppoint location No
TempUnit unit No
TempUnitType unitcode No
TempX real No
TempY real No
TheCaravanGuards group No
TheCaravanWagons group No
Thrall unit No
ThrallSaysGoDistance real No 512.00
TimeHours integer No
TimeMax real No
TimeMin real No
TimeMins integer No
TimeRange real No
TimeSeconds integer No
TimeSecondsTotal integer No
TimeTakenString string No
UnitGroup group No
Uther unit No
Validate boolean No
Vistempa fogmodifier No
Vistempb fogmodifier No
Voljin unit No
Waterfall1a fogmodifier No
Waterfall1b fogmodifier No
Waterfall2a fogmodifier No
Waterfall2b fogmodifier No
Waterfall3a fogmodifier No
Waterfall3b fogmodifier No
Wave01BehindDelay real No 90.00
Wave01BehindGroup group No
Wave01BehindTimer timer No
Wave01Boolean boolean No true
Wave02BehindBoolean boolean No true
Wave02BehindDelay real No 90.00
Wave02BehindGroup group No
Wave02BehindTimer timer No
Wave02FrontBoolean boolean No true
Wave02FrontDelay real No 90.00
Wave02FrontGroup group No
Wave02FrontTimer timer No
Wave03BehindBoolean boolean No true
Wave03BehindDelay real No 90.00
Wave03BehindFinal group No
Wave03BehindFinalDelay real No 60.00
Wave03BehindFinalTimer timer No
Wave03BehindGroup group No
Wave03BehindTimer timer No
Wave03FrontBoolean boolean No true
Wave03FrontDelay real No
Wave03FrontGroup group No
Wave03FrontTimer timer No
Win dialog No
Win2 dialog No
Win3 dialog No
WolfRiderRescue01 unit No
WolfRiderRescue02 unit No
WolfRiderRescue03 unit No
zBreadcrumbArray location Yes
zReorientTarget location No
Default melee game initialization for all players
Pre Initialization
  Events
    Map initialization
  Conditions
  Actions
    -------- *********************** --------
    Game - Set the time of day to 9.00
    Game - Turn the day/night cycle Off
    -------- *************** --------
    -------- *************** --------
    Set VariableSet Thrall = |c00FF0303Warchief|r 0092 <gen>
    Set VariableSet Cairne = Tauren Chieftain 0072 <gen>
    Set VariableSet Voljin = |c00FF8000Leader of the Darkspear tribe|r 0090 <gen>
    Set VariableSet Hero1 = |c00FF0303Warchief|r 0092 <gen>
    Set VariableSet Hero2 = Tauren Chieftain 0072 <gen>
    Set VariableSet Hero3 = Voljin
    Set VariableSet Kododmg = 100.00
    -------- *************** --------
    Trigger - Run SetupKodoBeast <gen> (checking conditions)
    Trigger - Run SetupLizardGroup <gen> (checking conditions)
    Trigger - Run SetupCreeps <gen> (checking conditions)
    Trigger - Run SetupTaurenGroup <gen> (checking conditions)
    Trigger - Run SetupCentaurGroups <gen> (checking conditions)
    Trigger - Run SetupMurlocGroup <gen> (checking conditions)
    Trigger - Run SetupHeroes <gen> (checking conditions)
    Trigger - Run SetupBreadcrumbs <gen> (checking conditions)
    Trigger - Run SetupFormations <gen> (checking conditions)
    Trigger - Run SetupAlliance <gen> (checking conditions)
    Trigger - Run SetupPlayerGroup <gen> (checking conditions)
    Trigger - Run SetupQuests <gen> (checking conditions)
    Unit - Hide Blademaster 0173 <gen>
    Player - Change color of Player 2 (Blue) to Red, Changing color of existing units
    Player - Change color of Player 10 (Light Blue) to Orange, Changing color of existing units
SetupQuests
  Events
  Conditions
  Actions
    Quest - Create a Required, undiscovered quest titled Three Oases with the description There are three oases along the caravan's route. Clear a path to them so that the burdened Kodos can stop and rest briefly before continuing their journey., using icon path ReplaceableTextures\CommandButtons\BTNFountainOfLife.tga
    Set VariableSet QuestOases = (Last created quest)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestOases with the description Lead the caravan to the first oasis
    Set VariableSet QuestOasisReq01 = (Last created quest requirement)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestOases with the description Lead the caravan to the second oasis
    Set VariableSet QuestOasisReq02 = (Last created quest requirement)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestOases with the description Lead the caravan to the third oasis
    Set VariableSet QuestOasisReq03 = (Last created quest requirement)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestOases with the description Thrall, Cairne,Vol'jin,Nazgrel and the caravan must survive
    -------- *********************** --------
    Quest - Create a Required, undiscovered quest titled The Caravan with the description You must protect the Tauren caravan from attack by the merciless Centaur herds., using icon path ReplaceableTextures\CommandButtons\BTNHeroTaurenChieftain.tga
    Set VariableSet QuestCaravan = (Last created quest)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestCaravan with the description Protect the caravan
    Set VariableSet QuestCaravanReq01 = (Last created quest requirement)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestCaravan with the description At least 2 Kodo Beasts must survive
    Set VariableSet QuestCaravanReq02 = (Last created quest requirement)
    -------- *********************** --------
    Quest - Create a quest requirement for QuestCaravan with the description Thrall,Cairne,Voljin and Nazgrel must survive
SetupCreeps
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player 12 (Brown)) and do (Make (Picked unit) Remain awake when unprovoked at night)
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Neutral Hostile) and do (Make (Picked unit) Remain awake when unprovoked at night)
SetupKodoBeast
  Events
  Conditions
  Actions
    Set VariableSet KodoBeast01 = Kodo Beast 0006 <gen>
    Set VariableSet KodoBeast02 = Kodo Beast 0005 <gen>
    Set VariableSet KodoBeast03 = Kodo Beast 0004 <gen>
    Set VariableSet KodoBeast04 = Kodo Beast 0003 <gen>
    Unit Group - Add KodoBeast01 to KodoGroup
    Unit Group - Add KodoBeast02 to KodoGroup
    Unit Group - Add KodoBeast03 to KodoGroup
    Unit Group - Add KodoBeast04 to KodoGroup
SetupTaurenGroup
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet Tauren01 = Tauren 0002 <gen>
    Set VariableSet Tauren02 = Tauren 0015 <gen>
    Set VariableSet Tauren03 = |c00106246Bone Crusher|r 0009 <gen>
    Set VariableSet Tauren04 = Honor Guard 0011 <gen>
    Unit Group - Add Tauren01 to TaurenGroup
    Unit Group - Add Tauren02 to TaurenGroup
    Unit Group - Add Tauren03 to TaurenGroup
    Unit Group - Add Tauren04 to TaurenGroup
SetupCentaurGroups
  Events
    Map initialization
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in Ambush01 <gen>) and do (Add (Picked unit) to CentaurGroup02)
    Unit Group - Pick every unit in (Units in Ambush02Group <gen>) and do (Add (Picked unit) to Ambush02Group)
    Unit Group - Pick every unit in (Units in RandomizerArea01 <gen>) and do (Add (Picked unit) to CentaurGroup03)
    Unit Group - Pick every unit in (Units in RandomizerArea01 <gen>) and do (Add (Picked unit) to CentaurGroup04)
    Player - Turn Gives bounty On for Player 12 (Brown)
SetupMurlocGroup
  Events
    Map initialization
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in MurlocRandomizer01 <gen>) and do (Add (Picked unit) to MurlocGroup01)
SetupLizardGroup
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in LizardPatrolArea <gen>) and do (Add (Picked unit) to LizardGroup)
SetupHeroes
  Events
    Map initialization
  Conditions
  Actions
    Trigger - Turn on ThrallLevelUp <gen>
    Trigger - Turn on CaineLevelUp <gen>
    Trigger - Turn on VoljinLevelUp <gen>
    Hero - Make Player 1 (Red) Heroes gain 40.00% experience from future kills
    Hero - Make Player 6 (Orange) Heroes gain 40.00% experience from future kills
    Hero - Make Player 10 (Light Blue) Heroes gain 40.00% experience from future kills
Turned on from 'SetupArthas'
ThrallLevelUp
  Events
    Unit - A unit owned by Player 1 (Red).Gains a level
  Conditions
    (Triggering unit) Equal to Thrall
  Actions
    Hero - Disable experience gain for Thrall.
SetupAlliance
  Events
    Map initialization
  Conditions
  Actions
    -------- Player --------
    Player - Make Player 1 (Red) treat Player 2 (Blue) as an Ally
    Player - Make Player 6 (Orange) treat Player 2 (Blue) as an Ally
    Player - Make Player 10 (Light Blue) treat Player 2 (Blue) as an Ally
    Player - Make Player 11 (Dark Green) treat Player 2 (Blue) as an Ally
    Player - Make Player 5 (Yellow) treat Player 2 (Blue) as an Ally
    Player - Make Player 2 (Blue) treat Player 1 (Red) as an Ally
    Player - Make Player 2 (Blue) treat Player 5 (Yellow) as an Ally
    Player - Make Player 2 (Blue) treat Player 6 (Orange) as an Ally
    Player - Make Player 2 (Blue) treat Player 10 (Light Blue) as an Ally
    Player - Make Player 2 (Blue) treat Player 11 (Dark Green) as an Ally
    -------- Enemy --------
    Player - Make Player 12 (Brown) treat Neutral Hostile as an Ally with shared vision
    Player - Make Neutral Hostile treat Player 12 (Brown) as an Ally with shared vision
    -------- Caravan --------
    Player - Make Player 12 (Brown) treat Player 5 (Yellow) as an Enemy
    Player - Make Player 5 (Yellow) treat Player 12 (Brown) as an Enemy
    -------- Players --------
    Player - Make Player 1 (Red) treat Player 10 (Light Blue) 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
    Player - Make Player 6 (Orange) treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Player 6 (Orange) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Player 1 (Red) as an Ally with shared vision
    -------- Goblins --------
    Player - Make Player 1 (Red) treat Player 7 (Green) as an Ally
    Player - Make Player 4 (Purple) treat Player 7 (Green) as an Ally
    Player - Make Player 5 (Yellow) treat Player 7 (Green) as an Ally
    Player - Make Player 6 (Orange) treat Player 7 (Green) as an Ally
    Player - Make Player 10 (Light Blue) treat Player 7 (Green) as an Ally
    Player - Make Player 11 (Dark Green) treat Player 7 (Green) as an Ally
    Player - Make Player 7 (Green) treat Player 1 (Red) as an Ally
    Player - Make Player 7 (Green) treat Player 5 (Yellow) as an Ally
    Player - Make Player 7 (Green) treat Player 6 (Orange) as an Ally
    Player - Make Player 7 (Green) treat Player 10 (Light Blue) as an Ally
    Player - Make Player 7 (Green) treat Player 11 (Dark Green) as an Ally
    Player - Make Player 7 (Green) treat Player 4 (Purple) as an Ally
    -------- Nazgrel --------
    Player - Make Player 1 (Red) treat Player 11 (Dark Green) as an Ally with shared vision and full shared units
    Player - Make Player 6 (Orange) treat Player 11 (Dark Green) as an Ally with shared vision and full shared units
    Player - Make Player 10 (Light Blue) treat Player 11 (Dark Green) as an Ally with shared vision and full shared units
    Player - Make Player 11 (Dark Green) treat Player 10 (Light Blue) as an Ally with shared vision and full shared units
    Player - Make Player 11 (Dark Green) treat Player 6 (Orange) as an Ally with shared vision and full shared units
    Player - Make Player 11 (Dark Green) treat Player 1 (Red) as an Ally with shared vision and full shared units
This is basically an array of breadcrumbs for the caravan to follow.
Each breadcrumb, when targeted by the caravan, denotes the center of the formation.
SetupBreadcrumbs
  Events
  Conditions
  Actions
    -------- Configure Breadcrumb Ranges --------
    Set VariableSet BreadcrumbTotal = 99
    Set VariableSet BreadcrumbIntro = 10
    Set VariableSet BreadcrumbStopOasis1 = 30
    Set VariableSet BreadcrumbStopOasis2 = 70
    Set VariableSet BreadcrumbStopOasis3 = 100
    Set VariableSet BreadcrumbStopCOP = 100
    Set VariableSet BreadcrumbStopExit = 100
    Set VariableSet BreadcrumbCurrent = 1
    Set VariableSet BreadcrumbAllowed = 1
    Set VariableSet BreadcrumbReached = 0
    -------- Configure Breadcrumb Array --------
    Set VariableSet zBreadcrumbArray[1] = (Center of BreadCrumb_01 <gen>)
    Set VariableSet zBreadcrumbArray[2] = (Center of BreadCrumb_02 <gen>)
    Set VariableSet zBreadcrumbArray[3] = (Center of BreadCrumb_03 <gen>)
    Set VariableSet zBreadcrumbArray[4] = (Center of BreadCrumb_04 <gen>)
    Set VariableSet zBreadcrumbArray[5] = (Center of BreadCrumb_05 <gen>)
    Set VariableSet zBreadcrumbArray[6] = (Center of BreadCrumb_06 <gen>)
    Set VariableSet zBreadcrumbArray[7] = (Center of BreadCrumb_07 <gen>)
    Set VariableSet zBreadcrumbArray[8] = (Center of BreadCrumb_08 <gen>)
    Set VariableSet zBreadcrumbArray[9] = (Center of BreadCrumb_09 <gen>)
    Set VariableSet zBreadcrumbArray[10] = (Center of BreadCrumb_10 <gen>)
    Set VariableSet zBreadcrumbArray[11] = (Center of BreadCrumb_11 <gen>)
    Set VariableSet zBreadcrumbArray[12] = (Center of BreadCrumb_12 <gen>)
    Set VariableSet zBreadcrumbArray[13] = (Center of BreadCrumb_13 <gen>)
    Set VariableSet zBreadcrumbArray[14] = (Center of BreadCrumb_14 <gen>)
    Set VariableSet zBreadcrumbArray[15] = (Center of BreadCrumb_15 <gen>)
    Set VariableSet zBreadcrumbArray[16] = (Center of BreadCrumb_16 <gen>)
    Set VariableSet zBreadcrumbArray[17] = (Center of BreadCrumb_17 <gen>)
    Set VariableSet zBreadcrumbArray[18] = (Center of BreadCrumb_18 <gen>)
    Set VariableSet zBreadcrumbArray[19] = (Center of BreadCrumb_19 <gen>)
    Set VariableSet zBreadcrumbArray[20] = (Center of BreadCrumb_20 <gen>)
    Set VariableSet zBreadcrumbArray[21] = (Center of BreadCrumb_21 <gen>)
    Set VariableSet zBreadcrumbArray[22] = (Center of BreadCrumb_22 <gen>)
    Set VariableSet zBreadcrumbArray[23] = (Center of BreadCrumb_23 <gen>)
    Set VariableSet zBreadcrumbArray[24] = (Center of BreadCrumb_24 <gen>)
    Set VariableSet zBreadcrumbArray[25] = (Center of BreadCrumb_25 <gen>)
    Set VariableSet zBreadcrumbArray[26] = (Center of BreadCrumb_26 <gen>)
    Set VariableSet zBreadcrumbArray[27] = (Center of BreadCrumb_27 <gen>)
    Set VariableSet zBreadcrumbArray[28] = (Center of BreadCrumb_28 <gen>)
    Set VariableSet zBreadcrumbArray[29] = (Center of BreadCrumb_29 <gen>)
    Set VariableSet zBreadcrumbArray[30] = (Center of BreadCrumb_30 <gen>)
    Set VariableSet zBreadcrumbArray[31] = (Center of BreadCrumb_31 <gen>)
    Set VariableSet zBreadcrumbArray[32] = (Center of BreadCrumb_32 <gen>)
    Set VariableSet zBreadcrumbArray[33] = (Center of BreadCrumb_33 <gen>)
    Set VariableSet zBreadcrumbArray[34] = (Center of BreadCrumb_34 <gen>)
    Set VariableSet zBreadcrumbArray[35] = (Center of BreadCrumb_35 <gen>)
    Set VariableSet zBreadcrumbArray[36] = (Center of BreadCrumb_36 <gen>)
    Set VariableSet zBreadcrumbArray[37] = (Center of BreadCrumb_37 <gen>)
    Set VariableSet zBreadcrumbArray[38] = (Center of BreadCrumb_38 <gen>)
    Set VariableSet zBreadcrumbArray[39] = (Center of BreadCrumb_39 <gen>)
    Set VariableSet zBreadcrumbArray[40] = (Center of BreadCrumb_40 <gen>)
    Set VariableSet zBreadcrumbArray[41] = (Center of BreadCrumb_41 <gen>)
    Set VariableSet zBreadcrumbArray[42] = (Center of BreadCrumb_42 <gen>)
    Set VariableSet zBreadcrumbArray[43] = (Center of BreadCrumb_43 <gen>)
    Set VariableSet zBreadcrumbArray[44] = (Center of BreadCrumb_44 <gen>)
    Set VariableSet zBreadcrumbArray[45] = (Center of BreadCrumb_45 <gen>)
    Set VariableSet zBreadcrumbArray[46] = (Center of BreadCrumb_46 <gen>)
    Set VariableSet zBreadcrumbArray[47] = (Center of BreadCrumb_47 <gen>)
    Set VariableSet zBreadcrumbArray[48] = (Center of BreadCrumb_48 <gen>)
    Set VariableSet zBreadcrumbArray[49] = (Center of BreadCrumb_49 <gen>)
    Set VariableSet zBreadcrumbArray[50] = (Center of BreadCrumb_50 <gen>)
    Set VariableSet zBreadcrumbArray[51] = (Center of BreadCrumb_51 <gen>)
    Set VariableSet zBreadcrumbArray[52] = (Center of BreadCrumb_52 <gen>)
    Set VariableSet zBreadcrumbArray[53] = (Center of BreadCrumb_53 <gen>)
    Set VariableSet zBreadcrumbArray[54] = (Center of BreadCrumb_54 <gen>)
    Set VariableSet zBreadcrumbArray[55] = (Center of BreadCrumb_55 <gen>)
    Set VariableSet zBreadcrumbArray[56] = (Center of BreadCrumb_56 <gen>)
    Set VariableSet zBreadcrumbArray[57] = (Center of BreadCrumb_57 <gen>)
    Set VariableSet zBreadcrumbArray[58] = (Center of BreadCrumb_58 <gen>)
    Set VariableSet zBreadcrumbArray[59] = (Center of BreadCrumb_59 <gen>)
    Set VariableSet zBreadcrumbArray[60] = (Center of BreadCrumb_60 <gen>)
    Set VariableSet zBreadcrumbArray[61] = (Center of BreadCrumb_61 <gen>)
    Set VariableSet zBreadcrumbArray[62] = (Center of BreadCrumb_62 <gen>)
    Set VariableSet zBreadcrumbArray[63] = (Center of BreadCrumb_63 <gen>)
    Set VariableSet zBreadcrumbArray[64] = (Center of BreadCrumb_64 <gen>)
    Set VariableSet zBreadcrumbArray[65] = (Center of BreadCrumb_65 <gen>)
    Set VariableSet zBreadcrumbArray[66] = (Center of BreadCrumb_66 <gen>)
    Set VariableSet zBreadcrumbArray[67] = (Center of BreadCrumb_67 <gen>)
    Set VariableSet zBreadcrumbArray[68] = (Center of BreadCrumb_68 <gen>)
    Set VariableSet zBreadcrumbArray[69] = (Center of BreadCrumb_69 <gen>)
    Set VariableSet zBreadcrumbArray[70] = (Center of BreadCrumb_70 <gen>)
    Set VariableSet zBreadcrumbArray[71] = (Center of BreadCrumb_71 <gen>)
    Set VariableSet zBreadcrumbArray[72] = (Center of BreadCrumb_72 <gen>)
    Set VariableSet zBreadcrumbArray[73] = (Center of BreadCrumb_73 <gen>)
    Set VariableSet zBreadcrumbArray[74] = (Center of BreadCrumb_74 <gen>)
    Set VariableSet zBreadcrumbArray[75] = (Center of BreadCrumb_75 <gen>)
    Set VariableSet zBreadcrumbArray[76] = (Center of BreadCrumb_76 <gen>)
    Set VariableSet zBreadcrumbArray[77] = (Center of BreadCrumb_77 <gen>)
    Set VariableSet zBreadcrumbArray[78] = (Center of BreadCrumb_78 <gen>)
    Set VariableSet zBreadcrumbArray[79] = (Center of BreadCrumb_79 <gen>)
    Set VariableSet zBreadcrumbArray[80] = (Center of BreadCrumb_80 <gen>)
    Set VariableSet zBreadcrumbArray[81] = (Center of BreadCrumb_81 <gen>)
    Set VariableSet zBreadcrumbArray[82] = (Center of BreadCrumb_82 <gen>)
    Set VariableSet zBreadcrumbArray[83] = (Center of BreadCrumb_83 <gen>)
    Set VariableSet zBreadcrumbArray[84] = (Center of BreadCrumb_84 <gen>)
    Set VariableSet zBreadcrumbArray[85] = (Center of BreadCrumb_85 <gen>)
    Set VariableSet zBreadcrumbArray[86] = (Center of BreadCrumb_86 <gen>)
    Set VariableSet zBreadcrumbArray[87] = (Center of BreadCrumb_87 <gen>)
    Set VariableSet zBreadcrumbArray[88] = (Center of BreadCrumb_88 <gen>)
    Set VariableSet zBreadcrumbArray[89] = (Center of BreadCrumb_89 <gen>)
    Set VariableSet zBreadcrumbArray[90] = (Center of BreadCrumb_90 <gen>)
    Set VariableSet zBreadcrumbArray[91] = (Center of BreadCrumb_91 <gen>)
    Set VariableSet zBreadcrumbArray[92] = (Center of BreadCrumb_92 <gen>)
    Set VariableSet zBreadcrumbArray[93] = (Center of BreadCrumb_93 <gen>)
    Set VariableSet zBreadcrumbArray[94] = (Center of BreadCrumb_94 <gen>)
    Set VariableSet zBreadcrumbArray[95] = (Center of BreadCrumb_95 <gen>)
    Set VariableSet zBreadcrumbArray[96] = (Center of BreadCrumb_96 <gen>)
    Set VariableSet zBreadcrumbArray[97] = (Center of BreadCrumb_97 <gen>)
    Set VariableSet zBreadcrumbArray[98] = (Center of BreadCrumb_98 <gen>)
    Set VariableSet zBreadcrumbArray[99] = (Center of BreadCrumb_99 <gen>)
    -------- Configure Breadcrumb Angle Array --------
    For each (Integer A) from 1 to BreadcrumbTotal, do (Run SetupBreadcrumbs_Single <gen> (checking conditions))
SetupBreadcrumbs Single
  Events
  Conditions
  Actions
    -------- Make sure we're not trying to query indices that don't exist --------
    Set VariableSet TempLastIndex = (Max(((Integer A) - 1), 1))
    Set VariableSet TempNextIndex = (Min(((Integer A) + 1), BreadcrumbTotal))
    Set VariableSet TempLastAngle = (Angle from zBreadcrumbArray[TempLastIndex] to zBreadcrumbArray[(Integer A)])
    Set VariableSet TempNextAngle = (Angle from zBreadcrumbArray[(Integer A)] to zBreadcrumbArray[TempNextIndex])
    -------- If the angle is over 180 degrees, add a full rotation to the min angle so that we're always taking an average on the right side of the circle --------
    Set VariableSet TempMinAngle = (Min(TempLastAngle, TempNextAngle))
    Set VariableSet TempMaxAngle = (Max(TempLastAngle, TempNextAngle))
    If ((TempMaxAngle - TempMinAngle) Greater than 180.00) then do (Set VariableSet TempMinAngle = (TempMinAngle + 360.00)) else do (Do nothing)
    Set VariableSet TempAngle = ((TempMinAngle + TempMaxAngle) / 2.00)
    -------- Special-case the first and last breadcrumbs, as they don't have two neighbors to average --------
    If ((Integer A) Equal to 1) then do (Set VariableSet TempAngle = TempNextAngle) else do (Do nothing)
    If ((Integer A) Equal to BreadcrumbTotal) then do (Set VariableSet TempAngle = TempLastAngle) else do (Do nothing)
    Set VariableSet BreadcrumbAngleArray[(Integer A)] = TempAngle
The locations of the preplaced "Formation" regions are read and stored as formation data (in polar coordinates).
For simplicity, the initial formation is assumed to be facing 0 degrees (east).
SetupFormations
  Events
  Conditions
  Actions
    -------- Configure Region Array --------
    Set VariableSet FormationRegionArray[1] = Formation1 <gen>
    Set VariableSet FormationRegionArray[2] = Formation2 <gen>
    Set VariableSet FormationRegionArray[3] = Formation3 <gen>
    Set VariableSet FormationRegionArray[4] = Formation4 <gen>
    Set VariableSet FormationRegionArray[5] = Formation5 <gen>
    Set VariableSet FormationRegionArray[6] = Formation6 <gen>
    Set VariableSet FormationRegionArray[7] = Formation7 <gen>
    Set VariableSet FormationRegionArray[8] = Formation8 <gen>
    Set VariableSet FormationRegionArray[9] = Formation9 <gen>
    -------- Configure Unit Ranges --------
    Set VariableSet FormationTotal = 8
    Set VariableSet CaravanWagonFirst = 1
    Set VariableSet CaravanWagonLast = 4
    Set VariableSet CaravanGuardFirst = 5
    Set VariableSet CaravanGuardLast = 8
    -------- Read formation data from initial region placement --------
    For each (Integer A) from 1 to FormationTotal, do (Set VariableSet FormationDistanceArray[(Integer A)] = (Distance between (Center of Formation_Center <gen>) and (Center of FormationRegionArray[(Integer A)])))
    For each (Integer A) from 1 to FormationTotal, do (Set VariableSet FormationAngleArray[(Integer A)] = (Angle from (Center of Formation_Center <gen>) to (Center of FormationRegionArray[(Integer A)])))
SetupPlayerGroup
  Events
  Conditions
  Actions
    Trigger - Run GruntGroupAdd <gen> (checking conditions)
    Trigger - Run HunterGroupAdd <gen> (checking conditions)
    Trigger - Run RaiderGroupAdd <gen> (checking conditions)
    Trigger - Run CatapultGroupAdd <gen> (checking conditions)
PostInit
  Events
  Conditions
  Actions
    Unit - Change ownership of |c00FF0303Warchief|r 0092 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of |c00FF8000Leader of the Darkspear tribe|r 0090 <gen> to Player 10 (Light Blue) and Change color
    Unit - Change ownership of Troll Headhunter 0039 <gen> to Player 10 (Light Blue) and Change color
    Unit - Change ownership of Grunt 0007 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of SpearThrower 0036 <gen> to Player 1 (Red) and Change color
    Unit - Change ownership of Warmonger 0016 <gen> to Player 10 (Light Blue) and Change color
    Unit - Change ownership of Hunter 0037 <gen> to Player 11 (Dark Green) and Retain color
    Unit - Change ownership of Frostwolf Grunt 0118 <gen> to Player 11 (Dark Green) and Retain color
    Unit - Change ownership of Tauren Chieftain 0072 <gen> to Player 6 (Orange) and Change color
    Unit - Change color of Hunter 0037 <gen> to Dark Green
    Unit - Change color of Frostwolf Grunt 0118 <gen> to Dark Green
Disable Faction Sharing
  Events
    Player - Player 1 (Red) types a chat message containing /Avision (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing /Avision (stringnoformat) as A substring
    Player - Player 10 (Light Blue) types a chat message containing /Avision (stringnoformat) as A substring
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Player - Make Player 1 (Red) treat Player 6 (Orange) as an Ally with shared vision
    Player - Make Player 1 (Red) treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Player 6 (Orange) treat Player 1 (Red) as an Ally with shared vision
    Player - Make Player 6 (Orange) treat Player 10 (Light Blue) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Player 1 (Red) as an Ally with shared vision
    Player - Make Player 10 (Light Blue) treat Player 6 (Orange) as an Ally with shared vision
Enable Faction Sharing
  Events
    Player - Player 1 (Red) types a chat message containing /Aforce (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing /Aforce (stringnoformat) as A substring
    Player - Player 10 (Light Blue) types a chat message containing /Aforce (stringnoformat) as A substring
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Player - Make Player 1 (Red) treat Player 6 (Orange) as an Ally with shared vision and full shared units
    Player - Make Player 1 (Red) treat Player 10 (Light Blue) as an Ally with shared vision and full shared units
    Player - Make Player 6 (Orange) treat Player 1 (Red) as an Ally with shared vision and full shared units
    Player - Make Player 6 (Orange) treat Player 10 (Light Blue) as an Ally with shared vision and full shared units
    Player - Make Player 10 (Light Blue) treat Player 1 (Red) as an Ally with shared vision and full shared units
    Player - Make Player 10 (Light Blue) treat Player 6 (Orange) as an Ally with shared vision and full shared units
GruntGroupAdd
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Grunt)) and do (Add (Picked unit) to GruntGroup)
GruntGroupRemove
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Grunt
  Actions
    Unit Group - Remove (Dying unit) from GruntGroup.
HunterGroupAdd
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Troll Headhunter)) and do (Add (Picked unit) to HunterGroup)
HunterGroupRemove
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Troll Headhunter
  Actions
    Unit Group - Remove (Dying unit) from HunterGroup.
RaiderGroupAdd
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Raider)) and do (Add (Picked unit) to RaiderGroup)
RaiderGroupRemove
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Raider
  Actions
    Unit Group - Remove (Dying unit) from RaiderGroup.
CatapultGroupAdd
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in (Playable map area) matching ((Unit-type of (Matching unit)) Equal to Catapult)) and do (Add (Picked unit) to CatapultGroup)
CatapultGroupRemove
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Catapult
  Actions
    Unit Group - Remove (Dying unit) from CatapultGroup.
Oasis01
  Events
    Unit - A unit enters Oasis01ThrallEnter <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Kodo Beast 0006 <gen>
        (Triggering unit) Equal to Kodo Beast 0005 <gen>
        (Triggering unit) Equal to Kodo Beast 0003 <gen>
        (Triggering unit) Equal to Kodo Beast 0004 <gen>
  Actions
    Trigger - Turn off (This trigger)
    -------- Countdown Timer --------
    Countdown Timer - Start Oasis01RestTimer as a One-shot timer that will expire in 60.00 seconds
    -------- Quest Requirement Complete --------
    Quest - Mark QuestOasisReq01 as Completed
    Quest - Display to (All players) the Quest Update message: |c00FF0303MAIN QUEST UPDATE|r|c00FFFC01Three Oases|r - |cff808080Lead the caravan to the first oasis (Completed)|r - Lead the caravan to the second oasis - Lead the caravan to the third oasis - Thrall must survive
    Visibility - Destroy Oasis01Visibilitya
    Visibility - Destroy Oasis01Visibilityb
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Oasis02Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis02Visibilitya = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Oasis02Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis02Visibilityb = (Last created visibility modifier)
    Cinematic - Ping minimap for (All players) at (Center of Oasis02Area <gen>) for 10.00 seconds
    -------- Rest --------
    Set VariableSet Resting = True
    Region - Center Formation9 <gen> on (Center of Oasis01Cairne <gen>)
    Region - Center Formation1 <gen> on (Center of Oasis01Kodo01 <gen>)
    Region - Center Formation2 <gen> on (Center of Oasis01Kodo02 <gen>)
    Region - Center Formation3 <gen> on (Center of Oasis01Kodo03 <gen>)
    Region - Center Formation4 <gen> on (Center of Oasis01Kodo04 <gen>)
    Region - Center Formation5 <gen> on (Center of Oasis01Tauren01 <gen>)
    Region - Center Formation6 <gen> on (Center of Oasis01Tauren02 <gen>)
    Region - Center Formation7 <gen> on (Center of Oasis01Tauren03 <gen>)
    Region - Center Formation8 <gen> on (Center of Oasis01Tauren04 <gen>)
Timer01Expires
  Events
    Time - Oasis01RestTimer expires
  Conditions
  Actions
    Countdown Timer - Destroy (Last created timer window)
    Set VariableSet Resting = False
Oasis02
  Events
    Unit - A unit enters Oasis02ThrallEnter <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Kodo Beast 0006 <gen>
        (Triggering unit) Equal to Kodo Beast 0005 <gen>
        (Triggering unit) Equal to Kodo Beast 0003 <gen>
        (Triggering unit) Equal to Kodo Beast 0004 <gen>
  Actions
    Trigger - Turn off (This trigger)
    -------- Countdown Timer --------
    Countdown Timer - Start Oasis02RestTimer as a One-shot timer that will expire in 60.00 seconds
    -------- Quest Requirement Complete --------
    Quest - Mark QuestOasisReq02 as Completed
    Quest - Display to (All players) the Quest Update message: |c00FF0303MAIN QUEST UPDATE|r|c00FFFC01Three Oases|r - |cff808080Lead the caravan to the first oasis (Completed)|r - |cff808080Lead the caravan to the second oasis (Completed)|r - Lead the caravan to the third oasis - Thrall must survive
    Visibility - Destroy Oasis02Visibilitya
    Visibility - Destroy Oasis02Visibilityb
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Oasis03Area <gen>) to a radius of 512.00.
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Oasis03Area <gen>) to a radius of 512.00.
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of Oasis03Area <gen>) to a radius of 512.00.
    Cinematic - Ping minimap for (All players) at (Center of Oasis03Area <gen>) for 10.00 seconds
    Camera - Set a spacebar-point for Player 1 (Red) at (Center of Oasis03Area <gen>)
    -------- *********** --------
    Set VariableSet Resting = True
    Region - Center Formation9 <gen> on (Center of Oasis02Cairne <gen>)
    Region - Center Formation1 <gen> on (Center of Oasis02Kodo01 <gen>)
    Region - Center Formation2 <gen> on (Center of Oasis02Kodo02 <gen>)
    Region - Center Formation3 <gen> on (Center of Oasis02Kodo03 <gen>)
    Region - Center Formation4 <gen> on (Center of Oasis02Kodo04 <gen>)
    Region - Center Formation5 <gen> on (Center of Oasis02Tauren01 <gen>)
    Region - Center Formation6 <gen> on (Center of Oasis02Tauren02 <gen>)
    Region - Center Formation7 <gen> on (Center of Oasis02Tauren03 <gen>)
    Region - Center Formation8 <gen> on (Center of Oasis02Tauren04 <gen>)
Timer02Expires
  Events
    Time - Oasis02RestTimer expires
  Conditions
  Actions
    Countdown Timer - Destroy (Last created timer window)
    Set VariableSet Resting = False
Oasis01Reinforcements
  Events
    Unit - A unit enters Oasis01ThrallEnter <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Thrall
        (Triggering unit) Equal to Cairne
        (Triggering unit) Equal to Voljin
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Oasis01Reinforcements_Que <gen> to the trigger queue (Checking conditions)
Oasis01Reinforcements Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- AllowCaravanToRest --------
    Set VariableSet BreadcrumbAllowed = (Max(BreadcrumbAllowed, 30))
    -------- Grunt01 --------
    Unit - Create 1.Warsong Grunt for Player 4 (Purple) at (Center of RescueGroup01 <gen>) facing 180.00 degrees
    Set VariableSet Grunt01Rescue = (Last created unit)
    Unit Group - Add (Last created unit) to RescueGroup01
    Unit - Order Grunt01Rescue to Move To.(Center of RescueGrunt01Point <gen>)
    Unit - Set life of (Last created unit) to 70.00%
    -------- Grunt02 --------
    Unit - Create 1.Warsong Grunt for Player 4 (Purple) at (Center of RescueGroup01 <gen>) facing 180.00 degrees
    Set VariableSet Grunt02Rescue = (Last created unit)
    Unit Group - Add (Last created unit) to RescueGroup01
    Unit - Order Grunt02Rescue to Move To.(Center of RescueGrunt02Point <gen>)
    Unit - Set life of (Last created unit) to 80.00%
    -------- Grunt03 --------
    Unit - Create 1.Warsong Grunt for Player 4 (Purple) at (Center of RescueGroup01 <gen>) facing 180.00 degrees
    Set VariableSet Grunt03Rescue = (Last created unit)
    Unit Group - Add (Last created unit) to RescueGroup01
    Unit - Order Grunt03Rescue to Move To.(Center of RescueGrunt03Point <gen>)
    Unit - Set life of (Last created unit) to 85.00%
    -------- *********** --------
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of RescueGroup01Dest <gen>) to a radius of 512.
    Set VariableSet Vistempa = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of RescueGroup01Dest <gen>) to a radius of 512.
    Set VariableSet Vistempb = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of RescueGroup01Dest <gen>) to a radius of 512.
    Set VariableSet Vistempb = (Last created visibility modifier)
    Wait 4.00 seconds
    Trigger - Run GruntGroupAdd <gen> (ignoring conditions)
    Camera - Pan camera as necessary for Player 1 (Red) to (Center of RescueGroup01Dest <gen>) over 0.50 seconds
    Camera - Pan camera as necessary for Player 6 (Orange) to (Center of RescueGroup01Dest <gen>) over 0.50 seconds
    Camera - Pan camera as necessary for Player 10 (Light Blue) to (Center of RescueGroup01Dest <gen>) over 0.50 seconds
    Unit - Rescue Grunt01Rescue for Player 6 (Orange) and Retain color
    Unit - Change color of Grunt01Rescue to Dark Green
    Unit - Rescue Grunt02Rescue for Player 1 (Red) and Change color
    Unit - Rescue Grunt03Rescue for Player 6 (Orange) and Retain color
    Unit - Change color of Grunt03Rescue to Dark Green
    Trigger - Run GruntGroupAdd <gen> (checking conditions)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall12 <gen> and display Throm-Ka, warrior. You're from the Warsong, are you not?. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to (All players) from Grunt02Rescue named Warsong Orc: Play O02WarsongOrc13 <gen> and display Yes, Warchief. Hellscream sent our party to find you, but we were separated when the horse men attacked.. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall14 <gen> and display Don't worry. We'll find them. For now, drink from the pool. The spirits of this place will replenish your strength.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Visibility - Destroy Vistempa
    Visibility - Destroy Vistempb
    Trigger - Remove (This trigger) from the trigger queue
Oasis02Reinforcements
  Events
    Unit - A unit enters Oasis02ThrallEnter <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Thrall
        (Triggering unit) Equal to Cairne
        (Triggering unit) Equal to Voljin
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Oasis02Reinforcements_Que <gen> to the trigger queue (Checking conditions)
Oasis02Reinforcements Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    -------- AllowCaravanToRest --------
    Set VariableSet BreadcrumbAllowed = (Max(BreadcrumbAllowed, 70))
    -------- ***************** --------
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named Thrall: Play O02Thrall20 <gen> and display The oasis at last!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Wait 1.00 seconds
    Unit - Order Catapult 0056 <gen> to Attack.Barrens Tree Wall 1122 <gen>
    Unit - Order Catapult 0095 <gen> to Attack.Barrens Tree Wall 1084 <gen>
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of TreesDestroy <gen>) to a radius of 512.
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of TreesDestroy <gen>) to a radius of 512.
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of TreesDestroy <gen>) to a radius of 512.
    Camera - Pan camera as necessary for Player 1 (Red) to (Center of TreesDestroy <gen>) over 0.5 seconds
    Camera - Pan camera as necessary for Player 6 (Orange) to (Center of TreesDestroy <gen>) over 0.5 seconds
    Camera - Pan camera as necessary for Player 10 (Light Blue) to (Center of TreesDestroy <gen>) over 0.5 seconds
    Wait 1.00 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall20a <gen> and display Warsong catapults! Those could be useful.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Quest - Display to (All players) the Simple Hint message: |cff87CEEBNEW UNIT ACQUIRED|rCatapults - The siege weapons of the Orcish horde.
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Oasis03Ending
  Events
    Unit - A unit enters Oasis03ThrallEnter <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Thrall
        (Triggering unit) Equal to Cairne
        (Triggering unit) Equal to Voljin
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Oasis03Ending_Que <gen> to the trigger queue (Checking conditions)
Oasis03Ending Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    -------- AllowCaravanToRest --------
    Set VariableSet BreadcrumbAllowed = (Max(BreadcrumbAllowed, 97))
    -------- ***************** --------
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall20 <gen> and display The oasis at last!. Modify duration: Add 0.00 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
MerchantReinforcements
  Events
    Unit - A unit enters MerchantArea <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Thrall
        (Triggering unit) Equal to Cairne
        (Triggering unit) Equal to Voljin
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add MerchantReinforcements_Que <gen> to the trigger queue (Checking conditions)
MerchantReinforcements Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of RaiderPoint02 <gen>) to a radius of 512.
    Set VariableSet Vistempa = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of RaiderPoint02 <gen>) to a radius of 512.
    Set VariableSet Vistempb = (Last created visibility modifier)
    -------- Allow caravan to catch up --------
    Set VariableSet BreadcrumbAllowed = (Max(BreadcrumbAllowed, 52))
    -------- *********** --------
    Unit - Create 1.Raider for Player 4 (Purple) at (Center of RescueGroup02 <gen>) facing 180.00 degrees
    Set VariableSet WolfRiderRescue01 = (Last created unit)
    Unit - Order WolfRiderRescue01 to Move To.(Center of Raider01Point <gen>)
    -------- *********** --------
    Unit - Create 1.Raider for Player 4 (Purple) at (Center of RescueGroup02 <gen>) facing 180.00 degrees
    Set VariableSet WolfRiderRescue02 = (Last created unit)
    Unit - Order WolfRiderRescue02 to Move To.(Center of RaiderPoint02 <gen>)
    -------- *********** --------
    -------- *********** --------
    Camera - Pan camera as necessary for Player 1 (Red) to (Center of RaiderPoint02 <gen>) over 0.50 seconds
    Camera - Pan camera as necessary for Player 6 (Orange) to (Center of RaiderPoint02 <gen>) over 0.50 seconds
    Camera - Pan camera as necessary for Player 10 (Light Blue) to (Center of RaiderPoint02 <gen>) over 0.50 seconds
    Sound - Setup all volume channels for speech
    Trigger - Run RaiderGroupAdd <gen> (ignoring conditions)
    Cinematic - Send transmission to (All players) from WolfRiderRescue01 named Raider: Play O02WolfRider16 <gen> and display Hail, Warchief! How may we serve you?. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Unit - Rescue WolfRiderRescue01 for Player 1 (Red) and Change color
    Unit - Rescue WolfRiderRescue02 for Player 6 (Orange) and Retain color
    Unit - Change color of WolfRiderRescue02 to Dark Green
    Trigger - Run RaiderGroupAdd <gen> (checking conditions)
    Visibility - Destroy Vistempa
    Visibility - Destroy Vistempb
    Quest - Display to (All players) the Simple Hint message: |cff87CEEBNEW UNIT ACQUIRED|rRaider - Highly mobile wolf rider. Effective against buildings. Can use the Ensnare ability to immobolize enemy units.
    Player - Enable Ensnare for Player 1 (Red)
    Player - Enable Ensnare for Player 6 (Orange)
    Player - Enable Ensnare for Player 10 (Light Blue)
    Player - Set the current research level of Roen (techcode) to 1 for Player 1 (Red)
    Player - Set the current research level of Roen (techcode) to 2 for Player 6 (Orange)
    Player - Set the current research level of Roen (techcode) to 2 for Player 10 (Light Blue)
    Wait Campaign hint delay seconds
    Quest - Display to (All players) the Simple Hint message: |cff32CD32HINT|r - Scrolls of Healing can be used to heal allied units.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
CatapultRescue
  Events
    Destructible - Barrens Tree Wall 1122 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Pick every destructible in TreesDestroy <gen> and do (Kill (Picked destructible))
    Unit - Rescue Catapult 0095 <gen> for Player 1 (Red) and Change color
    Unit - Rescue Catapult 0056 <gen> for Player 6 (Orange) and Retain color
    Unit - Change color of Catapult 0056 <gen> to Dark Green
    Unit - Order Catapult 0056 <gen> to Move To.(Center of Catapult01Move <gen>)
    Unit - Order Catapult 0095 <gen> to Move To.(Center of Catapult02Move <gen>)
    Trigger - Run CatapultGroupAdd <gen> (ignoring conditions)
    Trigger - Run Catapult_Hint <gen> (ignoring conditions)
    Wait 3.00 seconds
    Visibility - Destroy (Last created visibility modifier)
CaravanStart
  Events
  Conditions
  Actions
    Trigger - Run (checking conditions)
Kodo01Dead
  Events
    Unit - Kodo Beast 0006 <gen> Dies
  Conditions
  Actions
    Set VariableSet Kodo01Dead = True
Kodo02Dead
  Events
    Unit - Kodo Beast 0005 <gen> Dies
  Conditions
  Actions
    Set VariableSet Kodo02Dead = True
Kodo03Dead
  Events
    Unit - Kodo Beast 0004 <gen> Dies
  Conditions
  Actions
    Set VariableSet Kodo03Dead = True
Kodo04Dead
  Events
    Unit - Kodo Beast 0003 <gen> Dies
  Conditions
  Actions
    Set VariableSet Kodo04Dead = True
ThrallSaysGo
  Events
    Time - Every 2 seconds of game time
  Conditions
  Actions
    For each (Integer A) from BreadcrumbAllowed to (Min((BreadcrumbAllowed + 20), BreadcrumbTotal)), do (Run ThrallSaysGo_Single <gen> (checking conditions))
ThrallSaysGo Single
  Events
  Conditions
    (Distance between (Position of Thrall) and zBreadcrumbArray[(Integer A)]) Less than ThrallSaysGoDistance
    ((Integer A) - 3) Greater than BreadcrumbAllowed
  Actions
    Set VariableSet BreadcrumbAllowed = ((Integer A) - 3)
SuicideRush
  Events
    Unit - A unit enters FinalSuicide <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
  Actions
    Trigger - Turn off (This trigger)
    Unit - Unhide Blademaster 0173 <gen>
    Unit - Change ownership of Blademaster 0173 <gen> to Player 2 (Blue) and Retain color
    Unit - Order Blademaster 0173 <gen> to Attack.|c00FFFF00Centaur Champion|r - [BOSS] 0132 <gen>
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of FinalSuicideSpawn <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 0.10 seconds
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of FinalSuicideSpawn <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 0.10 seconds
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of FinalSuicideSpawn <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 0.10 seconds
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of FinalSuicideSpawn <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
KodoDies
  Events
    Unit - A unit owned by Player 5 (Yellow).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Kodo Beast (Riderless)
  Actions
    Unit Group - Remove (Dying unit) from KodoGroup.
    If ((Number of units in KodoGroup) Greater than or equal to 2) then do (Run KodoDialogue <gen> (checking conditions)) else do (Do nothing)
KodoDialogue
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Quest - Display to (All players) the Simple Hint message: |cff32CD32WARNING|r - A Kodo Beast has been slain.
Run from 'OpeningCentaursKilled'
FirepitExtinguish
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 1.00 seconds
    Unit - Make Grunt 0007 <gen> face (Center of FirepitFacing <gen>) over 0.20 seconds
    Wait 1.00 seconds
    Animation - Play Grunt 0007 <gen>'s attack - 1 (animationname) animation
    Wait 1.00 seconds
    Animation - Play Grunt 0007 <gen>'s attack - 2 (animationname) animation
    Wait 1.00 seconds
    Animation - Play Grunt 0007 <gen>'s attack - 1 (animationname) animation
    Wait 0.50 seconds
    Animation - Play the death (animationname) animation for all doodads of type NOfp (doodadcode) within (Playable map area).
OpeningCancelled
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Set VariableSet SkipVote3 = False
    Set VariableSet OpeningCancelled = True
    Sound - Stop (Last played sound) Immediately
    Sound - Stop the currently playing music theme
    Environment - Set sky to None
    Trigger - Run CaravanStart <gen> (checking conditions)
    Trigger - Turn on AttackFirstResponseQuest <gen>
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Game - Turn the day/night cycle On
    Selection - Select Thrall for Player 1 (Red)
    Selection - Select Cairne for Player 6 (Orange)
    Selection - Select Voljin for Player 10 (Light Blue)
    Camera - Reset camera for Player 1 (Red) to standard game-view over 0.00 seconds
    Camera - Reset camera for Player 6 (Orange) to standard game-view over 0.00 seconds
    Camera - Reset camera for Player 10 (Light Blue) to standard game-view over 0.00 seconds
    Camera - Pan camera for Player 1 (Red) to (Center of ResetCamera <gen>) over 0 seconds
    Camera - Pan camera for Player 6 (Orange) to (Center of ResetCamera <gen>) over 0 seconds
    Camera - Pan camera for Player 10 (Light Blue) to (Center of ResetCamera <gen>) over 0 seconds
    -------- ****************** --------
    Animation - Play the death (animationname) animation for all doodads of type NOfp (doodadcode) within (Playable map area).
    Unit - Move Cairne instantly to (Center of OpeningCairneMove <gen>), facing 180.00 degrees
    Unit - Move Thrall instantly to (Center of OpeningThrallCancelMove <gen>), facing 190.00 degrees
    Unit - Move |c00106246Bone Crusher|r 0009 <gen> instantly to (Center of OpeningGruntDest <gen>), facing 0.00 degrees
    Unit - Make Thrall face Cairne over 0.00 seconds
    -------- ****************** --------
    Quest - Display to (All players) the Quest Discovered message: |c00FF0303MAIN QUEST|r|c00FFFC01Three Oases|r - Lead the caravan to the first oasis - Lead the caravan to the second oasis - Lead the caravan to the third oasis - Thrall, Cairne, VolJin,Nazgrel and the caravan must survive
    Quest - Mark QuestOases as Discovered
    Sound - Play World_of_Warcraft___Mulgore__1_u <gen>
    -------- Oases Visibility --------
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis01Visibilitya = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis01Visibilityb = (Last created visibility modifier)
    Visibility - Destroy Waterfall1a
    Visibility - Destroy Waterfall2a
    Visibility - Destroy Waterfall3a
    Visibility - Destroy Waterfall1b
    Visibility - Destroy Waterfall2b
    Visibility - Destroy Waterfall3b
    Cinematic - Ping minimap for (All players) at (Center of Oasis01Area <gen>) for 10.00 seconds
    -------- *********************** --------
    Wait 15.00 seconds
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0006 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0005 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0003 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0004 <gen>
Opening01
  Events
  Conditions
  Actions
    Environment - Set sky to Lordaeron Fall Sky
    Game - Turn the day/night cycle Off
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn cinematic mode On for Player Group - Player 1 (Red)
    Cinematic - Turn cinematic mode On for Player Group - Player 6 (Orange)
    Cinematic - Turn cinematic mode On for Player Group - Player 10 (Light Blue)
    -------- Music --------
    Sound - Clear the music list
    Wait 0.01 seconds
    Sound - Set the music list to Music, starting with song 1
    Sound - Play Comradeship.
    -------- *********************** --------
    Wait 1.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    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>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop06 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop07 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop08 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop09 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop10 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop11 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop12 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop13 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop14 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop15 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop16 <gen>
    Sound - Add WaterLakeLoop1 <gen> across LakeLoop17 <gen>
    Environment - Set fog to style 0 (fogstyle), z-start 1400.00, z-end 5000.00, density 0 and color (50.00%, 25.00%, 0.00%)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of RevealerWaterfall02 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall1a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of RevealerWaterfall02 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall1b = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of RevealerWaterfall02 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall1b = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of RevealerWaterfall01 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall2a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of RevealerWaterfall01 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall2a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of RevealerWaterfall01 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall2a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of RevealerWaterfall03 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall3a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of RevealerWaterfall03 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall3a = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of RevealerWaterfall03 <gen>) to a radius of 1024.00.
    Set VariableSet Waterfall3a = (Last created visibility modifier)
    Camera - .Apply. gg_cam_Opening01 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Opening01 for Player 6 (Orange) over 0 seconds
    Camera - .Apply. gg_cam_Opening01 for Player 10 (Light Blue) over 0 seconds
    Camera - .Apply. gg_cam_Opening02 for Player 1 (Red) over 10.00 seconds
    Camera - .Apply. gg_cam_Opening02 for Player 6 (Orange) over 10.00 seconds
    Camera - .Apply. gg_cam_Opening02 for Player 10 (Light Blue) over 10.00 seconds
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    -------- NOW SKIPPABLE --------
    Trigger - Turn on OpeningCancelled <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Wait 1.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall01 <gen> and display This land is rugged and beautiful, much like the place from which my people originally come. . Modify duration: Add 0 seconds and Don't wait
    Wait 2.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Thrall01 <gen> to be 0 seconds from finished playing
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Opening03 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Opening03 for Player 6 (Orange) over 0 seconds
    Camera - .Apply. gg_cam_Opening03 for Player 10 (Light Blue) over 0 seconds
    Camera - .Apply. gg_cam_Opening04 for Player 1 (Red) over 10.00 seconds
    Camera - .Apply. gg_cam_Opening04 for Player 6 (Orange) over 10.00 seconds
    Camera - .Apply. gg_cam_Opening04 for Player 10 (Light Blue) over 10.00 seconds
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne02 <gen> and display Yes. We tauren have always held a great respect for the works of the Earth Mother. There are far worse fates than living freely upon the open plains, young warchief.. Modify duration: Add 0 seconds and Don't wait
    Wait 4.75 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 4.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Cairne02 <gen> to be 0 seconds from finished playing
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Opening05 for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_Opening05 for Player 6 (Orange) over 0.00 seconds
    Camera - .Apply. gg_cam_Opening05 for Player 10 (Light Blue) over 0.00 seconds
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall03 <gen> and display Perhaps. But my people deserve a land to call their own, Cairne.. Modify duration: Add 0 seconds and Wait
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Run Opening02 <gen> (checking conditions)
Opening02
  Events
  Conditions
  Actions
    Unit - Order |c00106246Bone Crusher|r 0009 <gen> to Move To.(Center of OpeningGruntDest <gen>)
    Wait 0.50 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Opening06 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Opening06 for Player 6 (Orange) over 0 seconds
    Camera - .Apply. gg_cam_Opening06 for Player 10 (Light Blue) over 0 seconds
    Camera - .Apply. gg_cam_Opening07 for Player 1 (Red) over 8.00 seconds
    Camera - .Apply. gg_cam_Opening07 for Player 6 (Orange) over 8.00 seconds
    Camera - .Apply. gg_cam_Opening07 for Player 10 (Light Blue) over 8.00 seconds
    Wait 1.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from |c00106246Bone Crusher|r 0009 <gen> named |c00106246Nazgrel|r: Play O02Grunt04 <gen> and display Warchief, we've spotted a herd of marauders bearing down on us! . Modify duration: Add 0 seconds and Don't wait
    Unit - Order Thrall to Move To.(Center of OpeningThrallCancelMove <gen>)
    Unit - Make Grunt 0007 <gen> face (Center of OpeningOrcsFacing <gen>) over 0.20 seconds
    Unit - Make Hunter 0037 <gen> face (Center of OpeningOrcsFacing <gen>) over 0.20 seconds
    Wait 2.70 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.00 seconds
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Grunt04 <gen> to be 0 seconds from finished playing
    Trigger - Run Opening03 <gen> (ignoring conditions)
Run when all centaurs are killed from 'OpeningCentaursKilled'
Opening03
  Events
  Conditions
  Actions
    Unit - Make Thrall face Cairne over 0.10 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall07 <gen> and display Cairne, the kodos are overburdened and must rest. Why don't you remain here and protect the caravan while we search for a suitable oasis?. Modify duration: Add 0 seconds and Wait
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Cairne to Move To.(Center of OpeningCairneMove <gen>)
    Trigger - Run FirepitExtinguish <gen> (checking conditions)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne08 <gen> and display Ha! There's no need to coddle me, boy. I may be old, but I'm not helpless.. Modify duration: Add 0 seconds and Wait
    If (OpeningCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Trigger - Turn off OpeningCancelled <gen>
    Trigger - Turn off Skip_Cinematic <gen>
    Set VariableSet Cinematic = False
    Sound - Reset all volume channels to 100%
    Sound - Stop the currently playing music theme
    Trigger - Run CaravanStart <gen> (checking conditions)
    Trigger - Turn on AttackFirstResponseQuest <gen>
    -------- ****************** --------
    Environment - Set sky to None
    Camera - Reset camera for Player 1 (Red) to standard game-view over 2.00 seconds
    Camera - Reset camera for Player 6 (Orange) to standard game-view over 2.00 seconds
    Camera - Reset camera for Player 10 (Light Blue) to standard game-view over 2.00 seconds
    Camera - Pan camera for Player 1 (Red) to (Center of ResetCamera <gen>) over 2.00 seconds
    Camera - Pan camera for Player 6 (Orange) to (Center of ResetCamera <gen>) over 2.00 seconds
    Camera - Pan camera for Player 10 (Light Blue) to (Center of ResetCamera <gen>) over 2.00 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Set VariableSet Cinematic = False
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Set VariableSet SkipVote3 = False
    Game - Turn the day/night cycle On
    Selection - Select Thrall for Player 1 (Red)
    Selection - Select Cairne for Player 6 (Orange)
    Selection - Select |c00FF8000Leader of the Darkspear tribe|r 0090 <gen> for Player 10 (Light Blue)
    -------- ****************** --------
    Quest - Display to (All players) the Quest Discovered message: |c00FF0303MAIN QUEST|r|c00FFFC01Three Oases|r - Lead the caravan to the first oasis - Lead the caravan to the second oasis - Lead the caravan to the third oasis - Thrall, Cairne, VolJin,Nazgrel and the caravan must survive
    Quest - Mark QuestOases as Discovered
    Sound - Play World_of_Warcraft___Mulgore__1_u <gen>
    -------- Oases Visibility --------
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis01Visibilitya = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Visibility - Create an initially Enabled visibility modifier for Player 10 (Light Blue) emitting Visibility from (Center of Oasis01Area <gen>) to a radius of 512.00.
    Set VariableSet Oasis01Visibilityb = (Last created visibility modifier)
    Visibility - Destroy Waterfall1a
    Visibility - Destroy Waterfall1b
    Visibility - Destroy Waterfall2a
    Visibility - Destroy Waterfall2b
    Visibility - Destroy Waterfall3a
    Visibility - Destroy Waterfall3b
    Cinematic - Ping minimap for (All players) at (Center of Oasis01Area <gen>) for 10.00 seconds
    -------- *********************** --------
    Wait 15.00 seconds
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0006 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0005 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0003 <gen>
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit - Order (Last created unit) to Attack.Kodo Beast 0004 <gen>
DialogueThrallAttacked
  Events
    Unit - A unit owned by Player 1 (Red).Is attacked
    Unit - A unit owned by Player 6 (Orange).Is attacked
    Unit - A unit owned by Player 10 (Light Blue).Is attacked
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add DialogueThrallAttacked_Que <gen> to the trigger queue (Checking conditions)
DialogueThrallAttacked Que
  Events
  Conditions
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall06 <gen> and display Assume defensive positions! Lok-Tar Ogar! Let none stand in our way!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
EndingCancelled
  Events
  Conditions
    EndingCancelled Equal to False
  Actions
    Sound - Stop (Last played sound) Immediately
    Sound - Stop the currently playing music theme
    Quest - Mark QuestOases as Completed
    Quest - Mark QuestCaravan as Completed
    Set VariableSet EndingCancelled = True
    Cinematic - Fade out over 2 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Turn off Skip_Cinematic <gen>
    Trigger - Turn off EndingCancelled <gen>
    Trigger - Run Endgame_Text <gen> (ignoring conditions)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
      Loop - Actions
        Unit - Hide (Picked unit)
Ending01
  Events
    Unit - A unit enters BreadCrumb_97 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to Kodo Beast 0006 <gen>
        (Triggering unit) Equal to Kodo Beast 0005 <gen>
        (Triggering unit) Equal to Kodo Beast 0003 <gen>
        (Triggering unit) Equal to Kodo Beast 0004 <gen>
  Actions
    Trigger - Turn off (This trigger)
    -------- Prevent Defeat --------
    Trigger - Turn off DefeatKodoCheck <gen>
    Trigger - Turn off Hero_Defeat <gen>
    Trigger - Turn off Kodo_Defeat <gen>
    Unit - Make Cairne Invulnerable
    Unit - Make Thrall Invulnerable
    Unit - Make |c00FF8000Leader of the Darkspear tribe|r 0090 <gen> Invulnerable
    Unit - Make Kodo Beast 0003 <gen> Invulnerable
    Unit - Make Kodo Beast 0004 <gen> Invulnerable
    Unit - Make Kodo Beast 0005 <gen> Invulnerable
    Unit - Make Kodo Beast 0006 <gen> Invulnerable
    -------- Quests update --------
    Quest - Mark QuestOases as Completed
    Quest - Display to (All players) the Quest Completed message: |c00FF0303MAIN QUEST COMPLETE|r|c00FFFC01Three Oases|r
    Wait Campaign quest delay seconds
    Quest - Mark QuestCaravan as Completed
    Quest - Display to (All players) the Quest Completed message: |c00FF0303MAIN QUEST COMPLETE|r|c00FFFC01The Caravan|r
    Wait Campaign quest delay seconds
    -------- ********* --------
    Cinematic - Turn cinematic mode On for (All players)
    Set VariableSet Cinematic = True
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Game - Turn the day/night cycle Off
    Trigger - Clear all pending triggers from the trigger queue
    Trigger - Turn on EndingHerdStart <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Wait 1.00 seconds
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player 12 (Brown)) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Neutral Hostile) and do (Remove (Picked unit) from the game)
    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 (Remove All buffs from (Picked unit))
    Countdown Timer - Pause Wave03BehindFinalTimer
    -------- Ally --------
    Player - Make Player 1 (Red) treat Player 12 (Brown) as an Ally
    Player - Make Player 6 (Orange) treat Player 12 (Brown) as an Ally
    Player - Make Player 10 (Light Blue) treat Player 12 (Brown) as an Ally
    Player - Make Player 12 (Brown) treat Player 1 (Red) as an Ally
    Player - Make Player 12 (Brown) treat Player 10 (Light Blue) as an Ally
    Player - Make Player 12 (Brown) treat Player 6 (Orange) as an Ally
    -------- Music --------
    Sound - Play Heroic Victory.
    -------- Move Units --------
    Unit - Move Cairne instantly to (Center of EndCairne <gen>), facing 50.00 degrees
    Unit - Move Thrall instantly to (Center of EndThrall <gen>), facing 40.00 degrees
    Unit - Move |c00FF8000Leader of the Darkspear tribe|r 0090 <gen> instantly to (Center of _______________164 <gen>), facing 40.00 degrees
    Unit - Move Tauren01 instantly to (Center of EndTauren01 <gen>), facing 40.00 degrees
    Unit - Move Tauren02 instantly to (Center of EndTauren02 <gen>), facing 70.00 degrees
    Unit - Move Tauren03 instantly to (Center of EndTauren03 <gen>), facing 240.00 degrees
    Unit - Move Tauren04 instantly to (Center of EndTauren04 <gen>), facing 270.00 degrees
    Unit - Move KodoBeast01 instantly to (Center of EndKodo01 <gen>), facing 200.00 degrees
    Unit - Move KodoBeast02 instantly to (Center of EndKodo02 <gen>), facing 100.00 degrees
    Unit - Move KodoBeast03 instantly to (Center of EndKodo03 <gen>), facing 40.00 degrees
    Unit - Move KodoBeast04 instantly to (Center of EndKodo04 <gen>), facing 90.00 degrees
    Unit Group - Pick every unit in GruntGroup and do (Move (Picked unit) instantly to (Random point in Grunts <gen>))
    Unit Group - Pick every unit in HunterGroup and do (Move (Picked unit) instantly to (Random point in Hunters <gen>))
    Unit Group - Pick every unit in RaiderGroup and do (Move (Picked unit) instantly to (Random point in Raiders <gen>))
    Unit Group - Pick every unit in CatapultGroup and do (Move (Picked unit) instantly to (Random point in Catapults <gen>))
    -------- Setup --------
    Environment - Set sky to Lordaeron Fall Sky
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of PassVisibility <gen>) to a radius of 2000.00.
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of PassVisibility <gen>) to a radius of 2000.00.
    Visibility - Create an initially Enabled visibility modifier for Player 1 (Red) emitting Visibility from (Center of Oasis03Area <gen>) to a radius of 5000.00.
    Visibility - Create an initially Enabled visibility modifier for Player 6 (Orange) emitting Visibility from (Center of Oasis03Area <gen>) to a radius of 5000.00.
    -------- NOW SKIPPABLE --------
    Trigger - Turn on EndingCancelled <gen>
    Wait 1.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Selection - Clear selection
    Unit Group - Pick every unit in (Units owned by Player 1 (Red).) and do (Order (Picked unit) to Hold Position.)
    Unit Group - Pick every unit in (Units owned by Player 6 (Orange).) and do (Order (Picked unit) to Hold Position.)
    Camera - .Apply. gg_cam_EndingPass01 for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass01 for Player 6 (Orange) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass01 for Player 10 (Light Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass02 for Player 1 (Red) over 6.00 seconds
    Camera - .Apply. gg_cam_EndingPass02 for Player 6 (Orange) over 6.00 seconds
    Camera - .Apply. gg_cam_EndingPass02 for Player 10 (Light Blue) over 6.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- *********** --------
    Wait 1.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall24 <gen> and display Cairne! The caravan will never make it in time! . Modify duration: Add 0 seconds and Don't wait
    Wait 3.37 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Attach HorseLoop3 <gen> to Cairne
    Sound - Play HorseLoop3 <gen>
    Wait 2.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Attach HorseLoop3 <gen> to Cairne
    Sound - Play HorseLoop3 <gen>
    Camera - .Apply. gg_cam_EndingPass03 for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass03 for Player 6 (Orange) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass03 for Player 10 (Light Blue) over 0.00 seconds
    Unit - Order Cairne to Hold Position.
    Wait for O02Thrall24 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne25 <gen> and display Let the fury of the Earth Mother deal with these wretches as they deserve! . Modify duration: Add 0 seconds and Don't wait
    Wait 5.70 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Run EndingHerdStop <gen> (ignoring conditions)
    Unit - Order Cairne to Orc Tauren Chieftain - War Stomp.
    Environment - Create at AvalanchFog01 <gen> the weather effect Dungeon White Fog (Heavy)
    Environment - Turn (Last created weather effect) On
    Environment - Create at AvalanchFog02 <gen> the weather effect Dungeon White Fog (Heavy)
    Environment - Turn (Last created weather effect) On
    Wait 1.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- AvalanchArt --------
    Environment - Set fog to style 0 (fogstyle), z-start 1000, z-end 5000.00, density 0 and color (40.00%, 30.00%, 20.00%)
    Camera - .Apply. gg_cam_QuakeCamera for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_QuakeCamera for Player 6 (Orange) over 0.00 seconds
    Camera - .Apply. gg_cam_QuakeCamera for Player 10 (Light Blue) over 0.00 seconds
    Camera - Sway the camera target for Player 1 (Red) with magnitude 20.00 and velocity 3000.00
    Camera - Sway the camera target for Player 6 (Orange) with magnitude 20.00 and velocity 3000.00
    Camera - Sway the camera target for Player 10 (Light Blue) with magnitude 20.00 and velocity 3000.00
    Sound - Reset all volume channels to 100%
    Sound - Play EarthquakeLoop1 <gen>
    -------- Fissures --------
    Special Effect - Create a special effect at (Center of Avalanch_01 <gen>) using Doodads\Barrens\Rocks\Barrens_Spires\Barrens_Spires0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_2 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure1.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_3 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_4 <gen>) using Doodads\Barrens\Rocks\Barrens_Rocks\Barrens_Rocks1.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_5 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_6 <gen>) using Doodads\Barrens\Rocks\Barrens_Spires\Barrens_Spires1.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_7 <gen>) using Doodads\Barrens\Rocks\Barrens_Rocks\Barrens_Rocks0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_8 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure1.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_9 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_10 <gen>) using Doodads\Barrens\Rocks\Barrens_Spires\Barrens_Spires2.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_11 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure0.mdl
    Special Effect - Create a special effect at (Center of Avalanch_01_Copy_12 <gen>) using Doodads\Barrens\Rocks\BarrensFissure\BarrensFissure1.mdl
    Camera - Sway the camera source for Player 1 (Red) with magnitude 20.00 and velocity 2000.00
    Camera - Sway the camera source for Player 6 (Orange) with magnitude 20.00 and velocity 2000.00
    Camera - Sway the camera source for Player 10 (Light Blue) with magnitude 20.00 and velocity 2000.00
    Wait 0.60 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play EarthquakeRock <gen>
    Camera - .Apply. gg_cam_QuakeCamera2 for Player 1 (Red) over 2.00 seconds
    Camera - .Apply. gg_cam_QuakeCamera2 for Player 6 (Orange) over 2.00 seconds
    Camera - .Apply. gg_cam_QuakeCamera2 for Player 10 (Light Blue) over 2.00 seconds
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (40.00%, 30.00%, 20.00%) with 0% transparency
    Wait 2.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop EarthquakeLoop1 <gen> After fading
    Sound - Play EarthquakeRock <gen>
    Camera - Stop swaying/shaking the camera for Player 1 (Red).
    Camera - Stop swaying/shaking the camera for Player 6 (Orange).
    Camera - Stop swaying/shaking the camera for Player 10 (Light Blue).
    Camera - .Apply. gg_cam_EndingPass03 for Player 1 (Red) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass03 for Player 6 (Orange) over 0.00 seconds
    Camera - .Apply. gg_cam_EndingPass03 for Player 10 (Light Blue) over 0.00 seconds
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (40.00%, 30.00%, 20.00%) with 0% transparency
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Pick every unit in (Units in EndingRushDest <gen>) and do (Kill (Picked unit))
    Wait 4.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Ending01 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Ending01 for Player 6 (Orange) over 0 seconds
    Camera - .Apply. gg_cam_Ending01 for Player 10 (Light Blue) over 0 seconds
    Wait 1.00 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Setup all volume channels for speech
    Wait for O02Cairne25 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne26 <gen> and display They will trouble us no more. And you, young warchief, are free to continue your quest.. Modify duration: Add 0 seconds and Don't wait
    Unit - Make Cairne face Thrall over 0.25 seconds
    Wait 8.98 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Cairne26 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall27 <gen> and display To the Oracle. What is it?. Modify duration: Add 0 seconds and Don't wait
    Wait 2.61 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Thrall27 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne28 <gen> and display Legends say that it saw the strands of fate as they were woven by the Earth Mother. It alone can show you your destiny.. Modify duration: Add 0 seconds and Don't wait
    Wait 11.31 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Ending02 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Ending02 for Player 6 (Orange) over 0 seconds
    Wait for O02Cairne28 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall29 <gen> and display Where will I find it?. Modify duration: Add 0 seconds and Don't wait
    Wait 1.62 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Thrall29 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne30 <gen> and display Far to the north, near the shadowy base of Mount Hyjal, lies Stonetalon Peak. You will find the Oracle within the peak's hollow. I will send my finest kodos to aid you in your journey.. Modify duration: Add 0 seconds and Don't wait
    Wait 16.90 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Cairne30 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall31 <gen> and display Thank you, Cairne. I will not forget you.. Modify duration: Add 0 seconds and Don't wait
    Wait 3.44 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Thrall31 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne32 <gen> and display Go with honor, young warchief. May the Earth Mother smile upon you.. Modify duration: Add 0 seconds and Don't wait
    Wait 6.08 seconds
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for O02Cairne32 <gen> to be 0 seconds from finished playing
    If (EndingCancelled Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop the currently playing music theme
    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>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop06 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop07 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop08 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop09 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop10 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop11 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop12 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop13 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop14 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop15 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop16 <gen>
    Sound - Remove WaterLakeLoop1 <gen> across LakeLoop17 <gen>
    Cinematic - Fade out over 2 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Turn off Skip_Cinematic <gen>
    Trigger - Turn off EndingCancelled <gen>
    Trigger - Run Endgame_Text <gen> (ignoring conditions)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
      Loop - Actions
        Unit - Hide (Picked unit)
EndingHerdStart
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run EndingHerdSend <gen> (ignoring conditions)
    Countdown Timer - Start EndingHerdMoveTimer as a Repeating timer that will expire in 0.90 seconds
EndingHerdStop
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Pause EndingHerdMoveTimer
EndingHerdSend
  Events
    Time - EndingHerdMoveTimer expires
  Conditions
  Actions
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of EndingStartDest <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to EndingHerdGroup
    Unit - Set (Last created unit) movement speed to 300.00
    Unit - Order (Last created unit) to Move To.(Center of EndingRushDest <gen>)
    -------- ************* --------
FirstCallForHelp
  Events
    Unit - Centaur Drudge 0024 <gen> Takes damage
  Conditions
  Actions
    Unit - Order Centaur Outrunner 0117 <gen> to Attack-Move To.(Center of CentaurAttack01 <gen>)
CairneOverrunDialogue
  Events
    Time - Every 2.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 81
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add CairneOverrunDialogue_Que <gen> to the trigger queue (Checking conditions)
CairneOverrunDialogue Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne23 <gen> and display This pass leads straight to Mulgore, but I fear the caravan will be overrun before it reaches the other side.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Run from 'CatapultRescue'
Catapult Hint
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Catapult_Hint_Que <gen> to the trigger queue (Checking conditions)
Catapult Hint Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Quest - Display to (All players) the Simple Hint message: |cff32cd32HINT|r - Catapults are the siege weapon of the Orcs. Use them to effectively destroy enemy buildings and towers.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Raider Hint
  Events
    Unit - A unit enters EnsnareHint <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
    (Unit-type of (Entering unit)) Equal to Raider
    (Number of units in (Units in EnsnareHint <gen> matching ((((Matching unit) is alive) Equal to True) and ((Unit-type of (Matching unit)) Equal to Harpy Scout)))) Greater than 1
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Raider_Hint_Que <gen> to the trigger queue (Checking conditions)
Raider Hint Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Quest - Display to (All players) the Simple Hint message: |cff32CD32HINT|r - Use your Raider's Ensnare ability to bring enemy air units to the ground.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Crate01
  Events
    Destructible - Crates 0512 <gen> dies
  Conditions
  Actions
    Item - Create Potion of Mana at (Center of Crate01 <gen>)
Crate02
  Events
    Destructible - Crates 0539 <gen> dies
  Conditions
  Actions
    Item - Create Scroll of Mana at (Center of Crate02 <gen>)
Attack01
  Events
    Unit - A unit enters CaravanAttackArea01 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering unit) Equal to KodoBeast01
        (Triggering unit) Equal to KodoBeast02
        (Triggering unit) Equal to KodoBeast03
        (Triggering unit) Equal to KodoBeast04
  Actions
    Unit Group - Pick every unit in CentaurGroup02 and do (Order CentaurGroup02 to Attack-Move To.(Center of CaravanAttackArea01 <gen>))
Cave01Attack
  Events
    Destructible - Crates 0539 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 270.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave01Area <gen>)
    Wait 0.20 seconds
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 270.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave01Area <gen>)
    Wait 0.60 seconds
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 270.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave01Area <gen>)
Cave02Attack
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Unit - Create 1.Centaur Drudge for Player 12 (Brown) at (Center of Cave02Spawn <gen>) facing 220.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave02Area02 <gen>)
    Wait 0.20 seconds
    Unit - Create 1.Centaur Drudge for Player 12 (Brown) at (Center of Cave02Spawn <gen>) facing 220.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave02Area01 <gen>)
    Wait 0.20 seconds
    Unit - Create 1.Centaur Drudge for Player 12 (Brown) at (Center of Cave02Spawn <gen>) facing 220.00 degrees
    Unit - Order (Last created unit) to Attack-Move To.(Center of Cave02Area02 <gen>)
Ambush02
  Events
    Unit - A unit enters Ambush02 <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)
        (Owner of (Triggering unit)) Equal to Player 10 (Light Blue)
  Actions
    Trigger - Turn off (This trigger)
    Unit Group - Pick every unit in Ambush02Group and do (Order (Picked unit) to Attack-Move To.(Center of Ambush02 <gen>))
HarpyAttack
  Events
    Unit - A unit enters HarpyDialogue <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)
        (Owner of (Triggering unit)) Equal to Player 10 (Light Blue)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add HarpyAttack_Que <gen> to the trigger queue (Checking conditions)
HarpyAttack Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Harpy Queen 0060 <gen> named Harpy Queen: Play O02Harpy18 <gen> and display Come, sisters! It's been too long since we feasted on outlander flesh!. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to (All players) from Thrall named |c00FF0303Thrall|r: Play O02Thrall19 <gen> and display I wouldn't advise it, ladies. Once my wolf riders bring you to the ground, you'll have little chance against us!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
RemoveFromGroup
  Events
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
  Actions
    Unit Group - Remove (Dying unit) from Wave01BehindGroup.
    Unit Group - Remove (Dying unit) from Wave02BehindGroup.
    Unit Group - Remove (Dying unit) from Wave03BehindGroup.
StartWave01Timer
  Events
    Unit - A unit enters Oasis01ThrallEnter <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
        (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Trigger - Run SendWave01 <gen> (checking conditions)
    Trigger - Turn off (This trigger)
StopWave01Timer
  Events
    Unit - A unit enters LakeLoop03 <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
        (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off StartWave01Timer <gen>
SendWave01
  Events
  Conditions
  Actions
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave01BehindGroup
    Set VariableSet CairneDialogueCentaur01 = (Last created unit)
    Unit Group - Add (Last created unit) to CairneDialogueCentaurGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave01BehindGroup
    Set VariableSet CairneDialogueCentaur02 = (Last created unit)
    Unit Group - Add (Last created unit) to CairneDialogueCentaurGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Outrunner for Player 12 (Brown) at (Center of CentaurAttackWave01 <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave01BehindGroup
    Set VariableSet CairneDialogueCentaur02 = (Last created unit)
    Unit Group - Add (Last created unit) to CairneDialogueCentaurGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
StartWave02BehindTimer
  Events
    Unit - A unit enters Oasis02ThrallEnter <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
        (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Trigger - Run SendWave02FromBehind <gen> (checking conditions)
    Trigger - Turn off (This trigger)
StopWave02BehindTimer
  Events
    Unit - A unit enters OasisFouled <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
        (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Trigger - Turn off StartWave02BehindTimer <gen>
SendWave02FromBehind
  Events
  Conditions
  Actions
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
StartWave02FrontTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 1
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run SendWave02Front <gen> (checking conditions)
    Countdown Timer - Start Wave02FrontTimer as a Repeating timer that will expire in Wave02FrontDelay seconds
StopWave02FrontTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 31
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Pause Wave02FrontTimer
SuicideGroup02Front
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in Wave2Front_Target <gen>)
    Unit Group - Pick every unit in Wave02FrontGroup and do (Order (Picked unit) to Attack.Kodo Beast 0004 <gen>)
    Custom script: call RemoveLocation (udg_temppoint)
SendWave02Front
  Events
    Time - Wave02FrontTimer expires
  Conditions
  Actions
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Wave2Front_Target <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Wave2Front_Target <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Outrunner for Player 12 (Brown) at (Center of Cave01Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave02FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Wave2Front_Target <gen>)
    Wait 1.00 seconds
    -------- ************* --------
StartWave03BehindTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 70
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run SendWave03Behind <gen> (checking conditions)
    Countdown Timer - Start Wave03BehindTimer as a Repeating timer that will expire in Wave03BehindDelay seconds
StopWave03BehindTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 71
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Pause Wave03BehindTimer
SuicideGroup03Behind
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in Oasis02Area <gen>)
    Unit Group - Pick every unit in Wave03BehindGroup and do (Order (Picked unit) to Attack.Kodo Beast 0005 <gen>)
    Custom script: call RemoveLocation (udg_temppoint)
SendWave03Behind
  Events
    Time - Wave03BehindTimer expires
  Conditions
  Actions
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis02Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
StartWave03BehindFinalTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 72
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run SendWave03BehindFinal <gen> (checking conditions)
    Countdown Timer - Start Wave03BehindFinalTimer as a Repeating timer that will expire in Wave03BehindFinalDelay seconds
SuicideGroup03BehindFinal
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in Oasis03Area <gen>)
    Unit Group - Pick every unit in Wave03BehindFinal and do (Order (Picked unit) to Attack.Kodo Beast 0006 <gen>)
    Custom script: call RemoveLocation (udg_temppoint)
SendWave03BehindFinal
  Events
    Time - Wave03BehindFinalTimer expires
  Conditions
  Actions
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindFinal
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis03Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03BehindFinal
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis03Area <gen>)
    Wait 1.00 seconds
StartWave03FrontTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 39
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run SendWave03Front <gen> (checking conditions)
    Countdown Timer - Start Wave03FrontTimer as a Repeating timer that will expire in Wave03FrontDelay seconds
StopWave03FrontTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 54
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Pause Wave03FrontTimer
SuicideGroup03Front
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in Oasis01Area <gen>)
    Unit Group - Pick every unit in Wave03FrontGroup and do (Order (Picked unit) to Attack.Kodo Beast 0005 <gen>)
    Custom script: call RemoveLocation (udg_temppoint)
SendWave03Front
  Events
    Time - Wave03FrontTimer expires
  Conditions
  Actions
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Impaler for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Sorcerer for Player 12 (Brown) at (Center of Cave03Spawn <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to Wave03FrontGroup
    Unit - Order (Last created unit) to Attack-Move To.(Center of Oasis01Area <gen>)
    Wait 1.00 seconds
    -------- ************* --------
HerdStartTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 76
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run SendHerd <gen> (ignoring conditions)
    Countdown Timer - Start HerdMovingTimer as a Repeating timer that will expire in 15.00 seconds
HerdStopTimer
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    BreadcrumbReached Greater than or equal to 85
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Pause HerdMovingTimer
MoveHerdGroup
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Center of HerdRushEnd <gen>)
    Unit Group - Pick every unit in HerdGroup and do (Order (Picked unit) to Move To.temppoint)
    Custom script: call RemoveLocation (udg_temppoint)
SendHerd
  Events
    Time - HerdMovingTimer expires
  Conditions
  Actions
    Set VariableSet HerdRush = (Center of HerdRushEnd <gen>)
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur-Elite Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Unit - Create 1.Centaur Archer for Player 12 (Brown) at (Center of HerdRushStart <gen>) facing 210.00 degrees
    Unit Group - Add (Last created unit) to HerdGroup
    Unit - Order (Last created unit) to Move To.HerdRush
    Unit - Make (Last created unit) Invulnerable
    Wait 0.50 seconds
    -------- ************* --------
    Custom script: call RemoveLocation (udg_temppoint)
HerdRemove
  Events
    Unit - A unit enters HerdRushEnd <gen>
  Conditions
  Actions
    Unit - Remove (Entering unit) from the game
HerdSafety
  Events
    Time - Every 2 seconds of game time
  Conditions
    (Number of units in HerdGroup) Greater than 20
  Actions
    Countdown Timer - Pause HerdMovingTimer
AttackFirstResponseQuest
  Events
    Unit - A unit owned by Player 5 (Yellow).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to Player 12 (Brown)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add AttackFirstResponseQuest_Que <gen> to the trigger queue (Checking conditions)
AttackFirstResponseQuest Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne11 <gen> and display Hold your formations! The kodos must be protected!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Wait Campaign quest delay seconds
    Quest - Mark QuestCaravan as Discovered
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rThe Caravan - Protect the caravan - At least 2 Kodo Beasts must survive - Thrall,Cairne,Vol'jin and Nazgrel must survive
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
    Wait 30.00 seconds
    Trigger - Turn on AttackSecondResponse <gen>
AttackSecondResponse
  Events
    Unit - A unit owned by Player 5 (Yellow).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to Player 12 (Brown)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add AttackSecondResponse_Que <gen> to the trigger queue (Checking conditions)
AttackSecondResponse Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne15 <gen> and display The centaur have returned! We're under attack!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    Wait 30.00 seconds
    Trigger - Turn on AttackThirdResponse <gen>
AttackThirdResponse
  Events
    Unit - A unit owned by Player 5 (Yellow).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to Player 12 (Brown)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add AttackThirdResponse_Que <gen> to the trigger queue (Checking conditions)
AttackThirdResponse Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne17 <gen> and display The marauders attack again! Stand and fight, my brethren!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
    Wait 60.00 seconds
    Trigger - Turn on DialogueLoopStart <gen>
DialogueLoopStart
  Events
    Unit - A unit owned by Player 5 (Yellow).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to Player 12 (Brown)
  Actions
    Countdown Timer - Start DialogueLoopActivate as a One-shot timer that will expire in 1.00 seconds
    Set VariableSet DialogueLoopActivate = (Last started timer)
    Trigger - Turn off (This trigger)
If a Timer expiring can happen multiple times within a second, this may cause problems.
DialogueWait
  Events
    Time - DialogueLoopActivate expires
  Conditions
  Actions
    Trigger - Add DialogueWait_Que <gen> to the trigger queue (Checking conditions)
DialogueWait Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Countdown Timer - Start DialogueLoopWait as a One-shot timer that will expire in 60.00 seconds
    Set VariableSet DialogueLoopWait = (Last started timer)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne11 <gen> and display Hold your formations! The kodos must be protected!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
DialogueActivate
  Events
    Time - DialogueLoopWait expires
  Conditions
  Actions
    Trigger - Turn on DialogueLoopStart <gen>
DialogueCentaurDead01
  Events
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
  Actions
    Unit Group - Remove (Dying unit) from CairneDialogueCentaurGroup.
    If ((CairneDialogueCentaurGroup is empty) Equal to True) then do (Run DialogueCentaurDead02 <gen> (checking conditions)) else do (Do nothing)
DialogueCentaurDead02
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off DialogueCentaurDead01 <gen>
    Trigger - Add DialogueCentaurDead02_Que <gen> to the trigger queue (Checking conditions)
DialogueCentaurDead02 Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Cairne named |c00FF8000Cairne Bloodhoof|r: Play O02Cairne05 <gen> and display They shall not catch the tauren unprepared! . Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Patrol01
  Events
    Time - Every 2.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in RandomizerArea01 <gen>)
    Unit - Order (Random unit from CentaurGroup03) to Attack-Move To.temppoint
    Custom script: call RemoveLocation (udg_temppoint)
Patrol02
  Events
    Time - Every 2.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in RandomizerArea01 <gen>)
    Unit - Order (Random unit from CentaurGroup03) to Attack-Move To.temppoint
    Custom script: call RemoveLocation (udg_temppoint)
Patrol03Murloc
  Events
    Time - Every 2.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in MurlocRandomizer01 <gen>)
    Unit - Order (Random unit from MurlocGroup01) to Attack-Move To.temppoint
    Custom script: call RemoveLocation (udg_temppoint)
Patrol04Lizards
  Events
    Time - Every 2.00 seconds of game time
  Conditions
  Actions
    Set VariableSet temppoint = (Random point in LizardPatrolArea <gen>)
    Unit - Order (Random unit from LizardGroup) to Attack-Move To.temppoint
    Custom script: call RemoveLocation (udg_temppoint)
Hero Defeat
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Player 6 (Orange).Dies
    Unit - A unit owned by Player 10 (Light Blue).Dies
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Dying unit) Equal to Thrall
        (Dying unit) Equal to Cairne
        (Dying unit) Equal to |c00FF8000Leader of the Darkspear tribe|r 0090 <gen>
        (Dying unit) Equal to |c00106246Bone Crusher|r 0009 <gen>
  Actions
    Set VariableSet GAMEOVER = True
    Trigger - Turn off (This trigger)
    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: ((Proper name of (Triggering unit)) + was slain.)
    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))
Kodo Defeat
  Events
  Conditions
  Actions
    Set VariableSet GAMEOVER = True
    Trigger - Turn off (This trigger)
    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: 3 Kodo Beasts have been slain.
    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))
DefeatKodoCheck
  Events
    Unit - A unit owned by Player 5 (Yellow).Dies
  Conditions
  Actions
    If ((Number of units in KodoGroup) Less than 2) then do (Run Kodo_Defeat <gen> (checking conditions)) else do (Do nothing)
Turned on from 'SetupArthas'
NazgrelLevelUp
  Events
    Unit - A unit owned by Player 11 (Dark Green).Gains a level
  Conditions
    (Triggering unit) Equal to |c00106246Bone Crusher|r 0009 <gen>
  Actions
    Hero - Disable experience gain for |c00106246Bone Crusher|r 0009 <gen>.
Turned on from 'SetupArthas'
VoljinLevelUp
  Events
    Unit - A unit owned by Player 10 (Light Blue).Gains a level
  Conditions
    (Triggering unit) Equal to Voljin
  Actions
    Hero - Disable experience gain for Voljin.
Turned on from 'SetupArthas'
CaineLevelUp
  Events
    Unit - A unit owned by Player 6 (Orange).Gains a level
  Conditions
    (Triggering unit) Equal to Cairne
  Actions
    Hero - Disable experience gain for Cairne.
Druids of the fang
  Events
    Unit - A unit enters _______________254 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 1 (Red)
        (Owner of (Entering unit)) Equal to Player 5 (Yellow)
        (Owner of (Entering unit)) Equal to Player 6 (Orange)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
        (Owner of (Entering unit)) Equal to Player 11 (Dark Green)
  Actions
    Trigger - Turn off (This trigger)
    Cinematic - Send transmission to (All players) from |c00FF0303Warchief|r 0092 <gen> named |c00FF0303Thrall|r: Play No sound and display What are those things?. Modify duration: Set to 2.00 seconds and Wait
    Cinematic - Send transmission to (All players) from Druid of the Fang 0026 <gen> named Druid of the Fang: Play No sound and display Kill them! No one dares interfere in the Affairs of the order. Modify duration: Set to 2.00 seconds and Wait
Teleport Inside
  Events
    Unit - A unit enters _______________255 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Triggering unit)) Equal to Grunt
        (Unit-type of (Triggering unit)) Equal to Frostwolf Grunt
        (Unit-type of (Triggering unit)) Equal to Troll Headhunter
        (Unit-type of (Triggering unit)) Equal to Hunter [Orc]
        (Unit-type of (Triggering unit)) Equal to Honor Guard [Tauren]
        (Unit-type of (Triggering unit)) Equal to Tauren
        (Unit-type of (Triggering unit)) Equal to Tauren Chieftain
        (Unit-type of (Triggering unit)) Equal to Tauren Chieftain (Expansion)
        (Unit-type of (Triggering unit)) Equal to |c00FF8000Leader of the Darkspear tribe|r
        (Unit-type of (Triggering unit)) Equal to |c00106246Bone Crusher|r
        (Unit-type of (Triggering unit)) Equal to |c00FF0303Warchief|r
        (Unit-type of (Triggering unit)) Equal to Axethrower [Orc]
        (Unit-type of (Triggering unit)) Equal to Warsong Grunt
        (Unit-type of (Triggering unit)) Equal to Catapult
        (Unit-type of (Triggering unit)) Equal to Raider
  Actions
    Unit - Move (Entering unit) instantly to (Center of _______________256 <gen>)
Teleport Outside
  Events
    Unit - A unit enters _______________257 <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Triggering unit)) Equal to Grunt
        (Unit-type of (Triggering unit)) Equal to Frostwolf Grunt
        (Unit-type of (Triggering unit)) Equal to Troll Headhunter
        (Unit-type of (Triggering unit)) Equal to Hunter [Orc]
        (Unit-type of (Triggering unit)) Equal to Honor Guard [Tauren]
        (Unit-type of (Triggering unit)) Equal to Tauren
        (Unit-type of (Triggering unit)) Equal to Tauren Chieftain
        (Unit-type of (Triggering unit)) Equal to Tauren Chieftain (Expansion)
        (Unit-type of (Triggering unit)) Equal to |c00FF8000Leader of the Darkspear tribe|r
        (Unit-type of (Triggering unit)) Equal to |c00106246Bone Crusher|r
        (Unit-type of (Triggering unit)) Equal to |c00FF0303Warchief|r
        (Unit-type of (Triggering unit)) Equal to Axethrower [Orc]
        (Unit-type of (Triggering unit)) Equal to Warsong Grunt
        (Unit-type of (Triggering unit)) Equal to Catapult
        (Unit-type of (Triggering unit)) Equal to Raider
  Actions
    Unit - Move (Entering unit) instantly to (Center of _______________258 <gen>)
Skip Cinematic
  Events
    Player - Player 1 (Red) skips a cinematic sequence
    Player - Player 6 (Orange) skips a cinematic sequence
    Player - Player 10 (Light Blue) skips a cinematic sequence
  Conditions
    Cinematic Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
        SkipVote3 Equal to False
      Then - Actions
        Set VariableSet SkipVote1 = True
        Game - Display to (All players) the text: ((Name of Player 1 (Red)) + wishes to skip the cinematic.)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 6 (Orange)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
        SkipVote3 Equal to False
      Then - Actions
        Set VariableSet SkipVote2 = True
        Game - Display to (All players) the text: ((Name of Player 6 (Orange)) + wishes to skip the cinematic.)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 10 (Light Blue)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
        SkipVote3 Equal to False
      Then - Actions
        Set VariableSet SkipVote3 = True
        Game - Display to (All players) the text: ((Name of Player 10 (Light Blue)) + wishes to skip the cinematic.)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
        SkipVote1 Equal to False
        SkipVote2 Equal to True
        SkipVote3 Equal to False
      Then - Actions
        Set VariableSet SkipVote1 = True
        Trigger - Turn off (This trigger)
        Game - Display to (All players) the text: Cinematic was skipped.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (OpeningCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run OpeningCancelled <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (EndingCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run EndingCancelled <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 6 (Orange)
        SkipVote1 Equal to True
        SkipVote2 Equal to False
        SkipVote3 Equal to False
      Then - Actions
        Set VariableSet SkipVote1 = True
        Trigger - Turn off (This trigger)
        Game - Display to (All players) the text: Cinematic was skipped.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (OpeningCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run OpeningCancelled <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (EndingCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run EndingCancelled <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 10 (Light Blue)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
        SkipVote3 Equal to True
      Then - Actions
        Set VariableSet SkipVote1 = True
        Trigger - Turn off (This trigger)
        Game - Display to (All players) the text: Cinematic was skipped.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (OpeningCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run OpeningCancelled <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (EndingCancelled <gen> is on) Equal to True
          Then - Actions
            Trigger - Run EndingCancelled <gen> (checking conditions)
          Else - Actions
      Else - Actions
Samuro Attack
  Events
    Unit - A unit enters Samuro_Attack <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)
        (Owner of (Entering unit)) Equal to Player 10 (Light Blue)
  Actions
    Trigger - Turn off (This trigger)
    Unit - Grant shared vision of Blademaster 0173 <gen> to Player 10 (Light Blue)
    Unit - Grant shared vision of Blademaster 0173 <gen> to Player 6 (Orange)
    Unit - Grant shared vision of Blademaster 0173 <gen> to Player 1 (Red)
    Sound - Play HeroBladeMasterYesAttack1 <gen>
    Camera - .Apply. gg_cam_Camera_017 for Player 1 (Red) over 0 seconds
    Camera - .Apply. gg_cam_Camera_017 for Player 6 (Orange) over 0 seconds
    Camera - .Apply. gg_cam_Camera_017 for Player 10 (Light Blue) over 0 seconds
    Unit - Unhide Blademaster 0173 <gen>
    Unit - Order Blademaster 0173 <gen> to Attack-Move To.(Center of Samuro_Leave <gen>)
Centaurs Dead
  Events
    Unit - Spiritcaller 0209 <gen> Dies
  Conditions
  Actions
    Unit - Order Blademaster 0173 <gen> to Attack-Move To.(Center of Samuro_Leave <gen>)
Samuro Hide with low HP
  Events
    Unit - Blademaster 0173 <gen>'s life becomes Less than 100.00
  Conditions
  Actions
    Unit - Add Wind Walk to Blademaster 0173 <gen>
    Unit - Add Invulnerable (Neutral) to Blademaster 0173 <gen>
    Unit - Hide Blademaster 0173 <gen>
Go Away Samuro
  Events
    Unit - A unit enters Samuro_Leave <gen>
  Conditions
    (Triggering unit) Equal to Blademaster 0173 <gen>
  Actions
    Unit - Deny shared vision of Blademaster 0173 <gen> to Player 1 (Red)
    Unit - Deny shared vision of Blademaster 0173 <gen> to Player 6 (Orange)
    Unit - Deny shared vision of Blademaster 0173 <gen> to Player 10 (Light Blue)
    Unit - Hide Blademaster 0173 <gen>
    Unit - Change ownership of Blademaster 0173 <gen> to Neutral Passive and Retain color
    Wait 1.00 seconds
    Unit - Move Blademaster 0173 <gen> instantly to (Center of Samuro_Last_Attack <gen>), facing (Position of |c00FFFF00Centaur Champion|r - [BOSS] 0132 <gen>)
Init Gametext
  Events
    Map initialization
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player 1 (Red) controller) Equal to User
        (Player 6 (Orange) controller) Equal to User
        (Player 10 (Light Blue) controller) Equal to User
        (Player 1 (Red) slot status) Equal to Is playing
        (Player 6 (Orange) slot status) Equal to Is playing
        (Player 10 (Light Blue) slot status) Equal to Is playing
      Then - Actions
        Set VariableSet EnoughPlayers = True
        Trigger - Run Startgame_Text <gen> (ignoring conditions)
      Else - Actions
        Trigger - Run Startgame_Text_3 <gen> (ignoring conditions)
Custom Variables
  Events
    Map initialization
  Conditions
  Actions
    Game - Set Lock resource trading to On
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- Items To be Saved --------
    Set VariableSet SaveLoad_Items[1] = Potion of Healing
    Set VariableSet SaveLoad_Items[2] = Potion of Mana
    Set VariableSet SaveLoad_Items[3] = Ring of Protection +1
    Set VariableSet SaveLoad_Items[4] = Maul of Strength
    Set VariableSet SaveLoad_Items[5] = Healing Wards
    Set VariableSet SaveLoad_Items[6] = Wand of Lightning Shield
    Set VariableSet SaveLoad_Items[7] = Scroll of the Beast
    Set VariableSet SaveLoad_Items[8] = Periapt of Vitality
    Set VariableSet SaveLoad_Items[9] = Health Stone
    Set VariableSet SaveLoad_Items[10] = Druid Pouch
    Set VariableSet SaveLoad_Items[11] = Scroll of Healing
    Set VariableSet SaveLoad_Items[12] = Scroll of Protection
    Set VariableSet SaveLoad_Items[13] = Potion of Greater Healing
    Set VariableSet SaveLoad_Items[14] = Ancient Figurine
    Set VariableSet SaveLoad_Items[17] = Potion of Greater Mana
    Set VariableSet SaveLoad_Items[18] = Mantle of Intelligence +3
    Set VariableSet SaveLoad_Items[19] = Scroll of Mana
    Set VariableSet SaveLoad_Items[20] = Gauntlets of Ogre Strength +3
    Set VariableSet SaveLoad_Items[21] = Wand of Negation
    Set VariableSet SaveLoad_Items[22] = Claws of Attack +9
    Set VariableSet SaveLoad_Items[23] = Circlet of Nobility
    Set VariableSet SaveLoad_Items[24] = Claws of Attack +3
    Set VariableSet SaveLoad_Items[25] = Totem of Might
    Set VariableSet SaveLoad_Items[26] = Lion's Ring
    Set VariableSet SaveLoad_Items[27] = Doomhammer
    Set VariableSet SaveLoad_Items[28] = Ancestral Staff
    Set VariableSet SaveLoad_Items_LastIndex = 26
    -------- Leave as is. Used to autocreate variables when copy & pasting to a new map --------
    Set VariableSet SaveLoad_Alphabet = ABCDEFGHIJKLMNPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz
    Set VariableSet SaveLoad_CaseSensitive = True
    Set VariableSet SaveLoad_UsePlayername = False
    -------- Required: false --------
    Set VariableSet SaveLoad_Initialized = False
    Set VariableSet Code = AceHart
    Set VariableSet Save[1] = 0
    Set VariableSet SaveCount = 1
    Set VariableSet Validate = False
    Set VariableSet SaveLoad_Compress[1] = 0
    Set VariableSet SaveLoad_Uncompress[1] = 0
Startgame Text
  Events
    Player - Player 1 (Red) types a chat message containing -normal (stringnoformat) as An exact match
    Player - Player 6 (Orange) types a chat message containing -normal (stringnoformat) as An exact match
    Player - Player 10 (Light Blue) types a chat message containing -normal (stringnoformat) as An exact match
  Conditions
    HEROICMODE Equal to True
    GameSelection Equal to True
  Actions
    Cinematic - Clear the screen of text messages for (All players).
    Sound - Play QuestLog <gen>
    Game - Display to (All players) for 600.00 seconds the text: |cff88aa33-= ORC CHAPTER 2=-|r
    Game - Display to (All players) for 600.00 seconds the text: |c00FFFC01Chapter Two:|r The Long MarchWelcome to the 3Player: Orc Campaign made by deflinok2 . Inspired by the work of Pyraeus and the-spoon.|c00FFFC01The In-Game Commands Are:|rUse |c00fEBA0E/AForce|r |c00E55BB0(For Full Shared Unit Control and Vision Control among Player's Groups)|r and |c00fEBA0E/AVision|r |c00E55BB0(For Only Shared Vision among Player's Groups)|r|c00FFFC01Please type in your difficulty below with the|r "|c00FF7F00-|r" |c00FFFC01included|r:|r-Normal-Heroic
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Type '-load' and your code you obtained from the previous chapter.
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Alternatively, both players type '-new' if you do not have a code.
    Game - Display to (All players) for 600.00 seconds the text: New game is at Normal difficulty. Type '-heroic' to play at a higher difficulty.
    Set VariableSet HEROICMODE = False
Startgame Text 2
  Events
    Player - Player 1 (Red) types a chat message containing -heroic (stringnoformat) as An exact match
    Player - Player 6 (Orange) types a chat message containing -heroic (stringnoformat) as An exact match
    Player - Player 10 (Light Blue) types a chat message containing -heroic (stringnoformat) as An exact match
  Conditions
    HEROICMODE Equal to False
    GameSelection Equal to True
  Actions
    Cinematic - Clear the screen of text messages for (All players).
    Sound - Play QuestLog <gen>
    Game - Display to (All players) for 600.00 seconds the text: |cff88aa33-= ORC CHAPTER 2=-|r
    Game - Display to (All players) for 600.00 seconds the text: |c00FFFC01Chapter Two:|r The Long MarchWelcome to the 3Player: Orc Campaign made by deflinok2 . Inspired by the work of Pyraeus and the-spoon.|c00FFFC01The In-Game Commands Are:|rUse |c00fEBA0E/AForce|r |c00E55BB0(For Full Shared Unit Control and Vision Control among Player's Groups)|r and |c00fEBA0E/AVision|r |c00E55BB0(For Only Shared Vision among Player's Groups)|r|c00FFFC01Please type in your difficulty below with the|r "|c00FF7F00-|r" |c00FFFC01included|r:|r-Normal-Heroic
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Type '-load' and your code you obtained from the previous chapter.
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Alternatively, both players type '-new' if you do not have a code.
    Game - Display to (All players) for 600.00 seconds the text: New game is at Insane difficulty. Type '-normal' to play at a lower difficulty.
    Set VariableSet HEROICMODE = True
Startgame Text 3
  Events
  Conditions
  Actions
    Game - Display to (All players) for 600.00 seconds the text: |cff88aa33-= ORC CHAPTER 2=-|r
    Game - Display to (All players) for 600.00 seconds the text: |c00FFFC01Chapter Two:|r The Long MarchWelcome to the 3Player: Orc Campaign made by deflinok2 . Inspired by the work of Pyraeus and the-spoon.|c00FFFC01The In-Game Commands Are:|rUse |c00fEBA0E/AForce|r |c00E55BB0(For Full Shared Unit Control and Vision Control among Player's Groups)|r and |c00fEBA0E/AVision|r |c00E55BB0(For Only Shared Vision among Player's Groups)|r|c00FFFC01Please type in your difficulty below with the|r "|c00FF7F00-|r" |c00FFFC01included|r:|r-Normal-Heroic
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Not enough players have been detected ingame.
    Game - Display to (All players) for 600.00 seconds the text: Atleast 3 players are required to begin the map.
Startgame New
  Events
    Player - Player 1 (Red) types a chat message containing -new (stringnoformat) as An exact match
    Player - Player 6 (Orange) types a chat message containing -new (stringnoformat) as An exact match
    Player - Player 10 (Light Blue) types a chat message containing -new (stringnoformat) as An exact match
  Conditions
    GameSelection Equal to True
    EnoughPlayers Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
        NewVote1 Equal to False
        NewVote2 Equal to False
        NewVote3 Equal to False
      Then - Actions
        Set VariableSet NewVote1 = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 6 (Orange)
        NewVote1 Equal to False
        NewVote2 Equal to False
        NewVote3 Equal to False
      Then - Actions
        Set VariableSet NewVote2 = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 10 (Light Blue)
        NewVote1 Equal to False
        NewVote2 Equal to False
        NewVote3 Equal to False
      Then - Actions
        Set VariableSet NewVote3 = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 1 (Red)
        NewVote1 Equal to False
        NewVote2 Equal to True
        NewVote3 Equal to False
      Then - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Set VariableSet NewVote1 = True
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Hero - Learn skill for Hero1: Orc Far Seer - Chain Lightning
        Hero - Learn skill for Hero1: Totem Mastery [Thrall]
        Hero - Learn skill for Hero2: Orc Tauren Chieftain - Shockwave
        Hero - Learn skill for Hero2: War Stomp (Correct)
        Hero - Learn skill for Hero3: Call Raptor
        Wait 1.00 seconds
        Trigger - Run PostInit <gen> (checking conditions)
        Trigger - Run Delete_Normal_Mobs <gen> (checking conditions)
        Trigger - Run Opening01 <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            HEROICMODE Equal to True
          Then - Actions
            Trigger - Run PostInit <gen> (checking conditions)
            Trigger - Run Opening01 <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 6 (Orange)
        NewVote1 Equal to True
        NewVote2 Equal to False
        NewVote3 Equal to False
      Then - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Set VariableSet NewVote2 = True
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Hero - Learn skill for Hero1: Orc Far Seer - Chain Lightning
        Hero - Learn skill for Hero1: Totem Mastery [Thrall]
        Hero - Learn skill for Hero2: Orc Tauren Chieftain - Shockwave
        Hero - Learn skill for Hero2: War Stomp (Correct)
        Hero - Learn skill for Hero3: Call Raptor
        Wait 1.00 seconds
        Trigger - Run PostInit <gen> (checking conditions)
        Trigger - Run Delete_Normal_Mobs <gen> (checking conditions)
        Trigger - Run Opening01 <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            HEROICMODE Equal to True
          Then - Actions
            Trigger - Run PostInit <gen> (checking conditions)
            Trigger - Run Opening01 <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 10 (Light Blue)
        NewVote1 Equal to False
        NewVote2 Equal to False
        NewVote3 Equal to True
      Then - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Set VariableSet NewVote3 = True
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Hero - Learn skill for Hero1: Orc Far Seer - Chain Lightning
        Hero - Learn skill for Hero1: Totem Mastery [Thrall]
        Hero - Learn skill for Hero2: Orc Tauren Chieftain - Shockwave
        Hero - Learn skill for Hero2: War Stomp (Correct)
        Hero - Learn skill for Hero3: Call Raptor
        Wait 1.00 seconds
        Trigger - Run PostInit <gen> (checking conditions)
        Trigger - Run Delete_Normal_Mobs <gen> (checking conditions)
        Trigger - Run Opening01 <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            HEROICMODE Equal to True
          Then - Actions
            Trigger - Run PostInit <gen> (checking conditions)
            Trigger - Run Opening01 <gen> (checking conditions)
          Else - Actions
      Else - Actions
Endgame Text
  Events
  Conditions
  Actions
    Sound - Play ClanInvitation <gen>
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item carried by Hero1 in slot (Integer A)) Not equal to No item
          Then - Actions
            Set VariableSet FinalInventory[(Integer A)] = ((Name of (Item carried by Hero1 in slot (Integer A))) + , )
          Else - Actions
            Set VariableSet FinalInventory[(Integer A)] =
    For each (Integer A) from 7 to 12, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item carried by Hero2 in slot ((Integer A) - 6)) Not equal to No item
          Then - Actions
            Set VariableSet FinalInventory[(Integer A)] = ((Name of (Item carried by Hero2 in slot ((Integer A) - 6))) + , )
          Else - Actions
            Set VariableSet FinalInventory[(Integer A)] =
    For each (Integer A) from 13 to 18, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item carried by Hero3 in slot ((Integer A) - 12)) Not equal to No item
          Then - Actions
            Set VariableSet FinalInventory[(Integer A)] = ((Name of (Item carried by Hero3 in slot ((Integer A) - 12))) + , )
          Else - Actions
            Set VariableSet FinalInventory[(Integer A)] =
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SumRank Greater than or equal to 1
      Then - Actions
        Set VariableSet Save[2] = (SumRank + RankInteger)
      Else - Actions
        Set VariableSet Save[2] = 0
    Set VariableSet Save[3] = (Level of Chain Lightning for Hero1)
    Set VariableSet Save[4] = (Level of Forked Lightning [Thrall] for Hero1)
    Set VariableSet Save[5] = (Level of Totem Mastery [Thrall] for Hero1)
    Set VariableSet Save[6] = (Level of Animate Dead for Hero1)
    Set VariableSet Save[7] = NazgrelSpells[1]
    Set VariableSet Save[8] = NazgrelSpells[2]
    Set VariableSet Save[9] = NazgrelSpells[3]
    Set VariableSet Save[10] = (Level of Shockwave for Hero2)
    Set VariableSet Save[11] = (Level of War Stomp (Correct) for Hero2)
    Set VariableSet Save[12] = (Level of Endurance Aura for Hero2)
    Set VariableSet Save[13] = (Level of Reincarnation (Correct) for Hero2)
    Set VariableSet Save[14] = (Level of Call Raptor for Hero3)
    Set VariableSet Save[15] = (Level of Healing Wave for Hero3)
    Set VariableSet Save[16] = (Level of Sacrifice for Hero3)
    Set VariableSet Save[17] = (Level of Voodoo Spirits for Hero3)
    Set VariableSet SaveCount = 17
    Set VariableSet Save[SaveCount] = (Number of items carried by Hero1)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Item carried by Hero1 in slot (Integer A)) is owned) Equal to True
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Hero1 in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Hero1 in slot (Integer A)))
          Else - Actions
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = (Number of items carried by Hero2)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Item carried by Hero2 in slot (Integer A)) is owned) Equal to True
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Hero2 in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Hero2 in slot (Integer A)))
          Else - Actions
    Set VariableSet Save[SaveCount] = (Number of items carried by Hero2)
    Set VariableSet SaveCount = (SaveCount + 1)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Item carried by Hero3 in slot (Integer A)) is owned) Equal to True
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Hero3 in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Hero3 in slot (Integer A)))
          Else - Actions
    Custom script: set udg_Code = SaveLoad_Encode()
    Game - Display to (All players) for 600.00 seconds the text: |cff88aa33-= ORC CHAPTER 2 COMPLETED =-|r
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Player 1's Inventory:|r + (FinalInventory[1] + (FinalInventory[2] + (FinalInventory[3] + (FinalInventory[4] + (FinalInventory[5] + FinalInventory[6]))))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Player 2's Inventory:|r + (FinalInventory[7] + (FinalInventory[8] + (FinalInventory[9] + (FinalInventory[10] + (FinalInventory[11] + FinalInventory[12]))))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Player 3's Inventory:|r + (FinalInventory[13] + (FinalInventory[14] + (FinalInventory[15] + (FinalInventory[16] + (FinalInventory[17] + FinalInventory[18]))))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Save Code:|r + Code)
Startgame Load
  Events
    Player - Player 1 (Red) types a chat message containing -load (stringnoformat) as A substring
    Player - Player 6 (Orange) types a chat message containing -load (stringnoformat) as A substring
    Player - Player 10 (Light Blue) types a chat message containing -load (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 6)) Equal to (Matched chat string)
    (Length of (Entered chat string)) Greater than 6
    GameSelection Equal to True
    EnoughPlayers Equal to True
  Actions
    Cinematic - Clear the screen of text messages for (All players).
    -------- Try to decode what was typed --------
    Set VariableSet Code = (Substring((Entered chat string), 7, (Length of (Entered chat string))))
    Custom script: set udg_Validate = SaveLoad_Decode( udg_Code )
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            Save[1] Equal to 41
            Save[1] Equal to 51
        Validate Equal to True
      Then - Actions
        -------- Correct Code --------
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Trigger - Turn off (This trigger)
        Set VariableSet SumRank = Save[2]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[3] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[3], do (Actions)
              Loop - Actions
                Hero - Learn skill for Hero1: Orc Far Seer - Chain Lightning
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[4] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[4], do (Actions)
              Loop - Actions
                Hero - Learn skill for Hero1: Forked Lightning [Thrall]
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[5] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[5], do (Actions)
              Loop - Actions
                Hero - Learn skill for Hero1: Totem Mastery [Thrall]
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[6] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[6], do (Actions)
              Loop - Actions
                Hero - Learn skill for Hero1: War Banner
          Else - Actions
        Set VariableSet SaveCount = 10
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
          Loop - Actions
            -------- The actual item --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
            Hero - Create TempItemType and give it to Hero1
            -------- Number of charges --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Item - Set charges remaining in (Last created item) to Save[SaveCount]
        Set VariableSet SaveCount = (SaveCount + 1)
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
          Loop - Actions
            -------- The actual item --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
            Hero - Create TempItemType and give it to Hero2
            -------- Number of charges --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Item - Set charges remaining in (Last created item) to Save[SaveCount]
        Set VariableSet SaveCount = (SaveCount + 1)
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
          Loop - Actions
            -------- The actual item --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
            Hero - Create TempItemType and give it to Hero3
            -------- Number of charges --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Item - Set charges remaining in (Last created item) to Save[SaveCount]
        Wait 1.00 seconds
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)