1. Are you planning to upload your awesome map to Hive? Please review the rules here.
    Dismiss Notice
  2. Find your way through the deepest dungeon in the 18th Mini Mapping Contest Poll.
    Dismiss Notice
  3. A brave new world lies beyond the seven seas. Join the 34th Modeling Contest today!
    Dismiss Notice
  4. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
Hive 3 Remoosed BETA - NOW LIVE. Go check it out at BETA Hive Workshop! Post your feedback in this new forum BETA Feedback.
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

2P Human06 v2.3.w3x
Variables
Initialization Phase
Initialize Initializations
Waterfall
Waterfall Reveal
Waterfall Hide
Hero Variables
Initialize Heroes
XP Cap
Arthas XP
Captain XP
Alliance and Sight Settings
Alliance Sight Color
Escape Cinematic1
Intro Cancel
Cinematic1
Form Uthers Group
PreCinematic
Cinematic Uther Moves In
Remove Villager1
Remove Villager2
Remove Villager3
Remove Villager4
Uther and co Leave
Arthas Gets A Town Malganis First Atck
Arthas Gets Town
New Unit Available
Malganis Attack
Arthas Kills Villagers
Kill Villager Deny Malganis
Kill Zombie Deny Malganis
LEADERBOARD ConversionsVsKills
Setup Leaderboard
Leaderboard Tracking
City Building HINT
Hint for Killing Villagers
Hint for Killing Villagers Que
Malganis Demonstration
Malganis First Attacks
Malganis First Teleport Cin Skip
Malganis First Teleport Cinematic
Malganis First Building Attack
Malganis First Get Arthas Alt
Villagers Escape
Villagers Run District 1
Villagers Run District 2
Villagers Run District 3
Villagers Run District 4
Villagers Run District 5
If Building Pops MakeVillagers
If Building Pops Shake Camera
Spawn Villagers
Create Man
Create Woman
Create Child
Create Rats
Malganis Level And Settings
Malganis AI and Level
Form Districts and Destroy Check
Form Building Groups
Building Destroyed Remove From Group1
Building Destroyed Remove From Group2
Building Destroyed Remove From Group3
Building Destroyed Remove From Group4
Building Destroyed Remove From Group5
Malganis Chooses a Village
Initialize Region Array
Choose Buildings
Choose Default Region
Choose Random Region
Create Target Array
Target Array Loop
Add To Target Array
Malganis Timer Stuff
Malganis Countdown Timer Create
Malganis Countdown Timer Counts
Malganis Countdown Timer Hits 0
Arthas Forgive Me
Arthas Says Forgive Me
Arthas Says Forgive Me Que
When Malganis Attacks
Initialize Buildings To Attack Array
Malganis Death Squad 1
Create Sqaud 1
Malganis Death Squad 2
Create Squad 2
Malganis Death Squad 3
Create Squad 3
Add To Death Squad Denials at 21
Add To Death Squad Denials at 51
Das Boot to Arthas
Das Boot Malganis Leaving City
Malganis Reacquires Nearest Building
Teleport Malganis
Malganis Acquires Nearest Building
Malganis Continuously Attacks Buildings
Malganis Booting Player
Malganis Booting Zombies
May Send Commands
Reactivate AI
Villagers Turn into Zombies
VillagerSummonedRemoveConversionMan
Convert Villager
Malganis Turns Villagers Into Zombies
Malganis Gains Convert
Start Undead Army AI
Start AI
Starting Cash
Give Them Money
Give Them Lumber
Death Squad Tracking
Death Squad Deaths
Victory and Failure
Deny 100 Villagers Victory
Convert 100 Villagers Failure
Failure Cinematic
Die Fool
End Victory Cinematic
Victory Cinematic Skip
Victory Cinematic
Player Dies
All Buildings Destroyed
Human05Interlude
SceneEscape
CinematicStart
Scene1
ArthasToMedivh
ArthasAtMedivh
ArthasLookAtMedivh
MedivhRemove
JainaFade2
Fade
Extra Triggers
Setup Insane
Computer Upkeep
Player Limits
Item Drop Bonuses
Timer Trigger
Skip Cinematic
Leaves Game
Custom Variables
Command
Shield Bash
Artillery Strike
Command Remove
Artillery Strike 2
Gametext
Init Gametext
Endgame Text
Startgame Load
Startgame New
Startgame Text
Startgame Text 2
Startgame Text 3
Systems
ResourceDrop Order
ResourceDrop Destroy
ResourceDrop Build
ResourceDrop Starters
ResourceDrop Init
Send Gold
Send Lumber
Research Init
Research Begins
Research Cancelled
Research Complete
Requirement Init
Requirement Update
Exchange Unit
Death Select
Deselect Unit
Select Unit
function SaveLoad_InitialSetup takes nothing returns nothing
    local integer i = 0
    local integer j = 0

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

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

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

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

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

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

function SaveLoad_Color takes string s returns string
    local integer i = StringLength(s)
    local string c
    local string r = ""

    loop
        set i = i - 1
        set c = SubString(s,i,i + 1)
        if c == "0" or c == "1" or c == "2" or c == "3" or c == "4" or c == "5" or c == "6" or c == "7" or c == "8" or c == "9" then
            set r = "|cffff9999" + c + "|r" + r
        elseif c == "-" then
            set r = "|cffdddddd-|r" + r
        elseif c == "a" or c == "b" or c == "c" or c == "d" or c == "e" or c == "f" or c == "g" or c == "h" or c == "i" or c == "j" or c == "k" or c == "l" or c == "m" or c == "n" or c == "o" or c == "p" or c == "q" or c == "r" or c == "s" or c == "t" or c == "u" or c == "v" or c == "w" or c == "x" or c == "y" or c == "z" then
            set r = "|cff99ff99" + c + "|r" + r
        elseif c == "A" or c == "B" or c == "C" or c == "D" or c == "E" or c == "F" or c == "G" or c == "H" or c == "I" or c == "J" or c == "K" or c == "L" or c == "M" or c == "N" or c == "O" or c == "P" or c == "Q" or c == "R" or c == "S" or c == "T" or c == "U" or c == "V" or c == "W" or c == "X" or c == "Y" or c == "Z" then
            set r = "|cff9999ff" + c + "|r" + r
        else
            set r = c + r
        endif
        exitwhen i <= 0
    endloop
    return r
endfunction

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

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

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

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

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

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

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

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

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

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

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

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

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

    set m = 0

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

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

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

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

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

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

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

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

function SaveLoad_Decode takes string s returns boolean
    if udg_SaveLoad_CaseSensitive == false then
        set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true)
        set s = StringCase(s,true)
    endif
    if SaveLoad_DecodeValues(s) then
        return true
    endif
    return false
endfunction
Name Type Is Array Initial Value
Arthas unit No
ArthasCinematic unit No
ArthasDenials real No
ArthasReturnPoint location No
ArthasVariable unit No
BonusesFound integer No
BonusesTotal integer No
BootingPlayer boolean No false
Buildings1 group No
Buildings2 group No
Buildings3 group No
Buildings4 group No
Buildings5 group No
Buildings6 group No
BuildingsGone boolean No false
BuildingsToAttackArray group Yes
CampaignScore integer No
Captain unit No
CaptainVariable unit No
Cinematic boolean No true
Code string No
CullingQuest quest No
DeathsOfDeathSquad real No 0.00
DestroyedBuilding unit No
EndCinematicPlaying boolean No false
EnoughPlayers boolean No
Escape boolean No
ExchangeFail1 boolean No
ExchangeFail2 boolean No
ExchangeFail3 boolean No
ExchangeSelection1 group No
ExchangeSelection2 group No
ExchangeSuccess boolean No
Exchanging1 boolean No
Exchanging2 boolean No
Extra integer No
ExtraTotal integer No
FinalInventory string Yes
FinalRank string No
GameOver boolean No false
GAMEOVER boolean No
GameSelection boolean No true
HideUnits group No
INSANEMODE boolean No
IntroCancel boolean No false
ItemSpawn rect Yes
JainaCinematic unit No
JainaVariable unit No
JainFade real No 100.00
Leaderboard1 leaderboard No
Leaderboard2 leaderboard No
MalaganisFirstTele1 fogmodifier No
MalaganisFirstTele2 fogmodifier No
MalganisAttackTimer timer No
MalganisCaptainX real No
MalganisCaptainY real No
MalganisConversions real No
MalganisCountdown timerdialog No
MalganisDeathSquad group No
MalganisFirstTeleCin boolean No false
MalganisFirstTeleCinSkip boolean No false
MalganisGloatCin boolean No false
MalganisTargetHouse unit No
MalganisTargetHouseX real No
MalganisTargetHouseY real No
MalganisTimer timer No
MalganisVariable unit No
MaySendCommands boolean No true
MedivhCinematic unit No
MissionNumber integer No
NewVote1 boolean No
NewVote2 boolean No
NextSquad integer No 1
PlayerCameraPosition location No
pointcheck location No
RANDOMINTEGER integer No
RankInteger integer No
RegionBucket integer No 1
RegionLength integer No
RegionPicked rect No
RegionsArray rect Yes
Requirement_Region rect No
RequirementTech boolean Yes
RequirementUnitP1 unit Yes
RequirementUnitP2 unit Yes
RequirementUnitType unitcode Yes
ResearchEnabledT2 boolean Yes
ResearchEnabledT3 boolean Yes
ResearchStringT1 string Yes
ResearchStringT2 string Yes
ResearchStringT3 string Yes
ResearchType techcode Yes
ResourceDropBuildings group No
ResourceDropHashtable hashtable No
RevivalAltar unit No UnitNull
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_TotalGrades integer Yes
SaveLoad_TotalTime integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
ScoreBonuses integer No
ScoreExtra integer No
ScoreLimit integer Yes
ScoreMax integer No
ScoreSubquests integer No
ScoreTime integer No
SelectedUnits1 group No
SelectedUnits2 group No
SelectionGroup1 group No
SelectionGroup2 group No
SkipVote1 boolean No
SkipVote2 boolean No
SpawnedItem item Yes
SubquestsComplete integer No
SubquestsTotal integer No
SumRank integer No
TargetArray integer Yes
TargetArrayLength integer No
TeleportEffect effect No
TeleportFast boolean No false
Teleporting boolean No false
temp_unit unit No
TempBoolean boolean No
TempInteger integer No
TempItem item No
TempItemType itemcode No
TempPGroup force No
TempPGroup2 force No
TempPlayer player No
TempPoint location No
TempUGroup group No
TempUnit unit No
TempUnitType unitcode No
ThePlayer player No
TimeHours integer No
TimeMax real No
TimeMin real No
TimeMins integer No
Timer30Minute timer No
TimeRange real No
TimerMaySendCommands timer No
TimeSeconds integer No
TimeSecondsTotal integer No
TimeTakenString string No
TotalVision real No
UnitGroup group No
UthersGroup group No
UtherVariable unit No
Validate boolean No
VictoryCinSkip boolean No false
VillagerToBeConverted unit No
VillagerToZombieGROUP group No
WaterfallRevealVis1 fogmodifier No
WaterfallRevealVis2 fogmodifier No
WaterfallSwitch boolean No false
WaygateCin1Playing boolean No false
WaygateCin2Playing boolean No false
WaygateCin3Playing boolean No false
WayGatesGroup group No
WaygatesQuest quest No
x real No
y real No
Runs all triggers that should be run in Map Init in proper order.
Levels Arthas.
Removes mask on towns.
Change Dark Green Player Color to Brown so it doesn't show up as weird on the minimap.
Initialize Initializations
  Events
  Conditions
  Actions
    Environment - Set fog to style 0 (fogstyle), z-start 700.00, z-end 3100.00, density 0.50 and color (10.00%, 30.00%, 50.00%)
    Set VariableSet ArthasDenials = 0.00
    Set VariableSet MalganisConversions = 0.00
    Trigger - Run Initialize_Heroes <gen> (ignoring conditions)
    Trigger - Run Malganis_AI_and_Level <gen> (ignoring conditions)
    Trigger - Run Form_Uthers_Group <gen> (ignoring conditions)
    Trigger - Run Alliance_Sight_Color <gen> (ignoring conditions)
    Trigger - Run Form_Building_Groups <gen> (ignoring conditions)
    Trigger - Run Initialize_Region_Array <gen> (ignoring conditions)
    Trigger - Run Initialize_Buildings_To_Attack_Array <gen> (ignoring conditions)
    Trigger - Run Cinematic_Uther_Moves_In <gen> (checking conditions)
    Trigger - Run PreCinematic <gen> (checking conditions)
    -------- Hide Players --------
    Player - Hide Player 3 (Teal) in the post-game score screen
    Player - Hide Player 6 (Orange) in the post-game score screen
    Player - Hide Player 10 (Light Blue) in the post-game score screen
    Player - Hide Player 11 (Dark Green) in the post-game score screen
    Player - Hide Player 12 (Brown) in the post-game score screen
    Trigger - Run Start_AI <gen> (ignoring conditions)
    Trigger - Run Starting_Cash <gen> (ignoring conditions)
    Game - Set the time of day to 19.00
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Fog of war across Reveal1 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Fog of war across Reveal2 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Fog of war across Reveal3 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Fog of war across Reveal1 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Fog of war across Reveal2 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Fog of war across Reveal3 <gen>
    Visibility - Destroy (Last created visibility modifier)
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of HardGhoul1 <gen>) facing Default building facing degrees
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of HardGhoul2 <gen>) facing Default building facing degrees
    Unit - Set Plagued Male Villager 0094 <gen> movement speed to 180.00
    Unit - Set Plagued Male Villager 0031 <gen> movement speed to 180.00
    Unit - Set Plagued Female Villager 0089 <gen> movement speed to 180.00
    Unit - Set Plagued Male Villager 0125 <gen> movement speed to 180.00
    -------- Cinematic Building Invulnerable --------
    Unit - Make City Building 0064 <gen> Invulnerable
    -------- RAIN --------
    Environment - Create at (Playable map area) the weather effect Lordaeron Rain (Heavy)
    Environment - Turn (Last created weather effect) On
    -------- Mal'Ganis Altar Invulnerable --------
    Unit - Make Altar of Darkness 0019 <gen> Invulnerable
Waterfall Reveal
  Events
    Unit - A unit enters Waterfall_Reveal <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 2 (Blue)
        (Owner of (Entering unit)) Equal to Player 9 (Gray)
    WaterfallSwitch Equal to False
  Actions
    Set VariableSet WaterfallSwitch = True
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility from (Center of WaterfallSight <gen>) to a radius of 800.00.
    Set VariableSet WaterfallRevealVis1 = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Visibility from (Center of WaterfallSight <gen>) to a radius of 800.00.
    Set VariableSet WaterfallRevealVis2 = (Last created visibility modifier)
Waterfall Hide
  Events
    Unit - A unit leaves Waterfall_Reveal <gen>
    Unit - A unit owned by Player 2 (Blue).Dies
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    (Number of units in (Units in Waterfall_Reveal <gen> matching ((((Matching unit) is alive) Equal to True) and (((Owner of (Matching unit)) Equal to Player 2 (Blue)) or ((Owner of (Matching unit)) Equal to Player 9 (Gray)))))) Equal to 0
    WaterfallSwitch Equal to True
  Actions
    Set VariableSet WaterfallSwitch = False
    Visibility - Destroy WaterfallRevealVis1
    Visibility - Destroy WaterfallRevealVis2
Initialize Heroes
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet UtherVariable = Paladin 0007 <gen>
    Set VariableSet ArthasVariable = Paladin 0080 <gen>
    Set VariableSet Arthas = Paladin 0080 <gen>
    Set VariableSet CaptainVariable = Captain 0081 <gen>
    Set VariableSet Captain = Captain 0081 <gen>
    Set VariableSet JainaVariable = Archmage 0006 <gen>
    Set VariableSet MalganisVariable = Dreadlord 0000 <gen>
    Set VariableSet ArthasCinematic = Paladin 0086 <gen>
    Set VariableSet JainaCinematic = Archmage 0092 <gen>
    Set VariableSet MedivhCinematic = Medivh 0085 <gen>
Arthas XP
  Events
    Unit - A unit owned by Player 2 (Blue).Gains a level
  Conditions
    (Leveling Hero) Equal to ArthasVariable
    (Hero level of ArthasVariable) Greater than or equal to 7
  Actions
    Hero - Disable experience gain for ArthasVariable.
Captain XP
  Events
    Unit - A unit owned by Player 9 (Gray).Gains a level
  Conditions
    (Leveling Hero) Equal to CaptainVariable
    (Hero level of CaptainVariable) Greater than or equal to 7
  Actions
    Hero - Disable experience gain for CaptainVariable.
