1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  3. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still havn't received your rank award? Then please contact the administration.
    Dismiss Notice
  4. The Lich King demands your service! We've reached the 19th edition of the Icon Contest. Come along and make some chilling servants for the one true king.
    Dismiss Notice
  5. The 4th SFX Contest has started. Be sure to participate and have a fun factor in it.
    Dismiss Notice
  6. The poll for the 21st Terraining Contest is LIVE. Be sure to check out the entries and vote for one.
    Dismiss Notice
  7. The results are out! Check them out.
    Dismiss Notice
  8. Don’t forget to sign up for the Hive Cup. There’s a 555 EUR prize pool. Sign up now!
    Dismiss Notice
  9. The Hive Workshop Cup contest results have been announced! See the maps that'll be featured in the Hive Workshop Cup tournament!
    Dismiss Notice
  10. 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

UndeadX04.w3x
Variables
Initialization
Initialization
Init 01 Players
Init 02 Units
Init 03 Music
Init 04 Environment
Init 05 Quests
Init 06a Hard
Init 06b Normal
Init 07 Regions to Points
Load Heroes
Load Heroes
Create Arthas
Create Anubarak
Load Default Arthas
Load Default Anubarak
Experience Cap Arthas
Experience Cap Anubarak
Cinematic Revival
xxxxxxxxxxxxxxxxxxxx
Intro Cinematic
Intro Cinematic Q
Intro Skipped
Intro Setup
Intro Cleanup
Gameplay 01
Midgame Penguin Cinematic
Penguin Cinematic
Penguin Cinematic Q
Penguin Skipped
Penguin Setup
Penguin Cleanup
Midgame Dragon Cinematic
Dragon Cinematic Q
Dragon Skipped
Dragon Setup
Dragon Cleanup
Midgame Blood Elf Cinematic
Blood Elf Cinematic
Blood Elf Base Detroyed Q
Blood Elf Cinematic Q
Blood Elf Skipped
Blood Elf Setup
Blood Elf Cleanup
Gameplay 02
Victory Cinematic
Victory Cinematic Q
Victory Skipped
Victory Setup
xxxxxxxxxxxxxxxxxxxx
Level Data
Next Level Run
Quests
====MAIN QUESTS====
Base===========>
Quest Base Create
Quest Base Discover
Quest Base Completed
Cave===========>
Quest Cave Create
Quest Cave Discover
Quest Cave Completed
====SIDE QUESTS====
Dragon===========>
Quest Dragon Create
Quest Dragon Discover
Quest Dragon Completed
Mission Failed BaseDead
Mission Failed UnitsDead
Hints
Hint Undead Burrow
Hint Undead Burrow Q
AI
Start AI After Town Hall Built
Start Beach AI
AI Resources Red Gold
AI Resources Red Lumber
AI Resources Blue Gold
AI Resources Blue Lumber
AI Resources Orange Gold
AI Resources Orange Lumber
AI Resources Lt Blue Gold
AI Resources Lt Blue Lumber
xxxxxxxxxxxxxxxxxxxx
Combat Check
Combat Detected
Combat Resolved
Victory Defeat
Defeat before Town
Defeat Units Dead
Dragon Quest
Give Dragon Quest Q
Entering Dragon Lair
Entering Dragon Lair Q
Dragon Pen
Dragon and Buddys Die
Dragon Dies Q
Cave Quest
AREA 01
AREA 02
Cave Guards
Remove Dying Unit
Remove Owner Change
xxxxxxxxxxxxxxxxxxxx
In Game Dialog
Dragonhawks Die Q
First Naga Sighting
First Naga Sighting Q
Quake Message 1
Quake Message 1 Q
Kill Em All 1
Quake Message 2
Quake Message 2 Q
Kill Em All 2
Quake Message 3
Quake Message 3 Q
Kill Em All 3
Quakes
Quake Event
Quake Shake
Creep Stuff
Roaming Polar Bears 01
Roaming Polar Bears 02
Large Polar Bears
Upgrade Dragon
Upgrade
Timmy
Saving Timmy
Saving Timmy Q
Going to Penguin
Going to Penguin Q
Player Sharing Triggers
UpdateResourcesGold
UpdateResourcesLumber
HeroDies
HeroRevives
SetDifficulty
DifficultySelected
ConvertPlayerUnits
UpdateFoodUsage
HiringUnits
ScrollTownPortalStart
ScrollTownPortalEnd
TomeStrengthUsed
TomeAgilityUsed
TomeIntelligenceUsed
PlayerLeavesGame
Game Cache Triggers
SetCacheVariables
LoadHeroesText
PreplaceItemsLoad
PreplaceItemsSave
SaveCodeEtc
StartGame
LoadGame
NewGame
Satchet Triggers
MoveSatchets
BackpackDropItems
SatchetLevelGain
SatchetHeroDies
SatchetHeroRevives
function SaveLoad_InitialSetup takes nothing returns nothing
    local integer i = 0
    local integer j = 0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    set m = 0

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

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

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

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

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

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

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

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

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

function CreateTextFile takes string Code returns nothing
    call PreloadGenClear()
    call PreloadGenStart()
    
    // The line below creates the log
    call Preload("load " + Code)
    
    // The line below creates the file at the specified location
    call PreloadGenEnd(udg_TextFileName + ".txt")
endfunction
Name Type Is Array Initial Value
Anubarak unit No UnitNull
AnubarakReturnSpot location No
AP04_Arthas player No Player03
AP07_SharedPlayer player No Player06
AP12_Anubarak player No Player11
APG1_Player force No
Arthas unit No UnitNull
ArthasFaceThisGuy unit No
ArthasReturnSpot location No
BloodElfSkipped boolean No
CameraReturnPoint location No
CharmedUnit unit No
ChooseDifficulty dialog No
CinematicAnubarak unit No
CinematicArthas unit No
Code string No
CodeError boolean No
CombatCheckTimer timer No
Corpse01 unit No
Corpse02 unit No
Corpse03 unit No
Corpse04 unit No
Corpse05 unit No
Corpse06 unit No
CryptFiend01 unit No
CryptFiend02 unit No
CryptFiend03 unit No
CryptFiend04 unit No
DragonHawk01 unit No
DragonHawk02 unit No
DragonHawk03 unit No
DragonSkipped boolean No false
EndCryptF01 unit No
EndCryptF02 unit No
ExpDisabledForAnubarak boolean No false
ExpDisabledForArthas boolean No false
FoodCosts unitcode Yes
FoodSupplyGroup group No
GameOver boolean No false
GameSelection boolean No
GhoulEnd01 unit No
GhoulEnd02 unit No
Hard boolean No
HardB button No
HeroToRevive unit No
HiddenUnits group No
InCinematic boolean No false
InCombat boolean No false
IntroCryptFiend01 unit No
IntroCryptFiend02 unit No
IntroCryptFiend03 unit No
IntroGhoul01 unit No
IntroGhoul02 unit No
IntroGhoul03 unit No
IntroNecro01 unit No
IntroNecro02 unit No
IntroNecro03 unit No
IntroSkipped boolean No false
Kael unit No
LittleTimmyItem item No
NagaBeetleGroup group No
NagaSighting location No
NormalB button No
P10_Kael player No Player09
P1_Kael player No Player00
P2_Kael player No Player01
P3_Beetle player No Player02
P5_Kael player No Player04
P6_Naga player No Player05
P8_Spiders player No Player07
PathCreeps group No
PenguinItem item No
PenguinSkipped boolean No false
PlayerColor string Yes
PlayerOneTomesAgility integer No
PlayerOneTomesIntelligence integer No
PlayerOneTomesStrength integer No
PlayerTwoTomesAgility integer No
PlayerTwoTomesIntelligence integer No
PlayerTwoTomesStrength integer No
PointDragonPen location No
PolarBear01 unit No
PolarBear02 unit No
PolarBear03 unit No
PolarBear04 unit No
PolarBear05 unit No
QuakeTimer timer No
QuestBase quest No
QuestBaseReq01 questitem No
QuestCave quest No
QuestCaveReq questitem No
QuestDragon quest No
QuestDragonReqKill questitem No
RaiseSkeleton01 unit No
RaiseSkeleton02 unit No
RaiseSkeleton03 unit No
RaiseSkeleton04 unit No
RaiseSkeleton05 unit No
RaiseSkeleton06 unit No
RevivalAltar unit No UnitNull
RevivalHero unit No UnitNull
RevivalReturnSpot location No
RevivalSpot location No
Sapphiron unit No
Sapphiron_Undead unit No
SapphironDyingSpot location No
SapphironSaved boolean No
Satchet01 unit No
Satchet02 unit No
SatchetPosition location No
Save integer Yes
SaveCount integer No
SaveLoad_Abilities abilcode Yes
SaveLoad_Abilities_LastIndex integer No
SaveLoad_Alphabet string No
SaveLoad_CaseSensitive boolean No
SaveLoad_Compress integer Yes
SaveLoad_Heroes unitcode Yes
SaveLoad_Heroes_LastIndex integer No
SaveLoad_Initialized boolean No
SaveLoad_Items itemcode Yes
SaveLoad_Items_LastIndex integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
SelectedUnits group No
SinglePlayer boolean No
Speaker unit No
SpeakingDistance real No 1800.00
SpidersUnitGroup01 group No
SpidersUnitGroup02 group No
SpidersUnitGroup03 group No
SpidersUnitGroup04 group No
SpidersUnitGroup05 group No
SpidersUnitGroup06 group No
TeleportingUnits group Yes
TempHero unit No
TempItem item No
TempItemType itemcode No
TempPoint location No
TextFileName string No
TownPortalEnd location No
TownPortalStart location No
Validate boolean No
VictorySkipped boolean No false
Can delete Normal & Easy Triggers?
Initialization
  Events
    Map initialization
  Conditions
  Actions
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Game - Set ally color filtering to 0
    Game - Set Lock resource trading to On
    Game - Disable ally color button and Disable creep camp button
    Trigger - Run Init_01_Players <gen> (checking conditions)
    Trigger - Run Init_02_Units <gen> (checking conditions)
    Trigger - Run Init_04_Environment <gen> (checking conditions)
    Trigger - Run Init_05_Quests <gen> (checking conditions)
    Trigger - Run Init_07_Regions_to_Points <gen> (checking conditions)
    Trigger - Run SetDifficulty <gen> (checking conditions)
Init 01 Players
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    Player Group - Add AP04_Arthas to APG1_Player
    Player Group - Add AP12_Anubarak to APG1_Player
    Player Group - Add AP07_SharedPlayer to APG1_Player
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP12_Anubarak controller) Equal to Computer) or ((AP12_Anubarak slot status) Equal to Is unused)
      Then - Actions
        Set SinglePlayer = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP04_Arthas controller) Equal to Computer) or ((AP04_Arthas slot status) Equal to Is unused)
      Then - Actions
        Set SinglePlayer = True
      Else - Actions
    -------- Set User Player Alliances --------
    -------- Alliance Settings --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Player - Make (Picked player) treat Neutral Passive as an Neutral
    Player - Make P1_Kael treat P2_Kael as an Ally
    Player - Make P1_Kael treat Neutral Hostile as an Neutral
    Player - Make P2_Kael treat P1_Kael as an Ally
    Player - Make P2_Kael treat Neutral Hostile as an Neutral
    Player - Make P6_Naga treat P3_Beetle as an Enemy
    Player - Make P6_Naga treat Neutral Hostile as an Neutral
    Player - Make P8_Spiders treat Neutral Hostile as an Neutral
    Player - Make P10_Kael treat Neutral Hostile as an Neutral
    Player - Make Neutral Hostile treat P1_Kael as an Neutral
    Player - Make Neutral Hostile treat P2_Kael as an Neutral
    Player - Make Neutral Hostile treat P5_Kael as an Neutral
    Player - Make Neutral Hostile treat P6_Naga as an Neutral
    Player - Make Neutral Hostile treat P8_Spiders as an Neutral
    Player - Make Neutral Hostile treat P10_Kael as an Neutral
    Player - Make P3_Beetle treat P5_Kael as an Enemy
    Player - Make P3_Beetle treat P6_Naga as an Enemy
    Player - Make P3_Beetle treat AP04_Arthas as an Neutral
    Player - Make P3_Beetle treat AP12_Anubarak as an Neutral
    Player - Make AP04_Arthas treat P3_Beetle as an Neutral
    Player - Make AP12_Anubarak treat P3_Beetle as an Neutral
    -------- Initial Resources --------
    Player - Set AP07_SharedPlayer Current gold to 1000
    Player - Set AP07_SharedPlayer Current lumber to 500
    Player - Set P1_Kael Current gold to 5000
    Player - Set P1_Kael Current lumber to 5000
    Player - Set P2_Kael Current gold to 5000
    Player - Set P2_Kael Current lumber to 5000
    Player - Set P6_Naga Current gold to 5000
    Player - Set P6_Naga Current lumber to 5000
    Player - Set P8_Spiders Current gold to 5000
    Player - Set P8_Spiders Current lumber to 5000
    Player - Set P10_Kael Current gold to 5000
    Player - Set P10_Kael Current lumber to 5000
    -------- Player Colors --------
    Player - Change color of Player 2 (Blue) to Red, Changing color of existing units
    Player - Change color of Player 3 (Teal) to Black, Changing color of existing units
    Player - Change color of Player 5 (Yellow) to Red, Changing color of existing units
    Player - Change color of Player 6 (Orange) to Blue, Changing color of existing units
    Player - Change color of Player 7 (Green) to Purple, Changing color of existing units
    Player - Change color of Player 8 (Pink) to Black, Changing color of existing units
    Player - Change color of Player 10 (Light Blue) to Red, Changing color of existing units
    -------- Hide Excess Players --------
    Player - Hide Player 2 (Blue) in the post-game score screen
    Player - Hide AP07_SharedPlayer in the post-game score screen
    Player - Hide Player 3 (Teal) in the post-game score screen
    Player - Hide Player 8 (Pink) in the post-game score screen
    Player - Hide Player 10 (Light Blue) in the post-game score screen
