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

UndeadX02.w3x
Variables
Initialization
Initialization
Init 01 Players
Init 02 RegionsToPoints
Init 03a Player Units
Init 03b Enemy Units
Init 03c Scene Units
Init 03d Cinematic Units
Init 04 Music
Init 05 Sounds
Init 06a Environment
Init 06b Elevators
Init 06c Vision
Init 07 Quests
Init 08a Hard
Init 08b Normal
Load Heroes
Load Heroes
Create Arthas
Create Falric
Load Default Arthas
Load Default Falric
Experience Cap Falric
-------- xxxxxxxxxxxxxxxx --------
Cinematics
Cinematic Revival
Post Cinematic Pause
Intro Cinematic
Intro Cinematic Q
Intro Skipped
Intro Setup
Intro Cleanup
Gameplay
Keep Cinematic Arthas Alive
Victory Cinematic
Victory Cinematic Q
Victory Skipped
Victory Setup
Exit Banshee Strike
Fountain MiniCinematic
Fountain MiniCinematic Q
Fountain Setup
Fountain Cleanup
-------- xxxxxxxxxxxxxxxx --------
Level Data
Next Level Run
Quests
-------- Exit --------
Quest Exit Create
Quest Exit Discover
Quest Exit Completed
-------- Meat --------
Quest Meat Create
Quest Meat Discover
Quest Meat UpdateA
Quest Meat UpdateB
Quest Meat Completed
-------- Defeat --------
Mission Failed Arthas Dead
Mission Failed Falric Dead
Quest Queues
Quest Exit Discover Q
Quest Exit Completed Q
Hints
Hint Keep Clean Q
Hint Sachet Q
-------- xxxxxxxxxxxxxxxx --------
Victory Defeat
Victory Exit Reached
Defeat Arthas Dead
Defeat Falric Dead
Meat Quest
Armory Found
Armory Found Q
Armory Guards Dead
Armory Guards Dead Q
Meat Quest Msg A
Meat Quest Msg B
Combat Check
Combat Detected
Combat Resolved
Marketplace
Marketplace Config
Marketplace Item Sold
-------- xxxxxxxxxxxxxxxx --------
Fountain Elevator
Fountain Plate
Bridge Elevator
-------- Activation --------
Bridge Plate C
Bridge Plate TripwireA
Bridge Plate TripwireB
Bridge Plate
-------- Motion --------
Bridge Elevator Rising
Bridge Elevator Falling
-------- xxxxxxxxxxxxxxxx --------
Common Behavior
Group Cleanup Death
Group Cleanup OwnerChange
Uproot Picked Fiend
Corpse Piles
Restock Corpse Piles
Corpse Pile Found
Corpse Pile Lines Q
Vision
-------- Vision Blockers --------
LOS Block
LOS Clear
LOS Clear StartingDoor
LOS Clear ThroneRoom
LOS Clear AbomDoor Left
LOS Clear AbomDoor Right
LOS Clear FountainRoom
LOS Clear SpiderRoom
LOS Clear GargRoom
LOS Clear CourtyardDoor
LOS Clear ExitDoor
LOS Clear WallSecret
-------- Revealers --------
Bridge Revealer
Prison Revealer On
Prison Revealer Off
ArmoryChurch Revealer On
ArmoryChurch Revealer Off
Nook Revealer On
Nook Revealer Off
-------- Plate Glowies --------
FountainPlate Glow On
FountainPlate Glow Off
BridgePlateA Glow On
BridgePlateA Glow Off
BridgePlateB Glow On
BridgePlateB Glow Off
BridgePlateC Glow On
BridgePlateC Glow Off
Barricades
Barricade FiendA
Barricade FiendB
Barricade BelowShade
Rescues
-------- Common --------
Polite Pan
-------- South Area --------
Rescue Necro Corpses
Rescue Necro
Rescue Necro Q
Rescue Abom
Rescue Shade
Rescue Shade Q
Rescue Fiends
Rescue Fiends Q
Rescue Ghouls
Rescue Ghouls Q
-------- Central Area --------
Rescue Shelf
Rescue Shelf Q
Rescue Wagons
Rescue Wagons Q
Rescue Guys
Rescue Guys Q
-------- North Area --------
Rescue CageA
Rescue CageB
Patrols
---- Hallway Patrol ----
Hall Patrol Start
Hall Patrol Orders
Hall Patrol Attacked
Hall Patrol Attacking
Hall Patrol 01
Hall Patrol 02
Hall Patrol 03
Hall Patrol 04
Hall Patrol 05
Hall Patrol 06
Harassment Waves
-------- Spawn Sources --------
Wave Source 01 Tripwire
Wave Source 02 Tripwire
Wave Source 03 Tripwire
Wave Source 04 Tripwire
Wave Source 05 Tripwire
Wave Source 06 Tripwire
Wave Source 07 Tripwire
-------- Unit Upgrades --------
Wave Types Starting
Wave Types Upgrade01 Tripwire
Wave Types Upgrade02 Tripwire
Wave Types Upgrade03 Tripwire
Wave Types Upgrade04 Tripwire
-------- Behavior --------
Wave Start
Wave Spawn
Wave Spawn Single
Wave Orders
Early Scenes
-------- Ambushes --------
Abom Ambush
Alley Ambush
-------- Prison Scene --------
Prison Guards Pestering
Prison Gate Regen
Prison Guards Attacked
-------- Zombie Group A --------
Zombie Group Attacked
Middle Scenes
-------- Ambushes --------
Fiend Ambush
Skel Ambush
-------- Horsie Scene --------
Horsie Scene Setup
Horsie Scene Tripwire
Horsie Scene VTripwire
Horsie Scene
-------- Chanting Scene --------
Chanting Corpse
Chanting Cycle
Chanting Necro Attacked
Chanting Necro Attacks
Chanting Necros Interrupted
Late Scenes
-------- Battle Room --------
Battle Room Corpses
Battle Room Door Opened
-------- Crypt (Left) --------
CryptLeft Start
CryptLeft Spawn
-------- Crypt (Right) --------
CryptRight Start
CryptRight Spawn
-------- Bloodfeast --------
Bloodfeast Found
Bloodfeast Attacked
Bloodfeast Scene
Bloodfeast Lines Q
Player Sharing Triggers
SetDifficulty
DifficultySelected
ConvertPlayerUnits
UpdateResourcesGold
UpdateResourcesLumber
TomeStrengthUsed
TomeAgilityUsed
TomeIntelligenceUsed
PlayerLeavesGame
UpdateFoodUsage
Game Cache Triggers
SetCacheVariables
LoadHeroesText
SaveCodeEtc
PreplaceItemsSave
PreplaceItemsLoad
StartGame
LoadGame
NewGame
Satchet Triggers
MoveSatchets
BackpackDropItems
SatchetLevelGain
SatchetHeroDies
//TESH.scrollpos=165
//TESH.alwaysfold=0
function SaveLoad_InitialSetup takes nothing returns nothing
    local integer i = 0
    local integer j = 0

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

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

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

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

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

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

function SaveLoad_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 = ""
    set l = 0
    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
AbomAmbushLeftUnits group No
AbomAmbushRightUnits group No
AbomDoorLeft destructable No
AbomDoorRight destructable No
AlleyAmbushStarted boolean No
AlleyAmbushUnits group No
AP01_SharedPlayer player No Player05
AP04_Arthas player No Player03
AP11_Falric player No Player10
APG1_Player force No
ArmoryChurchVM fogmodifier No
ArmoryChurchVMExists boolean No
ArmoryElevatorVM fogmodifier No
ArmoryElevatorVMExists boolean No
ArmoryGuards group No
ArmoryRoomVM fogmodifier No
Arthas unit No UnitNull
ArthasReturnSpot location No
Balnazzar unit No
BattleRoomCorpseUnits group No
BattleRoomUnits group No
BattleRoomVM fogmodifier No
Bloodfeast unit No
BloodfeastLinesDone boolean No
BloodfeastUnits group No
BloodfeastVM fogmodifier No
BridgeElevatorA destructable No
BridgeElevatorB destructable No
BridgeElevatorC destructable No
BridgePlateA destructable No
BridgePlateB destructable No
BridgePlateBusy boolean No
BridgePlateC destructable No
BridgePlateGlowingA boolean No
BridgePlateGlowingB boolean No
BridgePlateGlowingC boolean No
BridgePlateTouched destructable No
CameraReturnPoint location No
ChantingInterrupted boolean No
ChantingNecroA unit No
ChantingNecroB unit No
ChantingNecroC unit No
ChantingUnits group No
ChooseDifficulty dialog No
Code string No
CodeError boolean No
CombatCheckTimer timer No
CorpsePile01Units group No
CorpsePile02Units group No
CorpsePile03Units group No
CryptLeft unit No
CryptLeftDelay real No
CryptLeftMax integer No
CryptLeftTimer timer No
CryptLeftUnits group No
CryptRight unit No
CryptRightDelay real No
CryptRightMax integer No
CryptRightTimer timer No
CryptRightUnits group No
Detheroc unit No
DireLich01 unit No
DireLich02 unit No
ElevatorSound sound No
ExitAbom01 unit No
ExitAbom02 unit No
ExitAbom03 unit No
ExitAbom04 unit No
ExitAboms group No
ExitBanshee01 unit No
ExitBanshee02 unit No
ExitBanshee03 unit No
ExitBanshee04 unit No
ExitBanshees group No
ExitEnemyUnits group No
ExitGhoul01 unit No
ExitGhoul02 unit No
ExitSkipped boolean No false
ExpDisabledForArthas boolean No false
ExpDisabledForFalric boolean No false
Falric unit No
FiendAmbushStarted boolean No
FiendAmbushUnits group No
FirstBanshee unit No
FountainElevator destructable No
FountainGate destructable No
FountainPlate destructable No
FountainPlateGlowing boolean No
GameOver boolean No false
GameSelection boolean No
GargoyleDoor destructable No
HallPatrollerA unit No
HallPatrollerB unit No
HallPatrollerC unit No
HallPatrollerTargetA rect No
HallPatrollerTargetB rect No
HallPatrollerTargetC rect No
HallPatrolTarget integer No
HallPatrolTimer timer No
Hard boolean No
HardB button No
HiddenUnits group No
HorsieChaser unit No
HorsieCorpses group No
HorsieEaters group No
HorsieRunner unit No
HorsieSceneStarted boolean No
InCinematic boolean No false
InCombat boolean No false
IntroDreadlordGhouls group No
IntroGhoul01 unit No
IntroGhoul02 unit No
IntroGhoul03 unit No
IntroGhoul04 unit No
IntroSkipped boolean No false
KelThuzad unit No
LOSRegion rect No
Marketplace unit No
NecroCorpseA unit No
NecroCorpseB unit No
NookVM fogmodifier No
NookVMExists boolean No
NormalB button No
P2_Rescuables player No Player01
P5_Sylvanas player No Player04
P7_Dreadlords player No Player06
P8_KelThuzad player No Player07
PlateActivationSound sound No
PlateResetSound sound No
PlayerColor string Yes
PlayerOneTomesAgility integer No
PlayerOneTomesIntelligence integer No
PlayerOneTomesStrength integer No
PlayerTwoTomesAgility integer No
PlayerTwoTomesIntelligence integer No
PlayerTwoTomesStrength integer No
PointArthasLoc location No
PointCorpsePile01 location No
PointCorpsePile02 location No
PointCorpsePile03 location No
PointCryptLeftSpawn location No
PointCryptRightSpawn location No
PointHallPatrol01A location No
PointHallPatrol01B location No
PointHallPatrol01C location No
PointHallPatrol02A location No
PointHallPatrol02B location No
PointHallPatrol02C location No
PointHallPatrol03A location No
PointHallPatrol03B location No
PointHallPatrol03C location No
PointHallPatrol04A location No
PointHallPatrol04B location No
PointHallPatrol04C location No
PointHallPatrol05A location No
PointHallPatrol05B location No
PointHallPatrol05C location No
PointHallPatrol06A location No
PointHallPatrol06B location No
PointHallPatrol06C location No
PointHallPatrollerTargetA location No
PointHallPatrollerTargetB location No
PointHallPatrollerTargetC location No
PointVisionAChurch location No
PointWaveSource01A location No
PointWaveSource01B location No
PointWaveSource02A location No
PointWaveSource02B location No
PointWaveSource03A location No
PointWaveSource03B location No
PointWaveSource04A location No
PointWaveSource04B location No
PointWaveSource05A location No
PointWaveSource05B location No
PointWaveSource06A location No
PointWaveSource06B location No
PointWaveSource07A location No
PointWaveSource07B location No
PolitePanTarget location No
PrisonGate destructable No
PrisonGuardA unit No
PrisonGuardB unit No
PrisonGuards group No
PrisonVMA fogmodifier No
PrisonVMB fogmodifier No
PrisonVMsExist boolean No
QuestExit quest No
QuestExitReq1 questitem No
QuestExitReq2 questitem No
QuestGold quest No
QuestGoldReq1 questitem No
QuestGraves quest No
QuestGravesReq1 questitem No
QuestMeat quest No
QuestMeatReq1 questitem No
QuestMeatReq2 questitem No
QuestRiver quest No
QuestRiverReq1 questitem No
QuestRiverReq2 questitem No
RescueAbom unit No
RescueCageA unit No
RescueCageB unit No
RescueFiendA unit No
RescueFiendB unit No
RescueGhoulA unit No
RescueGhoulB unit No
RescueGuyA unit No
RescueGuyB unit No
RescueNecroB unit No
RescueNecroC unit No
RescueNecroCorpses group No
RescueShade unit No
RescueShadeMoveTarg location No
RescueShelfA unit No
RescueShelfB unit No
RescueWagonA unit No
RescueWagonB unit No
RevivalAltar unit No UnitNull
RevivalHero unit No UnitNull
RevivalReturnSpot location No
RevivalSpot location 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
SelectedUnits2 group No
SinglePlayer boolean No
SkelAmbushers group No
SkelAmbushStarted boolean No
Speaker unit No
SpeakingDistance real No 1500.00
StartingGate destructable No
TempHero unit No
TempInteger integer No
TempItem item No
TempItemType itemcode No
TempPoint location No
TempUnit unit No
TextFileName string No
Validate boolean No
Varimathras unit No
VictorySkipped boolean No false
VSourceArmoryA location No
VSourceArmoryB location No
VSourceArmoryC location No
VSourceArmoryD location No
VSourceArmoryE location No
VSourceArmoryF location No
VSourceArmoryG location No
VSourceArmoryPlate location No
VSourceBridgePlateA location No
VSourceBridgePlateB location No
VSourceBridgePlateC location No
VSourceChurchA location No
VSourceChurchB location No
VSourceCorpsePile01 location No
VSourceCorpsePile02 location No
VSourceCorpsePile03 location No
VSourceFountainPlate location No
VSourceHorsieA location No
VSourceNook location No
VSourcePrison location No
VSourceSkelAmbushA location No
VSourceSkelAmbushB location No
VSourceSkelAmbushC location No
WaveOrdersTimer timer No
WaveSource integer No
WaveSpawnDelay real No
WaveSpawnDelayLate real No
WaveSpawnMax integer No
WaveSpawnNumA integer No
WaveSpawnNumB integer No
WaveSpawnPackSize integer No
WaveSpawnSource location No
WaveSpawnSourceA location No
WaveSpawnSourceB location No
WaveSpawnTimer timer No
WaveSpawnUnitType unitcode No
WaveSpawnUnitTypeA unitcode No
WaveSpawnUnitTypeB unitcode No
WaveUnits group No
ZombieGroupA group No
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_RegionsToPoints <gen> (checking conditions)
    Trigger - Run Init_03a_Player_Units <gen> (checking conditions)
    Trigger - Run Init_03b_Enemy_Units <gen> (checking conditions)
    Trigger - Run Init_03c_Scene_Units <gen> (checking conditions)
    Trigger - Run Init_03d_Cinematic_Units <gen> (checking conditions)
    Trigger - Run Init_05_Sounds <gen> (checking conditions)
    Trigger - Run Init_06a_Environment <gen> (checking conditions)
    Trigger - Run Init_06b_Elevators <gen> (checking conditions)
    Trigger - Run Init_07_Quests <gen> (checking conditions)
    Trigger - Run SetDifficulty <gen> (checking conditions)