Alliance Sight Color
  Events
  Conditions
  Actions
    Player - For Player 12 (Brown), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 12 (Brown), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 12 (Brown), turn Alliance (non-aggression) On toward Player 3 (Teal)
    Player - For Player 11 (Dark Green), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 11 (Dark Green), turn Alliance (non-aggression) On toward Player 3 (Teal)
    Player - For Player 7 (Green), turn Alliance (non-aggression) On toward Player 4 (Purple)
    Player - For Player 7 (Green), turn Alliance (non-aggression) On toward Player 12 (Brown)
    Player - For Player 7 (Green), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 7 (Green), turn Alliance (non-aggression) On toward Player 6 (Orange)
    Player - For Player 7 (Green), turn Alliance (non-aggression) On toward Player 3 (Teal)
    Player - For Player 7 (Green), turn Friendly spell targeting Off toward Player 3 (Teal)
    Player - Make Player 7 (Green) treat Player 11 (Dark Green) as an Enemy
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 6 (Orange)
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 12 (Brown)
    Player - For Player 4 (Purple), turn Alliance (non-aggression) On toward Player 3 (Teal)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 6 (Orange)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 4 (Purple)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 12 (Brown)
    Player - For Player 3 (Teal), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 10 (Light Blue), turn Alliance (non-aggression) On toward Player 2 (Blue)
    Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 10 (Light Blue)
    Player - For Player 2 (Blue), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 8 (Pink), turn Alliance (non-aggression) Off toward Player 2 (Blue)
    Player - For Player 8 (Pink), turn Shared vision On toward Player 2 (Blue)
    Player - For Player 9 (Gray), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 9 (Gray), turn Alliance (non-aggression) On toward Player 10 (Light Blue)
    Player - For Player 9 (Gray), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 8 (Pink), turn Alliance (non-aggression) Off toward Player 9 (Gray)
    Player - For Player 8 (Pink), turn Shared vision On toward Player 9 (Gray)
    Player - For Player 8 (Pink), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 8 (Pink), turn Alliance (non-aggression) On toward Player 4 (Purple)
    Player - For Player 8 (Pink), turn Alliance (non-aggression) On toward Player 3 (Teal)
    Player - Make Player 3 (Teal) treat Player 2 (Blue) as an Enemy
    Player - Make Player 3 (Teal) treat Player 9 (Gray) as an Enemy
    Player - Make Player 2 (Blue) treat Player 3 (Teal) as an Enemy
    Player - Make Player 9 (Gray) treat Player 3 (Teal) as an Enemy
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 12 (Brown)
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 11 (Dark Green)
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 8 (Pink)
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 7 (Green)
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 4 (Purple)
    Player - For Player 6 (Orange), turn Alliance (non-aggression) On toward Player 2 (Blue)
    Player - Change color of Player 11 (Dark Green) to Brown, Changing color of existing units
    Player - Change color of Player 8 (Pink) to Brown, Changing color of existing units
    Player - For Player 2 (Blue), turn Shared vision On toward Player 9 (Gray)
    Player - For Player 9 (Gray), turn Shared vision On toward Player 2 (Blue)
    Unit Group - Pick every unit in (Units owned by Player 12 (Brown).) and do (Grant shared vision of (Picked unit) to Player 2 (Blue))
    Unit Group - Pick every unit in (Units owned by Player 12 (Brown).) and do (Grant shared vision of (Picked unit) to Player 9 (Gray))
    Unit Group - Pick every unit in (Units owned by Player 11 (Dark Green).) and do (Grant shared vision of (Picked unit) to Player 2 (Blue))
    Unit Group - Pick every unit in (Units owned by Player 11 (Dark Green).) and do (Grant shared vision of (Picked unit) to Player 9 (Gray))
Intro Cancel
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet IntroCancel = True
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Set VariableSet Cinematic = False
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.50 seconds
    Cinematic - Turn cinematic mode Off for (All players)
    Unit - Move ArthasVariable instantly to (Center of Arthas_Cin_Skip_Move <gen>)
    Unit - Make ArthasVariable Vulnerable
    Unit Group - Pick every unit in (Units in VillagersESCmove <gen>) and do (Move (Picked unit) instantly to (Center of Villagers_Go_Here <gen>))
    Camera - .Apply. gg_cam_Arthas_Town for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Arthas_Town for Player 9 (Gray) over 0.00 seconds
    Wait 0.10 seconds
    Camera - Reset camera for Player 2 (Blue) to standard game-view over 0.00 seconds
    Camera - Reset camera for Player 9 (Gray) to standard game-view over 0.00 seconds
    Unit - Remove Plagued Male Villager 0094 <gen> from the game
    Unit - Remove Plagued Male Villager 0031 <gen> from the game
    Unit - Remove Plagued Female Villager 0089 <gen> from the game
    Unit - Remove Plagued Male Villager 0125 <gen> from the game
    Environment - Set sky to None
    Trigger - Run Arthas_Gets_Town <gen> (ignoring conditions)
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
Form Uthers Group
  Events
  Conditions
  Actions
    Unit Group - Add UtherVariable to UthersGroup
    Unit Group - Add Knight 0046 <gen> to UthersGroup
    Sound - Attach HorseLoop2 <gen> to Knight 0046 <gen>
    Sound - Play HorseLoop2 <gen>
    Unit Group - Add Knight 0047 <gen> to UthersGroup
    Unit Group - Add Knight 0048 <gen> to UthersGroup
    Unit Group - Add Knight 0049 <gen> to UthersGroup
    Sound - Attach HorseLoop3 <gen> to Knight 0049 <gen>
    Sound - Play HorseLoop3 <gen>
PreCinematic
  Events
  Conditions
  Actions
    Unit - Change ownership of Archmage 0006 <gen> to Player 4 (Purple) and Change color
    Unit - Change ownership of Knight 0016 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Knight 0017 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Footman 0128 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Footman 0126 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Town Hall 0009 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Town Hall 0063 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Barracks 0010 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Barracks 0077 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Guard Tower 0130 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Guard Tower 0129 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Altar of Kings 0012 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Altar of Kings 0073 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Lumber Mill 0068 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Lumber Mill 0008 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Farm 0183 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Farm 0095 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Farm 0180 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Farm 0181 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Peasant 0197 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Peasant 0076 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Peasant 0196 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Peasant 0195 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Peasant 0015 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Peasant 0194 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Peasant 0014 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Peasant 0013 <gen> to Player 9 (Gray) and Change color
    Unit - Change ownership of Paladin 0080 <gen> to Player 2 (Blue) and Change color
    Unit - Change ownership of Captain 0081 <gen> to Player 9 (Gray) and Change color
    Trigger - Turn on All_Buildings_Destroyed <gen>
Cinematic Uther Moves In
  Events
  Conditions
  Actions
    Environment - Set sky to Lordaeron Winter Sky
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop01 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop02 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop03 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop04 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop05 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop06 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop07 <gen>
    Sound - Add WaterStreamLoop1 <gen> across StreamLoop08 <gen>
    Camera - .Apply. gg_cam_Arthas_and_Jaina_1 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Arthas_and_Jaina_1 for Player 9 (Gray) over 0.00 seconds
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Sound - Clear the music list
    Cinematic - Turn cinematic mode On for (All players)
    Wait 0.10 seconds
    Trigger - Turn on Intro_Cancel <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Sound - Play Dark Agents.
    Sound - Set the music list to Music, starting with song 2
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.20 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order ArthasVariable to Move To.(Center of Cin1ArthasStop1 <gen>)
    Unit - Order JainaVariable to Move To.(Center of Cin1JainaStop1 <gen>)
    Unit - Order CaptainVariable to Move To.(Center of CaptainCinematic <gen>)
    Sound - Set position of HorseLoop3 <gen> to (Center of Arthas_Town <gen>) with Z offset 0
    Sound - Play HorseLoop3 <gen>
    Unit - Order UtherVariable to Move To.(Center of Cin1UtherGoHere1 <gen>)
    Sound - Attach HorseLoop3 <gen> to UtherVariable
    Sound - Play HorseLoop3 <gen>
    Sound - Attach KnightNoRiderYesAttack2 <gen> to Knight 0046 <gen>
    Sound - Set volume of KnightNoRiderYesAttack2 <gen> to 70.00%
    Sound - Play KnightNoRiderYesAttack2 <gen>
    Unit Group - Order (Units in Cin1KnightsAStart <gen>) to Move To.(Center of Cin1KnightsAGoHere1 <gen>)
    Unit Group - Order (Units in Cin1KnightsBStart <gen>) to Move To.(Center of Cin1KnightsBGoHere1 <gen>)
    Camera - .Apply. gg_cam_Arthas_and_Jaina_2 for Player 2 (Blue) over 8.00 seconds
    Camera - .Apply. gg_cam_Arthas_and_Jaina_2 for Player 9 (Gray) over 8.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 8.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make ArthasVariable face UtherVariable over 1.00 seconds
    Unit - Make JainaVariable face ArthasVariable over 0.25 seconds
    Camera - .Apply. gg_cam_Arthas_and_Jaina_2 for Player 2 (Blue) over 10.00 seconds
    Camera - .Apply. gg_cam_Arthas_and_Jaina_2 for Player 9 (Gray) over 10.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas01 <gen> and display Glad you could make it, Uther.. Modify duration: Add 0.00 seconds and Don't wait
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for H06Arthas01 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Arthas_Jaina_and_UtherStart for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Arthas_Jaina_and_UtherStart for Player 9 (Gray) over 0.00 seconds
    Camera - .Apply. gg_cam_Arthas_Jaina_and_Uther for Player 2 (Blue) over 10.00 seconds
    Camera - .Apply. gg_cam_Arthas_Jaina_and_Uther for Player 9 (Gray) over 10.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther02 <gen> and display Watch your tone with me, boy. You may be the prince, but I'm still your superior as a paladin!. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Uther02 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order ArthasVariable to Move To.(Center of Cin1ArthasStop2 <gen>)
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas03 <gen> and display As if I could forget. Listen, Uther, there's something about the plague you should know..... Modify duration: Add 0.00 seconds and Don't wait
    Sound - Attach KnightNoRiderWhat2 <gen> to Knight 0047 <gen>
    Sound - Set volume of KnightNoRiderWhat2 <gen> to 40.00%
    Sound - Play KnightNoRiderWhat2 <gen>
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 3.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make UtherVariable face ArthasVariable over 0.50 seconds
    Unit - Order CaptainVariable to Move To.(Center of CaptainCinematic_Copy <gen>)
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 2.00 seconds
    Unit - Make CaptainVariable face ArthasVariable over 0.50 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade out over 0.30 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.30 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 0.30 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Villagers_Over_There for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Villagers_Over_There for Player 9 (Gray) over 0.00 seconds
    Sound - Attach CityScapeCathedralLoop1 <gen> to Plagued Male Villager 0031 <gen>
    Sound - Set volume of CityScapeCathedralLoop1 <gen> to 90.00%
    Sound - Play CityScapeCathedralLoop1 <gen>
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.50 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for (Last played sound) to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Grain_of_Andorhal for Player 2 (Blue) over 0.70 seconds
    Camera - .Apply. gg_cam_Grain_of_Andorhal for Player 9 (Gray) over 0.70 seconds
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas04 <gen> and display Oh, no. We're too late. These people have all been infected! They may look fine now, but it's just a matter of time before they turn into the undead!. Modify duration: Add 0.00 seconds and Don't wait
    Sound - Play CityScapeCathedralLoop1 <gen>
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Plagued Male Villager 0125 <gen> to Move To.(Center of Villagers_Go_Here <gen>)
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Plagued Female Villager 0089 <gen> to Move To.(Center of Villagers_Go_Here_2 <gen>)
    Wait 1.50 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order Plagued Male Villager 0031 <gen> to Move To.(Center of Villagers_Go_Here <gen>)
    Wait 0.50 seconds
    Unit - Order Plagued Male Villager 0094 <gen> to Move To.(Center of Villagers_Go_Here_2 <gen>)
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for H06Arthas04 <gen> to be 0.50 seconds from finished playing
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther05 <gen> and display What?. Modify duration: Add 0.00 seconds and Don't wait
    Wait 1.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make ArthasVariable face UtherVariable over 0.25 seconds
    Unit - Make UtherVariable face ArthasVariable over 0.25 seconds
    Unit - Make JainaVariable face ArthasVariable over 0.25 seconds
    Wait 1.00 seconds
    Camera - .Apply. gg_cam_What_Must_Be_Purged for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_What_Must_Be_Purged for Player 9 (Gray) over 0.00 seconds
    Wait 1.00 seconds
    Wait for H06Uther05 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas06 <gen> and display This entire city must be purged.. Modify duration: Add 0.00 seconds and Don't wait
    Sound - Play Tragic Confrontation.
    Wait for H06Arthas06 <gen> to be 0 seconds from finished playing
    Wait 1.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther07 <gen> and display How can you even consider that? There's got to be some other way.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Uther07 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas08 <gen> and display Damn it, Uther! As your future king, I order you to purge this city!. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Arthas08 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther09 <gen> and display You are not my king yet, boy! Nor would I obey that command even if you were!. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Uther09 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas10 <gen> and display Then I must consider this an act of treason.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Arthas10 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Uther_Shocked for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Uther_Shocked for Player 9 (Gray) over 0.00 seconds
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther11 <gen> and display Treason? Have you lost your mind, Arthas?. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Uther11 <gen> to be 0.50 seconds from finished playing
    Sound - Attach KnightNoRiderWhat3 <gen> to Knight 0047 <gen>
    Sound - Set volume of KnightNoRiderWhat3 <gen> to 50.00%
    Sound - Play KnightNoRiderWhat3 <gen>
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Arthas_Expostulates for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Arthas_Expostulates for Player 9 (Gray) over 0.00 seconds
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas12 <gen> and display Have I? Lord Uther, by my right of succession and the sovereignty of my crown, I hereby relieve you of your command and suspend your paladins from service.. Modify duration: Add 0.00 seconds and Don't wait
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for (Last played sound) to be 1.00 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from JainaVariable named Jaina Proudmoore: Play H06Jaina13 <gen> and display Arthas! You can't just--. Modify duration: Add 0.00 seconds and Don't wait
    Wait for (Last played sound) to be 0.80 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas14 <gen> and display It's done! Those of you who have the will to save this land, follow me! The rest of you... get out of my sight!. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Arthas14 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - .Apply. gg_cam_Jaina_Leaving for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Jaina_Leaving for Player 9 (Gray) over 0.00 seconds
    Unit - Order Knight 0049 <gen> to Move To.(Center of Cin1KnightsALeave <gen>)
    Unit - Order Knight 0048 <gen> to Move To.(Center of Cin1KnightsBLeave <gen>)
    Unit - Order Knight 0047 <gen> to Move To.(Center of Cin1KnightsBLeave <gen>)
    Unit - Order Knight 0046 <gen> to Move To.(Center of Cin1KnightsALeave <gen>)
    Sound - Attach HorseLoop2 <gen> to Knight 0046 <gen>
    Sound - Play HorseLoop2 <gen>
    Sound - Attach HorseLoop3 <gen> to Knight 0049 <gen>
    Sound - Play HorseLoop3 <gen>
    Sound - Attach KnightNoRiderYesAttack1 <gen> to Knight 0046 <gen>
    Sound - Play KnightNoRiderYesAttack1 <gen>
    Wait 3.00 seconds
    Unit - Turn collision for Knight 0046 <gen> Off.
    Unit - Turn collision for Knight 0047 <gen> Off.
    Unit - Turn collision for Knight 0048 <gen> Off.
    Unit - Turn collision for Knight 0049 <gen> Off.
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from UtherVariable named Uther the Lightbringer: Play H06Uther15 <gen> and display You've just crossed a terrible threshold, Arthas.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Uther15 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order UtherVariable to Move To.(Center of Cin1UtherLeave <gen>)
    Unit - Order JainaVariable to Move To.(Center of Cin1JainaLeave <gen>)
    Wait 2.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make ArthasVariable face JainaVariable over 0.20 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas16 <gen> and display Jaina?. Modify duration: Add 0.00 seconds and Don't wait
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order JainaVariable to Stop.
    Wait 2.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for (Last played sound) to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from JainaVariable named Jaina Proudmoore: Play H06Jaina17 <gen> and display I'm sorry, Arthas. I can't watch you do this.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Jaina17 <gen> to be 0 seconds from finished playing
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order JainaVariable to Move To.(Center of Cin1JainaLeave <gen>)
    Wait 3.00 seconds
    If (IntroCancel Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Run Uther_and_co_Leave <gen> (ignoring conditions)
    Trigger - Turn off Intro_Cancel <gen>
    Trigger - Turn off Skip_Cinematic <gen>
Remove Villager1
  Events
    Unit - A unit enters Villagers_Go_Here <gen>
  Conditions
    (Entering unit) Equal to Plagued Male Villager 0125 <gen>
  Actions
    Unit - Remove (Entering unit) from the game
Remove Villager2
  Events
    Unit - A unit enters Villagers_Go_Here <gen>
  Conditions
    (Entering unit) Equal to Plagued Male Villager 0031 <gen>
  Actions
    Unit - Remove (Entering unit) from the game
    Sound - Play DoorSlam1 <gen>
Remove Villager3
  Events
    Unit - A unit enters Villagers_Go_Here_2 <gen>
  Conditions
    (Entering unit) Equal to Plagued Female Villager 0089 <gen>
  Actions
    Unit - Remove (Entering unit) from the game
Remove Villager4
  Events
    Unit - A unit enters Villagers_Go_Here_2 <gen>
  Conditions
    (Entering unit) Equal to Plagued Male Villager 0094 <gen>
  Actions
    Unit - Remove (Entering unit) from the game
    Sound - Play DoorSlam101 <gen>
Uther and co Leave
  Events
  Conditions
  Actions
    Unit - Make ArthasVariable Vulnerable
    Cinematic - Turn cinematic mode Off for (All players)
    Unit - Order ArthasVariable to Move To.(Center of Arthas_Cin_Skip_Move <gen>)
    Camera - .Apply. gg_cam_Arthas_Town for Player 2 (Blue) over 2.00 seconds
    Camera - .Apply. gg_cam_Arthas_Town for Player 9 (Gray) over 2.00 seconds
    Wait 2.00 seconds
    Camera - Reset camera for Player 2 (Blue) to standard game-view over 0.00 seconds
    Camera - Reset camera for Player 9 (Gray) to standard game-view over 0.00 seconds
    Set VariableSet Cinematic = False
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Environment - Set sky to None
    Trigger - Run Arthas_Gets_Town <gen> (ignoring conditions)
Starts the AI.
Turns on Villagers Run District 1 (to stop possible problem with intro cinematic villagers doing dumb stuff).
Arthas Gets Town
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Run Setup_Leaderboard <gen> (checking conditions)
    Selection - Select Arthas for Player 2 (Blue)
    Selection - Select Captain for Player 9 (Gray)
    Unit - Remove JainaVariable from the game
    Unit Group - Pick every unit in UthersGroup and do (Remove (Picked unit) from the game)
    Unit - Make ArthasVariable Vulnerable
    Unit Group - Pick every unit in (Units in Harvest_Gold1 <gen>) and do (Order (Picked unit) to Harvest Nearby Gold.)
    Unit Group - Pick every unit in (Units in Harvest_Gold2 <gen>) and do (Order (Picked unit) to Harvest Nearby Gold.)
    Unit Group - Pick every unit in (Units in Harvest_Lumber1 <gen>) and do (Order (Picked unit) to Harvest Nearby Lumber.)
    Unit Group - Pick every unit in (Units in Harvest_Lumber2 <gen>) and do (Order (Picked unit) to Harvest Nearby Lumber.)
    Player - Add 400 to Player 2 (Blue).Current gold
    Player - Add 400 to Player 9 (Gray).Current gold
    Player - Add 200 to Player 2 (Blue).Current lumber
    Player - Add 200 to Player 9 (Gray).Current lumber
    Quest - Create a Required quest titled The Culling with the description Mal'Ganis seeks to turn Stratholme's citizens into his Undead slaves. If he is successful, his armies will be unstoppable. You must destroy their homes and put the plagued wretches out of their misery before Mal'Ganis can claim their souls. , using icon path ReplaceableTextures\CommandButtons\BTNRallypointundead.tga
    Set VariableSet CullingQuest = (Last created quest)
    Quest - Create a quest requirement for CullingQuest with the description Destroy plagued villager houses
    Quest - Create a quest requirement for CullingQuest with the description Kill 100 zombies
    Quest - Create a quest requirement for CullingQuest with the description Stop Mal'Ganis from claiming 100 zombies
    Quest - Flash the quest dialog button
    Quest - Display to (All players) the Quest Discovered message: |cffffcc00MAIN QUEST|rThe Culling - Destroy plagued villager houses - Kill 100 zombies - Stop Mal'Ganis from claiming 100 zombies
    Wait Campaign quest delay seconds
    Trigger - Run New_Unit_Available <gen> (ignoring conditions)
    AI - Send Player 4 (Purple) the AI Command (0, 0)
    Trigger - Turn on Villagers_Run_District_1 <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Countdown Timer - Start MalganisAttackTimer as a One-shot timer that will expire in 80.00 seconds
      Else - Actions
        Countdown Timer - Start MalganisAttackTimer as a One-shot timer that will expire in 120.00 seconds
    Wait 10.00 seconds
    Player - Make Player 2 (Blue) treat Player 4 (Purple) as an Enemy
    Player - Make Player 9 (Gray) treat Player 4 (Purple) as an Enemy
    Player - Make Player 4 (Purple) treat Player 2 (Blue) as an Enemy
    Player - Make Player 4 (Purple) treat Player 9 (Gray) as an Enemy
New Unit Available
  Events
  Conditions
  Actions
    Wait 5.00 seconds
    Quest - Display to (All players) the New Unit Acquired message: |cff87ceebNEW UNIT AVAILABLE|r Knight - You may now build Knights from the Barracks. They are powerful mounted warriors.
Malganis Attack
  Events
    Unit - A unit owned by Player 9 (Gray).Dies
    Unit - A unit owned by Player 3 (Teal).Dies
    Time - MalganisAttackTimer expires
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Wait 0.50 seconds
    Trigger - Run Malganis_First_Attacks <gen> (ignoring conditions)
Kill Villager Deny Malganis
  Events
    Unit - A unit owned by Player 8 (Pink).Dies
  Conditions
    (((Unit-type of (Dying unit)) Equal to Plagued Child Villager) or ((Unit-type of (Dying unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Triggering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Triggering unit)) Equal to Plagued Male Villager (Male)))
    ((Killing unit) belongs to an ally of Player 2 (Blue).) Equal to True
    ((Killing unit) belongs to an ally of Player 9 (Gray).) Equal to True
  Actions
    Set VariableSet ArthasDenials = (ArthasDenials + 1.00)
    Trigger - Run Leaderboard_Tracking <gen> (checking conditions)
Kill Zombie Deny Malganis
  Events
    Unit - A unit owned by Player 3 (Teal).Dies
    Unit - A unit owned by Player 8 (Pink).Dies
  Conditions
    (Unit-type of (Dying unit)) Equal to Zombie
    ((Killing unit) belongs to an ally of Player 2 (Blue).) Equal to True
    ((Killing unit) belongs to an ally of Player 9 (Gray).) Equal to True
  Actions
    Set VariableSet ArthasDenials = (ArthasDenials + 1.00)
    Trigger - Run Leaderboard_Tracking <gen> (checking conditions)
Adding Mal'Ganis and his Leaderboard value color are done in Malganis First Teleport (Cin Skip).
Setup Leaderboard
  Events
  Conditions
  Actions
    Leaderboard - Create a leaderboard for Player Group - Player 2 (Blue) titled Plagued Villagers
    Leaderboard - Add Player 2 (Blue) to (Last created leaderboard) with label Arthas and value 0
    Leaderboard - Change the color of the value for Player 2 (Blue) in (Last created leaderboard) to (100%, 100%, 100%) with 0% transparency
    Set VariableSet Leaderboard1 = (Last created leaderboard)
    Leaderboard - Create a leaderboard for Player Group - Player 9 (Gray) titled Plagued Villagers
    Leaderboard - Add Player 9 (Gray) to (Last created leaderboard) with label Arthas and value 0
    Leaderboard - Change the color of the value for Player 9 (Gray) in (Last created leaderboard) to (100%, 100%, 100%) with 0% transparency
    Leaderboard - Change the color of the label for Player 9 (Gray) in Leaderboard2 to (0.00%, 16.47%, 100.00%) with 0% transparency
    Set VariableSet Leaderboard2 = (Last created leaderboard)
Leaderboard Tracking
  Events
  Conditions
  Actions
    Leaderboard - Change the value for Player 2 (Blue) in (Leaderboard of Player 2 (Blue)) to (Integer(ArthasDenials))
    If (((Leaderboard of Player 2 (Blue)) contains Player 7 (Green)) Equal to True) then do (Change the value for Player 7 (Green) in (Leaderboard of Player 2 (Blue)) to (Integer(MalganisConversions))) else do (Do nothing)
    Leaderboard - Change the value for Player 9 (Gray) in (Leaderboard of Player 9 (Gray)) to (Integer(ArthasDenials))
    If (((Leaderboard of Player 9 (Gray)) contains Player 7 (Green)) Equal to True) then do (Change the value for Player 7 (Green) in (Leaderboard of Player 9 (Gray)) to (Integer(MalganisConversions))) else do (Do nothing)
Hint for Killing Villagers
  Events
    Unit - A unit enters Malganis_Sneak1_Buildings <gen>
    Unit - A unit enters Malganis_Sneak2_Buildings <gen>
    Unit - A unit enters Malganis_Sneak3_Buildings <gen>
    Unit - A unit enters Malganis_Sneak4_Buildings <gen>
    Unit - A unit enters Malganis_Sneak5_Buildings <gen>
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Entering unit)) Equal to Player 2 (Blue)
        (Owner of (Entering unit)) Equal to Player 9 (Gray)
  Actions
    Trigger - Turn off (This trigger)
    Trigger - Add Hint_for_Killing_Villagers_Que <gen> to the trigger queue (Checking conditions)