Init 02 Units
  Events
  Conditions
  Actions
    -------- Heroes --------
    Trigger - Run Load_Heroes <gen> (checking conditions)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Hero - Make (Picked player) Heroes gain 50.00% experience from future kills
    -------- Player Units --------
    Set IntroGhoul01 = Ghoul 0024 <gen>
    Set IntroGhoul02 = Ghoul 0020 <gen>
    Set IntroGhoul03 = Ghoul 0113 <gen>
    Set IntroNecro01 = Necromancer 0103 <gen>
    Set IntroNecro02 = Necromancer 0102 <gen>
    Set IntroNecro03 = Necromancer 0104 <gen>
    -------- NPCs --------
    Unit - Hide Arachnathid Earth-borer 0145 <gen>
    Unit - Hide Arachnathid Earth-borer 0125 <gen>
    Unit - Hide Arachnathid Earth-borer 0097 <gen>
    Unit - Hide Arachnathid Earth-borer 0084 <gen>
    Unit - Hide Arachnathid Earth-borer 0082 <gen>
    Unit - Hide Arachnathid Earth-borer 0059 <gen>
    Unit - Hide Arachnathid Earth-borer 0053 <gen>
    Unit - Hide Arachnathid Earth-borer 0037 <gen>
    -------- Anub'arak Forces --------
    Set CryptFiend01 = Crypt Fiend 0010 <gen>
    Set CryptFiend02 = Crypt Fiend 0011 <gen>
    Set CryptFiend03 = Crypt Fiend 0012 <gen>
    Set CryptFiend04 = Crypt Fiend 0013 <gen>
    -------- Creeps --------
    Set PolarBear01 = Polar Bear 0244 <gen>
    Set PolarBear02 = Polar Bear 0236 <gen>
    Set PolarBear03 = Polar Bear 0243 <gen>
    Set PolarBear04 = Polar Bear 0280 <gen>
    Set PolarBear05 = Polar Bear 0281 <gen>
    -------- MISC --------
    Set Sapphiron = Sapphiron 0009 <gen>
    Unit - Make Penguin King 0208 <gen> Invulnerable
    Unit Group - Pick every unit in (Units in Units_Guarding_Cave <gen> owned by Neutral Hostile) and do (Add (Picked unit) to PathCreeps)
    Player - Disable sleeping for all creeps
    -------- AI Ignore Units --------
    Unit Group - Pick every unit in NagaBeetleGroup and do (Ignore (Picked unit)'s guard position)
Init 03 Music
  Events
  Conditions
  Actions
    Sound - Clear the music list
    Wait 0.01 seconds
    Sound - Play Arthas' Theme, skipping the first 15.75 seconds
    Sound - Set the music list to Music, starting with song 3
Init 04 Environment
  Events
  Conditions
  Actions
    -------- Initial Time Of Day --------
    Game - Set the time of day to 8.00
    -------- Weather Effects --------
    -------- Fog --------
    -------- Initial Visibility --------
    -------- Bridges, Gates, etc. --------
    Destructible - Make Icey Rock 0501 <gen> Invulnerable
    Destructible - Make Icey Rock 0505 <gen> Invulnerable
    Destructible - Make Icey Rock 0507 <gen> Invulnerable
    Destructible - Make Icey Rock 0508 <gen> Invulnerable
    Destructible - Make Icey Rock 0509 <gen> Invulnerable
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (Make (Picked destructible) Invulnerable)
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (Make (Picked destructible) Invulnerable)
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (Make (Picked destructible) Invulnerable)
    Destructible - Make Icy Gate 0500 <gen> Invulnerable
    Animation - Play the death animation for all doodads of type YOr2 (doodadcode) within (Playable map area)
Init 05 Quests
  Events
  Conditions
  Actions
    -------- Create Quests --------
    Trigger - Run Quest_Base_Create <gen> (checking conditions)
    Trigger - Run Quest_Dragon_Create <gen> (checking conditions)
    Trigger - Run Quest_Cave_Create <gen> (checking conditions)
Changed condtion "(Difficulty level) Equal to Hard"
too "Normal"
Init 06a Hard
  Events
  Conditions
    Hard Equal to True
  Actions
    Hero - Set Blood Mage 0308 <gen> Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Flame Strike
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Flame Strike
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Flame Strike
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Banish
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Banish
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Banish
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Siphon Mana
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Siphon Mana
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Siphon Mana
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Phoenix
    Hero - Set Naga Sea Witch 0017 <gen> Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Forked Lightning
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Frost Arrows
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Mana Shield
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Forked Lightning
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Frost Arrows
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Mana Shield
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Forked Lightning
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Frost Arrows
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Mana Shield
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Tornado
    -------- Set Enemy Upgrades --------
    Player - Set the current research level of Rhme (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhra (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhar (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhla (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhde (techcode) to 1 for P2_Kael
    Player - Set the current research level of Reib (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhpt (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhac (techcode) to 1 for P2_Kael
    Player - Set the current research level of Rhme (techcode) to 1 for P10_Kael
    Player - Set the current research level of Rhra (techcode) to 1 for P10_Kael
    Player - Set the current research level of Rhar (techcode) to 1 for P10_Kael
    Player - Set the current research level of Rhla (techcode) to 1 for P10_Kael
    Player - Set the current research level of Rhde (techcode) to 1 for P10_Kael
    Player - Set the current research level of Reib (techcode) to 1 for P10_Kael
    Player - Set the current research level of Rhac (techcode) to 1 for P10_Kael
    -------- Replace Creeps --------
    AI - Ignore Nerubian Seer 0267 <gen>'s guard position
    Unit - Replace Nerubian Seer 0267 <gen> with a Nerubian Lord (hard) using The old unit's relative life and mana
    AI - Recycle (Last replaced unit)'s guard position
    AI - Ignore Nerubian Seer 0253 <gen>'s guard position
    Unit - Replace Nerubian Seer 0253 <gen> with a Nerubian Lord (hard) using The old unit's relative life and mana
    AI - Recycle (Last replaced unit)'s guard position
Dont need?
Init 06b Normal
  Events
  Conditions
    Hard Equal to False
  Actions
    -------- Creep Stuff --------
    AI - Ignore Nerubian Spider 0250 <gen>'s guard position
    Unit - Remove Nerubian Spider 0250 <gen> from the game
    AI - Ignore Nerubian Warrior 0277 <gen>'s guard position
    Unit - Remove Nerubian Warrior 0277 <gen> from the game
    AI - Ignore Nerubian Spider Lord 0246 <gen>'s guard position
    Unit - Remove Nerubian Spider Lord 0246 <gen> from the game
    AI - Ignore Nerubian Spider Lord 0242 <gen>'s guard position
    Unit - Remove Nerubian Spider Lord 0242 <gen> from the game
    AI - Ignore Nerubian Lord 0306 <gen>'s guard position
    Unit - Remove Nerubian Lord 0306 <gen> from the game
    AI - Ignore Nerubian Lord 0310 <gen>'s guard position
    Unit - Remove Nerubian Lord 0310 <gen> from the game
    AI - Ignore Blue Dragonspawn Warrior 0209 <gen>'s guard position
    Unit - Remove Blue Dragonspawn Warrior 0209 <gen> from the game
    AI - Ignore Blue Dragonspawn Warrior 0239 <gen>'s guard position
    Unit - Remove Blue Dragonspawn Warrior 0239 <gen> from the game
    -------- Naga Stuff --------
    AI - Ignore Naga Royal Guard 0350 <gen>'s guard position
    Unit - Remove Naga Royal Guard 0350 <gen> from the game
    Hero - Set Naga Sea Witch 0017 <gen> Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Forked Lightning
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Forked Lightning
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Frost Arrows
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Frost Arrows
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Mana Shield
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Mana Shield
    Hero - Learn skill for Naga Sea Witch 0017 <gen>: Neutral Naga Sea Witch - Tornado
    Hero - Disable experience gain for Naga Sea Witch 0017 <gen>
    -------- Blood Elf Stuff --------
    Hero - Set Blood Mage 0308 <gen> Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Flame Strike
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Flame Strike
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Banish
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Banish
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Siphon Mana
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Siphon Mana
    Hero - Learn skill for Blood Mage 0308 <gen>: Human Blood Mage - Phoenix
    Hero - Disable experience gain for Blood Mage 0308 <gen>
Init 07 Regions to Points
  Events
  Conditions
  Actions
    Set PointDragonPen = (Center of Dragon_Pen <gen>)
Load Heroes
  Events
  Conditions
  Actions
    -------- Load Each Hero --------
    Trigger - Run Create_Arthas <gen> (checking conditions)
    Trigger - Run Create_Anubarak <gen> (checking conditions)
Create Arthas
  Events
  Conditions
  Actions
    -------- Create Hero --------
    Unit - Create 1 Death Knight (Evil) for Neutral Passive at (Center of Intro_Arthas_Start <gen>) facing 350.00 degrees
    Set Arthas = (Last created unit)
    Hero - Set Arthas Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Death Pact
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Animate Dead
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    -------- Create Satchet --------
    Unit - Create 1 Sachet for Neutral Passive at (Center of Intro_Arthas_Start <gen>) facing 90.00 degrees
    Set Satchet01 = (Last created unit)
Create Anubarak
  Events
  Conditions
  Actions
    -------- Create Default Hero --------
    Unit - Create 1 Crypt Lord for P3_Beetle at (Center of Intro_Anubarak_Start <gen>) facing 190.00 degrees
    Set Anubarak = (Last created unit)
    Hero - Set Anubarak Hero-level to 3, Hide level-up graphics
    Hero - Learn skill for Anubarak: Undead Crypt Lord - Carrion Beetles
    Hero - Learn skill for Anubarak: Undead Crypt Lord - Impale
    Hero - Learn skill for Anubarak: Undead Crypt Lord - Spiked Carapace
    -------- Create Satchet --------
    Unit - Create 1 Sachet for P3_Beetle at (Center of Intro_Anubarak_Start <gen>) facing 90.00 degrees
    Set Satchet02 = (Last created unit)
Load Default Arthas
  Events
  Conditions
  Actions
    -------- Add Items --------
    Hero - Create Staff of Reanimation and give it to Arthas
    Hero - Create Circlet of Nobility and give it to Arthas
    Hero - Create Mana Stone and give it to Arthas
Load Default Anubarak
  Events
  Conditions
  Actions
    -------- Add Items --------
    Hero - Create Ring of Protection +2 and give it to Anubarak
    Hero - Create Pendant of Energy and give it to Anubarak
    Hero - Create Potion of Greater Healing and give it to Anubarak
Experience Cap Arthas
  Events
    Unit - A unit owned by Player 7 (Green) Gains a level
  Conditions
    (Leveling Hero) Equal to Arthas
    (Hero level of (Leveling Hero)) Greater than or equal to 10
  Actions
    Hero - Disable experience gain for Arthas
    Set ExpDisabledForArthas = True
Experience Cap Anubarak
  Events
    Unit - A unit owned by Player 12 (Brown) Gains a level
  Conditions
    (Leveling Hero) Equal to Anubarak
    (Hero level of (Leveling Hero)) Greater than or equal to 5
  Actions
    Hero - Disable experience gain for Anubarak
    Set ExpDisabledForAnubarak = True
Before running this in a cinematic, do the following:
- Set "RevivalHero" to the hero you wish to revive.
- Set "RevivalSpot" to the place at which you wish the hero to be revived.

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

After the cinematic, move the hero instantly to RevivalReturnSpot.
Cinematic Revival
  Events
  Conditions
  Actions
    Set RevivalReturnSpot = (Position of RevivalHero)
    Unit - Move RevivalHero instantly to RevivalSpot
    If ((RevivalHero is alive) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Hero - Instantly revive RevivalHero at RevivalSpot, Hide revival graphics
    Set RevivalReturnSpot = RevivalSpot
    Set RevivalAltar = (Random unit from (Units owned by (Owner of RevivalHero) matching ((((Matching unit) is alive) Equal to True) and ((((Unit-type of (Matching unit)) Equal to Altar of Kings) or ((Unit-type of (Matching unit)) Equal to Altar of Storms)) or (((Unit-type of (Matching unit)) Equal to Altar of Darkness) or ((Unit-type of (Matching unit)) Equal to Altar of Elders))))))
    If (RevivalAltar Not equal to No unit) then do (Set RevivalReturnSpot = ((Position of RevivalAltar) offset by (0, -128.00))) else do (Do nothing)
Intro Cinematic Q
  Events
  Conditions
  Actions
    Set InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Trigger - Run Intro_Setup <gen> (checking conditions)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_01 for (Picked player) over 0 seconds
    -------- Fade In --------
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Trigger - Turn on Intro_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas01 <gen> and display Northrend. It feels like a lifetime since I was last here.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas01 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Arthas face Necromancer 0102 <gen> over 0 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_02 for (Picked player) over 10.00 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas03 <gen> and display Something out there is threatening the Lich King. We must reach Icecrown quickly.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas03 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Necromancer 0102 <gen> face Arthas over 0 seconds
    Cinematic - Send transmission to (All players) from Necromancer 0102 <gen> named Necromancer: Play L04Necromancer04 <gen> and display My king, we'll need to establish a base here first, but this island is nearly devoid of resources.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Necromancer04 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_03 for (Picked player) over 0.00 seconds
    Unit - Create 1 Dragonhawk Rider (Cloud) for P5_Kael at (Center of IntroDragonHawk01 <gen>) facing Default building facing degrees
    Set DragonHawk01 = (Last created unit)
    Unit - Change color of DragonHawk01 to Red
    AI - Ignore DragonHawk01's guard position
    Unit - Create 1 Dragonhawk Rider (Cloud) for P5_Kael at (Center of IntroDragonHawk02 <gen>) facing Default building facing degrees
    Set DragonHawk02 = (Last created unit)
    Unit - Change color of DragonHawk02 to Red
    AI - Ignore DragonHawk02's guard position
    Unit - Create 1 Dragonhawk Rider (Cloud) for P5_Kael at (Center of IntroDragonHawk03 <gen>) facing Default building facing degrees
    Set DragonHawk03 = (Last created unit)
    Unit - Change color of DragonHawk03 to Red
    AI - Ignore DragonHawk03's guard position
    Unit - Order DragonHawk01 to Move To (Center of MoveDragonHawk01 <gen>)
    Unit - Order DragonHawk02 to Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order DragonHawk03 to Move To (Center of MoveDragonHawk03 <gen>)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Arthas face DragonHawk01 over 0 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas05 <gen> and display What the--. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas05 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.25 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_04 for (Picked player) over 4.00 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas06 <gen> and display They look like high elves! What are they doing here?. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas06 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_PrinceArthas for (Picked player) over 0.00 seconds
    Cinematic - Send transmission to (All players) from DragonHawk01 named Blood Elf: Play L04BloodElf07 <gen> and display Prince Arthas, we are the blood elves! We have sworn to avenge the ghosts of Quel'Thalas. This dead land... will be cleansed!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04BloodElf07 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_NorthrendBelongsA for (Picked player) over 0.00 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas08 <gen> and display Northrend belongs to the Scourge, elf! You made a terrible mistake by coming here. Slay them!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas08 <gen> to be 1.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop the currently playing music theme
    Unit - Make Arthas face Necromancer 0102 <gen> over 0 seconds
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play Arthas' Theme, skipping the first 77.00 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_06 for (Picked player) over 0.00 seconds
    Unit - Order CryptFiend01 to Undead Crypt Fiend - Unburrow
    Unit - Order CryptFiend02 to Undead Crypt Fiend - Unburrow
    Unit - Order CryptFiend03 to Undead Crypt Fiend - Unburrow
    Unit - Order CryptFiend04 to Undead Crypt Fiend - Unburrow
    Sound - Play EatTreeTarget1 <gen> at 90.00% volume, located at (Center of Intro_Anubarak_Start <gen>) with Z offset 0
    Wait 1.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Lock camera target for (Picked player) to Anubarak, offset by (0, 0) using Default rotation
    Unit - Set Anubarak movement speed to 300.00
    Unit - Order Anubarak to Attack-Move To (Center of Beetle_Anubarak_Start <gen>)
    Unit - Order CryptFiend01 to Attack-Move To (Random point in Intro_Attack_Spot <gen>)
    Unit - Order CryptFiend02 to Attack-Move To (Random point in Intro_Attack_Spot <gen>)
    Unit - Order CryptFiend03 to Attack-Move To (Random point in Intro_Attack_Spot <gen>)
    Unit - Order CryptFiend04 to Attack-Move To (Random point in Intro_Attack_Spot <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_05 for (Picked player) over 10.00 seconds
    Cinematic - Send transmission to (All players) from Anubarak named Anub'arak: Play L04Anubarak24 <gen> and display Onward for the Scourge! Slay them in Ner'zhul's name!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak24 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Arthas face Anubarak over 0 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas25 <gen> and display Who the--?. Modify duration: Add 0 seconds and Don't wait
    Sound - Set Animation and Spell Sounds to 100%
    Sound - Set Combat Sounds to 100%
    Wait for L04Arthas25 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order IntroGhoul01 to Attack-Move To (Center of MoveDragonHawk03 <gen>)
    Unit - Order Arthas to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Make Necromancer 0102 <gen> face (Center of RaiseSkeleton02 <gen>) over 0 seconds
    Unit - Make Necromancer 0103 <gen> face (Center of RaiseSkeleton02 <gen>) over 0 seconds
    Unit - Make Necromancer 0104 <gen> face (Center of RaiseSkeleton02 <gen>) over 0 seconds
    Animation - Play Necromancer 0102 <gen>'s spell attack animation
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton01 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton01 = (Last created unit)
    Unit - Remove Corpse01 from the game
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton02 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton02 = (Last created unit)
    Unit - Remove Corpse02 from the game
    Wait 0.20 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Necromancer 0103 <gen>'s spell attack animation
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton03 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton03 = (Last created unit)
    Unit - Remove Corpse03 from the game
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton04 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton04 = (Last created unit)
    Unit - Remove Corpse04 from the game
    Wait 0.20 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Necromancer 0104 <gen>'s spell attack animation
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton05 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton05 = (Last created unit)
    Unit - Remove Corpse05 from the game
    Unit - Create 1 Skeletal Mage for AP07_SharedPlayer at (Center of RaiseSkeleton06 <gen>) facing Default building facing degrees
    Unit - Add a 60 second Raise Dead expiration timer to (Last created unit)
    Unit - Order (Last created unit) to Attack-Move To (Center of MoveDragonHawk01 <gen>)
    Set RaiseSkeleton06 = (Last created unit)
    Unit - Remove Corpse06 from the game
    Wait 0.90 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Necromancer 0102 <gen>'s animation
    Animation - Reset Necromancer 0103 <gen>'s animation
    Animation - Reset Necromancer 0104 <gen>'s animation
    Unit - Order Necromancer 0102 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order Necromancer 0103 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order Necromancer 0104 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Wait until ((DragonHawk01 is dead) Equal to True), checking every 0.20 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait until ((DragonHawk02 is dead) Equal to True), checking every 0.20 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait until ((DragonHawk03 is dead) Equal to True), checking every 0.20 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Pause Arthas
    Unit - Pause Anubarak
    Unit - Make Arthas face Anubarak over 0 seconds
    Unit - Make Anubarak face Arthas over 0 seconds
    Unit - Order Necromancer 0102 <gen> to Move To (Center of StartGameNecro01 <gen>)
    Unit - Order Necromancer 0103 <gen> to Move To (Center of StartGameNecro02 <gen>)
    Unit - Order Necromancer 0104 <gen> to Move To (Center of StartGameNecro03 <gen>)
    Unit - Order CryptFiend01 to Move To (Random point in StartGameFiend01 <gen>)
    Unit - Order CryptFiend02 to Move To (Random point in StartGameFiend02 <gen>)
    Unit - Order CryptFiend03 to Move To (Random point in StartGameFiend03 <gen>)
    Unit - Order CryptFiend04 to Move To (Random point in StartGameFiend04 <gen>)
    Unit - Order IntroGhoul01 to Move To (Random point in StartGameGhoul01 <gen>)
    Unit - Order IntroGhoul02 to Move To (Random point in StartGameGhoul02 <gen>)
    Unit - Order IntroGhoul03 to Move To (Random point in StartGameGhoul03 <gen>)
    Unit - Order RaiseSkeleton01 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Unit - Order RaiseSkeleton02 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Unit - Order RaiseSkeleton03 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Unit - Order RaiseSkeleton04 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Unit - Order RaiseSkeleton05 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Unit - Order RaiseSkeleton06 to Move To (Center of Gameplay_Arthas_Start <gen>)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas26 <gen> and display Thanks for the assistance, mighty one.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas26 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Arthas face Anubarak over 0 seconds
    Unit - Make Anubarak face Arthas over 0 seconds
    Cinematic - Send transmission to (All players) from Anubarak named Anub'arak: Play L04Anubarak27 <gen> and display The Lich King sent me to aid you, death knight. I am Anub'arak, ancient king of Azjol-Nerub.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak27 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas28 <gen> and display I welcome your aid, Anub'arak, but we have little time for pleasantries. We must reach Icecrown immediately!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas28 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Intro_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_Beach_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Start Game --------
    Trigger - Run Gameplay_01 <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Intro Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 7 (Green) skips a cinematic sequence
    Player - Player 12 (Brown) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set IntroSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_Beach_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Start Game --------
    Trigger - Run Gameplay_01 <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove Intro_Cinematic_Q <gen> from the trigger queue
The disabled triggers were how they were originally
Intro Setup
  Events
  Conditions
  Actions
    -------- Set Sky/Fog --------
    Environment - Set sky to Lordaeron Winter Sky
    Environment - Set fog to style Linear, z-start 400.00, z-end 5000.00, density 0 and color (100%, 100%, 100%)
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas
    Hero - Disable experience gain for Anubarak
    Player - Disable Unholy Aura for AP04_Arthas
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Pause Undead Frigate 0030 <gen>
    Unit - Pause Undead Frigate 0031 <gen>
    Unit - Make Undead Frigate 0030 <gen> Invulnerable
    Unit - Make Undead Frigate 0031 <gen> Invulnerable
    Unit - Make Undead Transport Ship 0028 <gen> Invulnerable
    Unit - Make Undead Transport Ship 0029 <gen> Invulnerable
    Unit - Unpause Arthas
    Unit - Unpause Anubarak
    Unit - Unpause CryptFiend01
    Unit - Unpause CryptFiend02
    Unit - Unpause CryptFiend03
    Unit - Unpause CryptFiend04
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP07_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Remove Arthas from HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Make Corpses --------
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton01 <gen>)
    Set Corpse01 = (Last created unit)
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton02 <gen>)
    Set Corpse02 = (Last created unit)
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton03 <gen>)
    Set Corpse03 = (Last created unit)
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton04 <gen>)
    Set Corpse04 = (Last created unit)
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton05 <gen>)
    Set Corpse05 = (Last created unit)
    Unit - Create a Ghoul corpse for AP07_SharedPlayer at (Center of RaiseSkeleton06 <gen>)
    Set Corpse06 = (Last created unit)
Intro Cleanup
  Events
  Conditions
  Actions
    Player - Enable Unholy Aura for AP04_Arthas
    -------- Move Units --------
    Unit - Set Anubarak movement speed to 270.00
    Unit - Move Arthas instantly to (Center of Gameplay_Arthas_Start <gen>), facing 255.00 degrees
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause Undead Frigate 0030 <gen>
    Unit - Unpause Undead Frigate 0031 <gen>
    Unit - Make Undead Frigate 0030 <gen> Vulnerable
    Unit - Make Undead Frigate 0031 <gen> Vulnerable
    Unit - Make Undead Transport Ship 0028 <gen> Vulnerable
    Unit - Make Undead Transport Ship 0029 <gen> Vulnerable
    Unit - Unpause all units
    -------- Make attacking units --------
    -------- $$$$$ Remove Dragon Hawks $$$$$ --------
    Unit - Remove DragonHawk01 from the game
    Unit - Remove DragonHawk02 from the game
    Unit - Remove DragonHawk03 from the game
    -------- $$$$$ Remove Skeletons $$$$$ --------
    Unit - Remove RaiseSkeleton01 from the game
    Unit - Remove RaiseSkeleton02 from the game
    Unit - Remove RaiseSkeleton03 from the game
    Unit - Remove RaiseSkeleton04 from the game
    Unit - Remove RaiseSkeleton05 from the game
    Unit - Remove RaiseSkeleton06 from the game
    Unit - Order IntroCryptFiend01 to Attack-Move To (Center of MoveDragonHawk03 <gen>)
    Unit - Order IntroCryptFiend02 to Attack-Move To (Center of MoveDragonHawk03 <gen>)
    Unit - Order IntroCryptFiend03 to Attack-Move To (Center of MoveDragonHawk03 <gen>)
    Unit - Order IntroGhoul01 to Attack-Move To (Center of MoveDragonHawk03 <gen>)
    Unit - Order Arthas to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order Necromancer 0102 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order Necromancer 0103 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Order Necromancer 0104 <gen> to Attack-Move To (Center of MoveDragonHawk02 <gen>)
    Unit - Move Anubarak instantly to (Center of Gameplay_Anubarak_Start <gen>)
    Unit - Move Arthas instantly to (Center of Gameplay_Arthas_Start <gen>)
    Unit - Move CryptFiend01 instantly to (Center of StartGameFiend01 <gen>)
    Unit - Move CryptFiend02 instantly to (Center of StartGameFiend02 <gen>)
    Unit - Move CryptFiend03 instantly to (Center of StartGameFiend03 <gen>)
    Unit - Move CryptFiend04 instantly to (Center of StartGameFiend04 <gen>)
    Unit - Move Necromancer 0102 <gen> instantly to (Center of StartGameNecro01 <gen>)
    Unit - Move Necromancer 0103 <gen> instantly to (Center of StartGameNecro02 <gen>)
    Unit - Move Necromancer 0104 <gen> instantly to (Center of StartGameNecro03 <gen>)
    Unit - Move Ghoul 0024 <gen> instantly to (Center of StartGameGhoul01 <gen>)
    Unit - Move Ghoul 0020 <gen> instantly to (Center of StartGameGhoul02 <gen>)
    Unit - Move Ghoul 0113 <gen> instantly to (Center of StartGameGhoul03 <gen>)
    Unit - Replace CryptFiend01 with a Crypt Fiend using The old unit's relative life and mana
    Unit - Replace CryptFiend02 with a Crypt Fiend using The old unit's relative life and mana
    Unit - Replace CryptFiend03 with a Crypt Fiend using The old unit's relative life and mana
    Unit - Replace CryptFiend04 with a Crypt Fiend using The old unit's relative life and mana
    Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
    Unit - Change ownership of Satchet02 to AP12_Anubarak and Change color
    Unit Group - Pick every unit in (Units owned by Player 3 (Teal)) and do (Change ownership of (Picked unit) to AP07_SharedPlayer and Change color)
    Unit Group - Pick every unit in NagaBeetleGroup and do (Remove (Picked unit) from the game)
    Player - Make Crypt Fiend Available for training/construction by AP07_SharedPlayer
    Player - Set the current research level of Ruwb (techcode) to 1 for AP07_SharedPlayer
    Player - Set the current research level of Rubu (techcode) to 1 for AP07_SharedPlayer
    Unit - Unpause Arthas
    Unit - Unpause Anubarak
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForAnubarak Equal to False) then do (Enable experience gain for Anubarak) else do (Do nothing)
    -------- Restore Selection --------
    Selection - Select Arthas for AP04_Arthas
    Selection - Select Anubarak for AP12_Anubarak
    -------- Reset Sky/Fog --------
    Environment - Reset fog to default values
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to (Target of gg_cam_Intro_Skipped) over 0 seconds
    -------- Initial Harvesting --------
    Unit Group - Pick every unit in (Units in GoldPeons <gen> owned by AP07_SharedPlayer) and do (Order (Picked unit) to Harvest Nearby Gold)
    Unit Group - Pick every unit in (Units in LumberPeons <gen> owned by AP07_SharedPlayer) and do (Order (Picked unit) to Harvest Nearby Lumber)
    -------- Wipe Visibility --------
    Visibility - Create an initially Enabled visibility modifier for AP04_Arthas emitting Black mask across (Playable map area)
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP12_Anubarak emitting Black mask across (Playable map area)
    Visibility - Destroy (Last created visibility modifier)
Gameplay 01
  Events
  Conditions
  Actions
    -------- Do initial gameplay stuff, like quest messages and hints --------
    Wait 5.00 seconds
    Trigger - Add Dragonhawks_Die_Q <gen> to the trigger queue (Checking conditions)
    Wait 30.00 seconds
    Trigger - Run Hint_Undead_Burrow <gen> (checking conditions)
Penguin Cinematic
  Events
    Unit - A unit enters Penguin_Cinematic <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Wait Campaign quest delay seconds
    Trigger - Add Penguin_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Penguin Cinematic Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Penguin_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Penguin_King_01 for (Picked player) over 0 seconds
        Camera - Apply gg_cam_Penguin_King_02 for (Picked player) over 18.00 seconds
    Wait 0.50 seconds
    -------- Fade In --------
    Cinematic - Fade in over 2.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.50 seconds
    Trigger - Turn on Penguin_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Destructible - Open Icy Gate 0500 <gen>
    Sound - Play Lever <gen> at 100% volume, located at (Center of Penguin_Gate <gen>) with Z offset 0
    Wait 0.50 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order CinematicArthas to Move To (Center of Arthas_Meet_Penguin <gen>)
    Sound - Play PenguinWhat1 <gen> at 100% volume, attached to Penguin King 0208 <gen>
    Wait 1.70 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play PenguinWhat2 <gen> at 100% volume, attached to Penguin King 0208 <gen>
    Animation - Play Penguin King 0208 <gen>'s stand animation, using only Rare animations
    Wait 1.70 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play SoulGem <gen> at 100% volume, located at (Center of Penguin_Item_02 <gen>) with Z offset 0
    Wait 0.50 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Center of Penguin_Item <gen>) using Objects\Spawnmodels\Other\ToonBoom\ToonBoom.mdl
    Wait 0.50 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Item - Create Scourge Shoulder Plates at (Center of Penguin_Item <gen>)
    Set PenguinItem = (Last created item)
    Quest - Display to (All players) the Secret message: |cffffcc00SECRET FOUND|rPenguin King
    Sound - Play PenguinWhat2 <gen> at 100% volume, attached to Penguin King 0208 <gen>
    Wait 2.40 seconds
    If (PenguinSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Penguin_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Penguin_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    -------- Run Hint Line --------
    Set InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Penguin Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 7 (Green) skips a cinematic sequence
    Player - Player 12 (Brown) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set PenguinSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Penguin_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Quest Update --------
    -------- Run Hint Line --------
    Set InCinematic = False
    Trigger - Remove Penguin_Cinematic_Q <gen> from the trigger queue
Penguin Setup
  Events
  Conditions
  Actions
    -------- Set Unit Group --------
    -------- Save Camera Position --------
    Set CameraReturnPoint = (Target of current camera view)
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Save Selection --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Set SelectedUnits = (Units currently selected by (Picked player))
        Selection - Clear selection
    -------- Revive Hero --------
    Set RevivalHero = Arthas
    Set RevivalSpot = (Center of Penguin_Arthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set ArthasReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Arthas to AP04_Arthas and Change color
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Death Knight (Evil) for AP07_SharedPlayer at (Center of Penguin_Arthas_Start <gen>) facing Default building facing degrees
    Set CinematicArthas = (Last created unit)
    -------- Revive Hero --------
    Set RevivalHero = Anubarak
    Set RevivalSpot = (Center of Beetle_Anubarak_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set AnubarakReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
    Hero - Instantly revive Satchet02 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Crypt Lord for P3_Beetle at (Center of Beetle_Anubarak_Start <gen>) facing Default building facing degrees
    Set CinematicAnubarak = (Last created unit)
    Hero - Learn skill for CinematicAnubarak: Undead Crypt Lord - Spiked Carapace
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas
    Hero - Disable experience gain for Anubarak
    Player - Disable Unholy Aura for AP04_Arthas
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause CinematicAnubarak
    Unit - Unpause CinematicArthas
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP07_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Pick every unit in (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Pick every unit in (Units owned by AP12_Anubarak matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Remove Buffs --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Unit Group - Pick every unit in (Units owned by (Picked player)) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P1_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P2_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Comradeship
Penguin Cleanup
  Events
  Conditions
  Actions
    Item - Remove PenguinItem
    Item - Create Scourge Shoulder Plates at (Center of Penguin_Item <gen>)
    Unit - Remove CinematicAnubarak from the game
    Unit - Remove CinematicArthas from the game
    Player - Enable Unholy Aura for AP04_Arthas
    Animation - Reset Penguin King 0208 <gen>'s animation
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Remove Extra Units --------
    -------- Give Units to Player --------
    Unit Group - Pick every unit in (Units owned by Player 3 (Teal)) and do (Move (Picked unit) instantly to (Random point in Intro_Move_Spot <gen>))
    Unit Group - Pick every unit in (Units owned by Player 3 (Teal)) and do (Rescue (Picked unit) for Player 4 (Purple) and Change color)
    Unit Group - Pick every unit in NagaBeetleGroup and do (Remove (Picked unit) from the game)
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForAnubarak Equal to False) then do (Enable experience gain for Anubarak) else do (Do nothing)
    -------- Return Heroes --------
    Unit - Move Arthas instantly to ArthasReturnSpot
    Unit - Move Anubarak instantly to AnubarakReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnits
    -------- Reset Sky --------
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to (Position of Anubarak) over 0 seconds
    -------- Start Naga AI --------
Dragon Cinematic Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Dragon_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Dragon_01 for (Picked player) over 0 seconds
        Camera - Apply gg_cam_Dragon_02 for (Picked player) over 14.00 seconds
    Unit - Make CinematicAnubarak face (Center of Dragon_Pen <gen>) over 0 seconds
    Unit - Make CinematicArthas face (Center of Dragon_Pen <gen>) over 0 seconds
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Turn on Dragon_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas39A <gen> and display At least I still have enough power to do this.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas39A <gen> to be 0 seconds from finished playing
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play CinematicArthas's spell - 1 animation
    Wait 0.50 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play FeralSpiritTarget1 <gen> at 90.00% volume, attached to CinematicArthas
    Wait 0.50 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_DragonRevive for (Picked player) over 0.00 seconds
    Animation - Play the stand animation for all doodads of type YOr2 (doodadcode) within Frost01 <gen>
    Sound - Play FlareTarget1 <gen> at 100% volume, located at (Center of Frost01 <gen>) with Z offset 0
    Wait 0.30 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play the stand animation for all doodads of type YOr2 (doodadcode) within Frost02 <gen>
    Sound - Play FlareTarget101 <gen> at 100% volume, located at (Center of Frost02 <gen>) with Z offset 0
    Wait 0.30 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play the stand animation for all doodads of type YOr2 (doodadcode) within Frost03 <gen>
    Sound - Play FlareTarget102 <gen> at 100% volume, located at (Center of Frost03 <gen>) with Z offset 0
    Wait 0.30 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play the stand animation for all doodads of type YOr2 (doodadcode) within Frost04 <gen>
    Sound - Play FlareTarget103 <gen> at 100% volume, located at (Center of Frost04 <gen>) with Z offset 0
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Sway the camera source for (Picked player) with magnitude (20.00 x (Random real number between 0.60 and 1.40)) and velocity (1000.00 x (Random real number between 0.60 and 1.40))
    Sound - Set volume of EarthquakeLoop1 <gen> to 80.00%
    Sound - Play EarthquakeLoop1 <gen>
    Special Effect - Create a special effect at (SapphironDyingSpot offset by (0, 0)) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
    Sound - Play SoulPreservation <gen> at 100.00% volume, located at (Center of Dragon_Arthas_Start <gen>) with Z offset 0
    Cinematic - Fade out over 0.30 seconds using texture White Mask and color (100.00%, 100.00%, 100.00%) with 0% transparency
    Wait 0.30 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Destroy (Last created special effect)
    Unit - Create 1 Sapphiron (undead) for AP07_SharedPlayer at SapphironDyingSpot facing 200.00 degrees
    Unit - Remove Sapphiron from the game
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (100.00%, 100.00%, 100.00%) with 0% transparency
    Wait 1.20 seconds
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Stop swaying/shaking the camera for (Picked player)
    Sound - Stop EarthquakeLoop1 <gen> After fading
    Animation - Play the death animation for all doodads of type YOr2 (doodadcode) within Frost01 <gen>
    Animation - Play the death animation for all doodads of type YOr2 (doodadcode) within Frost02 <gen>
    Animation - Play the death animation for all doodads of type YOr2 (doodadcode) within Frost03 <gen>
    Animation - Play the death animation for all doodads of type YOr2 (doodadcode) within Frost04 <gen>
    Set SapphironSaved = True
    Set Sapphiron_Undead = (Last created unit)
    Player - Set the current research level of Rufb (techcode) to 1 for AP07_SharedPlayer
    Cinematic - Send transmission to (All players) from CinematicAnubarak named Anub'arak: Play L04Anubarak40 <gen> and display Most impressive. But you need to conserve your energies, death knight. We have a long road ahead of us.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak40 <gen> to be 0 seconds from finished playing
    If (DragonSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Dragon_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Dragon_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    Trigger - Run Quest_Dragon_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Destructible - Kill Icey Rock 0501 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0505 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0509 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0507 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0508 <gen>
    Set InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Dragon Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 7 (Green) skips a cinematic sequence
    Player - Player 12 (Brown) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set DragonSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Dragon_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Quest Update --------
    Trigger - Run Quest_Dragon_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Destructible - Kill Icey Rock 0501 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0505 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0509 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0507 <gen>
    Wait 0.10 seconds
    Destructible - Kill Icey Rock 0508 <gen>
    Set InCinematic = False
    Trigger - Remove Dragon_Cinematic_Q <gen> from the trigger queue
Dragon Setup
  Events
  Conditions
  Actions
    -------- Save Camera Position --------
    Set CameraReturnPoint = (Target of current camera view)
    -------- Set Sky/Fog --------
    Environment - Set fog to style Linear, z-start 200.00, z-end 5000.00, density 0 and color (100%, 100%, 100%)
    Environment - Set sky to Lordaeron Summer Sky
    -------- Save Selection --------
    Set SelectedUnits = (Units currently selected by AP07_SharedPlayer)
    Selection - Clear selection
    -------- Revive Hero --------
    Set RevivalHero = Arthas
    Set RevivalSpot = (Center of Dragon_Arthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set ArthasReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Arthas to AP04_Arthas and Change color
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Death Knight (Evil) for AP07_SharedPlayer at (Center of Dragon_Arthas_Start <gen>) facing Default building facing degrees
    Set CinematicArthas = (Last created unit)
    -------- Revive Hero --------
    Set RevivalHero = Anubarak
    Set RevivalSpot = (Center of Dragon_Anubarak_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set AnubarakReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
    Hero - Instantly revive Satchet02 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Crypt Lord for P3_Beetle at (Center of Dragon_Anubarak_Start <gen>) facing Default building facing degrees
    Set CinematicAnubarak = (Last created unit)
    Hero - Learn skill for CinematicAnubarak: Undead Crypt Lord - Spiked Carapace
    -------- Disable XP Gain --------
    Hero - Disable experience gain for CinematicArthas
    Hero - Disable experience gain for CinematicAnubarak
    Player - Disable Unholy Aura for AP04_Arthas
    Player - Disable Carrion Beetles for AP12_Anubarak
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause CinematicArthas
    Unit - Unpause CinematicAnubarak
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP07_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Pick every unit in (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Pick every unit in (Units owned by AP12_Anubarak matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Remove CinematicArthas from HiddenUnits
    Unit Group - Remove CinematicAnubarak from HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    Item - Pick every item in (Playable map area) and do (Hide (Picked item))
    -------- Remove Buffs --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Unit Group - Pick every unit in (Units owned by (Picked player)) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P1_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P2_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Arthas' Theme, skipping the first 15.75 seconds
    -------- Create Dead Dragon Body --------
    Set SapphironDyingSpot = (Center of Dead_Dragon <gen>)
    Unit - Create 1 Sapphiron (living) for Neutral Hostile at SapphironDyingSpot facing (Position of Arthas)
    Set Sapphiron = (Last created unit)
    Unit - Pause Sapphiron
    Unit - Make Sapphiron Invulnerable
    Unit - Remove All buffs from Sapphiron
    Animation - Play Sapphiron's walk - 2 animation
    Animation - Change Sapphiron's animation speed to 0.00% of its original speed
    Animation - Change Sapphiron flying height to 25.00 at 1000.00
Dragon Cleanup
  Events
  Conditions
  Actions
    Destructible - Kill Icey Rock 0501 <gen>
    Destructible - Kill Icey Rock 0505 <gen>
    Destructible - Kill Icey Rock 0509 <gen>
    Destructible - Kill Icey Rock 0507 <gen>
    Destructible - Kill Icey Rock 0508 <gen>
    Player - Enable Unholy Aura for AP04_Arthas
    Player - Enable Carrion Beetles for AP12_Anubarak
    Unit - Remove CinematicAnubarak from the game
    Unit - Remove CinematicArthas from the game
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    Item - Pick every item in (Playable map area) and do (Show (Picked item))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Give Units to Player --------
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForAnubarak Equal to False) then do (Enable experience gain for Anubarak) else do (Do nothing)
    -------- Return Heroes --------
    Unit - Move Arthas instantly to ArthasReturnSpot
    Unit - Move Anubarak instantly to AnubarakReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnits
    -------- Reset Sky/Fog --------
    Environment - Reset fog to default values
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for AP07_SharedPlayer to CameraReturnPoint over 0 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in (Units owned by AP07_SharedPlayer of type Sapphiron (undead))) Equal to 0
      Then - Actions
        Unit - Create 1 Sapphiron (undead) for AP07_SharedPlayer at SapphironDyingSpot facing 200.00 degrees
        Set SapphironSaved = True
        Set Sapphiron_Undead = (Last created unit)
        Player - Set the current research level of Rufb (techcode) to 1 for AP07_SharedPlayer
        Unit - Remove Sapphiron from the game
      Else - Actions
        Do nothing
Blood Elf Cinematic
  Events
    Unit - A unit owned by Player 2 (Blue) Dies
  Conditions
    GameOver Equal to False
    (Count structures controlled by Player 2 (Blue) (Exclude incomplete structures)) Equal to 0
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Blood_Elf_Base_Detroyed_Q <gen> to the trigger queue (Checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Add Blood_Elf_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Blood Elf Base Detroyed Q
  Events
  Conditions
  Actions
    Trigger - Run Quest_Base_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Blood Elf Cinematic Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Blood_Elf_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_01 for (Picked player) over 0 seconds
    -------- Fade In --------
    Unit - Make CinematicAnubarak face CinematicArthas over 0 seconds
    Unit - Make CinematicArthas face CinematicAnubarak over 0 seconds
    Unit - Create 1 Footman for Player 1 (Red) at (Center of BloodElf_Arthas_Start <gen>) facing (Position of (Triggering unit))
    Set ArthasFaceThisGuy = (Last created unit)
    Unit - Pause ArthasFaceThisGuy
    Unit - Hide ArthasFaceThisGuy
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Turn on Blood_Elf_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas50 <gen> and display These elves are pathetic. It's no wonder we destroyed their homeland so easily. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas50 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_02 for (Picked player) over 0.00 seconds
    Special Effect - Create a special effect at (Center of BloodElf_Kael_Start <gen>) using Abilities\Spells\Human\MassTeleport\MassTeleportTo.mdl
    Sound - Play MassTeleportTarget <gen> at 90.00% volume, located at (Center of BloodElf_Kael_Start <gen>) with Z offset 0
    Wait 1.40 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Destroy (Last created special effect)
    Unit - Create 1 Blood Mage for Player 1 (Red) at (Center of BloodElf_Kael_Start <gen>) facing (Position of Arthas)
    Set Kael = (Last created unit)
    Unit - Pause Kael
    Wait 0.20 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make CinematicArthas face Kael over 0 seconds
    Unit - Make CinematicAnubarak face Kael over 0 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_03 for (Picked player) over 5.00 seconds
    Cinematic - Send transmission to (All players) from Kael named Prince Kael'thas: Play L04Kael51 <gen> and display Pity I wasn't there to stop you. It's been a long time, Arthas.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Kael51 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas52 <gen> and display Prince Kael'thas. I haven't seen you since... You lead these elves? . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas52 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Kael named Prince Kael'thas: Play L04Kael53 <gen> and display This group, at least. What you faced here was merely a scouting force. Defeating Lord Illidan's army will be far more difficult. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Kael53 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas54 <gen> and display Illidan? He's behind this invasion? . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas54 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Kael named Prince Kael'thas: Play L04Kael55 <gen> and display He is. Our forces are vast, Arthas. Even now, they march upon the Icecrown Glacier. You'll never make it in time to save your precious Lich King. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Kael55 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.25 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Kael named Prince Kael'thas: Play L04Kael56 <gen> and display Consider this payment for Quel'Thalas... and other insults. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Kael56 <gen> to be 3.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Center of BloodElf_Kael_Start <gen>) using Abilities\Spells\Human\MassTeleport\MassTeleportTo.mdl
    Sound - Play MassTeleportTarget <gen> at 80.00% volume, located at (Center of BloodElf_Kael_Start <gen>) with Z offset 0
    Wait 1.40 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Remove Kael from the game
    Special Effect - Destroy (Last created special effect)
    Sound - Stop MassTeleportTarget <gen> After fading
    Wait for L04Kael56 <gen> to be 0.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_04A for (Picked player) over 0.00 seconds
        Camera - Apply gg_cam_Blood_Elf_04B for (Picked player) over 9.00 seconds
    Wait 0.40 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop the currently playing music theme
    Wait 1.00 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make CinematicAnubarak face CinematicArthas over 0 seconds
    Animation - Lock CinematicArthas's Chest to face ArthasFaceThisGuy, offset by (0, 0, -700.00)
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas36 <gen> and display Aarrghh.... Modify duration: Add 0 seconds and Don't wait
    Sound - Play Lich King's Theme
    Cinematic - Apply a filter over 1.40 seconds using Modulated blending on texture White Mask, starting with color (100%, 0.00%, 0.00%) and 100% transparency and ending with color (100.00%, 0%, 0.00%) and 10.00% transparency
    Wait for L04Arthas36 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change CinematicArthas blend time to 0.80
    Animation - Reset CinematicArthas's body-part facing
    Cinematic - Send transmission to (All players) from a Player 4 (Purple) Lich King (cinematic campaign unit) named The Lich King at (Center of (Playable map area)): Play L04LichKing37 <gen> and display Make haste! My enemies draw near! Our time is almost spent!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04LichKing37 <gen> to be 5.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2.00 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset CinematicArthas's body-part facing
    Wait 2.00 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Lock CinematicArthas's Chest to face ArthasFaceThisGuy, offset by (0, 0, -700.00)
    Wait for L04LichKing37 <gen> to be 0.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_04 for (Picked player) over 0.00 seconds
    Cinematic - Fade in over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 100.00% transparency
    Cinematic - Send transmission to (All players) from CinematicAnubarak named Anub'arak: Play L04Anubarak38 <gen> and display Are you well, death knight?. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak38 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Lock CinematicArthas's Chest to face ArthasFaceThisGuy, offset by (0, 0, 90.00)
    Animation - Reset CinematicArthas's body-part facing
    Unit - Make CinematicArthas face CinematicAnubarak over 0 seconds
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas39 <gen> and display My powers are weakening, but I'll be all right.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas39 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.00 seconds
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make CinematicArthas face CinematicAnubarak over 0 seconds
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas57 <gen> and display He's right. We'll never reach the glacier in time!. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas57 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicAnubarak named Anub'arak: Play L04Anubarak58 <gen> and display There is another route we might take, death knight. The ancient, shattered kingdom of Azjol-Nerub lies deep below us. Though it has fallen on dark times, it could provide us a direct shortcut to the glacier.. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak58 <gen> to be 13.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change CinematicArthas blend time to 0.15
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Hide Blue Dragonspawn Lord 0046 <gen>
    Unit - Hide Blue Dragonspawn Sorcerer 0119 <gen>
    Unit - Hide Blue Dragonspawn Sorcerer 0100 <gen>
    Unit - Hide Blue Drake 0099 <gen>
    Unit - Hide Blue Drake 0098 <gen>
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_05 for (Picked player) over 0.00 seconds
        Camera - Apply gg_cam_Blood_Elf_05A for (Picked player) over 5.00 seconds
    Wait for L04Anubarak58 <gen> to be 7.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Blood_Elf_04 for (Picked player) over 0.00 seconds
    Wait for L04Anubarak58 <gen> to be 0.00 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas59 <gen> and display We have little choice. Lead on, Anub'arak. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas59 <gen> to be 0 seconds from finished playing
    If (BloodElfSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Blood_Elf_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Blood_Elf_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    Trigger - Turn on Defeat_Units_Dead <gen>
    Trigger - Turn off Defeat_before_Town <gen>
    Trigger - Run Quest_Cave_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Run Gameplay_02 <gen> (checking conditions)
    Trigger - Run Start_AI_After_Town_Hall_Built <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Blood Elf Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 7 (Green) skips a cinematic sequence
    Player - Player 12 (Brown) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set BloodElfSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Blood_Elf_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Quest Update --------
    Trigger - Turn on Defeat_Units_Dead <gen>
    Trigger - Turn off Defeat_before_Town <gen>
    Trigger - Run Quest_Cave_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Run Gameplay_02 <gen> (checking conditions)
    Trigger - Run Start_AI_After_Town_Hall_Built <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove Blood_Elf_Cinematic_Q <gen> from the trigger queue
Blood Elf Setup
  Events
  Conditions
  Actions
    Unit - Remove Farm 0034 <gen> from the game
    Unit - Remove Gryphon Aviary 0121 <gen> from the game
    Unit - Remove Farm 0035 <gen> from the game
    Unit - Remove Guard Tower 0079 <gen> from the game
    Unit - Remove Barracks 0042 <gen> from the game
    Unit - Remove Arcane Tower 0049 <gen> from the game
    Unit - Remove Farm 0060 <gen> from the game
    -------- Save Camera Position --------
    Set CameraReturnPoint = (Target of current camera view)
    -------- Set Sky/Fog --------
    Environment - Set fog to style Linear, z-start 200.00, z-end 5000.00, density 0 and color (100%, 100%, 100%)
    Environment - Set sky to Lordaeron Summer Sky
    -------- Save Selection --------
    Set SelectedUnits = (Units currently selected by AP07_SharedPlayer)
    Selection - Clear selection
    -------- Revive Hero --------
    Set RevivalHero = Arthas
    Set RevivalSpot = (Center of BloodElf_Arthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set ArthasReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Arthas to AP04_Arthas and Change color
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Death Knight (Evil) for AP07_SharedPlayer at (Center of BloodElf_Arthas_Start <gen>) facing Default building facing degrees
    Set CinematicArthas = (Last created unit)
    -------- Revive Hero --------
    Set RevivalHero = Anubarak
    Set RevivalSpot = (Center of BloodElf_Anubarak_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set AnubarakReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
    Hero - Instantly revive Satchet02 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Crypt Lord for P3_Beetle at (Center of BloodElf_Anubarak_Start <gen>) facing Default building facing degrees
    Set CinematicAnubarak = (Last created unit)
    Hero - Learn skill for CinematicAnubarak: Undead Crypt Lord - Spiked Carapace
    -------- Disable XP Gain --------
    Hero - Disable experience gain for CinematicArthas
    Hero - Disable experience gain for CinematicAnubarak
    Player - Disable Unholy Aura for AP04_Arthas
    Player - Disable Carrion Beetles for AP12_Anubarak
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP07_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Pick every unit in (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Pick every unit in (Units owned by AP12_Anubarak matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Remove CinematicArthas from HiddenUnits
    Unit Group - Remove CinematicAnubarak from HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    Item - Pick every item in (Playable map area) and do (Hide (Picked item))
    -------- Remove Buffs --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Unit Group - Pick every unit in (Units owned by (Picked player)) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P1_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P2_Kael) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Illidan's Theme
Blood Elf Cleanup
  Events
  Conditions
  Actions
    Unit - Remove ArthasFaceThisGuy from the game
    Special Effect - Destroy (Last created special effect)
    Player - Enable Unholy Aura for AP04_Arthas
    Player - Enable Carrion Beetles for AP12_Anubarak
    Unit - Remove Kael from the game
    Unit - Remove CinematicAnubarak from the game
    Unit - Remove CinematicArthas from the game
    Neutral Building - Haunt Gold Mine 0045 <gen> for AP07_SharedPlayer
    Unit - Create 1 Necropolis for AP07_SharedPlayer at (Center of Necropolis <gen>) facing Default building facing degrees
    Unit - Create 1 Ziggurat for AP07_SharedPlayer at (Center of Ziggurat01 <gen>) facing Default building facing degrees
    Unit - Create 1 Ziggurat for AP07_SharedPlayer at (Center of Ziggurat02 <gen>) facing Default building facing degrees
    Unit - Create 5 Acolyte for AP07_SharedPlayer at (Center of GoldPeons <gen>) facing Default building facing degrees
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    Item - Pick every item in (Playable map area) and do (Show (Picked item))
    Unit - Unhide Blue Dragonspawn Lord 0046 <gen>
    Unit - Unhide Blue Dragonspawn Sorcerer 0100 <gen>
    Unit - Unhide Blue Dragonspawn Sorcerer 0119 <gen>
    Unit - Unhide Blue Drake 0099 <gen>
    Unit - Unhide Blue Drake 0098 <gen>
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Give Units to Player --------
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForAnubarak Equal to False) then do (Enable experience gain for Anubarak) else do (Do nothing)
    -------- Return Heroes --------
    Unit - Move Arthas instantly to ArthasReturnSpot
    Unit - Move Anubarak instantly to AnubarakReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnits
    -------- Reset Sky/Fog --------
    Environment - Reset fog to default values
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to CameraReturnPoint over 0 seconds
    Visibility - Destroy (Last created visibility modifier)
    Unit Group - Pick every unit in (Units in GoldPeons <gen> owned by AP07_SharedPlayer) and do (Order (Picked unit) to Harvest Nearby Gold)
    Hero - Set Arthas Hero-level to 4, Hide level-up graphics
    Hero - Enable experience gain for Arthas
    Hero - Set Arthas Hero-level to 6, Hide level-up graphics
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Animate Dead
    Hero - Disable experience gain for Arthas
    Hero - Enable experience gain for Satchet01
    Hero - Set Satchet01 Hero-level to (Hero level of Arthas), Hide level-up graphics
    Hero - Disable experience gain for Satchet01
Gameplay 02
  Events
  Conditions
  Actions
    -------- Do initial gameplay stuff, like quest messages and hints --------
    Wait 5.00 seconds
    Trigger - Add Give_Dragon_Quest_Q <gen> to the trigger queue (Checking conditions)
    Wait 30.00 seconds
Victory Cinematic Q
  Events
  Conditions
  Actions
    Set InCinematic = True
    -------- Quest update --------
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run SaveCodeEtc <gen> (checking conditions)
    Trigger - Run Victory_Setup <gen> (checking conditions)
    Unit - Make CinematicAnubarak face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Unit - Make CinematicArthas face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Unit - Make EndCryptF01 face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Unit - Make EndCryptF02 face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Unit - Make GhoulEnd01 face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Unit - Make GhoulEnd02 face (Center of VictoryEveryoneGoTo <gen>) over 0 seconds
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Victory_01 for (Picked player) over 0 seconds
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Turn on Victory_Skipped <gen>
    Unit - Make CinematicArthas face CinematicAnubarak over 0.30 seconds
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas60 <gen> and display You're certain we can reach the glacier through these tunnels?. Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas60 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicAnubarak named Anub'arak: Play L04Anubarak61 <gen> and display Nothing is certain, death knight. The ruins will be perilous, but it's worth the risk. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Anubarak61 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from CinematicArthas named King Arthas: Play L04Arthas62 <gen> and display All right. Let's go. . Modify duration: Add 0 seconds and Don't wait
    Wait for L04Arthas62 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order CinematicArthas to Move To (Center of VictoryEveryoneGoTo <gen>)
    Sound - Play HorseLoop1 <gen> at 70.00% volume, attached to CinematicArthas
    Unit - Order GhoulEnd01 to Move To (Center of VictoryEveryoneGoTo <gen>)
    Wait 0.25 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order GhoulEnd02 to Move To (Center of VictoryEveryoneGoTo <gen>)
    Wait 0.25 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order CinematicAnubarak to Move To (Center of VictoryEveryoneGoTo <gen>)
    Wait 0.25 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order EndCryptF01 to Move To (Center of VictoryEveryoneGoTo <gen>)
    Unit - Order EndCryptF02 to Move To (Center of VictoryEveryoneGoTo <gen>)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Victory_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Environment - Reset fog to default values
    Unit - Remove CinematicAnubarak from the game
    Unit - Remove CinematicArthas from the game
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 7 (Green) skips a cinematic sequence
    Player - Player 12 (Brown) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VictorySkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Unit - Remove CinematicAnubarak from the game
    Unit - Remove CinematicArthas from the game
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Setup
  Events
  Conditions
  Actions
    -------- Set Sky/Fog --------
    Environment - Set sky to Lordaeron Summer Sky
    Environment - Set fog to style Linear, z-start 200.00, z-end 5000.00, density 0 and color (100%, 100%, 100%)
    -------- Clear Selection --------
    Selection - Clear selection
    -------- Revive Hero --------
    Set RevivalHero = Arthas
    Set RevivalSpot = (Center of Victory_Arthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set ArthasReturnSpot = RevivalReturnSpot
    Unit - Make Arthas face Anubarak over 0 seconds
    Unit - Change ownership of Arthas to AP04_Arthas and Change color
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Death Knight (Evil) for AP07_SharedPlayer at (Center of Victory_Arthas_Start <gen>) facing Default building facing degrees
    Set CinematicArthas = (Last created unit)
    -------- Revive Hero --------
    Set RevivalHero = Anubarak
    Set RevivalSpot = (Center of Victory_Anubarak_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set AnubarakReturnSpot = RevivalReturnSpot
    Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
    Hero - Instantly revive Satchet02 at RevivalSpot, Hide revival graphics
    Unit - Create 1 Crypt Lord for P3_Beetle at (Center of Victory_Anubarak_Start <gen>) facing Default building facing degrees
    Set CinematicAnubarak = (Last created unit)
    Hero - Learn skill for CinematicAnubarak: Undead Crypt Lord - Spiked Carapace
    -------- Disable XP Gain --------
    Hero - Disable experience gain for CinematicArthas
    Hero - Disable experience gain for CinematicAnubarak
    Player - Disable Unholy Aura for AP04_Arthas
    Player - Disable Carrion Beetles for AP12_Anubarak
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause CinematicArthas
    Unit - Unpause CinematicAnubarak
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP07_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Pick every unit in (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Pick every unit in (Units owned by AP12_Anubarak matching (((Matching unit) is hidden) Equal to False)) and do (Add (Picked unit) to HiddenUnits)
    Unit Group - Remove CinematicArthas from HiddenUnits
    Unit Group - Remove CinematicAnubarak from HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    Item - Pick every item in (Playable map area) and do (Hide (Picked item))
    -------- Remove Buffs --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Unit Group - Pick every unit in (Units owned by (Picked player)) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P1_Kael) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P2_Kael) and do (Remove All buffs from (Picked unit))
    -------- Create New Units --------
    Unit - Create 1 Ghoul for AP07_SharedPlayer at (Center of Ghoul01 <gen>) facing Default building facing degrees
    Set GhoulEnd01 = (Last created unit)
    Unit - Create 1 Ghoul for AP07_SharedPlayer at (Center of Ghoul02 <gen>) facing Default building facing degrees
    Set GhoulEnd02 = (Last created unit)
    Unit - Create 1 Crypt Fiend for AP07_SharedPlayer at (Center of CryptFiend01 <gen>) facing Default building facing degrees
    Set EndCryptF01 = (Last created unit)
    Unit - Create 1 Crypt Fiend for AP07_SharedPlayer at (Center of CryptFiend02 <gen>) facing Default building facing degrees
    Set EndCryptF02 = (Last created unit)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SapphironSaved Equal to True
        (Sapphiron is alive) Equal to True
      Then - Actions
        Unit - Move Sapphiron instantly to (Center of Extra_Unit <gen>)
      Else - Actions
        Unit - Create 1 Meat Wagon for AP07_SharedPlayer at (Center of Extra_Unit <gen>) facing Default building facing degrees
    -------- Music Theme --------
    Sound - Play Dark Victory
Next Level Run
  Events
  Conditions
  Actions
    -------- Set Next Level and Victory --------
    Game - Victory AP04_Arthas (Show dialogs, Show scores)
    Game - Victory AP12_Anubarak (Show dialogs, Show scores)
Quest Base Create
  Events
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Create the quest objects --------
    Quest - Create a Required, undiscovered quest titled The Landing with the description The Blood Elves are heavily encamped all around the shores of Northrend. You must lay siege to their island stronghold farther off the coast and take its resources for your own., using icon path ReplaceableTextures\CommandButtons\BTNCannonTower.tga
    Set QuestBase = (Last created quest)
    Quest - Create a quest requirement for QuestBase with the description Destroy the Blood Elves' island stronghold
    Set QuestBaseReq01 = (Last created quest requirement)
Quest Base Discover
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Base_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestBase as Discovered
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility from (Center of Reveal_Beach_01 <gen>) to a radius of 750.00
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility from (Center of Reveal_Beach_02 <gen>) to a radius of 750.00
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility from (Center of Reveal_Beach_03 <gen>) to a radius of 750.00
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rThe Landing - Destroy the Blood Elves' island stronghold
Quest Base Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Base_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestBase as Discovered
    Quest - Mark QuestBaseReq01 as Completed
    Quest - Mark QuestBase as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rThe Landing
Quest Cave Create
  Events
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Create the quest objects --------
    Quest - Create a Required, undiscovered quest titled Breakthrough with the description Now that you have sufficient resources, you need only break through the pass to Azjol-Nerub. Its guardians are vicious and care only for slaughter and bloodshed. Slay them, and the way through the pass is clear., using icon path ReplaceableTextures\PassiveButtons\PASBTNFreezingBreath.tga
    Set QuestCave = (Last created quest)
    Quest - Create a quest requirement for QuestCave with the description Slay the guardians
    Set QuestCaveReq = (Last created quest requirement)
Quest Cave Discover
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Cave_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestCave as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rBreakthrough - Slay the guardians
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility across Path_to_Cave <gen>
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Set a spacebar-point for (Picked player) at (Center of Path_to_Cave <gen>)
    Cinematic - Ping minimap for (All players) at (Center of Path_to_Cave <gen>) for 10.00 seconds
Quest Cave Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Cave_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestCave as Discovered
    Quest - Mark QuestCaveReq as Completed
    Quest - Mark QuestCave as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rBreakthrough
Quest Dragon Create
  Events
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Create the quest objects --------
    Quest - Create a Optional, undiscovered quest titled Dragon Hoard with the description The ancient Dragon Sapphiron lies within the nearby caves. There are rumors that he guards a wondrous hoard of powerful items. Slay the Dragon and take them for your own., using icon path ReplaceableTextures\CommandButtons\BTNAzureDragon.tga
    Set QuestDragon = (Last created quest)
    Quest - Create a quest requirement for QuestDragon with the description Slay the Dragon Sapphiron
    Set QuestDragonReqKill = (Last created quest requirement)
Quest Dragon Discover
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Dragon_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestDragon as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rDragon Hoard - Slay the Dragon Sapphiron
Quest Dragon Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Dragon_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestDragon as Discovered
    Quest - Mark QuestDragonReqKill as Completed
    Quest - Mark QuestDragon as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rDragon Hoard
Mission Failed BaseDead
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of your buildings have been destroyed.
Mission Failed UnitsDead
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of your units have died.
Hint Undead Burrow
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Hint_Undead_Burrow_Q <gen> to the trigger queue (Checking conditions)
Hint Undead Burrow Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Crypt Fiends now have the Burrow ability.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Start AI After Town Hall Built
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    -------- Start All AI Scripts --------
    AI - Send Player 1 (Red) the AI Command (0, 0)
    AI - Send Player 6 (Orange) the AI Command (0, 0)
Start Beach AI
  Events
  Conditions
  Actions
    -------- Start All AI Scripts --------
    AI - Start melee AI script for Player 2 (Blue): u04x02.ai (aiscript)
    AI - Start melee AI script for Player 8 (Pink): u04x08.ai (aiscript)
    AI - Start melee AI script for Player 10 (Light Blue): u04x10.ai (aiscript)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        AI - Start melee AI script for Player 1 (Red): u04x01h.ai (aiscript)
        AI - Start melee AI script for Player 6 (Orange): u04x06h.ai (aiscript)
      Else - Actions
        AI - Start melee AI script for Player 1 (Red): u04x01n.ai (aiscript)
        AI - Start melee AI script for Player 6 (Orange): u04x06n.ai (aiscript)
    AI - Send Player 2 (Blue) the AI Command (0, 0)
    AI - Send Player 10 (Light Blue) the AI Command (0, 0)
AI Resources Red Gold
  Events
    Player - Player 1 (Red)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P1_Kael Current gold to 1351
AI Resources Red Lumber
  Events
    Player - Player 1 (Red)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P1_Kael Current lumber to 1273
AI Resources Blue Gold
  Events
    Player - Player 2 (Blue)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P2_Kael Current gold to 1627
AI Resources Blue Lumber
  Events
    Player - Player 2 (Blue)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P2_Kael Current lumber to 1019
AI Resources Orange Gold
  Events
    Player - Player 6 (Orange)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P6_Naga Current gold to 1627
AI Resources Orange Lumber
  Events
    Player - Player 6 (Orange)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P6_Naga Current lumber to 1019
AI Resources Lt Blue Gold
  Events
    Player - Player 10 (Light Blue)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P10_Kael Current gold to 1627
AI Resources Lt Blue Lumber
  Events
    Player - Player 10 (Light Blue)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P10_Kael Current lumber to 1019
To use combat detection, just disable these two triggers and check the "InCinematic" variable to determine whether or not the player is in combat.
Combat Detected
  Events
    Unit - A unit owned by Player 1 (Red) Is attacked
  Conditions
  Actions
    Countdown Timer - Start CombatCheckTimer as a One-shot timer that will expire in 3.00 seconds
    Set InCinematic = True
Combat Resolved
  Events
    Time - CombatCheckTimer expires
  Conditions
  Actions
    Set InCinematic = False
Defeat before Town
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    (Anubarak is dead) Equal to True
    (Arthas is dead) Equal to True
    (CryptFiend01 is dead) Equal to True
    (CryptFiend02 is dead) Equal to True
    (CryptFiend03 is dead) Equal to True
    (CryptFiend04 is dead) Equal to True
    (IntroGhoul01 is dead) Equal to True
    (IntroGhoul02 is dead) Equal to True
    (IntroGhoul03 is dead) Equal to True
    (IntroNecro01 is dead) Equal to True
    (IntroNecro02 is dead) Equal to True
    (IntroNecro03 is dead) Equal to True
    (Meat Wagon 0025 <gen> is dead) Equal to True
    (Meat Wagon 0026 <gen> is dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Set GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_UnitsDead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP04_Arthas with the message: Defeat!
    Game - Defeat AP12_Anubarak with the message: Defeat!
Defeat Units Dead
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    (Count structures controlled by AP07_SharedPlayer (Include incomplete structures)) Equal to 0
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Cave_Guards <gen>
    Set GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_BaseDead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP04_Arthas with the message: Defeat!
    Game - Defeat AP12_Anubarak with the message: Defeat!
Give Dragon Quest Q
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Anubarak is alive) Equal to True
      Then - Actions
        Sound - Setup all volume channels for speech
        Cinematic - Send transmission to (All players) from Anubarak named Anub'arak: Play L04Anubarak29A <gen> and display There is a dragon that lives in the hills nearby. The creature may hold artifacts that could protect us on our march. . Modify duration: Add 0 seconds and Don't wait
        Wait for L04Anubarak29A <gen> to be 0.00 seconds from finished playing
        Sound - Reset all volume channels to 100%
        Trigger - Run Quest_Dragon_Discover <gen> (checking conditions)
      Else - Actions
        Trigger - Run Quest_Dragon_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Entering Dragon Lair
  Events
    Unit - A unit enters Dragon_Lair <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
    ((Unit-type of (Triggering unit)) is Summoned) Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Entering_Dragon_Lair_Q <gen> to the trigger queue (Checking conditions)
Entering Dragon Lair Q
  Events
  Conditions
  Actions
    Unit - Pause Sapphiron
    Unit - Pause Blue Dragon 0061 <gen>
    Unit - Pause Blue Dragon 0062 <gen>
    Unit - Make Sapphiron Invulnerable
    Unit - Make Blue Dragon 0061 <gen> Invulnerable
    Unit - Make Blue Dragon 0062 <gen> Invulnerable
    Unit - Grant shared vision of Sapphiron to AP07_SharedPlayer
    Unit - Grant shared vision of Blue Dragon 0061 <gen> to AP07_SharedPlayer
    Unit - Grant shared vision of Blue Dragon 0062 <gen> to AP07_SharedPlayer
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to (Position of Sapphiron) over 0.5 seconds
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Sapphiron named Sapphiron: Play L04Sapphiron32 <gen> and display You dare enter my lair? I am Sapphiron, ancient servant of Malygos the Spell-Weaver! Explain yourselves!. Modify duration: Add 0 seconds and Wait
    Wait for L04Sapphiron32 <gen> to be 0 seconds from finished playing
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named Arthas: Play L04Arthas33 <gen> and display Sorry we don't have time to chat, great wyrm. We've come to murder you and steal whatever artifacts you've hoarded over the centuries.. Modify duration: Add 0 seconds and Wait
        Wait for L04Arthas33 <gen> to be 0 seconds from finished playing
        Cinematic - Send transmission to (All players) from Sapphiron named Sapphiron: Play L04Sapphiron34 <gen> and display Honesty, how refreshing. None may challenge Sapphiron and live!. Modify duration: Add 0 seconds and Wait
        Wait for L04Sapphiron34 <gen> to be 0 seconds from finished playing
      Else - Actions
    Sound - Reset all volume channels to 100%
    Unit - Unpause Sapphiron
    Unit - Unpause Blue Dragon 0061 <gen>
    Unit - Unpause Blue Dragon 0062 <gen>
    Unit - Make Sapphiron Vulnerable
    Unit - Make Blue Dragon 0061 <gen> Vulnerable
    Unit - Make Blue Dragon 0062 <gen> Vulnerable
    Unit - Deny shared vision of Sapphiron to AP07_SharedPlayer
    Unit - Deny shared vision of Blue Dragon 0061 <gen> to AP07_SharedPlayer
    Unit - Deny shared vision of Blue Dragon 0062 <gen> to AP07_SharedPlayer
    Unit - Order Sapphiron to Attack-Move To (Random point in Dragon_Lair <gen>)
    Unit - Order Blue Dragon 0061 <gen> to Attack-Move To (Random point in Dragon_Lair <gen>)
    Unit - Order Blue Dragon 0062 <gen> to Attack-Move To (Random point in Dragon_Lair <gen>)
    Trigger - Remove (This trigger) from the trigger queue
Dragon Pen
  Events
    Unit - A unit leaves Dragon_Pen <gen>
  Conditions
    (Leaving unit) Equal to Sapphiron
  Actions
    Unit - Order (Leaving unit) to Move To PointDragonPen
Dragon and Buddys Die
  Events
    Unit - Sapphiron 0009 <gen> Dies
    Unit - Blue Dragon 0061 <gen> Dies
    Unit - Blue Dragon 0062 <gen> Dies
  Conditions
    GameOver Equal to False
    (Blue Dragon 0061 <gen> is dead) Equal to True
    (Blue Dragon 0062 <gen> is dead) Equal to True
    (Sapphiron 0009 <gen> is dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Wait 2 seconds
    Trigger - Add Dragon_Dies_Q <gen> to the trigger queue (Checking conditions)
Dragon Dies Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Quest Update --------
    Trigger - Run Dragon_Cinematic_Q <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
AREA 01
  Events
    Unit - A unit enters AREA_01_Create_Scorpions_From_Cave <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Unit - Create 1 Arachnathid Earth-borer for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_01 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Barbed Arachnathid for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_02 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Arachnathid Earth-borer for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_03 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Arachnathid Earth-borer for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_04 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Barbed Arachnathid for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_05 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Arachnathid Earth-borer for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_06 <gen>)
    Wait 0.20 seconds
    Unit - Create 1 Arachnathid Earth-borer for Neutral Hostile at (Center of Scorpion_Cave <gen>) facing Default building facing degrees
    AI - Ignore (Last created unit)'s guard position
    Unit - Order (Last created unit) to Attack-Move To (Center of Scorpion_07 <gen>)
AREA 02
  Events
    Unit - Overlord Arachnathid 0096 <gen> Takes damage
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Unit - Unhide Arachnathid Earth-borer 0097 <gen>
    Animation - Play Arachnathid Earth-borer 0097 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0037 <gen>
    Animation - Play Arachnathid Earth-borer 0037 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0053 <gen>
    Animation - Play Arachnathid Earth-borer 0053 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0082 <gen>
    Animation - Play Arachnathid Earth-borer 0082 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0084 <gen>
    Animation - Play Arachnathid Earth-borer 0084 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0059 <gen>
    Animation - Play Arachnathid Earth-borer 0059 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0125 <gen>
    Animation - Play Arachnathid Earth-borer 0125 <gen>'s morph ALTERNATE animation
    Unit - Unhide Arachnathid Earth-borer 0145 <gen>
    Animation - Play Arachnathid Earth-borer 0145 <gen>'s morph ALTERNATE animation
Cave Guards
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    (All units of PathCreeps are dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Turn off Defeat_Units_Dead <gen>
    Trigger - Run Quest_Cave_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Add Victory_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Remove Dying Unit
  Events
    Unit - A unit owned by Neutral Hostile Dies
  Conditions
    ((Dying unit) is in PathCreeps) Equal to True
  Actions
    Unit Group - Remove (Dying unit) from PathCreeps
Remove Owner Change
  Events
    Unit - A unit owned by Player 4 (Purple) Changes owner
  Conditions
    ((Ownership-changed unit) is in PathCreeps) Equal to True
  Actions
    Unit Group - Remove (Ownership-changed unit) from PathCreeps
Dragonhawks Die Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas11 <gen> and display They must have a base around here somewhere.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Run Quest_Base_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
First Naga Sighting
  Events
    Unit - A unit owned by Player 4 (Purple) Is attacked
    Unit - A unit owned by Player 7 (Green) Is attacked
    Unit - A unit owned by Player 12 (Brown) Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to P6_Naga
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set NagaSighting = (Position of (Attacked unit))
    Trigger - Add First_Naga_Sighting_Q <gen> to the trigger queue (Checking conditions)
First Naga Sighting Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Wait 1.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Sound - Setup all volume channels for speech
        Player Group - Pick every player in APG1_Player and do (Actions)
          Loop - Actions
            Camera - Pan camera as necessary for (Picked player) to NagaSighting over 0.5 seconds
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas19 <gen> and display Snake-men! Who the hell are they? I have never seen their like in Northrend before.. Modify duration: Add 0 seconds and Wait
        Visibility - Destroy (Last created visibility modifier)
        Sound - Reset all volume channels to 100%
      Else - Actions
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Quake Message 1
  Events
    Unit - A unit enters EarthQuake01a <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
    ((Unit-type of (Entering unit)) Equal to Undead Transport Ship) or (((Unit-type of (Entering unit)) Equal to Undead Frigate) or ((Unit-type of (Entering unit)) Equal to Undead Battleship))
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Quake_Message_1_Q <gen> to the trigger queue (Checking conditions)
Quake Message 1 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Sound - Set volume of EarthquakeLoop1 <gen> to 80.00%
    Sound - Play EarthquakeLoop1 <gen>
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility across Wall_Opens_01 <gen>
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to (Center of Wall_Opens_01 <gen>) over 0.50 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas12 <gen> and display Seismic tremors. What tortures this land?. Modify duration: Add 0 seconds and Don't wait
      Else - Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Sway the camera source for (Picked player) with magnitude (50.00 x (Random real number between 0.60 and 1.40)) and velocity (1000.00 x (Random real number between 0.60 and 1.40))
    Wait 0.90 seconds
    Trigger - Run Kill_Em_All_1 <gen> (checking conditions)
    Wait (2.20 x (Random real number between 0.75 and 1.25)) seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Wait for L04Arthas12 <gen> to be 0 seconds from finished playing
      Else - Actions
    Set Speaker = (Random unit from (Units within SpeakingDistance of (Position of Arthas) matching ((((Matching unit) is alive) Equal to True) and ((Unit-type of (Matching unit)) Equal to Necromancer))))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Speaker Not equal to No unit
      Then - Actions
        Cinematic - Send transmission to (All players) from Speaker named Necromancer: Play L04Necromancer64 <gen> and display The earthquakes have shattered a glacial wall and revealed a new waterway! Perhaps our fleet can use this to our advantage.. Modify duration: Add 0 seconds and Don't wait
        Wait for L04Necromancer64 <gen> to be 0 seconds from finished playing
      Else - Actions
        Do nothing
    Visibility - Destroy (Last created visibility modifier)
    Sound - Reset all volume channels to 100%
    Sound - Stop EarthquakeLoop1 <gen> After fading
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Kill Em All 1
  Events
  Conditions
  Actions
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Sound - Set volume of Earthquake <gen> to 85.00%
    Sound - Play Earthquake <gen>
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 50.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Destructible - Pick every destructible in Wall_Opens_01 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 100.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Sound - Stop Earthquake <gen> After fading
Quake Message 2
  Events
    Unit - A unit enters EarthQuake02a <gen>
    Unit - A unit enters EarthQuake02b <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Quake_Message_2_Q <gen> to the trigger queue (Checking conditions)
Quake Message 2 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Sound - Set volume of EarthquakeLoop1 <gen> to 80.00%
    Sound - Play EarthquakeLoop1 <gen>
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility across Wall_Opens_02 <gen>
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to (Center of Wall_Opens_02 <gen>) over 0.00 seconds
        Camera - Sway the camera source for (Picked player) with magnitude (50.00 x (Random real number between 0.60 and 1.40)) and velocity (1000.00 x (Random real number between 0.60 and 1.40))
    Wait 0.90 seconds
    Trigger - Run Kill_Em_All_2 <gen> (checking conditions)
    Wait (2.20 x (Random real number between 0.75 and 1.25)) seconds
    Sound - Stop EarthquakeLoop1 <gen> After fading
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas13 <gen> and display Another earthquake. This can't be good.. Modify duration: Add 0 seconds and Wait
      Else - Actions
    Sound - Reset all volume channels to 100%
    Visibility - Destroy (Last created visibility modifier)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Kill Em All 2
  Events
  Conditions
  Actions
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Sound - Set volume of Earthquake <gen> to 85.00%
    Sound - Play Earthquake <gen>
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 50.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Destructible - Pick every destructible in Wall_Opens_02 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 100.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Sound - Stop Earthquake <gen> After fading
Quake Message 3
  Events
    Unit - A unit enters EarthQuake03a <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP07_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP12_Anubarak
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Quake_Message_3_Q <gen> to the trigger queue (Checking conditions)
Quake Message 3 Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Sound - Set volume of EarthquakeLoop1 <gen> to 80.00%
    Sound - Play EarthquakeLoop1 <gen>
    Visibility - Create an initially Enabled visibility modifier for AP07_SharedPlayer emitting Visibility across Wall_Opens_03 <gen>
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to (Center of Wall_Opens_03 <gen>) over 0.00 seconds
        Camera - Sway the camera source for (Picked player) with magnitude (50.00 x (Random real number between 0.60 and 1.40)) and velocity (1000.00 x (Random real number between 0.60 and 1.40))
    Wait 0.90 seconds
    Trigger - Run Kill_Em_All_3 <gen> (checking conditions)
    Wait (2.20 x (Random real number between 0.75 and 1.25)) seconds
    Sound - Stop EarthquakeLoop1 <gen> After fading
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L04Arthas12 <gen> and display Seismic tremors. What tortures this land?. Modify duration: Add 0 seconds and Wait
      Else - Actions
    Sound - Reset all volume channels to 100%
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Kill Em All 3
  Events
  Conditions
  Actions
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Sound - Set volume of Earthquake <gen> to 85.00%
    Sound - Play Earthquake <gen>
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 30.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    -------- Kill Half Of Em --------
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 50.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Destructible - Pick every destructible in Wall_Opens_03 <gen> and do (If ((((Matching destructible) is alive) Equal to True) and ((Random percentage) Less than or equal to 100.00)) then do (Kill (Picked destructible)) else do (Do nothing))
    Wait 0.50 seconds
    Sound - Stop Earthquake <gen> After fading
Quake Event
  Events
    Time - QuakeTimer expires
  Conditions
  Actions
    Trigger - Run Quake_Shake <gen> (checking conditions)
    -------- Set up the next shake --------
    Countdown Timer - Start QuakeTimer as a One-shot timer that will expire in (6.00 x (Random real number between 0.75 and 1.25)) seconds
Quake Shake
  Events
  Conditions
  Actions
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Camera - Sway the camera source for (Picked player) with magnitude (20.00 x (Random real number between 0.60 and 1.40)) and velocity (1000.00 x (Random real number between 0.60 and 1.40))
    Sound - Set volume of EarthquakeLoop1 <gen> to 80.00%
    Sound - Play EarthquakeLoop1 <gen>
    Wait (2.00 x (Random real number between 0.75 and 1.25)) seconds
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Camera - Stop swaying/shaking the camera for (Picked player)
    Sound - Stop EarthquakeLoop1 <gen> After fading
Roaming Polar Bears 01
  Events
    Time - Every 5.00 seconds of game time
  Conditions
    (PolarBear01 is alive) Equal to True
    (PolarBear02 is alive) Equal to True
    (PolarBear03 is alive) Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of PolarBear01) Equal to Neutral Hostile
      Then - Actions
        Set TempPoint = (Random point in PolarBearRoaming01 <gen>)
        Unit - Order PolarBear01 to Attack-Move To TempPoint
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of PolarBear02) Equal to Neutral Hostile
      Then - Actions
        Set TempPoint = (Random point in PolarBearRoaming01 <gen>)
        Unit - Order PolarBear02 to Attack-Move To TempPoint
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of PolarBear03) Equal to Neutral Hostile
      Then - Actions
        Set TempPoint = (Random point in PolarBearRoaming01 <gen>)
        Unit - Order PolarBear03 to Attack-Move To TempPoint
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
Roaming Polar Bears 02
  Events
    Time - Every 5.00 seconds of game time
  Conditions
    (PolarBear04 is alive) Equal to True
    (PolarBear05 is alive) Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of PolarBear04) Equal to Neutral Hostile
      Then - Actions
        Set TempPoint = (Random point in PolarBearRoaming02 <gen>)
        Unit - Order PolarBear04 to Attack-Move To TempPoint
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Owner of PolarBear05) Equal to Neutral Hostile
      Then - Actions
        Set TempPoint = (Random point in PolarBearRoaming02 <gen>)
        Unit - Order PolarBear05 to Attack-Move To TempPoint
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
Large Polar Bears
  Events
    Unit - Polar Bear 0244 <gen> Dies
    Unit - Polar Bear 0236 <gen> Dies
    Unit - Polar Bear 0243 <gen> Dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Unit - Create 1 Giant Polar Bear for Neutral Hostile at (Center of PolarBearDen01 <gen>) facing Default building facing degrees
    Set TempPoint = (Random point in PolarBearRoaming01 <gen>)
    Unit - Order (Last created unit) to Attack-Move To TempPoint
    Custom script: call RemoveLocation( udg_TempPoint )
Upgrade
  Events
    Unit - A unit owned by Player 7 (Green) Finishes research
  Conditions
    (Researched tech-type) Equal to Rura (techcode)
  Actions
    Player - Set the current research level of R000 (techcode) to ((Current research level of R000 (techcode) for AP07_SharedPlayer) + 1) for AP07_SharedPlayer
Saving Timmy
  Events
    Unit - A unit comes within 512.00 of Penguin King 0208 <gen>
  Conditions
    ((Triggering unit) has an item of type Little Timmy) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Saving_Timmy_Q <gen> to the trigger queue (Checking conditions)
Saving Timmy Q
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Quest - Display to (All players) the Secret message: |cffffcc00SECRET FOUND|rLittle Timmy returned.
    Wait 1.00 seconds
    Item - Remove (Item carried by (Triggering unit) of type Little Timmy)
    Trigger - Remove (This trigger) from the trigger queue
Going to Penguin
  Events
    Unit - A unit comes within 512.00 of Penguin King 0208 <gen>
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Going_to_Penguin_Q <gen> to the trigger queue (Checking conditions)
Going to Penguin Q
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 1.00 seconds
    Item - Create Circlet of Nobility at (Center of Penguin_Item_02 <gen>)
    Trigger - Remove (This trigger) from the trigger queue
UpdateResourcesGold
  Events
    Player - Player 4 (Purple)'s Current gold becomes Greater than or equal to 0.00
    Player - Player 7 (Green)'s Current gold becomes Greater than or equal to 0.00
    Player - Player 12 (Brown)'s Current gold becomes Greater than or equal to 0.00
  Conditions
  Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Picked player) Not equal to (Triggering player)
          Then - Actions
            Player - Set (Picked player) Current gold to ((Triggering player) Current gold)
          Else - Actions
UpdateResourcesLumber
  Events
    Player - Player 4 (Purple)'s Current lumber becomes Greater than or equal to 0.00
    Player - Player 7 (Green)'s Current lumber becomes Greater than or equal to 0.00
    Player - Player 12 (Brown)'s Current lumber becomes Greater than or equal to 0.00
  Conditions
  Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Picked player) Not equal to (Triggering player)
          Then - Actions
            Player - Set (Picked player) Current lumber to ((Triggering player) Current lumber)
          Else - Actions
HeroDies
  Events
    Unit - A unit owned by Player 4 (Purple) Dies
    Unit - A unit owned by Player 12 (Brown) Dies
  Conditions
    ((Dying unit) is A Hero) Equal to True
    And - All (Conditions) are true
      Conditions
        (Dying unit) Not equal to Satchet01
        (Dying unit) Not equal to Satchet02
    GameOver Equal to False
  Actions
    Custom script: local unit udg_HeroToRevive
    Set HeroToRevive = (Dying unit)
    Wait 6.00 seconds
    Unit - Change ownership of HeroToRevive to AP07_SharedPlayer and Change color
HeroRevives
  Events
    Unit - A unit owned by Player 7 (Green) Finishes reviving
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Reviving Hero) Equal to Arthas
      Then - Actions
        Unit - Change ownership of Arthas to AP04_Arthas and Change color
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Reviving Hero) Equal to Anubarak
          Then - Actions
            Unit - Change ownership of Anubarak to AP12_Anubarak and Change color
          Else - Actions
SetDifficulty
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to False
      Then - Actions
        Game - Display to Player Group - Player 12 (Brown) for 600.00 seconds the text: Waiting for main player to select difficulty...
      Else - Actions
    Sound - Clear the music list
    Sound - Set Ambient Sounds to 0.00%
    Sound - Set Animation and Spell Sounds to 0.00%
    Sound - Set Music to 0.00%
    Wait 0.01 seconds
    Sound - Stop music Immediately
    Wait 0.25 seconds
    Dialog - Change the title of ChooseDifficulty to Choose difficulty:
    Dialog - Create a dialog button for ChooseDifficulty labelled Normal
    Set NormalB = (Last created dialog Button)
    Dialog - Create a dialog button for ChooseDifficulty labelled Hard
    Set HardB = (Last created dialog Button)
    Dialog - Show ChooseDifficulty for AP04_Arthas
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to True
      Then - Actions
        Dialog - Show ChooseDifficulty for AP12_Anubarak
      Else - Actions
DifficultySelected
  Events
    Dialog - A dialog button is clicked for ChooseDifficulty
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Clicked dialog button) Equal to NormalB
      Then - Actions
        Set Hard = False
        Trigger - Run Init_06b_Normal <gen> (checking conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Clicked dialog button) Equal to HardB
          Then - Actions
            Set Hard = True
            Trigger - Run Init_06a_Hard <gen> (checking conditions)
          Else - Actions
    Cinematic - Clear the screen of text messages for (All players)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Hard Equal to True
      Then - Actions
        Game - Display to (All players) for 3.00 seconds the text: |cffffcc00Selected Difficulty :|r |cffff0000HARD|r
      Else - Actions
        Game - Display to (All players) for 3.00 seconds the text: |cffffcc00Selected Difficulty :|r |cff00cc00NORMAL|r
    Sound - Play GoodJob <gen>
    -------- Run Required Triggers --------
    Trigger - Run SetCacheVariables <gen> (checking conditions)
    Trigger - Turn on LoadGame <gen>
    Trigger - Turn on NewGame <gen>
    Trigger - Run LoadHeroesText <gen> (checking conditions)
    Set GameSelection = True
ConvertPlayerUnits
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP04_Arthas controller) Equal to Computer) or ((AP04_Arthas slot status) Equal to Is unused)
      Then - Actions
        Player - Make AP04_Arthas treat AP12_Anubarak as an Ally with shared vision and full shared units
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP12_Anubarak controller) Equal to Computer) or ((AP12_Anubarak slot status) Equal to Is unused)
      Then - Actions
        Player - Make AP12_Anubarak treat AP04_Arthas as an Ally with shared vision and full shared units
      Else - Actions
    -------- Set User Player Alliances --------
    Player Group - Pick every player in (All players) and do (Make (Picked player) treat AP07_SharedPlayer as an Enemy)
    Player Group - Pick every player in (All players) and do (Make AP07_SharedPlayer treat (Picked player) as an Enemy)
    Player - Make AP04_Arthas treat AP07_SharedPlayer as an Ally with shared vision and full shared units
    Player - Make AP12_Anubarak treat AP07_SharedPlayer as an Ally with shared vision and full shared units
    Player - Make AP07_SharedPlayer treat AP04_Arthas as an Ally with shared vision and full shared units
    Player - Make AP07_SharedPlayer treat AP12_Anubarak as an Ally with shared vision and full shared units
    Hero - Reserve 0 Hero buttons for the local player
    -------- Initial Resources --------
    -------- Arthas' Units --------
    Unit - Change ownership of Arthas to AP04_Arthas and Change color
    Unit - Change ownership of Satchet01 to AP04_Arthas and Change color
    Unit - Change ownership of Azjol-Nerub Passage 0182 <gen> to AP07_SharedPlayer and Change color
    -------- Anub'arak's Units --------
    -------- Undead Scourge --------
    Unit - Change ownership of Ghoul 0113 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Ghoul 0020 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Ghoul 0024 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Necromancer 0103 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Necromancer 0102 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Necromancer 0104 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Meat Wagon 0025 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Meat Wagon 0026 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Undead Transport Ship 0028 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Undead Transport Ship 0029 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Undead Frigate 0030 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Undead Battleship 0279 <gen> to AP07_SharedPlayer and Change color
    Unit - Change ownership of Undead Frigate 0031 <gen> to AP07_SharedPlayer and Change color