Had to have more Alliance settings then X04
Init 01 Players
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    Player Group - Add AP01_SharedPlayer to APG1_Player
    Player Group - Add AP04_Arthas to APG1_Player
    Player Group - Add AP11_Falric to APG1_Player
    -------- Set User Player Alliances --------
    Player Group - Pick every player in (All players) and do (Make (Picked player) treat AP01_SharedPlayer as an Enemy)
    Player Group - Pick every player in (All players) and do (Make AP01_SharedPlayer treat (Picked player) as an Enemy)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP11_Falric controller) Equal to Computer) or ((AP11_Falric 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
    -------- Alliance Settings --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Player - Make (Picked player) treat P7_Dreadlords as an Enemy
        Player - Make (Picked player) treat Neutral Hostile as an Enemy
        Player - Make P7_Dreadlords treat (Picked player) as an Enemy
        Player - Make Neutral Hostile treat (Picked player) as an Enemy
        Player - Make Neutral Passive treat (Picked player) as an Ally
    Player - Make P7_Dreadlords treat P8_KelThuzad as an Enemy
    Player - Make P8_KelThuzad treat P7_Dreadlords as an Enemy
    Player - Make P2_Rescuables treat AP04_Arthas as an Ally
    Player - Make P2_Rescuables treat AP11_Falric as an Ally
    Player - Make P2_Rescuables treat AP01_SharedPlayer as an Ally
    Player - Make AP04_Arthas treat P2_Rescuables as an Ally
    Player - Make AP11_Falric treat P2_Rescuables as an Ally
    Player - Make AP01_SharedPlayer treat P2_Rescuables as an Ally
    Player - Make P5_Sylvanas treat AP04_Arthas as an Ally
    Player - Make P5_Sylvanas treat AP11_Falric as an Ally
    Player - Make P5_Sylvanas treat AP01_SharedPlayer as an Ally
    Player - Make AP04_Arthas treat P5_Sylvanas as an Ally
    Player - Make AP11_Falric treat P5_Sylvanas as an Ally
    Player - Make AP01_SharedPlayer treat P5_Sylvanas as an Ally
    Player - Make P8_KelThuzad treat AP04_Arthas as an Ally
    Player - Make P8_KelThuzad treat AP11_Falric as an Ally
    Player - Make P8_KelThuzad treat AP01_SharedPlayer as an Ally
    Player - Make AP04_Arthas treat P8_KelThuzad as an Ally
    Player - Make AP11_Falric treat P8_KelThuzad as an Ally
    Player - Make AP01_SharedPlayer treat P8_KelThuzad as an Ally
    -------- Initial Resources --------
    Player - Set AP01_SharedPlayer Current gold to 0
    Player - Set AP01_SharedPlayer Current lumber to 0
    -------- Player Colors --------
    Player - Change color of AP01_SharedPlayer to Purple, Changing color of existing units
    Player - Change color of AP04_Arthas to Purple, Changing color of existing units
    Player - Change color of AP11_Falric to Dark Green, Changing color of existing units
    Player - Change color of P2_Rescuables to Yellow, Changing color of existing units
    Player - Change color of P5_Sylvanas to Purple, Changing color of existing units
    Player - Change color of P7_Dreadlords to Green, Changing color of existing units
    Player - Change color of P8_KelThuzad to Purple, Changing color of existing units
    -------- Hide Excess Players --------
    Player - Hide P2_Rescuables in the post-game score screen
    Player - Hide AP01_SharedPlayer in the post-game score screen
    Player - Hide P5_Sylvanas in the post-game score screen
    Player - Hide P8_KelThuzad in the post-game score screen
    -------- Disable Abilities --------
Init 02 RegionsToPoints
  Events
  Conditions
  Actions
    Set PointCorpsePile01 = (Center of Corpse_Pile_01 <gen>)
    Set PointCorpsePile02 = (Center of Corpse_Pile_02 <gen>)
    Set PointCorpsePile03 = (Center of Corpse_Pile_03 <gen>)
    Set PointWaveSource01A = (Center of Wave_Source_01A <gen>)
    Set PointWaveSource01B = (Center of Wave_Source_01B <gen>)
    Set PointWaveSource02A = (Center of Wave_Source_02A <gen>)
    Set PointWaveSource02B = (Center of Wave_Source_02B <gen>)
    Set PointWaveSource03A = (Center of Wave_Source_03A <gen>)
    Set PointWaveSource03B = (Center of Wave_Source_03B <gen>)
    Set PointWaveSource04A = (Center of Wave_Source_04A <gen>)
    Set PointWaveSource04B = (Center of Wave_Source_04B <gen>)
    Set PointWaveSource05A = (Center of Wave_Source_05A <gen>)
    Set PointWaveSource05B = (Center of Wave_Source_05B <gen>)
    Set PointWaveSource06A = (Center of Wave_Source_06A <gen>)
    Set PointWaveSource06B = (Center of Wave_Source_06B <gen>)
    Set PointWaveSource07A = (Center of Wave_Source_07A <gen>)
    Set PointWaveSource07B = (Center of Wave_Source_07B <gen>)
    Set PointCryptLeftSpawn = (Center of CryptLeft_Spawn_Point <gen>)
    Set PointCryptRightSpawn = (Center of CryptRight_Spawn_Point <gen>)
    Set PointHallPatrol01A = (Center of Hall_Patrol_01A <gen>)
    Set PointHallPatrol01B = (Center of Hall_Patrol_01B <gen>)
    Set PointHallPatrol01C = (Center of Hall_Patrol_01C <gen>)
    Set PointHallPatrol02A = (Center of Hall_Patrol_02A <gen>)
    Set PointHallPatrol02B = (Center of Hall_Patrol_02B <gen>)
    Set PointHallPatrol02C = (Center of Hall_Patrol_02C <gen>)
    Set PointHallPatrol03A = (Center of Hall_Patrol_03A <gen>)
    Set PointHallPatrol03B = (Center of Hall_Patrol_03B <gen>)
    Set PointHallPatrol03C = (Center of Hall_Patrol_03C <gen>)
    Set PointHallPatrol04A = (Center of Hall_Patrol_04A <gen>)
    Set PointHallPatrol04B = (Center of Hall_Patrol_04B <gen>)
    Set PointHallPatrol04C = (Center of Hall_Patrol_04C <gen>)
    Set PointHallPatrol05A = (Center of Hall_Patrol_05A <gen>)
    Set PointHallPatrol05B = (Center of Hall_Patrol_05B <gen>)
    Set PointHallPatrol05C = (Center of Hall_Patrol_05C <gen>)
    Set PointHallPatrol06A = (Center of Hall_Patrol_06A <gen>)
    Set PointHallPatrol06B = (Center of Hall_Patrol_06B <gen>)
    Set PointHallPatrol06C = (Center of Hall_Patrol_06C <gen>)
    Set PointVisionAChurch = (Center of Vision_AChurch <gen>)
Init 03a Player Units
  Events
  Conditions
  Actions
    -------- Heroes --------
    Trigger - Run Load_Heroes <gen> (checking conditions)
    Hero - Make AP04_Arthas Heroes gain 50.00% experience from future kills
    Hero - Make AP11_Falric Heroes gain 50.00% experience from future kills
    Hero - Make P7_Dreadlords Heroes gain 0.00% experience from future kills
    -------- Neutral Buildings --------
    Set Marketplace = Tomb of Relics 0071 <gen>
    Trigger - Run Marketplace_Config <gen> (checking conditions)
    -------- Rescuables --------
    Set RescueNecroB = (Random unit from (Units in Rescue_Necro_SourceB <gen> owned by P2_Rescuables))
    Set RescueNecroC = (Random unit from (Units in Rescue_Necro_SourceC <gen> owned by P2_Rescuables))
    Set RescueAbom = (Random unit from (Units in Rescue_Abom_Source <gen> owned by P2_Rescuables))
    Set RescueShade = (Random unit from (Units in Rescue_Shade_Source <gen> owned by P2_Rescuables))
    Set RescueFiendA = (Random unit from (Units in Rescue_Fiends_SourceA <gen> owned by P2_Rescuables))
    Set RescueFiendB = (Random unit from (Units in Rescue_Fiends_SourceB <gen> owned by P2_Rescuables))
    Set RescueGhoulA = (Random unit from (Units in Rescue_Ghouls_SourceA <gen> owned by P2_Rescuables))
    Set RescueGhoulB = (Random unit from (Units in Rescue_Ghouls_SourceB <gen> owned by P2_Rescuables))
    Set RescueShelfA = (Random unit from (Units in Rescue_Shelf_SourceA <gen> owned by P2_Rescuables))
    Set RescueShelfB = (Random unit from (Units in Rescue_Shelf_SourceB <gen> owned by P2_Rescuables))
    Set RescueGuyA = (Random unit from (Units in Rescue_Guys_SourceA <gen> owned by P2_Rescuables))
    Set RescueGuyB = (Random unit from (Units in Rescue_Guys_SourceB <gen> owned by P2_Rescuables))
    Set RescueWagonA = (Random unit from (Units in Rescue_WagonA_Source <gen> owned by P2_Rescuables))
    Set RescueWagonB = (Random unit from (Units in Rescue_WagonB_Source <gen> owned by P2_Rescuables))
Init 03b Enemy Units
  Events
  Conditions
  Actions
    -------- Meat Wagon Aggro Range --------
    Unit Group - Pick every unit in (Units owned by P7_Dreadlords of type Meat Wagon) and do (Actions)
      Loop - Actions
        Unit - Set (Picked unit) acquisition range to 700.00
    -------- Ambushers --------
    Set AbomAmbushLeftUnits = (Units in Abom_Ambush_Source_Left <gen> owned by P7_Dreadlords)
    Set AbomAmbushRightUnits = (Units in Abom_Ambush_Source_Right <gen> owned by P7_Dreadlords)
    Set AlleyAmbushUnits = (Units in Alley_Ambush_Source <gen> owned by P7_Dreadlords)
    Unit Group - Pick every unit in AlleyAmbushUnits and do (Hide (Picked unit))
    Set FiendAmbushUnits = (Units in Fiend_Ambush_Fiend_Source <gen> matching (((Owner of (Matching unit)) Equal to P7_Dreadlords) and ((Unit-type of (Matching unit)) Equal to Crypt Fiend)))
    Unit Group - Pick every unit in FiendAmbushUnits and do (Hide (Picked unit))
    Set SkelAmbushers = (Units in Skel_Ambush_Units_Source <gen> owned by P7_Dreadlords)
    Unit Group - Pick every unit in SkelAmbushers and do (Hide (Picked unit))
    -------- Patrollers --------
    Set HallPatrollerA = (Random unit from (Units in Hall_Patrol_SourceA <gen> owned by P7_Dreadlords))
    Set HallPatrollerB = (Random unit from (Units in Hall_Patrol_SourceB <gen> owned by P7_Dreadlords))
    Set HallPatrollerC = (Random unit from (Units in Hall_Patrol_SourceC <gen> owned by P7_Dreadlords))
    AI - Ignore HallPatrollerA's guard position
    AI - Ignore HallPatrollerB's guard position
    AI - Ignore HallPatrollerC's guard position
    Trigger - Run Hall_Patrol_Start <gen> (checking conditions)
    -------- Guards --------
    Set PrisonGuardA = (Random unit from (Units in Prison_Guard_SourceA <gen> owned by P7_Dreadlords))
    Set PrisonGuardB = (Random unit from (Units in Prison_Guard_SourceB <gen> owned by P7_Dreadlords))
    Set PrisonGuards = (Units in Prison_Guards <gen> owned by P7_Dreadlords)
    Set ArmoryGuards = (Units in Armory_Guards_Source <gen> owned by P7_Dreadlords)
    Unit Group - Add all units of (Units in Armory_Guards_Source <gen> owned by Neutral Hostile) to ArmoryGuards
    -------- Other Assorted Varieties --------
    Set ZombieGroupA = (Units in Zombie_Group_A <gen> owned by P7_Dreadlords)
Init 03c Scene Units
  Events
  Conditions
  Actions
    -------- Rescue Necro Scene --------
    Set NecroCorpseA = (Random unit from (Units in Entrance_Hallway_CorpseA <gen> owned by P7_Dreadlords))
    Set NecroCorpseB = (Random unit from (Units in Entrance_Hallway_CorpseB <gen> owned by P7_Dreadlords))
    Unit - Pause NecroCorpseA
    Unit - Pause NecroCorpseB
    Unit - Hide NecroCorpseA
    Unit - Hide NecroCorpseB
    -------- Chanting Scene --------
    Set ChantingNecroA = (Random unit from (Units in Chanting_Necro_SourceA <gen> owned by P7_Dreadlords))
    Set ChantingNecroB = (Random unit from (Units in Chanting_Necro_SourceB <gen> owned by P7_Dreadlords))
    Set ChantingNecroC = (Random unit from (Units in Chanting_Necro_SourceC <gen> owned by P7_Dreadlords))
    Set ChantingUnits = (Units in Chanting_Necros_Source <gen> owned by P7_Dreadlords)
    AI - Ignore ChantingNecroA's guard position
    AI - Ignore ChantingNecroB's guard position
    AI - Ignore ChantingNecroC's guard position
    -------- Horse Scene --------
    Set HorsieCorpses = (Units in Horsie_Corpses_Source <gen> owned by Neutral Passive)
    Set HorsieEaters = (Units in Horsie_Eaters_Source <gen> owned by P7_Dreadlords)
    Set HorsieRunner = (Random unit from (Units in Horsie_Runner_Source <gen> owned by Neutral Passive))
    Set HorsieChaser = (Random unit from (Units in Horsie_Chaser_Source <gen> owned by P7_Dreadlords))
    Trigger - Run Horsie_Scene_Setup <gen> (checking conditions)
    -------- Battle Room Scene --------
    Set BattleRoomUnits = (Units in BattleRoom_Units <gen>)
    Set BattleRoomCorpseUnits = (Units in BattleRoom_Units <gen> owned by Neutral Passive)
    Unit Group - Pick every unit in BattleRoomUnits and do (Actions)
      Loop - Actions
        Unit - Hide (Picked unit)
        Unit - Pause (Picked unit)
        Unit - Make (Picked unit) Invulnerable
    -------- CryptLeft Scene --------
    Set CryptLeft = Crypt 0207 <gen>
    Set CryptLeftUnits = (Units in CryptLeftUnits_Source <gen> owned by P7_Dreadlords)
    Unit Group - Remove CryptLeft from CryptLeftUnits
    Trigger - Run CryptLeft_Start <gen> (checking conditions)
    -------- CryptRight Scene --------
    Set CryptRight = Crypt 0206 <gen>
    Set CryptRightUnits = (Units in CryptRightUnits_Source <gen> owned by P7_Dreadlords)
    Unit Group - Remove CryptRight from CryptRightUnits
    Trigger - Run CryptRight_Start <gen> (checking conditions)
    -------- Bloodfeast Scene --------
    Set Bloodfeast = (Random unit from (Units in Bloodfeast_Source <gen> owned by P7_Dreadlords))
    Set BloodfeastUnits = (Units in Bloodfeast_Units_Source <gen> owned by P7_Dreadlords)
Init 03d Cinematic Units
  Events
  Conditions
  Actions
    -------- Intro Cinematic --------
    Set Balnazzar = Dreadlord 0161 <gen>
    Set Detheroc = Dreadlord 0137 <gen>
    Set Varimathras = Dreadlord 0062 <gen>
    Unit - Change color of Balnazzar to Purple
    Unit - Change color of Detheroc to Green
    Unit - Change color of Varimathras to Red
    Set KelThuzad = Lich 0009 <gen>
    Unit - Change color of KelThuzad to Green
    Set DireLich01 = Arch Necromancer 0011 <gen>
    Set DireLich02 = Arch Necromancer 0010 <gen>
    Set IntroGhoul01 = (Random unit from (Units in Intro_Ghoul_Source01 <gen> owned by P7_Dreadlords))
    Set IntroGhoul02 = (Random unit from (Units in Intro_Ghoul_Source02 <gen> owned by P7_Dreadlords))
    Set IntroGhoul03 = (Random unit from (Units in Intro_Ghoul_Source03 <gen> owned by P7_Dreadlords))
    Set IntroGhoul04 = (Random unit from (Units in Intro_Ghoul_Source04 <gen> owned by P7_Dreadlords))
    AI - Ignore IntroGhoul01's guard position
    AI - Ignore IntroGhoul02's guard position
    AI - Ignore IntroGhoul03's guard position
    AI - Ignore IntroGhoul04's guard position
    Set IntroDreadlordGhouls = (Units in Intro_Dreadlord_Ghouls <gen> owned by P7_Dreadlords)
    -------- Victory Cinematic --------
    Set ExitAbom01 = (Random unit from (Units in Exit_Abom01_Source <gen> owned by P7_Dreadlords))
    Set ExitAbom02 = (Random unit from (Units in Exit_Abom02_Source <gen> owned by P7_Dreadlords))
    Set ExitAbom03 = (Random unit from (Units in Exit_Abom03_Source <gen> owned by P7_Dreadlords))
    Set ExitAbom04 = (Random unit from (Units in Exit_Abom04_Source <gen> owned by P7_Dreadlords))
    Set ExitAboms = (Units in Exit_Aboms_Source <gen> owned by P7_Dreadlords)
    Unit Group - Pick every unit in ExitAboms and do (Ignore (Picked unit)'s guard position)
    Unit Group - Pick every unit in ExitAboms and do (Hide (Picked unit))
    Set ExitBanshee01 = (Random unit from (Units in Exit_Banshee01_Source <gen> owned by P5_Sylvanas))
    Set ExitBanshee02 = (Random unit from (Units in Exit_Banshee02_Source <gen> owned by P5_Sylvanas))
    Set ExitBanshee03 = (Random unit from (Units in Exit_Banshee03_Source <gen> owned by P5_Sylvanas))
    Set ExitBanshee04 = (Random unit from (Units in Exit_Banshee04_Source <gen> owned by P5_Sylvanas))
    Unit Group - Add ExitBanshee01 to ExitBanshees
    Unit Group - Add ExitBanshee02 to ExitBanshees
    Unit Group - Add ExitBanshee03 to ExitBanshees
    Unit Group - Add ExitBanshee04 to ExitBanshees
    Unit Group - Pick every unit in ExitBanshees and do (Ignore (Picked unit)'s guard position)
    Unit Group - Pick every unit in ExitBanshees and do (Hide (Picked unit))
    Unit - Hide Necromancer 0173 <gen>
    Unit - Hide Dark Necromancer 0259 <gen>
    Hero - Disable experience gain for Dark Necromancer 0259 <gen>
    Special Effect - Create a special effect attached to the origin of Dark Necromancer 0259 <gen> using Glow.mdx
    Unit - Change color of Dark Necromancer 0259 <gen> to Dark Green
Init 04 Music
  Events
  Conditions
  Actions
    Sound - Clear the music list
    Wait 0.01 seconds
    Sound - Play Arthas' Theme, skipping the first 12.00 seconds
    Sound - Set the music list to Music, starting with song 1
Init 05 Sounds
  Events
  Conditions
  Actions
    Set PlateActivationSound = Switch <gen>
    Set PlateResetSound = InGameChatWhat1 <gen>
    Set ElevatorSound = Elevator <gen>
Init 06a Environment
  Events
  Conditions
  Actions
    -------- Initial Time Of Day --------
    Game - Set the time of day to 21.00
    Game - Turn the day/night cycle Off
    -------- Weather Effects --------
    -------- Fog --------
    -------- Initial Visibility --------
    -------- Bridges --------
    -------- Gates (Vulnerable) --------
    Set StartingGate = Elven Gate 0000 <gen>
    Set PrisonGate = Dungeon Gate 1073 <gen>
    Set FountainGate = Elven Gate 2572 <gen>
    -------- Doors (Invulnerable) --------
    Set AbomDoorLeft = Iron Gate 0114 <gen>
    Destructible - Make AbomDoorLeft Invulnerable
    Set AbomDoorRight = Iron Gate 2767 <gen>
    Destructible - Make AbomDoorRight Invulnerable
    Set GargoyleDoor = Iron Gate 2766 <gen>
    Destructible - Make GargoyleDoor Invulnerable
    -------- Open Doors --------
    Destructible - Open Iron Gate 2636 <gen>
    -------- Pressure Plates --------
    Set FountainPlate = Foot Switch 0411 <gen>
    Set BridgePlateA = Foot Switch 0751 <gen>
    Set BridgePlateB = Foot Switch 0750 <gen>
    Set BridgePlateC = Foot Switch 1998 <gen>
    Animation - Play FountainPlate's stand alternate animation
    Animation - Play BridgePlateA's stand alternate animation
    Animation - Play BridgePlateB's stand alternate animation
    Animation - Play BridgePlateC's stand alternate animation
Init 06b Elevators
  Events
  Conditions
  Actions
    -------- Fountain Elevator --------
    Set FountainElevator = Elevator 0171 <gen>
    Destructible - Set height of FountainElevator to 1
    Destructible - Close All walls of FountainElevator
    -------- Bridge Elevators --------
    Set BridgeElevatorA = Elevator 0274 <gen>
    Set BridgeElevatorB = Elevator 2599 <gen>
    Set BridgeElevatorC = Elevator 0874 <gen>
    Destructible - Set height of BridgeElevatorA to 2
    Destructible - Set height of BridgeElevatorB to 2
    Destructible - Set height of BridgeElevatorC to 2
    Destructible - Close North wall of BridgeElevatorA
    Destructible - Close North wall of BridgeElevatorB
    Destructible - Close North wall of BridgeElevatorC
    Destructible - Close South wall of BridgeElevatorA
    Destructible - Close South wall of BridgeElevatorB
    Destructible - Close South wall of BridgeElevatorC
Init 06c Vision
  Events
  Conditions
  Actions
    -------- Church Vision --------
    Set VSourceChurchA = (Center of Vision_AChurch_SourceA <gen>)
    Set VSourceChurchB = (Center of Vision_AChurch_SourceB <gen>)
    -------- Nook Vision --------
    Set VSourceNook = (Center of Vision_Nook_Source <gen>)
    -------- Prison Vision --------
    Set VSourcePrison = (Center of Vision_Prison_Source <gen>)
    -------- Corpse Pile Vision --------
    Set VSourceCorpsePile01 = (Center of Corpse_Pile_01 <gen>)
    Set VSourceCorpsePile02 = (Center of Corpse_Pile_02 <gen>)
    Set VSourceCorpsePile03 = (Center of Corpse_Pile_03 <gen>)
    -------- Skel Ambush Vision --------
    Set VSourceSkelAmbushA = (Center of Skel_Ambush_SampleA <gen>)
    Set VSourceSkelAmbushB = (Center of Skel_Ambush_SampleB <gen>)
    Set VSourceSkelAmbushC = (Center of Skel_Ambush_SampleC <gen>)
    -------- Horsie Vision --------
    Set VSourceHorsieA = (Center of Horsie_Scene_VTripwire <gen>)
    -------- Plate Vision --------
    Set VSourceBridgePlateA = (Center of VSource_Bridge_Plate_A <gen>)
    Set VSourceBridgePlateB = (Center of VSource_Bridge_Plate_B <gen>)
    Set VSourceBridgePlateC = (Center of VSource_Bridge_Plate_C <gen>)
    Set VSourceFountainPlate = (Center of VSource_Fountain_Plate <gen>)
Init 07 Quests
  Events
  Conditions
  Actions
    -------- Create Quests --------
    Trigger - Run Quest_Exit_Create <gen> (checking conditions)
    Trigger - Run Quest_Meat_Create <gen> (checking conditions)
Init 08a Hard
  Events
  Conditions
    Hard Equal to True
  Actions
    Set WaveSpawnDelay = 90.00
    Set WaveSpawnDelayLate = 90.00
    -------- Buff Up Player 7 --------
    Player - Set the current research level of Rume (techcode) to 3 for P7_Dreadlords
    Player - Set the current research level of Rura (techcode) to 3 for P7_Dreadlords
    Player - Set the current research level of Ruar (techcode) to 3 for P7_Dreadlords
    Player - Set the current research level of Rucr (techcode) to 3 for P7_Dreadlords
    Player - Set the current research level of Rugf (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Rune (techcode) to 2 for P7_Dreadlords
    Player - Set the current research level of Rusl (techcode) to 1 for P7_Dreadlords
    -------- Extra Units --------
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit01 <gen>) facing 290.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit02 <gen>) facing 270.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit03 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit04 <gen>) facing 250.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit05 <gen>) facing 280.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit06 <gen>) facing 275.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit07 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit08 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit09 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit10 <gen>) facing 270.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit11 <gen>) facing 300.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit12 <gen>) facing 300.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit13 <gen>) facing 300.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit14 <gen>) facing 220.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit15 <gen>) facing 220.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit16 <gen>) facing 220.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit17 <gen>) facing 260.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit18 <gen>) facing 260.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit19 <gen>) facing 120.00 degrees
    Unit - Create 1 Zombie Master (Custom) for P7_Dreadlords at (Center of HardDifficultyUnit20 <gen>) facing 140.00 degrees
    Unit Group - Add (Last created unit) to ZombieGroupA
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit21 <gen>) facing 260.00 degrees
    Unit - Create 1 Lesser Flesh Golem (Custom) for P7_Dreadlords at (Center of HardDifficultyUnit22 <gen>) facing 290.00 degrees
    Unit - Create 1 Lesser Flesh Golem (Custom) for P7_Dreadlords at (Center of HardDifficultyUnit23 <gen>) facing 250.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit24 <gen>) facing 135.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit25 <gen>) facing 200.00 degrees
    -------- DreadLord --------
    Hero - Set Dreadlord 0184 <gen> Hero-level to 6, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Vampiric Aura
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Inferno
    -------- DreadLord --------
    Hero - Set Dreadlord 0135 <gen> Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Vampiric Aura
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Vampiric Aura
    -------- DreadLord --------
    Hero - Set Dreadlord 0226 <gen> Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Vampiric Aura
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Inferno
    -------- Remove Some Crates --------
    Destructible - Pick every destructible in HardDifficultyCrate01 <gen> and do (Remove (Picked destructible))
    Destructible - Pick every destructible in HardDifficultyCrate02 <gen> and do (Remove (Picked destructible))
    Destructible - Pick every destructible in HardDifficultyCrate03 <gen> and do (Remove (Picked destructible))
    Destructible - Pick every destructible in HardDifficultyCrate04 <gen> and do (Remove (Picked destructible))
    Item - Pick every item in Bloodfeast_Tripwire <gen> and do (Remove (Picked item))