Hint for Killing Villagers Que
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Quest - Display to (All players) the Simple Hint message: |cff32cd32HINT|r - The plagued villagers are hiding inside the city buildings. Destroy the buildings to get to the plagued villagers.
    Wait 10.00 seconds
    Trigger - Remove (This trigger) from the trigger queue
Run by Arthas Gets Town
Malganis First Attacks
  Events
  Conditions
  Actions
    Unit Group - Add all units of (Units in MalganisSpawnDS <gen> owned by Player 7 (Green)) to MalganisDeathSquad
    Trigger - Add Malganis_First_Teleport_Cinematic <gen> to the trigger queue (Checking conditions)
Adds Mal'Ganis to Leaderboard AND sets the color of his Leaderboard Value to white.
Malganis First Teleport Cin Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet MalganisFirstTeleCinSkip = True
    -------- Fade out --------
    Cinematic - Fade out over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 0.60 seconds
    -------- Clean up the scene --------
    Cinematic - Turn cinematic mode Off for (All players)
    Camera - Reset camera for Player 2 (Blue) to standard game-view over 0 seconds
    Camera - Reset camera for Player 9 (Gray) to standard game-view over 0 seconds
    Camera - Pan camera for Player 2 (Blue) to (Position of ArthasVariable) over 0 seconds
    Camera - Pan camera for Player 9 (Gray) to (Position of CaptainVariable) over 0 seconds
    Camera - Reset camera smoothing factor
    Special Effect - Destroy (Last created special effect)
    Game - Turn the day/night cycle On
    Unit - Kill City Building 0064 <gen>
    Unit - Move MalganisVariable instantly to (Center of MalganicFirstTPSkip_Move <gen>)
    Unit Group - Pick every unit in MalganisDeathSquad and do (Move (Picked unit) instantly to (Center of MalganicFirstTPSkip_Move <gen>))
    Unit Group - Pick every unit in HideUnits and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Make (Picked unit) Vulnerable)
    Unit Group - Pick every unit in (Units owned by Player 9 (Gray).) and do (Make (Picked unit) Vulnerable)
    Unit - Unpause all units
    Selection - Select SelectedUnits1 for Player 2 (Blue)
    Selection - Select SelectedUnits1 for Player 9 (Gray)
    -------- Start AI --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        AI - Start campaign AI script for Player 4 (Purple): war3mapImported\H6 Insane 1.ai (aiscript)
      Else - Actions
        AI - Start campaign AI script for Player 4 (Purple): h06_purple.ai (aiscript)
    AI - Start campaign AI script for Player 7 (Green): h06_green.ai (aiscript)
    Set VariableSet MalganisCaptainX = (X of (Center of Malganis_Sneak1 <gen>))
    Set VariableSet MalganisCaptainY = (Y of (Center of Malganis_Sneak1 <gen>))
    AI - Send Player 7 (Green) the AI Command (7, 0)
    AI - Send Player 7 (Green) the AI Command (6, (Integer(MalganisCaptainY)))
    AI - Send Player 7 (Green) the AI Command (5, (Integer(MalganisCaptainX)))
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility from (Position of MalganisVariable) to a radius of 512.00.
    Set VariableSet MalaganisFirstTele1 = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Visibility from (Position of MalganisVariable) to a radius of 512.00.
    Set VariableSet MalaganisFirstTele2 = (Last created visibility modifier)
    Set VariableSet MalganisFirstTeleCin = False
    -------- Update leaderboard --------
    Leaderboard - Add Player 7 (Green) to Leaderboard1 with label Mal'Ganis and value 0
    Leaderboard - Change the color of the value for Player 7 (Green) in Leaderboard1 to (100%, 100%, 100%) with 0% transparency
    Leaderboard - Show (Last created leaderboard)
    Leaderboard - Add Player 7 (Green) to Leaderboard2 with label Mal'Ganis and value 0
    Leaderboard - Change the color of the value for Player 7 (Green) in Leaderboard2 to (100%, 100%, 100%) with 0% transparency
    Leaderboard - Show (Last created leaderboard)
    Trigger - Run Leaderboard_Tracking <gen> (checking conditions)
    -------- Fade in --------
    Cinematic - Fade in over 0.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Set VariableSet Cinematic = False
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Wait 4.00 seconds
    Visibility - Destroy MalaganisFirstTele1
    Visibility - Destroy MalaganisFirstTele2
    Trigger - Run Malganis_First_Building_Attack <gen> (ignoring conditions)
    Trigger - Remove Malganis_First_Teleport_Cinematic <gen> from the trigger queue
    Trigger - Turn on Reactivate_AI <gen>
Adds Mal'Ganis to Leaderboard AND sets the color of his Leaderboard Value to white.
Malganis First Teleport Cinematic
  Events
  Conditions
    GameOver Equal to False
  Actions
    Game - Turn the day/night cycle Off
    Set VariableSet MalganisFirstTeleCin = True
    Set VariableSet Cinematic = 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
    Cinematic - Turn cinematic mode On for (All players)
    -------- Set up the scene --------
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Remove All buffs from (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player 9 (Gray).) and do (Remove All buffs from (Picked unit))
    Set VariableSet SelectedUnits1 = (Units currently selected by Player 2 (Blue))
    Set VariableSet SelectedUnits2 = (Units currently selected by Player 9 (Gray))
    Selection - Clear selection
    Trigger - Run Malganis_First_Get_Arthas_Alt <gen> (checking conditions)
    Unit - Pause all units
    Unit Group - Pick every unit in MalganisDeathSquad and do (Unpause (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Make (Picked unit) Invulnerable)
    Unit Group - Pick every unit in (Units owned by Player 9 (Gray).) and do (Make (Picked unit) Invulnerable)
    Unit Group - Pick every unit in (Units owned by Player 8 (Pink).) and do (Add (Picked unit) to HideUnits)
    Unit Group - Pick every unit in (Units owned by Player 3 (Teal).) and do (Add (Picked unit) to HideUnits)
    Leaderboard - Hide (Last created leaderboard)
    Camera - .Apply. gg_cam_MalGanis_IntroCin1 for Player 2 (Blue) over 0 seconds
    Camera - .Apply. gg_cam_MalGanis_IntroCin1 for Player 9 (Gray) over 0 seconds
    -------- CINEMATIC BEGINS - Cinematic is now skippable --------
    Trigger - Turn on Malganis_First_Teleport_Cin_Skip <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    -------- 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
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Play Dark Agents.
    Special Effect - Create a special effect at (Center of Malganis_Sneak1 <gen>) using Abilities\Spells\Undead\DarkSummoning\DarkSummonTarget.mdl
    Sound - Set position of DarkSummoningTarget1 <gen> to (Center of Malganis_Sneak1_Buildings <gen>) with Z offset 0
    Sound - Play DarkSummoningTarget1 <gen>
    Wait 2.00 seconds
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit Group - Pick every unit in MalganisDeathSquad and do (Move (Picked unit) instantly to (Center of Malganis_Sneak1 <gen>))
    Wait 0.20 seconds
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Destroy (Last created special effect)
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis31 <gen> and display I've been waiting for you, young prince. I am Mal'Ganis.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06MalGanis31 <gen> to be 0 seconds from finished playing
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make City Building 0064 <gen> Vulnerable
    Unit - Change ownership of City Building 0064 <gen> to Player 11 (Dark Green) and Retain color
    Camera - .Apply. gg_cam_MalGanis_IntroCin2 for Player 2 (Blue) over 5.00 seconds
    Camera - .Apply. gg_cam_MalGanis_IntroCin2 for Player 9 (Gray) over 5.00 seconds
    Unit Group - Order MalganisDeathSquad to Attack-Move To.(Position of City Building 0064 <gen>)
    Wait 6.00 seconds
    Unit - Kill City Building 0064 <gen>
    Wait 2.00 seconds
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis32 <gen> and display As you can see, your people are now mine. I will now turn this city household by household, until the flame of life has been snuffed out... forever.. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06MalGanis32 <gen> to be 0 seconds from finished playing
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Reset camera for Player 2 (Blue) to standard game-view over 0 seconds
    Camera - Reset camera for Player 9 (Gray) to standard game-view over 0 seconds
    Camera - Pan camera for Player 2 (Blue) to (Position of ArthasVariable) over 0 seconds
    Camera - Pan camera for Player 9 (Gray) to (Position of CaptainVariable) over 0 seconds
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas33 <gen> and display I won't allow it, Mal'Ganis! Better that these people die by my hand than serve as your slaves in death!. Modify duration: Add 0.00 seconds and Don't wait
    Wait for H06Arthas33 <gen> to be 0 seconds from finished playing
    If (MalganisFirstTeleCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- CINEMATIC ENDS - Cinematic can no longer be skipped --------
    Trigger - Turn off Malganis_First_Teleport_Cin_Skip <gen>
    Trigger - Turn off Skip_Cinematic <gen>
    -------- Return to gameplay without a fade --------
    Cinematic - Turn cinematic mode Off for (All players)
    -------- Clean up the scene --------
    Unit Group - Pick every unit in HideUnits and do (Unhide (Picked unit))
    Unit Group - Pick every unit in (Units owned by Player 2 (Blue).) and do (Make (Picked unit) Vulnerable)
    Unit Group - Pick every unit in (Units owned by Player 9 (Gray).) and do (Make (Picked unit) Vulnerable)
    Unit - Unpause all units
    Selection - Select SelectedUnits1 for Player 2 (Blue)
    Selection - Select SelectedUnits2 for Player 9 (Gray)
    -------- Start AI --------
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        AI - Start campaign AI script for Player 4 (Purple): war3mapImported\H6 Insane 1.ai (aiscript)
      Else - Actions
        AI - Start campaign AI script for Player 4 (Purple): h06_purple.ai (aiscript)
    AI - Start campaign AI script for Player 7 (Green): h06_green.ai (aiscript)
    Set VariableSet MalganisCaptainX = (X of (Center of Malganis_Sneak1 <gen>))
    Set VariableSet MalganisCaptainY = (Y of (Center of Malganis_Sneak1 <gen>))
    AI - Send Player 7 (Green) the AI Command (7, 0)
    AI - Send Player 7 (Green) the AI Command (6, (Integer(MalganisCaptainY)))
    AI - Send Player 7 (Green) the AI Command (5, (Integer(MalganisCaptainX)))
    -------- OLD STUFF BELOW LEAVE FOR END OF CIN? --------
    Trigger - Run Malganis_First_Building_Attack <gen> (ignoring conditions)
    Set VariableSet PlayerCameraPosition = (Position of MalganisVariable)
    Visibility - Create an initially Enabled visibility modifier for Player 2 (Blue) emitting Visibility from (Position of MalganisVariable) to a radius of 512.00.
    Set VariableSet MalaganisFirstTele1 = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player 9 (Gray) emitting Visibility from (Position of MalganisVariable) to a radius of 512.00.
    Set VariableSet MalaganisFirstTele2 = (Last created visibility modifier)
    Set VariableSet MalganisFirstTeleCin = False
    -------- Update leaderboard --------
    Leaderboard - Add Player 7 (Green) to Leaderboard1 with label Mal'Ganis and value 0
    Leaderboard - Change the color of the value for Player 7 (Green) in Leaderboard1 to (100%, 100%, 100%) with 0% transparency
    Leaderboard - Show Leaderboard1
    Leaderboard - Add Player 7 (Green) to Leaderboard2 with label Mal'Ganis and value 0
    Leaderboard - Change the color of the value for Player 7 (Green) in Leaderboard2 to (100%, 100%, 100%) with 0% transparency
    Leaderboard - Show Leaderboard2
    Trigger - Run Leaderboard_Tracking <gen> (checking conditions)
    Set VariableSet Cinematic = False
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Wait 4.00 seconds
    Visibility - Destroy MalaganisFirstTele1
    Visibility - Destroy MalaganisFirstTele2
    Game - Turn the day/night cycle On
    Trigger - Remove (This trigger) from the trigger queue
    Trigger - Turn on Reactivate_AI <gen>
Malganis First Building Attack
  Events
  Conditions
  Actions
    If ((Number of units in Buildings1) Equal to 0) then do (Skip remaining actions) else do (Do nothing)
    Set VariableSet MalganisTargetHouse = (Random unit from Buildings1)
    Unit - Change ownership of MalganisTargetHouse to Player 11 (Dark Green) and Retain color
    Set VariableSet MalganisTargetHouseX = (X of (Position of MalganisTargetHouse))
    Set VariableSet MalganisTargetHouseY = (Y of (Position of MalganisTargetHouse))
    AI - Send Player 7 (Green) the AI Command (3, 0)
    AI - Send Player 7 (Green) the AI Command (2, (Integer(MalganisTargetHouseY)))
    AI - Send Player 7 (Green) the AI Command (1, (Integer(MalganisTargetHouseX)))
Malganis First Get Arthas Alt
  Events
  Conditions
    (ArthasVariable is dead) Equal to True
  Actions
    -------- If Arthas was dead, revive him on the spot --------
    Hero - Instantly revive ArthasVariable at (Center of Arthas_Cin_Skip_Move <gen>), Hide revival graphics
    -------- If an Altar exists, move him to the Altar's location --------
    Set VariableSet RevivalAltar = (Random unit from (Units owned by Player 2 (Blue) of type Altar of Kings))
    If (RevivalAltar Not equal to No unit) then do (Move ArthasVariable instantly to ((Position of RevivalAltar) offset by (0, -128.00))) else do (Do nothing)
    Unit - Make ArthasVariable face 225.00 over 0 seconds
Turned on in Arthas Gets Town to stop possible stupidity with intro cinematic.
Villagers Run District 1
  Events
    Unit - A unit enters Malganis_Sneak1_Buildings <gen>
  Conditions
    (((Unit-type of (Entering unit)) Equal to Plagued Child Villager) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Entering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male)))
  Actions
    Wait 0.10 seconds
    Unit - Order (Entering unit) to Move To.(Random point in Malganis_Sneak1_Buildings <gen>)