UpdateFoodUsage
  Events
    Time - Every 0.25 seconds of game time
  Conditions
  Actions
    Player - Set AP04_Arthas Food used to (AP07_SharedPlayer Food used)
    Player - Set AP12_Anubarak Food used to (AP07_SharedPlayer Food used)
    Player - Set AP04_Arthas Food cap to (AP07_SharedPlayer Food cap)
    Player - Set AP12_Anubarak Food cap to (AP07_SharedPlayer Food cap)
HiringUnits
  Events
    Unit - A unit owned by Neutral Passive Sells a unit
  Conditions
    ((Owner of (Buying unit)) is in APG1_Player) Equal to True
  Actions
    Unit - Change ownership of (Sold unit) to AP07_SharedPlayer and Change color
ScrollTownPortalStart
  Events
    Unit - A unit owned by Player 4 (Purple) Begins casting an ability
    Unit - A unit owned by Player 12 (Brown) Begins casting an ability
  Conditions
    (Ability being cast) Equal to Item Town Portal
  Actions
    Custom script: local location TownPortalStart
    Set TownPortalStart = (Position of (Casting unit))
    Set TeleportingUnits[(Player number of (Owner of (Casting unit)))] = (Units within 1100.00 of TownPortalStart matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an ally of (Owner of (Casting unit))) Equal to True) and ((((Matching unit) is hidden) Equal to False) and ((((Matching unit) is A Hero) Equal to False) or ((((Matching unit) has buff Anti-magic Shell) Equal to True) or (((Matching unit) is Magic Immune) Equal to False))))))))
    Unit Group - Pick every unit in TeleportingUnits[(Player number of (Owner of (Casting unit)))] and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is A peon-type unit) Equal to False) or ((Current order of (Picked unit)) Equal to (Order(none)))
          Then - Actions
            Set TempPoint = (Position of (Picked unit))
            Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation( udg_TempPoint )
          Else - Actions
    Custom script: call RemoveLocation( udg_TownPortalStart )
