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

Trigger Viewer

2P Night Elf 05 v1.6.w3x
Variables
Map Initialization
PreInit
Map Initialization
Not Insane Difficulty
XXX INTRO STUFF XXX
Destructibles
EggSack01
EggSack02
EggSack03
LostCrate02
LostCrate03
CratePrison01
CratePrison02
CratePrison03
IntroCinematic
IntroCinematic
Intro Skip
New Unit Message Timer Expires
New Unit Message Queued
No Scout Notice Timer Expires
No Scout Notice Queued
VoiceOvers
Spiders01
Spiders01 Queued
EggNest01
EggNest01 Queue
FurionNoReturn
Weapons
Furbolg Cinematic
Trigger Furbolg Quest
Furbolg Quest Skip
Furbolg Quest Queue
SeeHealingWater
SeeHealingWater Que
Get Healing Water
Get Healing Water Queue
Furbolg Finale
Furbolg Finale Skip
Furbolg Finale Queue
Furbolg AfterGate Finale Queue
Player Attacks Furbolgs
SCENE Undead Area
XXX UNIT GROUP FORMATION XXX
Form Undead Attackers
Undead Elite Item
XXX UNIT GROUP HANDLING XXX
Remove The Dead From Group 01
Remove The Dead From Group 02
Remove The Dead From Group 03
XXX ACTUAL STUFF XXX
Inbound Player Assault Team
Start Skeleton Group
Skeleton Group Goes Around01
Skeleton Group Goes Around02
Skeleton Group Goes Around03
Grab Item Aggro Elite Guard
Panda Cinematic
Panda Cinematic
Panda Dies
Panda Skip
Panda Cinematic Queue
GateCinematic
Item Dropped
Gate Cinematic
Gate Cin Skip
Gate Cinematic Que
Start
Stop Furbolgs From Cheating
No Furbolgs Here
XXX TYRANDE STUFF XXX
Destructibles
Crate01
Crate03
Crate04
Crate06
SCENE Owlbears On Parade
AI Ignore Watchers
OwlPatrols Begin
OwlPatrol01A Enter
OwlPatrol01A Leave
OwlPatrol01B Enter
OwlPatrol01B Leave
OwlPatrol01C Enter
OwlPatrol01C Leave
OwlPatrol01D Enter
OwlPatrol01D Leave
OwlPatrol01E Enter
OwlPatrol01E Leave
SCENE Owlbears Attack
Owlbears Attack Player
SCENE Library Golem
SpawnLibraryGolem
SCENE Charging Owlbear
OwlbearCharge
SmashCrates01
SCENE Sleeping Room
CreateSleepers
SleepersTakeDamage
Reveal Sleepers
Unreveal Sleepers
GlaiveUpgrade
SCENE Skeleton Ambush
Skeleton Ambush
SCENE Treants Attack
Treant Guard
Treants
SCENE COP Gate
Gate Hint
PressurePlate01
PressurePlate02
Open Gate
DisableGateVision
SCENE Rescue01
Rescue01
SCENE Rescue02
Rescue02
SCENE Tyrande Uberfish
Teleport Unit Uberfish
Teleport Unit Uberfish Out01
Teleport Unit Uberfish Out02
UberFish
UberBelanova
SCENE Skeleton Prison
Skeleton Prison Surprise
SCENE Webbed Archers
SpiderGroup Form
FX Webbed
SpiderBoolean1
SpiderBoolean2
Spider Hatchlings
DeathRemoveWeb01
DeathRemoveWeb02
DeathRemoveWeb03
Kill Spiders Unweb Them
SCENE Confronting the Keeper
Confronting the Keeper
Keeper Alive
VICTORY Tyrande
Victory Tyrande Queue
Victory Tyrande Cinematic
Victory Tyrande Skip
XXX FURION STUFF XXX
Destructibles
Crate08
Teleporter Furion
Teleport Unit
Patrol Dragons
The Dragons
Dragon Patrol Begin
Patrol01A Dragon
Patrol01B Dragon
Patrol02A Dragon
Patrol02B Dragon
Patrol03A Dragon
Patrol03B Dragon
Patrol04A Dragon
Patrol04B Dragon
StupidPatrol01
StupidPatrol02
StupidPatrol03
StupidPatrol04
SCENE Lava Bridge
LavaBridge
LavaBridge Que
SCENE Initial Owlbear Group
Initial Owlbear Group
Initial Owlbear Group Que
Initial Owlbear Group Defeated
Initial Owlbear Group Defeated Done
Initial Owlbear Group Defeated Que
SCENE Dragon Fly Over
Dragon Fly Over
Dragon Fly Over Que
Bears Cinematic
Encounter Bears Cinematic
Bear Cin Skip
Encounter Bears Cinematic Que
SCENE Bears on Parade
TheBears
Patrols Begin
Bears Asleep
Waking Bears1
Waking Bears2
Patrol01A
Patrol01B
Patrol02A
Patrol02B
Patrol03A
Patrol03B
Patrol04A
Patrol04B
Patrol06A
Patrol06B
Patrol10A
Patrol10B
Patrol10C
Patrol10D
SCENE Rescue03
Rescue03
Hints
Bear Hint Queue
Victory Furion
Furion Cinematic
Victory Furion Skip
FurionCinematic Que
BearCaves A
BearCaves B
BearCaves C
a1
a2
a3
b1
b2
b3
c1
c2
c3
XXX HURRAY!!!!!!! XXX
Final Cinematic
Victory Skip
XXX GAME STUFF XXX
Reveal Sewer Waterfalls
Enter Waterfall Prison
Leave Waterfall Prison
Reveal Dragon Waterfalls
Enter Waterfall 2
Leave Waterfall 2
Reveal Aszune Waterfalls
Enter Aszune Waterfalls
Leave Aszune Waterfalls
Reveal Kobold Waterfalls
Enter Waterfall 3
Leave Waterfall 3
Reveal Fountain Waterfall
Enter Fountain Area
Leave Fountain Area
Egg Sacks
Egg Sack01A
Egg Sack01B
Egg Sack01C
Egg Sack01D
Egg Sack01E
EggDrop01A
EggDrop02A
EggDrop04A
EggDrop06A
EggDrop01B
EggDrop03B
EggDrop01C
EggDrop02C
EggDrop01D
EggDrop02D
EggDrop01E
EggDrop02E
EggDrop03E
CapExperience
CapTyrandeExperience
CapFurionExperience
TrackDruidsofTalon
DruidofTalon Variables
DeathDruidofTalon01
AntiPosession01
DeathDruidofTalon02
AntiPosession02
DefeatConditions
DruidoftheClawDies
TyrandeDies
FurionDies
PlayerLeaves
SCENE Blue Flame Traps
Blue Flame Setup
Blue Flame01
Damage Flash
Starting&Texts
SaveCodeEtc
Endtext
Loading
New
Starttext
GameMode
Spells
Keeper
Systems
CinematicSkip
NoResourceExchange
NoUnitExchange
Other
Bonus 1
Bonus 2
Bonus 3
Secret 1
GameTimer
Track Rescues
Variables
InsaneModeCheck
//TESH.scrollpos=288
//TESH.alwaysfold=0
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
AAAP_NightElves player No
AAAPG_NightElves force No Force01
Archer01 unit No
Archer02 unit No
AwakenSound01 sound No
Bear01 unit No
Bear01Boolean boolean No false
Bear02 unit No
Bear02Boolean boolean No false
Bear03 unit No
Bear03Boolean boolean No false
Bear04 unit No
Bear04Boolean boolean No false
Bear06 unit No
Bear06Boolean boolean No false
Bear10 unit No
Bear10ABoolean boolean No false
Bear10BBoolean boolean No true
Bear10CBoolean boolean No false
Bear10DBoolean boolean No false
Bear12 unit No
Bear_Cin_Skip boolean No false
BearCinAssailant1 unit No
BearCinAssailant2 unit No
BearCinematicPlaying boolean No false
BearCinPlayed boolean No false
BonusesFound integer No
BonusesTotal integer No
BoxGolem unit No
BridgeVis fogmodifier No
CameraPoint location No
CameraPoint2 location No
CaveBearA1 unit No
CaveBearA2 unit No
CaveBearA3 unit No
CaveBearB1 unit No
CaveBearB2 unit No
CaveBearB3 unit No
CaveBearC1 unit No
CaveBearC2 unit No
CaveBearC3 unit No
ChargingOwlbear unit No
CinCleanGroup group No
Code string No
Code2 string No
CodeError boolean No
COPVisibiliity fogmodifier No
CrateSmashingSound01 sound No
CrateSmashingSound02 sound No
DiffInteger integer No
Dragon01 unit No
Dragon01Boolean boolean No false
Dragon02 unit No
Dragon02Boolean boolean No false
Dragon03 unit No
Dragon03Boolean boolean No false
Dragon04 unit No
Dragon04Boolean boolean No false
DruidofTalon01 unit No UnitNull
DruidofTalon02 unit No UnitNull
ElderWardenA unit No
ElderWardenB unit No
ElderWatcherC unit No
EmptyBowl item No
EndDruid unit No
EXTAS integer No
EXTRAStotal integer No
FrostFlashDamage group No
FullBowl item No
Furbolg_Finale_Skip boolean No false
Furbolg_Quest_Skip boolean No false
FurbolgGroup group No
FurbolgLeader unit No
FurbolgLeaderTALKTOMEfx effect No
FurbolgQuest quest No
FurbolgQuestExclamation effect No
FurbolgQuestVis fogmodifier No
FurbolgsFeralBoolean boolean No false
Furion unit No
FurionGroup group No
FurionHideGroup group No
FurionPosition location No
FurionVictory boolean No false
GAMEOVER boolean No false
GameSelection boolean No
Gate_Cin_Skip boolean No false
GateClosedBoolean boolean No false
Golem01 unit No
GotWaterBoolean boolean No false
Hero1 unit No
Hero1Inventory string No
Hero2 unit No
Hero2Inventory string No
HornOfCenarius item No
HostileSpider01 unit No
HostileSpider02 unit No
Illidan unit No
IllidanGuards group No
InitialWatcherGroup group No
InsaneMode boolean No
Intro_Skip boolean No false
JimmyTheNovaSeal unit No
Keeper unit No
KeeperAlpha integer No
KeeperCounter integer No
KeeperFirst boolean No
KeeperHash hashtable No
KeeperSpirit unit No
KeeperVulnerable boolean No
LavaBridge destructable No
LevelsPlayedWithThisCode integer No
LocalPlayer player No
OverallScoreLimit integer Yes
OverallScoreMax integer No
OwlbearConflictTimer timer No
OwlbearDooDooUnitGroup group No
OwlbearGroup group No
OwlbearScream01 sound No
OwlbearShaman unit No
OwlDooDoo01Boolean boolean No false
OwlDooDoo02Boolean boolean No false
OwlDooDoo03Boolean boolean No false
OwlDooDoo04Boolean boolean No false
OwlDooDoo05Boolean boolean No false
P_Druids player No Player11
P_Illidan player No Player02
P_Prisoners player No Player09
P_Sleepers player No Player08
P_Watchers player No Player00
Panda unit No
Panda_Skip boolean No false
PandaHideGroup group No
PandaVictim unit No
Player1 player No Player01
Player2 player No Player10
PlayerCamera location No
PressurePlate01Activated boolean No false
PressurePlate02Activated boolean No false
QuestDruids quest No
QuestDruidsReqCOP questitem No
QuestDruidsReqDens questitem No
QuestDruidsReqDruids questitem No
QuestDruidsReqFurion questitem No
QuestDruidsReqTyrande questitem No
QuestIllidan quest No
QuestIllidanReqDefeat questitem No
QuestIllidanReqLocate questitem No
QuestIllidanReqTyrande questitem No
RankInteger integer No
REQFurbolgBowl questitem No
REQReturnBowl questitem No
Save integer Yes
SaveCount integer No
SaveLoad_Abilities abilcode Yes
SaveLoad_Abilities_LastIndex integer No
SaveLoad_Alphabet string No
SaveLoad_CaseSensitive boolean No
SaveLoad_Compress integer Yes
SaveLoad_Heroes unitcode Yes
SaveLoad_Heroes_LastIndex integer No
SaveLoad_Initialized boolean No
SaveLoad_Items itemcode Yes
SaveLoad_Items_LastIndex integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
ScoreBonuses integer No
ScoreExtra integer No
ScoreLimit integer Yes
ScoreMax integer No
ScoreRank string No
ScoreSecret integer No
ScoreSubquest integer No
ScoreTime integer No
ScoreTotal integer No
SecretsFound integer No
SecretSludge unit No
SecretsTotal integer No
Selection group No
Selection2 group No
SickFurbolg unit No
SickFurbolgSleepfx effect No
Skeleton01 unit No
Skeleton02 unit No
Skeleton03 unit No
Skeleton04 unit No
Skeleton05 unit No
Skeleton06 unit No
Skeleton07 unit No
Sleep01 effect No
Sleep02 effect No
Sleep03 effect No
Sleeper01 unit No
Sleeper02 unit No
Sleeper03 unit No
SleeperGroup01 group No
SleeperVisBoolean boolean No false
SleepSound01 sound No
SleepSound02 sound No
SleepSound03 sound No
SleepyBear01 effect No
SleepyBear02 effect No
SpawnSkeletonSound01 sound No
SpawnSkeletonSound02 sound No
SpawnSkeletonSound03 sound No
SpawnSkeletonSound04 sound No
SpiderArcherGroup group No
SpiderEggAlive01 boolean No true
SpiderEggAlive02 boolean No true
SubquestsCompleted integer No
SubquestsTotal integer No
SumRank integer No
Talon01Position location No
Talon02Position location No
TeleportBoolean boolean No false
TeleportBoolean2 boolean No false
TeleportFX effect No
TempItem item No
TempItemType itemcode No
TempUnit1 unit No
TempUnit2 unit No
TimeMax real No
TimeMin real No
TimeRange real No
TimerHours integer No
TimerMinutes integer No
TimerNewUnitAvailableMessage timer No
TimerScoutNotice timer No
TimerSeconds integer No
TimerString string No
TimerStringHours string No
TimerStringMinutes string No
TimerStringSeconds string No
TimerTotal integer No
TimeTotal integer No
TreantMaker01 unit No
TreantMaker02 unit No
Tyrande unit No
TyrandeArcher01 unit No
TyrandeGroup group No
TyrandeGroup2 group No
TyrandeLocation location No
TyrandeOrFurion boolean No false
TyrandeVictory boolean No false
UndeadAttackerGroup group No
UndeadEliteGroup group No
UndeadEliteItem item No
UndeadMerryGroup group No
Validate boolean No
Victory_Furion_Skip boolean No false
Victory_Skip boolean No false
Victory_Tyrande_Skip boolean No false
VisibilityGate fogmodifier No
VisibilityInitialWatchers fogmodifier No
VisibilityPressurePlate01 fogmodifier No
VisibilityPressurePlate02 fogmodifier No
VisibilitySleepers fogmodifier No
VoteNew1 boolean No
VoteNew2 boolean No
VoteSkip1 boolean No
VoteSkip2 boolean No
VoteSkipFinal boolean No
Waterfall2Boolean boolean No false
Waterfall2Vision fogmodifier No
Waterfall3Boolean boolean No false
Waterfall3Vision fogmodifier No
Waterfall4Vision fogmodifier No
WaterfallAszuneBoolean boolean No false
WaterfallAszuneVisibility fogmodifier No
WaterfallFountainBoolean boolean No false
WaterfallFountainVis fogmodifier No
WaterfallP01Vis fogmodifier No
WaterfallP02Vis fogmodifier No
WaterfallP03Vis fogmodifier No
WaterfallP04Vis fogmodifier No
WaterfallP05Vis fogmodifier No
WaterfallPrisonBoolean boolean No false
Web01 effect No
Web02 effect No
Web03 effect No
WebbingSpidersGroup group No
WhaleFX effect No
PreInit
  Events
    Time - Elapsed game time is 0.00 seconds
  Conditions
  Actions
    Trigger - Run Variables <gen> (checking conditions)
    Player - Set the current research level of flng (techcode) to 1 for Neutral Hostile
    Player - Make P_Prisoners treat Neutral Hostile as an Ally
    Player - Make P_Prisoners treat P_Watchers as an Ally
    Player - Make P_Watchers treat Neutral Hostile as an Ally
    Player - Make P_Watchers treat P_Prisoners as an Ally
    Player - Make Neutral Hostile treat P_Watchers as an Ally
    Player - Make Neutral Hostile treat P_Prisoners as an Ally
    Player - Make Player2 treat Player1 as an Ally
    Player - Make Player1 treat Player2 as an Ally
    Player - Set Player2.Food max to 60
    Player - Set Player1.Food max to 60
    Game - Set Lock resource trading to On
    Game - Set Lock alliance settings to On
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player2 controller) Equal to User
        (Player2 slot status) Equal to Is playing
        (Player1 controller) Equal to User
        (Player1 slot status) Equal to Is playing
      Then - Actions
        Set VariableSet GameSelection = True
        Trigger - Turn on NoResourceExchange <gen>
        Trigger - Turn on NoUnitExchange <gen>
        Trigger - Turn on GameMode <gen>
        Trigger - Turn on New <gen>
        Trigger - Turn on Loading <gen>
        Trigger - Turn on PlayerLeaves <gen>
        Trigger - Run Starttext <gen> (checking conditions)
      Else - Actions
        Set VariableSet GameSelection = False
        Game - Display to (All players) for 600.00 seconds the text: |cff218359-=NIGHT ELF CHAPTER 5=-|r
        Game - Display to (All players) for 600.00 seconds the text: Brothers in Blood
        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 were detected.