Villagers Run District 2
  Events
    Unit - A unit enters Malganis_Sneak2_Buildings <gen>
  Conditions
    (((Unit-type of (Entering unit)) Equal to Plagued Child Villager) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Entering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male)))
  Actions
    Wait 0.10 seconds
    Unit - Order (Entering unit) to Move To.(Random point in Malganis_Sneak2_Buildings <gen>)
Villagers Run District 3
  Events
    Unit - A unit enters Malganis_Sneak3_Buildings <gen>
  Conditions
    (((Unit-type of (Entering unit)) Equal to Plagued Child Villager) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Entering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male)))
  Actions
    Wait 0.10 seconds
    Unit - Order (Entering unit) to Move To.(Random point in Malganis_Sneak3_Buildings <gen>)
Villagers Run District 4
  Events
    Unit - A unit enters Malganis_Sneak4_Buildings <gen>
  Conditions
    (((Unit-type of (Entering unit)) Equal to Plagued Child Villager) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Entering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male)))
  Actions
    Wait 0.10 seconds
    Unit - Order (Entering unit) to Move To.(Random point in Malganis_Sneak4_Buildings <gen>)
Villagers Run District 5
  Events
    Unit - A unit enters Malganis_Sneak5_Buildings <gen>
  Conditions
    (((Unit-type of (Entering unit)) Equal to Plagued Child Villager) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male 2))) or (((Unit-type of (Entering unit)) Equal to Plagued Female Villager (Female)) or ((Unit-type of (Entering unit)) Equal to Plagued Male Villager (Male)))
  Actions
    Wait 0.10 seconds
    Unit - Order (Entering unit) to Move To.(Random point in Malganis_Sneak5_Buildings <gen>)
If Building Pops MakeVillagers
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((((Unit-type of (Dying unit)) Equal to City Building 0) or (((Unit-type of (Dying unit)) Equal to City Building 1) or (((Unit-type of (Dying unit)) Equal to City Building 10) or ((Unit-type of (Dying unit)) Equal to City Building 11)))) or ((((Unit-type of (Dying unit)) Equal to City Building 2) or ((Unit-type of (Dying unit)) Equal to City Building 3)) or ((Unit-type of (Dying unit)) Equal to City Building 4))) or ((((Unit-type of (Dying unit)) Equal to City Building 5) or ((Unit-type of (Dying unit)) Equal to City Building 6)) or (((Unit-type of (Dying unit)) Equal to City Building 7) or (((Unit-type of (Dying unit)) Equal to City Building 9) or ((Unit-type of (Dying unit)) Equal to City Building 8))))
  Actions
    Set VariableSet DestroyedBuilding = (Dying unit)
    Trigger - Run Spawn_Villagers <gen> (ignoring conditions)
If Building Pops Shake Camera
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((((Unit-type of (Dying unit)) Equal to City Building 0) or (((Unit-type of (Dying unit)) Equal to City Building 1) or (((Unit-type of (Dying unit)) Equal to City Building 10) or ((Unit-type of (Dying unit)) Equal to City Building 11)))) or ((((Unit-type of (Dying unit)) Equal to City Building 2) or ((Unit-type of (Dying unit)) Equal to City Building 3)) or ((Unit-type of (Dying unit)) Equal to City Building 4))) or ((((Unit-type of (Dying unit)) Equal to City Building 5) or ((Unit-type of (Dying unit)) Equal to City Building 6)) or (((Unit-type of (Dying unit)) Equal to City Building 7) or (((Unit-type of (Dying unit)) Equal to City Building 9) or ((Unit-type of (Dying unit)) Equal to City Building 8))))
  Actions
    Camera - Sway the camera source for Player 2 (Blue) with magnitude 20.00 and velocity 1000.00
    Wait 2.00 seconds
    Camera - Stop swaying/shaking the camera for Player 2 (Blue).
Spawn Villagers
  Events
  Conditions
  Actions
    Trigger - Run Create_Man <gen> (ignoring conditions)
    Trigger - Run Create_Man <gen> (ignoring conditions)
    Trigger - Run Create_Woman <gen> (ignoring conditions)
    Trigger - Run Create_Woman <gen> (ignoring conditions)
    Trigger - Run Create_Rats <gen> (checking conditions)
Create Man
  Events
  Conditions
  Actions
    Set VariableSet RANDOMINTEGER = (Random integer number between 1 and 2)
    If (RANDOMINTEGER Equal to 1) then do (Create 1.Plagued Male Villager (Male) for Player 8 (Pink) at (Position of DestroyedBuilding) facing 0 degrees) else do (Do nothing)
    If (RANDOMINTEGER Equal to 2) then do (Create 1.Plagued Male Villager (Male 2) for Player 8 (Pink) at (Position of DestroyedBuilding) facing 0 degrees) else do (Do nothing)
    Set VariableSet VillagerToBeConverted = (Last created unit)
    Trigger - Run Convert_Villager <gen> (checking conditions)
Create Woman
  Events
  Conditions
  Actions
    Unit - Create 1.Plagued Female Villager (Female) for Player 8 (Pink) at (Position of DestroyedBuilding) facing 0.00 degrees
    Set VariableSet VillagerToBeConverted = (Last created unit)
    Trigger - Run Convert_Villager <gen> (checking conditions)
Create Child
  Events
  Conditions
  Actions
    Unit - Create 1.Plagued Child Villager for Player 8 (Pink) at (Position of DestroyedBuilding) facing 0.00 degrees
    Set VariableSet VillagerToBeConverted = (Last created unit)
    Trigger - Run Convert_Villager <gen> (checking conditions)
Create Rats
  Events
  Conditions
    (Random integer number between 1 and 5) Greater than 4
  Actions
    Set VariableSet RANDOMINTEGER = (Random integer number between 1 and 2)
    Unit - Create 1.Rat for Neutral Passive at (Position of DestroyedBuilding) facing 0.00 degrees
    If (RANDOMINTEGER Equal to 1) then do (Create 1.Rat for Neutral Passive at (Position of DestroyedBuilding) facing Default building facing degrees) else do (Do nothing)
    If (RANDOMINTEGER Equal to 1) then do (Create 1.Rat for Neutral Passive at (Position of DestroyedBuilding) facing Default building facing degrees) else do (Do nothing)
Malganis AI and Level
  Events
  Conditions
  Actions
    Hero - Set MalganisVariable Hero-level to 8, Hide level-up graphics
    Hero - Learn skill for MalganisVariable: Special Malganis - Dark Conversion
    Hero - Learn skill for MalganisVariable: Special Malganis - Soul Preservation
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Sleep
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Sleep
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Sleep
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Carrion Swarm
    Hero - Learn skill for MalganisVariable: Undead Dreadlord - Carrion Swarm
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Hero - Set MalganisVariable Hero-level to 10, Hide level-up graphics
      Else - Actions
    Hero - Disable experience gain for MalganisVariable.
Form Building Groups
  Events
  Conditions
  Actions
    Set VariableSet Buildings1 = (Units in Malganis_Sneak1_Buildings <gen> matching ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to Player 12 (Brown))))
    Set VariableSet Buildings2 = (Units in Malganis_Sneak2_Buildings <gen> matching ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to Player 12 (Brown))))
    Set VariableSet Buildings3 = (Units in Malganis_Sneak3_Buildings <gen> matching ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to Player 12 (Brown))))
    Set VariableSet Buildings4 = (Units in Malganis_Sneak4_Buildings <gen> matching ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to Player 12 (Brown))))
    Set VariableSet Buildings5 = (Units in Malganis_Sneak5_Buildings <gen> matching ((((Matching unit) is A structure) Equal to True) and ((Owner of (Matching unit)) Equal to Player 12 (Brown))))
Building Destroyed Remove From Group1
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((Triggering unit) is in Buildings1.) Equal to True
  Actions
    Sound - Play CityBuildingDeath1 <gen>
    Unit Group - Remove (Dying unit) from Buildings1.
    If ((Number of units in Buildings1) Equal to 0) then do (Set VariableSet RegionsArray[1] = NULL <gen>) else do (Do nothing)
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
Building Destroyed Remove From Group2
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((Triggering unit) is in Buildings2.) Equal to True
  Actions
    Sound - Play CityBuildingDeath1 <gen>
    Unit Group - Remove (Dying unit) from Buildings2.
    If ((Number of units in Buildings2) Equal to 0) then do (Set VariableSet RegionsArray[2] = NULL <gen>) else do (Do nothing)
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
Building Destroyed Remove From Group3
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((Triggering unit) is in Buildings3.) Equal to True
  Actions
    Sound - Play CityBuildingDeath1 <gen>
    Unit Group - Remove (Dying unit) from Buildings3.
    If ((Number of units in Buildings3) Equal to 0) then do (Set VariableSet RegionsArray[3] = NULL <gen>) else do (Do nothing)
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
Building Destroyed Remove From Group4
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((Triggering unit) is in Buildings4.) Equal to True
  Actions
    Sound - Play CityBuildingDeath1 <gen>
    Unit Group - Remove (Dying unit) from Buildings4.
    If ((Number of units in Buildings4) Equal to 0) then do (Set VariableSet RegionsArray[4] = NULL <gen>) else do (Do nothing)
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
Building Destroyed Remove From Group5
  Events
    Unit - A unit owned by Player 11 (Dark Green).Dies
    Unit - A unit owned by Player 12 (Brown).Dies
  Conditions
    ((Triggering unit) is in Buildings5.) Equal to True
  Actions
    Sound - Play CityBuildingDeath1 <gen>
    Unit Group - Remove (Dying unit) from Buildings5.
    If ((Number of units in Buildings5) Equal to 0) then do (Set VariableSet RegionsArray[5] = NULL <gen>) else do (Do nothing)
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
RegionBucket is initialized to 1 by the map.
Initialize Region Array
  Events
  Conditions
  Actions
    Set VariableSet RegionsArray[1] = Malganis_Sneak1 <gen>
    Set VariableSet RegionsArray[2] = Malganis_Sneak2 <gen>
    Set VariableSet RegionsArray[3] = Malganis_Sneak3 <gen>
    Set VariableSet RegionsArray[4] = Malganis_Sneak4 <gen>
    Set VariableSet RegionsArray[5] = Malganis_Sneak5 <gen>
    Set VariableSet RegionLength = 5
    Set VariableSet RegionPicked = RegionsArray[RegionBucket]
RegionPicked is the actual region that Malganis chooses to go to when he has created his Death Squad.
Choose Buildings
  Events
  Conditions
  Actions
    Trigger - Run Create_Target_Array <gen> (ignoring conditions)
    If (TargetArrayLength Equal to 0) then do (Run Choose_Default_Region <gen> (checking conditions)) else do (Run Choose_Random_Region <gen> (checking conditions))
Choose Default Region
  Events
  Conditions
  Actions
    Set VariableSet BuildingsGone = True
    Set VariableSet RegionBucket = 5
    Set VariableSet RegionPicked = Malganis_Sneak5 <gen>
Choose Random Region
  Events
  Conditions
  Actions
    Set VariableSet RegionBucket = TargetArray[(Random integer number between 1 and TargetArrayLength)]
    Set VariableSet RegionPicked = RegionsArray[RegionBucket]
Create Target Array
  Events
  Conditions
  Actions
    Set VariableSet TargetArrayLength = 0
    For each (Integer A) from 1 to 5, do (Run Target_Array_Loop <gen> (ignoring conditions))
Target Array Loop
  Events
  Conditions
  Actions
    If ((Center X of NULL <gen>) Not equal to (Center X of RegionsArray[(Integer A)])) then do (Run Add_To_Target_Array <gen> (ignoring conditions)) else do (Do nothing)
Add To Target Array
  Events
  Conditions
  Actions
    Set VariableSet TargetArrayLength = (TargetArrayLength + 1)
    Set VariableSet TargetArray[TargetArrayLength] = (Integer A)
Malganis Countdown Timer Create
  Events
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    (Dying unit) Equal to MalganisVariable
  Actions
    Trigger - Turn off (This trigger)
    Countdown Timer - Create a timer window for MalganisTimer with title Mal'Ganis Revival
    Set VariableSet MalganisCountdown = (Last created timer window)
    Countdown Timer - Change the color of the title for MalganisCountdown to (100.00%, 0.00%, 100.00%) with 0.00% transparency
Run by Malganis Death Squad 1,2,3.
Malganis Countdown Timer Counts
  Events
  Conditions
  Actions
    Countdown Timer - Start MalganisTimer as a One-shot timer that will expire in 90.00 seconds
    Countdown Timer - Show MalganisCountdown