Init 08b Normal
  Events
  Conditions
    Hard Equal to False
  Actions
    Set WaveSpawnDelay = 120.00
    Set WaveSpawnDelayLate = 150.00
    -------- Buff Up Player 7 --------
    Player - Set the current research level of Rume (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Rura (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Ruar (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Rucr (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Rune (techcode) to 1 for P7_Dreadlords
    Player - Set the current research level of Rusl (techcode) to 1 for P7_Dreadlords
    -------- Extra Units --------
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit01 <gen>) facing 290.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit03 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit04 <gen>) facing 250.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit05 <gen>) facing 280.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit07 <gen>) facing 270.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit08 <gen>) facing 270.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit11 <gen>) facing 300.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit13 <gen>) facing 300.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit14 <gen>) facing 220.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit16 <gen>) facing 220.00 degrees
    Unit - Create 1 Necromancer for P7_Dreadlords at (Center of HardDifficultyUnit17 <gen>) facing 260.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit19 <gen>) facing 120.00 degrees
    Unit - Create 1 Ghoul for P7_Dreadlords at (Center of HardDifficultyUnit24 <gen>) facing 135.00 degrees
    Unit - Create 1 Abomination for P7_Dreadlords at (Center of HardDifficultyUnit25 <gen>) facing 200.00 degrees
    -------- DreadLord --------
    Hero - Set Dreadlord 0184 <gen> Hero-level to 4, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0184 <gen>: Undead Dreadlord - Vampiric Aura
    -------- DreadLord --------
    Hero - Set Dreadlord 0135 <gen> Hero-level to 5, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Vampiric Aura
    Hero - Learn skill for Dreadlord 0135 <gen>: Undead Dreadlord - Vampiric Aura
    -------- DreadLord --------
    Hero - Set Dreadlord 0226 <gen> Hero-level to 6, Hide level-up graphics
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Sleep
    Hero - Learn skill for Dreadlord 0226 <gen>: Undead Dreadlord - Vampiric Aura
    -------- Remove Some Crates --------
    Destructible - Pick every destructible in HardDifficultyCrate02 <gen> and do (Remove (Picked destructible))
    Destructible - Pick every destructible in HardDifficultyCrate03 <gen> and do (Remove (Picked destructible))
    Item - Pick every item in Bloodfeast_Tripwire <gen> and do (Remove (Picked item))