Map Initialization
  Events
  Conditions
  Actions
    Cinematic - Clear the screen of text messages for (All players).
    Trigger - Turn on GameTimer <gen>
    Trigger - Turn on Victory_Tyrande_Cinematic <gen>
    Trigger - Turn on OwlPatrols_Begin <gen>
    Set VariableSet Panda = The Largest Panda Ever 0055 <gen>
    Custom script: call ExecuteFunc("InsaneModeCheck")
    Player - Set name of Player 5 (Yellow) to Cave Center
    For each (Integer A) from 1 to 12, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Not equal to 5
          Then - Actions
            Player - Make (Player((Integer A))) treat Player 5 (Yellow) as an Ally
          Else - Actions
    Game - Set campaign to Night Elf Campaign
    Player - Disable Scout for Player1
    Unit - Change ownership of Keeper of the Grove 0232 <gen> to Player2 and Change color
    Unit - Change ownership of Priestess of the Moon 0233 <gen> to Player1 and Change color
    -------- Difficulty Settings --------
    Player Group - Add Player2 to AAAPG_NightElves
    -------- Horn of Cenarius --------
    Set VariableSet HornOfCenarius = (Item carried by Furion of type Horn of Cenarius)
    -------- SET VARIABLES --------
    Set VariableSet Illidan = Demon Hunter 0073 <gen>
    Set VariableSet InitialWatcherGroup = (Units in InitialWatcherGroup <gen>)
    Set VariableSet IllidanGuards = (Units in IllidanGuards <gen>)
    Set VariableSet OwlbearGroup = (Units in OwlbearGroup <gen>)
    Set VariableSet Keeper = Keeper of the Grove 0074 <gen>
    Set VariableSet OwlbearShaman = Elder Watcher 0079 <gen>
    Set VariableSet LavaBridge = Force Bridge 0574 <gen>
    Set VariableSet Sleeper01 = Sentry 0156 <gen>
    Set VariableSet Sleeper02 = Sentry 0095 <gen>
    Set VariableSet Sleeper03 = Sentry 0142 <gen>
    Set VariableSet ChargingOwlbear = Elder Watcher 0149 <gen>
    Set VariableSet SleeperGroup01 = (Units in Sleepers <gen>)
    Set VariableSet ElderWatcherC = Watcher 0141 <gen>
    Set VariableSet ElderWardenA = Warden 0048 <gen>
    Set VariableSet ElderWardenB = Warden 0067 <gen>
    -------- PLAYER SETTINGS --------
    -------- Alliances --------
    Player - Make Player1 treat Player2 as an Ally with shared vision
    Player - Make Player2 treat Player1 as an Ally with shared vision
    Player - Make Player1 treat P_Illidan as an Ally
    Player - Make Player1 treat P_Druids as an Neutral
    Player - Make Player1 treat P_Watchers as an Enemy
    Player - Make Player1 treat P_Prisoners as an Ally
    Player - Make Player2 treat P_Illidan as an Ally
    Player - Make Player2 treat P_Druids as an Neutral
    Player - Make Player2 treat P_Watchers as an Enemy
    Player - Make Player2 treat P_Prisoners as an Ally
    Player - Make P_Druids treat Player1 as an Enemy
    Player - Make P_Druids treat Player2 as an Enemy
    Player - Make P_Druids treat P_Illidan as an Ally
    Player - Make P_Druids treat P_Watchers as an Ally
    Player - Make P_Druids treat Neutral Hostile as an Ally
    Player - Make P_Druids treat P_Prisoners as an Ally
    Player - Make P_Illidan treat Player1 as an Ally
    Player - Make P_Illidan treat Player2 as an Ally
    Player - Make P_Illidan treat P_Druids as an Ally
    Player - Make P_Illidan treat P_Watchers as an Ally
    Player - Make P_Illidan treat Neutral Hostile as an Ally
    Player - Make P_Illidan treat P_Prisoners as an Ally
    Player - Make P_Prisoners treat Player1 as an Ally
    Player - Make P_Prisoners treat Player2 as an Ally
    Player - Make P_Prisoners treat P_Druids as an Ally
    Player - Make P_Prisoners treat P_Illidan as an Ally
    Player - Make P_Prisoners treat Neutral Hostile as an Ally
    Player - Make P_Prisoners treat P_Watchers as an Ally
    Player - Make P_Watchers treat Player1 as an Enemy
    Player - Make P_Watchers treat Player2 as an Enemy
    Player - Make P_Watchers treat P_Druids as an Ally
    Player - Make P_Watchers treat P_Illidan as an Ally
    Player - Make P_Watchers treat Neutral Hostile as an Ally
    Player - Make P_Watchers treat P_Prisoners as an Ally
    Player - Make P_Watchers treat P_Sleepers as an Ally
    Player - Make Neutral Hostile treat P_Druids as an Ally
    Player - Make Neutral Hostile treat P_Illidan as an Ally
    Player - Make Neutral Hostile treat P_Watchers as an Ally
    Player - Make Neutral Hostile treat P_Prisoners as an Ally
    Player - Make Neutral Hostile treat P_Sleepers as an Ally
    Player - Make P_Sleepers treat P_Druids as an Ally
    Player - Make P_Sleepers treat P_Illidan as an Ally
    Player - Make P_Sleepers treat P_Watchers as an Ally
    Player - Make P_Sleepers treat P_Prisoners as an Ally
    Player - Make P_Sleepers treat Neutral Hostile as an Ally
    -------- Hide Players --------
    Player - Hide Player 3 (Teal) in the post-game score screen
    Player - Hide Player 5 (Yellow) in the post-game score screen
    Player - Hide Player 9 (Gray) in the post-game score screen
    Player - Hide Player 10 (Light Blue) in the post-game score screen
    Player - Hide Player 12 (Brown) in the post-game score screen
    -------- Resources --------
    Player - Set Player1.Current gold to 0
    Player - Set Player2.Current gold to 0
    Player - Set Player1.Current lumber to 0
    Player - Set Player2.Current lumber to 0
    Player - Turn Gives bounty Off for Neutral Hostile
    -------- Colors --------
    Player - Change color of P_Sleepers to Red, Changing color of existing units
    -------- UNIT SETTINGS --------
    Trigger - Run TheBears <gen> (checking conditions)
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Set mana of (Picked unit) to (Max mana of (Picked unit)))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Set mana of (Picked unit) to (Max mana of (Picked unit)))
    Hero - Disable experience gain for Keeper.
    Unit - Make Illidan Invulnerable
    Set VariableSet BearCinAssailant1 = (Random unit from (Units in BearCin_Assailant01 <gen> owned by Player 12 (Brown)))
    Set VariableSet BearCinAssailant2 = (Random unit from (Units in BearCin_Assailant02 <gen> owned by Player 12 (Brown)))
    Unit - Order ElderWatcherC to Hold Position.
    Unit - Order ElderWardenA to Hold Position.
    Unit - Order ElderWardenB to Hold Position.
    AI - Ignore ElderWardenA's guard position
    AI - Ignore ElderWardenB's guard position
    AI - Ignore ElderWatcherC's guard position
    -------- Furbolg Quest Area --------
    Unit Group - Pick every unit in (Units owned by P_Prisoners.) and do (Do nothing)
    Unit Group - Add all units of (Units in Sick_Furbolg_Quest <gen>) to FurbolgGroup
    -------- Furbolg Leader --------
    Set VariableSet FurbolgLeader = Furbolg Ursa Warrior 0134 <gen>
    Special Effect - Create a special effect attached to the overhead (attachpoint) of FurbolgLeader using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
    Set VariableSet FurbolgLeaderTALKTOMEfx = (Last created special effect)
    -------- Sick Furbolg --------
    Set VariableSet SickFurbolg = Sick Furbolg 0140 <gen>
    Animation - Play SickFurbolg's death (animationname) animation
    Animation - Change SickFurbolg's vertex coloring to (40.00%, 100%, 40.00%) with 0% transparency
    Special Effect - Create a special effect attached to the overhead (attachpoint) of SickFurbolg using Abilities\Spells\Other\CreepSleep\CreepSleepTarget.mdl
    Set VariableSet SickFurbolgSleepfx = (Last created special effect)
    -------- Patrolling Watchers --------
    Unit Group - Add (Random unit from (Units in Patrol01E <gen> owned by P_Watchers)) to OwlbearDooDooUnitGroup
    Unit Group - Add (Random unit from (Units in Patrol01D <gen> owned by P_Watchers)) to OwlbearDooDooUnitGroup
    Unit Group - Add (Random unit from (Units in Patrol01C <gen> owned by P_Watchers)) to OwlbearDooDooUnitGroup
    Unit Group - Add (Random unit from (Units in Patrol01B <gen> owned by P_Watchers)) to OwlbearDooDooUnitGroup
    Unit Group - Add (Random unit from (Units in Patrol01A <gen> owned by P_Watchers)) to OwlbearDooDooUnitGroup
    -------- DOODAD SETTINGS --------
    Animation - Play the death (animationname) animation for all doodads of type YOfb (doodadcode) within FireGroup01 <gen>.
    Destructible - Make Elven Gate 0016 <gen> Invulnerable
    Destructible - Make Elven Gate 0181 <gen> Invulnerable
    Destructible - Make Dungeon Gate 1649 <gen> Invulnerable
    Destructible - Make Dungeon Gate 1650 <gen> Invulnerable
    Destructible - Make Dungeon Gate 1651 <gen> Invulnerable
    Destructible - Kill LavaBridge
    Destructible - Make Elven Gate 0181 <gen> Invulnerable
    Destructible - Make Dungeon Gate 1193 <gen> Invulnerable
    Destructible - Make Dungeon Gate 1194 <gen> Invulnerable
    Destructible - Open Dungeon Gate 1295 <gen>
    Destructible - Open Dungeon Gate 1330 <gen>
    -------- SOUND SETTINGS --------
    Sound - Set the music list to Music, starting with song 1
    Set VariableSet SleepSound01 = CreepSleepLoop1 <gen>
    Sound - Attach SleepSound01 to Sleeper01
    Set VariableSet SleepSound02 = CreepSleepLoop1 <gen>
    Sound - Attach SleepSound02 to Sleeper02
    Set VariableSet SleepSound03 = CreepSleepLoop1 <gen>
    Sound - Attach SleepSound03 to Sleeper03
    Set VariableSet AwakenSound01 = HarpyYesAttack1 <gen>
    Sound - Attach AwakenSound01 to Sleeper02
    Set VariableSet OwlbearScream01 = OwlBearYesAttack1 <gen>
    Sound - Attach OwlbearScream01 to ChargingOwlbear
    Set VariableSet CrateSmashingSound01 = CatapultMissile4 <gen>
    Sound - Attach CrateSmashingSound01 to ChargingOwlbear
    Set VariableSet CrateSmashingSound02 = CatapultMissile3 <gen>
    Sound - Attach CrateSmashingSound02 to ChargingOwlbear
    Set VariableSet SpawnSkeletonSound01 = SkeletonYes3 <gen>
    Set VariableSet SpawnSkeletonSound02 = SkeletonYesAttack1 <gen>
    Set VariableSet SpawnSkeletonSound03 = SkeletonYesAttack2 <gen>
    Set VariableSet SpawnSkeletonSound04 = SkeletonYesAttack3 <gen>
    -------- MAP SETTINGS --------
    Game - Set the time of day to 24.00
    Environment - Set fog to style 0 (fogstyle), z-start 1000.00, z-end 5000.00, density 0 and color (30.00%, 30.00%, 80.00%)
    Game - Set time of day speed to 0.01% of the default speed
    -------- QUEST SETTINGS --------
    Quest - Create a Required quest titled Awaken Druids with the description The Druids of the Claw have been asleep in the depths of these caverns for thousands of years. They must be found and awakened if the darkness spreading aboveground is to be defeated., using icon path ReplaceableTextures\CommandButtons\BTNDruidOfTheClaw.tga
    Set VariableSet QuestDruids = (Last created quest)
    Quest - Create a quest requirement for QuestDruids with the description Discover the location of the Barrow Deeps
    Set VariableSet QuestDruidsReqDens = (Last created quest requirement)
    Quest - Create a quest requirement for QuestDruids with the description Tyrande Whisperwind must survive
    Set VariableSet QuestDruidsReqTyrande = (Last created quest requirement)
    Quest - Create a quest requirement for QuestDruids with the description Furion Stormrage must survive
    Set VariableSet QuestDruidsReqFurion = (Last created quest requirement)
    Quest - Create a Required, undiscovered quest titled Free Illidan with the description Though Illidan's release could prove costly, his aid against the Demons would be invaluable. You must plumb the depths of his ancient prison and release him before all is lost. , using icon path ReplaceableTextures\CommandButtons\BTNHeroDemonHunter.tga
    Set VariableSet QuestIllidan = (Last created quest)
    Quest - Create a quest requirement for QuestIllidan with the description Locate Illidan's prison
    Set VariableSet QuestIllidanReqLocate = (Last created quest requirement)
    Quest - Create a quest requirement for QuestIllidan with the description Defeat the Watchers
    Set VariableSet QuestIllidanReqDefeat = (Last created quest requirement)
    Quest - Create a quest requirement for QuestIllidan with the description Tyrande Whisperwind must survive
    Set VariableSet QuestIllidanReqTyrande = (Last created quest requirement)
    Quest - Create a Optional, undiscovered quest titled Bear Necessities with the description The Furbolg Shaman has fallen ill with a terrible disease. His only hope lies in an uncorrupted font of healing waters. Using the special vial the Furbolgs have given you, retrieve some of the sacred water and return it to the ailing Shaman. , using icon path ReplaceableTextures\CommandButtons\BTNFurbolgShaman.tga
    Set VariableSet FurbolgQuest = (Last created quest)
    Quest - Create a quest requirement for (Last created quest) with the description Get water from the Fountain of Life
    Set VariableSet REQFurbolgBowl = (Last created quest requirement)
    Quest - Create a quest requirement for (Last created quest) with the description Return the filled vial to the Furbolgs
    Set VariableSet REQReturnBowl = (Last created quest requirement)
    -------- RUN TRIGGERS --------
    Trigger - Run IntroCinematic <gen> (checking conditions)
Not Insane Difficulty
  Events
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in Hard_Remove01 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove02 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove03 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove04 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove05 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove06 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove07 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove08 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove09 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove10 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove11 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove12 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove13 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove14 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove15 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove16 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove17 <gen>) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in (Units in Hard_Remove18 <gen>) and do (Remove (Picked unit) from the game)
EggSack01
  Events
    Destructible - Egg Sack 0102 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Item - Create Scroll of Healing at (Center of EggSack01 <gen>)
EggSack02
  Events
    Destructible - Egg Sack 0100 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1 Spider for Neutral Hostile at (Center of EggSack02 <gen>) facing (Center of EggSack01 <gen>)
EggSack03
  Events
    Destructible - Egg Sack 0101 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1 Spider for Neutral Hostile at (Center of EggSack03 <gen>) facing (Center of EggSack01 <gen>)
LostCrate02
  Events
    Destructible - Crates 2805 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Sheep for Neutral Passive at (Center of LostCrate02 <gen>) facing Default building facing degrees
LostCrate03
  Events
    Destructible - Crates 2803 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of LostCrate03 <gen>) facing Default building facing degrees
CratePrison01
  Events
    Destructible - Crates 1432 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of CratePrison01 <gen>) facing Default building facing degrees
CratePrison02
  Events
    Destructible - Crates 1430 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Item - Create Periapt of Vitality at (Center of CratePrison02 <gen>)
CratePrison03
  Events
    Destructible - Crates 1429 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Battle Golem for Neutral Hostile at (Center of CratePrison03 <gen>) facing 315.00 degrees
    Set VariableSet BoxGolem = (Last created unit)
    Unit - Pause BoxGolem
    Animation - Play BoxGolem's birth (animationname) animation
    Wait 1.00 seconds
    Unit - Unpause BoxGolem