Runs when Timer expires (hopefully).
Malganis Countdown Timer Hits 0
  Events
    Time - MalganisTimer expires
  Conditions
    EndCinematicPlaying Equal to False
    GameOver Equal to False
  Actions
    Set VariableSet BootingPlayer = False
    AI - Send Player 7 (Green) the AI Command (7, 0)
    AI - Send Player 7 (Green) the AI Command (6, (Integer((Y of (Center of Malganis_Revive <gen>)))))
    AI - Send Player 7 (Green) the AI Command (5, (Integer((X of (Center of Malganis_Revive <gen>)))))
    Wait 1.00 seconds
    Set VariableSet BootingPlayer = False
    Hero - Instantly revive MalganisVariable at (Center of Malganis_Revive <gen>), Show revival graphics
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis41 <gen> and display I live once more!. Modify duration: Add 0.00 seconds and Wait
    Sound - Reset all volume channels to 100%
    If (NextSquad Equal to 1) then do (Run Create_Sqaud_1 <gen> (ignoring conditions)) else do (If (NextSquad Equal to 2) then do (Run Create_Squad_2 <gen> (ignoring conditions)) else do (Run Create_Squad_3 <gen> (ignoring conditions)))
    If (EndCinematicPlaying Equal to False) then do (Run Teleport_Malganis <gen> (checking conditions)) else do (Do nothing)
    Countdown Timer - Hide MalganisCountdown
Arthas Says Forgive Me
  Events
    Unit - A unit enters Forgive_Me <gen>
  Conditions
    (Entering unit) Equal to ArthasVariable
    EndCinematicPlaying Equal to False
  Actions
    Trigger - Add Arthas_Says_Forgive_Me_Que <gen> to the trigger queue (Checking conditions)
    Trigger - Turn off (This trigger)
Arthas Says Forgive Me Que
  Events
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off (This trigger)
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas30 <gen> and display Father, forgive me for what I must do.. Modify duration: Add 0 seconds and Wait
    Sound - Reset all volume channels to 100%
    Trigger - Remove (This trigger) from the trigger queue
Initialize Buildings To Attack Array
  Events
  Conditions
  Actions
    Set VariableSet BuildingsToAttackArray[1] = Buildings1
    Set VariableSet BuildingsToAttackArray[2] = Buildings2
    Set VariableSet BuildingsToAttackArray[3] = Buildings3
    Set VariableSet BuildingsToAttackArray[4] = Buildings4
    Set VariableSet BuildingsToAttackArray[5] = Buildings5
Malganis Death Squad 1
  Events
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    (Dying unit) Equal to MalganisVariable
    ArthasDenials Less than or equal to 20.00
  Actions
    -------- Malganis is dead, send his units after the player --------
    AI - Send Player 7 (Green) the AI Command (4, 1)
    Unit Group - Remove all units from MalganisDeathSquad.
    Set VariableSet NextSquad = 1
    Trigger - Run Malganis_Countdown_Timer_Counts <gen> (ignoring conditions)
Create Sqaud 1
  Events
  Conditions
  Actions
    Unit Group - Add MalganisVariable to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
Malganis Death Squad 2
  Events
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    (Dying unit) Equal to MalganisVariable
    ArthasDenials Greater than or equal to 21.00
    ArthasDenials Less than or equal to 50.00
  Actions
    -------- Malganis is dead, send his units after the player --------
    AI - Send Player 7 (Green) the AI Command (4, 1)
    Unit Group - Remove all units from MalganisDeathSquad.
    Set VariableSet NextSquad = 2
    Trigger - Run Malganis_Countdown_Timer_Counts <gen> (ignoring conditions)
Create Squad 2
  Events
  Conditions
  Actions
    Unit Group - Add MalganisVariable to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
Malganis Death Squad 3
  Events
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    (Dying unit) Equal to MalganisVariable
    ArthasDenials Greater than or equal to 51.00
  Actions
    -------- Malganis is dead, send his units after the player --------
    AI - Send Player 7 (Green) the AI Command (4, 1)
    Unit Group - Remove all units from MalganisDeathSquad.
    Set VariableSet NextSquad = 3
    Trigger - Run Malganis_Countdown_Timer_Counts <gen> (ignoring conditions)
Create Squad 3
  Events
  Conditions
  Actions
    Unit Group - Add MalganisVariable to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Meat Wagon for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
Also signals to AI to start Junkyard Dog behavior.
Add To Death Squad Denials at 21
  Events
    Game - ArthasDenials becomes Greater than or equal to 21.00
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    If ((MalganisVariable is dead) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 4) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 4) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 4) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 4) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 4) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 4) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 4) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 4) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than 2) then do (Create 1 Abomination for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than or equal to 2) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than 2) then do (Create 1 Abomination for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than or equal to 2) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Trigger - Run Malganis_Booting_Player <gen> (checking conditions)
Also signals to AI to start Junkyard Dog behavior.
Add To Death Squad Denials at 51
  Events
    Game - ArthasDenials becomes Greater than or equal to 51.00
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    If ((MalganisVariable is dead) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 5) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 5) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 5) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 5) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 5) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 5) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 5) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 5) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than 5) then do (Create 1 Ghoul for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Ghoul)) Less than or equal to 5) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than 3) then do (Create 1 Abomination for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than or equal to 3) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than 3) then do (Create 1 Abomination for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than or equal to 3) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than 3) then do (Create 1 Abomination for Player 7 (Green) at (Position of MalganisVariable) facing (Center of (Playable map area))) else do (Do nothing)
    If ((Number of units in (Units owned by Player 7 (Green) of type Abomination)) Less than or equal to 3) then do (Add (Last created unit) to MalganisDeathSquad) else do (Do nothing)
    Unit - Create 1.Ghoul for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Necromancer for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Meat Wagon for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Unit - Create 1.Abomination for Player 7 (Green) at (Center of MalganisSpawnDS <gen>) facing 0.00 degrees
    Unit Group - Add (Last created unit) to MalganisDeathSquad
    Trigger - Run Malganis_Booting_Player <gen> (checking conditions)
When Arthas is ejected from the city, stop Junkyard Dog.
Das Boot to Arthas
  Events
    Unit - A unit leaves DasBoot1 <gen>
    Unit - A unit leaves DasBoot2 <gen>
    Unit - A unit leaves DasBoot3 <gen>
    Unit - A unit owned by Player 2 (Blue).Dies
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    (Number of units in (Units in DasBoot1 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 2 (Blue))))) Equal to 0
    (Number of units in (Units in DasBoot2 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 2 (Blue))))) Equal to 0
    (Number of units in (Units in DasBoot3 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 2 (Blue))))) Equal to 0
    (Number of units in (Units in DasBoot1 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 9 (Gray))))) Equal to 0
    (Number of units in (Units in DasBoot2 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 9 (Gray))))) Equal to 0
    (Number of units in (Units in DasBoot3 <gen> matching ((((Matching unit) is alive) Equal to True) and ((Owner of (Matching unit)) Equal to Player 9 (Gray))))) Equal to 0
  Actions
    Trigger - Turn off (This trigger)
    If ((MalganisVariable is dead) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Set VariableSet BootingPlayer = False
    Set VariableSet TeleportFast = True
    Trigger - Run Teleport_Malganis <gen> (checking conditions)
When Arthas is ejected from the city, stop Junkyard Dog.
Das Boot Malganis Leaving City
  Events
    Unit - A unit enters DasMalganisSTOP <gen>
  Conditions
    (Entering unit) Equal to MalganisVariable
  Actions
    Set VariableSet BootingPlayer = False
    Set VariableSet TeleportFast = True
    Trigger - Run Teleport_Malganis <gen> (checking conditions)
Malganis Reacquires Nearest Building
  Events
  Conditions
    (MalganisVariable is dead) Equal to False
    (Triggering unit) Equal to MalganisTargetHouse
  Actions
    Wait 10.00 seconds
    If (EndCinematicPlaying Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If (BootingPlayer Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If ((MalganisVariable is dead) Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If ((Center X of RegionsArray[RegionBucket]) Not equal to (Center X of NULL <gen>)) then do (Run Malganis_Acquires_Nearest_Building <gen> (checking conditions)) else do (Run Teleport_Malganis <gen> (checking conditions))
Teleport Malganis
  Events
  Conditions
    Teleporting Equal to False
  Actions
    Set VariableSet Teleporting = True
    Trigger - Run Choose_Buildings <gen> (ignoring conditions)
    If (TeleportFast Equal to True) then do (Wait 3.00 seconds) else do (Wait 11.00 seconds)
    If (EndCinematicPlaying Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Sound - Set position of MassTeleportTarget <gen> to (Center of RegionPicked) with Z offset 0
    Sound - Play MassTeleportTarget <gen>
    Special Effect - Create a special effect at (Center of RegionPicked) using Abilities\Spells\Undead\DarkSummoning\DarkSummonTarget.mdl
    Set VariableSet TeleportEffect = (Last created special effect)
    Wait 2.00 seconds
    If (EndCinematicPlaying Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Set VariableSet Teleporting = False
    Set VariableSet BootingPlayer = False
    Set VariableSet MalganisCaptainX = (X of (Center of RegionPicked))
    Set VariableSet MalganisCaptainY = (Y of (Center of RegionPicked))
    AI - Send Player 7 (Green) the AI Command (7, 0)
    AI - Send Player 7 (Green) the AI Command (6, (Integer(MalganisCaptainY)))
    AI - Send Player 7 (Green) the AI Command (5, (Integer(MalganisCaptainX)))
    Unit Group - Pick every unit in MalganisDeathSquad and do (Move (Picked unit) instantly to (Center of RegionPicked))
    If (BuildingsGone Equal to False) then do (Run Malganis_Acquires_Nearest_Building <gen> (checking conditions)) else do (Run Malganis_Booting_Zombies <gen> (checking conditions))
    Wait 0.20 seconds
    Special Effect - Destroy TeleportEffect
Malganis Acquires Nearest Building
  Events
  Conditions
    BootingPlayer Equal to False
    (MalganisVariable is dead) Equal to False
  Actions
    Set VariableSet MalganisTargetHouse = (Random unit from BuildingsToAttackArray[RegionBucket])
    Set VariableSet MalganisTargetHouseX = (X of (Position of MalganisTargetHouse))
    Set VariableSet MalganisTargetHouseY = (Y of (Position of MalganisTargetHouse))
    Unit - Change ownership of MalganisTargetHouse to Player 11 (Dark Green) and Retain color
    Trigger - Run Malganis_Continuously_Attacks_Buildings <gen> (checking conditions)
This gets Malganis going to the next building.
//===========================================================================
function Trig_Malganis_Continuously_Attacks_Buildings_Actions takes nothing returns nothing

    if udg_BootingPlayer or IsUnitDeadBJ(udg_MalganisVariable) then
        return
    endif

    loop
        exitwhen udg_MaySendCommands
        call TriggerSleepAction( 0.1 )
    endloop
    set udg_MaySendCommands = false
    call StartTimerBJ( udg_TimerMaySendCommands, false, 1.00 )

    call CommandAI( Player(6), 3, 0 )
    call CommandAI( Player(6), 2, R2I(udg_MalganisTargetHouseY) )
    call CommandAI( Player(6), 1, R2I(udg_MalganisTargetHouseX) )
endfunction

//===========================================================================
function InitTrig_Malganis_Continuously_Attacks_Buildings takes nothing returns nothing
    set gg_trg_Malganis_Continuously_Attacks_Buildings = CreateTrigger(  )
    call TriggerAddAction( gg_trg_Malganis_Continuously_Attacks_Buildings, function Trig_Malganis_Continuously_Attacks_Buildings_Actions )
endfunction

 
 
This is used in the event that the player has destroyed all the buildings, but left zombies. Then Mal'Ganis should just go after zombies.
Malganis Booting Zombies
  Events
  Conditions
  Actions
    AI - Send Player 7 (Green) the AI Command (9, 2)
May Send Commands
  Events
    Time - TimerMaySendCommands expires
  Conditions
  Actions
    Set VariableSet MaySendCommands = True
Reactivate AI
  Events
    Time - Every 30.00 seconds of game time
  Conditions
  Actions
    Trigger - Run Malganis_Reacquires_Nearest_Building <gen> (checking conditions)
VillagerSummonedRemoveConversionMan
  Events
    Unit - A unit owned by Player 8 (Pink).Spawns a summoned unit
  Conditions
    (Summoning unit) Not equal to MalganisVariable
    (Unit-type of (Summoned unit)) Equal to Zombie
  Actions
    Unit - Remove (Summoning unit) from the game
    Unit - Change ownership of (Summoned unit) to Player 3 (Teal) and Change color
This trigger is implimented using script code so that we can have a real local variable to preserve the villager in question during a 2 second delay.
 
Malganis Gains Convert
  Events
    Unit - A unit owned by Player 8 (Pink).Spawns a summoned unit
    Unit - A unit owned by Player 7 (Green).Spawns a summoned unit
    Unit - A unit owned by Player 3 (Teal).Spawns a summoned unit
  Conditions
    EndCinematicPlaying Equal to False
    (Summoning unit) Equal to MalganisVariable
    (Unit-type of (Summoned unit)) Equal to Zombie
  Actions
    Set VariableSet MalganisConversions = (MalganisConversions + 1.00)
    Trigger - Run Leaderboard_Tracking <gen> (checking conditions)
Starts the AI, run by Initialization Phase.
AI is started in Arthas Gets Town
Start AI
  Events
  Conditions
  Actions
Starting Cash
  Events
  Conditions
  Actions
    Player - Set Player 4 (Purple).Current gold to 10000
    Player - Set Player 4 (Purple).Current lumber to 10000
Give Them Money
  Events
    Player - Player 4 (Purple)'s Current gold becomes Less than or equal to 1000.00
  Conditions
  Actions
    Player - Add 5000 to Player 4 (Purple).Current gold
Give Them Lumber
  Events
    Player - Player 4 (Purple)'s Current lumber becomes Less than or equal to 1000.00
  Conditions
  Actions
    Player - Add 5000 to Player 4 (Purple).Current lumber
Stop Malganis Continuously Attacks trigger.
Signals AI to suicide on the player with its remaining units.
Death Squad Deaths
  Events
    Unit - A unit owned by Player 7 (Green).Dies
  Conditions
    (Dying unit) Equal to MalganisVariable
  Actions
    Set VariableSet DeathsOfDeathSquad = (DeathsOfDeathSquad + 1.00)
Runs Victory Save Cache in "Game Cache."
Deny 100 Villagers Victory
  Events
    Game - ArthasDenials becomes Equal to 100.00
  Conditions
    GameOver Equal to False
  Actions
    Trigger - Turn off Convert_100_Villagers_Failure <gen>
    Trigger - Turn off All_Buildings_Destroyed <gen>
    Trigger - Turn off Malganis_Countdown_Timer_Hits_0 <gen>
    Quest - Display to (All players) the Quest Completed message: |cffffcc00MAIN QUEST COMPLETED|rThe Culling
    Wait Campaign quest delay seconds
    Cinematic - Fade out over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    Trigger - Run Victory_Cinematic <gen> (ignoring conditions)
Convert 100 Villagers Failure
  Events
    Game - MalganisConversions becomes Equal to 100.00
  Conditions
    GameOver Equal to False
    EndCinematicPlaying Equal to False
  Actions
    Trigger - Turn off Deny_100_Villagers_Victory <gen>
    Leaderboard - Destroy (Leaderboard of Player 2 (Blue))
    Trigger - Run Die_Fool <gen> (ignoring conditions)
Die Fool
  Events
  Conditions
    EndCinematicPlaying Equal to False
    GameOver Equal to False
  Actions
    Set VariableSet GameOver = True
    Sound - Setup all volume channels for speech
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis42 <gen> and display Obviously, you are not as strong as the Dark Lord believed. Now, feel the wrath of the Scourge as you drown under the flood of the living dead!. Modify duration: Add 0.00 seconds and Don't wait
    Trigger - Turn off Das_Boot_Malganis_Leaving_City <gen>
    Trigger - Turn off Das_Boot_to_Arthas <gen>
    Unit - Create 3.Zombie of Mal'Ganis for Player 7 (Green) at (Center of Ending_Waves <gen>) facing 0.00 degrees
    Unit - Create 3.Ghoul for Player 7 (Green) at (Center of Ending_Waves <gen>) facing 0.00 degrees
    Unit - Create 3.Skeleton Warrior for Player 7 (Green) at (Center of Ending_Waves <gen>) facing 0.00 degrees
    Wait 0.20 seconds
    Unit Group - Order (Units in Ending_Waves <gen>) to Attack-Move To.(Center of Arthas_Town <gen>)
    Unit - Create 3.Zombie of Mal'Ganis for Player 7 (Green) at (Center of Ending_Waves2 <gen>) facing 0.00 degrees
    Unit - Create 3.Ghoul for Player 7 (Green) at (Center of Ending_Waves2 <gen>) facing 0.00 degrees
    Unit - Create 3.Skeleton Warrior for Player 7 (Green) at (Center of Ending_Waves2 <gen>) facing 0.00 degrees
    Wait 0.20 seconds
    Unit Group - Order (Units in Ending_Waves2 <gen>) to Attack-Move To.(Center of Arthas_Town <gen>)
    Unit - Create 3.Zombie of Mal'Ganis for Player 7 (Green) at (Center of Ending_Waves3 <gen>) facing 0.00 degrees
    Unit - Create 3.Ghoul for Player 7 (Green) at (Center of Ending_Waves3 <gen>) facing 0.00 degrees
    Unit - Create 3.Skeleton Warrior for Player 7 (Green) at (Center of Ending_Waves3 <gen>) facing 0.00 degrees
    Wait 0.20 seconds
    AI - Ignore the guard positions of all Player 7 (Green) units
    Unit Group - Pick every unit in (Units owned by Player 7 (Green).) and do (Order (Picked unit) to Attack-Move To.(Center of Arthas_Town <gen>))
    Unit Group - Order (Units in Ending_Waves3 <gen>) to Attack-Move To.(Center of Arthas_Town <gen>)
    AI - Send Player 7 (Green) the AI Command (4, 1)
    Wait for H06MalGanis42 <gen> to be 0 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Wait 20.00 seconds
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop01 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop02 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop03 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop04 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop05 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop06 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop07 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop08 <gen>
    Wait Campaign quest delay seconds
    Set VariableSet GAMEOVER = True
    Trigger - Turn off (This trigger)
    Game - Display to (All players) for 600.00 seconds the text: |cffffcc00MAIN QUEST FAILED|r
    Game - Display to (All players) for 600.00 seconds the text: Mal'Ganis claimed the city.
    Game - Turn the day/night cycle Off
    Sound - Play QuestFailed <gen>
    Wait 1.00 seconds
    Cinematic - Fade out over 2 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    Sound - Play SadMystery <gen>
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Make (Picked unit) Invulnerable)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Order (Picked unit) to Stop.)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Hide (Picked unit))
Victory Save Cache enables the proper campaign levels and saves Arthas.
Victory Cinematic Skip
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet VictoryCinSkip = True
    Countdown Timer - Destroy MalganisCountdown
    Sound - Stop (Last played sound) After fading
    Wait 0.50 seconds
    Cinematic - Fade out over 1.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Unit - Hide Arthas
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Endgame_Text <gen> (checking conditions)
Victory Save Cache enables the proper campaign levels and saves Arthas.
Victory Cinematic
  Events
  Conditions
    GameOver Equal to False
  Actions
    Unit Group - Pick every unit in (Units of type Peasant) and do (Order (Picked unit) to Stop.)
    Wait 0.50 seconds
    Unit Group - Pick every unit in (Units of type Peasant) and do (Order (Picked unit) to Stop.)
    Wait 0.50 seconds
    Set VariableSet Cinematic = True
    Set VariableSet EndCinematicPlaying = True
    Game - Turn the day/night cycle Off
    Countdown Timer - Destroy MalganisCountdown
    Leaderboard - Destroy (Leaderboard of Player 7 (Green))
    Leaderboard - Destroy (Leaderboard of Player 2 (Blue))
    Trigger - Turn on Victory_Cinematic_Skip <gen>
    Trigger - Turn on Skip_Cinematic <gen>
    Environment - Set sky to Lordaeron Winter Sky
    Trigger - Turn off Malganis_Countdown_Timer_Counts <gen>
    Trigger - Turn off Teleport_Malganis <gen>
    Unit Group - Pick every unit in (Units in (Entire map)) and do (Make (Picked unit) Invulnerable)
    Cinematic - Turn cinematic mode On for (All players)
    Unit Group - Pick every unit in (Units in (Entire map) owned by Player 7 (Green)) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Entire map) owned by Player 2 (Blue)) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Entire map) owned by Player 4 (Purple)) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Entire map) owned by Player 9 (Gray)) and do (Hide (Picked unit))
    Unit Group - Pick every unit in (Units in (Entire map) owned by Player 8 (Pink)) and do (Hide (Picked unit))
    Hero - Instantly revive ArthasVariable at (Center of End_Victory_Arthas <gen>), Hide revival graphics
    Hero - Instantly revive MalganisVariable at (Center of End_Victory_Arthas <gen>), Hide revival graphics
    AI - Ignore MalganisVariable's guard position
    Unit - Set ArthasVariable movement speed to 300.00
    Sound - Play Dark Victory.
    Unit - Set Dreadlord 0000 <gen> movement speed to 250.00
    Unit - Unhide ArthasVariable
    Unit - Unhide MalganisVariable
    Unit - Remove All buffs from ArthasVariable
    Unit - Remove All buffs from MalganisVariable
    Unit - Move ArthasVariable instantly to (Center of End_Victory_Arthas <gen>)
    Unit - Move MalganisVariable instantly to (Center of End_Victory_Malganis <gen>)
    Unit - Make ArthasVariable face MalganisVariable over 0.00 seconds
    Unit - Make MalganisVariable face ArthasVariable over 0.00 seconds
    Camera - .Apply. gg_cam_End_Win_Cinematic_1 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_End_Win_Cinematic_1 for Player 9 (Gray) over 0.00 seconds
    Cinematic - Fade in over 1.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas43 <gen> and display We're going to finish this right now, Mal'Ganis. Just you and me.. Modify duration: Add 0.00 seconds and Wait
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis44 <gen> and display Brave words. Unfortunately for you, it won't end here. Your journey has just begun, young prince.. Modify duration: Add 0.00 seconds and Don't wait
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 5.00 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order MalganisVariable to Move To.(Center of End_Victory_Malganis2 <gen>)
    Cinematic - Fade out over 0.30 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 0.30 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 0.30 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - .Apply. gg_cam_End_Win_Cinematic_2 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_End_Win_Cinematic_2 for Player 9 (Gray) over 0.00 seconds
    Unit - Order ArthasVariable to Move To.(Center of End_Victory_Malganis <gen>)
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 4.50 seconds
    Wait for H06MalGanis44 <gen> to be 0 seconds from finished playing
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make MalganisVariable face ArthasVariable over 0.40 seconds
    Camera - .Apply. gg_cam_End_Win_Cinematic_3 for Player 2 (Blue) over (Length of H06MalGanis45 <gen>) seconds
    Camera - .Apply. gg_cam_End_Win_Cinematic_3 for Player 9 (Gray) over (Length of H06MalGanis45 <gen>) seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from MalganisVariable named Mal'Ganis: Play H06MalGanis45 <gen> and display Gather your forces and meet me in the arctic land of Northrend. It is there that we shall settle the score between us. It is there that your true destiny will unfold.. Modify duration: Add 2.00 seconds and Don't wait
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for (Last played sound) to be 2.00 seconds from finished playing
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait 1.00 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Create a special effect at (Position of MalganisVariable) using Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
    Sound - Attach DarkSummoningTarget1 <gen> to MalganisVariable
    Sound - Play DarkSummoningTarget1 <gen>
    Sound - Attach MassTeleportTarget <gen> to MalganisVariable
    Sound - Set volume of MassTeleportTarget <gen> to 70.00%
    Sound - Play MassTeleportTarget <gen>
    Wait 1.00 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Hide MalganisVariable
    Unit - Move MalganisVariable instantly to (Center of Malganis_Revive <gen>)
    Wait 1.50 seconds
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Special Effect - Destroy (Last created special effect)
    Unit - Order ArthasVariable to Move To.(Center of End_Victory_Malganis2 <gen>)
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasVariable named Arthas: Play H06Arthas46 <gen> and display I'll hunt you to the ends of the earth if I have to! Do you hear me? To the ends of the earth!. Modify duration: Subtract 1.50 seconds and Wait
    Animation - Play ArthasVariable's Stand Victory (animationname) animation
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop01 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop02 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop03 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop04 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop05 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop06 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop07 <gen>
    Sound - Remove WaterStreamLoop1 <gen> across StreamLoop08 <gen>
    Wait for (Last played sound) to be 0 seconds from finished playing
    If (VictoryCinSkip Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Turn off Victory_Cinematic_Skip <gen>
    Trigger - Turn off Skip_Cinematic <gen>
    Wait 0.50 seconds
    Cinematic - Fade out over 1.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Unit - Hide Arthas
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Endgame_Text <gen> (checking conditions)
All Buildings Destroyed
  Events
    Unit - A unit owned by Player 2 (Blue).Dies
    Unit - A unit owned by Player 9 (Gray).Dies
  Conditions
    (Count structures controlled by Player 2 (Blue) (Include incomplete structures)) Equal to 0
    (Count structures controlled by Player 9 (Gray) (Include incomplete structures)) Equal to 0
  Actions
    Set VariableSet GAMEOVER = True
    Trigger - Turn off (This trigger)
    Game - Display to (All players) for 600.00 seconds the text: |cffffcc00MAIN QUEST FAILED|r
    Game - Display to (All players) for 600.00 seconds the text: The base was destroyed.
    Game - Turn the day/night cycle Off
    Sound - Play QuestFailed <gen>
    Wait 1.00 seconds
    Cinematic - Fade out over 2 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2 seconds
    Sound - Play SadMystery <gen>
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Make (Picked unit) Invulnerable)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Order (Picked unit) to Stop.)
    Unit Group - Pick every unit in (Units in (Playable map area)) and do (Hide (Picked unit))