Load Heroes
  Events
  Conditions
  Actions
    -------- Load Each Hero --------
    Trigger - Run Create_Arthas <gen> (checking conditions)
    Trigger - Run Create_Falric <gen> (checking conditions)
Create Arthas
  Events
  Conditions
  Actions
    -------- Create Hero --------
    Unit - Create 1 Death Knight (Evil) for Neutral Passive at (Center of Intro_Arthas_Through_Gate <gen>) facing 90.00 degrees
    Set Arthas = (Last created unit)
    Hero - Set Arthas Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    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 - Death Pact
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Animate Dead
    -------- Create Satchet --------
    Unit - Create 1 Sachet for Neutral Passive at (Center of Intro_Arthas_Through_Gate <gen>) facing 90.00 degrees
    Set Satchet01 = (Last created unit)
Create Falric
  Events
  Conditions
  Actions
    -------- Create Hero --------
    Unit - Create 1 Dark Necromancer for Player 2 (Blue) at (Center of Rescue_Necro_SourceA <gen>) facing 180.00 degrees
    Set Falric = (Last created unit)
    Hero - Set Falric Hero-level to 3, Hide level-up graphics
    Hero - Learn skill for Falric: Raise Dead
    Hero - Learn skill for Falric: Finger of Pain
    Hero - Learn skill for Falric: Dark Ritual
    Special Effect - Create a special effect attached to the origin of Falric using Glow.mdx
    Unit - Change color of Falric to Dark Green
    -------- Create Satchet --------
    Unit - Create 1 Sachet for Player 2 (Blue) at (Center of Rescue_Necro_SourceA <gen>) facing 90.00 degrees
    Set Satchet02 = (Last created unit)
Load Default Arthas
  Events
  Conditions
  Actions
    -------- Add Items --------
    Hero - Create Gauntlets of Ogre Strength +3 and give it to Arthas
    Hero - Create Claws of Attack +3 and give it to Arthas
    Hero - Create Scroll of Healing and give it to Arthas
Load Default Falric
  Events
  Conditions
  Actions
    -------- Add Items --------
    Hero - Create Ring of Protection +1 and give it to Falric
    Hero - Create Mantle of Intelligence +3 and give it to Falric
    Hero - Create Scroll of Mana and give it to Falric