IntroCinematic
  Events
  Conditions
  Actions
    Set VariableSet VoteSkipFinal = False
    Cinematic - Turn cinematic mode On for (All players)
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Player - Disable Shadow Meld for Player1
    Camera - .Apply. gg_cam_xIntro01A for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xIntro01A for Player2 over 0 seconds
    Sound - Clear the music list
    Wait 0.01 seconds
    Sound - Set the music list to Music, starting with song 1
    Sound - Play Dark Agents.
    Wait 0.50 seconds
    -------- NOW SKIPPABLE --------
    Set VariableSet Intro_Skip = True
    Trigger - Turn on Intro_Skip <gen>
    Camera - .Apply. gg_cam_xIntro01A for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xIntro01A for Player2 over 0 seconds
    Camera - .Apply. gg_cam_xIntro01B for Player1 over 5.00 seconds
    Camera - .Apply. gg_cam_xIntro01B for Player2 over 5.00 seconds
    Unit - Order Furion to Move To.(Center of FurionStart_MOVE_to <gen>)
    Unit - Order Tyrande to Move To.(Center of TyrandeStart_MOVE_to <gen>)
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to FurionGroup
    Set VariableSet DruidofTalon01 = (Last created unit)
    Set VariableSet TempUnit1 = DruidofTalon01
    Unit - Order (Last created unit) to Move To.(Center of EnterDruidOfTalon01 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to FurionGroup
    Set VariableSet DruidofTalon02 = (Last created unit)
    Set VariableSet TempUnit2 = DruidofTalon02
    Unit - Order (Last created unit) to Move To.(Center of EnterDruidOfTalon02 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Dryad for Player2 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterDryad01 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Dryad for Player2 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterDryad02 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Dryad for Player2 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterDryad03 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Huntress for Player1 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterSent01 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Huntress for Player1 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterSent02 <gen>)
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - .Apply. gg_cam_xIntro02A for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xIntro02A for Player2 over 0 seconds
    Camera - .Apply. gg_cam_xIntro02B for Player1 over (Length of N05Furion01 <gen>) seconds
    Camera - .Apply. gg_cam_xIntro02B for Player2 over (Length of N05Furion01 <gen>) seconds
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion01 <gen> and display These Barrow Deeps have remained untouched for nearly three thousand years. Still, there is no telling what creatures may have taken up residence after we sealed these tunnels shut.. Modify duration: Add 0 seconds and Don't wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Archer for Player1 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterArcher01 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Create 1.Archer for Player1 at (Center of Intro_Cave_WalkIn <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to CinCleanGroup
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Order (Last created unit) to Move To.(Center of EnterArcher02 <gen>)
    Unit - Make Furion face 300.00 over 1.00 seconds
    Unit - Make Tyrande face 240.00 over 1.00 seconds
    Wait for N05Furion01 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xIntro03A for Player1 over 0.00 seconds
    Camera - .Apply. gg_cam_xIntro03A for Player2 over 0.00 seconds
    Animation - Lock Furion's Head to face Tyrande, offset by (0, 0, 90)
    Animation - Lock Tyrande's Head to face Furion, offset by (0, 0, 90)
    Unit - Make Tyrande face 190.00 over 0.00 seconds
    Unit - Make Furion face 330.00 over 0.00 seconds
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande02 <gen> and display There is nothing to fear in this place. The only enemy that has ever given me pause is now corrupting the lands above us. Let us be done with this business and get back to the surface.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Tyrande02 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xIntro04A for Player1 over 0.00 seconds
    Camera - .Apply. gg_cam_xIntro04A for Player2 over 0.00 seconds
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion03 <gen> and display Agreed. Just be careful. There is no telling how the druids of the claw will react to us after all this time.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Furion03 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Set VariableSet Intro_Skip = False
    Trigger - Turn off Intro_Skip <gen>
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Animation - Reset Furion's body-part facing
    Animation - Reset Tyrande's body-part facing
    Unit - Make Furion face 300.00 over 0.00 seconds
    Unit - Make Tyrande face 240.00 over 0.00 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Camera - Pan camera for Player1 to (Center of IntroPan <gen>) over 0 seconds
    Camera - Pan camera for Player2 to (Center of IntroPan <gen>) over 0 seconds
    Player - Enable Shadow Meld for Player1
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Selection - Select Tyrande for Player1
    Selection - Select Furion for Player2
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rAwaken Druids - Discover the location of the Barrow Deeps - Tyrande must survive - Furion must survive
    Countdown Timer - Start TimerNewUnitAvailableMessage as a One-shot timer that will expire in 10.00 seconds
    Countdown Timer - Start TimerScoutNotice as a One-shot timer that will expire in 20.00 seconds
    Trigger - Run CreateSleepers <gen> (ignoring conditions)
Intro Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Intro_Skip = False
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Unit - Move Furion instantly to (Center of FurionStart_MOVE_to <gen>), facing 300.00 degrees
    Animation - Reset Furion's body-part facing
    Unit - Move Tyrande instantly to (Center of TyrandeStart_MOVE_to <gen>), facing 240.00 degrees
    Animation - Reset Tyrande's body-part facing
    Unit Group - Pick every unit in CinCleanGroup and do (Remove (Picked unit) from the game)
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of EnterDruidOfTalon01 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Set VariableSet DruidofTalon01 = (Last created unit)
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of EnterDruidOfTalon02 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Set VariableSet DruidofTalon02 = (Last created unit)
    Unit - Create 1.Dryad for Player2 at (Center of EnterDryad01 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Create 1.Dryad for Player2 at (Center of EnterDryad02 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Create 1.Dryad for Player2 at (Center of EnterDryad03 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Create 1.Huntress for Player1 at (Center of EnterSent01 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Huntress for Player1 at (Center of EnterSent02 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of EnterArcher01 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of EnterArcher02 <gen>) facing 270.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Set VariableSet TempUnit1 = DruidofTalon01
    Set VariableSet TempUnit2 = DruidofTalon02
    Cinematic - Turn cinematic mode Off for (All players)
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Camera - Pan camera for Player1 to (Center of IntroPan <gen>) over 0 seconds
    Camera - Pan camera for Player2 to (Center of IntroPan <gen>) over 0 seconds
    Player - Enable Shadow Meld for Player1
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Selection - Select Tyrande for Player1
    Selection - Select Furion for Player2
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rAwaken Druids - Discover the location of the Barrow Deeps - Tyrande must survive - Furion must survive
    Countdown Timer - Start TimerNewUnitAvailableMessage as a One-shot timer that will expire in 10.00 seconds
    Countdown Timer - Start TimerScoutNotice as a One-shot timer that will expire in 20.00 seconds
    Trigger - Run CreateSleepers <gen> (ignoring conditions)
New Unit Message Timer Expires
  Events
    Time - TimerNewUnitAvailableMessage expires
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add New_Unit_Message_Queued <gen> to the trigger queue (Checking conditions)
New Unit Message Queued
  Events
  Conditions
  Actions
    Quest - Display to AAAPG_NightElves the New Unit Acquired message: |cff87ceebNEW UNIT ACQUIRED|rDruid of the Talon - Powerful Druid who can cast Faerie Fire and Cyclone.
    Wait 10.00 seconds
    Trigger - Remove (This trigger) from the trigger queue
No Scout Notice Timer Expires
  Events
    Time - TimerScoutNotice expires
  Conditions
  Actions
    Trigger - Add No_Scout_Notice_Queued <gen> to the trigger queue (Checking conditions)
No Scout Notice Queued
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Hint message: |cffff8c00NOTICE|r - Tyrande's Scout ability cannot be used in underground caverns.
    Wait 10.00 seconds
    Trigger - Remove (This trigger) from the trigger queue
Spiders01
  Events
    Unit - A unit comes within 801.00 of Brood Mother 0167 <gen>
    Unit - A unit comes within 801.00 of Spider 0005 <gen>
    Unit - A unit comes within 801.00 of Spider 0004 <gen>
  Conditions
    ((Triggering unit) Equal to Tyrande) or ((Triggering unit) Equal to Furion)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Spiders01_Queued <gen> to the trigger queue (Checking conditions)
Spiders01 Queued
  Events
  Conditions
    ((Brood Mother 0167 <gen> is alive) Equal to True) or (((Spider 0005 <gen> is alive) Equal to True) or ((Spider 0004 <gen> is alive) Equal to True))
    GAMEOVER Equal to False
  Actions
    Camera - Set a spacebar-point for Player1 at (Position of Brood Mother 0167 <gen>)
    Camera - Set a spacebar-point for Player2 at (Position of Brood Mother 0167 <gen>)
    Cinematic - Ping minimap for AAAPG_NightElves at (Position of Brood Mother 0167 <gen>) for 7.00 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion07 <gen> and display These cave spiders are enormous!. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande08 <gen> and display I sense a strange darkness tainting them. They have been transformed by a great evil! . Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
EggNest01
  Events
    Unit - A unit comes within 900.00 of Defiled Fountain of Life 0016 <gen>
  Conditions
    ((Triggering unit) Equal to Tyrande) or ((Triggering unit) Equal to Furion)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add EggNest01_Queue <gen> to the trigger queue (Checking conditions)
EggNest01 Queue
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Camera - Set a spacebar-point for Player1 at (Position of Defiled Fountain of Life 0016 <gen>)
    Camera - Set a spacebar-point for Player2 at (Position of Defiled Fountain of Life 0016 <gen>)
    Cinematic - Ping minimap for AAAPG_NightElves at (Position of Defiled Fountain of Life 0016 <gen>) for 7.00 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande14 <gen> and display Demon bile! This must be what cursed the spiders!. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion15 <gen> and display If the corruption can do this to these simple creatures, I dare not imagine what it could do to the beasts who live above!. Modify duration: Add 0 seconds and Wait
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande16 <gen> and display We must put an end to this corruption, no matter the cost!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
FurionNoReturn
  Events
    Unit - A unit enters FurionNoReturn <gen>
  Conditions
    (Entering unit) Equal to Furion
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion33 <gen> and display My powers cannot open the door. Though it grieves me to leave her, I must press on.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
Weapons
  Events
    Unit - A unit enters TriggerWeapons <gen>
  Conditions
    (Entering unit) Equal to Tyrande
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Camera - Set a spacebar-point for Player1 at (Center of TriggerWeapons <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of TriggerWeapons <gen>) for 7.00 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to Player Group - Player 2 (Blue) from Tyrande named Tyrande Whisperwind: Play N05Tyrande46 <gen> and display These explosive devices look to be of goblin design. The wily creatures must have hidden them here long ago. No matter, I'll make good use of them.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
Trigger Furbolg Quest
  Events
    Unit - A unit enters Sick_Furbolg_Quest <gen>
  Conditions
    ((Entering unit) Equal to Tyrande) or ((Entering unit) Equal to Furion)
  Actions
    Trigger - Turn off (This trigger)
    If ((Entering unit) Equal to Tyrande) then do (Set VariableSet TyrandeOrFurion = True) else do (Set VariableSet TyrandeOrFurion = False)
    Unit - Make FurbolgLeader face (Entering unit) over 0.20 seconds
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Invulnerable)
    Trigger - Add Furbolg_Quest_Queue <gen> to the trigger queue (Checking conditions)
Furbolg Quest Skip
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Furbolg_Quest_Skip = False
    Quest - Mark FurbolgQuest as Discovered
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Stop (Last played sound) After fading
    Wait 1.00 seconds
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Wait 0.10 seconds
    Camera - Pan camera for Player1 to CameraPoint over 0 seconds
    Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Vulnerable)
    Unit - Move Tyrande instantly to TyrandeLocation, facing (Position of (Random unit from (Units within 1024.00 of TyrandeLocation.)))
    Unit - Move Furion instantly to FurionPosition, facing (Position of (Random unit from (Units within 1024.00 of FurionPosition.)))
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of Sick_Furbolg_Quest <gen>) to a radius of 1024.00.
    Set VariableSet FurbolgQuestVis = (Last created visibility modifier)
    Cinematic - Turn cinematic mode Off for (All players)
    If (TyrandeOrFurion Equal to True) then do (Create Empty Vial at (Position of Tyrande)) else do (Create Empty Vial at (Position of Furion))
    Set VariableSet EmptyBowl = (Last created item)
    Item - Make EmptyBowl Invulnerable
    If (TyrandeOrFurion Equal to True) then do (Give EmptyBowl to Tyrande) else do (Give EmptyBowl to Furion)
    Player - Enable Shadow Meld for Player1
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Unhide (Picked unit))
    Unit - Unpause all units
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 4.00 seconds
    If ((FurbolgQuest is failed) Equal to True) then do (Remove (This trigger) from the trigger queue) else do (Do nothing)
    If ((FurbolgQuest is failed) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rBear Necessities - Get water from the Fountain of Life - Return the filled vial to the Furbolgs
    Wait Campaign quest delay seconds
    Quest - Display to (All players) the New Item Received message: |cff87ceebNEW ITEM RECEIVED|r - Empty Vial
    Wait Campaign quest delay seconds
    Trigger - Remove Furbolg_Quest_Queue <gen> from the trigger queue
Furbolg Quest Queue
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
    GAMEOVER Equal to False
  Actions
    Set VariableSet VoteSkipFinal = False
    Set VariableSet Selection = (Units currently selected by Player1)
    Set VariableSet Selection2 = (Units currently selected by Player2)
    Selection - Clear selection
    Quest - Mark FurbolgQuest as Discovered
    Special Effect - Destroy FurbolgLeaderTALKTOMEfx
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        LocalPlayer Equal to Player1
      Then - Actions
        Set VariableSet CameraPoint = (Target of (Current camera))
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            LocalPlayer Equal to Player2
          Then - Actions
            Set VariableSet CameraPoint2 = (Target of (Current camera))
          Else - Actions
    Set VariableSet TyrandeLocation = (Position of Tyrande)
    Set VariableSet FurionPosition = (Position of Furion)
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode On for (All players)
    Sound - Play Tragic Confrontation.
    Player - Disable Shadow Meld for Player1
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Remove All buffs from (Picked unit))
    Unit - Pause all units
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Hide (Picked unit))
    Unit - Unhide Tyrande
    Unit - Move Tyrande instantly to (Center of FurbolgQuest_Tyrande <gen>), facing (Position of FurbolgLeader)
    Unit - Unpause Tyrande
    Unit - Unhide Furion
    Unit - Move Furion instantly to (Center of FurbolgQuest_Furion <gen>), facing (Position of FurbolgLeader)
    Unit - Unpause Furion
    Camera - .Apply. gg_cam_FurbolgCam for Player1 over 0 seconds
    Camera - .Apply. gg_cam_FurbolgCam for Player2 over 0 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- NOW SKIPPABLE --------
    Set VariableSet Furbolg_Quest_Skip = True
    Trigger - Turn on Furbolg_Quest_Skip <gen>
    Cinematic - Send transmission to (All players) from FurbolgLeader named Furbolg Chieftain: Play N05Furbolg17 <gen> and display Hold, Priestess! We need your help! Our shaman was bitten by a strange spider and has become deathly ill. Our tribesmen have run off, leaving us to fend for ourselves.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Furbolg17 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Tyrande named Tyrande: Play N05Tyrande18 <gen> and display What would you have us do?. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Tyrande18 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from FurbolgLeader named Furbolg Chieftain: Play N05Furbolg19 <gen> and display The waters of the nearby fountain of life can save him, but we dare not leave him in this state. If you can fill this vial with its waters and return it to us, our shaman's life will be saved.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Furbolg19 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Tyrande named Tyrande: Play N05Tyrande20 <gen> and display If his wisdom will prevent you from turning feral like your tribesmen, I will gladly save your shaman.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Tyrande20 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Set VariableSet Furbolg_Quest_Skip = False
    Trigger - Turn off Furbolg_Quest_Skip <gen>
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Wait 0.10 seconds
    Camera - Pan camera for Player1 to CameraPoint over 0 seconds
    Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Vulnerable)
    Unit - Move Tyrande instantly to TyrandeLocation, facing (Position of (Random unit from (Units within 1024.00 of TyrandeLocation.)))
    Unit - Move Furion instantly to FurionPosition, facing (Position of (Random unit from (Units within 1024.00 of FurionPosition.)))
    Trigger - Turn off Furbolg_Quest_Skip <gen>
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of Sick_Furbolg_Quest <gen>) to a radius of 1024.00.
    Set VariableSet FurbolgQuestVis = (Last created visibility modifier)
    Cinematic - Turn cinematic mode Off for (All players)
    If (TyrandeOrFurion Equal to True) then do (Create Empty Vial at (Position of Tyrande)) else do (Create Empty Vial at (Position of Furion))
    Set VariableSet EmptyBowl = (Last created item)
    Item - Make EmptyBowl Invulnerable
    If (TyrandeOrFurion Equal to True) then do (Give EmptyBowl to Tyrande) else do (Give EmptyBowl to Furion)
    Player - Enable Shadow Meld for Player1
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Unhide (Picked unit))
    Unit - Unpause all units
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 4.00 seconds
    If ((FurbolgQuest is failed) Equal to True) then do (Remove (This trigger) from the trigger queue) else do (Do nothing)
    If ((FurbolgQuest is failed) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rBear Necessities - Get water from the Fountain of Life - Return the filled vial to the Furbolgs
    Wait Campaign quest delay seconds
    Quest - Display to (All players) the New Item Received message: |cff87ceebNEW ITEM RECEIVED|r - Empty Vial
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
SeeHealingWater
  Events
    Unit - A unit enters Waterfall_Fountain <gen>
  Conditions
    (Entering unit) Equal to Tyrande
    GotWaterBoolean Equal to False
    FurbolgsFeralBoolean Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add SeeHealingWater_Que <gen> to the trigger queue (Checking conditions)
SeeHealingWater Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Cinematic - Ping minimap for AAAPG_NightElves at (Position of Fountain of Life 0125 <gen>) for 3.00 seconds
    Camera - Set a spacebar-point for Player1 at (Position of Fountain of Life 0125 <gen>)
    Camera - Set a spacebar-point for Player2 at (Position of Fountain of Life 0125 <gen>)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Tyrande named Tyrande: Play N05Tyrande21 <gen> and display This must be the fountain of life. I need only place the vial in the fountain's waters.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Get Healing Water
  Events
    Unit - A unit enters Sick_Furbolg_Quest_HealWater <gen>
  Conditions
    ((Entering unit) has EmptyBowl) Equal to True
    FurbolgsFeralBoolean Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Item - Remove EmptyBowl
    Item - Create Full Vial at (Position of (Entering unit))
    Set VariableSet GotWaterBoolean = True
    Set VariableSet FullBowl = (Last created item)
    Item - Make FullBowl Invulnerable
    Hero - Give FullBowl to (Entering unit)
    Special Effect - Create a special effect attached to the overhead (attachpoint) of FurbolgLeader using Abilities\Spells\Other\TalkToMe\TalkToMe.mdl
    Set VariableSet FurbolgLeaderTALKTOMEfx = (Last created special effect)
    Trigger - Add Get_Healing_Water_Queue <gen> to the trigger queue (Checking conditions)
Get Healing Water Queue
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
    GAMEOVER Equal to False
  Actions
    Quest - Mark REQFurbolgBowl as Completed
    Quest - Display to (All players) the Quest Update message: |cffffcc00OPTIONAL QUEST UPDATE|RBear Necessities - |cff808080Get water from the Fountain of Life (Completed)|r - Return the filled vial to the Furbolgs
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Furbolg Finale
  Events
    Unit - A unit enters Sick_Furbolg_Quest <gen>
  Conditions
    FurbolgsFeralBoolean Equal to False
    ((Entering unit) Equal to Tyrande) or ((Entering unit) Equal to Furion)
    ((Entering unit) has FullBowl) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet SubquestsCompleted = 1
    Unit - Make FurbolgLeader face (Entering unit) over 0.20 seconds
    If ((Entering unit) Equal to Tyrande) then do (Set VariableSet TyrandeOrFurion = True) else do (Set VariableSet TyrandeOrFurion = False)
    Quest - Mark REQReturnBowl as Completed
    Item - Remove FullBowl
    If (GateClosedBoolean Equal to True) then do (Add Furbolg_AfterGate_Finale_Queue <gen> to the trigger queue (Checking conditions)) else do (Do nothing)
    If (GateClosedBoolean Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Invulnerable)
    Trigger - Add Furbolg_Finale_Queue <gen> to the trigger queue (Checking conditions)
Furbolg Finale Skip
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Furbolg_Finale_Skip = False
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Animation - Reset FurbolgLeader's animation
    Sound - Stop (Last played sound) After fading
    Wait 1.00 seconds
    Visibility - Destroy FurbolgQuestVis
    Unit - Replace SickFurbolg with a Furbolg Elder Shaman using The old unit's relative life and mana
    Unit Group - Add (Last replaced unit) to FurbolgGroup
    Camera - Reset camera for Player1 to standard game-view over 1.00 seconds
    Camera - Reset camera for Player2 to standard game-view over 1.00 seconds
    Unit - Order Furbolg 0155 <gen> to Move To.(Center of FurbolgQuest_StepAside <gen>)
    Wait 0.10 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Player - Enable Shadow Meld for Player1
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Vulnerable)
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Unhide (Picked unit))
    Unit - Move Tyrande instantly to TyrandeLocation, facing (Position of (Random unit from (Units within 1024.00 of TyrandeLocation.)))
    Unit - Move Furion instantly to FurionPosition, facing (Position of (Random unit from (Units within 1024.00 of FurionPosition.)))
    Unit - Unpause all units
    Special Effect - Destroy (Last created special effect)
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Special Effect - Destroy SickFurbolgSleepfx
    Animation - Reset SickFurbolg's animation
    Animation - Change SickFurbolg's vertex coloring to (100.00%, 100%, 100.00%) with 0% transparency
    Wait 1.00 seconds
    Quest - Mark FurbolgQuest as Completed
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rBear Necessities
    Wait Campaign quest delay seconds
    Quest - Display to (All players) the New Item Received message: |cff87ceebNEW ITEM RECEIVED|r - The Talisman of the Wild can be used three times to temporarily summon a Furbolg to aid you.
    Wait Campaign quest delay seconds
    Trigger - Remove Furbolg_Finale_Queue <gen> from the trigger queue
