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. We have recently started the 16th edition of the Mini Mapping Contest. The theme is mini RPG. Do check it out and have fun.
    Dismiss Notice
  5. Dismiss Notice
  6. The Highway to Hell has been laid open. Come along and participate in the 5th Special Effect Contest.
    Dismiss Notice
  7. 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

UndeadX01.w3x
Variables
Initialization
Initialization
Init 01 Players
Init 02 Units
Init 03 Music
Init 04 Environment
Init 05 Quests
Init 06a Hard
Init 06b Normal
Init Variables
Load Heroes
Create Heroes
Create Arthas
Create Sylvanas
Create Kelthuzad
Experience Cap Sylvanas
Cinematic Revival
xxxxxxxxxxxxxxxxxxxx
Intro Cinematic
Intro Cinematic Q
Intro Skipped
Intro Setup
Intro Cleanup
Gameplay
Cin DL Fade Out
Cin Villagers Remove
Midgame Arthas Cinematic
MidCinArthas Q
MidCinArthas Skipped
MidCinArthas Setup
MidCinArthas Cleanup
ArthasTurn
Add MidCinArthas
Seizures
Victory Cinematic
Victory Cinematic Q
Victory Skipped
Victory Setup
SeizuresPartTwoA
SeizuresPartTwoB
Failure Cinematic
Failure Cinematic Q
Failure Skipped
Failure Setup
xxxxxxxxxxxxxxxxxxxx
Level Data
Next Level Run
Quests
Quest Slaughter Create
Quest Slaughter Discover Q
Quest Slaughter Update Q
Quest Slaughter Reveal
Quest Paladins Create
Quest Paladins Discover Q
Quest Paladins Altars Destroyed Q
Mission Failed Humans Escape
Mission Failed Buildings Dead
Victory Defeat
Victory Farms Dead
Defeat Villagers Escape
Defeat Units Dead
Hints
Hint Three Sides
Hint Scrolls of Healing Q
Hint Scrolls
Warning Villagers Trigger
Warning 5 Villagers
Warning 10 Villagers
Warning 15 Villagers
AI
Start AI
AI Resources Red Gold
AI Resources Red Lumber
AI Resources Blue Gold
AI Resources Blue Lumber
AI Resources Teal Gold
AI Resources Teal Lumber
AI Resources Yellow Gold
AI Resources Yellow Lumber
AI Resources Orange Gold
AI Resources Orange Lumber
AI Resources Gray Gold
AI Resources Gray Lumber
VillagersLeaderboard
VillagersEscLeaderboard
Voice Overs
VO Halahk Taunt Q
VO Magroth Taunt Q
VO Dagren Taunt Q
VO VillagerApproach01 Q
VO VillagerApproach02 Q
VO VillagerApproach03 Q
VO VillagerApproach04 Q
VO VillagerEscaped01 Q
VO VillagerEscaped02 Q
VO VillagerEscaped03 Q
VO VillagerEscaped04 Q
xxxxxxxxxxxxxxxxxxxx
Paladins
xxxxxxxxxxxxxxxxxxxx
Paladin General
Give Quest
Paladins Destroyed
Paladin01 Halahk
Halahk Taunt
Halahk In Combat Attacked
Halahk In Combat Attacking
Halahk Combat Resolved
Halahk Wont Kill Your Buildings
Halahk Builds Knights
Halahk Knight Dies
Halahk Knight Posessed
Halahk Dies
Halahk Arrives Home
Halahk Idles
Halahk Defends
Halahk TP ScrollUsed
Paladin02 Magroth
Magroth Taunt
Magroth In Combat Attacked
Magroth In Combat Attacking
Magroth Combat Resolved
Magroth Wont Kill Your Buildings
Magroth Builds Knights
Magroth Knight Dies
Magroth Knight Possessed
Magroth Dies
Magroth Arrives Home
Magroth Idles
Magroth Defends
Magroth TP ScrollUsed
Paladin03 Dagren
Dagren Taunt
Dagren In Combat Attacked
Dagren In Combat Attacking
Dagren Combat Resolved
Dagren Wont Kill Your Buildings
Dagren Builds Knights
Dagren Knight Dies
Dagren Knight Possessed
Dagren Dies
Dagren Arrives Home
Dagren Idles
Dagren Defends
Dagren TP ScrollUsed
xxxxxxxxxxxxxxxxxxxx
Villager Warnings
Villagers Approach01 Arthas
Villagers Approach02 Kelz
Villagers Approach03 Sylv
Villagers Escape01 Arthas
Villagers Escape02 Kelz
Villagers Escape03 Sylv
xxxxxxxxxxxxxxxxxxxx
Sylvanas Path Villagers
xxxxxxxxxxxxxxxxxxxx
SylvanasRegions Movements
SylvanasRegion1
SylvanasRegion2
SylvanasRegion3
SylvanasRegion4
SylvanasRegion5
SylvanasRegion6
SylvanasRegion7
SylvanasRegion8 PathOff
SylvanasRegion9
SylvanasRegion10
SylvanasRegion11
SylvanasRegion12
SylvanasRegion13 Escaped
SylvanasVillagers RemoveDead
SylvanasVillagers RemovePossessed
SylvanasMovementInsurance
SylvanasBuildingInsurance
SylvanasVillagersA
SylvanasVillageA Spawn
SylvanasVillageA SpawnerPickSpot
SylvanasVillageA Destroyed
SylvanasVillagersB
SylvanasVillageB Spawn
SylvanasVillageB SpawnerPickSpot
SylvanasVillagersC
SylvanasVillageC Spawn
SylvanasVillageC SpawnerPickSpot
SylvanasVillageC Destroyed
SylvanasVillagersD
SylvanasVillageD Spawn
SylvanasVillageD SpawnerPickSpot
SylvanasVillageD Destroyed
xxxxxxxxxxxxxxxxxxxx
Kelz Path Villagers
xxxxxxxxxxxxxxxxxxxx
KelzRegions Movements
KelzRegion1
KelzRegion2
KelzRegion3
KelzRegion4
KelzRegion5
KelzRegion6
KelzRegion7
KelzRegion8
KelzRegion9
KelzRegion10
KelzRegion11
KelzRegion12
KelzRegion13
KelzRegion14 PathOff
KelzRegion15
KelzRegion16
KelzRegion17
KelzRegion18
KelzRegion19 Escaped
KelzVillagers RemoveDead
KelzMovementInsurance
KelzBuildingInsurance
KelzVillagersA
KelzVillageA Spawn
KelzVillageA SpawnerPickSpot
KelzVillageA Destroyed
KelzVillagersB
KelzVillageB Spawn
KelzVillageB SpawnerPickSpot
KelzVillageB Destroyed
KelzVillagersC
KelzVillageC Spawn
KelzVillageC SpawnerPickSpot
KelzVillagersD
KelzVillageD Spawn
KelzVillageD SpawnerPickSpot
KelzVillageD Destroyed
xxxxxxxxxxxxxxxxxxxx
Arthas Path Villagers
xxxxxxxxxxxxxxxxxxxx
ArthasRegions Movements
ArthasRegion1
ArthasRegion2
ArthasRegion3
ArthasRegion4
ArthasRegion5
ArthasRegion6
ArthasRegion7
ArthasRegion8
ArthasRegion9
ArthasRegion10
ArthasRegion11
ArthasRegion12
ArthasRegion13 PathOff
ArthasRegion14
ArthasRegion15
ArthasRegion16
ArthasRegion17
ArthasRegion18
ArthasRegion19
ArthasRegion20 Escaped
ArthasVillagers RemoveDead
ArthasMovementInsurance
ArthasBuildingInsurance
ArthasVillagersB
ArthasVillageB Spawn
ArthasVillageB SpawnerPickSpot
ArthasVillageB Destroyed
ArthasVillagersC
ArthasVillageC Spawn
ArthasVillageC SpawnerPickSpot
ArthasVillageC Destroyed
ArthasVillagersD
ArthasVillageD Spawn
ArthasVillageD SpawnerPickSpot
ArthasVillageD Destroyed
xxxxxxxxxxxxxxxxxxxx
Combat Check
Combat Detected
Combat Resolved
xxxxxxxxxxxxxxxxxxxx
Player Sharing Triggers
SetDifficulty
DifficultySelected
ConvertPlayerUnits
TomeStrengthUsed
TomeAgilityUsed
TomeIntelligenceUsed
PlayerLeavesGame
Game Cache Triggers
SetCacheVariables
LoadHeroesText
SaveCodeEtc01
SaveCodeEtc02
PreplaceItemsSave
StartGame
NewGame
//TESH.scrollpos=385
//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 = ""
    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
AlphaOutReal real No 0.00
Altar01Halahk unit No
Altar02Magroth unit No
Altar03Dagren unit No
AP01_Player player No Player03
AP09_Player player No Player06
AP10_Player player No Player09
APG1_Player force No
Arthas unit No UnitNull
ArthasMovementInsuranceTimer timer No
ArthasReturnSpot location No
ArthasVillageATime real No 180.00
ArthasVillageATimer timer No
ArthasVillageBTime real No 180.00
ArthasVillageBTimer timer No
ArthasVillageBWaveCount integer No
ArthasVillageCTime real No 180.00
ArthasVillageCTimer timer No
ArthasVillageCWaveCount integer No
ArthasVillageDTime real No 180.00
ArthasVillageDTimer timer No
ArthasVillageDWaveCount integer No
ArthasVillagersA group No
ArthasVillagersB group No
ArthasVillagersC group No
ArthasVillagersD group No
BalnazaarColor playercolor No Color03
BuildingsArthas group No
BuildingsKelthuzad group No
BuildingsSylvanas group No
CameraReturnPoint location No
CameraSwitchTimer1 timer No
CameraSwitchTimer2 timer No
CanniGroup group No
ChooseDifficulty dialog No
Cinematic_Arthas unit No
Cinematic_Balnazzar unit No
Cinematic_Detheroc unit No
Cinematic_Kelthuzad unit No
Cinematic_Sylvanas unit No
Cinematic_Varimathras unit No
CinematicVillagers group No
CinVillagerMoveSpeed real No 90.00
Code string No
CombatCheckTimer timer No
DEBUGTempUnit unit No
ExpDisabledForArthas boolean No false
ExpDisabledForKelthuzad boolean No false
ExpDisabledForSylvanas boolean No false
FadeCountDownTimer timer No
FailureSkipped boolean No false
Falric unit No
FirstWarningPullCam boolean No
FleshyCorpses group No
GameOver boolean No false
GameSelection boolean No
GameTimeOfDay real No
Hard boolean No
HardB button No
HiddenUnits group No
HideCorpseTimer timer No
InCinematic boolean No false
InCombat boolean No false
IntroEffect01A effect No
IntroEffect01B effect No
IntroEffect01C effect No
IntroEffect02A effect No
IntroEffect02B effect No
IntroEffect02C effect No
IntroEffect03A effect No
IntroEffect03B effect No
IntroEffect03C effect No
IntroSkipped boolean No false
Kelthuzad unit No
KelThuzadReturnSpot location No
KelzMovementInsuranceTime timer No
KelzVillageATime real No 180.00
KelzVillageATimer timer No
KelzVillageAWaveCount integer No
KelzVillageBTime real No 180.00
KelzVillageBTimer timer No
KelzVillageBWaveCount integer No
KelzVillageCTime real No 180.00
KelzVillageCTimer timer No
KelzVillageDTime real No 180.00
KelzVillageDTimer timer No
KelzVillageDWaveCount integer No
KelzVillagersA group No
KelzVillagersB group No
KelzVillagersC group No
KelzVillagersD group No
KnightBuildTime real No 40.00
LeaderboardVillagers leaderboard No
MidCinArthasSkippedBoo boolean No
MoveSpeedRefugees real No 180.00
NormalB button No
P02_Villagers1 player No Player01
P03_Villagers2 player No Player02
P04_Villagers3 player No Player00
P05_Paladin1 player No Player04
P06_Paladin3 player No Player05
P07_Paladin2 player No Player08
P12_CinematicUnits player No Player11
Pal01HalahkAttemptedTele boolean No
Pal01HalahkCombatTimer timer No
Pal01HalahkInCombat boolean No
Pal01HalahkRespawnTime real No 60.00
Pal02MagrothAttemptedTele boolean No
Pal02MagrothCombatTimer timer No
Pal02MagrothInCombat boolean No
Pal02MagrothRespawnTime real No 60.00
Pal03DagrenAttemptedTele boolean No
Pal03DagrenCombatTimer timer No
Pal03DagrenInCombat boolean No
Pal03DagrenRespawnTime real No 60.00
Paladin01Halahk unit No
Paladin01HalahkKnightTimer timer No
Paladin01HalahkTime real No
Paladin02Magroth unit No
Paladin02MagrothKnightTimer timer No
Paladin02MagrothTime real No
Paladin03Dagren unit No
Paladin03DagrenKnightTimer timer No
Paladin03DagrenTime real No
PaladinAltarsDestroyed boolean No
PaladinAttackCooldownTime real No 30.00
PlayerOneTomesAgility integer No
PlayerOneTomesIntelligence integer No
PlayerOneTomesStrength integer No
PlayerThreeTomesAgility integer No
PlayerThreeTomesIntelligence integer No
PlayerThreeTomesStrength integer No
PlayerTwoTomesAgility integer No
PlayerTwoTomesIntelligence integer No
PlayerTwoTomesStrength integer No
PointArthasVillageB location No
PointArthasVillageC location No
PointArthasVillageD location No
PointDagrenTheOrcslayer location No
PointHalahkTheLifebringer location No
PointKelzVillageA location No
PointKelzVillageB location No
PointKelzVillageD location No
PointMagrothTheDefender location No
PointPaladi01HalahkShop location No
PointPaladi02MagrothShop location No
PointPaladi03DagrenShop location No
PointSylvVillageA location No
PointSylvVillageC location No
PointSylvVillageD location No
QuestPaladins quest No
QuestPaladinsReqDestroy questitem No
QuestSlaughter quest No
QuestSlaughterQpendingInt integer No
QuestSlaughterReqKill questitem No
QuestSlaughterReqPrevent questitem No
QuestSlaughterUpdateIsRunning boolean No
RandomChance integer No
RandomHouse unit No
RandomNumberHolder integer No
RandomNumberSwitch integer No
RevivalAltar unit No UnitNull
RevivalHero unit No UnitNull
RevivalReturnSpot location No
RevivalSpot 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
SelectedUnitsPlayer1 group No
SelectedUnitsPlayer2 group No
SHAKEVAR real No
Shop01Halahk unit No
Shop02Magroth unit No
Shop03Dagren unit No
SinglePlayer boolean No
StartTimeArthas real No 30.00
StartTimeKelz real No 90.00
StartTimeSylvanas real No 150.00
StopSeizures boolean No
Sylvanas unit No
SylvanasAttacker unit No
SylvanasVillageATime real No 180.00
SylvanasVillageATimer timer No
SylvanasVillageAWaveCount integer No
SylvanasVillageBTime real No 180.00
SylvanasVillageBTimer timer No
SylvanasVillageCTime real No 180.00
SylvanasVillageCTimer timer No
SylvanasVillageCWaveCount integer No
SylvanasVillageDTime real No 180.00
SylvanasVillageDTimer timer No
SylvanasVillageDWaveCount integer No
SylvanasVillagersA group No
SylvanasVillagersB group No
SylvanasVillagersC group No
SylvanasVillagersD group No
SylvMovementInsuranceTimer timer No
TempItem item No
TempPoint location No
TempUnitGroup group No
TextFileName string No
VictorySkipped boolean No false
VillagerPlayer player No
VillagersEscapedCount integer No
VillagerSpawner unitcode No
VillagesDestroyed integer No
ZArthasPointArray location Yes
ZKelzPointArray location Yes
ZSylvPointArray location Yes
Initialization
  Events
    Map initialization
  Conditions
  Actions
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Game - Set ally color filtering to 0
    Game - Set Lock resource trading to On
    Game - Disable ally color button and Disable creep camp button
    Trigger - Run Init_01_Players <gen> (checking conditions)
    Trigger - Run Init_02_Units <gen> (checking conditions)
    Trigger - Run Init_04_Environment <gen> (checking conditions)
    Trigger - Run Init_05_Quests <gen> (checking conditions)
    Trigger - Run Init_Variables <gen> (checking conditions)
    Trigger - Run SetDifficulty <gen> (checking conditions)