SceneEscape
  Events
  Conditions
  Actions
    Trigger - Turn off (This trigger)
    Set VariableSet Escape = True
    Wait 1.00 seconds
    Cinematic - Fade out over 1.50 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 2.00 seconds
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Unit - Remove ArthasCinematic from the game
    Unit - Remove JainaCinematic from the game
    Unit - Remove MedivhCinematic from the game
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Init_Gametext <gen> (ignoring conditions)
CinematicStart
  Events
    Map initialization
  Conditions
  Actions
    Unit - Make JainaCinematic Invulnerable
    Unit - Make ArthasCinematic Invulnerable
    Unit - Set ArthasCinematic movement speed to 260.00
    Unit - Set JainaCinematic movement speed to 300.00
    Unit - Set MedivhCinematic movement speed to 240.00
    Animation - Change JainaCinematic's vertex coloring to (100%, 100%, 100%) with 100.00% transparency
    Player - Make Player 2 (Blue) treat Player 4 (Purple) as an Ally
    Player - Make Player 9 (Gray) treat Player 4 (Purple) as an Ally
    Player - Make Player 10 (Light Blue) treat Player 4 (Purple) as an Ally
    Player - Make Player 4 (Purple) treat Player 2 (Blue) as an Ally
    Player - Make Player 4 (Purple) treat Player 9 (Gray) as an Ally
    Player - Make Player 4 (Purple) treat Player 10 (Light Blue) as an Ally
    Unit - Hide JainaCinematic
    Environment - Set sky to Lordaeron Summer Sky
    Environment - Set fog to style 0 (fogstyle), z-start 1750.00, z-end 7500.00, density 0 and color (5.00%, 20.00%, 40.00%)
Scene1
  Events
    Map initialization
  Conditions
  Actions
    Cinematic - Fade out over 0.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Cinematic - Turn cinematic mode On for (All players)
    Cinematic - Disable user control for (All players).
    Unit - Change ownership of ArthasCinematic to Player 2 (Blue) and Change color
    Unit - Change ownership of JainaCinematic to Player 4 (Purple) and Change color
    Sound - Clear the music list
    Wait 0.01 seconds
    Sound - Play Sad Mystery.
    Animation - Play MedivhCinematic's stand (animationname) animation, using only Common animations
    Trigger - Turn on Skip_Cinematic <gen>
    Trigger - Turn on SceneEscape <gen>
    Wait 1.50 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 2.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - .Apply. gg_cam_Camera_027 for Player 2 (Blue) over 0 seconds
    Camera - .Apply. gg_cam_Camera_027 for Player 9 (Gray) over 0 seconds
    Camera - .Apply. gg_cam_Camera_028 for Player 2 (Blue) over 6.00 seconds
    Camera - .Apply. gg_cam_Camera_028 for Player 9 (Gray) over 6.00 seconds
    Wait 1.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order ArthasCinematic to Move To.(Center of Region_071 <gen>)
    Wait 3.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade out over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 1.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Fade in over 1.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Camera - .Apply. gg_cam_Camera_029 for Player 2 (Blue) over 0 seconds
    Camera - .Apply. gg_cam_Camera_029 for Player 9 (Gray) over 0 seconds
    Wait 1.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from MedivhCinematic named The Prophet: Play H05Medivh36 <gen> and display Greetings, young prince. We must talk.. Modify duration: Add 0 seconds and Don't wait
    Animation - Play Medivh 0085 <gen>'s Stand third (animationname) animation
    Animation - Lock MedivhCinematic's Head to face ArthasCinematic, offset by (0, 0, 90)
    Wait 2.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make MedivhCinematic face ArthasCinematic over 0.60 seconds
    Animation - Play MedivhCinematic's Stand (animationname) animation
    Camera - Change camera smoothing factor to 0.00
    Camera - .Apply. gg_cam_Camera_031 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Camera_031 for Player 9 (Gray) over 0.00 seconds
    Wait 0.50 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for H05Medivh36 <gen> to be 0.30 seconds from finished playing
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from ArthasCinematic named Arthas: Play H05Arthas37 <gen> and display I have no time for this!. Modify duration: Add 0 seconds and Don't wait
    Wait 1.15 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Wait for H05Arthas37 <gen> to be 0.20 seconds from finished playing
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Cinematic - Send transmission to (All players) from MedivhCinematic named The Prophet: Play H05Medivh38 <gen> and display Listen to me, boy. This land is lost! The shadow has already fallen, and nothing you do will deter it. If you truly wish to save your people, lead them across the sea... to the west.. Modify duration: Add 0 seconds and Don't wait
    Animation - Play MedivhCinematic's Stand talk first (animationname) animation
    Wait 1.20 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play MedivhCinematic's Stand (animationname) animation
    Wait 0.60 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play MedivhCinematic's Stand talk fourth (animationname) animation
    Wait 0.60 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play MedivhCinematic's Stand talk fourth (animationname) animation
    Wait 0.60 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Animation - Play MedivhCinematic's Stand (animationname) animation
    Camera - Change camera smoothing factor to 0.00
    Camera - .Apply. gg_cam_Camera_032 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Camera_032 for Player 9 (Gray) over 0.00 seconds
    Camera - .Apply. gg_cam_Camera_031 for Player 2 (Blue) over ((Length of H05Arthas37 <gen>) + (Length of H05Medivh38 <gen>)) seconds
    Camera - .Apply. gg_cam_Camera_031 for Player 9 (Gray) over ((Length of H05Arthas37 <gen>) + (Length of H05Medivh38 <gen>)) seconds
    Wait for H05Medivh38 <gen> to be 2.00 seconds from finished playing
    Animation - Reset MedivhCinematic's body-part facing
    Unit - Order MedivhCinematic to Move To.(Center of Region_073 <gen>)
    Animation - Lock ArthasCinematic's Head to face MedivhCinematic, offset by (0, 0, 90)
    Animation - Reset MedivhCinematic's body-part facing
    Wait 0.75 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make ArthasCinematic face MedivhCinematic over 0.50 seconds
    Wait for H05Medivh38 <gen> to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from ArthasCinematic named Arthas: Play H05Arthas39 <gen> and display Flee? My place is here, and my only course is to defend my people!. Modify duration: Add 0 seconds and Don't wait
    Camera - Change camera smoothing factor to 0.00
    Camera - .Apply. gg_cam_Camera_034 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Camera_034 for Player 9 (Gray) over 0.00 seconds
    Wait 3.80 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make MedivhCinematic face (Center of Region_073 <gen>) over 0.20 seconds
    Animation - Change MedivhCinematic blend time to 1.00
    Unit - Make MedivhCinematic face (Center of Region_076 <gen>) over 0 seconds
    Animation - Lock MedivhCinematic's Head to face ArthasCinematic, offset by (0, 0, 90)
    Wait 0.50 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Change camera smoothing factor to 0.00
    Wait for H05Arthas39 <gen> to be 0 seconds from finished playing
    Cinematic - Send transmission to (All players) from MedivhCinematic named The Prophet: Play H05Medivh40 <gen> and display Then your choice is already made. Just remember, the harder you strive to slay your enemies, the faster you'll deliver your people right into their hands.. Modify duration: Add 0 seconds and Don't wait
    Wait for H05Medivh40 <gen> to be 2.00 seconds from finished playing
    Sound - Reset all volume channels to 100%
    Animation - Change MedivhCinematic blend time to 0.50
    Animation - Reset MedivhCinematic's body-part facing
    Wait for H05Medivh40 <gen> to be 0.00 seconds from finished playing
    Wait 0.10 seconds
    Camera - Change camera smoothing factor to 0.00
    Unit - Order MedivhCinematic to Special Medivh - Raven Form.
    Sound - Attach DruidOfTheTalonMorph1 <gen> to ArthasCinematic
    Sound - Play DruidOfTheTalonMorph1 <gen>
    Wait 3.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- ----------------------------------Medivh Flys Away------------------------------------------------------------------------------ --------
    -------- ----------------------------------Medivh Flys Away------------------------------------------------------------------------------ --------
    -------- ----------------------------------Medivh Flys Away------------------------------------------------------------------------------ --------
    -------- ----------------------------------Medivh Flys Away------------------------------------------------------------------------------ --------
    Unit - Order MedivhCinematic to Move To.(Center of Region_074 <gen>)
    Wait 3.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    -------- ----------------------------------Jaina apears to Arthas------------------------------------------------------------------------------ --------
    -------- ----------------------------------Jaina apears to Arthas------------------------------------------------------------------------------ --------
    -------- ----------------------------------Jaina apears to Arthas------------------------------------------------------------------------------ --------
    -------- ----------------------------------Jaina apears to Arthas------------------------------------------------------------------------------ --------
    Wait 1.00 seconds
    Unit - Move JainaCinematic instantly to (Center of Region_075 <gen>), facing (Position of ArthasCinematic)
    Wait 0.05 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Unhide JainaCinematic
    Wait 0.40 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Make ArthasCinematic face (Center of Region_073 <gen>) over 0 seconds
    Unit - Order JainaCinematic to Move To.(Center of Region_076 <gen>)
    Animation - Lock ArthasCinematic's Head to face JainaCinematic, offset by (0, 0, 80.00)
    Wait 1.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Camera - Change camera smoothing factor to 0.00
    Camera - .Apply. gg_cam_Camera_035 for Player 2 (Blue) over 0 seconds
    Camera - .Apply. gg_cam_Camera_035 for Player 9 (Gray) over 0 seconds
    Animation - Lock JainaCinematic's Head to face ArthasCinematic, offset by (0, 0, 100.00)
    Animation - Play JainaCinematic's stand (animationname) animation, using only Common animations
    Cinematic - Send transmission to (All players) from JainaCinematic named Jaina Proudmoore: Play H05Jaina41 <gen> and display I'm sorry for concealing myself, Arthas. I just wanted to--. Modify duration: Add 0 seconds and Don't wait
    Wait for H05Jaina41 <gen> to be 1.50 seconds from finished playing
    Unit - Make ArthasCinematic face (Center of Region_076 <gen>) over 0.20 seconds
    Wait for H05Jaina41 <gen> to be 0.50 seconds from finished playing
    Cinematic - Send transmission to (All players) from ArthasCinematic named Arthas: Play H05Arthas42 <gen> and display Don't say it!. Modify duration: Add 0 seconds and Don't wait
    Wait for H05Arthas42 <gen> to be 0.00 seconds from finished playing
    Cinematic - Send transmission to (All players) from JainaCinematic named Jaina Proudmoore: Play H05Jaina43 <gen> and display I sensed tremendous power about him, Arthas. Maybe he's right. Maybe he does know what will happen.. Modify duration: Add 0 seconds and Don't wait
    Animation - Play JainaCinematic's stand (animationname) animation, using only Common animations
    Wait for H05Jaina43 <gen> to be 0.00 seconds from finished playing
    Cinematic - Send transmission to (All players) from ArthasCinematic named Arthas: Play H05Arthas44 <gen> and display Nothing he can say will make me abandon my homeland, Jaina. I don't care if that madman has seen the future. Let's go.. Modify duration: Add 0 seconds and Don't wait
    Animation - Play JainaCinematic's stand (animationname) animation, using only Common animations
    Wait for H05Arthas44 <gen> to be 2.50 seconds from finished playing
    Animation - Reset ArthasCinematic's body-part facing
    Camera - .Apply. gg_cam_Camera_036 for Player 2 (Blue) over 0.00 seconds
    Camera - .Apply. gg_cam_Camera_036 for Player 9 (Gray) over 0.00 seconds
    Wait for H05Arthas44 <gen> to be 0.00 seconds from finished playing
    Unit - Order ArthasCinematic to Move To.(Center of Region_077 <gen>)
    Wait 1.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Unit - Order JainaCinematic to Move To.(Center of Region_077 <gen>)
    Camera - Change camera smoothing factor to 0.00
    Cinematic - Fade out over 3.00 seconds using texture Black Mask and color (0%, 0%, 0%) with 0% transparency
    Wait 4.00 seconds
    If (Escape Equal to True) then do (Skip remaining actions) else do (Do nothing)
    Trigger - Turn off Skip_Cinematic <gen>
    Trigger - Turn off SceneEscape <gen>
    Unit - Remove ArthasCinematic from the game
    Unit - Remove JainaCinematic from the game
    Unit - Remove MedivhCinematic from the game
    Set VariableSet SkipVote1 = False
    Set VariableSet SkipVote2 = False
    Cinematic - Turn cinematic mode Off for (All players)
    Trigger - Run Init_Gametext <gen> (ignoring conditions)