Furbolg Finale Queue
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
    GAMEOVER Equal to False
  Actions
    Set VariableSet VoteSkipFinal = False
    Special Effect - Destroy FurbolgLeaderTALKTOMEfx
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode On for (All players)
    Wait 0.10 seconds
    Sound - Play Comradeship.
    Player - Disable Shadow Meld for Player1
    Set VariableSet TyrandeLocation = (Position of Tyrande)
    Set VariableSet FurionPosition = (Position of Furion)
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Remove All buffs from (Picked unit))
    Set VariableSet Selection = (Units currently selected by Player1)
    Set VariableSet Selection2 = (Units currently selected by Player2)
    Selection - Clear selection
    Unit - Pause all units
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Hide (Picked unit))
    Unit - Unhide Tyrande
    Unit - Move Tyrande instantly to (Center of FurbolgQuestFinale_Tyrande <gen>), facing (Position of FurbolgLeader)
    Unit - Unpause Tyrande
    Unit - Unhide Furion
    Unit - Move Furion instantly to (Center of FurbolgQuestFinale_Furion <gen>), facing (Position of FurbolgLeader)
    Unit - Unpause Furion
    Unit - Unpause FurbolgLeader
    Unit - Unpause Furbolg 0155 <gen>
    Unit - Unpause SickFurbolg
    If (TyrandeOrFurion Equal to True) then do (Create Talisman of the Wild at (Position of Tyrande)) else do (Create Talisman of the Wild at (Position of Furion))
    If (TyrandeOrFurion Equal to True) then do (Give (Last created item) to Tyrande) else do (Give (Last created item) to Furion)
    Camera - Pan camera for Player1 to (Center of Sick_Furbolg_Quest <gen>) over 0.00 seconds
    Camera - Pan camera for Player2 to (Center of Sick_Furbolg_Quest <gen>) over 0.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- NOW SKIPPABLE --------
    Set VariableSet Furbolg_Finale_Skip = True
    Trigger - Turn on Furbolg_Finale_Skip <gen>
    Cinematic - Send transmission to (All players) from FurbolgLeader named Furbolg Chieftain: Play N05Furbolg22 <gen> and display Elune be praised, Priestess. Truthfully, we doubted that you'd return. Now, our shaman has a chance.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Furbolg22 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Furbolg 0155 <gen> to Move To.(Center of FurbolgQuest_StepAside <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order FurbolgLeader to Move To.(Center of FurbolgQuest_CareForSick <gen>)
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make FurbolgLeader face SickFurbolg over 0.10 seconds
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Furbolg 0155 <gen> face SickFurbolg over 0.20 seconds
    Animation - Play FurbolgLeader's Attack (animationname) animation
    Sound - Reset all volume channels to 100%
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Center of SickFurbolg <gen>) using Abilities\Spells\Human\Resurrect\Resurrecttarget.mdl
    Special Effect - Destroy SickFurbolgSleepfx
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset SickFurbolg's animation
    Animation - Change SickFurbolg's vertex coloring to (50.00%, 100%, 50.00%) with 0% transparency
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change SickFurbolg's vertex coloring to (60.00%, 100%, 60.00%) with 0% transparency
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change SickFurbolg's vertex coloring to (70.00%, 100%, 70.00%) with 0% transparency
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change SickFurbolg's vertex coloring to (80.00%, 100%, 80.00%) with 0% transparency
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change SickFurbolg's vertex coloring to (90.00%, 100%, 90.00%) with 0% transparency
    Wait 0.20 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change SickFurbolg's vertex coloring to (100.00%, 100%, 100.00%) with 0% transparency
    Wait 0.50 seconds
    Animation - Reset FurbolgLeader's animation
    Special Effect - Destroy (Last created special effect)
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Turn collision for SickFurbolg Off.
    Unit - Order SickFurbolg to Move To.(Center of Furbolg_Leader <gen>)
    Wait 2.00 seconds
    Sound - Setup all volume channels for speech
    Unit - Order SickFurbolg to Stop.
    Unit - Make SickFurbolg face Tyrande over 0.20 seconds
    Unit - Turn collision for SickFurbolg On.
    Cinematic - Send transmission to (All players) from SickFurbolg named Furbolg Shaman: Play N05FurbolgS23 <gen> and display Again, I must thank you for your help. Take this talisman. Should you require our aid, it will summon us to fight at your side.. Modify duration: Add 0 seconds and Don't wait
    Wait for N05FurbolgS23 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Set VariableSet Furbolg_Finale_Skip = False
    Trigger - Turn off Furbolg_Finale_Skip <gen>
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Unit - Replace SickFurbolg with a Furbolg Elder Shaman using The old unit's relative life and mana
    Unit Group - Add (Last replaced unit) to FurbolgGroup
    Camera - Reset camera for Player1 to standard game-view over 0.00 seconds
    Camera - Reset camera for Player2 to standard game-view over 0.00 seconds
    Visibility - Destroy FurbolgQuestVis
    Cinematic - Turn cinematic mode Off for (All players)
    Player - Enable Shadow Meld for Player1
    Unit Group - Pick every unit in FurbolgGroup and do (Make (Picked unit) Vulnerable)
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player2.) and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units in Furbolg_Hide_Spiders <gen> owned by Neutral Hostile) and do (Unhide (Picked unit))
    Unit - Move Tyrande instantly to TyrandeLocation, facing (Position of (Random unit from (Units within 1024.00 of TyrandeLocation.)))
    Unit - Move Furion instantly to FurionPosition, facing (Position of (Random unit from (Units within 1024.00 of FurionPosition.)))
    Unit - Unpause all units
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 4.00 seconds
    Quest - Mark FurbolgQuest as Completed
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rBear Necessities
    Wait 2 seconds
    Quest - Display to (All players) the New Item Received message: |cff87ceebNEW ITEM RECEIVED|r - The Talisman of the Wild can be used three times to temporarily summon a Furbolg to aid you.
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Furbolg AfterGate Finale Queue
  Events
  Conditions
    FurbolgsFeralBoolean Equal to False
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Animation - Reset FurbolgLeader's animation
    Wait 1.00 seconds
    Special Effect - Destroy FurbolgLeaderTALKTOMEfx
    Visibility - Destroy FurbolgQuestVis
    Item - Create Talisman of the Wild at (Position of Furion)
    Hero - Give (Last created item) to Furion
    Special Effect - Destroy SickFurbolgSleepfx
    Animation - Reset SickFurbolg's animation
    Animation - Change SickFurbolg's vertex coloring to (100.00%, 100%, 100.00%) with 0% transparency
    Unit - Replace SickFurbolg with a Furbolg Elder Shaman using The old unit's relative life and mana
    Unit Group - Add (Last replaced unit) to FurbolgGroup
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Quest - Mark FurbolgQuest as Completed
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rBear Necessities
    Wait Campaign quest delay seconds
    Quest - Display to (All players) the New Item Received message: |cff87ceebNEW ITEM RECEIVED|r - The Talisman of the Wild can be used three times to temporarily summon a Furbolg to aid you.
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Player Attacks Furbolgs
  Events
    Unit - Furbolg Ursa Warrior 0134 <gen> Takes damage
    Unit - Furbolg 0155 <gen> Takes damage
    Unit - Sick Furbolg 0140 <gen> Takes damage
    Unit - Furbolg 0165 <gen> Takes damage
    Unit - Furbolg 0166 <gen> Takes damage
    Unit - Furbolg 0161 <gen> Takes damage
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Furbolg_Finale <gen>
    Trigger - Turn off Trigger_Furbolg_Quest <gen>
    Set VariableSet FurbolgsFeralBoolean = True
    Set VariableSet SubquestsCompleted = 0
    Special Effect - Destroy SickFurbolgSleepfx
    Special Effect - Destroy FurbolgLeaderTALKTOMEfx
    Unit Group - Pick every unit in FurbolgGroup and do (Change ownership of (Picked unit) to Neutral Hostile and Change color)
    If ((FurbolgQuest is completed) Equal to True) then do (Do nothing) else do (Mark FurbolgQuest as Failed)
    If ((FurbolgQuest is discovered) Equal to True) then do (Display to (All players) the Quest Update message: |cffffcc00OPTIONAL QUEST FAILED|rBear Necessities) else do (Do nothing)
XXX UNIT GROUP FORMATION XXX
  Events
  Conditions
  Actions
Form Undead Attackers
  Events
    Map initialization
  Conditions
  Actions
    Unit Group - Add all units of (Units in Undead_Attacker01 <gen>) to UndeadAttackerGroup
    Unit Group - Add all units of (Units in Undead_Attacker02 <gen>) to UndeadAttackerGroup
    Unit Group - Add all units of (Units in Undead_Attacker03 <gen>) to UndeadAttackerGroup
    Unit Group - Add all units of (Units in Undead_GroupM01 <gen>) to UndeadMerryGroup
    Unit Group - Add all units of (Units in Undead_Elite_Guard <gen>) to UndeadEliteGroup
Undead Elite Item
  Events
    Map initialization
  Conditions
  Actions
    Item - Create Potion of Greater Healing at (Center of Undead_Elite_Item_Region <gen>)
    Set VariableSet UndeadEliteItem = (Last created item)
XXX UNIT GROUP HANDLING XXX
  Events
  Conditions
  Actions
Remove The Dead From Group 01
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    ((Dying unit) is in UndeadAttackerGroup.) Equal to True
  Actions
    Unit Group - Remove (Dying unit) from UndeadAttackerGroup.
Remove The Dead From Group 02
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    ((Dying unit) is in UndeadMerryGroup.) Equal to True
  Actions
    Unit Group - Remove (Dying unit) from UndeadMerryGroup.
Remove The Dead From Group 03
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    ((Dying unit) is in UndeadEliteGroup.) Equal to True
  Actions
    Unit Group - Remove (Dying unit) from UndeadEliteGroup.
XXX ACTUAL STUFF XXX
  Events
  Conditions
  Actions
Inbound Player Assault Team
  Events
    Unit - A unit enters Undead_PlayerNear <gen>
  Conditions
  Actions
    Unit Group - Pick every unit in UndeadAttackerGroup and do (Order (Picked unit) to Attack-Move To.(Position of (Entering unit)))
Start Skeleton Group
  Events
    Unit - A unit enters Undead_PlayerNear <gen>
  Conditions
  Actions
    Unit Group - Order UndeadMerryGroup to Attack-Move To.(Center of Undead_GroupM02 <gen>)
Skeleton Group Goes Around01
  Events
    Unit - A unit enters Undead_GroupM01 <gen>
  Conditions
    ((Entering unit) is in UndeadMerryGroup.) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn on Skeleton_Group_Goes_Around02 <gen>
    Wait 3.00 seconds
    Unit Group - Order UndeadMerryGroup to Attack-Move To.(Center of Undead_GroupM02 <gen>)
Skeleton Group Goes Around02
  Events
    Unit - A unit enters Undead_GroupM02 <gen>
  Conditions
    ((Entering unit) is in UndeadMerryGroup.) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn on Skeleton_Group_Goes_Around03 <gen>
    Wait 3.00 seconds
    Unit Group - Order UndeadMerryGroup to Attack-Move To.(Center of Undead_GroupM03 <gen>)
Skeleton Group Goes Around03
  Events
    Unit - A unit enters Undead_GroupM03 <gen>
  Conditions
    ((Entering unit) is in UndeadMerryGroup.) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn on Skeleton_Group_Goes_Around01 <gen>
    Wait 3.00 seconds
    Unit Group - Order UndeadMerryGroup to Attack-Move To.(Center of Undead_GroupM01 <gen>)
Grab Item Aggro Elite Guard
  Events
    Unit - A unit owned by Player 2 (Blue).Acquires an item
    Unit - A unit owned by Player 11 (Dark Green).Acquires an item
  Conditions
    (Item being manipulated) Equal to UndeadEliteItem
  Actions
    Trigger - Turn off (This trigger)
    Unit Group - Order UndeadEliteGroup to Attack-Move To.(Position of (Hero manipulating item))