Experience Cap Falric
  Events
    Unit - A unit owned by Player 11 (Dark Green) Gains a level
  Conditions
    (Leveling Hero) Equal to Falric
    (Hero level of (Leveling Hero)) Greater than or equal to 5
  Actions
    Set ExpDisabledForFalric = True
    Hero - Disable experience gain for Falric
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)
Post Cinematic Pause
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        AlleyAmbushStarted Equal to False
      Then - Actions
        Unit Group - Pick every unit in AlleyAmbushUnits and do (Pause (Picked unit))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        FiendAmbushStarted Equal to False
      Then - Actions
        Unit Group - Pick every unit in FiendAmbushUnits and do (Pause (Picked unit))
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SkelAmbushStarted Equal to False
      Then - Actions
        Unit Group - Pick every unit in SkelAmbushers and do (Pause (Picked unit))
      Else - Actions
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
    Wait 1.00 seconds
    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_Hall01 for (Picked player) over 0 seconds
        Camera - Apply gg_cam_Intro_Hall02 for (Picked player) over ((Length of L02KelThuzad01 <gen>) + 4.25) seconds
    -------- Fade In --------
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Trigger - Turn on Intro_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Unit Group - Pick every unit in IntroDreadlordGhouls and do (Set life of (Picked unit) to 80.00)
    Unit - Set Death Knight 0214 <gen> movement speed to (Default movement speed of Arch Necromancer 0010 <gen>)
    Unit - Set Lich 0009 <gen> movement speed to (Default movement speed of Arch Necromancer 0010 <gen>)
    Unit - Order Death Knight 0214 <gen> to Move To (Center of Intro_Arthas_Go_Here <gen>)
    Unit - Order Lich 0009 <gen> to Move To (Center of Intro_Kel_Go_Here <gen>)
    Unit - Order Arch Necromancer 0010 <gen> to Move To (Center of Intro_Necro_Go_Here01 <gen>)
    Unit - Order Arch Necromancer 0011 <gen> to Move To (Center of Intro_Necro_Go_Here02 <gen>)
    Sound - Play HorseLoop3 <gen> at 80.00% volume, attached to Arthas
    Wait 2 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 1 -Kel'Thuzad --------
    Cinematic - Send transmission to (All players) from KelThuzad named Kel'Thuzad: Play L02KelThuzad01 <gen> and display So the seizures have been getting worse?. Modify duration: Add 0 seconds and Don't wait
    Sound - Play HorseLoop2 <gen> at 80.00% volume, attached to Arthas
    Wait for L02KelThuzad01 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 2 - Arthas --------
    Cinematic - Send transmission to (All players) from Death Knight 0214 <gen> named King Arthas: Play L02Arthas02 <gen> and display Yes. With my powers drained, I can barely command my own warriors. The Lich King warned me that if I didn't reach Northrend soon, all could be lost.. Modify duration: Add 0 seconds and Don't wait
    Sound - Play HorseLoop3 <gen> at 70.00% volume, attached to Arthas
    Wait 2 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_Hall03 for (Picked player) over 0.00 seconds
        Camera - Apply gg_cam_Intro_Hall04 for (Picked player) over (Length of L02Arthas02 <gen>) seconds
    Wait 4.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Death Knight 0214 <gen> face (Center of Intro_Kel_Go_Here <gen>) over 0 seconds
    Unit - Make Lich 0009 <gen> face (Center of Intro_Arthas_Go_Here <gen>) over 0 seconds
    Wait for L02Arthas02 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 3 -Kel'Thuzad --------
    Cinematic - Send transmission to (All players) from KelThuzad named Kel'Thuzad: Play L02KelThuzad03 <gen> and display Fear not, my king. Everything has been prepared for your departure. The ships are waiting at the coast and--. Modify duration: Add 0 seconds and Don't wait
    Wait 2 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_Arthas_Gate for (Picked player) over 0.00 seconds
    Wait 2 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Death Knight 0214 <gen> to Move To (Center of Gameplay_Arthas_Start <gen>)
    Sound - Play HorseLoop2 <gen> at 70.00% volume, attached to Arthas
    Unit - Order Lich 0009 <gen> to Move To (Center of Intro_Kel_at_Gate <gen>)
    Wait for L02KelThuzad03 <gen> to be 0.20 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 4 -Detheroc(Green) --------
    Player - Change color of P7_Dreadlords to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Detheroc named Detheroc: Play L02Detheroc04 <gen> and display There's been a change of plans, King Arthas. You're not going anywhere.. Modify duration: Add 0 seconds and Don't wait
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_Dread_Brothers for (Picked player) over 0.00 seconds
    Wait 2.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Trap! --------
    Wait for L02Detheroc04 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set Combat Sounds to 70.00%
    Unit - Move Lich 0009 <gen> instantly to (Center of Intro_Kel_at_Gate <gen>), facing (Center of Intro_Arthas_Through_Gate <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_Gate_Slam for (Picked player) over 0.00 seconds
    Wait 0.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Close StartingGate
    Sound - Play LargeCityGateOpen1 <gen> at 90.00% volume, located at (Center of LOSBlockers_StartingDoor <gen>) with Z offset 0
    Unit - Make Death Knight 0214 <gen> face (Center of Intro_Arthas_Through_Gate <gen>) over 0 seconds
    Wait 0.25 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 5 -Kel'Thuzad --------
    Cinematic - Send transmission to (All players) from KelThuzad named Kel'Thuzad: Play L02KelThuzad05 <gen> and display Assassins! It's a trap!. Modify duration: Add 0 seconds and Don't wait
    Wait for L02KelThuzad05 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set Death Knight 0214 <gen> movement speed to (Default movement speed of Death Knight 0214 <gen>)
    Unit - Order Death Knight 0214 <gen> to Move To (Center of Intro_Arthas_Fights <gen>)
    Sound - Play HorseLoop1 <gen> at 70.00% volume, attached to Arthas
    Unit Group - Order IntroDreadlordGhouls to Attack-Move To (Center of Intro_Arthas_Fights <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_Dread_Brothers for (Picked player) over 0.00 seconds
    Wait 1.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Setup all volume channels for speech
    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 - Apply gg_cam_Intro_Dread_Brothers02 for (Picked player) over 0.00 seconds
        Camera - Apply gg_cam_Intro_Dread_Brothers03 for (Picked player) over ((Length of L02Balnazzar06 <gen>) + (Length of L02KelThuzad07 <gen>)) seconds
    -------- Line 6- Balnazzar(Red) --------
    Player - Change color of P7_Dreadlords to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Balnazzar named Balnazzar: Play L02Balnazzar06 <gen> and display You should never have returned, human. Weakened as you are, we have assumed control over the majority of your warriors. It seems your reign was short lived.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Balnazzar06 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line 7 -Kel'Thuzad --------
    Cinematic - Send transmission to (All players) from KelThuzad named Kel'Thuzad: Play L02KelThuzad07 <gen> and display There are too many of them, my king! Flee--escape from the city. I'll find my own way out and meet you in the wilderness.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02KelThuzad07 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Move Lich 0009 <gen> instantly to (Center of Intro_Arthas_Go_Here <gen>), facing (Center of Intro_Arthas_Through_Gate <gen>)
    Unit - Move Arch Necromancer 0010 <gen> instantly to (Center of Intro_Necro_Final01 <gen>), facing (Center of Intro_Arthas_Through_Gate <gen>)
    Unit - Move Arch Necromancer 0011 <gen> instantly to (Center of Intro_Necro_FInal02 <gen>), facing (Center of Intro_Arthas_Through_Gate <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Intro_Arthas_GAte02 for (Picked player) over 0.00 seconds
    Unit - Order Death Knight 0214 <gen> to Move To (Center of Gameplay_Arthas_Start <gen>)
    -------- Line 8 -Arthas --------
    Cinematic - Send transmission to (All players) from Death Knight 0214 <gen> named King Arthas: Play L02Arthas08 <gen> and display All right, lich. Good luck.. Modify duration: Add 0 seconds and Don't wait
    Sound - Play HorseLoop2 <gen> at 70.00% volume, attached to Arthas
    Wait for L02Arthas08 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Intro_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Intro Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 11 (Dark Green) 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)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set InCinematic = False
    Trigger - Remove Intro_Cinematic_Q <gen> from the trigger queue
Intro Setup
  Events
  Conditions
  Actions
    Player - Change color of P8_KelThuzad to Green, Changing color of existing units
    Unit - Change color of Arch Necromancer 0011 <gen> to Purple
    Unit - Change color of Arch Necromancer 0010 <gen> to Purple
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas
    Hero - Disable experience gain for Falric
    -------- Pause Time Of Day --------
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Death Knight 0214 <gen>
    Unit - Unpause Lich 0009 <gen>
    Unit - Unpause Arch Necromancer 0011 <gen>
    Unit - Unpause Arch Necromancer 0010 <gen>
    Unit Group - Pick every unit in IntroDreadlordGhouls and do (Unpause (Picked unit))
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP01_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Add all units of (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by P2_Rescuables matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by P7_Dreadlords matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Remove Death Knight 0214 <gen> from HiddenUnits
    Unit Group - Remove Balnazzar from HiddenUnits
    Unit Group - Remove Detheroc from HiddenUnits
    Unit Group - Remove Varimathras from HiddenUnits
    Unit Group - Pick every unit in IntroDreadlordGhouls and do (Remove (Picked unit) from HiddenUnits)
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    Unit Group - Add Arthas to HiddenUnits
    -------- Hide Items --------
    Item - Pick every item in (Playable map area) and do (Hide (Picked item))
    -------- Disable Abilities --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Player - Disable Unholy Aura for (Picked player)
        Player - Disable Vampiric Aura for (Picked player)
    -------- StartingDoor Visibility --------
    Set LOSRegion = LOSBlockers_StartingDoor <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
    Destructible - Open StartingGate
    -------- Default movement speeds --------
    Unit Group - Pick every unit in IntroDreadlordGhouls and do (Actions)
      Loop - Actions
        Unit - Set (Picked unit) movement speed to 270.00
Intro Cleanup
  Events
  Conditions
  Actions
    -------- Restore Player Colors --------
    Player - Change color of P7_Dreadlords to Green, Retaining color of existing units
    Player - Change color of P8_KelThuzad to Purple, Changing color of existing units
    -------- Arrange Units --------
    Unit Group - Pick every unit in (Units owned by P8_KelThuzad) and do (Hide (Picked unit))
    Unit - Remove Death Knight 0214 <gen> from the game
    Unit - Set life of IntroGhoul01 to 10.00%
    Unit - Set life of IntroGhoul02 to 30.00%
    Unit - Set life of IntroGhoul03 to 20.00%
    Unit - Set life of IntroGhoul04 to 10.00%
    Unit - Hide Detheroc
    Unit - Hide Balnazzar
    Unit - Hide Varimathras
    Unit Group - Pick every unit in IntroDreadlordGhouls and do (Actions)
      Loop - Actions
        Unit - Remove (Picked unit) from the game
    Unit - Move NecroCorpseA instantly to (Center of Entrance_Hallway_CorpseA_Dest <gen>)
    Unit - Move NecroCorpseB instantly to (Center of Entrance_Hallway_CorpseB_Dest <gen>)
    -------- StartingDoor Visibility --------
    Destructible - Close StartingGate
    Set LOSRegion = LOSBlockers_StartingDoor <gen>
    Trigger - Run LOS_Block <gen> (checking conditions)
    Trigger - Turn on LOS_Clear_StartingDoor <gen>
    -------- Move Units --------
    Unit - Move Arthas instantly to (Center of Gameplay_Arthas_Start <gen>), facing 255.00 degrees
    -------- Restore Abilities --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Player - Enable Unholy Aura for (Picked player)
        Player - Enable Vampiric Aura for (Picked player)
    -------- Unhide Items --------
    Item - Pick every item in (Playable map area) and do (Show (Picked item))
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    Trigger - Run Post_Cinematic_Pause <gen> (checking conditions)
    -------- Pause Time Of Day --------
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForFalric Equal to False) then do (Enable experience gain for Falric) else do (Do nothing)
    -------- Restore Selection --------
    Selection - Select Arthas
    -------- 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 (Target of gg_cam_OLD_Intro_Skipped) over 0 seconds
    -------- Initial Harvesting --------
    -------- Wipe Visibility --------
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Black mask across (Playable map area)
    Visibility - Destroy (Last created visibility modifier)
Gameplay
  Events
  Conditions
  Actions
    -------- Do initial gameplay stuff, like quest messages and hints --------
    Unit - Order IntroGhoul01 to Attack-Move To (Position of Arthas)
    Unit - Order IntroGhoul02 to Attack-Move To (Position of Arthas)
    Unit - Order IntroGhoul03 to Attack-Move To (Position of Arthas)
    Unit - Order IntroGhoul04 to Attack-Move To (Position of Arthas)
    Wait 5.00 seconds
    Trigger - Add Quest_Exit_Discover_Q <gen> to the trigger queue (Checking conditions)
Keep Cinematic Arthas Alive
  Events
    Unit - Death Knight 0214 <gen>'s life becomes Less than 400.00
  Conditions
  Actions
    Unit - Set life of Death Knight 0214 <gen> to 90.00%
Victory Cinematic Q
  Events
  Conditions
  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 --------
    Unit - Change color of Dark Necromancer 0259 <gen> to Dark Green
    Unit - Change color of Necromancer 0173 <gen> to Purple
    Cinematic - Turn cinematic mode On for APG1_Player
    Unit - Unhide Dark Necromancer 0259 <gen>
    Unit - Unhide Necromancer 0173 <gen>
    Wait 0.25 seconds
    Trigger - Run SaveCodeEtc <gen> (checking conditions)
    Trigger - Run Victory_Setup <gen> (checking conditions)
    Unit - Make Arthas face (Center of Exit_Arthas_Look_Here <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_Exit_B01 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>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- Enter the Aboms --------
    Unit - Order ExitAbom01 to Move To (Center of Exit_Abom01_MoveTarg <gen>)
    Unit - Order ExitAbom02 to Move To (Center of Exit_Abom02_MoveTarg <gen>)
    Unit - Order ExitAbom03 to Move To (Center of Exit_Abom03_MoveTarg <gen>)
    Unit - Order ExitAbom04 to Move To (Center of Exit_Abom04_MoveTarg <gen>)
    Sound - Set Combat Sounds to 90.00%
    Sound - Set Animation and Spell Sounds to 90.00%
    Wait 0.30 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play AbominationWhat4 <gen> at 100% volume, attached to ExitAbom01
    Wait 0.70 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play AbominationYes5 <gen> at 100% volume, attached to ExitAbom03
    Wait 1.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Pause Aboms --------
    Unit Group - Pick every unit in ExitAboms and do (Actions)
      Loop - Actions
        Unit - Pause (Picked unit)
    -------- Line --------
    Trigger - Run Exit_Banshee_Strike <gen> (checking conditions)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas37 <gen> and display We have no time for this! We must find our way out quickly!. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas37 <gen> to be 0 seconds from finished playing
    Wait 6.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order ExitBanshee01 to Attack-Move To (Center of Exit_Banshee01_MoveTargB <gen>)
    Unit - Order ExitBanshee04 to Attack-Move To (Center of Exit_Banshee04_MoveTargB <gen>)
    Sound - Setup all volume channels for speech
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Exit02 for (Picked player) over 0 seconds
        Camera - Apply gg_cam_Exit03 for (Picked player) over ((Length of L02Arthas26 <gen>) + (Length of L02Banshee27 <gen>)) seconds
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas26 <gen> and display You have my thanks, ladies. But where is your mistress? Where is Sylvanas?. Modify duration: Add 0 seconds and Don't wait
    Wait 3.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Pick every unit in (Units in Exit_CombatArea <gen> owned by P5_Sylvanas) and do (Actions)
      Loop - Actions
        Unit - Make (Picked unit) face Arthas over 0.50 seconds
    Wait for L02Arthas26 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Line --------
    Cinematic - Send transmission to (All players) from ExitBanshee01 named Banshee: Play L02Banshee27 <gen> and display She sent us to find you, great king. We've come to escort you across the river. Once we cross it, we'll take refuge in the wilderness.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Banshee27 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Victory_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 11 (Dark Green) 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
    Trigger - Run Next_Level_Run <gen> (checking conditions)
Victory Setup
  Events
  Conditions
  Actions
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Player - Make AP01_SharedPlayer treat (Picked player) as an Neutral
        Player - Make P7_Dreadlords treat (Picked player) as an Neutral
    Player - Make P5_Sylvanas treat P7_Dreadlords as an Neutral
    Player - Make P7_Dreadlords treat P5_Sylvanas as an Neutral
    -------- Kill Enemies --------
    Unit Group - Pick every unit in ExitEnemyUnits and do (Actions)
      Loop - Actions
        Unit - Kill (Picked unit)
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Clear Selection --------
    Selection - Clear selection
    -------- Revive Hero --------
    Set RevivalHero = Arthas
    Set RevivalSpot = (Center of Exit_Arthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set ArthasReturnSpot = RevivalReturnSpot
    Unit - Make Arthas face 0.00 over 0 seconds
    Hero - Instantly revive Satchet01 at RevivalSpot, Hide revival graphics
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas
    Hero - Disable experience gain for Falric
    -------- Pause Time Of Day --------
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause ExitAbom01
    Unit - Unpause ExitAbom02
    Unit - Unpause ExitAbom03
    Unit - Unpause ExitAbom04
    Unit - Unpause ExitGhoul01
    Unit - Unpause ExitGhoul02
    Unit - Unpause ExitBanshee01
    Unit - Unpause ExitBanshee02
    Unit - Unpause ExitBanshee03
    Unit - Unpause ExitBanshee04
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP01_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Add all units of (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP11_Falric matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by P7_Dreadlords matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by Neutral Hostile matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add City Exit 0047 <gen> to HiddenUnits
    Unit Group - Remove Arthas from HiddenUnits
    Unit Group - Remove Dark Necromancer 0259 <gen> from HiddenUnits
    Unit Group - Remove Necromancer 0173 <gen> from HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    Unit - Move Arthas instantly to (Center of Exit_Arthas_Start <gen>), facing 0.00 degrees
    Unit - Change color of Dark Necromancer 0259 <gen> to Dark Green
    -------- Unhide Actors --------
    Unit Group - Pick every unit in ExitAboms and do (Unhide (Picked unit))
    Unit Group - Pick every unit in ExitBanshees and do (Unhide (Picked unit))
    -------- Hide Items --------
    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 P2_Rescuables) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P5_Sylvanas) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P7_Dreadlords) and do (Remove All except expiration timer buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by P8_KelThuzad) and do (Remove All except expiration timer buffs from (Picked unit))
    -------- Disable Abilities --------
    Player - Disable Unholy Aura for AP04_Arthas
    -------- Music Theme --------
    Sound - Play Dark Victory
Exit Banshee Strike
  Events
  Conditions
  Actions
    -------- Stop Playing Nice --------
    Player - Make P5_Sylvanas treat P7_Dreadlords as an Neutral
    Player - Make P7_Dreadlords treat P5_Sylvanas as an Neutral
    -------- Prep For Attack --------
    Unit Group - Pick every unit in ExitBanshees and do (Actions)
      Loop - Actions
        Unit - Set mana of (Picked unit) to 100%
        Unit - Reset ability cooldowns for (Picked unit)
    -------- Possess --------
    Unit - Order ExitBanshee03 to Undead Banshee - Possession ExitAbom04
    Wait 0.50 seconds
    If (ExitSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order ExitBanshee02 to Undead Banshee - Possession ExitAbom01
    Wait 2.00 seconds
    If (ExitSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Attack --------
    Unit - Order ExitBanshee01 to Attack-Move To (Center of Exit_Banshee01_MoveTarg <gen>)
    Unit - Order ExitBanshee04 to Attack-Move To (Center of Exit_Banshee04_MoveTarg <gen>)
    Wait 0.70 seconds
    If (ExitSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- Stop Playing Nice --------
    Player - Make P5_Sylvanas treat P7_Dreadlords as an Enemy
    Player - Make P7_Dreadlords treat P5_Sylvanas as an Enemy
    -------- Unpause Aboms --------
    Unit Group - Pick every unit in ExitAboms and do (Actions)
      Loop - Actions
        Unit - Unpause (Picked unit)
    Wait 1.60 seconds
    If (ExitSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Set life of ExitAbom02 to 5.00
    Unit - Set life of ExitAbom03 to 5.00
Fountain MiniCinematic Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.25 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.25 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for (All players) over 0.2 seconds
    If (GameOver Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Run Fountain_Setup <gen> (checking conditions)
    Wait 0.10 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Apply gg_cam_Fountain_Elevator_Shot for (Picked player) over 0 seconds
    -------- Fade In --------
    Cinematic - Fade in over 0.25 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.25 seconds
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- MINI-CINEMATIC BEGINS - Mini-Cinematics Cannot Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Wait 0.20 seconds
    Sound - Play Elevator <gen> at 100% volume, located at (Position of FountainElevator) with Z offset 0
    Destructible - Set height of FountainElevator to 2
    Wait 1.30 seconds
    Destructible - Open West wall of FountainElevator
    Destructible - Open East wall of FountainElevator
    Wait 0.50 seconds
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility across Fountain_Elevator_VM <gen>
    Visibility - Destroy (Last created visibility modifier)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- MINI-CINEMATIC ENDS - Mini-Cinematics Cannot Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- Fade Out --------
    Cinematic - Fade out over 0.25 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.25 seconds
    -------- Cleanup --------
    Trigger - Run Fountain_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for (All players) over 0.2 seconds
    Wait 0.10 seconds
    -------- Fade In --------
    Cinematic - Fade in over 0.25 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.25 seconds
    Set InCinematic = False
    Wait 0.20 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Set a spacebar-point for (Picked player) at (Center of Fountain_Elevator_Ping <gen>)
    Cinematic - Ping minimap for (All players) at (Center of Fountain_Elevator_Ping <gen>) for 4.00 seconds
    Wait 1.50 seconds
    Trigger - Remove (This trigger) from the trigger queue
Fountain Setup
  Events
  Conditions
  Actions
    -------- 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 AP04_Arthas)
    Selection - Clear selection for AP04_Arthas
    Set SelectedUnits2 = (Units currently selected by AP11_Falric)
    Selection - Clear selection for AP11_Falric
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas
    Hero - Disable experience gain for Falric
    -------- Pause Time Of Day --------
    -------- Pause Units --------
    Unit - Pause all units
    -------- Hide Units --------
    Set HiddenUnits = (Units owned by AP01_SharedPlayer matching (((Matching unit) is hidden) Equal to False))
    Unit Group - Add all units of (Units owned by AP04_Arthas matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP11_Falric matching (((Matching unit) is hidden) Equal to False)) to HiddenUnits
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Hide Items --------
    Item - Pick every item in (Playable map area) and do (Hide (Picked item))
    -------- Remove Buffs --------
    -------- Disable Abilities --------
    Player - Disable Unholy Aura for AP04_Arthas
Fountain Cleanup
  Events
  Conditions
  Actions
    -------- Restore Abilities --------
    Player - Enable Unholy Aura for AP04_Arthas
    -------- Unhide Items --------
    Item - Pick every item in (Playable map area) and do (Show (Picked item))
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    Trigger - Run Post_Cinematic_Pause <gen> (checking conditions)
    -------- Unpause Time Of Day --------
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas) else do (Do nothing)
    If (ExpDisabledForFalric Equal to False) then do (Enable experience gain for Falric) else do (Do nothing)
    -------- Restore Selection --------
    Selection - Select SelectedUnits for AP04_Arthas
    Selection - Select SelectedUnits2 for AP11_Falric
    -------- Reset Sky --------
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to CameraReturnPoint over 0 seconds
Next Level Run
  Events
  Conditions
  Actions
    -------- Set Next Level and Victory --------
    Game - Victory AP04_Arthas (Show dialogs, Show scores)
    Game - Victory AP11_Falric (Show dialogs, Show scores)
Quest Exit 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 King's Exit with the description With the Dreadlords' forces closing in, Arthas must make a quick retreat from the city., using icon path ReplaceableTextures\CommandButtons\BTNArcaniteArchitecture.tga
    Set QuestExit = (Last created quest)
    Quest - Create a quest requirement for QuestExit with the description Bring Arthas to the city exit
    Set QuestExitReq1 = (Last created quest requirement)
    Quest - Create a quest requirement for QuestExit with the description Arthas and Falric must survive
    Set QuestExitReq2 = (Last created quest requirement)
Quest Exit Discover
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Exit_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestExit as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rThe King's Exit - Bring Arthas to the city exit - Arthas and Falric must survive
Quest Exit Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Exit_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestExit as Discovered
    Quest - Mark QuestExitReq1 as Completed
    Quest - Mark QuestExitReq2 as Completed
    Quest - Mark QuestExit as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rThe King's Exit
Quest Meat 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 Meat Wagon Surprise with the description The towers are proving quite difficult to get through without heavy casualties. Break into the armory and seize the Meat Wagons there to quicken the destruction of the towers., using icon path ReplaceableTextures\CommandButtons\BTNMeatWagon.tga
    Set QuestMeat = (Last created quest)
    Quest - Create a quest requirement for QuestMeat with the description Kill the armory guards
    Set QuestMeatReq1 = (Last created quest requirement)
    Quest - Create a quest requirement for QuestMeat with the description Rescue the Meat Wagons
    Set QuestMeatReq2 = (Last created quest requirement)
Quest Meat Discover
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Meat_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestMeat as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST|rMeat Wagon Surprise - Kill the armory guards - Rescue the Meat Wagons
Quest Meat UpdateA
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Meat_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestMeat as Discovered
    Quest - Mark QuestMeatReq1 as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST UPDATE|rMeat Wagon Surprise - |cff808080Kill the armory guards (Completed)|r - Rescue the Meat Wagons
Quest Meat UpdateB
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Meat_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestMeat as Discovered
    Quest - Mark QuestMeatReq2 as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00OPTIONAL QUEST UPDATE|rMeat Wagon Surprise - Kill the armory guards - |cff808080Rescue the Meat Wagons (Completed)|r
Quest Meat Completed
  Events
  Conditions
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Meat_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestMeat as Discovered
    Quest - Mark QuestMeatReq1 as Completed
    Quest - Mark QuestMeatReq2 as Completed
    Quest - Mark QuestMeat as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Completed message: |cffffcc00OPTIONAL QUEST COMPLETED|rMeat Wagon Surprise
Mission Failed Arthas Dead
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rArthas has been slain.
Mission Failed Falric Dead
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rFalric has been slain.
Quest Exit Discover Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Reveal the Exit --------
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility from (Center of Exit_VM <gen>) to a radius of 500.00
    Visibility - Destroy (Last created visibility modifier)
    -------- Ping the Minimap --------
    Cinematic - Ping minimap for (All players) at (Center of Victory_Tripwire <gen>) for 5.00 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Set a spacebar-point for (Picked player) at (Center of Victory_Tripwire <gen>)
    -------- Quest Message --------
    Trigger - Run Quest_Exit_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Quest Exit Completed Q
  Events
  Conditions
  Actions
    Wait 0.50 game-time seconds
    -------- Quest Update --------
    Trigger - Run Quest_Exit_Completed <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Hint Keep Clean Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Don't do drugs.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Hint Sachet Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - Your Hero now possesses a sachet, which allows them to store additional items away for later use.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Victory Exit Reached
  Events
    Unit - A unit enters Victory_Tripwire <gen>
  Conditions
    GameOver Equal to False
    (Entering unit) Equal to Arthas
  Actions
    Set GameOver = True
    Unit - Make Arthas Invulnerable
    Unit - Make Falric Invulnerable
    Trigger - Add Quest_Exit_Completed_Q <gen> to the trigger queue (Checking conditions)
    Trigger - Add Victory_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Defeat Arthas Dead
  Events
    Unit - A unit owned by Player 4 (Purple) Dies
  Conditions
    GameOver Equal to False
    (Dying unit) Equal to Arthas
  Actions
    Set GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_Arthas_Dead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP04_Arthas with the message: Defeat!
    Game - Defeat AP11_Falric with the message: Defeat!
Defeat Falric Dead
  Events
    Unit - A unit owned by Player 11 (Dark Green) Dies
  Conditions
    GameOver Equal to False
    (Dying unit) Equal to Falric
  Actions
    Set GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_Falric_Dead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP04_Arthas with the message: Defeat!
    Game - Defeat AP11_Falric with the message: Defeat!
Armory Found
  Events
    Unit - A unit enters Armory_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Armory_Found_Q <gen> to the trigger queue (Checking conditions)
Armory Found Q
  Events
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (All units of ArmoryGuards are dead) Equal to False
  Actions
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Armory_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Ping and Reveal --------
    Cinematic - Ping minimap for (All players) at (Center of Armory_Ping <gen>) for 4.00 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Set a spacebar-point for (Picked player) at (Center of Armory_Ping <gen>)
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility across Armory_VM <gen>
    Set ArmoryRoomVM = (Last created visibility modifier)
    -------- Line --------
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas23 <gen> and display The dreadlords' guards are stationed outside that armory! If we can fight our way past them, we could commandeer the meat wagons held inside.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas23 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Run Quest_Meat_Discover <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Visibility - Destroy ArmoryRoomVM
    Trigger - Remove (This trigger) from the trigger queue
Armory Guards Dead
  Events
    Unit - A unit owned by Player 7 (Green) Dies
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (All units of ArmoryGuards are dead) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Armory_Guards_Dead_Q <gen> to the trigger queue (Checking conditions)
Armory Guards Dead Q
  Events
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (QuestMeat is completed) Equal to False
  Actions
    Wait 1.00 seconds
    -------- Quest Message --------
    Trigger - Run Meat_Quest_Msg_A <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Meat Quest Msg A
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (QuestMeatReq2 is completed) Equal to False
      Then - Actions
        Trigger - Run Quest_Meat_UpdateA <gen> (checking conditions)
      Else - Actions
        Trigger - Run Quest_Meat_Completed <gen> (checking conditions)
Meat Quest Msg B
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (QuestMeatReq1 is completed) Equal to False
      Then - Actions
        Trigger - Run Quest_Meat_UpdateB <gen> (checking conditions)
      Else - Actions
        Trigger - Run Quest_Meat_Completed <gen> (checking conditions)
To use combat detection, just enable these two triggers and check the "InCombat" variable to determine whether or not the player is in combat.
Combat Detected
  Events
    Unit - A unit owned by Player 4 (Purple) Is attacked
    Unit - A unit owned by Player 6 (Orange) Is attacked
    Unit - A unit owned by Player 11 (Dark Green) Is attacked
  Conditions
  Actions
    Countdown Timer - Start CombatCheckTimer as a One-shot timer that will expire in 3.00 seconds
    Set InCombat = True
Combat Resolved
  Events
    Time - CombatCheckTimer expires
  Conditions
  Actions
    Set InCombat = False
Marketplace Config
  Events
  Conditions
  Actions
    Neutral Building - Add Potion of Greater Mana to Marketplace with 1 in stock and a max stock of 1
    Neutral Building - Add Mana Stone to Marketplace with 1 in stock and a max stock of 1
    Neutral Building - Add Potion of Restoration to Marketplace with 1 in stock and a max stock of 1
Marketplace Item Sold
  Events
    Unit - A unit owned by Neutral Passive Sells an item (from shop)
  Conditions
  Actions
    Neutral Building - Remove (Item-type of (Sold Item)) from (Selling unit)
Fountain Plate
  Events
    Unit - A unit enters Fountain_Room_Plate <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
    ((Entering unit) is A ground unit) Equal to True
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Activate Plate --------
    Destructible - Kill FountainPlate
    Sound - Play Switch <gen> at 100% volume, located at (Position of FountainPlate) with Z offset 0
    Wait 0.80 seconds
    -------- Plate Effect --------
    Trigger - Add Fountain_MiniCinematic_Q <gen> to the trigger queue (Checking conditions)
Bridge Plate C
  Events
    Unit - A unit enters Bridge_PlateC <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    ((Entering unit) is A ground unit) Equal to True
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
    BridgePlateBusy Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Set BridgePlateBusy = True
    -------- Activate Plate --------
    Destructible - Kill BridgePlateC
    Sound - Play Switch <gen> at 100% volume, located at (Position of BridgePlateC) with Z offset 0
    Wait 0.80 seconds
    -------- Plate Effect --------
    Trigger - Run Bridge_Elevator_Falling <gen> (checking conditions)
    Wait 1.50 game-time seconds
    Set BridgePlateBusy = False
Bridge Plate TripwireA
  Events
    Unit - A unit enters Bridge_PlateA <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    ((Entering unit) is A ground unit) Equal to True
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
    BridgePlateBusy Equal to False
  Actions
    Set BridgePlateTouched = BridgePlateA
    Trigger - Run Bridge_Plate <gen> (checking conditions)
Bridge Plate TripwireB
  Events
    Unit - A unit enters Bridge_PlateB <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    ((Entering unit) is A ground unit) Equal to True
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
    BridgePlateBusy Equal to False
  Actions
    Set BridgePlateTouched = BridgePlateB
    Trigger - Run Bridge_Plate <gen> (checking conditions)
Bridge Plate
  Events
  Conditions
  Actions
    Set BridgePlateBusy = True
    -------- Activate Plate --------
    Destructible - Kill BridgePlateA
    Destructible - Kill BridgePlateB
    Sound - Play Switch <gen> at 100% volume, located at (Position of BridgePlateTouched) with Z offset 0
    Wait 0.80 seconds
    -------- Plate Effect --------
    Trigger - Run Bridge_Elevator_Rising <gen> (checking conditions)
    Wait 8.00 game-time seconds
    Trigger - Run Bridge_Elevator_Falling <gen> (checking conditions)
    Wait 1.50 game-time seconds
    -------- Reset Plate --------
    Destructible - Resurrect BridgePlateA with (Max life of BridgePlateA) life and Show birth animation
    Destructible - Resurrect BridgePlateB with (Max life of BridgePlateB) life and Show birth animation
    Sound - Play Switch01 <gen>
    Wait 0.20 game-time seconds
    Set BridgePlateBusy = False
Bridge Elevator Rising
  Events
  Conditions
  Actions
    -------- Close Walls --------
    Destructible - Close West wall of BridgeElevatorA
    Destructible - Close East wall of BridgeElevatorC
    Destructible - Close North wall of BridgeElevatorA
    Destructible - Close North wall of BridgeElevatorB
    Destructible - Close North wall of BridgeElevatorC
    Destructible - Close South wall of BridgeElevatorA
    Destructible - Close South wall of BridgeElevatorB
    Destructible - Close South wall of BridgeElevatorC
    -------- Move Platform --------
    Destructible - Set height of BridgeElevatorA to 2
    Destructible - Set height of BridgeElevatorB to 2
    Destructible - Set height of BridgeElevatorC to 2
    Sound - Play Elevator <gen> at 100% volume, located at (Position of BridgeElevatorB) with Z offset 0
    Wait 1.40 game-time seconds
    -------- Open Walls --------
    Destructible - Open West wall of BridgeElevatorA
    Destructible - Open East wall of BridgeElevatorC
Bridge Elevator Falling
  Events
  Conditions
  Actions
    -------- Close Walls --------
    Destructible - Close West wall of BridgeElevatorA
    Destructible - Close East wall of BridgeElevatorC
    Destructible - Close North wall of BridgeElevatorA
    Destructible - Close North wall of BridgeElevatorB
    Destructible - Close North wall of BridgeElevatorC
    Destructible - Close South wall of BridgeElevatorA
    Destructible - Close South wall of BridgeElevatorB
    Destructible - Close South wall of BridgeElevatorC
    -------- Move Platform --------
    Destructible - Set height of BridgeElevatorA to 1
    Destructible - Set height of BridgeElevatorB to 1
    Destructible - Set height of BridgeElevatorC to 1
    Sound - Play Elevator <gen> at 100% volume, located at (Position of BridgeElevatorB) with Z offset 0
    Wait 1.40 game-time seconds
    -------- Open Walls --------
    Destructible - Open North wall of BridgeElevatorA
    Destructible - Open North wall of BridgeElevatorB
    Destructible - Open North wall of BridgeElevatorC
    Destructible - Open South wall of BridgeElevatorA
    Destructible - Open South wall of BridgeElevatorB
    Destructible - Open South wall of BridgeElevatorC
Group Cleanup Death
  Events
    Unit - A unit owned by Player 7 (Green) Dies
  Conditions
  Actions
    Unit Group - Remove (Dying unit) from AbomAmbushLeftUnits
    Unit Group - Remove (Dying unit) from AbomAmbushRightUnits
    Unit Group - Remove (Dying unit) from FiendAmbushUnits
    Unit Group - Remove (Dying unit) from ChantingUnits
    Unit Group - Remove (Dying unit) from WaveUnits
    Unit Group - Remove (Dying unit) from CryptLeftUnits
    Unit Group - Remove (Dying unit) from CryptRightUnits
    Unit Group - Remove (Dying unit) from ZombieGroupA
    If ((Dying unit) Equal to HallPatrollerA) then do (Set HallPatrollerA = No unit) else do (Do nothing)
    If ((Dying unit) Equal to HallPatrollerB) then do (Set HallPatrollerB = No unit) else do (Do nothing)
    If ((Dying unit) Equal to HallPatrollerC) then do (Set HallPatrollerC = No unit) else do (Do nothing)
    If ((Dying unit) Equal to CryptLeft) then do (Set CryptLeft = No unit) else do (Do nothing)
    If ((Dying unit) Equal to CryptRight) then do (Set CryptRight = No unit) else do (Do nothing)
Group Cleanup OwnerChange
  Events
    Unit - A unit owned by Player 4 (Purple) Changes owner
    Unit - A unit owned by Player 6 (Orange) Changes owner
    Unit - A unit owned by Player 11 (Dark Green) Changes owner
  Conditions
    (Previous owner) Equal to P7_Dreadlords
  Actions
    Unit Group - Remove (Ownership-changed unit) from AbomAmbushLeftUnits
    Unit Group - Remove (Ownership-changed unit) from AbomAmbushRightUnits
    Unit Group - Remove (Ownership-changed unit) from FiendAmbushUnits
    Unit Group - Remove (Ownership-changed unit) from ChantingUnits
    Unit Group - Remove (Ownership-changed unit) from WaveUnits
    Unit Group - Remove (Ownership-changed unit) from CryptLeftUnits
    Unit Group - Remove (Ownership-changed unit) from CryptRightUnits
    Unit Group - Remove (Ownership-changed unit) from ZombieGroupA
    If ((Ownership-changed unit) Equal to HallPatrollerA) then do (Set HallPatrollerA = No unit) else do (Do nothing)
    If ((Ownership-changed unit) Equal to HallPatrollerB) then do (Set HallPatrollerB = No unit) else do (Do nothing)
    If ((Ownership-changed unit) Equal to HallPatrollerC) then do (Set HallPatrollerC = No unit) else do (Do nothing)
    If ((Ownership-changed unit) Equal to CryptRight) then do (Set CryptRight = No unit) else do (Do nothing)
Uproot Picked Fiend
  Events
  Conditions
  Actions
    Custom script: local unit ambusher = GetEnumUnit()
    Wait (Random real number between 0.00 and 1.20) game-time seconds
    Custom script: set udg_TempUnit = ambusher
    -------- Unhide and Unburrow --------
    Unit - Unhide TempUnit
    Animation - Play TempUnit's morph alternate animation
    Wait 1.00 game-time seconds
    Custom script: set udg_TempUnit = ambusher
    -------- Unpause --------
    Unit - Unpause TempUnit
Restock Corpse Piles
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    -------- Corpse Pile 01 --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in CorpsePile01Units) Less than 20
      Then - Actions
        Set TempPoint = (Random point in Corpse_Pile_01 <gen>)
        Unit - Create a permanent Skeletal Ghoul corpse for P7_Dreadlords at TempPoint facing (Random angle) degrees
        Unit Group - Add (Last created unit) to CorpsePile01Units
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
    -------- Corpse Pile 02 --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in CorpsePile02Units) Less than 20
      Then - Actions
        Set TempPoint = (Random point in Corpse_Pile_02 <gen>)
        Unit - Create a permanent Skeletal Ghoul corpse for P7_Dreadlords at (Random point in Corpse_Pile_02 <gen>) facing (Random angle) degrees
        Unit Group - Add (Last created unit) to CorpsePile02Units
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
    -------- Corpse Pile 03 --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in CorpsePile03Units) Less than 20
      Then - Actions
        Set TempPoint = (Random point in Corpse_Pile_03 <gen>)
        Unit - Create a permanent Skeletal Ghoul corpse for P7_Dreadlords at (Random point in Corpse_Pile_03 <gen>) facing (Random angle) degrees
        Unit Group - Add (Last created unit) to CorpsePile03Units
        Custom script: call RemoveLocation( udg_TempPoint )
      Else - Actions
Corpse Pile Found
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    InCombat Equal to False
  Actions
    Set PointArthasLoc = (Position of Arthas)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Or - Any (Conditions) are true
          Conditions
            And - All (Conditions) are true
              Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (VSourceCorpsePile01 is visible to AP01_SharedPlayer) Equal to True
                    (VSourceCorpsePile01 is visible to AP04_Arthas) Equal to True
                    (VSourceCorpsePile01 is visible to AP11_Falric) Equal to True
                (Distance between PointArthasLoc and PointCorpsePile01) Less than 800.00
            And - All (Conditions) are true
              Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (VSourceCorpsePile02 is visible to AP01_SharedPlayer) Equal to True
                    (VSourceCorpsePile02 is visible to AP04_Arthas) Equal to True
                    (VSourceCorpsePile02 is visible to AP11_Falric) Equal to True
                (Distance between PointArthasLoc and PointCorpsePile02) Less than 800.00
            And - All (Conditions) are true
              Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (VSourceCorpsePile03 is visible to AP01_SharedPlayer) Equal to True
                    (VSourceCorpsePile03 is visible to AP04_Arthas) Equal to True
                    (VSourceCorpsePile03 is visible to AP11_Falric) Equal to True
                (Distance between PointArthasLoc and PointCorpsePile03) Less than 800.00
      Then - Actions
        Trigger - Turn off (This trigger)
        Trigger - Add Corpse_Pile_Lines_Q <gen> to the trigger queue (Checking conditions)
      Else - Actions
    Custom script: call RemoveLocation( udg_PointArthasLoc )
Corpse Pile Lines Q
  Events
  Conditions
  Actions
    -------- Line --------
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas18 <gen> and display These piles of corpses will serve us well. We can reanimate the bodies and bolster our forces as we move.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas18 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Before running this, do the following:
- Set "LOSRegion" to the region you wish to clean up.
LOS Block
  Events
  Conditions
  Actions
    Destructible - Pick every destructible in LOSRegion and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
          Then - Actions
            Destructible - Resurrect (Picked destructible) with (Max life of (Picked destructible)) life and Hide birth animation
          Else - Actions
Before running this, do the following:
- Set "LOSRegion" to the region you wish to clean up.
LOS Clear
  Events
  Conditions
  Actions
    Destructible - Pick every destructible in LOSRegion and do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Destructible-type of (Picked destructible)) Equal to Ytlc (destructablecode)
          Then - Actions
            Destructible - Kill (Picked destructible)
          Else - Actions
LOS Clear StartingDoor
  Events
    Destructible - A destructible within LOSBlockers_StartingDoor <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_StartingDoor <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear ThroneRoom
  Events
    Destructible - A destructible within LOSBlockers_ThroneRoom <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_ThroneRoom <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear AbomDoor Left
  Events
    Destructible - A destructible within LOSBlockers_AbomRoom_Left <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_AbomRoom_Left <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear AbomDoor Right
  Events
    Destructible - A destructible within LOSBlockers_AbomRoom_Right <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_AbomRoom_Right <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear FountainRoom
  Events
    Destructible - A destructible within LOSBlockers_FountainRoom <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_FountainRoom <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear SpiderRoom
  Events
    Destructible - A destructible within LOSBlockers_SpiderRoom <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_SpiderRoom <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear GargRoom
  Events
    Destructible - A destructible within LOSBlockers_GargoyleDoor <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_GargoyleDoor <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear CourtyardDoor
  Events
    Destructible - A destructible within LOSBlockers_CourtyardDoor <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_CourtyardDoor <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear ExitDoor
  Events
    Destructible - A destructible within LOSBlockers_ExitDoor <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_ExitDoor <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
LOS Clear WallSecret
  Events
    Destructible - A destructible within Vision_WallSecret_Source <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set LOSRegion = LOSBlockers_WallSecret <gen>
    Trigger - Run LOS_Clear <gen> (checking conditions)
Bridge Revealer
  Events
    Unit - A unit enters Vision_Bridge_Tripwire <gen>
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
  Actions
    Trigger - Turn off (This trigger)
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility across Vision_Bridge_VM <gen>
    Visibility - Destroy (Last created visibility modifier)
Prison Revealer On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    PrisonVMsExist Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourcePrison is visible to AP01_SharedPlayer) Equal to True
        (VSourcePrison is visible to AP04_Arthas) Equal to True
        (VSourcePrison is visible to AP11_Falric) Equal to True
  Actions
    Set PrisonVMsExist = True
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility from (Center of Vision_PrisonA_VM <gen>) to a radius of 128.00
    Set PrisonVMA = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility from (Center of Vision_PrisonB_VM <gen>) to a radius of 128.00
    Set PrisonVMB = (Last created visibility modifier)