ScrollTownPortalEnd
  Events
    Unit - A unit owned by Player 4 (Purple) Finishes casting an ability
    Unit - A unit owned by Player 12 (Brown) Finishes casting an ability
  Conditions
    (Ability being cast) Equal to Item Town Portal
  Actions
    Custom script: local location TownPortalEnd
    Set TownPortalEnd = (Position of (Casting unit))
    Unit Group - Pick every unit in TeleportingUnits[(Player number of (Owner of (Casting unit)))] and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (((Picked unit) is A peon-type unit) Equal to False) or ((Current order of (Picked unit)) Equal to (Order(none)))
          Then - Actions
            Unit - Move (Picked unit) instantly to TownPortalEnd
            Set TempPoint = (Position of (Picked unit))
            Special Effect - Create a special effect at TempPoint using Abilities\Spells\Human\MassTeleport\MassTeleportTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation( udg_TempPoint )
          Else - Actions
    Custom script: call RemoveLocation( udg_TownPortalEnd )
TomeStrengthUsed
  Events
    Unit - A unit owned by Player 4 (Purple) Acquires an item
    Unit - A unit owned by Player 12 (Brown) Acquires an item
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Item-type of (Item being manipulated)) Equal to Tome of Strength
        (Item-type of (Item being manipulated)) Equal to Tome of Strength +2
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Item-type of (Item being manipulated)) Equal to Tome of Strength
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Owner of (Hero manipulating item)) Equal to AP04_Arthas
          Then - Actions
            Set PlayerOneTomesStrength = (PlayerOneTomesStrength + 1)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Hero manipulating item)) Equal to AP12_Anubarak
              Then - Actions
                Set PlayerTwoTomesStrength = (PlayerTwoTomesStrength + 1)
              Else - Actions
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item-type of (Item being manipulated)) Equal to Tome of Strength +2
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Hero manipulating item)) Equal to AP04_Arthas
              Then - Actions
                Set PlayerOneTomesStrength = (PlayerOneTomesStrength + 2)
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Owner of (Hero manipulating item)) Equal to AP12_Anubarak
                  Then - Actions
                    Set PlayerTwoTomesStrength = (PlayerTwoTomesStrength + 2)
                  Else - Actions
          Else - Actions
TomeAgilityUsed
  Events
    Unit - A unit owned by Player 4 (Purple) Acquires an item
    Unit - A unit owned by Player 12 (Brown) Acquires an item
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Item-type of (Item being manipulated)) Equal to Tome of Agility
        (Item-type of (Item being manipulated)) Equal to Tome of Agility +2
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Item-type of (Item being manipulated)) Equal to Tome of Agility
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Owner of (Hero manipulating item)) Equal to AP04_Arthas
          Then - Actions
            Set PlayerOneTomesAgility = (PlayerOneTomesAgility + 1)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Owner of (Hero manipulating item)) Equal to AP12_Anubarak
              Then - Actions
                Set PlayerTwoTomesAgility = (PlayerTwoTomesAgility + 1)
              Else - Actions
      Else - Actions