Panda Cinematic
  Events
    Unit - A unit enters Panda_SetOff <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player2
        (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet PandaVictim = (Entering unit)
    Set VariableSet SecretsFound = (SecretsFound + 1)
    Trigger - Add Panda_Cinematic_Queue <gen> to the trigger queue (Checking conditions)
Panda Dies
  Events
    Unit - A unit Dies
  Conditions
    (Triggering unit) Equal to Panda
  Actions
    Item - Create Necklace of Spell Immunity at (Position of (Triggering unit))
Panda Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Panda_Skip = False
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    If ((Unit-type of PandaVictim) Equal to Dryad) then do (Attach DryadPissed2 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Dryad) then do (Play DryadPissed2 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Huntress) then do (Attach HuntressYesAttack5 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Huntress) then do (Play HuntressYesAttack5 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Archer) then do (Attach ArcherYesAttack3 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Archer) then do (Play ArcherYesAttack3 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Druid of the Talon (Night Elf Form)) then do (Attach DruidOfTheTalonPissed7 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Druid of the Talon (Night Elf Form)) then do (Play DruidOfTheTalonPissed7 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Priestess of the Moon) then do (Attach TyrandePissed3 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Priestess of the Moon) then do (Play TyrandePissed3 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Keeper of the Grove) then do (Attach FurionPissed4 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Keeper of the Grove) then do (Play FurionPissed4 <gen>) else do (Do nothing)
    Wait 1.00 seconds
    Player - Enable Shadow Meld for Player1
    Unit - Order Panda to Attack-Move To.(Center of Panda_Face <gen>)
    Unit Group - Pick every unit in PandaHideGroup and do (Unhide (Picked unit))
    Unit - Unpause all units
    Trigger - Run Bears_Asleep <gen> (checking conditions)
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Camera - Pan camera for Player1 to CameraPoint over 0 seconds
    Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Unit - Set PandaVictim movement speed to (Default movement speed of PandaVictim)
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait Campaign quest delay seconds
    Trigger - Remove Panda_Cinematic_Queue <gen> from the trigger queue
Panda Cinematic Queue
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Set VariableSet VoteSkipFinal = False
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode On for (All players)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        LocalPlayer Equal to Player1
      Then - Actions
        Set VariableSet CameraPoint = (Target of (Current camera))
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            LocalPlayer Equal to Player2
          Then - Actions
            Set VariableSet CameraPoint2 = (Target of (Current camera))
          Else - Actions
    Sound - Play Tension.
    Set VariableSet Selection = (Units currently selected by Player1)
    Set VariableSet Selection2 = (Units currently selected by Player2)
    Selection - Clear selection
    If ((PandaVictim is Summoned) Equal to False) then do (Remove All buffs from PandaVictim) else do (Do nothing)
    Player - Disable Shadow Meld for Player1
    Unit - Pause all units
    Unit Group - Add all units of (Units in PandaCinHideUnits <gen>) to PandaHideGroup
    Unit Group - Pick every unit in PandaHideGroup and do (Hide (Picked unit))
    Unit - Unhide PandaVictim
    Unit - Unpause PandaVictim
    Unit - Set PandaVictim movement speed to 350.00
    Unit - Unpause Panda
    Camera - .Apply. gg_cam_xxxPanda01 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxPanda01 for Player2 over 0 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Unit - Order PandaVictim to Move To.(Center of Panda_Face <gen>)
    Unit - Order Panda to Move To.(Center of Panda_Move <gen>)
    -------- NOW SKIPPABLE --------
    Set VariableSet Panda_Skip = True
    Trigger - Turn on Panda_Skip <gen>
    Wait 2 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxPanda03 for Player1 over 6.00 seconds
    Camera - .Apply. gg_cam_xxxPanda03 for Player2 over 6.00 seconds
    Camera - Sway the camera target for Player1 with magnitude 20.00 and velocity 1000.00
    Camera - Sway the camera target for Player2 with magnitude 20.00 and velocity 1000.00
    Sound - Play Step3 <gen>
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    Unit - Order PandaVictim to Stop.
    Unit - Make PandaVictim face (Center of Panda_Move <gen>) over 1.50 seconds
    Wait 1.25 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Sway the camera target for Player1 with magnitude 20.00 and velocity 1000.00
    Camera - Sway the camera target for Player2 with magnitude 20.00 and velocity 1000.00
    Sound - Play Step4 <gen>
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    Wait 1.25 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Sway the camera target for Player1 with magnitude 20.00 and velocity 1000.00
    Camera - Sway the camera target for Player2 with magnitude 20.00 and velocity 1000.00
    Sound - Play Step3 <gen>
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    Wait 1.25 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxPanda03 for Player1 over 1.00 seconds
    Camera - .Apply. gg_cam_xxxPanda03 for Player2 over 1.00 seconds
    Unit - Make Panda face (Center of Panda_Face <gen>) over 1.00 seconds
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Attach WendigoWhat3 <gen> to The Largest Panda Ever 0055 <gen>
    Sound - Play WendigoWhat3 <gen>
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Set VariableSet Panda_Skip = False
    Trigger - Turn off Panda_Skip <gen>
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.50 seconds
    Player - Enable Shadow Meld for Player1
    Player - Enable Shadow Meld for Player2
    If ((Unit-type of PandaVictim) Equal to Dryad) then do (Attach DryadPissed2 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Dryad) then do (Play DryadPissed2 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Huntress) then do (Attach HuntressYesAttack5 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Huntress) then do (Play HuntressYesAttack5 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Archer) then do (Attach ArcherYesAttack3 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Archer) then do (Play ArcherYesAttack3 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Druid of the Talon (Night Elf Form)) then do (Attach DruidOfTheTalonPissed7 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Druid of the Talon (Night Elf Form)) then do (Play DruidOfTheTalonPissed7 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Priestess of the Moon) then do (Attach TyrandePissed3 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Priestess of the Moon) then do (Play TyrandePissed3 <gen>) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Keeper of the Grove) then do (Attach FurionPissed4 <gen> to PandaVictim) else do (Do nothing)
    If ((Unit-type of PandaVictim) Equal to Keeper of the Grove) then do (Play FurionPissed4 <gen>) else do (Do nothing)
    Unit - Order Panda to Attack-Move To.(Center of Panda_Face <gen>)
    Unit Group - Pick every unit in PandaHideGroup and do (Unhide (Picked unit))
    Unit - Unpause all units
    Trigger - Run Bears_Asleep <gen> (checking conditions)
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Camera - Pan camera for Player1 to CameraPoint over 0 seconds
    Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Selection - Select Selection for Player1
    Selection - Select Selection2 for Player2
    Unit - Set PandaVictim movement speed to (Default movement speed of PandaVictim)
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Item Dropped
  Events
    Unit - A unit Loses an item
  Conditions
    Or - Any (Conditions) are true
      Conditions
        And - All (Conditions) are true
          Conditions
            (Triggering unit) Equal to Furion
            ((Last dropped item) is in Region_315 <gen>) Equal to True
        And - All (Conditions) are true
          Conditions
            (Triggering unit) Equal to Tyrande
            ((Last dropped item) is in Item_Dropped_Furion <gen>) Equal to True
  Actions
    Item - Move (Last dropped item) to (Position of (Triggering unit))
    Unit - Order (Triggering unit) to Right-Click.(Last dropped item)
Gate Cinematic
  Events
    Unit - A unit enters TriggerGate <gen>
  Conditions
    ((Entering unit) Equal to Furion) or ((Entering unit) Equal to Tyrande)
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet GateClosedBoolean = True
    Trigger - Add Gate_Cinematic_Que <gen> to the trigger queue (Checking conditions)
Gate Cin Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Gate_Cin_Skip = False
    -------- Furion's Group --------
    Unit Group - Pick every unit in FurionGroup and do (Remove (Picked unit) from the game)
    Unit - Move Furion instantly to (Center of AfterGateFurion <gen>)
    Unit - Make Furion face 180.00 over 0 seconds
    Animation - Reset Furion's body-part facing
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of AfterGateDruid01 <gen>) facing 180.00 degrees
    Set VariableSet DruidofTalon01 = (Last created unit)
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of AfterGateDruid02 <gen>) facing 180.00 degrees
    Set VariableSet DruidofTalon02 = (Last created unit)
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad01 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad03 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Set VariableSet TempUnit1 = DruidofTalon01
    Set VariableSet TempUnit2 = DruidofTalon02
    -------- Tyrande's Group --------
    Unit Group - Pick every unit in TyrandeGroup and do (Remove (Picked unit) from the game)
    Unit - Create 1.Huntress for Player1 at (Center of AfterGateHuntress01 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit Group - Add (Last created unit) to TyrandeGroup2
    Unit - Create 1.Huntress for Player1 at (Center of AfterGateHuntress02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit Group - Add (Last created unit) to TyrandeGroup2
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher01 <gen>) facing 180.00 degrees
    Set VariableSet TyrandeArcher01 = (Last created unit)
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher03 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Move Tyrande instantly to (Center of AfterGateTyrande <gen>)
    Unit - Make Tyrande face 180.00 over 0 seconds
    -------- End Cinematic --------
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Cinematic - Turn cinematic mode Off for AAAPG_NightElves
    Destructible - Close Elven Gate 0016 <gen>
    Sound - Play LargeCityGateOpen1 <gen>
    Player - Enable Shadow Meld for Player1
    Unit - Unpause all units
    Trigger - Run Start <gen> (checking conditions)
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Replace Quests --------
    Quest - Destroy QuestDruids
    Quest - Destroy QuestIllidan
    Quest - Create a Required quest titled Awaken Druids with the description The Druids of the Claw have been asleep in the depths of these caverns for thousands of years. They must be found and awakened if the darkness spreading aboveground is to be defeated., using icon path ReplaceableTextures\CommandButtons\BTNDruidOfTheClaw.tga
    Set VariableSet QuestDruids = (Last created quest)
    Quest - Create a quest requirement for QuestDruids with the description Discover the location of the Barrow Deeps
    Set VariableSet QuestDruidsReqDens = (Last created quest requirement)
    Quest - Create a quest requirement for QuestDruids with the description Furion Stormrage must survive
    Set VariableSet QuestDruidsReqFurion = (Last created quest requirement)
    Quest - Create a Required quest titled Free Illidan with the description Though Illidan's release could prove costly, his aid against the Demons would be invaluable. You must plumb the depths of his ancient prison and release him before all is lost., using icon path ReplaceableTextures\CommandButtons\BTNHeroDemonHunter.tga
    Set VariableSet QuestIllidan = (Last created quest)
    Quest - Create a quest requirement for QuestIllidan with the description Locate Illidan's prison
    Set VariableSet QuestIllidanReqLocate = (Last created quest requirement)
    Quest - Create a quest requirement for QuestIllidan with the description Tyrande Whisperwind must survive
    Set VariableSet QuestIllidanReqTyrande = (Last created quest requirement)
    Quest - Display to Player Group - Player 2 (Blue) the Quest Discovered message: |cffffcc00MAIN QUEST|rFree Illidan - Locate Illidan's prison - Tyrande Whisperwind must survive
    Quest - Display to Player Group - Player 11 (Dark Green) the Quest Discovered message: |cffffcc00MAIN QUEST|rAwaken Druids - Discover the location of the Barrow Deeps - Furion Stromrage must survive
    Wait 5.00 seconds
    Trigger - Remove Gate_Cinematic_Que <gen> from the trigger queue
    -------- Quest Message --------
Gate Cinematic Que
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Set VariableSet VoteSkipFinal = False
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode On for AAAPG_NightElves
    Player - Disable Shadow Meld for Player1
    Selection - Clear selection
    If ((Tyrande has EmptyBowl) Equal to True) then do (Give EmptyBowl to Furion) else do (Do nothing)
    If ((Tyrande has FullBowl) Equal to True) then do (Give FullBowl to Furion) else do (Do nothing)
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Move (Picked unit) instantly to (Random point in GateTroops01 <gen>))
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Order (Picked unit) to Stop.)
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Make (Picked unit) face 270.00 over 0 seconds)
    Unit - Pause all units
    Unit - Move Furion instantly to (Center of GateFurion01 <gen>)
    Unit - Unpause Furion
    Unit - Move Tyrande instantly to (Center of GateTyrande01 <gen>)
    Unit - Unpause Tyrande
    Camera - .Apply. gg_cam_xxxGate_shot_1 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_1 for Player2 over 0 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Play Dark Agents.
    Wait 0.50 seconds
    -------- NOW SKIPPABLE --------
    Set VariableSet Gate_Cin_Skip = True
    Trigger - Turn on Gate_Cin_Skip <gen>
    Unit - Order Furion to Move To.(Center of GateFurion02 <gen>)
    Unit - Order Tyrande to Move To.(Center of GateTyrande02 <gen>)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande24 <gen> and display The pathway cuts off to the south, but this doorway looks promising. . Modify duration: Add 0 seconds and Don't wait
    Wait for N05Tyrande24 <gen> to be 0.00 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxGate_shot_2a for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_2a for Player2 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_2b for Player1 over (Length of N05Furion25 <gen>) seconds
    Camera - .Apply. gg_cam_xxxGate_shot_2b for Player2 over (Length of N05Furion25 <gen>) seconds
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion25 <gen> and display Oh, no. How could I have forgotten?. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxGate_shot_3 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_3 for Player2 over 0 seconds
    Unit - Order Furion to Move To.(Center of GateFurion03 <gen>)
    Unit - Order Tyrande to Move To.(Center of GateTyrande03 <gen>)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande26 <gen> and display What is behind this door that worries you, my love?. Modify duration: Add 0 seconds and Don't wait
    Wait for N05Tyrande26 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion27 <gen> and display This door leads to Illidan's prison, Tyrande. We should go... now!. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxGate_shot4b for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot4b for Player2 over 0 seconds
    Unit - Make Tyrande face 220.00 over 0.50 seconds
    Animation - Lock Tyrande's Head to face Furion, offset by (0, 0, 90)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande28 <gen> and display Illidan? It's been ten thousand years! Could he still be alive? We should free him, Furion! He would be the perfect ally against the undead and their demon masters!. Modify duration: Add 0 seconds and Don't wait
    Unit - Make Furion face Tyrande over 0.30 seconds
    Wait for N05Tyrande28 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Tyrande's body-part facing
    Unit - Order Tyrande to Move To.(Center of Gate_Trande_middle <gen>)
    Unit - Make Furion face Tyrande over 0.30 seconds
    Camera - .Apply. gg_cam_xxxGate_shot4a for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot4a for Player2 over 0 seconds
    Wait 0.70 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion29 <gen> and display No, Tyrande! That beast must never be set free!. Modify duration: Add 0 seconds and Don't wait
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Tyrande to Stop.
    Unit - Make Tyrande face 250.00 over 0.20 seconds
    Animation - Lock Tyrande's Head to face Furion, offset by (0, 0, 90)
    Unit - Make Furion face Tyrande over 0.30 seconds
    Wait for N05Furion29 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Tyrande face Furion over 0.50 seconds
    Unit - Make Furion face Tyrande over 0.30 seconds
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande30 <gen> and display But he is your brother!. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_xxxGate_shot_5 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_5 for Player2 over 0 seconds
    Unit - Order Furion to Move To.(Center of Gate_Furion_End <gen>)
    Unit - Make Tyrande face (Center of Gate_Furion_End <gen>) over 0.50 seconds
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion31 <gen> and display Be that as it may, he is far too... dangerous. I forbid it.. Modify duration: Add 0 seconds and Don't wait
    Animation - Lock Furion's Head to face Tyrande, offset by (0, 0, 90)
    Wait ((Length of N05Furion31 <gen>) x 0.50) seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Furion face Tyrande over 0.30 seconds
    Wait for N05Furion31 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Tyrande's body-part facing
    Unit - Order Tyrande to Move To.(Center of Gate_Trande_End <gen>)
    Unit - Make Furion face Tyrande over 0.30 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_6 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_xxxGate_shot_6 for Player2 over 0 seconds
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play BattleNetDoorsStereo2 <gen>
    Destructible - Open Elven Gate 0016 <gen>
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande32 <gen> and display Only the goddess may forbid me anything. I will free Illidan whether you like it or not.. Modify duration: Add 0 seconds and Don't wait
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Tyrande to Stop.
    Unit - Make Tyrande face 230.00 over 0.20 seconds
    Animation - Lock Tyrande's Head to face Furion, offset by (0, 0, 90)
    Wait 0.30 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for N05Tyrande32 <gen> to be 0 seconds from finished playing
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Tyrande's body-part facing
    Unit - Order Tyrande to Move To.(Center of AfterGateTyrande <gen>)
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Hide Tyrande
    Destructible - Close Elven Gate 0016 <gen>
    Sound - Play LargeCityGateOpen1 <gen>
    Camera - .Apply. gg_cam_xxxGate_Shot_NoReturn for Player1 over (1 + (Length of N05Furion33 <gen>)) seconds
    Camera - .Apply. gg_cam_xxxGate_Shot_NoReturn for Player2 over (1 + (Length of N05Furion33 <gen>)) seconds
    Unit - Order Furion to Move To.(Center of AfterGateDryad02 <gen>)
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Furion named Furion Stormrage: Play N05Furion33 <gen> and display My powers cannot open the door. Though it grieves me to leave her, I must press on.. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Resurrect Pathing Blocker (Ground) 3964 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3965 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3966 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3967 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3968 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3969 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3970 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3971 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3972 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3973 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3974 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3975 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3976 <gen> with 1.00 life and Hide birth animation
    Destructible - Resurrect Pathing Blocker (Ground) 3977 <gen> with 1.00 life and Hide birth animation
    Camera - .Apply. gg_cam_TyrandeENTERSB for Player1 over 0 seconds
    Camera - .Apply. gg_cam_TyrandeENTERSB for Player2 over 0 seconds
    Camera - .Apply. gg_cam_TyrandeENTERSA for Player1 over ((Length of N05Tyrande34 <gen>) + 1) seconds
    Camera - .Apply. gg_cam_TyrandeENTERSA for Player2 over ((Length of N05Tyrande34 <gen>) + 1) seconds
    Unit Group - Pick every unit in TyrandeGroup and do (Unhide (Picked unit))
    Unit - Unhide Tyrande
    Unit Group - Pick every unit in TyrandeGroup and do (Remove (Picked unit) from the game)
    Unit - Create 1.Huntress for Player1 at (Center of AfterGateHuntress01 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit Group - Add (Last created unit) to TyrandeGroup2
    Unit - Create 1.Huntress for Player1 at (Center of AfterGateHuntress02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit Group - Add (Last created unit) to TyrandeGroup2
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher01 <gen>) facing 180.00 degrees
    Set VariableSet TyrandeArcher01 = (Last created unit)
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Create 1.Archer for Player1 at (Center of AfterGateArcher03 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to TyrandeGroup
    Unit - Move Tyrande instantly to (Center of AfterGateTyrande <gen>)
    Unit - Make Tyrande face 180.00 over 0 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 (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande34 <gen> and display I cannot go back. Goddess grant that Furion was wrong.. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_TyrandeENTERSC for Player1 over 0 seconds
    Camera - .Apply. gg_cam_TyrandeENTERSC for Player2 over 0 seconds
    Cinematic - Send transmission to AAAPG_NightElves from ElderWatcherC named Elder Watcher: Play N05Watcher36 <gen> and display Your quest is foolhardy! Even your goddess has condemned the one you seek to free!. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- NO LONGER SKIPPABLE --------
    Set VariableSet Gate_Cin_Skip = False
    Trigger - Turn off Gate_Cin_Skip <gen>
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Before Fade In --------
    -------- Furion's Group --------
    Unit Group - Pick every unit in FurionGroup and do (Remove (Picked unit) from the game)
    Unit - Move Furion instantly to (Center of AfterGateFurion <gen>)
    Unit - Make Furion face 180.00 over 0 seconds
    Animation - Reset Furion's body-part facing
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of AfterGateDruid01 <gen>) facing 180.00 degrees
    Set VariableSet DruidofTalon01 = (Last created unit)
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Druid of the Talon (Night Elf Form) for Player2 at (Center of AfterGateDruid02 <gen>) facing 180.00 degrees
    Set VariableSet DruidofTalon02 = (Last created unit)
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad01 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad02 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Unit - Create 1.Dryad for Player2 at (Center of AfterGateDryad03 <gen>) facing 180.00 degrees
    Unit Group - Add (Last created unit) to FurionGroup
    Unit - Set mana of (Last created unit) to 100%
    Set VariableSet TempUnit1 = DruidofTalon01
    Set VariableSet TempUnit2 = DruidofTalon02
    -------- End Cinematic --------
    Camera - Reset camera for Player1 to standard game-view over 0 seconds
    Camera - Reset camera for Player2 to standard game-view over 0 seconds
    Cinematic - Turn cinematic mode Off for AAAPG_NightElves
    Player - Enable Shadow Meld for Player1
    Unit - Unpause all units
    Trigger - Run Start <gen> (checking conditions)
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Replace Quests --------
    Quest - Destroy QuestDruids
    Quest - Destroy QuestIllidan
    Quest - Create a Required quest titled Awaken Druids with the description The Druids of the Claw have been asleep in the depths of these caverns for thousands of years. They must be found and awakened if the darkness spreading aboveground is to be defeated., using icon path ReplaceableTextures\CommandButtons\BTNDruidOfTheClaw.tga
    Set VariableSet QuestDruids = (Last created quest)
    Quest - Create a quest requirement for QuestDruids with the description Discover the location of the Barrow Deeps
    Set VariableSet QuestDruidsReqDens = (Last created quest requirement)
    Quest - Create a quest requirement for QuestDruids with the description Furion Stormrage must survive
    Set VariableSet QuestDruidsReqFurion = (Last created quest requirement)
    Quest - Create a Required quest titled Free Illidan with the description Though Illidan's release could prove costly, his aid against the Demons would be invaluable. You must plumb the depths of his ancient prison and release him before all is lost., using icon path ReplaceableTextures\CommandButtons\BTNHeroDemonHunter.tga
    Set VariableSet QuestIllidan = (Last created quest)
    Quest - Create a quest requirement for QuestIllidan with the description Locate Illidan's prison
    Set VariableSet QuestIllidanReqLocate = (Last created quest requirement)
    Quest - Create a quest requirement for QuestIllidan with the description Tyrande Whisperwind must survive
    Set VariableSet QuestIllidanReqTyrande = (Last created quest requirement)
    Wait 5.00 seconds
    Trigger - Remove (This trigger) from the trigger queue
Start
  Events
  Conditions
  Actions
    Wait Campaign quest delay seconds
    Unit - Order Watcher 0141 <gen> to Attack-Move To.(Center of InitialWatcherGroup01 <gen>)
    Unit - Order ElderWardenA to Attack-Move To.(Center of InitialWatcherGroup02 <gen>)
    Unit - Order ElderWardenB to Attack-Move To.(Center of InitialWatcherGroup03 <gen>)
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of InitialWatcherGroup <gen>) to a radius of 512.
    Set VariableSet VisibilityInitialWatchers = (Last created visibility modifier)
    Unit - Unpause all units
    Wait 1.50 seconds
    Visibility - Destroy VisibilityInitialWatchers
    Camera - Pan camera for Player1 to (Center of AfterGateTyrande <gen>) over 0 seconds
    Camera - Pan camera for Player2 to (Center of AfterGateFurion <gen>) over 0 seconds
    Selection - Select Tyrande for Player1
    Selection - Select Furion for Player2
    Unit Group - Pick every unit in FurionGroup and do (Add (Picked unit) to selection for Player2)
No Furbolgs Here
  Events
    Unit - A unit enters Region_315 <gen>
    Unit - A unit owned by Player 2 (Blue).Spawns a summoned unit
    Unit - A unit Spawns a summoned unit
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Triggering player) Equal to Player1
        (Triggering player) Equal to Player2
    FurionVictory Equal to False
    (((Entering unit) is Summoned) Equal to True) or ((Region_315 <gen> contains (Summoned unit)) Equal to True)
  Actions
    Unit - Explode (Triggering unit).