Init 01 Players
  Events
  Conditions
  Actions
    -------- Set Player Groups --------
    Player Group - Add AP01_Player to APG1_Player
    Player Group - Add AP09_Player to APG1_Player
    Player Group - Add AP10_Player to APG1_Player
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP01_Player controller) Equal to Computer) or ((AP01_Player slot status) Equal to Is unused)
      Then - Actions
        Set VariableSet SinglePlayer = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        ((AP10_Player controller) Equal to Computer) or ((AP10_Player slot status) Equal to Is unused)
      Then - Actions
        Set VariableSet SinglePlayer = True
      Else - Actions
    -------- Player 1 Alliance Settings --------
    Player - Make AP01_Player treat Neutral Passive as an Neutral
    Player - Make AP01_Player treat Neutral Hostile as an Enemy
    Player - Make AP01_Player treat P02_Villagers1 as an Enemy
    Player - Make AP01_Player treat P03_Villagers2 as an Enemy
    Player - Make AP01_Player treat P04_Villagers3 as an Enemy
    Player - Make AP01_Player treat P05_Paladin1 as an Enemy
    Player - Make AP01_Player treat P07_Paladin2 as an Enemy
    Player - Make AP01_Player treat P06_Paladin3 as an Enemy
    Player - Make AP01_Player treat P12_CinematicUnits as an Neutral
    -------- Player 2 Alliance Settings --------
    Player - Make P02_Villagers1 treat Neutral Passive as an Neutral
    Player - Make P02_Villagers1 treat Neutral Hostile as an Neutral
    Player - Make P02_Villagers1 treat AP01_Player as an Enemy
    Player - Make P02_Villagers1 treat AP09_Player as an Enemy
    Player - Make P02_Villagers1 treat AP10_Player as an Enemy
    Player - Make P02_Villagers1 treat P03_Villagers2 as an Neutral
    Player - Make P02_Villagers1 treat P04_Villagers3 as an Neutral
    Player - Make P02_Villagers1 treat P05_Paladin1 as an Ally
    Player - Make P02_Villagers1 treat P06_Paladin3 as an Ally
    Player - Make P02_Villagers1 treat P07_Paladin2 as an Ally with shared vision
    Player - Make P02_Villagers1 treat P12_CinematicUnits as an Neutral
    -------- Player 3 Alliance Settings --------
    Player - Make P03_Villagers2 treat Neutral Passive as an Neutral
    Player - Make P03_Villagers2 treat Neutral Hostile as an Neutral
    Player - Make P03_Villagers2 treat AP01_Player as an Enemy
    Player - Make P03_Villagers2 treat AP09_Player as an Enemy
    Player - Make P03_Villagers2 treat AP10_Player as an Enemy
    Player - Make P03_Villagers2 treat P02_Villagers1 as an Neutral
    Player - Make P03_Villagers2 treat P04_Villagers3 as an Neutral
    Player - Make P03_Villagers2 treat P05_Paladin1 as an Ally
    Player - Make P03_Villagers2 treat P06_Paladin3 as an Ally with shared vision
    Player - Make P03_Villagers2 treat P07_Paladin2 as an Ally
    Player - Make P03_Villagers2 treat P12_CinematicUnits as an Neutral
    -------- Player 4 Alliance Settings --------
    Player - Make P04_Villagers3 treat Neutral Passive as an Neutral
    Player - Make P04_Villagers3 treat Neutral Hostile as an Neutral
    Player - Make P04_Villagers3 treat AP01_Player as an Enemy
    Player - Make P04_Villagers3 treat AP09_Player as an Enemy
    Player - Make P04_Villagers3 treat AP10_Player as an Enemy
    Player - Make P04_Villagers3 treat P02_Villagers1 as an Neutral
    Player - Make P04_Villagers3 treat P03_Villagers2 as an Neutral
    Player - Make P04_Villagers3 treat P05_Paladin1 as an Ally with shared vision
    Player - Make P04_Villagers3 treat P07_Paladin2 as an Ally
    Player - Make P04_Villagers3 treat P06_Paladin3 as an Ally
    Player - Make P04_Villagers3 treat P12_CinematicUnits as an Neutral
    -------- Player 5 Alliance Settings --------
    Player - Make P05_Paladin1 treat Neutral Passive as an Neutral
    Player - Make P05_Paladin1 treat Neutral Hostile as an Neutral
    Player - Make P05_Paladin1 treat AP01_Player as an Enemy
    Player - Make P05_Paladin1 treat AP09_Player as an Enemy
    Player - Make P05_Paladin1 treat AP10_Player as an Enemy
    Player - Make P05_Paladin1 treat P02_Villagers1 as an Neutral
    Player - Make P05_Paladin1 treat P03_Villagers2 as an Neutral
    Player - Make P05_Paladin1 treat P04_Villagers3 as an Ally with shared vision
    Player - Make P05_Paladin1 treat P07_Paladin2 as an Ally
    Player - Make P05_Paladin1 treat P06_Paladin3 as an Ally
    Player - Make P05_Paladin1 treat P12_CinematicUnits as an Neutral
    -------- Player 7 Alliance Settings --------
    Player - Make P07_Paladin2 treat Neutral Passive as an Neutral
    Player - Make P07_Paladin2 treat Neutral Hostile as an Neutral
    Player - Make P07_Paladin2 treat AP01_Player as an Enemy
    Player - Make P07_Paladin2 treat AP09_Player as an Enemy
    Player - Make P07_Paladin2 treat AP10_Player as an Enemy
    Player - Make P07_Paladin2 treat P02_Villagers1 as an Ally with shared vision
    Player - Make P07_Paladin2 treat P03_Villagers2 as an Neutral
    Player - Make P07_Paladin2 treat P04_Villagers3 as an Neutral
    Player - Make P07_Paladin2 treat P05_Paladin1 as an Ally
    Player - Make P07_Paladin2 treat P06_Paladin3 as an Ally
    Player - Make P07_Paladin2 treat P12_CinematicUnits as an Neutral
    -------- Player 6 Alliance Settings --------
    Player - Make P06_Paladin3 treat Neutral Passive as an Neutral
    Player - Make P06_Paladin3 treat Neutral Hostile as an Neutral
    Player - Make P06_Paladin3 treat AP01_Player as an Enemy
    Player - Make P06_Paladin3 treat AP09_Player as an Enemy
    Player - Make P06_Paladin3 treat AP10_Player as an Enemy
    Player - Make P06_Paladin3 treat P02_Villagers1 as an Neutral
    Player - Make P06_Paladin3 treat P03_Villagers2 as an Ally with shared vision
    Player - Make P06_Paladin3 treat P04_Villagers3 as an Neutral
    Player - Make P06_Paladin3 treat P05_Paladin1 as an Ally
    Player - Make P06_Paladin3 treat P07_Paladin2 as an Ally
    Player - Make P06_Paladin3 treat P12_CinematicUnits as an Neutral
    -------- Player 9 Alliance Settings --------
    Player - Make AP09_Player treat Neutral Passive as an Neutral
    Player - Make AP09_Player treat Neutral Hostile as an Enemy
    Player - Make AP09_Player treat P02_Villagers1 as an Enemy
    Player - Make AP09_Player treat P03_Villagers2 as an Enemy
    Player - Make AP09_Player treat P04_Villagers3 as an Enemy
    Player - Make AP09_Player treat P05_Paladin1 as an Enemy
    Player - Make AP09_Player treat P07_Paladin2 as an Enemy
    Player - Make AP09_Player treat P06_Paladin3 as an Enemy
    Player - Make AP09_Player treat P12_CinematicUnits as an Neutral
    -------- Player 10 Alliance Settings --------
    Player - Make AP10_Player treat Neutral Passive as an Neutral
    Player - Make AP10_Player treat Neutral Hostile as an Enemy
    Player - Make AP10_Player treat P02_Villagers1 as an Enemy
    Player - Make AP10_Player treat P03_Villagers2 as an Enemy
    Player - Make AP10_Player treat P04_Villagers3 as an Enemy
    Player - Make AP10_Player treat P05_Paladin1 as an Enemy
    Player - Make AP10_Player treat P07_Paladin2 as an Enemy
    Player - Make AP10_Player treat P06_Paladin3 as an Enemy
    Player - Make AP10_Player treat P12_CinematicUnits as an Neutral
    -------- Neutral Hostile Alliance Settings --------
    Player - Make Neutral Hostile treat P02_Villagers1 as an Neutral
    Player - Make Neutral Hostile treat P03_Villagers2 as an Neutral
    Player - Make Neutral Hostile treat P04_Villagers3 as an Neutral
    Player - Make Neutral Hostile treat P05_Paladin1 as an Neutral
    Player - Make Neutral Hostile treat P06_Paladin3 as an Neutral
    Player - Make Neutral Hostile treat P07_Paladin2 as an Neutral
    -------- Initial Resources --------
    Player - Set P02_Villagers1.Current gold to 5000
    Player - Set P02_Villagers1.Current lumber to 5000
    Player - Set P03_Villagers2.Current gold to 5000
    Player - Set P03_Villagers2.Current lumber to 5000
    Player - Set P04_Villagers3.Current gold to 5000
    Player - Set P04_Villagers3.Current lumber to 5000
    Player - Set P05_Paladin1.Current gold to 5000
    Player - Set P05_Paladin1.Current lumber to 5000
    Player - Set P07_Paladin2.Current gold to 5000
    Player - Set P07_Paladin2.Current lumber to 5000
    Player - Set P06_Paladin3.Current gold to 5000
    Player - Set P06_Paladin3.Current lumber to 5000
    -------- Player Colors --------
    Player - Change color of AP10_Player to Blue, Changing color of existing units
    Player - Change color of P02_Villagers1 to Yellow, Changing color of existing units
    Player - Change color of P03_Villagers2 to Yellow, Changing color of existing units
    Player - Change color of P04_Villagers3 to Yellow, Changing color of existing units
    Player - Change color of P05_Paladin1 to Light Blue, Changing color of existing units
    Player - Change color of P07_Paladin2 to Light Blue, Changing color of existing units
    Player - Change color of P06_Paladin3 to Light Blue, Changing color of existing units
    -------- Hide Excess Players --------
    Player - Hide P03_Villagers2 in the post-game score screen
    Player - Hide P04_Villagers3 in the post-game score screen
    Player - Hide P12_CinematicUnits in the post-game score screen
Init 02 Units
  Events
  Conditions
  Actions
    -------- Heroes --------
    Trigger - Run Create_Heroes <gen> (checking conditions)
    Hero - Make AP01_Player Heroes gain 30.00% experience from future kills
    -------- Paladins and Altars --------
    Set VariableSet Paladin01Halahk = (Random unit from (Units in HalahkTheLifebringer <gen>))
    Set VariableSet Paladin02Magroth = (Random unit from (Units in MagrothTheDefender <gen>))
    Set VariableSet Paladin03Dagren = (Random unit from (Units in DagrenTheOrcslayer <gen>))
    Set VariableSet Altar01Halahk = (Random unit from (Units in Paladin01HalahkAltar <gen>))
    Set VariableSet Altar02Magroth = (Random unit from (Units in Paladin02MagrothAltar <gen>))
    Set VariableSet Altar03Dagren = (Random unit from (Units in Paladin03DagrenAltar <gen>))
    Set VariableSet Shop01Halahk = (Random unit from (Units in Paladin01HalahkShop <gen>))
    Set VariableSet Shop02Magroth = (Random unit from (Units in Paladin02MagrothShop <gen>))
    Set VariableSet Shop03Dagren = (Random unit from (Units in Paladin03DagrenShop <gen>))
    Unit - Change color of Paladin01Halahk to Teal
    Unit - Change color of Paladin02Magroth to Orange
    Unit - Change color of Paladin03Dagren to Gray
    -------- Player Building Groups --------
    Set VariableSet BuildingsArthas = (Units in BuildingsArthas <gen> matching (((Matching unit) is A structure) Equal to True))
    Set VariableSet BuildingsKelthuzad = (Units in BuildingsKelThuzad <gen> matching (((Matching unit) is A structure) Equal to True))
    Set VariableSet BuildingsSylvanas = (Units in BuildingsSylvanas <gen> matching (((Matching unit) is A structure) Equal to True))
    -------- Cinematic Heroes --------
    Set VariableSet Cinematic_Arthas = Death Knight 0178 <gen>
    Set VariableSet Cinematic_Balnazzar = Dreadlord 0176 <gen>
    Set VariableSet Cinematic_Detheroc = Dreadlord 0175 <gen>
    Set VariableSet Cinematic_Varimathras = Dreadlord 0177 <gen>
    Set VariableSet Cinematic_Kelthuzad = Lich 0174 <gen>
    Set VariableSet Cinematic_Sylvanas = Dark Ranger 0173 <gen>
    Unit - Change color of Cinematic_Arthas to Purple
    Unit - Change color of Cinematic_Sylvanas to Blue
    Unit - Change color of Cinematic_Kelthuzad to Green
    Unit - Change color of Cinematic_Balnazzar to Purple
    Unit - Change color of Cinematic_Detheroc to Green
    Unit - Change color of Cinematic_Varimathras to Red
    -------- Dreadlord Inventories and Special Effects --------
    Hero - Create Orb of Venom and give it to Cinematic_Detheroc
Init 03 Music
  Events
  Conditions
  Actions
    Sound - Reset all volume channels to 100%
    Sound - Clear the music list
    Sound - Set the music list to Music, starting with song 0
    Sound - Play Dark Agents, skipping the first 10.00 seconds
Init 04 Environment
  Events
  Conditions
  Actions
    -------- Initial Time Of Day --------
    Game - Set the time of day to 8.00
    -------- Weather Effects --------
    -------- Fog --------
    -------- Initial Visibility --------
    -------- Bridges, Gates, etc. --------
Init 05 Quests
  Events
  Conditions
  Actions
    -------- Create Quests --------
    Trigger - Run Quest_Slaughter_Create <gen> (checking conditions)
    Trigger - Run Quest_Paladins_Create <gen> (checking conditions)