ArthasToMedivh
  Events
    Unit - A unit enters Region_071 <gen>
  Conditions
    (Entering unit) Equal to ArthasCinematic
  Actions
    Unit - Order ArthasCinematic to Move To.(Center of Region_071_Copy <gen>)
ArthasAtMedivh
  Events
    Unit - A unit enters Region_071_Copy <gen>
  Conditions
    (Entering unit) Equal to ArthasCinematic
  Actions
    Unit - Order ArthasCinematic to Stop.
    Wait 0.05 seconds
    Unit - Make ArthasCinematic face (Center of Region_079 <gen>) over 0 seconds
ArthasLookAtMedivh
  Events
    Unit - A unit enters Region_080 <gen>
  Conditions
    (Entering unit) Equal to ArthasCinematic
  Actions
    Animation - Lock ArthasCinematic's Head to face MedivhCinematic, offset by (0, 0, 90)
MedivhRemove
  Events
    Unit - A unit enters Region_074 <gen>
  Conditions
    (Entering unit) Equal to MedivhCinematic
  Actions
    Unit - Order MedivhCinematic to Stop.
    Wait 0.05 seconds
    Unit - Remove MedivhCinematic from the game
JainaFade2
  Events
    Unit - A unit enters Region_075 <gen>
  Conditions
    (Entering unit) Equal to JainaCinematic
  Actions
    For each (Integer A) from 1 to 20, do (Run Fade <gen> (ignoring conditions))
Fade
  Events
  Conditions
  Actions
    Wait (0.20 x (Real((Integer A)))) seconds
    Set VariableSet JainFade = (JainFade - 5.00)
    Animation - Change JainaCinematic's vertex coloring to (100%, 100%, 100%) with JainFade% transparency
Setup Insane
  Events
  Conditions
  Actions
    Set VariableSet MissionNumber = 16
    Player - Set the current research level of Rume (techcode) to 2 for Player 4 (Purple)
    Player - Set the current research level of Rura (techcode) to 2 for Player 4 (Purple)
    Player - Set the current research level of Ruar (techcode) to 2 for Player 4 (Purple)
    Player - Set the current research level of Rucr (techcode) to 2 for Player 4 (Purple)
    Player - Set the current research level of Rune (techcode) to 1 for Player 4 (Purple)
    Player - Set the current research level of Rume (techcode) to 2 for Player 7 (Green)
    Player - Set the current research level of Rura (techcode) to 2 for Player 7 (Green)
    Player - Set the current research level of Ruar (techcode) to 2 for Player 7 (Green)
    Player - Set the current research level of Rucr (techcode) to 2 for Player 7 (Green)
    Player - Set the current research level of Rune (techcode) to 1 for Player 7 (Green)
Computer Upkeep
  Events
    Time - Every 1.00 seconds of game time
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player 4 (Purple) Food used) Less than 50
      Then - Actions
        Player - Set Player 4 (Purple).Gold upkeep rate to 0
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player 4 (Purple) Food used) Less than 80
        (Player 4 (Purple) Food used) Greater than or equal to 50
      Then - Actions
        Player - Set Player 4 (Purple).Gold upkeep rate to 30
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player 4 (Purple) Food used) Greater than or equal to 80
      Then - Actions
        Player - Set Player 4 (Purple).Gold upkeep rate to 80
      Else - Actions
Player Limits
  Events
    Map initialization
  Conditions
  Actions
    Player - Set Player 2 (Blue).Food max to 60
    Player - Set Player 9 (Gray).Food max to 60
Item Drop Bonuses
  Events
    Unit - Enforcer 0138 <gen> Dies
    Unit - Tent 0142 <gen> Dies
    Unit - Filson the Rat 0059 <gen> Dies
  Conditions
  Actions
    Set VariableSet BonusesFound = (BonusesFound + 1)
Timer Trigger
  Events
    Time - Every 1.00 seconds of game time
  Conditions
    Cinematic Equal to False
  Actions
    Set VariableSet TimeSecondsTotal = (TimeSecondsTotal + 1)
    Set VariableSet TimeSeconds = (TimeSeconds + 1)
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TimeSeconds Greater than or equal to 60
      Then - Actions
        Set VariableSet TimeSeconds = (TimeSeconds - 60)
        Set VariableSet TimeMins = (TimeMins + 1)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TimeMins Greater than or equal to 60
      Then - Actions
        Set VariableSet TimeMins = (TimeMins - 60)
        Set VariableSet TimeHours = (TimeMins + 1)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TimeSeconds Less than 10
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TimeMins Less than 10
          Then - Actions
            Set VariableSet TimeTakenString = ((((String(TimeHours)) + :0) + (String(TimeMins))) + (:0 + (String(TimeSeconds))))
          Else - Actions
            Set VariableSet TimeTakenString = ((((String(TimeHours)) + :) + (String(TimeMins))) + (:0 + (String(TimeSeconds))))
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TimeMins Less than 10
          Then - Actions
            Set VariableSet TimeTakenString = ((((String(TimeHours)) + :0) + (String(TimeMins))) + (: + (String(TimeSeconds))))
          Else - Actions
            Set VariableSet TimeTakenString = ((((String(TimeHours)) + :) + (String(TimeMins))) + (: + (String(TimeSeconds))))
Skip Cinematic
  Events
    Player - Player 2 (Blue) skips a cinematic sequence
    Player - Player 9 (Gray) skips a cinematic sequence
  Conditions
    Cinematic Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 2 (Blue)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
      Then - Actions
        Set VariableSet SkipVote1 = True
        Game - Display to (All players) the text: ((Name of Player 2 (Blue)) + wishes to skip the cinematic.)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 9 (Gray)
        SkipVote1 Equal to False
        SkipVote2 Equal to False
      Then - Actions
        Set VariableSet SkipVote2 = True
        Game - Display to (All players) the text: ((Name of Player 9 (Gray)) + wishes to skip the cinematic.)
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 2 (Blue)
        SkipVote1 Equal to False
        SkipVote2 Equal to True
      Then - Actions
        Set VariableSet SkipVote1 = True
        Game - Display to (All players) the text: Cinematic was skipped.
        Trigger - Turn off (This trigger)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (SceneEscape <gen> is on) Equal to True
          Then - Actions
            Trigger - Run SceneEscape <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Intro_Cancel <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Intro_Cancel <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Malganis_First_Teleport_Cin_Skip <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Malganis_First_Teleport_Cin_Skip <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Victory_Cinematic_Skip <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Victory_Cinematic_Skip <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 9 (Gray)
        SkipVote1 Equal to True
        SkipVote2 Equal to False
      Then - Actions
        Set VariableSet SkipVote1 = True
        Game - Display to (All players) the text: Cinematic was skipped.
        Trigger - Turn off (This trigger)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (SceneEscape <gen> is on) Equal to True
          Then - Actions
            Trigger - Run SceneEscape <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Intro_Cancel <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Intro_Cancel <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Malganis_First_Teleport_Cin_Skip <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Malganis_First_Teleport_Cin_Skip <gen> (checking conditions)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Victory_Cinematic_Skip <gen> is on) Equal to True
          Then - Actions
            Trigger - Run Victory_Cinematic_Skip <gen> (checking conditions)
          Else - Actions
      Else - Actions
Leaves Game
  Events
    Player - Player 2 (Blue) leaves the game
    Player - Player 9 (Gray) leaves the game
  Conditions
  Actions
    Game - Display to (All players) the text: ((Name of (Triggering player)) + has left the game.)
    Sound - Play CreepAggroWhat1 <gen>
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        GameSelection Equal to True
      Then - Actions
        Set VariableSet EnoughPlayers = False
        Cinematic - Clear the screen of text messages for (All players).
        Sound - Play QuestLog <gen>
        Trigger - Run Startgame_Text_3 <gen> (checking conditions)
      Else - Actions
Custom Variables
  Events
    Map initialization
  Conditions
  Actions
    Game - Set Lock resource trading to On
    Cinematic - Fade out over 0.00 seconds using texture White Mask and color (0%, 0%, 0%) with 0% transparency
    Set VariableSet MissionNumber = 6
    Set VariableSet SubquestsTotal = 0
    Set VariableSet BonusesTotal = 3
    Set VariableSet ExtraTotal = 100
    Set VariableSet TimeMin = 1200.00
    Set VariableSet TimeMax = 4800.00
    Set VariableSet TimeRange = (TimeMax - TimeMin)
    Set VariableSet ScoreBonuses = 20
    Set VariableSet ScoreExtra = 1
    Set VariableSet ScoreSubquests = 0
    Set VariableSet ScoreTime = 120
    Set VariableSet ScoreMax = ((SubquestsTotal x ScoreSubquests) + ((BonusesTotal x ScoreBonuses) + ((ExtraTotal x ScoreExtra) + ScoreTime)))
    Set VariableSet ScoreLimit[4] = (Integer((((Real(ScoreMax)) x 0.90) + 0.50)))
    Set VariableSet ScoreLimit[3] = (Integer((((Real(ScoreMax)) x 0.75) + 0.50)))
    Set VariableSet ScoreLimit[2] = (Integer((((Real(ScoreMax)) x 0.55) + 0.50)))
    Set VariableSet ScoreLimit[1] = (Integer((((Real(ScoreMax)) x 0.30) + 0.50)))
    -------- Items To be Saved --------
    Set VariableSet SaveLoad_Items[1] = Potion of Healing
    Set VariableSet SaveLoad_Items[2] = Potion of Mana
    Set VariableSet SaveLoad_Items[3] = Scroll of Healing
    Set VariableSet SaveLoad_Items[4] = Scroll of Protection
    Set VariableSet SaveLoad_Items[5] = Ring of Protection +1
    Set VariableSet SaveLoad_Items[6] = Maul of Strength
    Set VariableSet SaveLoad_Items[7] = Wand of Negation
    Set VariableSet SaveLoad_Items[8] = Gauntlets of Ogre Strength +3
    Set VariableSet SaveLoad_Items[9] = Claws of Attack +3
    Set VariableSet SaveLoad_Items[10] = Orb of Fire
    Set VariableSet SaveLoad_Items[11] = Mantle of Intelligence +3
    Set VariableSet SaveLoad_Items[12] = Bracer of Agility
    Set VariableSet SaveLoad_Items[13] = Potion of Greater Healing
    Set VariableSet SaveLoad_Items[14] = Ring of Superiority
    Set VariableSet SaveLoad_Items[15] = Claws of Attack +6
    Set VariableSet SaveLoad_Items[16] = Ring of Protection +2
    Set VariableSet SaveLoad_Items[17] = Periapt of Vitality
    Set VariableSet SaveLoad_Items[18] = Scroll of Town Portal
    Set VariableSet SaveLoad_Items[19] = Medallion of Courage
    Set VariableSet SaveLoad_Items[20] = Boots of Speed
    Set VariableSet SaveLoad_Items[21] = Talisman of Evasion
    Set VariableSet SaveLoad_Items[22] = Orb of Frost
    Set VariableSet SaveLoad_Items[23] = Scroll of the Beast
    Set VariableSet SaveLoad_Items[24] = Goblin Night Scope
    Set VariableSet SaveLoad_Items[25] = Ring of Regeneration
    Set VariableSet SaveLoad_Items[26] = Claws of Attack +12
    Set VariableSet SaveLoad_Items[27] = Potion of Greater Mana
    Set VariableSet SaveLoad_Items[28] = Mana Stone
    Set VariableSet SaveLoad_Items[29] = Sobi Mask
    Set VariableSet SaveLoad_Items[30] = Pendant of Mana
    Set VariableSet SaveLoad_Items[31] = Amulet of Recall
    Set VariableSet SaveLoad_Items[32] = Healing Wards
    Set VariableSet SaveLoad_Items[33] = Ring of Protection +3
    Set VariableSet SaveLoad_Items[34] = Periapt of Vitality
    Set VariableSet SaveLoad_Items[35] = Slippers of Agility +3
    Set VariableSet SaveLoad_Items[36] = Health Stone
    Set VariableSet SaveLoad_Items_LastIndex = 36
    -------- Leave as is. Used to autocreate variables when copy & pasting to a new map --------
    Set VariableSet SaveLoad_Alphabet = ABCDEFGHIJKLMNPQRSTUVWXYZ123456789abcdefghijklmnopqrstuvwxyz
    Set VariableSet SaveLoad_CaseSensitive = True
    Set VariableSet SaveLoad_UsePlayername = False
    -------- Required: false --------
    Set VariableSet SaveLoad_Initialized = False
    Set VariableSet Code = AceHart
    Set VariableSet Save[1] = 0
    Set VariableSet SaveCount = 1
    Set VariableSet Validate = False
    Set VariableSet SaveLoad_Compress[1] = 0
    Set VariableSet SaveLoad_Uncompress[1] = 0
Command
  Events
    Unit - A unit Spawns a summoned unit
  Conditions
    (Unit-type of (Summoned unit)) Equal to Command Ward
  Actions
    Set VariableSet TempPoint = (Position of (Summoned unit))
    Special Effect - Create a special effect at TempPoint using Objects\Spawnmodels\Other\ToonBoom\ToonBoom.mdl
    Special Effect - Destroy (Last created special effect)
    Unit - Set level of Command for (Summoned unit) to (Level of Command for (Summoning unit))
    Custom script: call RemoveLocation (udg_TempPoint)
Shield Bash
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Shield Bash
  Actions
    Set VariableSet temp_unit = (Triggering unit)
    Custom script: call AddUnitAnimationProperties(udg_temp_unit,"Defend",true)
    Wait 0.50 seconds
    Set VariableSet temp_unit = (Triggering unit)
    Custom script: call AddUnitAnimationProperties(udg_temp_unit,"Defend",false)
Artillery Strike
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Artillery Strike
  Actions
    Set VariableSet TempPoint = (Target point of ability being cast)
    Unit - Create 1.Dummy (Target) for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
    Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
    Unit - Create 1.Dummy (Artillery) for (Owner of (Triggering unit)) at TempPoint facing Default building facing degrees
    Unit - Order (Last created unit) to Neutral Tinker - Cluster Rockets.TempPoint
    Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
    Custom script: call RemoveLocation (udg_TempPoint)
    Wait 0.50 seconds
    Animation - Reset (Triggering unit)'s animation