Crate01
  Events
    Destructible - Crates 1238 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Rat for Neutral Passive at (Center of Crate01 <gen>) facing 270.00 degrees
Crate03
  Events
    Destructible - Crates 1234 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of Crate03 <gen>) facing 225.00 degrees
    Set VariableSet Skeleton01 = (Last created unit)
Crate04
  Events
    Destructible - Crates 1236 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Unit - Create 1.Rat for Neutral Passive at (Center of Crate04 <gen>) facing 270.00 degrees
Crate06
  Events
    Destructible - Crates 0339 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Item - Create Healing Wards at (Center of Crate06 <gen>)
    Set VariableSet BonusesFound = (BonusesFound + 1)
AI Ignore Watchers
  Events
    Map initialization
  Conditions
  Actions
    AI - Ignore Watcher 0153 <gen>'s guard position
    AI - Ignore Watcher 0210 <gen>'s guard position
    AI - Ignore Watcher 0163 <gen>'s guard position
    AI - Ignore Watcher 0164 <gen>'s guard position
    AI - Ignore Watcher 0096 <gen>'s guard position
OwlPatrols Begin
  Events
    Time - Every 5.00 seconds of game time
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Unit - Order (Random unit from (Units in Patrol01E <gen> matching (((Owner of (Matching unit)) Equal to P_Watchers) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in OwlbearDooDooUnitGroup.) Equal to True))))) to Move To.(Center of Patrol01A <gen>)
    Unit - Order (Random unit from (Units in Patrol01D <gen> matching (((Owner of (Matching unit)) Equal to P_Watchers) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in OwlbearDooDooUnitGroup.) Equal to True))))) to Move To.(Center of Patrol01E <gen>)
    Unit - Order (Random unit from (Units in Patrol01C <gen> matching (((Owner of (Matching unit)) Equal to P_Watchers) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in OwlbearDooDooUnitGroup.) Equal to True))))) to Move To.(Center of Patrol01D <gen>)
    Unit - Order (Random unit from (Units in Patrol01B <gen> matching (((Owner of (Matching unit)) Equal to P_Watchers) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in OwlbearDooDooUnitGroup.) Equal to True))))) to Move To.(Center of Patrol01C <gen>)
    Unit - Order (Random unit from (Units in Patrol01A <gen> matching (((Owner of (Matching unit)) Equal to P_Watchers) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is in OwlbearDooDooUnitGroup.) Equal to True))))) to Move To.(Center of Patrol01B <gen>)