Prison Revealer Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    PrisonVMsExist Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourcePrison is visible to AP01_SharedPlayer) Equal to False
        (VSourcePrison is visible to AP04_Arthas) Equal to False
        (VSourcePrison is visible to AP11_Falric) Equal to False
  Actions
    Set PrisonVMsExist = False
    Visibility - Destroy PrisonVMA
    Visibility - Destroy PrisonVMB
ArmoryChurch Revealer On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    ArmoryChurchVMExists Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceChurchA is visible to AP01_SharedPlayer) Equal to True
        (VSourceChurchA is visible to AP04_Arthas) Equal to True
        (VSourceChurchA is visible to AP11_Falric) Equal to True
        (VSourceChurchB is visible to AP01_SharedPlayer) Equal to True
        (VSourceChurchB is visible to AP04_Arthas) Equal to True
        (VSourceChurchB is visible to AP11_Falric) Equal to True
  Actions
    Set ArmoryChurchVMExists = True
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility from PointVisionAChurch to a radius of 128.00
    Set ArmoryChurchVM = (Last created visibility modifier)
ArmoryChurch Revealer Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    ArmoryChurchVMExists Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceChurchA is visible to AP01_SharedPlayer) Equal to False
        (VSourceChurchA is visible to AP04_Arthas) Equal to False
        (VSourceChurchA is visible to AP11_Falric) Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceChurchB is visible to AP01_SharedPlayer) Equal to False
        (VSourceChurchB is visible to AP04_Arthas) Equal to False
        (VSourceChurchB is visible to AP11_Falric) Equal to False
  Actions
    Set ArmoryChurchVMExists = False
    Visibility - Destroy ArmoryChurchVM