Command Remove
  Events
    Unit - A unit Dies
  Conditions
    (Unit-type of (Triggering unit)) Equal to Command Ward
  Actions
    Game - Set Lock resource trading to On
    Set VariableSet TempPoint = (Position of (Summoned unit))
    Special Effect - Create a special effect at (Position of (Triggering unit)) using Objects\Spawnmodels\Other\ToonBoom\ToonBoom.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_TempPoint)
Artillery Strike 2
  Events
    Unit - A unit enters (Playable map area)
  Conditions
    (Unit-type of (Triggering unit)) Equal to Dummy (Target)
  Actions
    Wait 3.10 seconds
    Set VariableSet TempPoint = (Position of (Triggering unit))
    Special Effect - Create a special effect at TempPoint using Objects\Spawnmodels\Other\NeutralBuildingExplosion\NeutralBuildingExplosion.mdl
    Special Effect - Destroy (Last created special effect)
    Custom script: call RemoveLocation (udg_TempPoint)
Init Gametext
  Events
  Conditions
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Player 2 (Blue) controller) Equal to User
        (Player 9 (Gray) controller) Equal to User
        (Player 2 (Blue) slot status) Equal to Is playing
        (Player 9 (Gray) slot status) Equal to Is playing
      Then - Actions
        Set VariableSet EnoughPlayers = True
        Trigger - Run Startgame_Text <gen> (ignoring conditions)
      Else - Actions
        Trigger - Run Startgame_Text_3 <gen> (ignoring conditions)
Endgame Text
  Events
  Conditions
  Actions
    Sound - Play ClanInvitation <gen>
    Set VariableSet Extra = (100 - (Integer(MalganisConversions)))
    Set VariableSet CampaignScore = (CampaignScore + (SubquestsComplete x ScoreSubquests))
    Set VariableSet CampaignScore = (CampaignScore + (BonusesFound x ScoreBonuses))
    Set VariableSet CampaignScore = (CampaignScore + (Extra x ScoreExtra))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TimeSecondsTotal Less than or equal to (Integer(TimeMin))
      Then - Actions
        Set VariableSet CampaignScore = (CampaignScore + ScoreTime)
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TimeSecondsTotal Greater than or equal to (Integer(TimeMax))
          Then - Actions
          Else - Actions
            Set VariableSet CampaignScore = (CampaignScore + (Integer((((Real(ScoreTime)) - (((Real(ScoreTime)) / TimeRange) x ((Real(TimeSecondsTotal)) - TimeMin))) + 0.50))))
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item carried by Arthas in slot (Integer A)) Not equal to No item
          Then - Actions
            Set VariableSet FinalInventory[(Integer A)] = ((Name of (Item carried by Arthas in slot (Integer A))) + , )
          Else - Actions
            Set VariableSet FinalInventory[(Integer A)] =
    For each (Integer A) from 7 to 12, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Item carried by Captain in slot ((Integer A) - 6)) Not equal to No item
          Then - Actions
            Set VariableSet FinalInventory[(Integer A)] = ((Name of (Item carried by Captain in slot ((Integer A) - 6))) + , )
          Else - Actions
            Set VariableSet FinalInventory[(Integer A)] =
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        CampaignScore Greater than or equal to ScoreLimit[1]
      Then - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CampaignScore Greater than or equal to ScoreLimit[2]
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                CampaignScore Greater than or equal to ScoreLimit[3]
              Then - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CampaignScore Greater than or equal to ScoreLimit[4]
                  Then - Actions
                    Set VariableSet FinalRank = |cff00ff00A|r
                    Set VariableSet RankInteger = 5
                  Else - Actions
                    Set VariableSet FinalRank = |cffccff00B|r
                    Set VariableSet RankInteger = 4
              Else - Actions
                Set VariableSet FinalRank = |cffffff00C|r
                Set VariableSet RankInteger = 3
          Else - Actions
            Set VariableSet FinalRank = |cffff0000D|r
            Set VariableSet RankInteger = 2
      Else - Actions
        Set VariableSet FinalRank = |cff990000E|r
        Set VariableSet RankInteger = 1
    Set VariableSet SaveLoad_TotalTime = (SaveLoad_TotalTime + TimeSecondsTotal)
    Set VariableSet Save[1] = MissionNumber
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        SumRank Greater than or equal to 1
      Then - Actions
        Set VariableSet Save[2] = (SumRank + RankInteger)
      Else - Actions
        Set VariableSet Save[2] = 0
    Set VariableSet Save[3] = (Level of Holy Light for Arthas)
    Set VariableSet Save[4] = (Level of Devotion Aura for Arthas)
    Set VariableSet Save[5] = (Level of Divine Shield for Arthas)
    Set VariableSet Save[6] = (Level of Resurrection for Arthas)
    Set VariableSet Save[7] = (Level of Shield Bash for Captain)
    Set VariableSet Save[8] = (Level of Command for Captain)
    Set VariableSet Save[9] = (Level of Great Defense for Captain)
    Set VariableSet Save[10] = (Level of Artillery Strike for Captain)
    Set VariableSet SaveCount = 11
    Set VariableSet Save[SaveCount] = (Number of items carried by Arthas)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Item carried by Arthas in slot (Integer A)) is owned) Equal to True
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Arthas in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Arthas in slot (Integer A)))
          Else - Actions
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = (Number of items carried by Captain)
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Item carried by Captain in slot (Integer A)) is owned) Equal to True
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Captain in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Captain in slot (Integer A)))
          Else - Actions
    Custom script: set udg_Code = SaveLoad_Encode()
    Game - Display to (All players) for 600.00 seconds the text: |cff6666dd-= HUMAN CHAPTER 6 COMPLETED =-|r
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Rank: |r + FinalRank)
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Score: |r + (String(CampaignScore)))
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        INSANEMODE Equal to True
      Then - Actions
        Game - Display to (All players) for 600.00 seconds the text: |cffffcc00Difficulty: |rInsane
      Else - Actions
        Game - Display to (All players) for 600.00 seconds the text: |cffffcc00Difficulty: |rNormal
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Time Taken:|r + TimeTakenString)
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Subquest Completed:|r + ((String(SubquestsComplete)) + ( / + (String(SubquestsTotal)))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Bonuses Found:|r + ((String(BonusesFound)) + ( / + (String(BonusesTotal)))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00EXTRA - Conversions Denied:|r + ((String(Extra)) + ( / + (String(ExtraTotal)))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Player 1's Inventory:|r + (FinalInventory[1] + (FinalInventory[2] + (FinalInventory[3] + (FinalInventory[4] + (FinalInventory[5] + FinalInventory[6]))))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Player 2's Inventory:|r + (FinalInventory[7] + (FinalInventory[8] + (FinalInventory[9] + (FinalInventory[10] + (FinalInventory[11] + FinalInventory[12]))))))
    Game - Display to (All players) for 600.00 seconds the text: (|cffffcc00Save Code:|r + Code)
Startgame Load
  Events
    Player - Player 2 (Blue) types a chat message containing -load (stringnoformat) as A substring
    Player - Player 9 (Gray) types a chat message containing -load (stringnoformat) as A substring
  Conditions
    (Substring((Entered chat string), 1, 6)) Equal to (Matched chat string)
    (Length of (Entered chat string)) Greater than 6
    GameSelection Equal to True
    EnoughPlayers Equal to True
  Actions
    Cinematic - Clear the screen of text messages for (All players).
    -------- Try to decode what was typed --------
    Set VariableSet Code = (Substring((Entered chat string), 7, (Length of (Entered chat string))))
    Custom script: set udg_Validate = SaveLoad_Decode( udg_Code )
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Validate Equal to True
        Or - Any (Conditions) are true
          Conditions
            Save[1] Equal to 5
            Save[1] Equal to 15
      Then - Actions
        -------- Correct Code --------
        Set VariableSet GameSelection = False
        Trigger - Turn off (This trigger)
        Sound - Play GoodJob <gen>
        Set VariableSet SumRank = Save[2]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[3] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[3], do (Actions)
              Loop - Actions
                Hero - Learn skill for Arthas: Human Paladin - Holy Light
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[4] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[4], do (Actions)
              Loop - Actions
                Hero - Learn skill for Arthas: Human Paladin - Devotion Aura
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[5] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[5], do (Actions)
              Loop - Actions
                Hero - Learn skill for Arthas: Human Paladin - Divine Shield
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[6] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[6], do (Actions)
              Loop - Actions
                Hero - Learn skill for Arthas: Human Paladin - Resurrection
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[7] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[7], do (Actions)
              Loop - Actions
                Hero - Learn skill for Captain: Shield Bash
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[8] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[8], do (Actions)
              Loop - Actions
                Hero - Learn skill for Captain: Command
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[9] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[9], do (Actions)
              Loop - Actions
                Hero - Learn skill for Captain: Great Defense
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[10] Greater than or equal to 1
          Then - Actions
            For each (Integer A) from 1 to Save[10], do (Actions)
              Loop - Actions
                Hero - Learn skill for Captain: Artillery Strike
          Else - Actions
        Set VariableSet SaveCount = 11
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
          Loop - Actions
            -------- The actual item --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
            Hero - Create TempItemType and give it to Arthas
            -------- Number of charges --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Item - Set charges remaining in (Last created item) to Save[SaveCount]
        Set VariableSet SaveCount = (SaveCount + 1)
        Wait 1.00 seconds
        For each (Integer A) from 1 to Save[SaveCount], do (Actions)
          Loop - Actions
            -------- The actual item --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Custom script: set udg_TempItemType = SaveLoad_Integer2Item(udg_Save[udg_SaveCount])
            Hero - Create TempItemType and give it to Captain
            -------- Number of charges --------
            Set VariableSet SaveCount = (SaveCount + 1)
            Item - Set charges remaining in (Last created item) to Save[SaveCount]
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Save[1] Equal to 15
          Then - Actions
            Set VariableSet INSANEMODE = True
            Trigger - Run Initialize_Initializations <gen> (checking conditions)
            Trigger - Run Setup_Insane <gen> (checking conditions)
          Else - Actions
            Set VariableSet INSANEMODE = False
            Trigger - Run Initialize_Initializations <gen> (checking conditions)
      Else - Actions
        -------- Invalid code --------
        Sound - Play Error <gen>
        Game - Display to (All players) for 600.00 seconds the text: |cff6666dd-= HUMAN CHAPTER 6=-|r
        Game - Display to (All players) for 600.00 seconds the text: The Culling
        Game - Display to (All players) for 600.00 seconds the text:
        Game - Display to (All players) for 600.00 seconds the text: There was an error with the code, please try again.
        Game - Display to (All players) for 600.00 seconds the text:
        Game - Display to (All players) for 600.00 seconds the text: Alternatively, both players type '-new' if you do not have a code.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            INSANEMODE Equal to True
          Then - Actions
            Game - Display to (All players) for 600.00 seconds the text: New game is at Insane difficulty. Type '-normal' to play at a lower difficulty.
          Else - Actions
            Game - Display to (All players) for 600.00 seconds the text: New game is at Normal difficulty. Type '-insane' to play at a higher difficulty.
        Skip remaining actions
Startgame New
  Events
    Player - Player 2 (Blue) types a chat message containing -new (stringnoformat) as An exact match
    Player - Player 9 (Gray) types a chat message containing -new (stringnoformat) as An exact match
  Conditions
    GameSelection Equal to True
    EnoughPlayers Equal to True
  Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 2 (Blue)
        NewVote1 Equal to False
        NewVote2 Equal to False
      Then - Actions
        Set VariableSet NewVote1 = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 9 (Gray)
        NewVote1 Equal to False
        NewVote2 Equal to False
      Then - Actions
        Set VariableSet NewVote2 = True
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 2 (Blue)
        NewVote1 Equal to False
        NewVote2 Equal to True
      Then - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Set VariableSet NewVote1 = True
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Hero - Learn skill for Arthas: Human Paladin - Holy Light
        Hero - Learn skill for Arthas: Human Paladin - Holy Light
        Hero - Learn skill for Arthas: Human Paladin - Devotion Aura
        Hero - Learn skill for Arthas: Human Paladin - Devotion Aura
        Hero - Learn skill for Arthas: Human Paladin - Divine Shield
        Hero - Learn skill for Arthas: Human Paladin - Resurrection
        Hero - Learn skill for Captain: Shield Bash
        Hero - Learn skill for Captain: Shield Bash
        Hero - Learn skill for Captain: Command
        Hero - Learn skill for Captain: Command
        Hero - Learn skill for Captain: Great Defense
        Hero - Learn skill for Captain: Artillery Strike
        Wait 1.00 seconds
        Trigger - Run Initialize_Initializations <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            INSANEMODE Equal to True
          Then - Actions
            Trigger - Run Setup_Insane <gen> (checking conditions)
          Else - Actions
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Triggering player) Equal to Player 9 (Gray)
        NewVote1 Equal to True
        NewVote2 Equal to False
      Then - Actions
        Cinematic - Clear the screen of text messages for (All players).
        Set VariableSet NewVote2 = True
        Set VariableSet GameSelection = False
        Sound - Play GoodJob <gen>
        Hero - Learn skill for Arthas: Human Paladin - Holy Light
        Hero - Learn skill for Arthas: Human Paladin - Holy Light
        Hero - Learn skill for Arthas: Human Paladin - Devotion Aura
        Hero - Learn skill for Arthas: Human Paladin - Devotion Aura
        Hero - Learn skill for Arthas: Human Paladin - Divine Shield
        Hero - Learn skill for Arthas: Human Paladin - Resurrection
        Hero - Learn skill for Captain: Shield Bash
        Hero - Learn skill for Captain: Shield Bash
        Hero - Learn skill for Captain: Command
        Hero - Learn skill for Captain: Command
        Hero - Learn skill for Captain: Great Defense
        Hero - Learn skill for Captain: Artillery Strike
        Wait 1.00 seconds
        Trigger - Run Initialize_Initializations <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            INSANEMODE Equal to True
          Then - Actions
            Trigger - Run Setup_Insane <gen> (checking conditions)
          Else - Actions
      Else - Actions
Startgame Text
  Events
    Player - Player 2 (Blue) types a chat message containing -normal (stringnoformat) as An exact match
    Player - Player 9 (Gray) types a chat message containing -normal (stringnoformat) as An exact match
  Conditions
    INSANEMODE Equal to True
    GameSelection Equal to True
  Actions
    Sound - Play QuestLog <gen>
    Cinematic - Clear the screen of text messages for (All players).
    Game - Display to (All players) for 600.00 seconds the text: |cff6666dd-= HUMAN CHAPTER 6=-|r
    Game - Display to (All players) for 600.00 seconds the text: The Culling
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Type '-load' and your code you obtained from the previous chapter.
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Alternatively, both players type '-new' if you do not have a code.
    Game - Display to (All players) for 600.00 seconds the text: New game is at Normal difficulty. Type '-insane' to play at a higher difficulty.
    Set VariableSet INSANEMODE = False
Startgame Text 2
  Events
    Player - Player 2 (Blue) types a chat message containing -insane (stringnoformat) as An exact match
    Player - Player 9 (Gray) types a chat message containing -insane (stringnoformat) as An exact match
  Conditions
    INSANEMODE Equal to False
    GameSelection Equal to True
  Actions
    Sound - Play QuestLog <gen>
    Cinematic - Clear the screen of text messages for (All players).
    Game - Display to (All players) for 600.00 seconds the text: |cff6666dd-= HUMAN CHAPTER 6=-|r
    Game - Display to (All players) for 600.00 seconds the text: The Culling
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Type '-load' and your code you obtained from the previous chapter.
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Alternatively, both players type '-new' if you do not have a code.
    Game - Display to (All players) for 600.00 seconds the text: New game is at Insane difficulty. Type '-normal' to play at a lower difficulty.
    Set VariableSet INSANEMODE = True
Startgame Text 3
  Events
  Conditions
  Actions
    Game - Display to (All players) for 600.00 seconds the text: |cff6666dd-= HUMAN CHAPTER 6=-|r
    Game - Display to (All players) for 600.00 seconds the text: The Culling
    Game - Display to (All players) for 600.00 seconds the text:
    Game - Display to (All players) for 600.00 seconds the text: Not enough players have been detected ingame.
    Game - Display to (All players) for 600.00 seconds the text: Atleast 2 players are required to begin the map.
ResourceDrop Order
  Events
    Unit - A unit Is issued an order targeting an object
  Conditions
    (Unit-type of (Ordered unit)) Equal to Peasant
    (Issued order) Equal to (Order(smart))
    ((Target unit of issued order) is in ResourceDropBuildings.) Equal to True
  Actions
    Unit - Order (Ordered unit) to Right-Click.(Load 0 of (Key (Target unit of issued order).) in ResourceDropHashtable.)
ResourceDrop Destroy
  Events
    Unit - A unit Dies
  Conditions
    ((Dying unit) is in ResourceDropBuildings.) Equal to True
  Actions
    Unit - Add a 0.50 second Generic expiration timer to (Load 0 of (Key (Dying unit).) in ResourceDropHashtable.)
    Hashtable - Clear all child hashtables of child (Key (Load 0 of (Key (Dying unit).) in ResourceDropHashtable.).) in ResourceDropHashtable.
ResourceDrop Build
  Events
    Unit - A unit Finishes construction
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Owner of (Triggering unit)) Equal to Player 2 (Blue)
        (Owner of (Triggering unit)) Equal to Player 9 (Gray)
    Or - Any (Conditions) are true