OwlPatrol01A Enter
  Events
    Unit - A unit enters Patrol01A <gen>
  Conditions
    OwlDooDoo01Boolean Equal to False
    ((Entering unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo01Boolean = True
    Unit - Order (Entering unit) to Attack-Move To.(Center of Patrol01B <gen>)
OwlPatrol01A Leave
  Events
    Unit - A unit leaves Patrol01A <gen>
  Conditions
    OwlDooDoo01Boolean Equal to True
    ((Leaving unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo01Boolean = False
OwlPatrol01B Enter
  Events
    Unit - A unit enters Patrol01B <gen>
  Conditions
    OwlDooDoo02Boolean Equal to False
    ((Entering unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo02Boolean = True
    Unit - Order (Entering unit) to Attack-Move To.(Center of Patrol01C <gen>)
OwlPatrol01B Leave
  Events
    Unit - A unit leaves Patrol01B <gen>
  Conditions
    OwlDooDoo02Boolean Equal to True
    ((Leaving unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo02Boolean = False
OwlPatrol01C Enter
  Events
    Unit - A unit enters Patrol01C <gen>
  Conditions
    OwlDooDoo03Boolean Equal to False
    ((Entering unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo03Boolean = True
    Unit - Order (Entering unit) to Attack-Move To.(Center of Patrol01D <gen>)
OwlPatrol01C Leave
  Events
    Unit - A unit leaves Patrol01C <gen>
  Conditions
    OwlDooDoo03Boolean Equal to True
    ((Leaving unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo03Boolean = False
OwlPatrol01D Enter
  Events
    Unit - A unit enters Patrol01D <gen>
  Conditions
    OwlDooDoo04Boolean Equal to False
    ((Entering unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo04Boolean = True
    Unit - Order (Entering unit) to Attack-Move To.(Center of Patrol01E <gen>)
OwlPatrol01D Leave
  Events
    Unit - A unit leaves Patrol01D <gen>
  Conditions
    OwlDooDoo04Boolean Equal to True
    ((Leaving unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo04Boolean = False
OwlPatrol01E Enter
  Events
    Unit - A unit enters Patrol01E <gen>
  Conditions
    OwlDooDoo05Boolean Equal to False
    ((Entering unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo05Boolean = True
    Unit - Order (Entering unit) to Attack-Move To.(Center of Patrol01A <gen>)
OwlPatrol01E Leave
  Events
    Unit - A unit leaves Patrol01E <gen>
  Conditions
    OwlDooDoo05Boolean Equal to True
    ((Leaving unit) is in OwlbearDooDooUnitGroup.) Equal to True
  Actions
    Set VariableSet OwlDooDoo05Boolean = False
Owlbears Attack Player
  Events
    Unit - A unit enters OwlBears_Attack_Trig <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Unit - Order (Random unit from (Units in Owlbear_Attacker01 <gen> owned by P_Watchers)) to Attack-Move To.(Position of (Entering unit))
    Unit - Order (Random unit from (Units in Owlbear_Attacker02 <gen> owned by P_Watchers)) to Attack-Move To.(Position of (Entering unit))
SpawnLibraryGolem
  Events
    Unit - A unit enters TriggerSpawnGolem01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Unit - Create 1.Stone Guardian for P_Watchers at (Center of SpawnGolem01 <gen>) facing 90.00 degrees
    Set VariableSet Golem01 = (Last created unit)
    Sound - Attach RockGolemYesAttack2 <gen> to Golem01
    Sound - Play RockGolemYesAttack2 <gen>
    Unit - Pause Golem01
    Animation - Play Golem01's birth (animationname) animation
    Camera - Set a spacebar-point for Player1 at (Center of SpawnGolem01 <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of SpawnGolem01 <gen>) for 1 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of SpawnGolem01 <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of SpawnGolem01 <gen>) for 1 seconds
      Else - Actions
    Wait 1.00 seconds
    Unit - Unpause Golem01
OwlbearCharge
  Events
    Unit - A unit enters TriggerOwlbearCharge <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Unit - Grant shared vision of ChargingOwlbear to Player1
    Camera - Pan camera for Player1 to (Center of ChargingOwlbearPan <gen>) over 0.50 seconds
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of ChargingOwlbearPan <gen>) for 1 seconds
    Camera - Set a spacebar-point for Player1 at (Center of ChargingOwlbearPan <gen>)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Pan camera for Player2 to (Center of ChargingOwlbearPan <gen>) over 0.50 seconds
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of ChargingOwlbearPan <gen>) for 1 seconds
        Camera - Set a spacebar-point for Player2 at (Center of ChargingOwlbearPan <gen>)
      Else - Actions
    Wait 0.25 seconds
    Animation - Play ChargingOwlbear's Attack Spell Slam (animationname) animation
    Sound - Play OwlbearScream01
    Wait 1.25 seconds
    Animation - Reset ChargingOwlbear's animation
    Unit - Turn collision for ChargingOwlbear Off.
    Unit - Order ChargingOwlbear to Attack-Move To.(Center of TriggerOwlbearCharge <gen>)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Cinematic - Send transmission to AAAPG_NightElves from ChargingOwlbear named Watcher: Play N05Watcher38 <gen> and display Death to the intruders!. Modify duration: Add 0 seconds and Wait
      Else - Actions
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from ChargingOwlbear named Watcher: Play N05Watcher38 <gen> and display Death to the intruders!. Modify duration: Add 0 seconds and Wait
    Unit - Turn collision for ChargingOwlbear On.
SmashCrates01
  Events
    Unit - A unit enters TriggerSmashCrates01 <gen>
  Conditions
    (Entering unit) Equal to ChargingOwlbear
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Kill Crates 1390 <gen>
    Destructible - Kill Crates 1393 <gen>
    Sound - Play CrateSmashingSound01
    Wait 0.10 seconds
    Destructible - Kill Crates 1392 <gen>
    Sound - Play CrateSmashingSound02
CreateSleepers
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Unit - Pause Sleeper01
    Unit - Pause Sleeper02
    Unit - Pause Sleeper03
    Animation - Play Sleeper01's death (animationname) animation
    Animation - Play Sleeper02's death (animationname) animation
    Animation - Play Sleeper03's death (animationname) animation
    Unit - Turn collision for Sleeper01 Off.
    Unit - Turn collision for Sleeper02 Off.
    Unit - Turn collision for Sleeper03 Off.
    Unit - Move Sleeper01 instantly to (Center of Sleeper01 <gen>)
    Unit - Move Sleeper02 instantly to (Center of Sleeper02 <gen>)
    Unit - Move Sleeper03 instantly to (Center of Sleeper03 <gen>)
    Special Effect - Create a special effect attached to the overhead (attachpoint) of Sleeper01 using Abilities\Spells\Other\CreepSleep\CreepSleepTarget.mdl
    Set VariableSet Sleep01 = (Last created special effect)
    Special Effect - Create a special effect attached to the overhead (attachpoint) of Sleeper02 using Abilities\Spells\Other\CreepSleep\CreepSleepTarget.mdl
    Set VariableSet Sleep02 = (Last created special effect)
    Special Effect - Create a special effect attached to the overhead (attachpoint) of Sleeper03 using Abilities\Spells\Other\CreepSleep\CreepSleepTarget.mdl
    Set VariableSet Sleep03 = (Last created special effect)
    Sound - Play SleepSound01
    Wait 0.10 seconds
    Sound - Play SleepSound02
    Wait 0.30 seconds
    Sound - Play SleepSound03
SleepersTakeDamage
  Events
    Unit - Sentry 0156 <gen> Takes damage
    Unit - Sentry 0095 <gen> Takes damage
    Unit - Sentry 0142 <gen> Takes damage
    Destructible - Crates 1828 <gen> dies
    Destructible - Crates 1826 <gen> dies
    Destructible - Crates 1827 <gen> dies
    Destructible - Crates 1825 <gen> dies
    Destructible - Dungeon Gate 0272 <gen> dies
  Conditions
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Wake Up Sleeper01 --------
    Special Effect - Destroy Sleep01
    Sound - Stop SleepSound01 After fading
    Unit - Move Sleeper01 instantly to (Center of Sleeper01A <gen>)
    Unit - Unpause Sleeper01
    Animation - Reset Sleeper01's animation
    Unit - Turn collision for Sleeper01 On.
    Unit - Change ownership of Sleeper01 to P_Watchers and Change color
    -------- Wake Up Sleeper03 --------
    Wait 0.05 seconds
    Special Effect - Destroy Sleep03
    Sound - Stop SleepSound03 After fading
    Unit - Move Sleeper03 instantly to (Center of Sleeper03A_Copy <gen>)
    Unit - Unpause Sleeper03
    Animation - Reset Sleeper03's animation
    Unit - Turn collision for Sleeper03 On.
    Unit - Change ownership of Sleeper03 to P_Watchers and Change color
    -------- Wake Up Sleeper02 --------
    Wait 0.10 seconds
    Special Effect - Destroy Sleep02
    Sound - Stop SleepSound02 After fading
    Unit - Move Sleeper02 instantly to (Center of Sleeper02A <gen>)
    Unit - Unpause Sleeper02
    Animation - Reset Sleeper02's animation
    Unit - Turn collision for Sleeper02 On.
    Unit - Change ownership of Sleeper02 to P_Watchers and Change color
    -------- Speech --------
    Sound - Play AwakenSound01
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of Sleeper01A <gen>) for 1 seconds
    Camera - Set a spacebar-point for Player1 at (Center of Sleeper01A <gen>)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of Sleeper01A <gen>) for 1 seconds
        Camera - Set a spacebar-point for Player2 at (Center of Sleeper01A <gen>)
      Else - Actions
Reveal Sleepers
  Events
    Unit - A unit enters TriggerRevealSleepers <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    SleeperVisBoolean Equal to False
  Actions
    Set VariableSet SleeperVisBoolean = True
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility across TriggerRevealSleepers <gen>
    Set VariableSet VisibilitySleepers = (Last created visibility modifier)
Unreveal Sleepers
  Events
    Unit - A unit leaves TriggerRevealSleepers <gen>
    Unit - A unit owned by Player 2 (Blue).Dies
  Conditions
    SleeperVisBoolean Equal to True
    (Number of units in (Units in TriggerRevealSleepers <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player1)))) Equal to 0
  Actions
    Set VariableSet SleeperVisBoolean = False
    Visibility - Destroy VisibilitySleepers
GlaiveUpgrade
  Events
    Unit - A unit enters TriggerGlaiveUpgrade <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    (All units of TyrandeGroup2 are dead) Equal to False
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Camera - Set a spacebar-point for Player1 at (Center of TriggerGlaiveUpgrade <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of TriggerGlaiveUpgrade <gen>) for 4.00 seconds
    Sound - Setup all volume channels for speech
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of TriggerGlaiveUpgrade <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of TriggerGlaiveUpgrade <gen>) for 4.00 seconds
        Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande44 <gen> and display A cache of the Watchers' weapons! These should help us considerably!. Modify duration: Add 0 seconds and Wait
      Else - Actions
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from Tyrande named Tyrande Whisperwind: Play N05Tyrande44 <gen> and display A cache of the Watchers' weapons! These should help us considerably!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Wait 2 seconds
    Player - Enable Moon Glaive for Player1
    Player - Set the max research level of Remg (techcode) to 1 for Player1
    Player - Set the current research level of Remg (techcode) to 1 for Player1
    Quest - Display to (All players) the Hint message: |cff32CD32HINT|r - Your Huntresses have acquired magical Glaives. Their attacks will now ricochet between multiple targets.
Skeleton Ambush
  Events
    Unit - A unit enters TriggerSpawnSkeletons02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Skeleton 04 --------
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of SpawnSkeleton04 <gen>) facing 45.00 degrees
    Set VariableSet Skeleton04 = (Last created unit)
    Unit - Pause Skeleton04
    Animation - Play Skeleton04's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound01 to Skeleton04
    Sound - Play SpawnSkeletonSound01
    Wait 0.05 seconds
    -------- Skeleton 05 --------
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of SpawnSkeleton05 <gen>) facing 135.00 degrees
    Set VariableSet Skeleton05 = (Last created unit)
    Unit - Pause Skeleton05
    Animation - Play Skeleton05's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound02 to Skeleton05
    Sound - Play SpawnSkeletonSound02
    Wait 0.15 seconds
    -------- Skeleton 06 --------
    Unit - Create 1.Burning Archer for Neutral Hostile at (Center of SpawnSkeleton06 <gen>) facing 45.00 degrees
    Set VariableSet Skeleton06 = (Last created unit)
    Unit - Pause Skeleton06
    Animation - Play Skeleton06's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound03 to Skeleton06
    Sound - Play SpawnSkeletonSound03
    Wait 0.10 seconds
    -------- Skeleton 07 --------
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of SpawnSkeleton07 <gen>) facing 90.00 degrees
    Set VariableSet Skeleton07 = (Last created unit)
    Unit - Pause Skeleton07
    Animation - Play Skeleton07's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound04 to Skeleton07
    Sound - Play SpawnSkeletonSound04
    -------- Unpause Skeletons --------
    Wait 1.00 seconds
    Unit - Unpause Skeleton04
    Unit - Unpause Skeleton05
    Unit - Unpause Skeleton06
    Unit - Unpause Skeleton07
Treant Guard
  Events
    Unit - A unit enters TriggerTreants <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run Treants <gen> (checking conditions)
    Unit - Create 1.Keeper of the Grove for Player 1 (Red) at (Center of TreantMaker01 <gen>) facing Default building facing degrees
    Set VariableSet TreantMaker01 = (Last created unit)
    Unit - Hide (Last created unit)
    Hero - Set (Last created unit) Hero-level to 3, Hide level-up graphics
    Hero - Learn skill for (Last created unit): Night Elf Keeper Of The Grove - Force Of Nature
    Hero - Learn skill for (Last created unit): Night Elf Keeper Of The Grove - Force Of Nature
    Unit - Set mana of (Last created unit) to 100%
    Unit - Order (Last created unit) to Night Elf Keeper Of The Grove - Force Of Nature.(Center of TreantMaker01 <gen>)
    Unit - Create 1.Keeper of the Grove for Player 1 (Red) at (Center of TreantMaker02 <gen>) facing Default building facing degrees
    Set VariableSet TreantMaker02 = (Last created unit)
    Unit - Hide (Last created unit)
    Hero - Set (Last created unit) Hero-level to 3, Hide level-up graphics
    Hero - Learn skill for (Last created unit): Night Elf Keeper Of The Grove - Force Of Nature
    Hero - Learn skill for (Last created unit): Night Elf Keeper Of The Grove - Force Of Nature
    Unit - Set mana of (Last created unit) to 100%
    Unit - Order (Last created unit) to Night Elf Keeper Of The Grove - Force Of Nature.(Center of TreantMaker02 <gen>)
    Wait 2 seconds
    Unit Group - Order (Units in TreantsAttackTyrande <gen> owned by Player 1 (Red)) to Attack-Move To.(Center of TreantDestination <gen>)
    Unit - Remove TreantMaker01 from the game
    Unit - Remove TreantMaker02 from the game
Treants
  Events
  Conditions
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Camera - Set a spacebar-point for Player1 at (Center of TreantPan <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of TreantPan <gen>) for 7.00 seconds
    Sound - Setup all volume channels for speech
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of TreantPan <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of TreantPan <gen>) for 7.00 seconds
        Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande47 <gen> and display The treants move to block my path! Only a powerful druid could command such creatures!. Modify duration: Add 0 seconds and Wait
      Else - Actions
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from Tyrande named Tyrande Whisperwind: Play N05Tyrande47 <gen> and display The treants move to block my path! Only a powerful druid could command such creatures!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
Gate Hint
  Events
    Unit - A unit enters TriggerGateHint01 <gen>
    Unit - A unit enters TriggerGateHint02 <gen>
    Unit - A unit enters TriggerGateHint03 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Quest - Display to AAAPG_NightElves the Simple Hint message: |cff32CD32HINT|r - Activate both Circles of Power to open this gate.
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of MiddleGate <gen>) to a radius of 384.00.
    Set VariableSet VisibilityGate = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of PressurePlate01 <gen>) to a radius of 384.00.
    Set VariableSet VisibilityPressurePlate01 = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player1 emitting Visibility from (Center of PressurePlate02 <gen>) to a radius of 384.00.
    Set VariableSet VisibilityPressurePlate02 = (Last created visibility modifier)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of PressurePlate01 <gen>) for 1 seconds
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of PressurePlate02 <gen>) for 1 seconds
    Camera - Set a spacebar-point for Player1 at (Center of PressurePlate01 <gen>)
    Camera - Set a spacebar-point for Player1 at (Center of PressurePlate02 <gen>)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of PressurePlate01 <gen>) for 1 seconds
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of PressurePlate02 <gen>) for 1 seconds
        Camera - Set a spacebar-point for Player2 at (Center of PressurePlate01 <gen>)
        Camera - Set a spacebar-point for Player2 at (Center of PressurePlate02 <gen>)
      Else - Actions
PressurePlate01
  Events
    Unit - A unit enters PressurePlate01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet PressurePlate01Activated = True
    Animation - Play the death (animationname) animation for all doodads of type XOmr (doodadcode) within PressurePlate01 <gen>.
    Sound - Play GoodJob <gen>
    Camera - Set a spacebar-point for Player1 at (Center of PressurePlate01 <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of PressurePlate01 <gen>) for 1 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of PressurePlate01 <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of PressurePlate01 <gen>) for 1 seconds
      Else - Actions
    Visibility - Disable VisibilityPressurePlate01
    Trigger - Run Open_Gate <gen> (checking conditions)
PressurePlate02
  Events
    Unit - A unit enters PressurePlate02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet PressurePlate02Activated = True
    Animation - Play the death (animationname) animation for all doodads of type XOmr (doodadcode) within PressurePlate02 <gen>.
    Sound - Play GoodJob <gen>
    Camera - Set a spacebar-point for Player1 at (Center of PressurePlate02 <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of PressurePlate02 <gen>) for 1 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of PressurePlate02 <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of PressurePlate02 <gen>) for 1 seconds
      Else - Actions
    Visibility - Disable VisibilityPressurePlate02
    Trigger - Run Open_Gate <gen> (checking conditions)
Open Gate
  Events
  Conditions
    PressurePlate01Activated Equal to True
    PressurePlate02Activated Equal to True
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Wait 1.00 seconds
    Destructible - Open Elven Gate 0181 <gen>
    Wait 1.00 seconds
    Camera - Set a spacebar-point for Player1 at (Center of MiddleGate <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of MiddleGate <gen>) for 1 seconds
    Quest - Display to Player Group - Player 2 (Blue) the Simple Hint message: |cff32CD32HINT|r - The gate has been opened.
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of MiddleGate <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of MiddleGate <gen>) for 1 seconds
        Quest - Display to Player Group - Player 11 (Dark Green) the Simple Hint message: |cff32CD32HINT|r - The gate has been opened.
      Else - Actions
DisableGateVision
  Events
    Unit - A unit enters TriggerDisableGateVision <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Visibility - Destroy VisibilityGate
Rescue01
  Events
    Unit - A unit enters TriggerRescue01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Unit - Rescue Huntress 0053 <gen> for Player1 and Change color
    Unit Group - Add Huntress 0053 <gen> to TyrandeGroup
    Unit Group - Add Huntress 0053 <gen> to TyrandeGroup2
    Unit - Rescue Archer 0051 <gen> for Player1 and Change color
    Unit Group - Add Archer 0051 <gen> to TyrandeGroup
    Unit - Rescue Archer 0052 <gen> for Player1 and Change color
    Unit Group - Add Archer 0052 <gen> to TyrandeGroup
    Camera - Set a spacebar-point for Player1 at (Center of Rescue01Pan <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of Rescue01Pan <gen>) for 1 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of Rescue01Pan <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of Rescue01Pan <gen>) for 1 seconds
      Else - Actions
Rescue02
  Events
    Unit - A unit enters TriggerRescue02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Unit - Rescue Huntress 0043 <gen> for Player1 and Change color
    Unit Group - Add Huntress 0043 <gen> to TyrandeGroup
    Unit Group - Add Huntress 0043 <gen> to TyrandeGroup2
    Unit - Rescue Archer 0059 <gen> for Player1 and Change color
    Unit Group - Add Archer 0059 <gen> to TyrandeGroup
    Unit - Rescue Loki 0061 <gen> for Player1 and Change color
    Unit Group - Add Loki 0061 <gen> to TyrandeGroup
    Camera - Set a spacebar-point for Player1 at (Center of Rescue02Pan <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of Rescue02Pan <gen>) for 1 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of Rescue02Pan <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of Rescue02Pan <gen>) for 1 seconds
      Else - Actions
Teleport Unit Uberfish
  Events
    Unit - A unit enters UBERFISH_Teleport <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Special Effect - Create a special effect at (Position of (Entering unit)) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Unit - Move (Entering unit) instantly to (Center of UBERFISH2 <gen>)
    Unit - Order (Entering unit) to Stop.
Teleport Unit Uberfish Out01
  Events
    Unit - A unit enters TeleFish_Out01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Special Effect - Create a special effect at (Position of (Entering unit)) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Unit - Move (Entering unit) instantly to (Center of TeleFish_Here <gen>)
    Unit - Order (Entering unit) to Stop.
Teleport Unit Uberfish Out02
  Events
    Unit - A unit enters TeleFish_Out02 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Special Effect - Create a special effect at (Position of (Entering unit)) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Unit - Move (Entering unit) instantly to (Center of TeleFish_Here <gen>)
    Unit - Order (Entering unit) to Stop.
UberFish
  Events
    Unit - A unit enters Tyrande_At_Uberfish <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    Quest - Display to AAAPG_NightElves the Secret message: |cff87ceebSECRET DISCOVERED|r - You have found the Shrine of the Uberfish.
    Set VariableSet SecretsFound = (SecretsFound + 1)
    Unit - Create 1.Jimmy the Seal for Neutral Passive at (Center of THE_UBERFISH <gen>) facing Default building facing degrees
    Set VariableSet JimmyTheNovaSeal = (Last created unit)
UberBelanova
  Events
    Unit - A unit owned by Neutral Passive.Dies
  Conditions
    (Killing unit) Equal to No unit
    (Dying unit) Equal to JimmyTheNovaSeal
    (JimmyTheNovaSeal is selected by Player1.) Equal to True
  Actions
    Unit - Create 1.Belanova for Player1 at (Center of THE_UBERFISH <gen>) facing 90.00 degrees
    Set VariableSet EXTRAStotal = (EXTRAStotal + 1)
Skeleton Prison Surprise
  Events
    Unit - A unit enters TriggerSpawnSkeletons01 <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Skeleton 01 --------
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of SpawnSkeleton01 <gen>) facing 45.00 degrees
    Set VariableSet Skeleton01 = (Last created unit)
    Unit - Pause Skeleton01
    Animation - Play Skeleton01's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound01 to Skeleton01
    Sound - Play SpawnSkeletonSound01
    Wait 0.05 seconds
    -------- Skeleton 02 --------
    Unit - Create 1.Skeleton Archer for Neutral Hostile at (Center of SpawnSkeleton02 <gen>) facing 135.00 degrees
    Set VariableSet Skeleton02 = (Last created unit)
    Unit - Pause Skeleton02
    Animation - Play Skeleton02's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound02 to Skeleton02
    Sound - Play SpawnSkeletonSound02
    Wait 0.15 seconds
    -------- Skeleton 03 --------
    Unit - Create 1.Burning Archer for Neutral Hostile at (Center of SpawnSkeleton03 <gen>) facing 45.00 degrees
    Set VariableSet Skeleton03 = (Last created unit)
    Unit - Pause Skeleton03
    Animation - Play Skeleton03's birth (animationname) animation
    Sound - Attach SpawnSkeletonSound03 to Skeleton03
    Sound - Play SpawnSkeletonSound03
    -------- Unpause Skeletons --------
    Wait 1.00 seconds
    Unit - Unpause Skeleton01
    Unit - Unpause Skeleton02
    Unit - Unpause Skeleton03
SpiderGroup Form
  Events
    Map initialization
  Conditions
  Actions
    Unit Group - Pick every unit in (Units in SpiderWeb <gen> owned by Neutral Hostile) and do (Add (Picked unit) to WebbingSpidersGroup)
    Unit Group - Pick every unit in (Units in SpiderWeb <gen> owned by P_Prisoners) and do (Add (Picked unit) to SpiderArcherGroup)
FX Webbed
  Events
    Map initialization
  Conditions
  Actions
    Animation - Play Archer 0145 <gen>'s stand hit (animationname) animation
    Animation - Play Archer 0146 <gen>'s stand hit (animationname) animation
    Animation - Play Archer 0148 <gen>'s stand hit (animationname) animation
    Special Effect - Create a special effect attached to the head (attachpoint) of Archer 0148 <gen> using Abilities\Spells\Undead\Web\WebTarget.mdl
    Set VariableSet Web03 = (Last created special effect)
    Special Effect - Create a special effect attached to the head (attachpoint) of Archer 0146 <gen> using Abilities\Spells\Undead\Web\WebTarget.mdl
    Set VariableSet Web02 = (Last created special effect)
    Special Effect - Create a special effect attached to the head (attachpoint) of Archer 0145 <gen> using Abilities\Spells\Undead\Web\WebTarget.mdl
    Set VariableSet Web01 = (Last created special effect)
SpiderBoolean1
  Events
    Destructible - Egg Sack 1413 <gen> dies
  Conditions
  Actions
    Set VariableSet SpiderEggAlive01 = False