Nook Revealer On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    NookVMExists Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceNook is visible to AP01_SharedPlayer) Equal to True
        (VSourceNook is visible to AP04_Arthas) Equal to True
        (VSourceNook is visible to AP11_Falric) Equal to True
  Actions
    Set NookVMExists = True
    Visibility - Create an initially Enabled visibility modifier for AP01_SharedPlayer emitting Visibility across Vision_Nook_VM <gen>
    Set NookVM = (Last created visibility modifier)
Nook Revealer Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    NookVMExists Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceNook is visible to AP01_SharedPlayer) Equal to False
        (VSourceNook is visible to AP04_Arthas) Equal to False
        (VSourceNook is visible to AP11_Falric) Equal to False
  Actions
    Set NookVMExists = False
    Visibility - Destroy NookVM
FountainPlate Glow On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (FountainPlate is alive) Equal to True
    FountainPlateGlowing Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceFountainPlate is visible to AP01_SharedPlayer) Equal to True
        (VSourceFountainPlate is visible to AP04_Arthas) Equal to True
        (VSourceFountainPlate is visible to AP11_Falric) Equal to True
  Actions
    Set FountainPlateGlowing = True
    Animation - Play FountainPlate's stand animation
FountainPlate Glow Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (FountainPlate is alive) Equal to True
    FountainPlateGlowing Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceFountainPlate is visible to AP01_SharedPlayer) Equal to False
        (VSourceFountainPlate is visible to AP04_Arthas) Equal to False
        (VSourceFountainPlate is visible to AP11_Falric) Equal to False
  Actions
    Set FountainPlateGlowing = False
    Animation - Play FountainPlate's stand alternate animation
BridgePlateA Glow On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateA is alive) Equal to True
    BridgePlateGlowingA Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateA is visible to AP01_SharedPlayer) Equal to True
        (VSourceBridgePlateA is visible to AP04_Arthas) Equal to True
        (VSourceBridgePlateA is visible to AP11_Falric) Equal to True
  Actions
    Set BridgePlateGlowingA = True
    Animation - Play BridgePlateA's stand animation
BridgePlateA Glow Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateA is alive) Equal to True
    BridgePlateGlowingA Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateA is visible to AP01_SharedPlayer) Equal to False
        (VSourceBridgePlateA is visible to AP04_Arthas) Equal to False
        (VSourceBridgePlateA is visible to AP11_Falric) Equal to False
  Actions
    Set BridgePlateGlowingA = False
    Animation - Play BridgePlateA's stand alternate animation
BridgePlateB Glow On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateB is alive) Equal to True
    BridgePlateGlowingB Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateB is visible to AP01_SharedPlayer) Equal to True
        (VSourceBridgePlateB is visible to AP04_Arthas) Equal to True
        (VSourceBridgePlateB is visible to AP11_Falric) Equal to True
  Actions
    Set BridgePlateGlowingB = True
    Animation - Play BridgePlateB's stand animation
BridgePlateB Glow Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateB is alive) Equal to True
    BridgePlateGlowingB Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateB is visible to AP01_SharedPlayer) Equal to False
        (VSourceBridgePlateB is visible to AP04_Arthas) Equal to False
        (VSourceBridgePlateB is visible to AP11_Falric) Equal to False
  Actions
    Set BridgePlateGlowingB = False
    Animation - Play BridgePlateB's stand alternate animation
BridgePlateC Glow On
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateC is alive) Equal to True
    BridgePlateGlowingC Equal to False
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateC is visible to AP01_SharedPlayer) Equal to True
        (VSourceBridgePlateC is visible to AP04_Arthas) Equal to True
        (VSourceBridgePlateC is visible to AP11_Falric) Equal to True
  Actions
    Set BridgePlateGlowingC = True
    Animation - Play BridgePlateC's stand animation
BridgePlateC Glow Off
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    (BridgePlateC is alive) Equal to True
    BridgePlateGlowingC Equal to True
    Or - Any (Conditions) are true
      Conditions
        (VSourceBridgePlateC is visible to AP01_SharedPlayer) Equal to False
        (VSourceBridgePlateC is visible to AP04_Arthas) Equal to False
        (VSourceBridgePlateC is visible to AP11_Falric) Equal to False
  Actions
    Set BridgePlateGlowingC = False
    Animation - Play BridgePlateC's stand alternate animation
Barricade FiendA
  Events
    Destructible - A destructible within Barricade_FiendA <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Pick every destructible in Barricade_FiendA <gen> and do (Actions)
      Loop - Actions
        Destructible - Kill (Picked destructible)
Barricade FiendB
  Events
    Destructible - A destructible within Barricade_FiendB <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Pick every destructible in Barricade_FiendB <gen> and do (Actions)
      Loop - Actions
        Destructible - Kill (Picked destructible)
Barricade BelowShade
  Events
    Destructible - A destructible within Barricade_BeforeShade <gen> dies
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Destructible - Pick every destructible in Barricade_BeforeShade <gen> and do (Actions)
      Loop - Actions
        Destructible - Kill (Picked destructible)
Before running this, do the following:
- Set "PolitePanTarget" to the location to which you want to pan.
Polite Pan
  Events
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to PolitePanTarget over 0.50 seconds
    Wait 4.00 seconds
    Trigger - Turn on (This trigger)
Rescue Necro Corpses
  Events
    Time - Elapsed game time is 0.50 seconds
  Conditions
  Actions
    Unit - Create a permanent Skeletal (Unit-type of NecroCorpseA) corpse for (Owner of NecroCorpseA) at (Position of NecroCorpseA) facing (Facing of NecroCorpseA) degrees
    Unit - Remove NecroCorpseA from the game
    Set NecroCorpseA = (Last created unit)
    Unit - Create a permanent Skeletal (Unit-type of NecroCorpseB) corpse for (Owner of NecroCorpseB) at (Position of NecroCorpseB) facing (Facing of NecroCorpseB) degrees
    Unit - Remove NecroCorpseB from the game
    Set NecroCorpseB = (Last created unit)