Init 06a Hard
  Events
  Conditions
    Hard Equal to True
  Actions
    -------- Additional Changes --------
    Unit - Replace Footman 0082 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0084 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0085 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0086 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0169 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0170 <gen> with a Knight using The new unit's default life and mana
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P02_Villagers1
    Player - Set the current research level of Rhra (techcode) to 3 for P02_Villagers1
    Player - Set the current research level of Rhar (techcode) to 3 for P02_Villagers1
    Player - Set the current research level of Rhla (techcode) to 3 for P02_Villagers1
    Player - Set the current research level of Rhri (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhac (techcode) to 2 for P02_Villagers1
    Player - Set the current research level of Rhan (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhde (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhpt (techcode) to 2 for P02_Villagers1
    Player - Set the current research level of Rhst (techcode) to 2 for P02_Villagers1
    Player - Set the current research level of Rhfs (techcode) to 1 for P02_Villagers1
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P03_Villagers2
    Player - Set the current research level of Rhra (techcode) to 3 for P03_Villagers2
    Player - Set the current research level of Rhar (techcode) to 3 for P03_Villagers2
    Player - Set the current research level of Rhla (techcode) to 3 for P03_Villagers2
    Player - Set the current research level of Rhri (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhac (techcode) to 2 for P03_Villagers2
    Player - Set the current research level of Rhan (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhde (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhpt (techcode) to 2 for P03_Villagers2
    Player - Set the current research level of Rhst (techcode) to 2 for P03_Villagers2
    Player - Set the current research level of Rhfs (techcode) to 1 for P03_Villagers2
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P04_Villagers3
    Player - Set the current research level of Rhra (techcode) to 3 for P04_Villagers3
    Player - Set the current research level of Rhar (techcode) to 3 for P04_Villagers3
    Player - Set the current research level of Rhla (techcode) to 3 for P04_Villagers3
    Player - Set the current research level of Rhri (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhac (techcode) to 2 for P04_Villagers3
    Player - Set the current research level of Rhan (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhde (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhpt (techcode) to 2 for P04_Villagers3
    Player - Set the current research level of Rhst (techcode) to 2 for P04_Villagers3
    Player - Set the current research level of Rhfs (techcode) to 1 for P04_Villagers3
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P05_Paladin1
    Player - Set the current research level of Rhra (techcode) to 3 for P05_Paladin1
    Player - Set the current research level of Rhar (techcode) to 3 for P05_Paladin1
    Player - Set the current research level of Rhla (techcode) to 3 for P05_Paladin1
    Player - Set the current research level of Rhri (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhac (techcode) to 2 for P05_Paladin1
    Player - Set the current research level of Rhan (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhde (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhpt (techcode) to 2 for P05_Paladin1
    Player - Set the current research level of Rhst (techcode) to 2 for P05_Paladin1
    Player - Set the current research level of Rhfs (techcode) to 1 for P05_Paladin1
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P06_Paladin3
    Player - Set the current research level of Rhra (techcode) to 3 for P06_Paladin3
    Player - Set the current research level of Rhar (techcode) to 3 for P06_Paladin3
    Player - Set the current research level of Rhla (techcode) to 3 for P06_Paladin3
    Player - Set the current research level of Rhri (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhac (techcode) to 2 for P06_Paladin3
    Player - Set the current research level of Rhan (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhde (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhpt (techcode) to 2 for P06_Paladin3
    Player - Set the current research level of Rhst (techcode) to 2 for P06_Paladin3
    Player - Set the current research level of Rhfs (techcode) to 1 for P06_Paladin3
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 3 for P07_Paladin2
    Player - Set the current research level of Rhra (techcode) to 3 for P07_Paladin2
    Player - Set the current research level of Rhar (techcode) to 3 for P07_Paladin2
    Player - Set the current research level of Rhla (techcode) to 3 for P07_Paladin2
    Player - Set the current research level of Rhri (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhac (techcode) to 2 for P07_Paladin2
    Player - Set the current research level of Rhan (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhde (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhpt (techcode) to 2 for P07_Paladin2
    Player - Set the current research level of Rhst (techcode) to 2 for P07_Paladin2
    Player - Set the current research level of Rhfs (techcode) to 1 for P07_Paladin2
    -------- Halahk More Powerful --------
    Hero - Set Paladin01Halahk Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Resurrection
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Devotion Aura
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Devotion Aura
    -------- Magroth More Powerful --------
    Hero - Set Paladin02Magroth Hero-level to 9, Hide level-up graphics
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Devotion Aura
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Resurrection
    -------- Dagren More Powerful --------
    Hero - Set Paladin03Dagren Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Paladin03Dagren: Human Paladin - Holy Light
    Hero - Learn skill for Paladin03Dagren: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin03Dagren: Human Paladin - Resurrection
    -------- Mountain King More Powerful --------
    Hero - Set Mountain King 0200 <gen> Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Avatar
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Bash
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Bash
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Thunder Clap
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Storm Bolt
    -------- Ranger More Powerful --------
    Hero - Set Ranger 0024 <gen> Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Ranger 0024 <gen>: Night Elf Priestess Of The Moon - Starfall
    Hero - Learn skill for Ranger 0024 <gen>: Night Elf Priestess Of The Moon - Trueshot Aura
    Hero - Learn skill for Ranger 0024 <gen>: Special Sylvanas Windrunner - Cold Arrows
    -------- Archmage More Powerful --------
    Hero - Set Archmage 0023 <gen> Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Archmage 0023 <gen>: Human Archmage - Blizzard
    Hero - Learn skill for Archmage 0023 <gen>: Human Archmage - Summon Water Elemental
    Hero - Learn skill for Archmage 0023 <gen>: Human Archmage - Brilliance Aura
    Hero - Learn skill for Archmage 0023 <gen>: Human Archmage - Brilliance Aura
    -------- Enemy Heroes --------
    Hero - Disable experience gain for Archmage 0188 <gen>.
    Hero - Disable experience gain for Mountain King 0200 <gen>.
    Hero - Disable experience gain for Archmage 0023 <gen>.
    Hero - Disable experience gain for Ranger 0024 <gen>.
    Hero - Disable experience gain for Paladin01Halahk.
    Hero - Disable experience gain for Paladin02Magroth.
    Hero - Disable experience gain for Paladin03Dagren.
    -------- Enemies Spawn Fast --------
    Set VariableSet ArthasVillageATime = 60.00
    Set VariableSet ArthasVillageBTime = 60.00
    Set VariableSet ArthasVillageCTime = 60.00
    Set VariableSet ArthasVillageDTime = 60.00
    Set VariableSet KelzVillageATime = 60.00
    Set VariableSet KelzVillageBTime = 60.00
    Set VariableSet KelzVillageCTime = 60.00
    Set VariableSet KelzVillageDTime = 60.00
    Set VariableSet SylvanasVillageATime = 60.00
    Set VariableSet SylvanasVillageBTime = 60.00
    Set VariableSet SylvanasVillageCTime = 60.00
    Set VariableSet SylvanasVillageDTime = 60.00
    -------- Remove Extra Food --------
    Unit - Remove (Random unit from (Units in ZigguratArthas <gen>)) from the game
    Unit - Remove (Random unit from (Units in ZigguratKelz <gen>)) from the game
    Unit - Remove (Random unit from (Units in ZigguratSylvanas <gen>)) from the game
    -------- Enemies Spawn Starts Early --------
    Set VariableSet StartTimeArthas = 30.00
    Set VariableSet StartTimeKelz = 40.00
    Set VariableSet StartTimeSylvanas = 50.00
Init 06b Normal
  Events
  Conditions
    Hard Equal to False
  Actions
    -------- Additional Changes --------
    Unit - Replace Footman 0082 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0084 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0085 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0086 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0169 <gen> with a Knight using The new unit's default life and mana
    Unit - Replace Footman 0170 <gen> with a Knight using The new unit's default life and mana
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhra (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhar (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhla (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhri (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhac (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhde (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhpt (techcode) to 1 for P02_Villagers1
    Player - Set the current research level of Rhst (techcode) to 1 for P02_Villagers1
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhra (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhar (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhla (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhri (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhac (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhde (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhpt (techcode) to 1 for P03_Villagers2
    Player - Set the current research level of Rhst (techcode) to 1 for P03_Villagers2
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhra (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhar (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhla (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhri (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhac (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhde (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhpt (techcode) to 1 for P04_Villagers3
    Player - Set the current research level of Rhst (techcode) to 1 for P04_Villagers3
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhra (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhar (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhla (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhri (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhac (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhde (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhpt (techcode) to 1 for P05_Paladin1
    Player - Set the current research level of Rhst (techcode) to 1 for P05_Paladin1
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhra (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhar (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhla (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhri (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhac (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhde (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhpt (techcode) to 1 for P06_Paladin3
    Player - Set the current research level of Rhst (techcode) to 1 for P06_Paladin3
    -------- Enemy Upgraded --------
    Player - Set the current research level of Rhme (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhra (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhar (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhla (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhri (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhac (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhde (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhpt (techcode) to 1 for P07_Paladin2
    Player - Set the current research level of Rhst (techcode) to 1 for P07_Paladin2
    -------- Halahk More Powerful --------
    Hero - Set Paladin01Halahk Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Resurrection
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin01Halahk: Human Paladin - Devotion Aura
    -------- Magroth More Powerful --------
    Hero - Set Paladin02Magroth Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Divine Shield
    Hero - Learn skill for Paladin02Magroth: Human Paladin - Resurrection
    -------- Dagren More Powerful --------
    Hero - Set Paladin03Dagren Hero-level to 6, Hide level-up graphics
    Hero - Learn skill for Paladin03Dagren: Human Paladin - Resurrection
    -------- Mountain King More Powerful --------
    Hero - Set Mountain King 0200 <gen> Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Avatar
    Hero - Learn skill for Mountain King 0200 <gen>: Human Mountain King - Bash
    -------- Ranger More Powerful --------
    Hero - Set Ranger 0024 <gen> Hero-level to 6, Hide level-up graphics
    Hero - Learn skill for Ranger 0024 <gen>: Special Sylvanas Windrunner - Cold Arrows
    -------- Archmage More Powerful --------
    Hero - Set Archmage 0023 <gen> Hero-level to 7, Hide level-up graphics
    Hero - Learn skill for Archmage 0023 <gen>: Human Archmage - Brilliance Aura
    -------- Enemy Heroes --------
    Hero - Disable experience gain for Archmage 0188 <gen>.
    Hero - Disable experience gain for Mountain King 0200 <gen>.
    Hero - Disable experience gain for Archmage 0023 <gen>.
    Hero - Disable experience gain for Ranger 0024 <gen>.
    Hero - Disable experience gain for Paladin01Halahk.
    Hero - Disable experience gain for Paladin02Magroth.
    Hero - Disable experience gain for Paladin03Dagren.
    -------- Enemies Spawn Fast --------
    Set VariableSet ArthasVillageATime = 120.00
    Set VariableSet ArthasVillageBTime = 120.00
    Set VariableSet ArthasVillageCTime = 120.00
    Set VariableSet ArthasVillageDTime = 120.00
    Set VariableSet KelzVillageATime = 120.00
    Set VariableSet KelzVillageBTime = 120.00
    Set VariableSet KelzVillageCTime = 120.00
    Set VariableSet KelzVillageDTime = 120.00
    Set VariableSet SylvanasVillageATime = 120.00
    Set VariableSet SylvanasVillageBTime = 120.00
    Set VariableSet SylvanasVillageCTime = 120.00
    Set VariableSet SylvanasVillageDTime = 120.00
    -------- Enemies Spawn Starts Early --------
    Set VariableSet StartTimeArthas = 30.00
    Set VariableSet StartTimeKelz = 65.00
    Set VariableSet StartTimeSylvanas = 100.00
Init Variables
  Events
  Conditions
  Actions
    -------- Arthas Villagers Region Array --------
    Set VariableSet ZArthasPointArray[1] = (Center of ArthasPathPoint01_A <gen>)
    Set VariableSet ZArthasPointArray[2] = (Center of ArthasPathPoint02_AB <gen>)
    Set VariableSet ZArthasPointArray[3] = (Center of ArthasPathPoint03_AB <gen>)
    Set VariableSet ZArthasPointArray[4] = (Center of ArthasPathPoint04_ABC <gen>)
    Set VariableSet ZArthasPointArray[5] = (Center of ArthasPathPoint05_ABC <gen>)
    Set VariableSet ZArthasPointArray[6] = (Center of ArthasPathPoint06_ABC <gen>)
    Set VariableSet ZArthasPointArray[7] = (Center of ArthasPathPoint07_ABC <gen>)
    Set VariableSet ZArthasPointArray[8] = (Center of ArthasPathPoint08_ABC <gen>)
    Set VariableSet ZArthasPointArray[9] = (Center of ArthasPathPoint09_ABCD <gen>)
    Set VariableSet ZArthasPointArray[10] = (Center of ArthasPathPoint10_ABCD <gen>)
    Set VariableSet ZArthasPointArray[11] = (Center of ArthasPathPoint11_ABCD <gen>)
    Set VariableSet ZArthasPointArray[12] = (Center of ArthasPathPoint12_ABCD <gen>)
    Set VariableSet ZArthasPointArray[13] = (Center of ArthasPathPoint13_ABCD <gen>)
    Set VariableSet ZArthasPointArray[14] = (Center of ArthasPathPoint14_B <gen>)
    Set VariableSet ZArthasPointArray[15] = (Center of ArthasPathPoint15_B <gen>)
    Set VariableSet ZArthasPointArray[16] = (Center of ArthasPathPoint16_B <gen>)
    Set VariableSet ZArthasPointArray[17] = (Center of ArthasPathPoint17_B <gen>)
    Set VariableSet ZArthasPointArray[18] = (Center of ArthasPathPoint18_ABC <gen>)
    Set VariableSet ZArthasPointArray[19] = (Center of ArthasPathPoint19_ABC <gen>)
    Set VariableSet ZArthasPointArray[20] = (Center of ArthasPathPoint20_ABCD_END <gen>)
    -------- KelThuzad Villagers Region Array --------
    Set VariableSet ZKelzPointArray[1] = (Center of KelzPathPoint01_A <gen>)
    Set VariableSet ZKelzPointArray[2] = (Center of KelzPathPoint02_A <gen>)
    Set VariableSet ZKelzPointArray[3] = (Center of KelzPathPoint03_A <gen>)
    Set VariableSet ZKelzPointArray[4] = (Center of KelzPathPoint04_A <gen>)
    Set VariableSet ZKelzPointArray[5] = (Center of KelzPathPoint05_A <gen>)
    Set VariableSet ZKelzPointArray[6] = (Center of KelzPathPoint06_AB <gen>)
    Set VariableSet ZKelzPointArray[7] = (Center of KelzPathPoint07_AB <gen>)
    Set VariableSet ZKelzPointArray[8] = (Center of KelzPathPoint08_ABC <gen>)
    Set VariableSet ZKelzPointArray[9] = (Center of KelzPathPoint09_ABC <gen>)
    Set VariableSet ZKelzPointArray[10] = (Center of KelzPathPoint10_ABC <gen>)
    Set VariableSet ZKelzPointArray[11] = (Center of KelzPathPoint11_ABCD <gen>)
    Set VariableSet ZKelzPointArray[12] = (Center of KelzPathPoint12_ABCD <gen>)
    Set VariableSet ZKelzPointArray[13] = (Center of KelzPathPoint13_ABCD <gen>)
    Set VariableSet ZKelzPointArray[14] = (Center of KelzPathPoint14_ABCD <gen>)
    Set VariableSet ZKelzPointArray[15] = (Center of KelzPathPoint15_A <gen>)
    Set VariableSet ZKelzPointArray[16] = (Center of KelzPathPoint16_ABD <gen>)
    Set VariableSet ZKelzPointArray[17] = (Center of KelzPathPoint17_ABD <gen>)
    Set VariableSet ZKelzPointArray[18] = (Center of KelzPathPoint18_ABD <gen>)
    Set VariableSet ZKelzPointArray[19] = (Center of KelzPathPoint19_ABCD_END <gen>)
    -------- Sylvanas Villagers Region Array --------
    Set VariableSet ZSylvPointArray[1] = (Center of SylvanasPathPoint01_AB <gen>)
    Set VariableSet ZSylvPointArray[2] = (Center of SylvanasPathPoint02_AB <gen>)
    Set VariableSet ZSylvPointArray[3] = (Center of SylvanasPathPoint03_ABCD <gen>)
    Set VariableSet ZSylvPointArray[4] = (Center of SylvanasPathPoint04_ABCD <gen>)
    Set VariableSet ZSylvPointArray[5] = (Center of SylvanasPathPoint05_ABCD <gen>)
    Set VariableSet ZSylvPointArray[6] = (Center of SylvanasPathPoint06_ABCD <gen>)
    Set VariableSet ZSylvPointArray[7] = (Center of SylvanasPathPoint07_ABCD <gen>)
    Set VariableSet ZSylvPointArray[8] = (Center of SylvanasPathPoint08_ABCD <gen>)
    Set VariableSet ZSylvPointArray[9] = (Center of SylvanasPathPoint09_AB <gen>)
    Set VariableSet ZSylvPointArray[10] = (Center of SylvanasPathPoint10_AB <gen>)
    Set VariableSet ZSylvPointArray[11] = (Center of SylvanasPathPoint11_ABCD <gen>)
    Set VariableSet ZSylvPointArray[12] = (Center of SylvanasPathPoint12_ABCD <gen>)
    Set VariableSet ZSylvPointArray[13] = (Center of SylvanasPathPoint13_ABCD_END <gen>)
    -------- ConvertRegionsToPoints --------
    Set VariableSet PointArthasVillageB = (Center of ArthasVillageB <gen>)
    Set VariableSet PointArthasVillageC = (Center of ArthasVillageC <gen>)
    Set VariableSet PointArthasVillageD = (Center of ArthasVillageD <gen>)
    Set VariableSet PointKelzVillageA = (Center of KelzVillageA <gen>)
    Set VariableSet PointKelzVillageB = (Center of KelzVillageB <gen>)
    Set VariableSet PointKelzVillageD = (Center of KelzVillageD <gen>)
    Set VariableSet PointSylvVillageA = (Center of SylvanasVillageA <gen>)
    Set VariableSet PointSylvVillageC = (Center of SylvanasVillageC <gen>)
    Set VariableSet PointSylvVillageD = (Center of SylvanasVillageD <gen>)
    Set VariableSet PointPaladi01HalahkShop = (Center of Paladin01HalahkShop <gen>)
    Set VariableSet PointPaladi02MagrothShop = (Center of Paladin02MagrothShop <gen>)
    Set VariableSet PointPaladi03DagrenShop = (Center of Paladin03DagrenShop <gen>)
    Set VariableSet PointHalahkTheLifebringer = (Center of HalahkTheLifebringer <gen>)
    Set VariableSet PointMagrothTheDefender = (Center of MagrothTheDefender <gen>)
    Set VariableSet PointDagrenTheOrcslayer = (Center of DagrenTheOrcslayer <gen>)
Create Heroes
  Events
  Conditions
  Actions
    -------- Set Hero Portraits --------
    Hero - Reserve 1 Hero buttons for the local player
    -------- Load Each Hero --------
    Trigger - Run Create_Arthas <gen> (checking conditions)
    Trigger - Run Create_Kelthuzad <gen> (checking conditions)
    Trigger - Run Create_Sylvanas <gen> (checking conditions)
Create Arthas
  Events
  Conditions
  Actions
    -------- Load Hero From Cache --------
    Unit - Create 1.Death Knight (Evil) for Neutral Passive at (Center of Gameplay_Start_Arthas <gen>) facing 0.00 degrees
    Set VariableSet Arthas = (Last created unit)
    Unit - Change color of Arthas to Purple
    Hero - Set Arthas Hero-level to 10, 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 - 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 - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Animate Dead
    -------- Items --------
    Hero - Create Goblin Land Mines and give it to Arthas
    Hero - Create Potion of Greater Healing and give it to Arthas
    Hero - Create Potion of Greater Mana and give it to Arthas
    -------- XP --------
    Hero - Disable experience gain for Arthas.
    Set VariableSet ExpDisabledForArthas = True
Create Sylvanas
  Events
  Conditions
  Actions
    -------- Load Hero From Cache --------
    Unit - Create 1.Dark Ranger for Neutral Passive at (Center of Gameplay_Start_Sylvanas <gen>) facing 180.00 degrees
    Set VariableSet Sylvanas = (Last created unit)
    Hero - Set Sylvanas Hero-level to 2, Hide level-up graphics
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Black Arrow
    Hero - Learn skill for Sylvanas: Neutral Dark Ranger - Life Drain
    -------- Items --------
    Hero - Create Goblin Land Mines and give it to Sylvanas
    Hero - Create Scroll of Restoration and give it to Sylvanas
    Hero - Create Book of the Dead and give it to Sylvanas
Create Kelthuzad
  Events
  Conditions
  Actions
    -------- Load Hero From Cache --------
    Unit - Create 1.Lich (Lich) for Neutral Passive at (Center of Gameplay_Start_Kelthuzad <gen>) facing 245.00 degrees
    Set VariableSet Kelthuzad = (Last created unit)
    Hero - Set Kelthuzad Hero-level to 10, Hide level-up graphics
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Nova
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Nova
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Nova
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Armor
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Armor
    Hero - Learn skill for Kelthuzad: Undead Lich - Frost Armor
    Hero - Learn skill for Kelthuzad: Undead Lich - Dark Ritual
    Hero - Learn skill for Kelthuzad: Undead Lich - Dark Ritual
    Hero - Learn skill for Kelthuzad: Undead Lich - Dark Ritual
    Hero - Learn skill for Kelthuzad: Undead Lich - Death And Decay
    -------- Items --------
    Hero - Create Goblin Land Mines and give it to Kelthuzad
    Hero - Create Potion of Greater Healing and give it to Kelthuzad
    Hero - Create Scroll of Mana and give it to Kelthuzad
Experience Cap Sylvanas
  Events
    Unit - A unit owned by Player 10 (Light Blue).Gains a level
  Conditions
    (Leveling Hero) Equal to Sylvanas
    (Hero level of (Leveling Hero)) Greater than or equal to 4
  Actions
    Hero - Disable experience gain for Sylvanas.
    Set VariableSet ExpDisabledForSylvanas = True
Before running this in a cinematic, do the following:
- Set "RevivalHero" to the hero you wish to revive.
- Set "RevivalSpot" to the place at which you wish the hero to be revived.

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

After the cinematic, move the hero instantly to RevivalReturnSpot.
Cinematic Revival
  Events
  Conditions
  Actions
    Set VariableSet 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 VariableSet RevivalReturnSpot = RevivalSpot
    Set VariableSet 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 VariableSet RevivalReturnSpot = ((Position of RevivalAltar) offset by (0, -128.00))) else do (Do nothing)
Intro Cinematic Q
  Events
  Conditions
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Trigger - Run Intro_Setup <gen> (checking conditions)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_01A for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_Intro_01B for (Picked player) over ((Length of L01Detheroc01 <gen>) + 5.00) seconds
    Wait 0.50 seconds
    Sound - Set Music to 100%
    -------- Fade In --------
    Cinematic - Fade in over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Trigger - Turn on Intro_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Cinematic_Detheroc to Move To.(Center of Intro_Detheroc_01 <gen>)
    Wait 0.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Detheroc named Detheroc: Play L01Detheroc01 <gen> and display It's been months since we last heard from Lord Archimonde. I grow tired of watching over these rotting undead! What are we still doing here? . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Detheroc01 <gen> to be 0 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_02 for (Picked player) over 0 seconds
    Unit - Make Cinematic_Balnazzar face Cinematic_Detheroc over 0.30 seconds
    Wait 0.30 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to BalnazaarColor, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Balnazzar named Balnazzar: Play L01Balnazzar02 <gen> and display We were charged with overseeing this land, Detheroc. It is our duty to remain here and ensure that the Scourge is ready for action. . Modify duration: Add 0 seconds and Don't wait
    Unit - Make Cinematic_Detheroc face (Position of Cinematic_Balnazzar) over 0.20 seconds
    Wait for L01Balnazzar02 <gen> to be 1.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Cinematic_Varimathras face Cinematic_Balnazzar over 0.30 seconds
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_03A for (Picked player) over 0 seconds
    Player - Change color of Player 12 (Brown) to Red, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Varimathras named Varimathras: Play L01Varimathras03 <gen> and display True. Though we should have received some kind of orders by now. . Modify duration: Add 0 seconds and Don't wait
    Unit - Make Cinematic_Detheroc face (Position of Cinematic_Varimathras) over 0.20 seconds
    Unit - Make Cinematic_Balnazzar face (Position of Cinematic_Varimathras) over 0.35 seconds
    Wait for L01Varimathras03 <gen> to be 3.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_03B_SylvAndKelz for (Picked player) over 4.00 seconds
    Wait 4.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Blue, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Sylvanas named Sylvanas Windrunner: Play L01Sylvanas04 <gen> and display The Legion was defeated months ago. How could they not know? . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas04 <gen> to be 2.50 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set Combat Sounds to 90.00%
    Sound - Set Animation and Spell Sounds to 90.00%
    Unit - Make Cinematic_Detheroc face (Position of Cinematic_Balnazzar) over 0.20 seconds
    Unit - Make Cinematic_Sylvanas face Cinematic_Kelthuzad over 0.30 seconds
    Wait 2.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Cinematic_Varimathras face (Position of Cinematic_Detheroc) over 0.20 seconds
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Kelthuzad named Kel'Thuzad: Play L01KelThuzad05 <gen> and display Impossible to say. But the longer they remain in command, the more they run the Scourge into the ground. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad05 <gen> to be 0.40 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set Music to 60.00%
    Unit - Make Cinematic_Balnazzar face (Center of CinArthasEntrance <gen>) over 0.20 seconds
    Unit - Make Cinematic_Detheroc face (Center of CinArthasEntrance <gen>) over 0.25 seconds
    Unit - Make Cinematic_Varimathras face (Center of CinArthasEntrance <gen>) over 0.30 seconds
    Unit - Order Cinematic_Arthas to Attack.Iron Gate 4780 <gen>
    Sound - Play Arthas' Theme.
    Wait 0.40 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_04_ArthasAtDoor for (Picked player) over 0 seconds
    Unit - Make Cinematic_Sylvanas face Cinematic_Arthas over 0.00 seconds
    Unit - Make Cinematic_Kelthuzad face Cinematic_Arthas over 0.00 seconds
    Unit - Order Cinematic_Balnazzar to Move To.(Center of Intro_Balnazzar_02 <gen>)
    Unit - Order Cinematic_Detheroc to Move To.(Center of Intro_Detheroc_02 <gen>)
    Unit - Order Cinematic_Varimathras to Move To.(Center of Intro_Varimathras_02 <gen>)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Blue, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Sylvanas named Sylvanas Windrunner: Play L01Sylvanas06 <gen> and display What? Who could possibly.... Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas06 <gen> to be 0.80 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Destructible - Kill Iron Gate 4780 <gen>
    Unit - Order Cinematic_Arthas to Move To.(Center of Intro_Arthas_01 <gen>)
    Sound - Play HorseLoop3 <gen> at 70.00% volume, attached to Cinematic_Arthas
    Wait 0.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Cinematic_Arthas to Move To.(Center of Intro_Arthas_02 <gen>)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set Animation and Spell Sounds to 100.00%
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_07A for (Picked player) over 0 seconds
    Unit - Make Cinematic_Balnazzar face (Center of Intro_Arthas_02 <gen>) over 0.20 seconds
    Unit - Make Cinematic_Detheroc face (Center of Intro_Arthas_02 <gen>) over 0.25 seconds
    Unit - Make Cinematic_Varimathras face (Center of Intro_Arthas_02 <gen>) over 0.30 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_07B for (Picked player) over ((Length of L01Arthas07 <gen>) + 2.00) seconds
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Arthas named King Arthas: Play L01Arthas07 <gen> and display Greetings, dreadlords. I should thank you for looking after my kingdom during my absence. However, I won't be requiring your services any longer. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas07 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Red, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Varimathras named Varimathras: Play L01Varimathras08 <gen> and display Prince Arthas!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Varimathras08 <gen> to be 0.20 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to BalnazaarColor, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Balnazzar named Balnazzar: Play L01Balnazzar09 <gen> and display This land is ours. The Scourge belongs to the Legion!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Balnazzar09 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_08 for (Picked player) over 0 seconds
    Player - Change color of Player 12 (Brown) to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Arthas named King Arthas: Play L01Arthas10 <gen> and display Not anymore, demon. Your masters have been defeated. The Legion is undone. Your deaths will complete the circle. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas10 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Detheroc named Detheroc: Play L01Detheroc11 <gen> and display Never! . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Detheroc11 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_09A_DreadlordsEsc for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_Intro_09B_DreadlordsEsc for (Picked player) over ((Length of L01Detheroc12 <gen>) + 6.00) seconds
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Detheroc named Detheroc: Play L01Detheroc12 <gen> and display This isn't over, human. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Detheroc12 <gen> to be 2.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Cinematic_Balnazzar's spell (animationname) animation
    Animation - Queue Cinematic_Balnazzar's spell slam (animationname) animation
    Wait 0.80 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Position of Cinematic_Balnazzar) using Abilities\Spells\Undead\DeathPact\DeathPactCaster.mdl
    Set VariableSet IntroEffect01A = (Last created special effect)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Position of Cinematic_Balnazzar) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
    Set VariableSet IntroEffect02A = (Last created special effect)
    Special Effect - Create a special effect at (Position of Cinematic_Detheroc) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
    Set VariableSet IntroEffect02B = (Last created special effect)
    Special Effect - Create a special effect at (Position of Cinematic_Varimathras) using Abilities\Spells\Items\VampiricPotion\VampPotionCaster.mdl
    Set VariableSet IntroEffect02C = (Last created special effect)
    Wait 2.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Cinematic_Balnazzar's Spell Slam (animationname) animation
    Animation - Play Cinematic_Detheroc's Spell Slam (animationname) animation
    Animation - Play Cinematic_Varimathras's Spell Slam (animationname) animation
    Trigger - Run Cin_DL_Fade_Out <gen> (checking conditions)
    Wait 1.00 seconds
    Special Effect - Create a special effect at (Position of Cinematic_Detheroc) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Set VariableSet IntroEffect03A = (Last created special effect)
    Special Effect - Create a special effect at (Position of Cinematic_Balnazzar) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Set VariableSet IntroEffect03B = (Last created special effect)
    Special Effect - Create a special effect at (Position of Cinematic_Varimathras) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Set VariableSet IntroEffect03C = (Last created special effect)
    Wait 2.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_10 for (Picked player) over 0 seconds
    Special Effect - Destroy IntroEffect01A
    Special Effect - Destroy IntroEffect02A
    Special Effect - Destroy IntroEffect02B
    Special Effect - Destroy IntroEffect02C
    Special Effect - Destroy IntroEffect03A
    Special Effect - Destroy IntroEffect03B
    Special Effect - Destroy IntroEffect03C
    Unit - Move Cinematic_Kelthuzad instantly to (Center of Intro_KelThuzad_01 <gen>)
    Unit - Order Cinematic_Kelthuzad to Move To.(Center of Intro_KelThuzad_02 <gen>)
    Unit - Move Cinematic_Sylvanas instantly to (Center of Intro_Sylvanas_01 <gen>)
    Unit - Order Cinematic_Sylvanas to Move To.(Center of Intro_Sylvanas_02 <gen>)
    Wait 1.00 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Kelthuzad named Kel'Thuzad: Play L01KelThuzad13 <gen> and display We knew you would return to us, Prince Arthas. . Modify duration: Add 0 seconds and Don't wait
    Sound - Setup all volume channels for speech
    Wait 0.30 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make Cinematic_Arthas face Cinematic_Kelthuzad over 0.30 seconds
    Wait for L01KelThuzad13 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Arthas named King Arthas: Play L01Arthas14 <gen> and display I have returned, lich, but you will now address me as King. This is, after all, my land. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas14 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.50 seconds
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_11A_VillagerLife for (Picked player) over 0 seconds
    Unit - Order (Random unit from (Units in CinVillager01A <gen>)) to Move To.(Center of CinVillager01B <gen>)
    Unit - Order (Random unit from (Units in CinVillager02A <gen>)) to Move To.(Center of CinVillager02B <gen>)
    Unit - Order (Random unit from (Units in CinVillager03A <gen>)) to Move To.(Center of CinVillager03B <gen>)
    Unit - Order (Random unit from (Units in CinVillager04A <gen>)) to Move To.(Center of CinVillager04B <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_11B_VillagerLife for (Picked player) over ((Length of L01Arthas15 <gen>) + ((Length of L01KelThuzad16 <gen>) + 1)) seconds
    Player - Change color of Player 12 (Brown) to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Arthas named King Arthas: Play L01Arthas15 <gen> and display Now, we must secure the kingdom by scouring the last remnants of humanity from it! . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas15 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Kelthuzad named Kel'Thuzad: Play L01KelThuzad16 <gen> and display But, my king, the humans have begun to abandon their villages.. Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad16 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order (Random unit from (Units in CinVillagerCanyon01 <gen>)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Order (Random unit from (Units in CinVillagerCanyon02 <gen>)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Order (Random unit from (Units in CinVillagerCanyon03 <gen>)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Order (Random unit from (Units in CinVillagerCanyon04 <gen>)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_Intro_12_Villagers_Escape for (Picked player) over 0 seconds
    Player - Change color of Player 12 (Brown) to Green, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Kelthuzad named Kel'Thuzad: Play L01KelThuzad17 <gen> and display They're fleeing to the canyon passes! If they escape into the mountains, it will be impossible to hunt them all down. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad17 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Player - Change color of Player 12 (Brown) to Purple, Retaining color of existing units
    Cinematic - Send transmission to (All players) from Cinematic_Arthas named King Arthas: Play L01Arthas18 <gen> and display Then we must slaughter them before they escape! Their deaths will be a fitting tribute to Ner'zhul! . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas18 <gen> to be 0.00 seconds from finished playing
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Intro_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set VariableSet InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
Intro Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 10 (Light Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet IntroSkipped = True
    -------- Fade Out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Cleanup --------
    Trigger - Run Intro_Cleanup <gen> (checking conditions)
    -------- Start AI, Let AI Settle Down --------
    Trigger - Run Start_AI <gen> (checking conditions)
    Wait 1.00 seconds
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    -------- Start Game --------
    Trigger - Run Gameplay <gen> (checking conditions)
    Set VariableSet InCinematic = False
    Trigger - Remove Intro_Cinematic_Q <gen> from the trigger queue
Intro Setup
  Events
  Conditions
  Actions
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Winter Sky
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas.
    Hero - Disable experience gain for Sylvanas.
    Hero - Disable experience gain for Kelthuzad.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Cinematic_Arthas
    Unit - Unpause Cinematic_Balnazzar
    Unit - Unpause Cinematic_Detheroc
    Unit - Unpause Cinematic_Kelthuzad
    Unit - Unpause Cinematic_Sylvanas
    Unit - Unpause Cinematic_Varimathras
    -------- Create Villagers --------
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of CinVillager01A <gen>) facing (Center of CinVillager01B <gen>)
    Unit - Set (Last created unit) movement speed to CinVillagerMoveSpeed
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of CinVillager02A <gen>) facing (Center of CinVillager02B <gen>)
    Unit - Set (Last created unit) movement speed to CinVillagerMoveSpeed
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Militia for P12_CinematicUnits at (Center of CinVillager03A <gen>) facing (Center of CinVillager03B <gen>)
    Unit - Set (Last created unit) movement speed to CinVillagerMoveSpeed
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of CinVillager04A <gen>) facing (Center of CinVillager04B <gen>)
    Unit - Set (Last created unit) movement speed to CinVillagerMoveSpeed
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Villager (Male) for P12_CinematicUnits at (Center of CinVillager05_Stand <gen>) facing (Center of KelzPathPoint04_A <gen>)
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Villager (Male) for P12_CinematicUnits at (Center of CinVillagerCanyon01 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Footman for P12_CinematicUnits at (Center of CinVillagerCanyon02 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of CinVillagerCanyon03 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit Group - Add (Last created unit) to CinematicVillagers
    Unit - Create 1 Militia for P12_CinematicUnits at (Center of CinVillagerCanyon04 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit Group - Add (Last created unit) to CinematicVillagers
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units in (Playable map area))
    Unit Group - Remove all units of (Units owned by P12_CinematicUnits.) from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
Intro Cleanup
  Events
  Conditions
  Actions
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by P12_CinematicUnits.) and do (Remove (Picked unit) from the game)
    Unit Group - Pick every unit in CinematicVillagers and do (Remove (Picked unit) from the game)
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle On
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas.) else do (Do nothing)
    If (ExpDisabledForKelthuzad Equal to False) then do (Enable experience gain for Kelthuzad.) else do (Do nothing)
    If (ExpDisabledForSylvanas Equal to False) then do (Enable experience gain for Sylvanas.) else do (Do nothing)
    -------- Restore Selection --------
    Selection - Select Arthas for AP01_Player
    Selection - Select Sylvanas for AP10_Player
    -------- 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 AP01_Player to (Center of Gameplay_Start_Arthas <gen>) over 0 seconds
    Camera - Pan camera for AP10_Player to (Center of Gameplay_Start_Sylvanas <gen>) over 0 seconds
    -------- Wipe Visibility --------
    Player Group - Pick every player in (All players) and do (Actions)
      Loop - Actions
        Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Black mask across (Playable map area)
        Visibility - Destroy (Last created visibility modifier)
    -------- Brown is Brown --------
    Player - Change color of Player 12 (Brown) to Brown, Retaining color of existing units
Gameplay
  Events
  Conditions
  Actions
    -------- Do initial gameplay stuff, like quest messages and hints --------
    -------- The Timers --------
    -------- Arthas Timers --------
    Countdown Timer - Start ArthasVillageDTimer as a One-shot timer that will expire in 30.00 seconds
    Countdown Timer - Start ArthasMovementInsuranceTimer as a One-shot timer that will expire in 5.00 seconds
    -------- Kelz Timers --------
    Countdown Timer - Start KelzVillageDTimer as a One-shot timer that will expire in 90.00 seconds
    Countdown Timer - Start KelzMovementInsuranceTime as a One-shot timer that will expire in 7.00 seconds
    -------- Sylvanas Timers --------
    Countdown Timer - Start SylvanasVillageDTimer as a One-shot timer that will expire in 150.00 seconds
    Countdown Timer - Start SylvMovementInsuranceTimer as a One-shot timer that will expire in 9.00 seconds
    -------- Quests --------
    Wait 5.00 seconds
    Trigger - Add Quest_Slaughter_Discover_Q <gen> to the trigger queue (Checking conditions)
    -------- Hints --------
    Wait 15.00 seconds
    Trigger - Add Hint_Three_Sides <gen> to the trigger queue (Checking conditions)
Cin DL Fade Out
  Events
    Time - FadeCountDownTimer expires
  Conditions
  Actions
    If (IntroSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change Cinematic_Detheroc's vertex coloring to (100%, 100%, 100%) with AlphaOutReal% transparency
    Animation - Change Cinematic_Balnazzar's vertex coloring to (100%, 100%, 100%) with AlphaOutReal% transparency
    Animation - Change Cinematic_Varimathras's vertex coloring to (100%, 100%, 100%) with AlphaOutReal% transparency
    Set VariableSet AlphaOutReal = (AlphaOutReal + 5.00)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        AlphaOutReal Greater than or equal to 100.00
      Then - Actions
        Unit - Remove Cinematic_Balnazzar from the game
        Unit - Remove Cinematic_Detheroc from the game
        Unit - Remove Cinematic_Detheroc from the game
      Else - Actions
        Countdown Timer - Start FadeCountDownTimer as a One-shot timer that will expire in 0.10 seconds
Cin Villagers Remove
  Events
    Unit - A unit enters CinVillagerCanyonGOHERE <gen>
  Conditions
    (Owner of (Entering unit)) Equal to P12_CinematicUnits
  Actions
    Unit - Remove (Entering unit) from the game
This is run by Slaughter Quest Update.
MidCinArthas Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    If (GameOver Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Run MidCinArthas_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_MidCinArthas_01_ArthasQuizical 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 MidCinArthas_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Unit - Order Arthas to Move To.(Center of MidCinArthas_Move <gen>)
    Sound - Play HorseLoop2 <gen> at 70.00% volume, attached to Arthas
    Wait 3.00 seconds
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Arthas's death (animationname) animation
    Animation - Change Arthas's animation speed to 5.00% of its original speed
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas26 <gen> and display Aarrghh... The pain is unbearable. What is happening to me? . Modify duration: Add 0 seconds and Don't wait
    Cinematic - Apply a filter over 2 seconds using Modulated blending on texture White Mask, starting with color (100%, 0.00%, 0.00%) and 100% transparency and ending with color (100.00%, 0%, 0%) and 10.00% transparency
    Wait for L01Arthas26 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.50 seconds
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Change Arthas's animation speed to 100% of its original speed
    Animation - Reset Arthas's animation
    Environment - Set fog to style Linear, z-start 700.00, z-end 900.00, density 0 and color (0.00%, 0.00%, 100%)
    Cinematic - Apply a filter over 0.00 seconds using Normal blending on texture Dream, starting with color (0.00%, 0.00%, 100%) and 15.00% transparency and ending with color (0%, 0%, 100.00%) and 15.00% transparency
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_MidCinArthas_02A_OMGLichKing for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_MidCinArthas_02B_MoreLichKing for (Picked player) over ((Length of L01LichKing27 <gen>) + 1.50) seconds
    Cinematic - Send transmission to (All players) from a Player 1 (Red).Lich King (cinematic campaign unit) named The Lich King at (Center of (Playable map area)): Play L01LichKing27 <gen> and display Danger draws near! Power is fading. Time is running out! . Modify duration: Add 0 seconds and Don't wait
    Wait for L01LichKing27 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Environment - Reset fog to default values
    Set VariableSet StopSeizures = True
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_MidCinArthas_03a_BackToArthas for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_MidCinArthas_03b_Kelz for (Picked player) over ((Length of L01KelThuzad28 <gen>) + ((Length of L01Arthas29 <gen>) + ((Length of L01KelThuzad30 <gen>) + 1))) seconds
    Cinematic - Fade in over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Unit - Order Kelthuzad to Move To.(Center of MidCinArthas_KelzMove <gen>)
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad28 <gen> and display King Arthas, do you need assistance? . Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad28 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas29 <gen> and display No. The pain has passed, but my powers are diminished. Something is terribly wrong here.. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas29 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad30 <gen> and display Shall we recall our forces? . Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad30 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_MidCinArthas_04_ArthasAsserts for AP01_Player over 0 seconds
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas31 <gen> and display No. I will finish the hunt. We'll solve this mystery once our business is done. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas31 <gen> to be 0 seconds from finished playing
    If (MidCinArthasSkippedBoo 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 MidCinArthas_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 MidCinArthas_Cleanup <gen> (checking conditions)
    Cinematic - Turn cinematic mode Off for APG1_Player
    -------- Fade In --------
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Quest update --------
    Set VariableSet InCinematic = False
    Trigger - Remove (This trigger) from the trigger queue
MidCinArthas Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 10 (Light Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet MidCinArthasSkippedBoo = True
    Set VariableSet StopSeizures = 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 MidCinArthas_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
    Set VariableSet InCinematic = False
    Trigger - Remove MidCinArthas_Q <gen> from the trigger queue
MidCinArthas Setup
  Events
  Conditions
  Actions
    -------- CameraBounds --------
    Camera - Set the camera bounds for AP01_Player to (Entire map)
    -------- Reset Triggers --------
    Trigger - Turn on ArthasTurn <gen>
    Set VariableSet StopSeizures = False
    -------- Disable Auras --------
    Player - Disable Unholy Aura for AP01_Player
    -------- STOP ALL TIMERS --------
    Countdown Timer - Pause ArthasMovementInsuranceTimer
    Countdown Timer - Pause ArthasVillageATimer
    Countdown Timer - Pause ArthasVillageBTimer
    Countdown Timer - Pause ArthasVillageCTimer
    Countdown Timer - Pause ArthasVillageDTimer
    Countdown Timer - Pause CombatCheckTimer
    Countdown Timer - Pause FadeCountDownTimer
    Countdown Timer - Pause KelzMovementInsuranceTime
    Countdown Timer - Pause KelzVillageATimer
    Countdown Timer - Pause KelzVillageBTimer
    Countdown Timer - Pause KelzVillageCTimer
    Countdown Timer - Pause KelzVillageDTimer
    Countdown Timer - Pause Pal01HalahkCombatTimer
    Countdown Timer - Pause Pal02MagrothCombatTimer
    Countdown Timer - Pause Pal03DagrenCombatTimer
    Countdown Timer - Pause Paladin01HalahkKnightTimer
    Countdown Timer - Pause Paladin02MagrothKnightTimer
    Countdown Timer - Pause Paladin03DagrenKnightTimer
    Countdown Timer - Pause SylvMovementInsuranceTimer
    Countdown Timer - Pause SylvanasVillageATimer
    Countdown Timer - Pause SylvanasVillageBTimer
    Countdown Timer - Pause SylvanasVillageCTimer
    Countdown Timer - Pause SylvanasVillageDTimer
    -------- Pause Time Of Day --------
    Set VariableSet GameTimeOfDay = (In-game time of day)
    Game - Turn the day/night cycle Off
    Game - Set the time of day to 12.00
    -------- Hide Leaderboard --------
    Leaderboard - Hide LeaderboardVillagers
    -------- Save Camera Position --------
    Set VariableSet CameraReturnPoint = (Target of current camera view)
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Save Selection --------
    Set VariableSet SelectedUnitsPlayer1 = (Units currently selected by AP01_Player)
    Set VariableSet SelectedUnitsPlayer2 = (Units currently selected by AP10_Player)
    Selection - Clear selection for AP01_Player.
    Selection - Clear selection for AP10_Player.
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Arthas
    Set VariableSet RevivalSpot = (Center of MidCinArthas_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet ArthasReturnSpot = RevivalReturnSpot
    Unit - Make Arthas face (Center of MidCinArthas_Move <gen>) over 0 seconds
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Kelthuzad
    Set VariableSet RevivalSpot = (Center of MidCinArthas_KelzStart <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet KelThuzadReturnSpot = RevivalReturnSpot
    Unit - Make Kelthuzad face Arthas over 0 seconds
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas.
    Hero - Disable experience gain for Kelthuzad.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Arthas
    Unit - Unpause Kelthuzad
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP01_Player.)
    Unit Group - Add all units of (Units owned by AP09_Player.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP10_Player.) to HiddenUnits
    Unit Group - Remove Arthas from HiddenUnits.
    Unit Group - Remove Kelthuzad from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Remove Buffs --------
    Unit - Remove All buffs from Arthas
    Unit - Remove All buffs from Kelthuzad
    -------- Music Theme --------
    Sound - Play Lich King's Theme.
MidCinArthas Cleanup
  Events
  Conditions
  Actions
    -------- START ALL TIMERS --------
    If ((Remaining time for ArthasMovementInsuranceTimer) Not equal to 0.00) then do (Resume ArthasMovementInsuranceTimer) else do (Do nothing)
    If ((Remaining time for ArthasVillageATimer) Not equal to 0.00) then do (Resume ArthasVillageATimer) else do (Do nothing)
    If ((Remaining time for ArthasVillageBTimer) Not equal to 0.00) then do (Resume ArthasVillageBTimer) else do (Do nothing)
    If ((Remaining time for ArthasVillageCTimer) Not equal to 0.00) then do (Resume ArthasVillageCTimer) else do (Do nothing)
    If ((Remaining time for ArthasVillageDTimer) Not equal to 0.00) then do (Resume ArthasVillageDTimer) else do (Do nothing)
    If ((Remaining time for CombatCheckTimer) Not equal to 0.00) then do (Resume CombatCheckTimer) else do (Do nothing)
    If ((Remaining time for FadeCountDownTimer) Not equal to 0.00) then do (Resume FadeCountDownTimer) else do (Do nothing)
    If ((Remaining time for KelzMovementInsuranceTime) Not equal to 0.00) then do (Resume KelzMovementInsuranceTime) else do (Do nothing)
    If ((Remaining time for KelzVillageATimer) Not equal to 0.00) then do (Resume KelzVillageATimer) else do (Do nothing)
    If ((Remaining time for KelzVillageBTimer) Not equal to 0.00) then do (Resume KelzVillageBTimer) else do (Do nothing)
    If ((Remaining time for KelzVillageCTimer) Not equal to 0.00) then do (Resume KelzVillageCTimer) else do (Do nothing)
    If ((Remaining time for KelzVillageDTimer) Not equal to 0.00) then do (Resume KelzVillageDTimer) else do (Do nothing)
    If ((Remaining time for Pal01HalahkCombatTimer) Not equal to 0.00) then do (Resume Pal01HalahkCombatTimer) else do (Do nothing)
    If ((Remaining time for Pal02MagrothCombatTimer) Not equal to 0.00) then do (Resume Pal02MagrothCombatTimer) else do (Do nothing)
    If ((Remaining time for Pal03DagrenCombatTimer) Not equal to 0.00) then do (Resume Pal03DagrenCombatTimer) else do (Do nothing)
    If ((Remaining time for Paladin01HalahkKnightTimer) Not equal to 0.00) then do (Resume Paladin01HalahkKnightTimer) else do (Do nothing)
    If ((Remaining time for Paladin02MagrothKnightTimer) Not equal to 0.00) then do (Resume Paladin02MagrothKnightTimer) else do (Do nothing)
    If ((Remaining time for Paladin03DagrenKnightTimer) Not equal to 0.00) then do (Resume Paladin03DagrenKnightTimer) else do (Do nothing)
    If ((Remaining time for SylvMovementInsuranceTimer) Not equal to 0.00) then do (Resume SylvMovementInsuranceTimer) else do (Do nothing)
    If ((Remaining time for SylvanasVillageATimer) Not equal to 0.00) then do (Resume SylvanasVillageATimer) else do (Do nothing)
    If ((Remaining time for SylvanasVillageBTimer) Not equal to 0.00) then do (Resume SylvanasVillageBTimer) else do (Do nothing)
    If ((Remaining time for SylvanasVillageCTimer) Not equal to 0.00) then do (Resume SylvanasVillageCTimer) else do (Do nothing)
    If ((Remaining time for SylvanasVillageDTimer) Not equal to 0.00) then do (Resume SylvanasVillageDTimer) else do (Do nothing)
    -------- Enable Auras --------
    Player - Enable Unholy Aura for AP01_Player
    -------- Show Leaderboard --------
    Leaderboard - Show LeaderboardVillagers
    -------- Unhide Units --------
    Unit Group - Pick every unit in HiddenUnits and do (Unhide (Picked unit))
    -------- Unpause Units --------
    Unit - Unpause all units
    -------- Unpause Time Of Day --------
    Game - Turn the day/night cycle On
    Game - Set the time of day to GameTimeOfDay
    -------- Re-enable XP Gain --------
    If (ExpDisabledForArthas Equal to False) then do (Enable experience gain for Arthas.) else do (Do nothing)
    If (ExpDisabledForKelthuzad Equal to False) then do (Enable experience gain for Kelthuzad.) else do (Do nothing)
    -------- Return Heroes --------
    Animation - Change Arthas's animation speed to 100% of its original speed
    Animation - Reset Arthas's animation
    Hero - Set Arthas Hero-level to 9, Hide level-up graphics
    Hero - Create Tome of Retraining and give it to Arthas
    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 Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Death Pact
    Hero - Learn skill for Arthas: Undead Death Knight - Death Coil
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Unholy Aura
    Hero - Learn skill for Arthas: Undead Death Knight - Animate Dead
    Unit - Move Arthas instantly to ArthasReturnSpot
    Unit - Move Kelthuzad instantly to KelThuzadReturnSpot
    -------- Restore Selection --------
    Selection - Select SelectedUnitsPlayer1 for AP01_Player
    Selection - Select SelectedUnitsPlayer2 for AP10_Player
    -------- Reset Sky --------
    Environment - Reset fog to default values
    Environment - Set sky to None
    -------- Reset Camera --------
    Camera - Reset camera smoothing factor
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Reset camera for (Picked player) to standard game-view over 0 seconds
        Camera - Pan camera for (Picked player) to CameraReturnPoint over 0 seconds
    -------- CameraBounds --------
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Set the camera bounds for (Picked player) to (Initial camera bounds)
ArthasTurn
  Events
    Unit - A unit enters MidCinArthas_Move <gen>
  Conditions
    (Entering unit) Equal to Arthas
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.80 seconds
    Unit - Make Arthas face (Center of MidCinArthas_Start <gen>) over 0.30 seconds
Add MidCinArthas
  Events
  Conditions
    ((This trigger) is on) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add MidCinArthas_Q <gen> to the trigger queue (Checking conditions)
Seizures
  Events
    Time - FadeCountDownTimer expires
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        StopSeizures Equal to True
      Then - Actions
      Else - Actions
        Cinematic - Fade in over 0.05 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
        Countdown Timer - Start FadeCountDownTimer as a One-shot timer that will expire in 0.05 seconds
Victory Cinematic Q
  Events
  Conditions
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Victory_Setup <gen> (checking conditions)
    -------- Save Hero Data as Text Files --------
    Trigger - Run SaveCodeEtc01 <gen> (checking conditions)
    Trigger - Run SaveCodeEtc02 <gen> (checking conditions)
    Wait 2.50 seconds
    Unit Group - Pick every unit in CanniGroup and do (Actions)
      Loop - Actions
        Unit - Order (Picked unit) to Undead Ghoul - Cannibalize.
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_VictoryCin_01A for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_VictoryCin_01B for (Picked player) over ((Length of L01Arthas42 <gen>) + 1.00) seconds
    -------- Fade In --------
    Cinematic - Fade in over 2.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 --------
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas42 <gen> and display At last, the Alliance is finished! Once we round up the last stragglers, we should be-- . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas42 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play Arthas's death (animationname) animation
    Animation - Change Arthas's animation speed to 5.00% of its original speed
    Unit Group - Pick every unit in CanniGroup and do (Actions)
      Loop - Actions
        Animation - Change (Picked unit)'s animation speed to 5.00% of its original speed
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas43 <gen> and display Aarrghh... Not again!. 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_VictoryCin_01C_CloseupARthas for (Picked player) over 2.00 seconds
    Cinematic - Apply a filter over 2 seconds using Modulated blending on texture White Mask, starting with color (100%, 0.00%, 0.00%) and 100% transparency and ending with color (100.00%, 0%, 0%) and 10.00% transparency
    Wait for L01Arthas43 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2.00 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Apply a filter over 0.00 seconds using Normal blending on texture Dream, starting with color (0.00%, 0.00%, 100%) and 15.00% transparency and ending with color (0%, 0%, 100.00%) and 15.00% transparency
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_VictoryCin_02A_LichkingPanQuick for (Picked player) over 0 seconds
    Environment - Set fog to style Linear, z-start 700.00, z-end 900.00, density 0 and color (0.00%, 0.00%, 100%)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_VictoryCin_02B_LichkingPanQuick for (Picked player) over 1.50 seconds
    Wait 1.50 seconds
    If (VictorySkipped 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 - Sway the camera source for (Picked player) with magnitude 10 and velocity 0.1
    Countdown Timer - Start CameraSwitchTimer1 as a One-shot timer that will expire in 0.10 seconds
    Cinematic - Send transmission to (All players) from a Player 1 (Red).Lich King (cinematic campaign unit) named The Lich King at (Center of (Playable map area)): Play L01LichKing44 <gen> and display It is I, the Lich King. Danger draws near the Frozen Throne! You must return to Northrend immediately! Obey!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01LichKing44 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - Stop swaying/shaking the camera for (Picked player).
    Environment - Reset fog to default values
    Animation - Change Arthas's animation speed to 100% of its original speed
    Animation - Reset Arthas's animation
    Unit Group - Pick every unit in CanniGroup and do (Actions)
      Loop - Actions
        Animation - Change (Picked unit)'s animation speed to 100% of its original speed
        Animation - Reset (Picked unit)'s animation
    Unit - Make Kelthuzad face Arthas over 0.20 seconds
    Unit - Make Arthas face (Center of VicCin_Corpse09 <gen>) over 0.40 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_VictoryCin_03_KelzWorried for (Picked player) over 0 seconds
        Camera - .Apply. gg_cam_VictoryCin_04_ArthasAok for (Picked player) over ((Length of L01KelThuzad45 <gen>) + ((Length of L01Arthas46 <gen>) + 3.00)) seconds
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad45 <gen> and display My king, you are not well. . Modify duration: Add 0 seconds and Don't wait
    Wait 1.20 seconds
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Lock Arthas's Head to face Kelthuzad, offset by (0, 0, 200.00)
    Wait for L01KelThuzad45 <gen> to be 0 seconds from finished playing
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas46 <gen> and display Take me back to the capital. I have a long journey ahead of me. . Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas46 <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 10 (Light Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet VictorySkipped = True
    Set VariableSet StopSeizures = 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
    -------- Camera Bounds Out --------
    Camera - Set the camera bounds for AP01_Player to (Entire map)
    Camera - Set the camera bounds for AP10_Player to (Entire map)
    -------- STOP ALL TIMERS --------
    Countdown Timer - Pause ArthasMovementInsuranceTimer
    Countdown Timer - Pause ArthasVillageATimer
    Countdown Timer - Pause ArthasVillageBTimer
    Countdown Timer - Pause ArthasVillageCTimer
    Countdown Timer - Pause ArthasVillageDTimer
    Countdown Timer - Pause CombatCheckTimer
    Countdown Timer - Pause FadeCountDownTimer
    Countdown Timer - Pause KelzMovementInsuranceTime
    Countdown Timer - Pause KelzVillageATimer
    Countdown Timer - Pause KelzVillageBTimer
    Countdown Timer - Pause KelzVillageCTimer
    Countdown Timer - Pause KelzVillageDTimer
    Countdown Timer - Pause Pal01HalahkCombatTimer
    Countdown Timer - Pause Pal02MagrothCombatTimer
    Countdown Timer - Pause Pal03DagrenCombatTimer
    Countdown Timer - Pause Paladin01HalahkKnightTimer
    Countdown Timer - Pause Paladin02MagrothKnightTimer
    Countdown Timer - Pause Paladin03DagrenKnightTimer
    Countdown Timer - Pause SylvMovementInsuranceTimer
    Countdown Timer - Pause SylvanasVillageATimer
    Countdown Timer - Pause SylvanasVillageBTimer
    Countdown Timer - Pause SylvanasVillageCTimer
    Countdown Timer - Pause SylvanasVillageDTimer
    -------- Disable Auras --------
    Player - Disable Unholy Aura for AP01_Player
    -------- Hide Leaderboard --------
    Leaderboard - Hide LeaderboardVillagers
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    Game - Set the time of day to 12.00
    -------- Clear Selection --------
    Selection - Clear selection
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Arthas
    Set VariableSet RevivalSpot = (Center of VicCin_ArthasStart <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet ArthasReturnSpot = RevivalReturnSpot
    Unit - Make Arthas face (Center of VicCin_KelThuzadStart <gen>) over 0 seconds
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Kelthuzad
    Set VariableSet RevivalSpot = (Center of VicCin_KelThuzadStart <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet KelThuzadReturnSpot = RevivalReturnSpot
    Unit - Make Kelthuzad face Arthas over 0 seconds
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas.
    Hero - Disable experience gain for Kelthuzad.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Arthas
    Unit - Unpause Kelthuzad
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP01_Player.)
    Unit Group - Add all units of (Units owned by AP09_Player.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP10_Player.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P02_Villagers1.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_Villagers2.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_Villagers3.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_Paladin1.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_Paladin3.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_Paladin2.) to HiddenUnits
    Unit Group - Remove Arthas from HiddenUnits.
    Unit Group - Remove Kelthuzad from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Fleshy Corpses For End Cinematic --------
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse01 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse02 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse03 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse04 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse05 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse06 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse07 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse08 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse09 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse10 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse11 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse12 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse13 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse14 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse15 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse16 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse17 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse18 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse19 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit - Create 1.Villager (Male) for P12_CinematicUnits at (Center of VicCin_Corpse20 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit Group - Add (Last created unit) to FleshyCorpses
    Unit Group - Pick every unit in FleshyCorpses and do (Actions)
      Loop - Actions
        Unit - Kill (Picked unit)
    -------- Remove Buffs --------
    Unit Group - Pick every unit in (Units owned by AP01_Player.) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP10_Player.) and do (Remove All buffs from (Picked unit))
    -------- Create Ghouls --------
    Unit - Create 1.Ghoul for AP01_Player at (Center of VicCin_GhoulMunch01 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit - Set life of (Last created unit) to 1.00%
    Unit Group - Add (Last created unit) to CanniGroup
    Unit - Create 1.Ghoul for AP01_Player at (Center of VicCin_GhoulMunch02 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit - Set life of (Last created unit) to 1.00%
    Unit Group - Add (Last created unit) to CanniGroup
    Unit - Create 1.Ghoul for AP01_Player at (Center of VicCin_GhoulMunch03 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit - Set life of (Last created unit) to 1.00%
    Unit Group - Add (Last created unit) to CanniGroup
    Unit - Create 1.Ghoul for AP01_Player at (Center of VicCin_GhoulMunch04 <gen>) facing (Random real number between 0 and 360.00) degrees
    Unit - Set life of (Last created unit) to 1.00%
    Unit Group - Add (Last created unit) to CanniGroup
    -------- Music Theme --------
    Sound - Play Lich King's Theme.
SeizuresPartTwoA
  Events
    Time - CameraSwitchTimer1 expires
  Conditions
  Actions
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        StopSeizures Equal to True
      Then - Actions
      Else - Actions
        Player Group - Pick every player in APG1_Player and do (Actions)
          Loop - Actions
            Camera - .Apply. gg_cam_VictoryCin_LichTest1 for (Picked player) over 0 seconds
        Countdown Timer - Start CameraSwitchTimer2 as a One-shot timer that will expire in 0.10 seconds
SeizuresPartTwoB
  Events
    Time - CameraSwitchTimer2 expires
  Conditions
  Actions
    If (VictorySkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        StopSeizures Equal to True
      Then - Actions
      Else - Actions
        Player Group - Pick every player in APG1_Player and do (Actions)
          Loop - Actions
            Camera - .Apply. gg_cam_VictoryCin_LichTest2 for (Picked player) over 0 seconds
        Countdown Timer - Start CameraSwitchTimer1 as a One-shot timer that will expire in 0.10 seconds
Failure Cinematic Q
  Events
  Conditions
  Actions
    Set VariableSet InCinematic = True
    -------- Fade Out --------
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    -------- Set Up Scene --------
    Cinematic - Turn cinematic mode On for APG1_Player
    Wait 0.25 seconds
    Trigger - Run Failure_Setup <gen> (checking conditions)
    Wait 0.25 seconds
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_FailureCin_01a_Arthas_Chase_Kelz for (Picked player) over 0 seconds
    Unit - Order (Random unit from (Units in FailCin_VillagerRun01 <gen> owned by P12_CinematicUnits)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Order (Random unit from (Units in FailCin_VillagerRun02 <gen> owned by P12_CinematicUnits)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Order (Random unit from (Units in FailCin_VillagerRun03 <gen> owned by P12_CinematicUnits)) to Move To.(Center of CinVillagerCanyonGOHERE <gen>)
    Player Group - Pick every player in APG1_Player and do (Actions)
      Loop - Actions
        Camera - .Apply. gg_cam_FailureCin_01b for (Picked player) over ((Length of L01KelThuzad40 <gen>) + 6.00) 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 Failure_Skipped <gen>
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC BEGINS - Cinematic Can Now Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Unit - Order Arthas to Move To.(Center of FailCin_ArthasChase <gen>)
    Sound - Play HorseLoop3 <gen> at 70.00% volume, attached to Arthas
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad40 <gen> and display King Arthas, the humans have made it through the pass. Now there's no way to stop them from reaching sanctuary. . Modify duration: Add 0 seconds and Don't wait
    Unit - Order Kelthuzad to Move To.(Center of FailCin_Kelz_Stop <gen>)
    Wait for L01KelThuzad40 <gen> to be 1.50 seconds from finished playing
    If (FailureSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Stop HorseLoop3 <gen> After fading
    Wait for L01KelThuzad40 <gen> to be 0 seconds from finished playing
    If (FailureSkipped 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_FailureCin_02_Arthas_Angry for (Picked player) over 0 seconds
    Unit - Order Arthas to Stop.
    Unit - Make Arthas face (Center of FailCin_ArthasFacing <gen>) over 0.30 seconds
    Unit - Make Kelthuzad face Arthas over 0.20 seconds
    Wait 1.20 seconds
    If (FailureSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Lock Arthas's Head to face Kelthuzad, offset by (0, 0, 120.00)
    Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas41 <gen> and display Then we've failed, lich. Return to the capital. Someone will pay dearly for this!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Arthas41 <gen> to be 0 seconds from finished playing
    If (FailureSkipped Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Reset Arthas's body-part facing
    Unit - Order Arthas to Move To.(Center of FailCin_Run_Off <gen>)
    Sound - Play HorseLoop1 <gen> at 70.00% volume, attached to Arthas
    Unit - Order Kelthuzad to Move To.(Center of FailCin_Run_Off <gen>)
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    -------- CINEMATIC ENDS - Cinematic Can No Longer Be Skipped --------
    -------- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --------
    Trigger - Turn off Failure_Skipped <gen>
    -------- Fade Out --------
    Cinematic - Fade out over 2.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    Sound - Stop HorseLoop1 <gen> After fading
    Wait 1.50 seconds
    Game - Defeat AP01_Player with the message: Defeat!
    Game - Defeat AP10_Player with the message: Defeat!
Failure Skipped
  Events
    Player - Player 4 (Purple) skips a cinematic sequence
    Player - Player 10 (Light Blue) skips a cinematic sequence
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet FailureSkipped = 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
    Game - Defeat AP01_Player with the message: Defeat!
    Game - Defeat AP10_Player with the message: Defeat!
Failure Setup
  Events
  Conditions
  Actions
    -------- STOP ALL TIMERS --------
    Countdown Timer - Pause ArthasMovementInsuranceTimer
    Countdown Timer - Pause ArthasVillageATimer
    Countdown Timer - Pause ArthasVillageBTimer
    Countdown Timer - Pause ArthasVillageCTimer
    Countdown Timer - Pause ArthasVillageDTimer
    Countdown Timer - Pause CombatCheckTimer
    Countdown Timer - Pause FadeCountDownTimer
    Countdown Timer - Pause KelzMovementInsuranceTime
    Countdown Timer - Pause KelzVillageATimer
    Countdown Timer - Pause KelzVillageBTimer
    Countdown Timer - Pause KelzVillageCTimer
    Countdown Timer - Pause KelzVillageDTimer
    Countdown Timer - Pause Pal01HalahkCombatTimer
    Countdown Timer - Pause Pal02MagrothCombatTimer
    Countdown Timer - Pause Pal03DagrenCombatTimer
    Countdown Timer - Pause Paladin01HalahkKnightTimer
    Countdown Timer - Pause Paladin02MagrothKnightTimer
    Countdown Timer - Pause Paladin03DagrenKnightTimer
    Countdown Timer - Pause SylvMovementInsuranceTimer
    Countdown Timer - Pause SylvanasVillageATimer
    Countdown Timer - Pause SylvanasVillageBTimer
    Countdown Timer - Pause SylvanasVillageCTimer
    Countdown Timer - Pause SylvanasVillageDTimer
    -------- Disable Auras --------
    Player - Disable Unholy Aura for AP01_Player
    -------- Hide Leaderboard --------
    Leaderboard - Hide LeaderboardVillagers
    -------- Set Sky --------
    Environment - Set sky to Lordaeron Summer Sky
    -------- Clear Selection --------
    Selection - Clear selection
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Arthas
    Set VariableSet RevivalSpot = (Center of FailCin_ArthasStart <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet ArthasReturnSpot = RevivalReturnSpot
    Unit - Make Arthas face (Center of FailCin_VillagerRun01 <gen>) over 0 seconds
    -------- Revive Hero --------
    Set VariableSet RevivalHero = Kelthuzad
    Set VariableSet RevivalSpot = (Center of FailCin_Kelz_Start <gen>)
    Trigger - Run Cinematic_Revival <gen> (checking conditions)
    Set VariableSet KelThuzadReturnSpot = RevivalReturnSpot
    Unit - Make Kelthuzad face Arthas over 0 seconds
    -------- Disable XP Gain --------
    Hero - Disable experience gain for Arthas.
    Hero - Disable experience gain for Kelthuzad.
    -------- Pause Time Of Day --------
    Game - Turn the day/night cycle Off
    -------- Pause Units --------
    Unit - Pause all units
    Unit - Unpause Arthas
    Unit - Unpause Kelthuzad
    -------- Hide Units --------
    Set VariableSet HiddenUnits = (Units owned by AP01_Player.)
    Unit Group - Add all units of (Units owned by AP09_Player.) to HiddenUnits
    Unit Group - Add all units of (Units owned by AP10_Player.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P02_Villagers1.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P03_Villagers2.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P04_Villagers3.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P05_Paladin1.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P06_Paladin3.) to HiddenUnits
    Unit Group - Add all units of (Units owned by P07_Paladin2.) to HiddenUnits
    Unit Group - Remove Arthas from HiddenUnits.
    Unit Group - Remove Kelthuzad from HiddenUnits.
    Unit Group - Pick every unit in HiddenUnits and do (Hide (Picked unit))
    -------- Create Villagers --------
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of FailCin_VillagerRun01 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit - Set (Last created unit) movement speed to 230.00
    Unit - Create 1 Villager (Male) for P12_CinematicUnits at (Center of FailCin_VillagerRun02 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit - Set (Last created unit) movement speed to 230.00
    Unit - Create 1 Villager (Male 2) for P12_CinematicUnits at (Center of FailCin_VillagerRun03 <gen>) facing (Center of CinVillagerCanyonGOHERE <gen>)
    Unit - Turn collision for (Last created unit) Off.
    Unit - Set (Last created unit) movement speed to 230.00
    -------- Remove Buffs --------
    Unit Group - Pick every unit in (Units owned by AP01_Player.) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by AP10_Player.) and do (Remove All buffs from (Picked unit))
    -------- Music Theme --------
    Sound - Play Lich King's Theme.
Next Level Run
  Events
  Conditions
  Actions
    -------- Set Next Level and Victory --------
    Game - Victory AP01_Player (Show dialogs, Show scores)
    Game - Victory AP10_Player (Show dialogs, Show scores)
Quest Slaughter 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 Slaughter Human Refugees with the description There are several bands of Human refugees attempting to escape to the recently captured city of Dalaran. Rout them and burn down their pathetic villages and encampments to show them the folly of trying to escape Arthas' wrath., using icon path ReplaceableTextures\CommandButtons\BTNVillagerKid2.tga
    Set VariableSet QuestSlaughter = (Last created quest)
    Quest - Create a quest requirement for QuestSlaughter with the description Destroy the refugee towns (0 of 9 Obliterated)
    Set VariableSet QuestSlaughterReqKill = (Last created quest requirement)
    Quest - Create a quest requirement for QuestSlaughter with the description No more than 20 refugees may escape
    Set VariableSet QuestSlaughterReqPrevent = (Last created quest requirement)
Quest Slaughter Discover Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Slaughter_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestSlaughter as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rSlaughter Human Refugees - Destroy the refugee towns (0 of 9 Obliterated) - No more than 20 Humans may get through the canyons
    Trigger - Run Quest_Slaughter_Reveal <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Run VillagersEscLeaderboard <gen> (checking conditions)
    Trigger - Remove (This trigger) from the trigger queue
Quest Slaughter Update Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    Set VariableSet QuestSlaughterQpendingInt = (QuestSlaughterQpendingInt - 1)
    Set VariableSet QuestSlaughterUpdateIsRunning = True
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Slaughter_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestSlaughter as Discovered
    -------- Display a quest message. --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 1
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (1 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (1 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 2
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (2 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (2 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 3
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (3 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (3 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 4
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (4 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (4 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 5
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (5 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (5 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 6
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (6 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (6 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 7
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (7 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (7 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 8
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns (8 of 9 Obliterated)
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST UPDATE|rSlaughter Human Refugees - Destroy the refugee towns (8 of 9 Obliterated) - No more than 20 refugees may escape
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagesDestroyed Equal to 9
      Then - Actions
        Quest - Change the description of QuestSlaughterReqKill to Destroy the refugee towns
        Quest - Mark QuestSlaughter as Discovered
        Quest - Mark QuestSlaughterReqKill as Completed
        Quest - Mark QuestSlaughterReqPrevent as Completed
        Quest - Mark QuestSlaughter as Completed
        -------- Display a quest message. --------
        Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST COMPLETED|rSlaughter Human Refugees
      Else - Actions
    Wait Campaign quest delay seconds
    Set VariableSet QuestSlaughterUpdateIsRunning = False
    Trigger - Run VillagersEscLeaderboard <gen> (checking conditions)
    Trigger - Remove (This trigger) from the trigger queue
Quest Slaughter Reveal
  Events
  Conditions
  Actions
    -------- Town 01 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town01 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town01 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town01 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town01 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town01 <gen>)
    -------- Town 03 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town03 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town03 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town03 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town03 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town03 <gen>)
    -------- Town 04 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town04 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town04 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town04 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town04 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town04 <gen>)
    -------- Town 05 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town05 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town05 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town05 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town05 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town05 <gen>)
    -------- Town 06 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town06 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town06 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town06 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town06 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town06 <gen>)
    -------- Town 08 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town08 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town08 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town08 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town08 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town08 <gen>)
    -------- Town 09 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town09 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town09 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town09 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town09 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town09 <gen>)
    -------- Town 10 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town10 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town10 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town10 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town10 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town10 <gen>)
    -------- Town 11 --------
    Visibility - Create an initially Enabled visibility modifier for AP01_Player emitting Visibility from (Center of Town11 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for AP10_Player emitting Visibility from (Center of Town11 <gen>) to a radius of 512.
    Visibility - Destroy (Last created visibility modifier)
    Cinematic - Ping minimap for APG1_Player at (Center of Town11 <gen>) for 5.00 seconds
    Camera - Set a spacebar-point for AP01_Player at (Center of Town11 <gen>)
    Camera - Set a spacebar-point for AP10_Player at (Center of Town11 <gen>)
Quest Paladins 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 Slay the Paladins with the description The Paladin order has emerged again from the rubble of the Lordaeron Empire. Destroy the Altars of the three Paladins that have set up camps here., using icon path ReplaceableTextures\CommandButtons\BTNAltarOfKings.tga
    Set VariableSet QuestPaladins = (Last created quest)
    Quest - Create a quest requirement for QuestPaladins with the description Destroy the three Altars
    Set VariableSet QuestPaladinsReqDestroy = (Last created quest requirement)
Quest Paladins Discover Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Paladins_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestPaladins as Discovered
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rSlay the Paladins - Destroy the three Altars
    Cinematic - Ping minimap for (All players) at (Center of Altars <gen>) for 3.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 Altars <gen>)
        Visibility - Create an initially Enabled visibility modifier for (Picked player) emitting Visibility from (Center of Altars <gen>) to a radius of 768.00.
        Visibility - Destroy (Last created visibility modifier)
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Quest Paladins Altars Destroyed Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    -------- Ensure that the quest exists --------
    Trigger - Run Quest_Paladins_Create <gen> (checking conditions)
    -------- Update the quest --------
    Quest - Mark QuestPaladins as Discovered
    Quest - Mark QuestPaladinsReqDestroy as Completed
    Quest - Mark QuestPaladins as Completed
    -------- Display a quest message. --------
    Quest - Display to (All players) the Quest Update message: |cffffcc00MAIN QUEST COMPLETED|rSlay the Paladins
    Wait Campaign quest delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Mission Failed Humans Escape
  Events
  Conditions
  Actions
    Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rMore than 20 Humans escaped through the canyons. Ner'zhul is not pleased.
Mission Failed Buildings Dead
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Count structures controlled by AP01_Player (Include incomplete structures)) Equal to 0
      Then - Actions
        Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of Arthas' buildings have been destroyed.
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Count structures controlled by AP09_Player (Include incomplete structures)) Equal to 0
      Then - Actions
        Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of Kel'Thuzad's buildings have been destroyed.
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Count structures controlled by AP10_Player (Include incomplete structures)) Equal to 0
      Then - Actions
        Quest - Display to (All players) the Mission Failed message: |cffffcc00MISSION FAILED|rAll of Sylvanas' buildings have been destroyed.
      Else - Actions
Victory Farms Dead
  Events
  Conditions
    GameOver Equal to False
    PaladinAltarsDestroyed Equal to True
    VillagesDestroyed Equal to 9
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet GameOver = True
    Trigger - Add Victory_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Defeat Villagers Escape
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    GameOver Equal to False
    VillagersEscapedCount Greater than or equal to 20
  Actions
    Set VariableSet GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_Humans_Escape <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Trigger - Add Failure_Cinematic_Q <gen> to the trigger queue (Checking conditions)
Defeat Units Dead
  Events
  Conditions
    GameOver Equal to False
    Or - Any (Conditions) are true
      Conditions
        (Count structures controlled by AP01_Player (Include incomplete structures)) Equal to 0
        (Count structures controlled by AP09_Player (Include incomplete structures)) Equal to 0
        (Count structures controlled by AP10_Player (Include incomplete structures)) Equal to 0
  Actions
    Set VariableSet GameOver = True
    Wait 2 seconds
    Trigger - Run Mission_Failed_Buildings_Dead <gen> (checking conditions)
    Wait Campaign quest delay seconds
    Game - Defeat AP01_Player with the message: Defeat!
    Game - Defeat AP10_Player with the message: Defeat!
Hint Three Sides
  Events
  Conditions
    GameOver Equal to False
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to True
      Then - Actions
        Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - You control three different sides. Arthas in the bottom left, Kel'Thuzad in the top right, and Sylvanas in the bottom right. Villagers can escape through any of these passes.
      Else - Actions
        Quest - Display to Player Group - Player 1 (Red) the Hint message: |cff32cd32HINT|r - You control Arthas's side while your ally controls Sylvanas in the bottom right. Both players can control Kel'Thuzad's side in the top right. Villagers can escape through any of these passes.
        Quest - Display to Player Group - Player 10 (Light Blue) the Hint message: |cff32cd32HINT|r - You control Sylvanas' side while your ally controls Arthas in the bottom left. Both players can control Kel'Thuzad's side in the top right. Villagers can escape through any of these passes.
    Cinematic - Ping minimap for (All players) at (Center of ArthasPathPoint13_ABCD <gen>) for 3.00 seconds
    Cinematic - Ping minimap for (All players) at (Center of KelzPathPoint14_ABCD <gen>) for 3.00 seconds
    Cinematic - Ping minimap for (All players) at (Center of SylvanasPathPoint08_ABCD <gen>) for 3.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 ArthasPathPoint13_ABCD <gen>)
        Camera - Set a spacebar-point for (Picked player) at (Center of KelzPathPoint14_ABCD <gen>)
        Camera - Set a spacebar-point for (Picked player) at (Center of SylvanasPathPoint08_ABCD <gen>)
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Hint Scrolls of Healing Q
  Events
  Conditions
    GameOver Equal to False
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SinglePlayer Equal to True
      Then - Actions
        Quest - Display to (All players) the Hint message: |cff32cd32HINT|r - You can purchase scrolls of healing at your Tomb of Relics to heal wounded units you possess.
      Else - Actions
        Quest - Display to Player Group - Player 10 (Light Blue) the Hint message: |cff32cd32HINT|r - You can purchase scrolls of healing at your Tomb of Relics to heal wounded units you possess.
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Hint Scrolls
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Hint_Scrolls_of_Healing_Q <gen> to the trigger queue (Checking conditions)
Warning Villagers Trigger
  Events
  Conditions
    GameOver Equal to False
    InCinematic Equal to False
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        VillagersEscapedCount Equal to 5
      Then - Actions
        Trigger - Add Warning_5_Villagers <gen> to the trigger queue (Checking conditions)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            VillagersEscapedCount Equal to 10
          Then - Actions
            Trigger - Add Warning_10_Villagers <gen> to the trigger queue (Checking conditions)
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                VillagersEscapedCount Equal to 15
              Then - Actions
                Trigger - Add Warning_15_Villagers <gen> to the trigger queue (Checking conditions)
              Else - Actions
Warning 5 Villagers
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Warning message: |cffff0000WARNING|r - Five villagers have escaped!
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Warning 10 Villagers
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Warning message: |cffff0000WARNING|r - Ten villagers have escaped!
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Warning 15 Villagers
  Events
  Conditions
    GameOver Equal to False
  Actions
    Quest - Display to (All players) the Warning message: |cffff0000WARNING|r - Fifteen villagers have escaped!
    Wait Campaign hint delay seconds
    Trigger - Remove (This trigger) from the trigger queue
Start AI
  Events
  Conditions
  Actions
    -------- Start All AI Scripts --------
    AI - Start melee AI script for Player 1 (Red): u01x04.ai (aiscript)
    AI - Start melee AI script for Player 2 (Blue): u01x02.ai (aiscript)
    AI - Start melee AI script for Player 3 (Teal): u01x03.ai (aiscript)
AI Resources Red Gold
  Events
    Player - Player 1 (Red)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P04_Villagers3.Current gold to 1351
AI Resources Red Lumber
  Events
    Player - Player 1 (Red)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P04_Villagers3.Current lumber to 1273
AI Resources Blue Gold
  Events
    Player - Player 2 (Blue)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P02_Villagers1.Current gold to 1457
AI Resources Blue Lumber
  Events
    Player - Player 2 (Blue)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P02_Villagers1.Current lumber to 1771
AI Resources Teal Gold
  Events
    Player - Player 3 (Teal)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P03_Villagers2.Current gold to 1121
AI Resources Teal Lumber
  Events
    Player - Player 3 (Teal)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P03_Villagers2.Current lumber to 1323
AI Resources Yellow Gold
  Events
    Player - Player 5 (Yellow)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P05_Paladin1.Current gold to 2103
AI Resources Yellow Lumber
  Events
    Player - Player 5 (Yellow)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P05_Paladin1.Current lumber to 1487
AI Resources Orange Gold
  Events
    Player - Player 6 (Orange)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P07_Paladin2.Current gold to 2003
AI Resources Orange Lumber
  Events
    Player - Player 6 (Orange)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P07_Paladin2.Current lumber to 1999
AI Resources Gray Gold
  Events
    Player - Player 9 (Gray)'s Current gold becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P06_Paladin3.Current gold to 1627
AI Resources Gray Lumber
  Events
    Player - Player 9 (Gray)'s Current lumber becomes Less than 1000.00
  Conditions
  Actions
    Player - Set P06_Paladin3.Current lumber to 1019
VillagersEscLeaderboard
  Events
  Conditions
  Actions
    Leaderboard - Create a leaderboard for (All players) titled
    Set VariableSet LeaderboardVillagers = (Last created leaderboard)
    Leaderboard - Add AP01_Player to LeaderboardVillagers with label Villagers Escaped: and value VillagersEscapedCount
    Leaderboard - Change the display style for LeaderboardVillagers to Hide the title, Show labels, Show values, and Hide icons
    Leaderboard - Change the color of all labels for LeaderboardVillagers to (100%, 80%, 20%) with 0% transparency
    Leaderboard - Change the color of all values for LeaderboardVillagers to (100%, 100.00%, 100.00%) with 0% transparency
    Leaderboard - Show LeaderboardVillagers
VO Halahk Taunt Q
  Events
  Conditions
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Paladin01Halahk named Halahk the Lifebringer: Play L01PaladinOne21 <gen> and display Arthas, you wear your father's crown as if you earned it. You may kill me, but my brethren will never stop hounding you!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01PaladinOne21 <gen> to be 0 seconds from finished playing
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Arthas is alive) Equal to True
      Then - Actions
        Cinematic - Send transmission to (All players) from Arthas named King Arthas: Play L01Arthas22 <gen> and display I can't believe that any of you survived the first purge. No matter. After today, your self-righteous order will cease to exist.. Modify duration: Add 0 seconds and Don't wait
        Wait for L01Arthas22 <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
VO Magroth Taunt Q
  Events
  Conditions
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Paladin02Magroth named Magroth the Defender: Play L01PaladinTwo24 <gen> and display We will never abandon Lordaeron, Arthas! We will never give up!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01PaladinTwo24 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO Dagren Taunt Q
  Events
  Conditions
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Paladin03Dagren named Dagren the Orcslayer: Play L01PaladinThree25 <gen> and display Come, traitor, and taste the wrath of the holy Light!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01PaladinThree25 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerApproach01 Q
  Events
  Conditions
    (Kelthuzad is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad32 <gen> and display The humans are nearing the pass! Stop them.. Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad32 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerApproach02 Q
  Events
  Conditions
    (Kelthuzad is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad33 <gen> and display We cannot allow the humans to escape!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad33 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerApproach03 Q
  Events
  Conditions
    (Kelthuzad is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad34 <gen> and display Stop them before they reach the pass!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad34 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerApproach04 Q
  Events
  Conditions
    (Kelthuzad is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Kelthuzad named Kel'Thuzad: Play L01KelThuzad35 <gen> and display Slaughter the humans before they escape!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01KelThuzad35 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerEscaped01 Q
  Events
  Conditions
    (Sylvanas is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L01Sylvanas36 <gen> and display The humans are escaping!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas36 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerEscaped02 Q
  Events
  Conditions
    (Sylvanas is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L01Sylvanas37 <gen> and display Another human has made it through the pass!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas37 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerEscaped03 Q
  Events
  Conditions
    (Sylvanas is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L01Sylvanas38 <gen> and display They're getting away!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas38 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
VO VillagerEscaped04 Q
  Events
  Conditions
    (Sylvanas is alive) Equal to True
    InCinematic Equal to False
    GameOver Equal to False
  Actions
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from Sylvanas named Sylvanas Windrunner: Play L01Sylvanas39 <gen> and display Don't allow them to escape!. Modify duration: Add 0 seconds and Don't wait
    Wait for L01Sylvanas39 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Give Quest
  Events
    Unit - A unit comes within 512.00 of Paladin 0030 <gen>
    Unit - A unit comes within 512.00 of Paladin 0029 <gen>
    Unit - A unit comes within 512.00 of Paladin 0028 <gen>
  Conditions
    ((Triggering unit) belongs to an ally of AP01_Player.) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Quest_Paladins_Discover_Q <gen> to the trigger queue (Checking conditions)
Paladins Destroyed
  Events
    Unit - Altar of Kings 0025 <gen> Dies
    Unit - Altar of Kings 0026 <gen> Dies
    Unit - Altar of Kings 0027 <gen> Dies
  Conditions
    (Altar01Halahk is dead) Equal to True
    (Altar02Magroth is dead) Equal to True
    (Altar03Dagren is dead) Equal to True
  Actions
    Set VariableSet PaladinAltarsDestroyed = True
    Trigger - Add Quest_Paladins_Altars_Destroyed_Q <gen> to the trigger queue (Checking conditions)
    Trigger - Run Victory_Farms_Dead <gen> (checking conditions)
Halahk Taunt
  Events
    Unit - A unit comes within 512.00 of Paladin 0030 <gen>
  Conditions
    (Triggering unit) Equal to Arthas
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add VO_Halahk_Taunt_Q <gen> to the trigger queue (Checking conditions)
Halahk In Combat Attacked
  Events
    Unit - A unit owned by Player 5 (Yellow).Is attacked
  Conditions
  Actions
    Set VariableSet Pal01HalahkInCombat = True
    Countdown Timer - Start Pal01HalahkCombatTimer as a One-shot timer that will expire in 10.00 seconds
Halahk In Combat Attacking
  Events
    Unit - A unit owned by Player 4 (Purple).Is attacked
    Unit - A unit owned by Player 7 (Green).Is attacked
    Unit - A unit owned by Player 10 (Light Blue).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to P05_Paladin1
  Actions
    Countdown Timer - Start Pal01HalahkCombatTimer as a One-shot timer that will expire in 10.00 seconds
    Set VariableSet Pal01HalahkInCombat = True
Halahk Combat Resolved
  Events
    Time - Pal01HalahkCombatTimer expires
  Conditions
  Actions
    Set VariableSet Pal01HalahkInCombat = False
    Set VariableSet TempUnitGroup = (Units owned by P05_Paladin1 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
    Unit Group - Order TempUnitGroup to Attack-Move To.PointHalahkTheLifebringer
    Custom script: call DestroyGroup( udg_TempUnitGroup )
Halahk Wont Kill Your Buildings
  Events
    Unit - A unit owned by Player 4 (Purple).Is attacked
  Conditions
    ((Attacked unit) is in BuildingsArthas.) Equal to True
    (Owner of (Attacking unit)) Equal to P05_Paladin1
  Actions
    Wait 0.10 seconds
    Set VariableSet TempUnitGroup = (Units owned by P05_Paladin1 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
    Unit Group - Order TempUnitGroup to Move To.PointHalahkTheLifebringer
    Custom script: call DestroyGroup( udg_TempUnitGroup )
Halahk Builds Knights
  Events
    Time - Paladin01HalahkKnightTimer expires
  Conditions
    (Altar01Halahk is alive) Equal to True
    GameOver Equal to False
  Actions
    Unit - Create 1 Knight for P05_Paladin1 at ((Position of Altar01Halahk) offset by (-50.00, -50.00)) facing PointPaladi01HalahkShop
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of living Knight units owned by P05_Paladin1) Less than 2
      Then - Actions
        Countdown Timer - Start Paladin01HalahkKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
      Else - Actions
Halahk Knight Dies
  Events
    Unit - A unit owned by Player 5 (Yellow).Dies
  Conditions
    (Remaining time for Paladin01HalahkKnightTimer) Less than or equal to 0.00
    (Unit-type of (Dying unit)) Equal to Knight
  Actions
    Countdown Timer - Start Paladin01HalahkKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
Halahk Knight Posessed
  Events
    Unit - A unit owned by Player 7 (Green).Changes owner
    Unit - A unit owned by Player 10 (Light Blue).Changes owner
  Conditions
    (Remaining time for Paladin01HalahkKnightTimer) Less than or equal to 0.00
    (Unit-type of (Ownership-changed unit)) Equal to Knight
    (Previous owner) Equal to P05_Paladin1
  Actions
    Countdown Timer - Start Paladin01HalahkKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
Halahk Dies
  Events
    Unit - A unit owned by Player 5 (Yellow).Dies
  Conditions
    (Dying unit) Equal to Paladin01Halahk
    (Altar01Halahk is alive) Equal to True
  Actions
    Wait Pal01HalahkRespawnTime seconds
    Unit - Order Altar01Halahk to Revive Hero.Paladin01Halahk
Halahk Arrives Home
  Events
    Unit - A unit enters HalahkTheLifebringer <gen>
  Conditions
    (Entering unit) Equal to Paladin01Halahk
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Pal01HalahkAttemptedTele = False
    Wait 10.00 seconds
    Trigger - Turn on (This trigger)
Halahk Idles
  Events
    Time - Every 10.00 seconds of game time
  Conditions
  Actions
    Custom script: set bj_wantDestroyGroup = true
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of units in (Units in Pal01HalahkAttackRegion <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to P05_Paladin1)))) Greater than 0
      Then - Actions
      Else - Actions
        Skip remaining actions
    Countdown Timer - Start Pal01HalahkCombatTimer as a One-shot timer that will expire in 5.00 seconds
Halahk Defends
  Events
    Unit - A unit owned by Player 1 (Red).Is attacked
  Conditions
    (Paladin01Halahk is alive) Equal to True
    ((Unit-type of (Attacked unit)) is A structure) Equal to True
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet TempPoint = (Position of (Random unit from (Units within 1536.00 of (Position of (Attacked unit)) matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to P04_Villagers3))).)))
    Region - Center Pal01HalahkAttackRegion <gen> on TempPoint
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Shop01Halahk is alive) Equal to True
        Pal01HalahkAttemptedTele Equal to False
        Pal01HalahkInCombat Equal to False
      Then - Actions
        Set VariableSet Pal01HalahkAttemptedTele = True
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item-type of (Item carried by Paladin01Halahk in slot 1)) Not equal to Scroll of Town Portal
          Then - Actions
            Item - Remove (Item carried by Paladin01Halahk in slot 1)
            Hero - Create Scroll of Town Portal and give it to Paladin01Halahk
          Else - Actions
        Hero - Order Paladin01Halahk to use (Item carried by Paladin01Halahk of type Scroll of Town Portal) on TempPoint
      Else - Actions
        Set VariableSet Pal01HalahkAttemptedTele = False
        Set VariableSet TempUnitGroup = (Units owned by P05_Paladin1 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
        Unit Group - Order TempUnitGroup to Attack-Move To.TempPoint
        Custom script: call DestroyGroup( udg_TempUnitGroup )
    Custom script: call RemoveLocation( udg_TempPoint )
    Wait PaladinAttackCooldownTime seconds
    Trigger - Turn on (This trigger)
Halahk TP ScrollUsed
  Events
    Unit - A unit owned by Player 5 (Yellow).Loses an item
  Conditions
    (Item-type of (Item being manipulated)) Not equal to Phat Lewt
  Actions
    Wait 0.05 seconds
    Hero - Create Phat Lewt and give it to Paladin01Halahk
Magroth Taunt
  Events
    Unit - A unit comes within 512.00 of Paladin 0028 <gen>
  Conditions
    (Triggering unit) Equal to Kelthuzad
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add VO_Magroth_Taunt_Q <gen> to the trigger queue (Checking conditions)
Magroth In Combat Attacked
  Events
    Unit - A unit owned by Player 9 (Gray).Is attacked
  Conditions
  Actions
    Countdown Timer - Start Pal02MagrothCombatTimer as a One-shot timer that will expire in 10.00 seconds
    Set VariableSet Pal02MagrothInCombat = True
Magroth In Combat Attacking
  Events
    Unit - A unit owned by Player 4 (Purple).Is attacked
    Unit - A unit owned by Player 7 (Green).Is attacked
    Unit - A unit owned by Player 10 (Light Blue).Is attacked
  Conditions
    (Owner of (Attacking unit)) Equal to P07_Paladin2
  Actions
    Countdown Timer - Start Pal02MagrothCombatTimer as a One-shot timer that will expire in 10.00 seconds
    Set VariableSet Pal02MagrothInCombat = True
Magroth Combat Resolved
  Events
    Time - Pal02MagrothCombatTimer expires
  Conditions
  Actions
    Set VariableSet Pal02MagrothInCombat = False
    Set VariableSet TempUnitGroup = (Units owned by P07_Paladin2 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
    Unit Group - Order TempUnitGroup to Attack-Move To.PointMagrothTheDefender
    Custom script: call DestroyGroup( udg_TempUnitGroup )
Magroth Wont Kill Your Buildings
  Events
    Unit - A unit owned by Player 7 (Green).Is attacked
  Conditions
    ((Attacked unit) is in BuildingsKelthuzad.) Equal to True
    (Owner of (Attacking unit)) Equal to P07_Paladin2
  Actions
    Wait 0.10 seconds
    Set VariableSet TempUnitGroup = (Units owned by P07_Paladin2 matching ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True)).)
    Unit Group - Order TempUnitGroup to Move To.PointMagrothTheDefender
    Custom script: call DestroyGroup( udg_TempUnitGroup )
Magroth Builds Knights
  Events
    Time - Paladin02MagrothKnightTimer expires
  Conditions
    (Altar02Magroth is alive) Equal to True
    GameOver Equal to False
  Actions
    Unit - Create 1 Knight for P07_Paladin2 at ((Position of Altar02Magroth) offset by (-50.00, -50.00)) facing PointPaladi02MagrothShop
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Number of living Knight units owned by P07_Paladin2) Less than 2
      Then - Actions
        Countdown Timer - Start Paladin02MagrothKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
      Else - Actions
Magroth Knight Dies
  Events
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    (Remaining time for Paladin02MagrothKnightTimer) Less than or equal to 0.00
    (Unit-type of (Dying unit)) Equal to Knight
  Actions
    Countdown Timer - Start Paladin02MagrothKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
Magroth Knight Possessed
  Events
    Unit - A unit owned by Player 7 (Green).Changes owner
    Unit - A unit owned by Player 10 (Light Blue).Changes owner
  Conditions
    (Remaining time for Paladin02MagrothKnightTimer) Less than or equal to 0.00
    (Unit-type of (Ownership-changed unit)) Equal to Knight
    (Previous owner) Equal to P07_Paladin2
  Actions
    Countdown Timer - Start Paladin02MagrothKnightTimer as a One-shot timer that will expire in KnightBuildTime seconds
Magroth Dies
  Events
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    (Dying unit) Equal to Paladin02Magroth
    (Altar02Magroth is alive) Equal to True
  Actions
    Wait Pal02MagrothRespawnTime seconds
    Unit - Order Altar02Magroth to Revive Hero.Paladin02Magroth
Magroth Arrives Home