SpiderBoolean2
  Events
    Destructible - Egg Sack 1412 <gen> dies
  Conditions
  Actions
    Set VariableSet SpiderEggAlive02 = False
Spider Hatchlings
  Events
    Unit - A unit enters Webbed_Archer_Spider_Hatch <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
  Actions
    Trigger - Turn off (This trigger)
    If (SpiderEggAlive01 Equal to False) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Kill Egg Sack 1413 <gen>
    Wait 0.20 seconds
    Unit - Create 1 Giant Spider for Neutral Hostile at (Center of Webbed_Archer_Spider01 <gen>) facing (Position of Archer 0148 <gen>)
    Set VariableSet HostileSpider01 = (Last created unit)
    Unit Group - Add HostileSpider01 to WebbingSpidersGroup
    Wait 1.00 seconds
    If (SpiderEggAlive02 Equal to False) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Kill Egg Sack 1412 <gen>
    Wait 0.20 seconds
    Unit - Create 1 Giant Spider for Neutral Hostile at (Center of Webbed_Archer_Spider02 <gen>) facing (Position of Archer 0146 <gen>)
    Set VariableSet HostileSpider02 = (Last created unit)
    Unit Group - Add HostileSpider02 to WebbingSpidersGroup
    Wait 0.50 seconds
DeathRemoveWeb01
  Events
    Unit - Archer 0145 <gen> Dies
  Conditions
  Actions
    Special Effect - Destroy Web01
DeathRemoveWeb02
  Events
    Unit - Archer 0146 <gen> Dies
  Conditions
  Actions
    Special Effect - Destroy Web02
DeathRemoveWeb03
  Events
    Unit - Archer 0148 <gen> Dies
  Conditions
  Actions
    Special Effect - Destroy Web03
Kill Spiders Unweb Them
  Events
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    (All units of WebbingSpidersGroup are dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Special Effect - Destroy Web01
    Special Effect - Destroy Web02
    Special Effect - Destroy Web03
    Wait 0.20 seconds
    If ((Archer 0145 <gen> is alive) Equal to True) then do (Rescue Archer 0145 <gen> for Player1 and Change color) else do (Do nothing)
    If ((Archer 0146 <gen> is alive) Equal to True) then do (Rescue Archer 0146 <gen> for Player1 and Change color) else do (Do nothing)
    If ((Archer 0148 <gen> is alive) Equal to True) then do (Rescue Archer 0148 <gen> for Player1 and Change color) else do (Do nothing)
    Unit Group - Order SpiderArcherGroup to Attack-Move To.(Center of SpiderWeb <gen>)
Confronting the Keeper
  Events
    Unit - A unit enters TriggerIllidanGuards <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player1
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Camera - Set a spacebar-point for Player1 at (Center of IllidanGuards <gen>)
    Cinematic - Ping minimap for Player Group - Player 2 (Blue) at (Center of IllidanGuards <gen>) for 7.00 seconds
    Unit Group - Pick every unit in IllidanGuards and do (Grant shared vision of (Picked unit) to Player1)
    Camera - Pan camera for Player1 to (Center of IllidanGuardsPan <gen>) over 1.00 seconds
    Sound - Setup all volume channels for speech
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Camera - Set a spacebar-point for Player2 at (Center of IllidanGuards <gen>)
        Cinematic - Ping minimap for Player Group - Player 11 (Dark Green) at (Center of IllidanGuards <gen>) for 7.00 seconds
        Unit Group - Pick every unit in IllidanGuards and do (Grant shared vision of (Picked unit) to Player2)
        Camera - Pan camera for Player2 to (Center of IllidanGuardsPan <gen>) over 1.00 seconds
        Cinematic - Send transmission to AAAPG_NightElves from Keeper named Keeper of the Grove: Play N05Keeper48 <gen> and display Hold, Priestess! This place is forbidden, even to one such as you. There is a terrible evil here that must remain chained beneath the earth.. Modify duration: Add 0 seconds and Wait
        Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande49 <gen> and display Illidan was considered a great hero once. I believe he will become one again.. Modify duration: Add 0 seconds and Wait
        Cinematic - Send transmission to AAAPG_NightElves from Keeper named Keeper of the Grove: Play N05Keeper50 <gen> and display Madness! You would doom us all by freeing the Betrayer!. Modify duration: Add 0 seconds and Wait
      Else - Actions
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from Keeper named Keeper of the Grove: Play N05Keeper48 <gen> and display Hold, Priestess! This place is forbidden, even to one such as you. There is a terrible evil here that must remain chained beneath the earth.. Modify duration: Add 0 seconds and Wait
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from Tyrande named Tyrande Whisperwind: Play N05Tyrande49 <gen> and display Illidan was considered a great hero once. I believe he will become one again.. Modify duration: Add 0 seconds and Wait
        Cinematic - Send transmission to Player Group - Player 2 (Blue) from Keeper named Keeper of the Grove: Play N05Keeper50 <gen> and display Madness! You would doom us all by freeing the Betrayer!. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        InsaneMode Equal to True
      Then - Actions
        Custom script: call ExecuteFunc("FirstWave")
      Else - Actions
    Set VariableSet KeeperVulnerable = True
    Wait 1.00 seconds
    Quest - Destroy QuestIllidan
    Quest - Create a Required quest titled Free Illidan with the description Though Illidan's release could prove costly, his aid against the Demons would be invaluable. You must plumb the depths of his ancient prison and release him before all is lost., using icon path ReplaceableTextures\CommandButtons\BTNHeroDemonHunter.tga
    Set VariableSet QuestIllidan = (Last created quest)
    Quest - Create a quest requirement for QuestIllidan with the description Locate Illidan's prison
    Set VariableSet QuestIllidanReqLocate = (Last created quest requirement)
    Quest - Mark QuestIllidanReqLocate as Completed
    Quest - Create a quest requirement for QuestIllidan with the description Defeat the Watchers
    Set VariableSet QuestIllidanReqDefeat = (Last created quest requirement)
    Quest - Create a quest requirement for QuestIllidan with the description Tyrande Whisperwind must survive
    Set VariableSet QuestIllidanReqTyrande = (Last created quest requirement)
    Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rFree Illidan - |cff808080Locate Illidan's prison (Completed)|r - Defeat the Watchers - Tyrande Whisperwind must survive
Keeper Alive
  Events
    Unit - Keeper of the Grove 0074 <gen> Takes damage
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        KeeperVulnerable Equal to True
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            InsaneMode Equal to True
            (Integer((Percentage life of Keeper of the Grove 0074 <gen>))) Less than or equal to 50
          Then - Actions
            Custom script: call ExecuteFunc("StartTranquility")
            Trigger - Turn off (This trigger)
          Else - Actions
      Else - Actions
        Unit - Set life of Keeper of the Grove 0074 <gen> to (Max life of Keeper of the Grove 0074 <gen>)
Victory Tyrande Queue
  Events
    Unit - A unit owned by Player 1 (Red).Dies
    Unit - A unit owned by Neutral Hostile.Dies
  Conditions
    (All units of IllidanGuards are dead) Equal to True
    GAMEOVER Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Victory_Tyrande_Cinematic <gen> to the trigger queue (Checking conditions)
Victory Tyrande Cinematic
  Events
  Conditions
  Actions
    Set VariableSet VoteSkipFinal = False
    Trigger - Turn off TyrandeDies <gen>
    Unit Group - Pick every unit in (Units owned by Player1 matching ((((Matching unit) is A Hero) Equal to False) and (((Matching unit) is Summoned) Equal to False)).) and do (Set VariableSet EXTAS = (EXTAS + 1))
    Unit Group - Pick every unit in (Units owned by Player 1 (Red) matching ((Tyrande_Zone <gen> contains (Matching unit)) Equal to True).) and do (Kill (Picked unit))
    Unit - Make Tyrande Invulnerable
    Quest - Mark QuestIllidan as Completed
    Quest - Mark QuestIllidanReqTyrande as Completed
    Quest - Mark QuestIllidanReqDefeat as Completed
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rFree Illidan
    Wait Campaign quest delay seconds
    Set VariableSet TyrandeVictory = True
    Set VariableSet Selection = (Units currently selected by Player2)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        LocalPlayer Equal to Player2
      Then - Actions
        Set VariableSet CameraPoint = (Target of current camera view)
      Else - Actions
        Set VariableSet CameraPoint = (Target of current camera view)
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Play Night Elf Defeat.
    Wait 1.00 seconds
    Camera - .Apply. gg_cam_EndFarTyrandeA for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndFarTyrandeA for Player2 over 0 seconds
    Camera - .Apply. gg_cam_EndFarTyrandeB for Player1 over ((Length of N05Tyrande51 <gen>) + 2.00) seconds
    Camera - .Apply. gg_cam_EndFarTyrandeB for Player2 over ((Length of N05Tyrande51 <gen>) + 2.00) seconds
    Cinematic - Turn cinematic mode On for (All players)
    Selection - Clear selection
    Unit - Pause all units
    Unit Group - Pick every unit in (Units owned by Player1.) and do (Remove All buffs from (Picked unit))
    Player - Disable Shadow Meld for Player1
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player1) and do (Actions)
      Loop - Actions
        Unit - Hide (Picked unit)
    Unit - Unhide Tyrande
    Unit - Unhide Illidan
    Unit - Unpause Tyrande
    Unit - Unpause Illidan
    Unit - Move Tyrande instantly to (Center of EndTyrande01 <gen>)
    Unit - Make Tyrande face Illidan over 0 seconds
    -------- NOW SKIPPABLE --------
    Set VariableSet Victory_Tyrande_Skip = True
    Trigger - Turn on Victory_Tyrande_Skip <gen>
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Tyrande to Move To.(Center of EndTyrande02 <gen>)
    Wait 1.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande51 <gen> and display Illidan! Is that you?. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_EndCloseupTyrande_1 for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndCloseupTyrande_1 for Player2 over 0 seconds
    Camera - .Apply. gg_cam_EndCloseupTyrande_2 for Player1 over ((Length of N05Illidan52 <gen>) + ((Length of N05Tyrande53 <gen>) + 0.50)) seconds
    Camera - .Apply. gg_cam_EndCloseupTyrande_2 for Player2 over ((Length of N05Illidan52 <gen>) + ((Length of N05Tyrande53 <gen>) + 0.50)) seconds
    Unit - Order Illidan to Move To.(Center of EndIllidan01 <gen>)
    Wait 0.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Illidan named Illidan Stormrage: Play N05Illidan52 <gen> and display Tyrande... it is your voice! After all these ages spent in darkness, your voice is like the pure light of the moon upon my mind.. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande53 <gen> and display The Legion has returned, Illidan. Your people have need of you once more. . Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_EndCloseUpIllidan for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndCloseUpIllidan for Player2 over 0 seconds
    Unit - Order Illidan to Stop.
    Unit - Move Illidan instantly to (Center of EndIllidanPowerUpThink <gen>)
    Unit - Make Illidan face 270.00 over 0.10 seconds
    Wait 0.50 seconds
    Sound - Reset all volume channels to 100%
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Illidan to Stop.
    Unit - Make Illidan face 80.00 over 0.10 seconds
    Wait 2.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_EndCloseUpIllidanPOWERUPA for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndCloseUpIllidanPOWERUPA for Player2 over 0 seconds
    Camera - .Apply. gg_cam_EndCloseUpIllidanPOWERUPB for Player1 over 3.50 seconds
    Camera - .Apply. gg_cam_EndCloseUpIllidanPOWERUPB for Player2 over 3.50 seconds
    Wait 2.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Illidan to Stop.
    Unit - Make Illidan face 270.00 over 0.10 seconds
    Wait 1.50 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Illidan's morph (animationname) animation
    Camera - Sway the camera target for Player1 with magnitude 10.00 and velocity 1500.00
    Camera - Sway the camera target for Player2 with magnitude 10.00 and velocity 1500.00
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Illidan's stand (animationname) animation
    Camera - Sway the camera target for Player1 with magnitude 25.00 and velocity 1500.00
    Camera - Sway the camera target for Player2 with magnitude 25.00 and velocity 1500.00
    Camera - .Apply. gg_cam_EndFarTyrandeB for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndFarTyrandeB for Player2 over 0 seconds
    Wait 3.00 seconds
    Camera - Sway the camera target for Player1 with magnitude 10.00 and velocity 1500.00
    Camera - Sway the camera target for Player2 with magnitude 10.00 and velocity 1500.00
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Kill Dungeon Gate 1649 <gen>
    Destructible - Kill Dungeon Gate 1651 <gen>
    Sound - Set position of CityBuildingDeath1 <gen> to (Center of EndIllidanPowerUpThink <gen>) with Z offset 0
    Sound - Play CityBuildingDeath1 <gen>
    Destructible - Kill Dungeon Gate 1650 <gen>
    Wait 0.50 seconds
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_EndFarResolveNear for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndFarResolveNear for Player2 over 0 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Setup all volume channels for speech
    Wait 1.00 seconds
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Illidan to Move To.(Center of EndIllidan02 <gen>)
    Unit - Order Tyrande to Move To.(Center of EndTyrande03 <gen>)
    Animation - Lock Illidan's Head to face Tyrande, offset by (0, 0, 90)
    Animation - Lock Tyrande's Head to face Illidan, offset by (0, 0, 90)
    Cinematic - Send transmission to AAAPG_NightElves from Illidan named Illidan Stormrage: Play N05Illidan54 <gen> and display Because I once cared for you, Tyrande, I will hunt down the demons. But I will never owe our people anything!. Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to AAAPG_NightElves from Tyrande named Tyrande Whisperwind: Play N05Tyrande55 <gen> and display Then let us hurry back to the surface! The demons' corruption spreads with every second we waste! . Modify duration: Add 0 seconds and Wait
    If (VoteSkipFinal Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_EndFarResolveNear for Player1 over 0 seconds
    Camera - .Apply. gg_cam_EndFarResolveNear for Player2 over 0 seconds
    Camera - .Apply. gg_cam_EndFarResolveFar for Player1 over 0.50 seconds
    Camera - .Apply. gg_cam_EndFarResolveFar for Player2 over 0.50 seconds
    Animation - Reset Illidan's body-part facing
    Animation - Reset Tyrande's body-part facing
    Unit - Order Illidan to Move To.(Center of TyrandeVictoryMove <gen>)
    Unit - Order Tyrande to Move To.(Center of TyrandeVictoryMove <gen>)
    Wait 0.50 seconds
    Set VariableSet Victory_Tyrande_Skip = False
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    Unit Group - Pick every unit in (Units in (Playable map area) owned by Player1) and do (Actions)
      Loop - Actions
        Unit - Change ownership of (Picked unit) to Neutral Passive and Retain color
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Trigger - Run Final_Cinematic <gen> (checking conditions)
      Else - Actions
        Unit - Change ownership of Tyrande to Neutral Passive and Change color
        Unit - Unpause all units
        Cinematic - Turn cinematic mode Off for (All players)
        Camera - Reset camera for Player2 to standard game-view over 0 seconds
        Camera - Reset camera for Player1 to standard game-view over 0 seconds
        Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
        Camera - Pan camera for Player1 to (Position of Furion) over 0 seconds
        Selection - Select Furion for Player1
        Selection - Select Selection for Player2
        Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
Victory Tyrande Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Victory_Tyrande_Skip = False
    Set VariableSet TyrandeVictory = True
    Camera - Stop swaying/shaking the camera for Player1.
    Camera - Stop swaying/shaking the camera for Player2.
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FurionVictory Equal to True
      Then - Actions
        Trigger - Run Final_Cinematic <gen> (checking conditions)
      Else - Actions
        Unit - Change ownership of Tyrande to Neutral Passive and Change color
        Unit - Unpause all units
        Cinematic - Turn cinematic mode Off for (All players)
        Camera - Reset camera for Player2 to standard game-view over 0 seconds
        Camera - Reset camera for Player1 to standard game-view over 0 seconds
        Camera - Pan camera for Player2 to CameraPoint2 over 0 seconds
        Camera - Pan camera for Player1 to (Position of Furion) over 0 seconds
        Selection - Select Furion for Player1
        Selection - Select Selection for Player2
        Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
Crate08
  Events
    Destructible - Egg Sack 1139 <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.10 seconds
    Item - Create Scroll of Mana at (Center of Crate08 <gen>)
    Set VariableSet BonusesFound = (BonusesFound + 1)
Teleport Unit
  Events
    Unit - A unit enters Teleport <gen>
  Conditions
    (Owner of (Entering unit)) Equal to Player2
  Actions
    Special Effect - Create a special effect at (Position of (Entering unit)) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Unit - Move (Entering unit) instantly to (Center of Teleport_Copy <gen>)
    Unit - Order (Entering unit) to Stop.
The Dragons
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet Dragon01 = (Random unit from (Units in Dragon01A <gen>))
    Set VariableSet Dragon02 = (Random unit from (Units in Dragon02A <gen>))
    Set VariableSet Dragon03 = (Random unit from (Units in Dragon03A <gen>))
    Set VariableSet Dragon04 = (Random unit from (Units in Dragon04A <gen>))
Dragon Patrol Begin
  Events
  Conditions
  Actions