Rescue Necro
  Events
    Unit - A unit enters Rescue_Necro_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Necro_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue Falric for AP11_Falric and Change color
    Unit - Rescue Satchet02 for AP11_Falric and Change color
    Unit - Rescue RescueNecroB for AP01_SharedPlayer and Change color
    Unit - Rescue RescueNecroC for AP01_SharedPlayer and Change color
    Unit - Order Falric to Undead Necromancer - Activate Raise Dead
    Unit - Order RescueNecroB to Undead Necromancer - Activate Raise Dead
    Unit - Order Falric to Attack-Move To (Center of Rescue_Necro_MoveTargA <gen>)
    Unit - Order RescueNecroB to Attack-Move To (Center of Rescue_Necro_MoveTargB <gen>)
    Unit - Order RescueNecroC to Attack-Move To (Center of Rescue_Necro_MoveTargC <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Necro_Q <gen> to the trigger queue (Checking conditions)
    Wait 30.00 seconds
    Trigger - Add Hint_Sachet_Q <gen> to the trigger queue (Checking conditions)
Rescue Necro Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Falric named Falric: Play L02Necromancer11 <gen> and display Our master, Kel'Thuzad, sent us to aid you. Our new skeletal mages will make short work of the rebels.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Necromancer11 <gen> to be 0 seconds from finished playing
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameOver Equal to False
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas12 <gen> and display Very good. We'll need to move quickly and find any others still loyal to me. We're going to need all the support we can get.. Modify duration: Add 0 seconds and Don't wait
        Wait for L02Arthas12 <gen> to be 0 seconds from finished playing
      Else - Actions
    -------- Line --------
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue Abom
  Events
    Unit - A unit enters Rescue_Abom_TripwireA <gen>
    Unit - A unit enters Rescue_Abom_TripwireB <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Abom_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue RescueAbom for AP01_SharedPlayer and Change color
    Unit - Order RescueAbom to Attack-Move To (Center of Rescue_Abom_MoveTarg <gen>)
    Wait 0.50 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (RescueAbom is alive) Equal to True
      Then - Actions
        Sound - Play AbominationWhat3 <gen> at 100% volume, attached to RescueAbom
      Else - Actions
Rescue Shade
  Events
    Unit - A unit enters Rescue_Shade_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = ((Center of Rescue_Shade_PanTarg <gen>) offset by 400.00 towards (Angle from (Center of Rescue_Shade_PanTarg <gen>) to (Position of (Entering unit))) degrees)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Set RescueShadeMoveTarg = ((Position of RescueShade) offset by 100.00 towards (Angle from (Position of RescueShade) to (Position of (Entering unit))) degrees)
    Unit - Rescue RescueShade for AP01_SharedPlayer and Change color
    Unit - Order RescueShade to Attack-Move To RescueShadeMoveTarg
    Wait 0.50 seconds
    Trigger - Add Rescue_Shade_Q <gen> to the trigger queue (Checking conditions)
Rescue Shade Q
  Events
  Conditions
    GameOver Equal to False
    (RescueShade is alive) Equal to True
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas19 <gen> and display I have need of your abilities, little shade. Will you help me?. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas19 <gen> to be 0 seconds from finished playing
    -------- Check Speaker Life --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (RescueShade is alive) Equal to True
      Then - Actions
        -------- Line --------
        Cinematic - Send transmission to (All players) from RescueShade named Shade: Play L02Shade20 <gen> and display I live only to serve you, King Arthas.. Modify duration: Add 0 seconds and Don't wait
        Wait for L02Shade20 <gen> to be 0 seconds from finished playing
      Else - Actions
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue Fiends
  Events
    Destructible - Dungeon Gate 1073 <gen> dies
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Fiends_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue RescueFiendA for AP01_SharedPlayer and Change color
    Unit - Rescue RescueFiendB for AP01_SharedPlayer and Change color
    Unit - Order RescueFiendA to Attack-Move To (Center of Rescue_Fiends_MoveTargA <gen>)
    Unit - Order RescueFiendB to Attack-Move To (Center of Rescue_Fiends_MoveTargB <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Fiends_Q <gen> to the trigger queue (Checking conditions)
Rescue Fiends Q
  Events
  Conditions
    GameOver Equal to False
    (RescueFiendA is alive) Equal to True
    (RescueFiendB is alive) Equal to True
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from RescueFiendA named Crypt Fiend: Play L02CryptFiend38 <gen> and display By Nerub, the rebels nearly had us, King Arthas.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02CryptFiend38 <gen> to be 0 seconds from finished playing
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas39 <gen> and display I would not leave my subjects to be slaughtered by this rabble.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas39 <gen> to be 0 seconds from finished playing
    -------- Line --------
    Cinematic - Send transmission to (All players) from RescueFiendB named Crypt Fiend: Play L02CryptFiend40 <gen> and display Then we shall stand by you till the end.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02CryptFiend40 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue Ghouls
  Events
    Unit - A unit enters Rescue_Ghouls_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Ghouls_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue RescueGhoulA for AP01_SharedPlayer and Change color
    Unit - Rescue RescueGhoulB for AP01_SharedPlayer and Change color
    Unit - Order RescueGhoulA to Attack-Move To (Center of Rescue_Ghouls_MoveTargA <gen>)
    Unit - Order RescueGhoulB to Attack-Move To (Center of Rescue_Ghouls_MoveTargB <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Ghouls_Q <gen> to the trigger queue (Checking conditions)
Rescue Ghouls Q
  Events
  Conditions
    GameOver Equal to False
    ((RescueGhoulA is alive) Equal to True) or ((RescueGhoulB is alive) Equal to True)
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas16 <gen> and display I have need of you warriors. Come with me.. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas16 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue Shelf
  Events
    Unit - A unit enters Rescue_Shelf_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
    Or - Any (Conditions) are true
      Conditions
        (RescueShelfA is alive) Equal to True
        (RescueShelfB is alive) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Shelf_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue RescueShelfA for AP01_SharedPlayer and Change color
    Unit - Rescue RescueShelfB for AP01_SharedPlayer and Change color
    Unit - Order RescueShelfA to Attack-Move To (Center of Rescue_Shelf_MoveTargA <gen>)
    Unit - Order RescueShelfB to Attack-Move To (Center of Rescue_Shelf_MoveTargB <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Shelf_Q <gen> to the trigger queue (Checking conditions)
Rescue Shelf Q
  Events
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (RescueShelfA is alive) Equal to True
        (RescueShelfB is alive) Equal to True
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas15 <gen> and display I call upon your loyalty. Will you serve me?. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas15 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue Wagons
  Events
    Destructible - Dungeon Gate 0394 <gen> dies
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (RescueWagonA is alive) Equal to True
        (RescueWagonB is alive) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Pan camera as necessary for (Picked player) to (Center of Rescue_Wagon_PanTarg <gen>) over 0.50 seconds
    -------- Rescue the units --------
    Unit - Rescue RescueWagonA for AP01_SharedPlayer and Change color
    Unit - Rescue RescueWagonB for AP01_SharedPlayer and Change color
    Unit - Order RescueWagonA to Attack-Move To (Center of Rescue_WagonA_MoveTarg <gen>)
    Unit - Order RescueWagonB to Attack-Move To (Center of Rescue_WagonB_MoveTarg <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Wagons_Q <gen> to the trigger queue (Checking conditions)
Rescue Wagons Q
  Events
  Conditions
    GameOver Equal to False
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas24 <gen> and display Finally some firepower. These will help us with the main gate's defenses!. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas24 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    -------- Quest Message --------
    Trigger - Run Meat_Quest_Msg_B <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Rescue Guys
  Events
    Unit - A unit enters Rescue_Guys_Tripwire <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to AP01_SharedPlayer
        (Owner of (Entering unit)) Equal to AP04_Arthas
        (Owner of (Entering unit)) Equal to AP11_Falric
    (Unit-type of (Entering unit)) Not equal to Shade
    (Unit-type of (Entering unit)) Not equal to Disease Cloud
  Actions
    Trigger - Turn off (This trigger)
    -------- Camera Pan --------
    Set PolitePanTarget = (Center of Rescue_Guys_PanTarg <gen>)
    Trigger - Run Polite_Pan <gen> (checking conditions)
    -------- Rescue the units --------
    Unit - Rescue RescueGuyA for AP01_SharedPlayer and Change color
    Unit - Rescue RescueGuyB for AP01_SharedPlayer and Change color
    Unit - Order RescueGuyA to Attack-Move To (Center of Rescue_Guys_MoveTargA <gen>)
    Unit - Order RescueGuyB to Attack-Move To (Center of Rescue_Guys_MoveTargB <gen>)
    Wait 0.50 seconds
    Trigger - Add Rescue_Guys_Q <gen> to the trigger queue (Checking conditions)
Rescue Guys Q
  Events
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (RescueGuyA is alive) Equal to True
        (RescueGuyB is alive) Equal to True
  Actions
    Sound - Setup all volume channels for speech
    -------- Line --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L02Arthas14 <gen> and display You there--will you not stand by your king?. Modify duration: Add 0 seconds and Don't wait
    Wait for L02Arthas14 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Rescue CageA
  Events
    Destructible - A destructible within Rescue_CageA_Source <gen> dies
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Rescue the units --------
    Unit - Create 1 Ghoul for P2_Rescuables at (Position of (Dying destructible)) facing 180.00 degrees
    Set RescueCageA = (Last created unit)
    Unit - Rescue RescueCageA for AP01_SharedPlayer and Change color
    Unit - Order RescueCageA to Attack-Move To (Center of Rescue_CageA_MoveTarg <gen>)
    -------- Anim --------
    Wait 0.10 seconds
    Animation - Play (Dying destructible)'s decay animation
    Animation - Change (Dying destructible)'s animation speed to 1000.00% of its original speed
Rescue CageB
  Events
    Destructible - A destructible within Rescue_CageB_Source <gen> dies
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    -------- Rescue the units --------
    Unit - Create 1 Ghoul for P2_Rescuables at (Position of (Dying destructible)) facing 180.00 degrees
    Set RescueCageB = (Last created unit)
    Unit - Rescue RescueCageB for AP01_SharedPlayer and Change color
    Unit - Order RescueCageB to Attack-Move To (Center of Rescue_CageB_MoveTarg <gen>)
    -------- Anim --------
    Wait 0.10 seconds
    Animation - Play (Dying destructible)'s decay animation
    Animation - Change (Dying destructible)'s animation speed to 1000.00% of its original speed
Hall Patrol Start
  Events
  Conditions
  Actions
    Set HallPatrolTarget = 1
    Set PointHallPatrollerTargetA = PointHallPatrol01A
    Set PointHallPatrollerTargetB = PointHallPatrol01B
    Set PointHallPatrollerTargetC = PointHallPatrol01C
    Set HallPatrollerTargetA = Hall_Patrol_01A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_01B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_01C <gen>
    Trigger - Run Hall_Patrol_Orders <gen> (checking conditions)
Hall Patrol Orders
  Events
    Time - HallPatrolTimer expires
  Conditions
  Actions
    Unit - Order HallPatrollerA to Attack-Move To PointHallPatrollerTargetA
    Unit - Order HallPatrollerB to Attack-Move To PointHallPatrollerTargetB
    Unit - Order HallPatrollerC to Attack-Move To PointHallPatrollerTargetC
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 1.00 seconds
Hall Patrol Attacked
  Events
    Unit - A unit owned by Player 7 (Green) Is attacked
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Attacked unit) Equal to HallPatrollerA
        (Attacked unit) Equal to HallPatrollerB
        (Attacked unit) Equal to HallPatrollerC
  Actions
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 3.00 seconds
Hall Patrol Attacking
  Events
    Unit - A unit owned by Player 4 (Purple) Is attacked
    Unit - A unit owned by Player 6 (Orange) Is attacked
    Unit - A unit owned by Player 12 (Brown) Is attacked
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Attacking unit) Equal to HallPatrollerA
        (Attacking unit) Equal to HallPatrollerB
        (Attacking unit) Equal to HallPatrollerC
  Actions
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 3.00 seconds
Hall Patrol 01
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    HallPatrolTarget Equal to 1
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 2
    Set PointHallPatrollerTargetA = PointHallPatrol02A
    Set PointHallPatrollerTargetB = PointHallPatrol02B
    Set PointHallPatrollerTargetC = PointHallPatrol02C
    Set HallPatrollerTargetA = Hall_Patrol_02A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_02B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_02C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 5.00 seconds
Hall Patrol 02
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    HallPatrolTarget Equal to 2
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 3
    Set PointHallPatrollerTargetA = PointHallPatrol03A
    Set PointHallPatrollerTargetB = PointHallPatrol03B
    Set PointHallPatrollerTargetC = PointHallPatrol03C
    Set HallPatrollerTargetA = Hall_Patrol_03A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_03B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_03C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 1.00 seconds
Hall Patrol 03
  Events
    Time - Every 0.20 seconds of game time
  Conditions
    HallPatrolTarget Equal to 3
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 4
    Set PointHallPatrollerTargetA = PointHallPatrol04A
    Set PointHallPatrollerTargetB = PointHallPatrol04B
    Set PointHallPatrollerTargetC = PointHallPatrol04C
    Set HallPatrollerTargetA = Hall_Patrol_04A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_04B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_04C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 0.00 seconds
Hall Patrol 04
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    HallPatrolTarget Equal to 4
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 5
    Set PointHallPatrollerTargetA = PointHallPatrol05A
    Set PointHallPatrollerTargetB = PointHallPatrol05B
    Set PointHallPatrollerTargetC = PointHallPatrol05C
    Set HallPatrollerTargetA = Hall_Patrol_05A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_05B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_05C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 5.00 seconds
Hall Patrol 05
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    HallPatrolTarget Equal to 5
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 6
    Set PointHallPatrollerTargetA = PointHallPatrol06A
    Set PointHallPatrollerTargetB = PointHallPatrol06B
    Set PointHallPatrollerTargetC = PointHallPatrol06C
    Set HallPatrollerTargetA = Hall_Patrol_06A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_06B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_06C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 1.00 seconds
Hall Patrol 06
  Events
    Time - Every 0.50 seconds of game time
  Conditions
    HallPatrolTarget Equal to 6
    (HallPatrollerA Equal to No unit) or ((HallPatrollerTargetA contains HallPatrollerA) Equal to True)
    (HallPatrollerB Equal to No unit) or ((HallPatrollerTargetB contains HallPatrollerB) Equal to True)
    (HallPatrollerC Equal to No unit) or ((HallPatrollerTargetC contains HallPatrollerC) Equal to True)
  Actions
    Set HallPatrolTarget = 1
    Set PointHallPatrollerTargetA = PointHallPatrol01A
    Set PointHallPatrollerTargetB = PointHallPatrol01B
    Set PointHallPatrollerTargetC = PointHallPatrol01C
    Set HallPatrollerTargetA = Hall_Patrol_01A <gen>
    Set HallPatrollerTargetB = Hall_Patrol_01B <gen>
    Set HallPatrollerTargetC = Hall_Patrol_01C <gen>
    Countdown Timer - Start HallPatrolTimer as a One-shot timer that will expire in 0.00 seconds
Wave Source 01 Tripwire
  Events
    Unit - A unit enters Wave_Source_Tripwire_01A <gen>
    Unit - A unit enters Wave_Source_Tripwire_01B <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Entering unit) Equal to Arthas
        (Entering unit) Equal to Falric
    WaveSource Not equal to 1
  Actions
    Set WaveSource = 1
    Set WaveSpawnSourceA = PointWaveSource01A
    Set WaveSpawnSourceB = PointWaveSource01B
Wave Source 02 Tripwire
  Events
    Unit - A unit enters Wave_Source_Tripwire_02A <gen>
    Unit - A unit enters Wave_Source_Tripwire_02B <gen>
    Unit - A unit enters Wave_Source_Tripwire_02C <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Entering unit) Equal to Arthas
        (Entering unit) Equal to Falric
    WaveSource Not equal to 2
  Actions
    Set WaveSource = 2
    Set WaveSpawnSourceA = PointWaveSource02A
    Set WaveSpawnSourceB = PointWaveSource02B
Wave Source 03 Tripwire
  Events
    Unit - A unit enters Wave_Source_Tripwire_03A <gen>
    Unit - A unit enters Wave_Source_Tripwire_03B <gen>
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Entering unit) Equal to Arthas
        (Entering unit) Equal to Falric
    WaveSource Not equal to 3
  Actions