Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Trigger Viewer

2P Sentinel 03 v1.07.w3x
Variables
Spells
HERO
Blade Shield INIT
Blade Shield BEGIN
Blade Shield LOOP
Blade Shield EXPIRE
Blade Shield DEATH
Blade Shield LOADS INTO TRANSPORT
Shift
Shift WORK
Eclipse INIT
Eclipse LEARN
Eclipse BEGIN
Eclipse EXPIRE
Twilight Guardian BEGIN
Twilight Guardian DEATH
ITEM
Shadow Orb INIT
Shadow Orb CUMULATIVE
Initialization
Initialization
Preface and Systems
Extra Initilalization
Item Initialization
SaveLoad Initialization
SaveLoad Save
SaveLoad Load
xxx
Preface INIT
Preface TOOGLE DIFFICULTY
Preface TEXT
Begin Game MAIN
Begin Game APPLY DIFFICULTY
xxx
Finish Game
xxx
Powerups ACQUIRE
Powerups COMMON
xxx
Share INIT
Share Research BEGIN
Share Research CANCEL
Share Research FINISH
Share Techtree BEGIN CONSTRUCTION
Share Techtree CANCEL CONSTRUCTION
Share Techtree FINISH CONSTRUCTION
Share Techtree BEGIN AN UPGRADE
Share Techtree CANCEL AN UPGRADE
Share Techtree FINISH AN UPGRADE
Share DEATH
Share COMMON
Tribute
xxx
Unit Spawns Item
Desc Spawns Item
MISC
Player Leaves
Hero Stats INITIATE
Hero Stats SINGLE HERO
CINEMATIC
Enable or Disable Experience
Prepare for Cinematic
Restore after Cinematic
Skip Cinematic
-------- xxxxxxxxxxxxxxxx --------
Cinematics
Cinematic Revival
Post Cinematic Hide
Intro Cinematic
-------- Cinematic --------
Intro Setup
Intro Cinematic Q
Intro Cleanup
-------- After --------
Gameplay
Glyph2 Cinematic
-------- Before --------
Glyph2 Reached
-------- Cinematic --------
Glyph2 Setup
Glyph2 Cinematic Q
Glyph2 Cleanup
Serpents Cinematic
-------- Before --------
Serpents Reached
-------- Cinematic --------
Serpents Setup
Serpents Cinematic Q
Serpents Cleanup
Glyph3 Cinematic
-------- Before --------
Glyph3 Reached
-------- Cinematic --------
Glyph3 Setup
Glyph3 Cinematic Q
Glyph3 Cleanup
-------- Guldan Wounded --------
GuldanStaggerSetup
BodyJiggleWalka
BodyJiggleWalkb
BodyJiggleStanda
BodyJiggleStandb
cough
Eye Cinematic
-------- Before --------
Eye Reached
-------- Cinematic --------
Eye Setup
Eye Cinematic Q
Eye Cleanup
-------- Effects --------
Dust FX
Explosion FX
Victory Cinematic
-------- Cinematic --------
Victory Setup
Victory Cinematic Q
Victory Cleanup
Pit Lord Cinematic
Pit Lord Tripwire
Pit Lord Setup
Pit Lord Cinematic Q
Pit Lord Cleanup
Pit Lord Hint
Pit Lord Death
-------- xxxxxxxxxxxxxxxx --------
Door MiniCinematic
Door Setup
Door MiniCinematic Q
Door Cleanup
Reset MiniCinematic
Reset Setup
Reset MiniCinematic Q
Reset Cleanup
-------- xxxxxxxxxxxxxxxx --------
Quests
-------- Illidan Quest --------
Quest Illidan Create
Quest Illidan Discover
Quest Illidan Completed
-------- Escape Quest --------
Quest Escape Create
Quest Escape Discover
Quest Escape Completed
Quest Escape Failed
Quest Escape Undiscover
-------- Barriers Quest --------
Quest Barriers Create
Quest Barriers Discover
Quest Barriers Completed
Quest Barriers Failed
-------- Secrets Quest --------
Quest Orb Create
Quest Orb Discover
Quest Orb Update 02
Quest Orb Update 03
Quest Orb Update 04
Quest Orb Update 05
Quest Orb Update 06
Quest Orb Update 07
Quest Orb Update 08
Quest Orb Update 09
Quest Orb Completed
-------- Failure --------
Mission Failed Maiev Dead
Mission Failed NewWarden Dead
Quest Queues
Quest Illidan Discover Q
Quest Illidan Completed Q
Quest Escape Discover Q
Quest Escape Failed Q
Hints
Hint Blink Intro Event
Hint Blink Intro Q
Hint Blink Intro Vision
Hint Blink Water Event
Hint Blink Water Bypass
Hint Blink Water Q
Hint Blink Escape Q
Hint Shadow Orb
Leaderboard
Leaderboard Create
Leaderboard Update
Leaderboard Destroy
Leaderboard Hide
Leaderboard Show
-------- xxxxxxxxxxxxxxxx --------
Combat Check
Combat Detected
Combat Resolved
Victory Defeat
Victory Escaped
Defeat Maiev Dead
Defeat Saithis Dead
Reset Heroes Dead
Reset Too Slow
Voiceovers
Statue Vocieover
Statue Voiceover Q
Overlord Event
Overlord Voiceover Q
MoreOrcs Voiceover
MoreOrcs Voiceover Q
Eye Warning
Eye Warning Q
Rescues
-------- R1 --------
R1 Found
R1 Found Lines Q
R1 Destroy Rocks
R1 Rescued
-------- R2 --------
R2 Found
R2 Found Lines Q
R2 Destroy Rocks
R2 Rescued
-------- R3 --------
R3 Found
R3 Found Lines Q
R3 Destroy Rocks
R3 Rescued
-------- Common Lines --------
Rescues Completed Test
Rescues Completed Q
RN Found Line First
RN Found Line Subsequent
Shadow Orb
Make Orbs Invulnerable
Orb Fragment Acquired
Orb 01 Q
Orb 02 Q
Orb 03 Q
Orb 04 Q
Orb 05 Q
Orb 06 Q
Orb 07 Q
Orb 08 Q
Orb 09 Q
Orb 10 Q
Escape Sequence
Escape Rune Acquired
ChaosGroup Summon
Escape Pings
-------- Prep --------
Prep Escape
Prep Environment
Prep Units
Prep Items
-------- Reset --------
Reset Escape
Reset Environment
Reset Units
Reset Unit Single
Reset Items
Reset Heroes
-------- Start --------
Start Escape Sequence
-------- Behavior --------
Unpause Static Chaos Groups
Unpause Chaos Group B
Unpause Chaos Group E
Unpause Chaos Group I
Unpause Chaos Group K
Rush Chaos Group C
Rush Chaos Group H
Rush Chaos Group J
Rush Chaos Group L
Quakes
Quake Event
Quake Shake
Unit Behavior
CritterA Pen
Roaming Felhounds
SkelArcher Tripwire
SkelGuard Tripwire
Doors and Gates
-------- Door Plate --------
Door Plate Tripwire
Door Broken
-------- Bridge Plate --------
Bridge Plate Tripwire
Bridge Resurrection
Bridge Plate Broken
Vision
HydraPool Vision On
HydraPool Vision Off
RampartLedge1 Vision On
RampartLedge1 Vision Off
RampartLedge2 Vision On
RampartLedge2 Vision Off
Broken Stairs Vision On
Broken Stairs Vision Off
River Vision
DoorPlate Vision On
DoorPlate Vision Off
BridgePlate Vision On
BridgePlate Vision Off
Disable Parasite all together
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 = "|cffffcc00" + 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 = "|cffff6060" + 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 = "|cff6060ff" + c + "|r" + r
        elseif c == "-" then
            set r = "|cffdddddd-|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
        call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding sucessful")
        return true
    endif
    call DisplayTextToPlayer(GetTriggerPlayer(),0,0,"Decoding failed")
    return false
endfunction
Name Type Is Array Initial Value
APG1_Player force No Force00
ArcherCin1 unit No
ArcherCin2 unit No
BlinkHintVM fogmodifier No
BlinkHintVM_B fogmodifier No
BlinkWaterDisabled boolean No
Bonus_Agility integer No
Bonus_Intelligence integer No
Bonus_Strength integer No
Bridge destructable No
BridgePlateBroken boolean No
BridgePlatesGlowing boolean No
BrokenStairsVM fogmodifier No
BrokenStairsVM_B fogmodifier No
BrokenStairsVMExists boolean No
CameraReturnPoint location No
ChaosDistance real No 1500.00
ChaosGroup_All group No
ChaosGroupA group No
ChaosGroupB group No
ChaosGroupC group No
ChaosGroupD group No
ChaosGroupE group No
ChaosGroupF group No
ChaosGroupG group No
ChaosGroupH group No
ChaosGroupI group No
ChaosGroupJ group No
ChaosGroupK group No
ChaosGroupL group No
ChaosSource_All group No
ChaosSourceA group No
ChaosSourceB group No
ChaosSourceC group No
ChaosSourceD group No
ChaosSourceE group No
ChaosSourceF group No
ChaosSourceG group No
ChaosSourceH group No
ChaosSourceI group No
ChaosSourceJ group No
ChaosSourceK group No
ChaosSourceL group No
Cinematic_NAME string No
Cinematic_Preparation_Finished boolean No
Code string No
Code_Is_Active boolean No
CombatCheckTimer timer No
CONSTANT_Glaive_COUNT_MAX integer Yes
CONSTANT_Glaive_COUNT_MIN integer Yes
CONSTANT_Glaive_DAMAGE real Yes
CONSTANT_Glaive_DAMAGE_RANGE real Yes
CONSTANT_Glaive_DURATION real Yes
CONSTANT_Glaive_EFFECT_01 string Yes
CONSTANT_Glaive_EFFECT_02 string Yes
CONSTANT_Glaive_EFFECT_03 modelfile Yes
CONSTANT_Glaive_EFFECT_04 modelfile Yes
CONSTANT_Glaive_EFFECT_05 modelfile Yes
CONSTANT_Glaive_HIT_EFFECT_01 string Yes
CONSTANT_Glaive_HIT_EFFECT_02 modelfile Yes
CONSTANT_Glaive_HIT_EFFECT_03 modelfile Yes
CONSTANT_Glaive_HIT_EFFECT_04 modelfile Yes
CONSTANT_Glaive_HIT_EFFECT_05 modelfile Yes
CONSTANT_Glaive_INTERVAL real Yes
CONSTANT_Glaive_LIMIT integer No
CONSTANT_Glaive_ORBITRANGE real Yes
CONSTANT_Glaive_SPEED_PER_SEC real Yes
CONSTANT_Shadow_DURATION real Yes
CONSTANT_Shadow_SUMMON unitcode Yes
CONSTANT_Shadow_TINT_ALPHA real Yes
CONSTANT_Shadow_TINT_BLUE real Yes
CONSTANT_Shadow_TINT_GREEN real Yes
CONSTANT_Shadow_TINT_RED real Yes
DeathGuardEpic unit No
DIFFICULTY string No
DoorBroken boolean No
DoorPlatesGlowing boolean No
EMPTY itemcode No
EscapeRuneA item No ItemNull
EscapeRuneB item No ItemNull
EscapeRuneC item No ItemNull
EscapeRuneD item No ItemNull
EscapeRuneE item No ItemNull
EscapeRuneF item No ItemNull
EscapeRuneG item No ItemNull
EscapeTime real No
EscapeTimer timer No
EscapeTimerCreated boolean No
EscapeTimerWindow timerdialog No
Escaping boolean No
ExpDisabledForMaiev boolean No false
EyeRockEffectsIn boolean No
EyeSkipped boolean No false
FelhoundA unit No
FelhoundB unit No
FelhoundC unit No
FelhoundD unit No
FinalCinDestroyGroup group No
FloorPlate01A destructable No
FloorPlate01B destructable No
FloorPlate01C destructable No
FloorPlate01D destructable No
FloorPlate02A destructable No
FloorPlate02B destructable No
FloorPlate02C destructable No
FloorPlate02D destructable No
Furion unit No
GameHasStarted boolean No
GameOver boolean No false
Glaive_ANGLE real Yes
Glaive_EFFECT_01 effect Yes
Glaive_EFFECT_02 effect Yes
Glaive_EFFECT_03 effect Yes
Glaive_EFFECT_04 effect Yes
Glaive_EFFECT_05 effect Yes
Glaive_EXPIRE timer Yes
Glaive_GROUP group Yes
Glaive_LEVEL integer Yes
Glaive_LOOP timer Yes
Glaive_OWNER unit Yes
Glaive_OWNER_HIDDEN unit Yes
Glaive_STATE string Yes
Glaive_TARGET unit Yes
Glaive_TARGET_HIDDEN unit Yes
Glaive_UNIT unit Yes
Glyph2Skipped boolean No
Glyph3GuldanStagger unit Yes
Glyph3Skipped boolean No
Guldan unit No
GuldansForces group No
HermitSkipped boolean No
HermitSkipped2 boolean No
HiddenUnits group No
HydraPoolVM fogmodifier No
HydraPoolVM_B fogmodifier No
HydraPoolVMExists boolean No
Illidan unit No
InCinematic boolean No false
InCombat boolean No false
InFlashback boolean No
IntroArcherA unit No
IntroArcherB unit No
IntroArcherC unit No
IntroHuntressB unit No
IntroSkipped boolean No false
IntroStartingUnits group No
ITEM_DESC destructable Yes
ITEM_DESC_Item_Type itemcode Yes
ITEM_DESC_Item_Type_INSANE itemcode Yes
ITEM_DESC_Total integer No
ITEM_UNIT unit Yes
ITEM_UNIT_Item_Type itemcode Yes
ITEM_UNIT_Item_Type_INSANE itemcode Yes
ITEM_UNIT_Total integer No
Maiden_OWNER unit Yes
Maiden_TIMER timer Yes
Maiev unit No UnitNull
MaievReturnSpot location No
Multiboard_Current_Column integer No
Multiboard_Current_Row integer No
Multiboard_Hero_Icon string No
Multiboard_Item_Used boolean Yes
Multiboard_Name_Used boolean No
Multiboard_Skill abilcode Yes
Multiboard_Skill_Icon string Yes
Multiboard_Skill_Name string Yes
Multiboard_Skill_Used boolean Yes
Multiboard_Unit unit No
Mutliboard_Hero_Statistics multiboard No
NagaSkipped boolean No
Naisha unit No UnitNull
NaishaCin unit No
NewWarden unit No
NewWardenReturnSpot location No
OrbFragmentsFound integer No 0
OrbItem item No ItemNull
P2_Reinforcements player No Player00
P4_Illidan player No Player03
P5_Cinaga player No Player04
P7_Guardians player No Player06
PitLord unit No
PitLordSkipped boolean No
PlatePressedSound sound No
Player_Color playercolor Yes
Player_Color_String string Yes
Player_One player No Player01
Player_One_Agreed boolean No
Player_One_Color integer No
Player_One_Skipped boolean No
Player_Two player No Player02
Player_Two_Agreed boolean No
Player_Two_Color integer No
Player_Two_Skipped boolean No
PointChaosGroupB location No
PointChaosGroupE location No
PointChaosGroupI location No
PointChaosGroupK location No
PointEscapeRuneA location No
PointEscapeRuneB location No
PointEscapeRuneC location No
PointEscapeRuneD location No
PointEscapeRuneE location No
PointEscapeRuneF location No
PointEscapeRuneG location No
PointEscapeTripwire location No
PointEyeMaievFinish location No
PointEyeSFXRock01 location No
PointEyeSFXRock02 location No
PointEyeSFXRock03 location No
PointEyeSFXRock04 location No
PointEyeSFXRock05 location No
PointEyeSFXRock06 location No
PointEyeSFXRock07 location No
PointEyeSFXRock08 location No
PointEyeSFXRock09 location No
PointEyeSFXRock10 location No
PointEyeSFXRock11 location No
PointEyeSFXRock12 location No
PointMaiev location No
PointRushGroupC location No
PointRushGroupH location No
PointRushGroupJ location No
PointRushGroupL location No
Powerups_Gold integer No
Powerups_Lumber integer No
QuakeTimer timer No
QuestAllSurvive questitem No
QuestBarriers quest No
QuestBarriersDestroy questitem No
QuestEscape quest No
QuestEscapeBring questitem No
QuestIllidan quest No
QuestIllidanFind questitem No
QuestOrb quest No
QuestOrbFind questitem No
R1 group No
R1Rescued boolean No
R1RocksAntiVM fogmodifier No
R1RocksAntiVM_B fogmodifier No
R2 group No
R2Rescued boolean No
R2RocksAntiVM fogmodifier No
R2RocksAntiVM_B fogmodifier No
R3 group No
R3Rescued boolean No
R3RocksAntiVM fogmodifier No
R3RocksAntiVM_B fogmodifier No
RampartLedge1VM fogmodifier No
RampartLedge1VM_B fogmodifier No
RampartLedge1VMExists boolean No
RampartLedge2VM fogmodifier No
RampartLedge2VM_B fogmodifier No
RampartLedge2VMExists boolean No
Research_Name_1 string Yes
Research_Name_2 string Yes
Research_Name_3 string Yes
Research_Type techcode Yes
Resetting boolean No
RevivalAltar unit No UnitNull
RevivalHero unit No UnitNull
RevivalReturnSpot location No
RevivalSpot location No
RushDistance real No 1300.00
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_Integer integer No
SaveLoad_Item_String string Yes
SaveLoad_Items itemcode Yes
SaveLoad_Items_LastIndex integer No
SaveLoad_Uncompress integer Yes
SaveLoad_UsePlayername boolean No
SelectedUnits group No
SerpentsSkipped boolean No
Shadow_LEVEL integer Yes
Shadow_Orb_OWNER unit Yes
Shadow_Orb_OWNER_INTEGER integer Yes
Shadow_Orb_OWNER_ORB item Yes
Shadow_Orb_TIMER timer Yes
Shadow_Orb_TYPE itemcode Yes
Shadow_OWNER unit Yes
Shadow_TARGET unit Yes
Shadow_TIMER timer Yes
Shadow_UNIT unit Yes
ShadowBoard multiboard No
ShadowBoardShowing boolean No
ShamanA unit No
ShamanB unit No
ShamanC unit No
ShamanD unit No
ShamanE unit No
ShamanF unit No
ShamanG unit No
ShamanH unit No
Share_DISPLAY boolean Yes
Share_FAKE unitcode Yes
Share_REAL unitcode Yes
Shift_OWNER unit Yes
Shift_TARGET unit Yes
Shift_TIMER timer Yes
SkelArcherA unit No
SkelArcherB unit No
SkelArcherC unit No
SkelArchers group No
SlimeDoor destructable No
Speaker unit No
SpeakingDistance real No 1500.00
SpeakingOverlord unit No
TempDistance real No
TempGroup group Yes
TempInteger integer Yes
TempItem item No
TempItemType itemcode No
TempPoint location Yes
TempText string Yes
tempX real No
tempY real No
Twilight_FOLK group Yes
Twilight_TIMER timer Yes
Twilight_UNIT unit Yes
Tyrande unit No
Under_Construction group No
Validate boolean No
Vashj unit No
VictoryDemon unit No
VictoryHoundA unit No
VictoryHoundB unit No
VictoryHoundC unit No
VictoryHoundD unit No
VictorySkipped boolean No false
VSourceBrokenStairs location No
VSourcePlate01A location No
VSourcePlate01B location No
VSourcePlate02A location No
VSourcePlate02B location No
VSourcePlate02C location No
VSourcePlate02D location No
VSourceRampart1A location No
VSourceRampart1B location No
Weather01Fog weathereffect No
Weather01Rays weathereffect No
Weather02Fog weathereffect No
Weather02Rays weathereffect No
Weather03Fog weathereffect No
Weather03Rays weathereffect No
WhichGroup group No
WhichSource group No
This trigger was made for the two player Sentinel campaign: Terror of the Tides by McQvaBlood.
Blade Shield INIT
  Events
    Map initialization
  Conditions
  Actions
    -------- DECLEAR CONSTANTS --------
    Set VariableSet CONSTANT_Glaive_LIMIT = 10
    Set VariableSet CONSTANT_Glaive_COUNT_MIN[1] = 3
    Set VariableSet CONSTANT_Glaive_COUNT_MIN[2] = 4
    Set VariableSet CONSTANT_Glaive_COUNT_MIN[3] = 5
    Set VariableSet CONSTANT_Glaive_COUNT_MAX[1] = 3
    Set VariableSet CONSTANT_Glaive_COUNT_MAX[2] = 4
    Set VariableSet CONSTANT_Glaive_COUNT_MAX[3] = 5
    Set VariableSet CONSTANT_Glaive_SPEED_PER_SEC[1] = 500.00
    Set VariableSet CONSTANT_Glaive_SPEED_PER_SEC[2] = 600.00
    Set VariableSet CONSTANT_Glaive_SPEED_PER_SEC[3] = 700.00
    Set VariableSet CONSTANT_Glaive_ORBITRANGE[1] = 150.00
    Set VariableSet CONSTANT_Glaive_ORBITRANGE[2] = 150.00
    Set VariableSet CONSTANT_Glaive_ORBITRANGE[3] = 150.00
    Set VariableSet CONSTANT_Glaive_INTERVAL[1] = 0.04
    Set VariableSet CONSTANT_Glaive_INTERVAL[2] = 0.04
    Set VariableSet CONSTANT_Glaive_INTERVAL[3] = 0.04
    Set VariableSet CONSTANT_Glaive_DURATION[1] = 10.00
    Set VariableSet CONSTANT_Glaive_DURATION[2] = 10.00
    Set VariableSet CONSTANT_Glaive_DURATION[3] = 10.00
    Set VariableSet CONSTANT_Glaive_DAMAGE_RANGE[1] = 100.00
    Set VariableSet CONSTANT_Glaive_DAMAGE_RANGE[2] = 100.00
    Set VariableSet CONSTANT_Glaive_DAMAGE_RANGE[3] = 100.00
    Set VariableSet CONSTANT_Glaive_DAMAGE[1] = 15.00
    Set VariableSet CONSTANT_Glaive_DAMAGE[2] = 15.00
    Set VariableSet CONSTANT_Glaive_DAMAGE[3] = 15.00
    Set VariableSet CONSTANT_Glaive_EFFECT_01[1] = Abilities\Weapons\SentinelMissile\SentinelMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_01[2] = Abilities\Weapons\SentinelMissile\SentinelMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_01[3] = Abilities\Weapons\SentinelMissile\SentinelMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_02[1] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_02[2] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_02[3] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_02[1] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
    Set VariableSet CONSTANT_Glaive_EFFECT_02[1] = Abilities\Weapons\SludgeMissile\SludgeMissile.mdl
    Set VariableSet CONSTANT_Glaive_HIT_EFFECT_01[1] = Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
    Set VariableSet CONSTANT_Glaive_HIT_EFFECT_01[2] = Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
    Set VariableSet CONSTANT_Glaive_HIT_EFFECT_01[3] = Abilities\Weapons\HydraliskImpact\HydraliskImpact.mdl
    -------- END --------
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        Trigger - Add to Blade_Shield_LOOP <gen> the event (Glaive_LOOP[(Integer A)] expires)
        Trigger - Add to Blade_Shield_EXPIRE <gen> the event (Glaive_EXPIRE[(Integer A)] expires)
        Set VariableSet Glaive_GROUP[(Integer A)] = (Units of type Footman)
        Unit Group - Pick every unit in Glaive_GROUP[(Integer A)] and do (Actions)
          Loop - Actions
            Unit Group - Remove (Picked unit) from Glaive_GROUP[(Integer A)].
This trigger was made for the two player Sentinel campaign: Terror of the Tides by McQvaBlood.
Blade Shield BEGIN
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Blade Shield
  Actions
    Set VariableSet TempInteger[1] = (Random integer number between CONSTANT_Glaive_COUNT_MIN[(Level of Blade Shield for (Casting unit))] and CONSTANT_Glaive_COUNT_MAX[(Level of Blade Shield for (Casting unit))])
    For each (Integer A) from 1 to TempInteger[1], do (Actions)
      Loop - Actions
        Set VariableSet TempPoint[1] = (Position of (Casting unit))
        Unit - Create 1.Dummy Caster for (Owner of (Casting unit)) at TempPoint[1] facing Default building facing degrees
        Custom script: call RemoveLocation(udg_TempPoint[1])
        Set VariableSet TempInteger[2] = 0
        For each (Integer B) from 1 to CONSTANT_Glaive_LIMIT, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger[2] Equal to 0
                Glaive_UNIT[(Integer B)] Equal to No unit
              Then - Actions
                Set VariableSet TempInteger[2] = (Integer B)
              Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempInteger[2] Equal to 0
          Then - Actions
            Unit - Remove (Last created unit) from the game
            Skip remaining actions
          Else - Actions
        Set VariableSet Glaive_UNIT[TempInteger[2]] = (Last created unit)
        Set VariableSet Glaive_LEVEL[TempInteger[2]] = (Level of Blade Shield for (Casting unit))
        Set VariableSet Glaive_TARGET[TempInteger[2]] = (Target unit of ability being cast)
        Set VariableSet Glaive_OWNER[TempInteger[2]] = (Casting unit)
        Set VariableSet Glaive_ANGLE[TempInteger[2]] = ((Real((Integer A))) x (360.00 / (Real(TempInteger[1]))))
        Set VariableSet Glaive_STATE[TempInteger[2]] = AWAY
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CONSTANT_Glaive_EFFECT_01[Glaive_LEVEL[TempInteger[2]]] Not equal to
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of Glaive_UNIT[TempInteger[2]] using CONSTANT_Glaive_EFFECT_01[Glaive_LEVEL[TempInteger[2]]]
            Set VariableSet Glaive_EFFECT_01[TempInteger[2]] = (Last created special effect)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CONSTANT_Glaive_EFFECT_02[Glaive_LEVEL[TempInteger[2]]] Not equal to
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of Glaive_UNIT[TempInteger[2]] using CONSTANT_Glaive_EFFECT_02[Glaive_LEVEL[TempInteger[2]]]
            Set VariableSet Glaive_EFFECT_02[TempInteger[2]] = (Last created special effect)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CONSTANT_Glaive_EFFECT_03[Glaive_LEVEL[TempInteger[2]]] Not equal to
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of Glaive_UNIT[TempInteger[2]] using CONSTANT_Glaive_EFFECT_03[Glaive_LEVEL[TempInteger[2]]]
            Set VariableSet Glaive_EFFECT_03[Glaive_LEVEL[TempInteger[2]]] = (Last created special effect)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CONSTANT_Glaive_EFFECT_04[Glaive_LEVEL[TempInteger[2]]] Not equal to
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of Glaive_UNIT[TempInteger[2]] using CONSTANT_Glaive_EFFECT_04[Glaive_LEVEL[TempInteger[2]]]
            Set VariableSet Glaive_EFFECT_04[TempInteger[2]] = (Last created special effect)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            CONSTANT_Glaive_EFFECT_05[Glaive_LEVEL[TempInteger[2]]] Not equal to
          Then - Actions
            Special Effect - Create a special effect attached to the chest (attachpoint) of Glaive_UNIT[TempInteger[2]] using CONSTANT_Glaive_EFFECT_05[Glaive_LEVEL[TempInteger[2]]]
            Set VariableSet Glaive_EFFECT_05[TempInteger[2]] = (Last created special effect)
          Else - Actions
        Countdown Timer - Start Glaive_LOOP[TempInteger[2]] as a One-shot timer that will expire in CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[TempInteger[2]]] seconds
        Countdown Timer - Start Glaive_EXPIRE[TempInteger[2]] as a One-shot timer that will expire in CONSTANT_Glaive_DURATION[Glaive_LEVEL[TempInteger[2]]] seconds
    Set VariableSet TempInteger[1] = 0
This trigger was made for the two player Sentinel campaign: Terror of the Tides by McQvaBlood.
Blade Shield LOOP
  Events
  Conditions
  Actions
    For each (Integer A) from 1 to CONSTANT_Glaive_LIMIT, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Glaive_UNIT[(Integer A)] Not equal to No unit
            (Remaining time for Glaive_LOOP[(Integer A)]) Equal to 0.00
          Then - Actions
            -------- COMMON --------
            Countdown Timer - Start Glaive_LOOP[(Integer A)] as a One-shot timer that will expire in CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]] seconds
            Set VariableSet Glaive_ANGLE[(Integer A)] = (Glaive_ANGLE[(Integer A)] + (360.00 x ((CONSTANT_Glaive_SPEED_PER_SEC[Glaive_LEVEL[(Integer A)]] / (1 / CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]])) / ((2.00 x 3.14) x CONSTANT_Glaive_ORBITRANGE[Glaive_LEVEL[(Integer A)]]))))
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Glaive_TARGET_HIDDEN[(Integer A)] Not equal to No unit
                (Glaive_TARGET_HIDDEN[(Integer A)] is loaded into Glaive_TARGET[(Integer A)].) Equal to False
              Then - Actions
                Set VariableSet Glaive_TARGET[(Integer A)] = Glaive_TARGET_HIDDEN[(Integer A)]
                Set VariableSet Glaive_TARGET_HIDDEN[(Integer A)] = No unit
              Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Glaive_OWNER_HIDDEN[(Integer A)] Not equal to No unit
                (Glaive_OWNER_HIDDEN[(Integer A)] is loaded into Glaive_OWNER[(Integer A)].) Equal to False
              Then - Actions
                Set VariableSet Glaive_OWNER[(Integer A)] = Glaive_OWNER_HIDDEN[(Integer A)]
                Set VariableSet Glaive_OWNER_HIDDEN[(Integer A)] = No unit
              Else - Actions
            -------- COMMON: DAMAGE RECYCLE --------
            Unit Group - Pick every unit in Glaive_GROUP[(Integer A)] and do (Actions)
              Loop - Actions
                Set VariableSet TempPoint[1] = (Position of Glaive_UNIT[(Integer A)])
                Set VariableSet TempPoint[2] = (Position of (Picked unit))
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Distance between TempPoint[1] and TempPoint[2]) Greater than CONSTANT_Glaive_DAMAGE_RANGE[Glaive_LEVEL[(Integer A)]]
                  Then - Actions
                    Unit Group - Remove (Picked unit) from Glaive_GROUP[(Integer A)].
                  Else - Actions
                Custom script: call RemoveLocation(udg_TempPoint[1])
                Custom script: call RemoveLocation(udg_TempPoint[2])
            -------- COMMON: DAMAGE --------
            Set VariableSet TempPoint[1] = (Position of Glaive_UNIT[(Integer A)])
            Set VariableSet TempGroup[1] = (Units within CONSTANT_Glaive_DAMAGE_RANGE[Glaive_LEVEL[(Integer A)]] of TempPoint[1] matching (((((Matching unit) is alive) Equal to True) and (((Unit-type of (Matching unit)) is A flying unit) Equal to False)) and ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) belongs to an enemy of (Owner of Glaive_UNIT[(Integer A)]).) Equal to True) and (((Matching unit) is in Glaive_GROUP[(Integer A)].) Equal to False)))).)
            Unit Group - Pick every unit in TempGroup[1] and do (Actions)
              Loop - Actions
                Unit Group - Add (Picked unit) to Glaive_GROUP[(Integer A)]
                Unit - Cause Glaive_OWNER[(Integer A)] to damage (Picked unit), dealing CONSTANT_Glaive_DAMAGE[Glaive_LEVEL[(Integer A)]] damage of attack type Spells and damage type Normal
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CONSTANT_Glaive_HIT_EFFECT_01[Glaive_LEVEL[(Integer A)]] Not equal to
                  Then - Actions
                    Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using CONSTANT_Glaive_HIT_EFFECT_01[Glaive_LEVEL[(Integer A)]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CONSTANT_Glaive_HIT_EFFECT_01[Glaive_LEVEL[(Integer A)]] Not equal to
                  Then - Actions
                    Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using CONSTANT_Glaive_HIT_EFFECT_02[Glaive_LEVEL[(Integer A)]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CONSTANT_Glaive_HIT_EFFECT_03[Glaive_LEVEL[(Integer A)]] Not equal to
                  Then - Actions
                    Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using CONSTANT_Glaive_HIT_EFFECT_03[Glaive_LEVEL[(Integer A)]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CONSTANT_Glaive_HIT_EFFECT_04[Glaive_LEVEL[(Integer A)]] Not equal to
                  Then - Actions
                    Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using CONSTANT_Glaive_HIT_EFFECT_04[Glaive_LEVEL[(Integer A)]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    CONSTANT_Glaive_HIT_EFFECT_05[Glaive_LEVEL[(Integer A)]] Not equal to
                  Then - Actions
                    Special Effect - Create a special effect attached to the chest (attachpoint) of (Picked unit) using CONSTANT_Glaive_HIT_EFFECT_05[Glaive_LEVEL[(Integer A)]]
                    Special Effect - Destroy (Last created special effect)
                  Else - Actions
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Custom script: call DestroyGroup(udg_TempGroup[1])
            -------- STATE: AWAY --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Glaive_STATE[(Integer A)] Equal to AWAY
              Then - Actions
                Set VariableSet TempPoint[1] = (Position of Glaive_UNIT[(Integer A)])
                Set VariableSet TempPoint[2] = (Position of Glaive_TARGET[(Integer A)])
                Set VariableSet TempPoint[3] = (TempPoint[2] offset by CONSTANT_Glaive_ORBITRANGE[Glaive_LEVEL[(Integer A)]] towards Glaive_ANGLE[(Integer A)] degrees.)
                Set VariableSet TempPoint[4] = (TempPoint[1] offset by (CONSTANT_Glaive_SPEED_PER_SEC[Glaive_LEVEL[(Integer A)]] / (1.00 / CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]])) towards (Angle from TempPoint[1] to TempPoint[3]) degrees.)
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Distance between TempPoint[3] and TempPoint[4]) Less than or equal to ((CONSTANT_Glaive_SPEED_PER_SEC[Glaive_LEVEL[(Integer A)]] / (1.00 / CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]])) x 2.00)
                  Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        Glaive_STATE[(Integer A)] Not equal to BACK
                      Then - Actions
                        Set VariableSet Glaive_STATE[(Integer A)] = ORBIT
                      Else - Actions
                    Unit - Move Glaive_UNIT[(Integer A)] instantly to TempPoint[3]
                  Else - Actions
                    Unit - Move Glaive_UNIT[(Integer A)] instantly to TempPoint[4]
                Custom script: call RemoveLocation(udg_TempPoint[1])
                Custom script: call RemoveLocation(udg_TempPoint[2])
                Custom script: call RemoveLocation(udg_TempPoint[3])
                Custom script: call RemoveLocation(udg_TempPoint[4])
              Else - Actions
            -------- STATE: ORBIT --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Glaive_STATE[(Integer A)] Equal to ORBIT
              Then - Actions
                Set VariableSet TempPoint[1] = (Position of Glaive_TARGET[(Integer A)])
                Set VariableSet TempPoint[2] = (Position of Glaive_UNIT[(Integer A)])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Distance between TempPoint[1] and TempPoint[2]) Greater than (2.00 x CONSTANT_Glaive_ORBITRANGE[Glaive_LEVEL[(Integer A)]])
                  Then - Actions
                    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                      If - Conditions
                        Glaive_STATE[(Integer A)] Not equal to BACK
                      Then - Actions
                        Set VariableSet Glaive_STATE[(Integer A)] = AWAY
                      Else - Actions
                  Else - Actions
                    Set VariableSet TempPoint[3] = (TempPoint[1] offset by CONSTANT_Glaive_ORBITRANGE[Glaive_LEVEL[(Integer A)]] towards Glaive_ANGLE[(Integer A)] degrees.)
                    Unit - Move Glaive_UNIT[(Integer A)] instantly to TempPoint[3]
                    Custom script: call RemoveLocation(udg_TempPoint[3])
                Custom script: call RemoveLocation(udg_TempPoint[1])
                Custom script: call RemoveLocation(udg_TempPoint[2])
              Else - Actions
            -------- STATE: BACK --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Glaive_STATE[(Integer A)] Equal to BACK
              Then - Actions
                Set VariableSet TempPoint[1] = (Position of Glaive_UNIT[(Integer A)])
                Set VariableSet TempPoint[2] = (Position of Glaive_OWNER[(Integer A)])
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    (Distance between TempPoint[1] and TempPoint[2]) Less than or equal to ((CONSTANT_Glaive_SPEED_PER_SEC[Glaive_LEVEL[(Integer A)]] / (1.00 / CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]])) / 2.00)
                  Then - Actions
                    Special Effect - Destroy Glaive_EFFECT_01[(Integer A)]
                    Special Effect - Destroy Glaive_EFFECT_02[(Integer A)]
                    Special Effect - Destroy Glaive_EFFECT_03[(Integer A)]
                    Special Effect - Destroy Glaive_EFFECT_04[(Integer A)]
                    Special Effect - Destroy Glaive_EFFECT_05[(Integer A)]
                    Unit - Remove Glaive_UNIT[(Integer A)] from the game
                    Set VariableSet Glaive_UNIT[(Integer A)] = No unit
                    Set VariableSet Glaive_TARGET[(Integer A)] = No unit
                    Set VariableSet Glaive_OWNER[(Integer A)] = No unit
                    Set VariableSet Glaive_ANGLE[(Integer A)] = 0.00
                    Set VariableSet Glaive_STATE[(Integer A)] =
                    Set VariableSet Glaive_LEVEL[(Integer A)] = 0
                  Else - Actions
                    Set VariableSet TempPoint[3] = (TempPoint[1] offset by (CONSTANT_Glaive_SPEED_PER_SEC[Glaive_LEVEL[(Integer A)]] / (1 / CONSTANT_Glaive_INTERVAL[Glaive_LEVEL[(Integer A)]])) towards (Angle from TempPoint[1] to TempPoint[2]) degrees.)
                    Unit - Move Glaive_UNIT[(Integer A)] instantly to TempPoint[3]
                    Custom script: call RemoveLocation(udg_TempPoint[3])
                Custom script: call RemoveLocation(udg_TempPoint[1])
                Custom script: call RemoveLocation(udg_TempPoint[2])
              Else - Actions
          Else - Actions
This trigger was made for the two player Sentinel campaign: Terror of the Tides by McQvaBlood.
Blade Shield EXPIRE
  Events
  Conditions
  Actions
    For each (Integer A) from 1 to CONSTANT_Glaive_LIMIT, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Glaive_UNIT[(Integer A)] Not equal to No unit
            (Remaining time for Glaive_EXPIRE[(Integer A)]) Equal to 0.00
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Glaive_OWNER[(Integer A)] is alive) Equal to False
              Then - Actions
                Unit - Remove Glaive_UNIT[(Integer A)] from the game
                Set VariableSet Glaive_UNIT[(Integer A)] = No unit
                Set VariableSet Glaive_TARGET[(Integer A)] = No unit
                Set VariableSet Glaive_OWNER[(Integer A)] = No unit
                Set VariableSet Glaive_ANGLE[(Integer A)] = 0.00
                Set VariableSet Glaive_STATE[(Integer A)] =
                Set VariableSet Glaive_LEVEL[(Integer A)] = 0
              Else - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                  If - Conditions
                    Glaive_STATE[(Integer A)] Not equal to BACK
                  Then - Actions
                    Set VariableSet Glaive_STATE[(Integer A)] = BACK
                  Else - Actions
          Else - Actions
This trigger was made for the two player Sentinel campaign: Terror of the Tides by McQvaBlood.
Blade Shield DEATH
  Events
    Unit - A unit Dies
  Conditions
  Actions
    For each (Integer A) from 1 to CONSTANT_Glaive_LIMIT, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Glaive_TARGET[(Integer A)] Equal to (Dying unit)
          Then - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Glaive_OWNER[(Integer A)] is alive) Equal to False
              Then - Actions
                Special Effect - Destroy Glaive_EFFECT_01[(Integer A)]
                Special Effect - Destroy Glaive_EFFECT_02[(Integer A)]
                Special Effect - Destroy Glaive_EFFECT_03[(Integer A)]
                Special Effect - Destroy Glaive_EFFECT_04[(Integer A)]
                Special Effect - Destroy Glaive_EFFECT_05[(Integer A)]
                Unit - Remove Glaive_UNIT[(Integer A)] from the game
                Set VariableSet Glaive_UNIT[(Integer A)] = No unit
                Set VariableSet Glaive_TARGET[(Integer A)] = No unit
                Set VariableSet Glaive_OWNER[(Integer A)] = No unit
                Set VariableSet Glaive_ANGLE[(Integer A)] = 0.00
                Set VariableSet Glaive_STATE[(Integer A)] =
                Set VariableSet Glaive_LEVEL[(Integer A)] = 0
              Else - Actions
                Set VariableSet Glaive_STATE[(Integer A)] = BACK
          Else - Actions
Blade Shield LOADS INTO TRANSPORT
  Events
    Unit - A unit Is loaded into a transport
  Conditions
  Actions
    For each (Integer A) from 1 to CONSTANT_Glaive_LIMIT, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Triggering unit) Equal to Glaive_TARGET[(Integer A)]
          Then - Actions
            Set VariableSet Glaive_TARGET[(Integer A)] = (Transporting unit)
            Set VariableSet Glaive_TARGET_HIDDEN[(Integer A)] = (Triggering unit)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Triggering unit) Equal to Glaive_OWNER[(Integer A)]
          Then - Actions
            Set VariableSet Glaive_OWNER[(Integer A)] = (Transporting unit)
            Set VariableSet Glaive_OWNER_HIDDEN[(Integer A)] = (Triggering unit)
          Else - Actions
Shift
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Ability being cast) Equal to Shift
  Actions
    Set VariableSet TempInteger[1] = 0
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempInteger[1] Equal to 0
            Shift_OWNER[(Integer A)] Equal to No unit
          Then - Actions
            Set VariableSet TempInteger[1] = (Integer A)
          Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger[1] Not equal to 0
      Then - Actions
        Set VariableSet Shift_OWNER[TempInteger[1]] = (Casting unit)
        Set VariableSet Shift_TARGET[TempInteger[1]] = (Target unit of ability being cast)
        Countdown Timer - Start Shift_TIMER[TempInteger[1]] as a One-shot timer that will expire in 0.00 seconds
      Else - Actions
Shift WORK
  Events
    Time - Shift_TIMER[1] expires
    Time - Shift_TIMER[2] expires
    Time - Shift_TIMER[3] expires
    Time - Shift_TIMER[4] expires
    Time - Shift_TIMER[5] expires
    Time - Shift_TIMER[6] expires
    Time - Shift_TIMER[7] expires
    Time - Shift_TIMER[8] expires
    Time - Shift_TIMER[9] expires
    Time - Shift_TIMER[10] expires
  Conditions
  Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Remaining time for Shift_TIMER[(Integer A)]) Equal to 0.00
            Shift_OWNER[(Integer A)] Not equal to No unit
            Shift_TARGET[(Integer A)] Not equal to No unit
          Then - Actions
            Set VariableSet TempPoint[1] = (Position of Shift_OWNER[(Integer A)])
            Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Items\AIil\AIilTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Set VariableSet TempPoint[1] = (Position of Shift_TARGET[(Integer A)])
            Unit - Move Shift_OWNER[(Integer A)] instantly to TempPoint[1], facing (Facing of Shift_OWNER[(Integer A)]) degrees
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Set VariableSet TempPoint[1] = (Position of Shift_OWNER[(Integer A)])
            Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Items\AIil\AIilTarget.mdl
            Special Effect - Destroy (Last created special effect)
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Set VariableSet Shift_OWNER[(Integer A)] = No unit
            Set VariableSet Shift_TARGET[(Integer A)] = No unit
          Else - Actions
Eclipse INIT
  Events
    Map initialization
  Conditions
  Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        Trigger - Add to Eclipse_EXPIRE <gen> the event (Maiden_TIMER[(Integer A)] expires)
Eclipse LEARN
  Events
    Unit - A unit Learns a skill
  Conditions
    (Learned Hero Skill) Equal to Eclipse
  Actions
    Unit - Add Eclipse (Passive) to (Learning Hero)
Eclipse BEGIN
  Events
    Unit - A unit Starts the effect of an ability
  Conditions
    (Level of Eclipse for (Casting unit)) Equal to 1
    Or - Any (Conditions) are true
      Conditions
        (Ability being cast) Equal to Blade Shield
        And - All (Conditions) are true
          Conditions
            (Ability being cast) Equal to Shift
            (Level of Shift for (Casting unit)) Not equal to 3
  Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Maiden_OWNER[(Integer A)] Equal to (Casting unit)
          Then - Actions
            Skip remaining actions
          Else - Actions
    Set VariableSet TempInteger[1] = 0
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            TempInteger[1] Equal to 0
            Maiden_OWNER[(Integer A)] Equal to No unit
          Then - Actions
            Set VariableSet TempInteger[1] = (Integer A)
          Else - Actions
    Set VariableSet Maiden_OWNER[TempInteger[1]] = (Casting unit)
    Special Effect - Create a special effect attached to the origin (attachpoint) of Maiden_OWNER[TempInteger[1]] using Abilities\Spells\Other\Charm\CharmTarget.mdl
    Special Effect - Destroy (Last created special effect)
    Unit - Remove Eclipse (Passive) from Maiden_OWNER[TempInteger[1]]
    Unit - Add Eclipse (Cooldown) to Maiden_OWNER[TempInteger[1]]
    Unit - Order Maiden_OWNER[TempInteger[1]] to Orc Troll Berserker - Berserk.
    Countdown Timer - Start Maiden_TIMER[TempInteger[1]] as a One-shot timer that will expire in 24.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Ability being cast) Equal to Shift
      Then - Actions
        Set VariableSet TempInteger[2] = (Level of Shift for Maiden_OWNER[TempInteger[1]])
        Unit - Remove Shift from Maiden_OWNER[TempInteger[1]]
        For each (Integer A) from 1 to TempInteger[2], do (Actions)
          Loop - Actions
            Hero - Modify unspent skill points of Maiden_OWNER[TempInteger[1]]: Add 1 points
            Hero - Learn skill for Maiden_OWNER[TempInteger[1]]: Shift
      Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Ability being cast) Equal to Blade Shield
      Then - Actions
        Set VariableSet TempInteger[2] = (Level of Blade Shield for Maiden_OWNER[TempInteger[1]])
        Unit - Remove Blade Shield from Maiden_OWNER[TempInteger[1]]
        For each (Integer A) from 1 to TempInteger[2], do (Actions)
          Loop - Actions
            Hero - Modify unspent skill points of Maiden_OWNER[TempInteger[1]]: Add 1 points
            Hero - Learn skill for Maiden_OWNER[TempInteger[1]]: Blade Shield
      Else - Actions
Eclipse EXPIRE
  Events
  Conditions
  Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Maiden_OWNER[(Integer A)] Not equal to No unit
            (Remaining time for Maiden_TIMER[(Integer A)]) Equal to 0.00
          Then - Actions
            Unit - Remove Eclipse (Cooldown) from Maiden_OWNER[(Integer A)]
            Unit - Add Eclipse (Passive) to Maiden_OWNER[(Integer A)]
            Set VariableSet Maiden_OWNER[(Integer A)] = No unit
          Else - Actions
Twilight Guardian BEGIN
  Events
    Unit - A unit Spawns a summoned unit
  Conditions
    Or - Any (Conditions) are true
      Conditions
        (Unit-type of (Summoned unit)) Equal to Twilight Guardian (Level 1)
        (Unit-type of (Summoned unit)) Equal to Twilight Guardian (Level 2)
        (Unit-type of (Summoned unit)) Equal to Twilight Guardian (Level 3)
  Actions
    Animation - Change (Summoned unit)'s vertex coloring to ((15.00 / 255.00)%, (15.00 / 255.00)%, (15.00 / 255.00)%) with 15.00% transparency
    Special Effect - Create a special effect attached to the chest (attachpoint) of (Summoned unit) using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
    Special Effect - Destroy (Last created special effect)
    Unit - Add Twilight Guardian (Effect) to (Summoned unit)
    Unit - Add Kiss of Death to (Summoned unit)
    Set VariableSet TempInteger[1] = 0
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Twilight_UNIT[(Integer A)] Equal to No unit
            TempInteger[1] Equal to 0
          Then - Actions
            Set VariableSet TempInteger[1] = (Integer A)
          Else - Actions
    Set VariableSet Twilight_UNIT[TempInteger[1]] = (Summoned unit)
    Countdown Timer - Start Twilight_TIMER[TempInteger[1]] as a One-shot timer that will expire in 60.00 seconds
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Level of Eclipse for (Summoning unit)) Equal to 1
      Then - Actions
        For each (Integer A) from 1 to 10, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Maiden_OWNER[(Integer A)] Equal to (Summoning unit)
              Then - Actions
                Skip remaining actions
              Else - Actions
        For each (Integer A) from 1 to 10, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                TempInteger[1] Equal to 0
                Maiden_OWNER[(Integer A)] Equal to No unit
              Then - Actions
                Set VariableSet TempInteger[1] = (Integer A)
              Else - Actions
        Set VariableSet Maiden_OWNER[TempInteger[1]] = (Summoning unit)
        Special Effect - Create a special effect attached to the origin (attachpoint) of Maiden_OWNER[TempInteger[1]] using Abilities\Spells\Other\Charm\CharmTarget.mdl
        Special Effect - Destroy (Last created special effect)
        Unit - Remove Eclipse (Passive) from Maiden_OWNER[TempInteger[1]]
        Unit - Add Eclipse (Cooldown) to Maiden_OWNER[TempInteger[1]]
        Unit - Order Maiden_OWNER[TempInteger[1]] to Orc Troll Berserker - Berserk.
        Countdown Timer - Start Maiden_TIMER[TempInteger[1]] as a One-shot timer that will expire in 24.00 seconds
        Set VariableSet TempInteger[2] = (Level of Summon Twilight Guardian for Maiden_OWNER[TempInteger[1]])
        Unit - Remove Summon Twilight Guardian from Maiden_OWNER[TempInteger[1]]
        For each (Integer A) from 1 to TempInteger[2], do (Actions)
          Loop - Actions
            Hero - Modify unspent skill points of Maiden_OWNER[TempInteger[1]]: Add 1 points
            Hero - Learn skill for Maiden_OWNER[TempInteger[1]]: Summon Twilight Guardian
      Else - Actions
Twilight Guardian DEATH
  Events
    Unit - A unit Dies
  Conditions
  Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Killing unit) Equal to Twilight_UNIT[(Integer A)]
            And - All (Conditions) are true
              Conditions
                (Level of (Dying unit)) Less than or equal to 5
                ((Dying unit) is A structure) Equal to False
                ((Dying unit) is A Hero) Equal to False
                ((Dying unit) is A flying unit) Equal to False
                ((Dying unit) is Magic Immune) Equal to False
                ((Dying unit) is A peon-type unit) Equal to False
                ((Dying unit) is Mechanical) Equal to False
                ((Dying unit) is Summoned) Equal to False
                ((Killing unit) belongs to an ally of (Owner of (Dying unit)).) Equal to False
          Then - Actions
            Set VariableSet TempPoint[1] = (Position of (Dying unit))
            Unit - Create 1.(Unit-type of (Dying unit)) for (Owner of Twilight_UNIT[(Integer A)]) at TempPoint[1] facing (Facing of (Dying unit)) degrees
            Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Animation - Change (Last created unit)'s vertex coloring to ((15.00 / 255.00)%, (15.00 / 255.00)%, (15.00 / 255.00)%) with 15.00% transparency
            Unit - Add Twilight Guardian (Effect) to (Last created unit)
            Unit - Add a (Remaining time for Twilight_TIMER[(Integer A)]) second Generic expiration timer to (Last created unit)
            Unit Group - Add (Last created unit) to Twilight_FOLK[(Integer A)]
            Unit - Disable supply usage for (Last created unit).
            Unit - Remove Elune's Grace from (Last created unit)
            Unit - Remove Endurance Aura (Neutral Hostile) from (Last created unit)
            Unit - Remove Ensnare from (Last created unit)
            Unit - Remove Ensnare from (Last created unit)
            Unit - Remove Ensnare (Neutral Hostile) from (Last created unit)
            Unit - Remove Entangling Roots (Neutral Hostile 1) from (Last created unit)
            Unit - Remove Entangling Roots (Neutral Hostile 2) from (Last created unit)
            Unit - Remove Parasite from (Last created unit)
            Unit - Remove Parasite from (Last created unit)
            Unit - Remove Frost Armor (Autocast) (Neutral Hostile) from (Last created unit)
            Unit - Remove Frost Armor (Autocast) (Neutral Hostile) from (Last created unit)
            Unit - Remove Frost Armor (Neutral Hostile) from (Last created unit)
            Unit - Remove Abolish Magic from (Last created unit)
            Unit - Remove Abolish Magic from (Last created unit)
            Unit - Remove Abolish Magic (Neutral Hostile) from (Last created unit)
            Unit - Remove Abolish Magic (Neutral Hostile, second position) from (Last created unit)
            Unit - Remove Animate Dead (Neutral Hostile) from (Last created unit)
            Unit - Remove Anti-magic Shell from (Last created unit)
            Unit - Remove Anti-magic Shell (Magic Resistance) from (Last created unit)
            Unit - Remove Anti-magic Shell (Neutral Hostile) from (Last created unit)
            Unit - Remove Devour from (Last created unit)
            Unit - Remove Devour (Neutral Hostile) from (Last created unit)
            Unit - Remove Spiked Shell (2,2 Button Pos) from (Last created unit)
            Unit - Remove Spiked Shell from (Last created unit)
            Unit - Remove Submerge (Myrmidon) from (Last created unit)
            Unit - Remove Submerge (Royal Guard) from (Last created unit)
            Unit - Remove Submerge (Snap Dragon) from (Last created unit)
            Unit - Remove Summon Sea Elemental from (Last created unit)
            Unit - Remove Frost Bolt from (Last created unit)
            Unit - Remove Slow Poison from (Last created unit)
            Unit - Remove Crushing Wave from (Last created unit)
            Unit - Remove Crushing Wave (Lesser) from (Last created unit)
            Unit - Remove Crushing Wave (Lesser) from (Last created unit)
            Unit - Remove Resistant Skin (Neutral Hostile 1) from (Last created unit)
            Unit - Remove Resistant Skin (Neutral Hostile 2) from (Last created unit)
            Unit - Remove Resistant Skin from (Last created unit)
            Unit - Remove Hardened Skin from (Last created unit)
            Unit - Remove Hardened Skin from (Last created unit)
            Unit - Remove Shadow Meld from (Last created unit)
            Unit - Remove ACss (Neutral Hostile) from (Last created unit)
            Unit - Remove Envenomed Weapons (Neutral Hostile) from (Last created unit)
            Unit - Remove Envenomed Spears from (Last created unit)
            Unit - Remove Evasion (Neutral Hostile) from (Last created unit)
            Unit - Remove Devotion Aura (Neutral Hostile) from (Last created unit)
            Unit - Remove Divine Shield (Neutral Hostile) from (Last created unit)
            Unit - Remove Frost Nova (Neutral Hostile) from (Last created unit)
            Unit - Remove Bash (Neutral Hostile 1) from (Last created unit)
            Unit - Remove Bash (Neutral Hostile 2) from (Last created unit)
            Unit - Remove Critical Strike (Neutral Hostile) from (Last created unit)
            Unit - Remove Heal from (Last created unit)
            Unit - Remove Heal (Neutral Hostile 1) from (Last created unit)
            Unit - Remove Heal (Neutral Hostile 2) from (Last created unit)
            Unit - Remove Heal (Neutral Hostile 3) from (Last created unit)
            Unit - Remove Inner Fire from (Last created unit)
            Unit - Remove Inner Fire (Neutral Hostile) from (Last created unit)
            Unit - Remove Thorns Aura (Neutral Hostile) from (Last created unit)
            Unit - Remove Trueshot Aura (Neutral Hostile) from (Last created unit)
            Unit - Remove Rejuvenation from (Last created unit)
            Unit - Remove Rejuvenation (Neutral Hostile) from (Last created unit)
            Unit - Remove Rejuvenation (Furbolg) from (Last created unit)
            Unit - Remove Faerie Fire from (Last created unit)
            Unit - Remove Faerie Fire (Morph) from (Last created unit)
            Unit - Remove Faerie Fire (Neutral Hostile) from (Last created unit)
            Unit - Remove Lightning Shield from (Last created unit)
            Unit - Remove Lightning Shield (Neutral Hostile) from (Last created unit)
            Unit - Remove War Stomp (Neutral Hostile) from (Last created unit)
            Unit - Remove War Stomp (Neutral Hostile) from (Last created unit)
            Unit - Remove War Stomp (Neutral Hostile) from (Last created unit)
            Unit - Remove Command Aura from (Last created unit)
            Unit - Remove Pulverize from (Last created unit)
            Unit - Remove Pulverize (Neutral Hostile) from (Last created unit)
            Unit - Remove Hurl Boulder from (Last created unit)
            Unit - Remove Hex (Neutral Hostile) from (Last created unit)
            Unit - Remove Slam (Neutral Hostile) from (Last created unit)
            Unit - Remove Slam (Thunder Lizard) from (Last created unit)
            Unit - Remove Sleep (Neutral Hostile) from (Last created unit)
            Unit - Remove Summon Prawns from (Last created unit)
            Unit - Remove Cleaving Attack from (Last created unit)
            Unit - Remove Curse from (Last created unit)
            Unit - Remove Curse (Neutral Hostile) from (Last created unit)
            Unit - Remove Immolation (Neutral Hostile) from (Last created unit)
            Unit - Remove Blizzard (Neutral Hostile) from (Last created unit)
            Unit - Remove Disease Cloud (Abomination) from (Last created unit)
            Unit - Remove Disease Cloud (Meat Wagon) from (Last created unit)
            Unit - Remove Disease Cloud (Neutral Hostile no damage) from (Last created unit)
            Unit - Remove Disease Cloud (Neutral Hostile) from (Last created unit)
            Unit - Remove Disease Cloud (Plague Ward) from (Last created unit)
            Unit - Remove Purge from (Last created unit)
            Unit - Remove Purge from (Last created unit)
            Unit - Remove Purge (Neutral Hostile) from (Last created unit)
            Unit - Remove Cyclone (Neutral Hostile) from (Last created unit)
            Unit - Remove Cyclone from (Last created unit)
            Unit - Remove Cyclone from (Last created unit)
            Unit - Remove Cyclone (Cenarius) from (Last created unit)
            Unit - Remove Slow from (Last created unit)
            Unit - Remove Slow (Neutral Hostile) from (Last created unit)
          Else - Actions
    For each (Integer A) from 1 to 10, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Twilight_UNIT[(Integer A)] Equal to (Dying unit)
          Then - Actions
            Unit - Remove Twilight Guardian (Effect) from (Dying unit)
            Unit - Remove Twilight_UNIT[(Integer A)] from the game
            Unit Group - Pick every unit in Twilight_FOLK[(Integer A)] and do (Actions)
              Loop - Actions
                Unit - Remove Twilight Guardian (Effect) from (Picked unit)
                Unit - Remove (Picked unit) from the game
                Set VariableSet TempPoint[1] = (Position of (Picked unit))
                Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
                Custom script: call RemoveLocation(udg_TempPoint[1])
                Special Effect - Destroy (Last created special effect)
            Set VariableSet Twilight_UNIT[(Integer A)] = No unit
            Set VariableSet TempPoint[1] = (Position of (Dying unit))
            Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Special Effect - Destroy (Last created special effect)
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Dying unit) is in Twilight_FOLK[(Integer A)].) Equal to True
          Then - Actions
            Unit - Remove Twilight Guardian (Effect) from (Dying unit)
            Unit Group - Remove (Dying unit) from Twilight_FOLK[(Integer A)].
            Unit - Remove (Dying unit) from the game
            Set VariableSet TempPoint[1] = (Position of (Dying unit))
            Special Effect - Create a special effect at TempPoint[1] using Abilities\Spells\Orc\FeralSpirit\feralspiritdone.mdl
            Custom script: call RemoveLocation(udg_TempPoint[1])
            Special Effect - Destroy (Last created special effect)
          Else - Actions
Shadow Orb INIT
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet Shadow_Orb_TYPE[1] = Shadow Orb +1
    Set VariableSet Shadow_Orb_TYPE[2] = Shadow Orb +2
    Set VariableSet Shadow_Orb_TYPE[3] = Shadow Orb +3
    Set VariableSet Shadow_Orb_TYPE[4] = Shadow Orb +4
    Set VariableSet Shadow_Orb_TYPE[5] = Shadow Orb +5
    Set VariableSet Shadow_Orb_TYPE[6] = Shadow Orb +6
    Set VariableSet Shadow_Orb_TYPE[7] = Shadow Orb +7
    Set VariableSet Shadow_Orb_TYPE[8] = Shadow Orb +8
    Set VariableSet Shadow_Orb_TYPE[9] = Shadow Orb +9
    Set VariableSet Shadow_Orb_TYPE[10] = Shadow Orb +10
Shadow Orb CUMULATIVE
  Events
    Unit - A unit Acquires an item
  Conditions
    GameHasStarted Equal to True
    Or - Any (Conditions) are true
      Conditions
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[1]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[2]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[3]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[4]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[5]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[6]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[7]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[8]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[9]
        (Item-type of (Item being manipulated)) Equal to Shadow_Orb_TYPE[10]
  Actions
    For each (Integer A) from 1 to 8, do (Actions)
      Loop - Actions
        Set VariableSet TempInteger[(Integer A)] = 0
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        For each (Integer B) from 1 to 10, do (Actions)
          Loop - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Item-type of (Item carried by (Hero manipulating item) in slot (Integer A))) Equal to Shadow_Orb_TYPE[(Integer B)]
              Then - Actions
                Set VariableSet TempInteger[(Integer A)] = (Integer B)
                Set VariableSet TempInteger[7] = (TempInteger[7] + 1)
                Set VariableSet TempInteger[8] = (TempInteger[8] + (Integer B))
              Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        TempInteger[7] Greater than or equal to 2
      Then - Actions
        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
                TempInteger[(Integer A)] Not equal to 0
              Then - Actions
                Hero - Drop the item from slot (Integer A) of (Hero manipulating item).
                Item - Remove (Last dropped item)
              Else - Actions
        Hero - Create Shadow_Orb_TYPE[TempInteger[8]] and give it to (Hero manipulating item)
      Else - Actions
    For each (Integer A) from 1 to 8, do (Actions)
      Loop - Actions
        Set VariableSet TempInteger[(Integer A)] = 0
Initialization
  Events
    Map initialization
  Conditions
  Actions
    Quest - Create a defeat condition with the description Maiev and Saithis must survive!
    Set VariableSet PitLord = Pit Lord 0056 <gen>
    Animation - Change Pit Lord 0056 <gen>'s size to (150.00%, 150.00%, 150.00%) of its original size
    Animation - Change PitLord's vertex coloring to (100%, 75.00%, 75.00%) with 0% transparency
    Animation - Change PitLord's animation speed to 75.00% of its original speed
    Set VariableSet TempPoint[1] = (Center of Pit_Lord_Start <gen>)
    Set VariableSet TempPoint[2] = (Center of Pit_Lord_Move_01 <gen>)
    Unit - Move PitLord instantly to TempPoint[1], facing TempPoint[2]
    Custom script: call RemoveLocation(udg_TempPoint[1])
    Custom script: call RemoveLocation(udg_TempPoint[2])
    Unit - Pause PitLord
    Unit - Make PitLord Invulnerable
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = PitLord
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Tome of Greater Strength
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Tome of Greater Strength
    -------- ALLIED SETTINGS --------
    Set VariableSet NewWarden = Warden 0010 <gen>
    Set VariableSet Maiev = Warden 0301 <gen>
    For each (Integer A) from 1 to 12, do (Actions)
      Loop - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to 1
          Then - Actions
            Player - Make (Player((Integer A))) treat Player 1 (Red) as an Neutral
            Player - Make (Player((Integer A))) treat Player 2 (Blue) as an Neutral
            Player - Make (Player((Integer A))) treat Player 3 (Teal) as an Neutral
            Player - Make (Player((Integer A))) treat Player 4 (Purple) as an Neutral
            Player - Make (Player((Integer A))) treat Player 7 (Green) as an Neutral
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Or - Any (Conditions) are true
              Conditions
                (Integer A) Equal to 2
                (Integer A) Equal to 3
          Then - Actions
            Player - Make (Player((Integer A))) treat Player 1 (Red) as an Neutral
            Player - Make (Player((Integer A))) treat Player 2 (Blue) as an Ally with shared vision
            Player - Make (Player((Integer A))) treat Player 3 (Teal) as an Ally with shared vision
            Player - Make (Player((Integer A))) treat Player 4 (Purple) as an Enemy
            Player - Make (Player((Integer A))) treat Player 7 (Green) as an Enemy
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to 4
          Then - Actions
            Player - Make (Player((Integer A))) treat Player 1 (Red) as an Neutral
            Player - Make (Player((Integer A))) treat Player 2 (Blue) as an Enemy
            Player - Make (Player((Integer A))) treat Player 3 (Teal) as an Enemy
            Player - Make (Player((Integer A))) treat Player 4 (Purple) as an Ally with shared vision
            Player - Make (Player((Integer A))) treat Player 7 (Green) as an Enemy
          Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Integer A) Equal to 7
          Then - Actions
            Player - Make (Player((Integer A))) treat Player 1 (Red) as an Neutral
            Player - Make (Player((Integer A))) treat Player 2 (Blue) as an Enemy
            Player - Make (Player((Integer A))) treat Player 3 (Teal) as an Enemy
            Player - Make (Player((Integer A))) treat Player 4 (Purple) as an Enemy
            Player - Make (Player((Integer A))) treat Player 7 (Green) as an Ally with shared vision
          Else - Actions
    Player - Make Neutral Hostile treat Player 1 (Red) as an Neutral
    Player - Make Neutral Hostile treat Player 4 (Purple) as an Neutral
    Player - Make Neutral Hostile treat Player 7 (Green) as an Neutral
    Player - Set Player_One.Current gold to 0
    Player - Set Player_One.Current lumber to 0
    Player - Set Player_Two.Current gold to 0
    Player - Set Player_Two.Current lumber to 0
    Player - Change color of Player 1 (Red) to Light Blue, Changing color of existing units
    Player - Change color of Player 2 (Blue) to Blue, Changing color of existing units
    Player - Change color of Player 3 (Teal) to Teal, Changing color of existing units
    Player - Change color of Player 4 (Purple) to Purple, Changing color of existing units
    Player - Change color of Player 5 (Yellow) to Red, Changing color of existing units
    Player - Change color of Player 7 (Green) to Maroon, Changing color of existing units
    Player - Hide Player 1 (Red) in the post-game score screen
    Player - Hide Player 5 (Yellow) in the post-game score screen
    Player - Set the current research level of Redt (techcode) to 2 for Player_One
    Player - Set the current research level of Redt (techcode) to 2 for Player_Two
    Player - Set the current research level of Redc (techcode) to 2 for Player_One
    Player - Set the current research level of Redc (techcode) to 2 for Player_Two
    Player - Set the current research level of Resc (techcode) to 1 for Player_One
    Player - Set the current research level of Resc (techcode) to 1 for Player_Two
    Player - Set the current research level of Reib (techcode) to 1 for Player_One
    Player - Set the current research level of Reib (techcode) to 1 for Player_Two
    Player - Set the current research level of Resi (techcode) to 1 for Player_One
    Player - Set the current research level of Resi (techcode) to 1 for Player_Two
    Player - Set the current research level of Reeb (techcode) to 1 for Player_One
    Player - Set the current research level of Reeb (techcode) to 1 for Player_Two
    Player - Disable Storm Crow Form for Player_One
    Player - Disable Storm Crow Form for Player_Two
    Player - Disable Mount Hippogryph for Player_One
    Player - Disable Mount Hippogryph for Player_Two
    -------- ALLIED UNITS --------
    Hero - Make Player_One Heroes gain 25.00% experience from future kills
    Hero - Make Player_Two Heroes gain 25.00% experience from future kills
    Hero - Make Player 4 (Purple) Heroes gain 0.00% experience from future kills
    Hero - Make Player 5 (Yellow) Heroes gain 0.00% experience from future kills
    Hero - Make Player 7 (Green) Heroes gain 0.00% experience from future kills
    Set VariableSet IntroArcherA = Archer 0005 <gen>
    Set VariableSet IntroArcherB = Archer 0009 <gen>
    Set VariableSet IntroArcherC = Archer 0006 <gen>
    Set VariableSet Naisha = Naisha 0000 <gen>
    Set VariableSet IntroHuntressB = Huntress 0008 <gen>
    Unit Group - Add IntroArcherA to IntroStartingUnits
    Unit Group - Add IntroArcherB to IntroStartingUnits
    Unit Group - Add IntroArcherC to IntroStartingUnits
    Unit Group - Add IntroHuntressB to IntroStartingUnits
    Unit Group - Add Naisha to IntroStartingUnits
    Unit Group - Add Maiev to IntroStartingUnits
    Unit Group - Add NewWarden to IntroStartingUnits
    Set VariableSet R1 = (Units in R1_Units <gen> owned by Player 1 (Red))
    Set VariableSet R2 = (Units in R2_Units <gen> owned by Player 1 (Red))
    Set VariableSet R3 = (Units in R3_Units <gen> owned by Player 2 (Blue))
    -------- ENEMY UNITS --------
    Set VariableSet Illidan = Demon Hunter 0033 <gen>
    Set VariableSet Vashj = Naga Sea Witch 0032 <gen>
    Player - Disable sleeping for all creeps
    Player - Turn Gives bounty Off for Neutral Hostile
    Set VariableSet SkelArcherA = Skeleton Archer 0196 <gen>
    Set VariableSet SkelArcherB = Skeleton Archer 0178 <gen>
    Set VariableSet SkelArcherC = Skeleton Archer 0307 <gen>
    Set VariableSet SkelArchers = (Units in SkelArchers_Source <gen> owned by Neutral Hostile)
    Unit Group - Pick every unit in SkelArchers and do (Hide (Picked unit))
    Set VariableSet FelhoundA = Fel Stalker 0040 <gen>
    Set VariableSet FelhoundB = Fel Stalker 0045 <gen>
    Set VariableSet FelhoundC = Fel Stalker 0042 <gen>
    Set VariableSet FelhoundD = Fel Stalker 0070 <gen>
    AI - Ignore FelhoundA's guard position
    AI - Ignore FelhoundB's guard position
    AI - Ignore FelhoundC's guard position
    AI - Ignore FelhoundD's guard position
    Set VariableSet ChaosSourceA = (Units in ChaosGroupA <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceB = (Units in ChaosGroupB <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceC = (Units in ChaosGroupC <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceD = (Units in ChaosGroupD <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceE = (Units in ChaosGroupE <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceF = (Units in ChaosGroupF <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceG = (Units in ChaosGroupG <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceH = (Units in ChaosGroupH <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceI = (Units in ChaosGroupI <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceJ = (Units in ChaosGroupJ <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceK = (Units in ChaosGroupK <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Set VariableSet ChaosSourceL = (Units in ChaosGroupL <gen> matching (((Owner of (Matching unit)) Equal to P4_Illidan) or (((Owner of (Matching unit)) Equal to P7_Guardians) or ((Owner of (Matching unit)) Equal to Neutral Hostile))))
    Unit Group - Add all units of ChaosSourceA to ChaosSource_All
    Unit Group - Add all units of ChaosSourceB to ChaosSource_All
    Unit Group - Add all units of ChaosSourceC to ChaosSource_All
    Unit Group - Add all units of ChaosSourceD to ChaosSource_All
    Unit Group - Add all units of ChaosSourceE to ChaosSource_All
    Unit Group - Add all units of ChaosSourceF to ChaosSource_All
    Unit Group - Add all units of ChaosSourceG to ChaosSource_All
    Unit Group - Add all units of ChaosSourceH to ChaosSource_All
    Unit Group - Add all units of ChaosSourceI to ChaosSource_All
    Unit Group - Add all units of ChaosSourceJ to ChaosSource_All
    Unit Group - Add all units of ChaosSourceK to ChaosSource_All
    Unit Group - Add all units of ChaosSourceL to ChaosSource_All
    Unit Group - Pick every unit in ChaosSource_All and do (Hide (Picked unit))
    Unit Group - Pick every unit in ChaosSource_All and do (Pause (Picked unit))
    Set VariableSet FinalCinDestroyGroup = (Units in EyeCin_Destroy_Group <gen>)
    -------- SOUND --------
    Set VariableSet PlatePressedSound = Switch <gen>
    -------- ENVIRONMENT --------
    Game - Set the time of day to 23.00
    Game - Turn the day/night cycle Off
    Environment - Create at Weather01 <gen> the weather effect Dungeon White Fog (Light)
    Set VariableSet Weather01Fog = (Last created weather effect)
    Environment - Turn Weather01Fog On
    Environment - Create at Weather02 <gen> the weather effect Dungeon White Fog (Light)
    Set VariableSet Weather02Fog = (Last created weather effect)
    Environment - Turn Weather02Fog On
    Environment - Create at Weather03 <gen> the weather effect Dungeon White Fog (Light)
    Set VariableSet Weather03Fog = (Last created weather effect)
    Environment - Turn Weather03Fog On
    Animation - Play the Stand Alternate (animationname) animation for all doodads of type ZOob (doodadcode) within Intro_Doodads01 <gen>.
    Animation - Play the death (animationname) animation for all doodads of type JZud (doodadcode) within (Playable map area).
    Animation - Play the death (animationname) animation for all doodads of type ZZcd (doodadcode) within Eye_Vision_Area <gen>.
    Animation - Play the death (animationname) animation for all doodads of type ZZcd (doodadcode) within Intro_Doodads01 <gen>.
    Animation - Play the death (animationname) animation for all doodads of type YOfs (doodadcode) within Glyph2_DemonFire <gen>.
    Animation - Play the death (animationname) animation for all doodads of type YOfb (doodadcode) within Glyph2_DemonFire <gen>.
    Animation - Play the Death (animationname) animation for all doodads of type DOas (doodadcode) within (Entire map).
    Visibility - Create an initially Enabled visibility modifier for Player_One emitting Black mask across R1_AntiVision_Area <gen>
    Set VariableSet R1RocksAntiVM = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player_Two emitting Black mask across R1_AntiVision_Area <gen>
    Set VariableSet R1RocksAntiVM_B = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player_One emitting Black mask across R2_AntiVision_Area <gen>
    Set VariableSet R2RocksAntiVM = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player_Two emitting Black mask across R2_AntiVision_Area <gen>
    Set VariableSet R2RocksAntiVM_B = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player_One emitting Black mask across R3_AntiVision_Area <gen>
    Set VariableSet R3RocksAntiVM = (Last created visibility modifier)
    Visibility - Create an initially Enabled visibility modifier for Player_Two emitting Black mask across R3_AntiVision_Area <gen>
    Set VariableSet R3RocksAntiVM_B = (Last created visibility modifier)
    Set VariableSet Bridge = Short Stone Bridge 0196 <gen>
    Destructible - Kill Bridge
    Animation - Play the death (animationname) animation for all doodads of type DOas (doodadcode) within Statue <gen>.
    Set VariableSet SlimeDoor = Rolling Stone Door 0334 <gen>
    Destructible - Make SlimeDoor Invulnerable
    Set VariableSet FloorPlate01A = Foot Switch 0707 <gen>
    Set VariableSet FloorPlate01B = Foot Switch 0708 <gen>
    Set VariableSet FloorPlate01C = Foot Switch 0706 <gen>
    Set VariableSet FloorPlate01D = Foot Switch 0327 <gen>
    Set VariableSet FloorPlate02A = Foot Switch 0240 <gen>
    Set VariableSet FloorPlate02B = Foot Switch 2573 <gen>
    Set VariableSet FloorPlate02C = Foot Switch 2572 <gen>
    Set VariableSet FloorPlate02D = Foot Switch 2574 <gen>
    Animation - Play FloorPlate01A's stand alternate (animationname) animation
    Animation - Play FloorPlate01B's stand alternate (animationname) animation
    Animation - Play FloorPlate01C's stand alternate (animationname) animation
    Animation - Play FloorPlate01D's stand alternate (animationname) animation
    Animation - Play FloorPlate02A's stand alternate (animationname) animation
    Animation - Play FloorPlate02B's stand alternate (animationname) animation
    Animation - Play FloorPlate02C's stand alternate (animationname) animation
    Animation - Play FloorPlate02D's stand alternate (animationname) animation
    -------- POINTS --------
    Set VariableSet VSourceBrokenStairs = (Center of Vision_BrokenStairs_Source <gen>)
    Set VariableSet VSourcePlate01A = (Center of Door_Plate_Vision_SourceA <gen>)
    Set VariableSet VSourcePlate01B = (Center of Door_Plate_Vision_SourceB <gen>)
    Set VariableSet VSourcePlate02A = (Center of Bridge_Plate_Vision_SourceA <gen>)
    Set VariableSet VSourcePlate02B = (Center of Bridge_Plate_Vision_SourceB <gen>)
    Set VariableSet VSourcePlate02C = (Center of Bridge_Plate_Vision_SourceC <gen>)
    Set VariableSet VSourcePlate02D = (Center of Bridge_Plate_Vision_SourceD <gen>)
    Set VariableSet VSourceRampart1A = (Center of RampartLedge1_Vision_SourceA <gen>)
    Set VariableSet VSourceRampart1B = (Center of RampartLedge1_Vision_SourceB <gen>)
    Set VariableSet PointChaosGroupB = (Center of ChaosGroupB <gen>)
    Set VariableSet PointChaosGroupE = (Center of ChaosGroupE <gen>)
    Set VariableSet PointChaosGroupI = (Center of ChaosGroupI <gen>)
    Set VariableSet PointChaosGroupK = (Center of ChaosGroupK <gen>)
    Set VariableSet PointRushGroupC = (Center of RushGroupC <gen>)
    Set VariableSet PointRushGroupH = (Center of RushGroupH <gen>)
    Set VariableSet PointRushGroupJ = (Center of RushGroupJ <gen>)
    Set VariableSet PointRushGroupL = (Center of RushGroupL <gen>)
    Set VariableSet PointEyeSFXRock01 = (Center of Eye_SFX_Rock01 <gen>)
    Set VariableSet PointEyeSFXRock02 = (Center of Eye_SFX_Rock02 <gen>)
    Set VariableSet PointEyeSFXRock03 = (Center of Eye_SFX_Rock03 <gen>)
    Set VariableSet PointEyeSFXRock04 = (Center of Eye_SFX_Rock04 <gen>)
    Set VariableSet PointEyeSFXRock05 = (Center of Eye_SFX_Rock05 <gen>)
    Set VariableSet PointEyeSFXRock06 = (Center of Eye_SFX_Rock06 <gen>)
    Set VariableSet PointEyeSFXRock07 = (Center of Eye_SFX_Rock07 <gen>)
    Set VariableSet PointEyeSFXRock08 = (Center of Eye_SFX_Rock08 <gen>)
    Set VariableSet PointEyeSFXRock09 = (Center of Eye_SFX_Rock09 <gen>)
    Set VariableSet PointEyeSFXRock10 = (Center of Eye_SFX_Rock10 <gen>)
    Set VariableSet PointEyeSFXRock11 = (Center of Eye_SFX_Rock11 <gen>)
    Set VariableSet PointEyeSFXRock12 = (Center of Eye_SFX_Rock12 <gen>)
    Set VariableSet PointEscapeTripwire = (Center of Escape_Tripwire <gen>)
    Set VariableSet PointEscapeRuneA = (Center of EscapeRuneA <gen>)
    Set VariableSet PointEscapeRuneB = (Center of EscapeRuneB <gen>)
    Set VariableSet PointEscapeRuneC = (Center of EscapeRuneC <gen>)
    Set VariableSet PointEscapeRuneD = (Center of EscapeRuneD <gen>)
    Set VariableSet PointEscapeRuneE = (Center of EscapeRuneE <gen>)
    Set VariableSet PointEscapeRuneF = (Center of EscapeRuneF <gen>)
    Set VariableSet PointEscapeRuneG = (Center of EscapeRuneG <gen>)
    Set VariableSet PointEyeMaievFinish = (Center of Eye_Maiev_Finish <gen>)
    -------- DIFFICULTY --------
    -------- QUESTS --------
    Trigger - Run Quest_Illidan_Create <gen> (checking conditions)
    Trigger - Run Quest_Escape_Create <gen> (checking conditions)
    Trigger - Run Quest_Barriers_Create <gen> (checking conditions)
    Trigger - Run Quest_Orb_Create <gen> (checking conditions)
    Trigger - Run Make_Orbs_Invulnerable <gen> (checking conditions)
    -------- Initialize the Preface --------
    Trigger - Run Preface_INIT <gen> (checking conditions)
    Trigger - Run Preface_TEXT <gen> (checking conditions)
Extra Initilalization
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet Player_One = Player 2 (Blue)
    Set VariableSet Player_One_Color = 2
    Set VariableSet Player_Two = Player 3 (Teal)
    Set VariableSet Player_Two_Color = 3
    Game - Disable ally color button and Disable creep camp button
    Game - Disable ally color button and Disable creep camp button
    Trigger - Add to Tribute <gen> the event (Player_One types a chat message containing -gold (stringnoformat) as A substring)
    Trigger - Add to Tribute <gen> the event (Player_Two types a chat message containing -gold (stringnoformat) as A substring)
    Trigger - Add to Tribute <gen> the event (Player_One types a chat message containing -lumber (stringnoformat) as A substring)
    Trigger - Add to Tribute <gen> the event (Player_Two types a chat message containing -lumber (stringnoformat) as A substring)
    Trigger - Add to Player_Leaves <gen> the event (Player_One leaves the game)
    Trigger - Add to Player_Leaves <gen> the event (Player_Two leaves the game)
    Trigger - Add to Begin_Game_MAIN <gen> the event (Player_One types a chat message containing -ok (stringnoformat) as A substring)
    Trigger - Add to Begin_Game_MAIN <gen> the event (Player_Two types a chat message containing -ok (stringnoformat) as A substring)
    Trigger - Add to Preface_TOOGLE_DIFFICULTY <gen> the event (Player_One types a chat message containing -normal (stringnoformat) as A substring)
    Trigger - Add to Preface_TOOGLE_DIFFICULTY <gen> the event (Player_Two types a chat message containing -normal (stringnoformat) as A substring)
    Trigger - Add to Preface_TOOGLE_DIFFICULTY <gen> the event (Player_One types a chat message containing -insane (stringnoformat) as A substring)
    Trigger - Add to Preface_TOOGLE_DIFFICULTY <gen> the event (Player_Two types a chat message containing -insane (stringnoformat) as A substring)
    Trigger - Add to Enable_or_Disable_Experience <gen> the event (A unit owned by Player_One.Gains a level)
    Trigger - Add to Enable_or_Disable_Experience <gen> the event (A unit owned by Player_Two.Gains a level)
    Trigger - Add to Skip_Cinematic <gen> the event (Player_One skips a cinematic sequence)
    Trigger - Add to Skip_Cinematic <gen> the event (Player_Two skips a cinematic sequence)
    Trigger - Add to SaveLoad_Load <gen> the event (Player_One types a chat message containing -load (stringnoformat) as A substring)
    Trigger - Add to SaveLoad_Load <gen> the event (Player_Two types a chat message containing -load (stringnoformat) as A substring)
    Set VariableSet Powerups_Gold = 250
    Set VariableSet Powerups_Lumber = 250
    Player - Set Player_One.Food max to 60
    Player - Set Player_Two.Food max to 60
    -------- xxxxx --------
    Set VariableSet Player_Color_String[1] = |cffFF0202
    Set VariableSet Player_Color[1] = Red
    Set VariableSet Player_Color_String[2] = |cff0041FF
    Set VariableSet Player_Color[2] = Blue
    Set VariableSet Player_Color_String[3] = |cff1BE5B8
    Set VariableSet Player_Color[3] = Teal
    Set VariableSet Player_Color_String[4] = |cff530080
    Set VariableSet Player_Color[4] = Purple
    Set VariableSet Player_Color_String[5] = |cffFFFF00
    Set VariableSet Player_Color[5] = Yellow
    Set VariableSet Player_Color_String[6] = |cffFE890D
    Set VariableSet Player_Color[6] = Orange
    Set VariableSet Player_Color_String[7] = |cff1FBF00
    Set VariableSet Player_Color[7] = Green
    Set VariableSet Player_Color_String[8] = |cffE45AAA
    Set VariableSet Player_Color[8] = Pink
    Set VariableSet Player_Color_String[9] = |cff949596
    Set VariableSet Player_Color[9] = Gray
    Set VariableSet Player_Color_String[10] = |cff7DBEF1
    Set VariableSet Player_Color[10] = Light Blue
    Set VariableSet Player_Color_String[11] = |cff0F6145
    Set VariableSet Player_Color[11] = Dark Green
    Set VariableSet Player_Color_String[12] = |cff4D2903
    Set VariableSet Player_Color[12] = Brown
    Set VariableSet Share_REAL[1] = Tree of Life
    Set VariableSet Share_FAKE[1] = Tree of Life (Requirement)
    Set VariableSet Share_DISPLAY[1] = False
    Set VariableSet Share_REAL[2] = Tree of Ages
    Set VariableSet Share_FAKE[2] = Tree of Ages (Requirement)
    Set VariableSet Share_DISPLAY[2] = False
    Set VariableSet Share_REAL[3] = Tree of Eternity
    Set VariableSet Share_FAKE[3] = Tree of Eternity (Requirement)
    Set VariableSet Share_DISPLAY[3] = False
    Set VariableSet Share_REAL[4] = Altar of Elders
    Set VariableSet Share_FAKE[4] = Altar of Elders (Requirement)
    Set VariableSet Share_DISPLAY[4] = False
    Set VariableSet Share_REAL[5] = Hunter's Hall
    Set VariableSet Share_FAKE[5] = Hunter's Hall (Requirement)
    Set VariableSet Share_DISPLAY[5] = False
    Set VariableSet Share_REAL[6] = Ancient of Wind
    Set VariableSet Share_FAKE[6] = Ancient of Wind (Requirement)
    Set VariableSet Share_DISPLAY[6] = False
    Set VariableSet Share_REAL[7] = Ancient of Wonders
    Set VariableSet Share_FAKE[7] = Ancient of Wonders (Requirement)
    Set VariableSet Share_DISPLAY[7] = False
    For each (Integer A) from 1 to 7, do (Actions)
      Loop - Actions
        Set VariableSet TempGroup[1] = (Units owned by Player_One of type Share_REAL[(Integer A)])
        Set VariableSet TempGroup[2] = (Units owned by Player_Two of type Share_REAL[(Integer A)])
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            ((Number of units in TempGroup[1]) + (Number of units in TempGroup[2])) Not equal to 0
          Then - Actions
            Set VariableSet Share_DISPLAY[(Integer A)] = True
          Else - Actions
        Custom script: call DestroyGroup(udg_TempGroup[1])
        Custom script: call DestroyGroup(udg_TempGroup[2])
Item Initialization
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Crates 2466 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Shadow Orb Fragment
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Shadow Orb Fragment
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Crates 2472 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Shadow Orb Fragment
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Shadow Orb Fragment
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Crates 0314 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Rune of the Wild
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Rune of the Wild
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Barrel 2480 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Rune of Shielding
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Rune of Shielding
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Crates 0347 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Rune of Greater Healing
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Crates 2228 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Stone Token
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Stone Token
    -------- - --------
    Set VariableSet ITEM_DESC_Total = (ITEM_DESC_Total + 1)
    Set VariableSet ITEM_DESC[ITEM_DESC_Total] = Egg Sack 0215 <gen>
    Set VariableSet ITEM_DESC_Item_Type[ITEM_DESC_Total] = Stone Token
    Set VariableSet ITEM_DESC_Item_Type_INSANE[ITEM_DESC_Total] = Stone Token
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Giant Sea Turtle 0022 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Shadow Orb Fragment
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Shadow Orb Fragment
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Stormreaver Necrolyte 0064 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Lesser Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Stormreaver Necrolyte 0064 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Potion of Greater Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Potion of Greater Mana
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Doom Guard 0029 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Mantle of Intelligence +3
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Mantle of Intelligence +3
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Skeletal Orc Champion 0153 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Lesser Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Fel Beast 0208 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Lesser Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Skeletal Orc Grunt 0113 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Lesser Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Lesser Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Giant Skeleton Warrior 0212 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Giant Skeleton Warrior 0304 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Skeletal Mage 0071 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Fel Beast 0155 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Fel Ravager 0185 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Greater Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Mana
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Sludge Flinger 0242 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Ring of Protection +2
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Ring of Protection +2
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Stormreaver Necrolyte 0067 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Lesser Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Lesser Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Sea Elemental 0298 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Restoration
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Mur'gul Marauder 0282 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Mur'gul Snarecaster 0090 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Tome of Intelligence
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Tome of Intelligence
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Ancient Hydra 0211 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Elder Hydra 0257 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Tome of Agility
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Tome of Agility
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Dragon Turtle 0285 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Restoration
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Elder Hydra 0046 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Greater Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Mana
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Gargantuan Sea Turtle 0105 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Healing Salve
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Healing Salve
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Ancient Hydra 0287 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Restoration
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Giant Sea Turtle 0030 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Lesser Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Makrura Deepseer 0290 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Mana
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Makrura Tidal Lord 0288 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Greater Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Dragon Turtle 0299 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Greater Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Mana
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Naga Siren 0074 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Mana
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = EMPTY
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Naga Royal Guard 0300 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Restoration
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Snap Dragon 0127 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Lesser Healing
    -------- - --------
    Set VariableSet ITEM_UNIT_Total = (ITEM_UNIT_Total + 1)
    Set VariableSet ITEM_UNIT[ITEM_UNIT_Total] = Naga Royal Guard 0303 <gen>
    Set VariableSet ITEM_UNIT_Item_Type[ITEM_UNIT_Total] = Rune of Healing
    Set VariableSet ITEM_UNIT_Item_Type_INSANE[ITEM_UNIT_Total] = Rune of Lesser Healing
    -------- - --------
    For each (Integer A) from 1 to ITEM_DESC_Total, do (Actions)
      Loop - Actions
        Trigger - Add to Desc_Spawns_Item <gen> the event (ITEM_DESC[(Integer A)] dies)
SaveLoad Initialization
  Events
    Map initialization
  Conditions
  Actions
    Set VariableSet SaveLoad_Items[1] = Claws of Attack +15
    Set VariableSet SaveLoad_Item_String[1] = ReplaceableTextures\CommandButtons\BTNClawsOfAttack.blp
    Set VariableSet SaveLoad_Items[2] = Crown of Kings +5
    Set VariableSet SaveLoad_Item_String[2] = ReplaceableTextures\CommandButtons\BTNHelmutPurple.blp
    Set VariableSet SaveLoad_Items[3] = Kelen's Dagger of Escape
    Set VariableSet SaveLoad_Item_String[3] = ReplaceableTextures\CommandButtons\BTNDaggerOfEscape.blp
    Set VariableSet SaveLoad_Items[4] = Mask of Death
    Set VariableSet SaveLoad_Item_String[4] = ReplaceableTextures\CommandButtons\BTNMaskOfDeath.blp
    Set VariableSet SaveLoad_Items[5] = Orb of Frost
    Set VariableSet SaveLoad_Item_String[5] = ReplaceableTextures\CommandButtons\BTNOrbOfFrost.blp
    Set VariableSet SaveLoad_Items[6] = Ring of Protection +5
    Set VariableSet SaveLoad_Item_String[6] = ReplaceableTextures\CommandButtons\BTNRingGreen.blp
    Set VariableSet SaveLoad_Items[7] = Amulet of the Wild
    Set VariableSet SaveLoad_Item_String[7] = ReplaceableTextures\CommandButtons\BTNAmuletOftheWild.blp
    Set VariableSet SaveLoad_Items[8] = Book of the Dead
    Set VariableSet SaveLoad_Item_String[8] = ReplaceableTextures\CommandButtons\BTNBookOfTheDead.blp
    Set VariableSet SaveLoad_Items[9] = Demonic Figurine
    Set VariableSet SaveLoad_Item_String[9] = ReplaceableTextures\CommandButtons\BTNDoomGuard.blp
    Set VariableSet SaveLoad_Items[10] = Healing Wards
    Set VariableSet SaveLoad_Item_String[10] = ReplaceableTextures\CommandButtons\BTNHealingWard.blp
    Set VariableSet SaveLoad_Items[11] = Health Stone
    Set VariableSet SaveLoad_Item_String[11] = ReplaceableTextures\CommandButtons\BTNHealthStone.blp
    Set VariableSet SaveLoad_Items[12] = Ice Shard
    Set VariableSet SaveLoad_Item_String[12] = ReplaceableTextures\CommandButtons\BTNIceShard.blp
    Set VariableSet SaveLoad_Items[13] = Inferno Stone
    Set VariableSet SaveLoad_Item_String[13] = ReplaceableTextures\CommandButtons\BTNInfernalStone.blp
    Set VariableSet SaveLoad_Items[14] = Mana Stone
    Set VariableSet SaveLoad_Item_String[14] = ReplaceableTextures\CommandButtons\BTNManaStone.blp
    Set VariableSet SaveLoad_Items[15] = Potion of Divinity
    Set VariableSet SaveLoad_Item_String[15] = ReplaceableTextures\CommandButtons\BTNPotionOfDivinity.blp
    Set VariableSet SaveLoad_Items[16] = Potion of Greater Healing
    Set VariableSet SaveLoad_Item_String[16] = ReplaceableTextures\CommandButtons\BTNPotionGreen.blp
    Set VariableSet SaveLoad_Items[17] = Potion of Greater Mana
    Set VariableSet SaveLoad_Item_String[17] = ReplaceableTextures\CommandButtons\BTNPotionBlueBig.blp
    Set VariableSet SaveLoad_Items[18] = Potion of Invulnerability
    Set VariableSet SaveLoad_Item_String[18] = ReplaceableTextures\CommandButtons\BTNGreaterInvulneralbility.blp
    Set VariableSet SaveLoad_Items[19] = Potion of Omniscience
    Set VariableSet SaveLoad_Item_String[19] = ReplaceableTextures\CommandButtons\BTNPotionOfOmniscience.blp
    Set VariableSet SaveLoad_Items[20] = Potion of Restoration
    Set VariableSet SaveLoad_Item_String[20] = ReplaceableTextures\CommandButtons\BTNPotionOfRestoration.blp
    Set VariableSet SaveLoad_Items[21] = Red Drake Egg
    Set VariableSet SaveLoad_Item_String[21] = ReplaceableTextures\CommandButtons\BTNRedDragon.blp
    Set VariableSet SaveLoad_Items[22] = Replenishment Potion
    Set VariableSet SaveLoad_Item_String[22] = ReplaceableTextures\CommandButtons\BTNRejuvPotion.blp
    Set VariableSet SaveLoad_Items[23] = Scroll of Animate Dead
    Set VariableSet SaveLoad_Item_String[23] = ReplaceableTextures\CommandButtons\BTNSnazzyScrollPurple.blp
    Set VariableSet SaveLoad_Items[24] = Scroll of Restoration
    Set VariableSet SaveLoad_Item_String[24] = ReplaceableTextures\CommandButtons\BTNScrollOfHealing.blp
    Set VariableSet SaveLoad_Items[25] = Scroll of Resurrection
    Set VariableSet SaveLoad_Item_String[25] = ReplaceableTextures\CommandButtons\BTNSnazzyScroll.blp
    Set VariableSet SaveLoad_Items[26] = Scroll of the Beast
    Set VariableSet SaveLoad_Item_String[26] = ReplaceableTextures\CommandButtons\BTNSnazzyScrollGreen.blp
    Set VariableSet SaveLoad_Items[27] = Sentry Wards
    Set VariableSet SaveLoad_Item_String[27] = ReplaceableTextures\CommandButtons\BTNSentryWard.blp
    Set VariableSet SaveLoad_Items[28] = Spiked Collar
    Set VariableSet SaveLoad_Item_String[28] = ReplaceableTextures\CommandButtons\BTNFelHound.blp
    Set VariableSet SaveLoad_Items[29] = Stone Token
    Set VariableSet SaveLoad_Item_String[29] = ReplaceableTextures\CommandButtons\BTNRockGolem.blp
    Set VariableSet SaveLoad_Items[30] = Talisman of the Wild
    Set VariableSet SaveLoad_Item_String[30] = ReplaceableTextures\CommandButtons\BTNStone.blp
    Set VariableSet SaveLoad_Items[31] = Wand of Illusion
    Set VariableSet SaveLoad_Item_String[31] = ReplaceableTextures\CommandButtons\BTNWand.blp
    Set VariableSet SaveLoad_Items[32] = Wand of Lightning Shield
    Set VariableSet SaveLoad_Item_String[32] = ReplaceableTextures\CommandButtons\BTNStarWand.blp
    Set VariableSet SaveLoad_Items[33] = Wand of Mana Stealing
    Set VariableSet SaveLoad_Item_String[33] = ReplaceableTextures\CommandButtons\BTNWandOfManaSteal.blp
    Set VariableSet SaveLoad_Items[34] = Wand of Shadowsight
    Set VariableSet SaveLoad_Item_String[34] = ReplaceableTextures\CommandButtons\BTNWandOfShadowSight.blp
    Set VariableSet SaveLoad_Items[35] = Wand of the Wind
    Set VariableSet SaveLoad_Item_String[35] = ReplaceableTextures\CommandButtons\BTNWandOfCyclone.blp
    Set VariableSet SaveLoad_Items[36] = Amulet of Recall
    Set VariableSet SaveLoad_Item_String[36] = ReplaceableTextures\CommandButtons\BTNAmulet.blp
    Set VariableSet SaveLoad_Items[37] = Ancient Figurine
    Set VariableSet SaveLoad_Item_String[37] = ReplaceableTextures\CommandButtons\BTNClayFigurine.blp
    Set VariableSet SaveLoad_Items[38] = Anti-magic Potion
    Set VariableSet SaveLoad_Item_String[38] = ReplaceableTextures\CommandButtons\BTNSnazzyPotion.blp
    Set VariableSet SaveLoad_Items[39] = Arcane Scroll
    Set VariableSet SaveLoad_Item_String[39] = ReplaceableTextures\CommandButtons\BTNBansheeAdept.blp
    Set VariableSet SaveLoad_Items[40] = Bracer of Agility
    Set VariableSet SaveLoad_Item_String[40] = ReplaceableTextures\CommandButtons\BTNRingPurple.blp
    Set VariableSet SaveLoad_Items[41] = Claws of Attack +3
    Set VariableSet SaveLoad_Item_String[41] = ReplaceableTextures\CommandButtons\BTNClawsOfAttack.blp
    Set VariableSet SaveLoad_Items[42] = Druid Pouch
    Set VariableSet SaveLoad_Item_String[42] = ReplaceableTextures\CommandButtons\BTNDust.blp
    Set VariableSet SaveLoad_Items[43] = Dust of Appearance
    Set VariableSet SaveLoad_Item_String[43] = ReplaceableTextures\CommandButtons\BTNDustOfAppearance.blp
    Set VariableSet SaveLoad_Items[44] = Essence of Aszune
    Set VariableSet SaveLoad_Item_String[44] = ReplaceableTextures\CommandButtons\BTNHeartOfAszune.blp
    Set VariableSet SaveLoad_Items[45] = Frost Wyrm Skull Shield
    Set VariableSet SaveLoad_Item_String[45] = ReplaceableTextures\CommandButtons\BTNGrimWard.blp
    Set VariableSet SaveLoad_Items[46] = Gem of True Seeing
    Set VariableSet SaveLoad_Item_String[46] = ReplaceableTextures\CommandButtons\BTNGem.blp
    Set VariableSet SaveLoad_Items[47] = Goblin Land Mines
    Set VariableSet SaveLoad_Item_String[47] = ReplaceableTextures\CommandButtons\BTNGoblinLandMine.blp
    Set VariableSet SaveLoad_Items[48] = Goblin Night Scope
    Set VariableSet SaveLoad_Item_String[48] = ReplaceableTextures\CommandButtons\BTNTelescope.blp
    Set VariableSet SaveLoad_Items[49] = Greater Replenishment Potion
    Set VariableSet SaveLoad_Item_String[49] = ReplaceableTextures\CommandButtons\BTNGreaterRejuvPotion.blp
    Set VariableSet SaveLoad_Items[50] = Greater Scroll of Replenishment
    Set VariableSet SaveLoad_Item_String[50] = ReplaceableTextures\CommandButtons\BTNGreaterRejuvScroll.blp
    Set VariableSet SaveLoad_Items[51] = Horn of the Clouds
    Set VariableSet SaveLoad_Item_String[51] = ReplaceableTextures\CommandButtons\BTNHornOfFog.blp
    Set VariableSet SaveLoad_Items[52] = Ironwood Branch
    Set VariableSet SaveLoad_Item_String[52] = ReplaceableTextures\CommandButtons\BTNNatureTouchGrow.blp
    Set VariableSet SaveLoad_Items[53] = Jade Ring
    Set VariableSet SaveLoad_Item_String[53] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[54] = Keg of Ale
    Set VariableSet SaveLoad_Item_String[54] = ReplaceableTextures\CommandButtons\BTNBarrel.blp
    Set VariableSet SaveLoad_Items[55] = Lesser Replenishment Potion
    Set VariableSet SaveLoad_Item_String[55] = ReplaceableTextures\CommandButtons\BTNLesserRejuvPotion.blp
    Set VariableSet SaveLoad_Items[56] = Lesser Scroll of Replenishment
    Set VariableSet SaveLoad_Item_String[56] = ReplaceableTextures\CommandButtons\BTNLesserRejuvScroll.blp
    Set VariableSet SaveLoad_Items[57] = Lion's Ring
    Set VariableSet SaveLoad_Item_String[57] = ReplaceableTextures\CommandButtons\BTNRingLionHead.blp
    Set VariableSet SaveLoad_Items[58] = Maul of Strength
    Set VariableSet SaveLoad_Item_String[58] = ReplaceableTextures\CommandButtons\BTNHammer.blp
    Set VariableSet SaveLoad_Items[59] = Minor Replenishment Potion
    Set VariableSet SaveLoad_Item_String[59] = ReplaceableTextures\CommandButtons\BTNMinorRejuvPotion.blp
    Set VariableSet SaveLoad_Items[60] = Necklace of Spell Immunity
    Set VariableSet SaveLoad_Item_String[60] = ReplaceableTextures\CommandButtons\BTNNecklace.blp
    Set VariableSet SaveLoad_Items[61] = Orb of Corruption
    Set VariableSet SaveLoad_Item_String[61] = ReplaceableTextures\CommandButtons\BTNOrbOfCorruption.blp
    Set VariableSet SaveLoad_Items[62] = Orb of Fire
    Set VariableSet SaveLoad_Item_String[62] = ReplaceableTextures\CommandButtons\BTNOrbOfFire.blp
    Set VariableSet SaveLoad_Items[63] = Orb of Kil'jaeden
    Set VariableSet SaveLoad_Item_String[63] = ReplaceableTextures\CommandButtons\BTNUsedSoulGem.blp
    Set VariableSet SaveLoad_Items[64] = Orb of Lightning
    Set VariableSet SaveLoad_Item_String[64] = ReplaceableTextures\CommandButtons\BTNOrbOfLightning.blp
    Set VariableSet SaveLoad_Items[65] = Orb of Lightning
    Set VariableSet SaveLoad_Item_String[65] = ReplaceableTextures\CommandButtons\BTNOrbOfLightning.blp
    Set VariableSet SaveLoad_Items[66] = Orb of Slow
    Set VariableSet SaveLoad_Item_String[66] = ReplaceableTextures\CommandButtons\BTNOrbofSlowness.blp
    Set VariableSet SaveLoad_Items[67] = Orb of Venom
    Set VariableSet SaveLoad_Item_String[67] = ReplaceableTextures\CommandButtons\BTNOrbOfVenom.blp
    Set VariableSet SaveLoad_Items[68] = Potion of Greater Invisibility
    Set VariableSet SaveLoad_Item_String[68] = ReplaceableTextures\CommandButtons\BTNGreaterInvisibility.blp
    Set VariableSet SaveLoad_Items[69] = Potion of Speed
    Set VariableSet SaveLoad_Item_String[69] = ReplaceableTextures\CommandButtons\BTNPotionRed.blp
    Set VariableSet SaveLoad_Items[70] = Ring of Protection +1
    Set VariableSet SaveLoad_Item_String[70] = ReplaceableTextures\CommandButtons\BTNRingGreen.blp
    Set VariableSet SaveLoad_Items[71] = Ring of Superiority
    Set VariableSet SaveLoad_Item_String[71] = ReplaceableTextures\CommandButtons\BTNGoldRing.blp
    Set VariableSet SaveLoad_Items[72] = Ring of the Archmagi (version 2)
    Set VariableSet SaveLoad_Item_String[72] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[73] = Ring of the Archmagi (version 4)
    Set VariableSet SaveLoad_Item_String[73] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[74] = Ring of the Archmagi (version 1)
    Set VariableSet SaveLoad_Item_String[74] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[75] = Ring of the Archmagi (version 3)
    Set VariableSet SaveLoad_Item_String[75] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[76] = Scepter of Mastery
    Set VariableSet SaveLoad_Item_String[76] = ReplaceableTextures\CommandButtons\BTNRingJadeFalcon.blp
    Set VariableSet SaveLoad_Items[77] = Shadow Orb +1
    Set VariableSet SaveLoad_Item_String[77] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[78] = Shadow Orb +10
    Set VariableSet SaveLoad_Item_String[78] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[79] = Shadow Orb +2
    Set VariableSet SaveLoad_Item_String[79] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[80] = Shadow Orb +3
    Set VariableSet SaveLoad_Item_String[80] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[81] = Shadow Orb +4
    Set VariableSet SaveLoad_Item_String[81] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[82] = Shadow Orb +5
    Set VariableSet SaveLoad_Item_String[82] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[83] = Shadow Orb +6
    Set VariableSet SaveLoad_Item_String[83] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[84] = Shadow Orb +7
    Set VariableSet SaveLoad_Item_String[84] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[85] = Shadow Orb +8
    Set VariableSet SaveLoad_Item_String[85] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[86] = Shadow Orb +9
    Set VariableSet SaveLoad_Item_String[86] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[87] = Shamanic Totem
    Set VariableSet SaveLoad_Item_String[87] = ReplaceableTextures\CommandButtons\BTNEntrapmentWard.blp
    Set VariableSet SaveLoad_Items[88] = Skull Shield
    Set VariableSet SaveLoad_Item_String[88] = ReplaceableTextures\CommandButtons\BTNGrimWard.blp
    Set VariableSet SaveLoad_Items[89] = Spider Ring
    Set VariableSet SaveLoad_Item_String[89] = ReplaceableTextures\CommandButtons\BTNRingVioletSpider.blp
    Set VariableSet SaveLoad_Items[90] = Staff of Preservation
    Set VariableSet SaveLoad_Item_String[90] = ReplaceableTextures\CommandButtons\BTNStaffOfPreservation.blp
    Set VariableSet SaveLoad_Items[91] = Staff of Reanimation
    Set VariableSet SaveLoad_Item_String[91] = ReplaceableTextures\CommandButtons\BTNWandSkull.blp
    Set VariableSet SaveLoad_Items[92] = Tiny Altar of Kings
    Set VariableSet SaveLoad_Item_String[92] = ReplaceableTextures\CommandButtons\BTNAltarOfKings.blp
    Set VariableSet SaveLoad_Items[93] = Tiny Barracks
    Set VariableSet SaveLoad_Item_String[93] = ReplaceableTextures\CommandButtons\BTNHumanBarracks.blp
    Set VariableSet SaveLoad_Items[94] = Tiny Blacksmith
    Set VariableSet SaveLoad_Item_String[93] = ReplaceableTextures\CommandButtons\BTNBlacksmith.blp
    Set VariableSet SaveLoad_Items[95] = Tiny Farm
    Set VariableSet SaveLoad_Item_String[95] = ReplaceableTextures\CommandButtons\BTNFarm.blp
    Set VariableSet SaveLoad_Items[96] = Tiny Lumber Mill
    Set VariableSet SaveLoad_Item_String[96] = ReplaceableTextures\CommandButtons\BTNHumanLumberMill.blp
    Set VariableSet SaveLoad_Items[97] = Totem of Might
    Set VariableSet SaveLoad_Item_String[97] = ReplaceableTextures\CommandButtons\BTNEntrapmentWard.blp
    Set VariableSet SaveLoad_Items[98] = Voodoo Doll
    Set VariableSet SaveLoad_Item_String[98] = ReplaceableTextures\CommandButtons\BTNShadowPact.blp
    Set VariableSet SaveLoad_Items[99] = Alleria's Flute of Accuracy
    Set VariableSet SaveLoad_Item_String[99] = ReplaceableTextures\CommandButtons\BTNAlleriaFlute.blp
    Set VariableSet SaveLoad_Items[100] = Amulet of Spell Shield
    Set VariableSet SaveLoad_Item_String[100] = ReplaceableTextures\CommandButtons\BTNSpellShieldAmulet.blp
    Set VariableSet SaveLoad_Items[101] = Ancient Janggo of Endurance
    Set VariableSet SaveLoad_Item_String[101] = ReplaceableTextures\CommandButtons\BTNJanggo.blp
    Set VariableSet SaveLoad_Items[102] = Belt of Giant Strength +6
    Set VariableSet SaveLoad_Item_String[102] = ReplaceableTextures\CommandButtons\BTNBelt.blp
    Set VariableSet SaveLoad_Items[103] = Boots of Quel'Thalas +6
    Set VariableSet SaveLoad_Item_String[103] = ReplaceableTextures\CommandButtons\BTNBoots.blp
    Set VariableSet SaveLoad_Items[104] = Boots of Speed
    Set VariableSet SaveLoad_Item_String[104] = ReplaceableTextures\CommandButtons\BTNBootsOfSpeed.blp
    Set VariableSet SaveLoad_Items[105] = Circlet of Nobility
    Set VariableSet SaveLoad_Item_String[105] = ReplaceableTextures\CommandButtons\BTNCirclet.blp
    Set VariableSet SaveLoad_Items[106] = Claws of Attack +12
    Set VariableSet SaveLoad_Item_String[106] = ReplaceableTextures\CommandButtons\BTNClawsOfAttack.blp
    Set VariableSet SaveLoad_Items[107] = Claws of Attack +6
    Set VariableSet SaveLoad_Item_String[107] = ReplaceableTextures\CommandButtons\BTNClawsOfAttack.blp
    Set VariableSet SaveLoad_Items[108] = Claws of Attack +9
    Set VariableSet SaveLoad_Item_String[108] = ReplaceableTextures\CommandButtons\BTNClawsOfAttack.blp
    Set VariableSet SaveLoad_Items[109] = Cloak of Flames
    Set VariableSet SaveLoad_Item_String[109] = ReplaceableTextures\CommandButtons\BTNCloakOfFlames.blp
    Set VariableSet SaveLoad_Items[110] = Cloak of Shadows
    Set VariableSet SaveLoad_Item_String[110] = ReplaceableTextures\CommandButtons\BTNCloak.blp
    Set VariableSet SaveLoad_Items[111] = Crystal Ball
    Set VariableSet SaveLoad_Item_String[111] = ReplaceableTextures\CommandButtons\BTNCrystalBall.blp
    Set VariableSet SaveLoad_Items[112] = Diamond of Summoning
    Set VariableSet SaveLoad_Item_String[112] = ReplaceableTextures\CommandButtons\BTNDarkSummoning.blp
    Set VariableSet SaveLoad_Items[113] = Gauntlets of Ogre Strength +3
    Set VariableSet SaveLoad_Item_String[113] = ReplaceableTextures\CommandButtons\BTNGauntletsOfOgrePower.blp
    Set VariableSet SaveLoad_Items[114] = Gloves of Haste
    Set VariableSet SaveLoad_Item_String[114] = ReplaceableTextures\CommandButtons\BTNGlove.blp
    Set VariableSet SaveLoad_Items[115] = Helm of Valor
    Set VariableSet SaveLoad_Item_String[115] = ReplaceableTextures\CommandButtons\BTNHelmOfValor.blp
    Set VariableSet SaveLoad_Items[116] = Hood of Cunning
    Set VariableSet SaveLoad_Item_String[116] = ReplaceableTextures\CommandButtons\BTNHoodOfCunning.blp
    Set VariableSet SaveLoad_Items[117] = Khadgar's Gem of Health
    Set VariableSet SaveLoad_Item_String[117] = ReplaceableTextures\CommandButtons\BTNPeriapt1.blp
    Set VariableSet SaveLoad_Items[118] = Khadgar's Pipe of Insight
    Set VariableSet SaveLoad_Item_String[118] = ReplaceableTextures\CommandButtons\BTNPipeOfInsight.blp
    Set VariableSet SaveLoad_Items[119] = Legion Doom-Horn
    Set VariableSet SaveLoad_Item_String[119] = ReplaceableTextures\CommandButtons\BTNHornOfDoom.blp
    Set VariableSet SaveLoad_Items[120] = Mantle of Intelligence +3
    Set VariableSet SaveLoad_Item_String[120] = ReplaceableTextures\CommandButtons\BTNMantleOfIntelligence.blp
    Set VariableSet SaveLoad_Items[121] = Medallion of Courage
    Set VariableSet SaveLoad_Item_String[121] = ReplaceableTextures\CommandButtons\BTNMedalionOfCourage.blp
    Set VariableSet SaveLoad_Items[122] = Orb of Darkness
    Set VariableSet SaveLoad_Item_String[122] = ReplaceableTextures\CommandButtons\BTNOrbOfDarkness.blp
    Set VariableSet SaveLoad_Items[123] = Pendant of Energy
    Set VariableSet SaveLoad_Item_String[123] = ReplaceableTextures\CommandButtons\BTNPendantOfEnergy.blp
    Set VariableSet SaveLoad_Items[124] = Pendant of Mana
    Set VariableSet SaveLoad_Item_String[124] = ReplaceableTextures\CommandButtons\BTNPendantOfMana.blp
    Set VariableSet SaveLoad_Items[125] = Periapt of Vitality
    Set VariableSet SaveLoad_Item_String[125] = ReplaceableTextures\CommandButtons\BTNPeriapt.blp
    Set VariableSet SaveLoad_Items[126] = Ring of Protection +2
    Set VariableSet SaveLoad_Item_String[126] = ReplaceableTextures\CommandButtons\BTNRingGreen.blp
    Set VariableSet SaveLoad_Items[127] = Ring of Protection +3
    Set VariableSet SaveLoad_Item_String[127] = ReplaceableTextures\CommandButtons\BTNRingGreen.blp
    Set VariableSet SaveLoad_Items[128] = Ring of Protection +4
    Set VariableSet SaveLoad_Item_String[128] = ReplaceableTextures\CommandButtons\BTNRingGreen.blp
    Set VariableSet SaveLoad_Items[129] = Ring of Regeneration
    Set VariableSet SaveLoad_Item_String[129] = ReplaceableTextures\CommandButtons\BTNRingSkull.blp
    Set VariableSet SaveLoad_Items[130] = Robe of the Magi +6
    Set VariableSet SaveLoad_Item_String[130] = ReplaceableTextures\CommandButtons\BTNRobeOfTheMagi.blp
    Set VariableSet SaveLoad_Items[131] = Runed Bracers
    Set VariableSet SaveLoad_Item_String[131] = ReplaceableTextures\CommandButtons\BTNRunedBracers.blp
    Set VariableSet SaveLoad_Items[132] = Scourge Bone Chimes
    Set VariableSet SaveLoad_Item_String[132] = ReplaceableTextures\CommandButtons\BTNBoneChimes.blp
    Set VariableSet SaveLoad_Items[133] = Slippers of Agility +3
    Set VariableSet SaveLoad_Item_String[133] = ReplaceableTextures\CommandButtons\BTNSlippersOfAgility.blp
    Set VariableSet SaveLoad_Items[134] = Sobi Mask
    Set VariableSet SaveLoad_Item_String[134] = ReplaceableTextures\CommandButtons\BTNSobiMask.blp
    Set VariableSet SaveLoad_Items[135] = Staff of Silence
    Set VariableSet SaveLoad_Item_String[135] = ReplaceableTextures\CommandButtons\BTNStaffOfSilence.blp
    Set VariableSet SaveLoad_Items[136] = Staff of Teleportation
    Set VariableSet SaveLoad_Item_String[136] = ReplaceableTextures\CommandButtons\BTNStaffOfTeleportation.blp
    Set VariableSet SaveLoad_Items[137] = Talisman of Evasion
    Set VariableSet SaveLoad_Item_String[137] = ReplaceableTextures\CommandButtons\BTNTalisman.blp
    Set VariableSet SaveLoad_Items[138] = The Lion Horn of Stormwind
    Set VariableSet SaveLoad_Item_String[138] = ReplaceableTextures\CommandButtons\BTNLionHorn.blp
    Set VariableSet SaveLoad_Items[139] = Warsong Battle Drums
    Set VariableSet SaveLoad_Item_String[139] = ReplaceableTextures\CommandButtons\BTNDrum.blp
    Set VariableSet SaveLoad_Items[140] = Clarity Potion
    Set VariableSet SaveLoad_Item_String[140] = ReplaceableTextures\CommandButtons\BTNPotionOfClarity.blp
    Set VariableSet SaveLoad_Items[141] = Healing Salve
    Set VariableSet SaveLoad_Item_String[141] = ReplaceableTextures\CommandButtons\BTNHealingSalve.blp
    Set VariableSet SaveLoad_Items[142] = Ivory Tower
    Set VariableSet SaveLoad_Item_String[142] = ReplaceableTextures\CommandButtons\BTNHumanWatchTower.blp
    Set VariableSet SaveLoad_Items[142] = Lesser Clarity Potion
    Set VariableSet SaveLoad_Item_String[142] = ReplaceableTextures\CommandButtons\BTNLesserClarityPotion.blp
    Set VariableSet SaveLoad_Items[143] = Mechanical Critter
    Set VariableSet SaveLoad_Item_String[143] = ReplaceableTextures\CommandButtons\BTNMechanicalCritter.blp
    Set VariableSet SaveLoad_Items[144] = Moonstone
    Set VariableSet SaveLoad_Item_String[144] = ReplaceableTextures\CommandButtons\BTNMoonStone.blp
    Set VariableSet SaveLoad_Items[145] = Potion of Healing
    Set VariableSet SaveLoad_Item_String[145] = ReplaceableTextures\CommandButtons\BTNPotionGreenSmall.blp
    Set VariableSet SaveLoad_Items[146] = Potion of Invisibility
    Set VariableSet SaveLoad_Item_String[146] = ReplaceableTextures\CommandButtons\BTNPotionGreenSmall.blp
    Set VariableSet SaveLoad_Items[147] = Potion of Lesser Invulnerability
    Set VariableSet SaveLoad_Item_String[147] = ReplaceableTextures\CommandButtons\BTNLesserInvulneralbility.blp
    Set VariableSet SaveLoad_Items[148] = Potion of Mana
    Set VariableSet SaveLoad_Item_String[148] = ReplaceableTextures\CommandButtons\BTNPotionBlueSmall.blp
    Set VariableSet SaveLoad_Items[149] = Rod of Necromancy
    Set VariableSet SaveLoad_Item_String[149] = ReplaceableTextures\CommandButtons\BTNRodOfNecromancy.blp
    Set VariableSet SaveLoad_Items[150] = Sacrificial Skull
    Set VariableSet SaveLoad_Item_String[150] = ReplaceableTextures\CommandButtons\BTNSacrificialSkull.blp
    Set VariableSet SaveLoad_Items[151] = Scroll of Healing
    Set VariableSet SaveLoad_Item_String[151] = ReplaceableTextures\CommandButtons\BTNScrollOfTownPortal.blp
    Set VariableSet SaveLoad_Items[152] = Scroll of Mana
    Set VariableSet SaveLoad_Item_String[152] = ReplaceableTextures\CommandButtons\BTNScrollOfProtection.blp
    Set VariableSet SaveLoad_Items[153] = Scroll of Protection
    Set VariableSet SaveLoad_Item_String[153] = ReplaceableTextures\CommandButtons\BTNScroll.blp
    Set VariableSet SaveLoad_Items[154] = Scroll of Regeneration
    Set VariableSet SaveLoad_Item_String[154] = ReplaceableTextures\CommandButtons\BTNScrollOfRegenerationGreen.blp
    Set VariableSet SaveLoad_Items[155] = Scroll of Speed
    Set VariableSet SaveLoad_Item_String[155] = ReplaceableTextures\CommandButtons\BTNScrollOfHaste.blp
    Set VariableSet SaveLoad_Items[156] = Scroll of Town Portal
    Set VariableSet SaveLoad_Item_String[156] = ReplaceableTextures\CommandButtons\BTNScrollUber.blp
    Set VariableSet SaveLoad_Items[157] = Spider Silk Broach
    Set VariableSet SaveLoad_Item_String[157] = ReplaceableTextures\CommandButtons\BTNSpiderSilkBroach.blp
    Set VariableSet SaveLoad_Items[158] = Staff of Negation
    Set VariableSet SaveLoad_Item_String[158] = ReplaceableTextures\CommandButtons\BTNStaffOfNegation.blp
    Set VariableSet SaveLoad_Items[159] = Staff of Sanctuary
    Set VariableSet SaveLoad_Item_String[159] = ReplaceableTextures\CommandButtons\BTNStaffOfSanctuary.blp
    Set VariableSet SaveLoad_Items[160] = Tiny Castle
    Set VariableSet SaveLoad_Item_String[160] = ReplaceableTextures\CommandButtons\BTNTinyCastle.blp
    Set VariableSet SaveLoad_Items[161] = Tiny Great Hall
    Set VariableSet SaveLoad_Item_String[161] = ReplaceableTextures\CommandButtons\BTNGreathall.blp
    Set VariableSet SaveLoad_Items[162] = Tome of Retraining
    Set VariableSet SaveLoad_Item_String[162] = ReplaceableTextures\CommandButtons\BTNTomeOfRetraining.blp
    Set VariableSet SaveLoad_Items[163] = Vampiric Potion
    Set VariableSet SaveLoad_Item_String[163] = ReplaceableTextures\CommandButtons\BTNPotionOfVampirism.blp
    Set VariableSet SaveLoad_Items[164] = Wand of Negation
    Set VariableSet SaveLoad_Item_String[164] = ReplaceableTextures\CommandButtons\BTNWandSkull.blp
    Set VariableSet SaveLoad_Items[165] = Wand of Neutralization
    Set VariableSet SaveLoad_Item_String[165] = ReplaceableTextures\CommandButtons\BTNWandOfNeutralization.blp
    Set VariableSet SaveLoad_Items_LastIndex = 165
    Set VariableSet SaveLoad_Alphabet = ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
    Set VariableSet SaveLoad_CaseSensitive = True
    Set VariableSet SaveLoad_UsePlayername = 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
    -------- List of Heroes --------
    Set VariableSet SaveLoad_Heroes[1] = Paladin
    Set VariableSet SaveLoad_Heroes[2] = Archmage
    Set VariableSet SaveLoad_Heroes[3] = Mountain King
    Set VariableSet SaveLoad_Heroes[4] = Blood Mage
    -------- Number of Heroes --------
    Set VariableSet SaveLoad_Heroes_LastIndex = 4
    -------- List of Abilities --------
    Set VariableSet SaveLoad_Abilities[1] = Banish
    Set VariableSet SaveLoad_Abilities[2] = Flame Strike
    Set VariableSet SaveLoad_Abilities[3] = Phoenix
    Set VariableSet SaveLoad_Abilities[4] = Siphon Mana
    -------- Number of Abilities --------
    Set VariableSet SaveLoad_Abilities_LastIndex = 4
SaveLoad Save
  Events
  Conditions
  Actions
    For each (Integer A) from 1 to 30, do (Actions)
      Loop - Actions
        Set VariableSet Save[(Integer A)] = 0
    Set VariableSet SaveCount = 0
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = 103
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = Bonus_Strength
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = Bonus_Agility
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = Bonus_Intelligence
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = ((1000 x (Level of Fan of Knives for Maiev)) + (((Level of Blink for Maiev) x 100) + (((Level of Shadow Strike for Maiev) x 10) + ((Level of Vengeance for Maiev) + 1111))))
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = ((1000 x (Level of Blade Shield for NewWarden)) + (((Level of Shift for NewWarden) x 100) + (((Level of Summon Twilight Guardian for NewWarden) x 10) + ((Level of Vengeance for NewWarden) + 1111))))
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = (Number of items carried by Maiev)
    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 Maiev in slot (Integer A)) Not equal to No item
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by Maiev in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            -------- The number of charges it has --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Healing Wards
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Sentry Wards
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Talisman of the Wild
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Illusion
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Lightning Shield
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Mana Stealing
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Shadowsight
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of the Wind
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Dust of Appearance
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Goblin Land Mines
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Scepter of Mastery
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Rod of Necromancy
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Spider Silk Broach
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Healing Salve
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Negation
                    (Item-type of (Item carried by Maiev in slot (Integer A))) Equal to Wand of Neutralization
              Then - Actions
                Set VariableSet SaveCount = (SaveCount + 1)
                Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by Maiev in slot (Integer A)))
              Else - Actions
          Else - Actions
    Set VariableSet SaveCount = (SaveCount + 1)
    Set VariableSet Save[SaveCount] = (Number of items carried by NewWarden)
    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 NewWarden in slot (Integer A)) Not equal to No item
          Then - Actions
            Set VariableSet SaveCount = (SaveCount + 1)
            Set VariableSet TempItem = (Item carried by NewWarden in slot (Integer A))
            Custom script: set udg_Save[udg_SaveCount] = SaveLoad_Item2Integer( udg_TempItem )
            -------- The number of charges it has --------
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                Or - Any (Conditions) are true
                  Conditions
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Healing Wards
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Sentry Wards
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Talisman of the Wild
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Illusion
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Lightning Shield
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Mana Stealing
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Shadowsight
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of the Wind
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Dust of Appearance
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Goblin Land Mines
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Scepter of Mastery
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Rod of Necromancy
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Spider Silk Broach
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Healing Salve
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Negation
                    (Item-type of (Item carried by NewWarden in slot (Integer A))) Equal to Wand of Neutralization
              Then - Actions
                Set VariableSet SaveCount = (SaveCount + 1)
                Set VariableSet Save[SaveCount] = (Charges remaining in (Item carried by NewWarden in slot (Integer A)))
              Else - Actions
          Else - Actions
    Custom script: set udg_Code = SaveLoad_Encode()
    -------- Show code to player --------
    Game - Display to (All players) for 600.00 seconds the text: (Your code: + Code)
SaveLoad Load
  Events
  Conditions
    (Substring((Entered chat string), 1, 6)) Equal to (Matched chat string)
    (Length of (Entered chat string)) Greater than 6
  Actions
    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 False
      Then - Actions
        -------- Invalid code --------
        Trigger - Run Preface_TEXT <gen> (checking conditions)
        Game - Display to (Player group((Triggering player))) the text: There's some error in this code, sorry.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Code_Is_Active Equal to True
          Then - Actions
            Game - Display to (All players) the text: However, a valid code has already been entered. You may proceed to play the map using that one.
          Else - Actions
        Skip remaining actions
      Else - Actions
    Set VariableSet SaveCount = 1
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        Save[1] Not equal to 102
      Then - Actions
        Trigger - Run Preface_TEXT <gen> (checking conditions)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Substring((String(Save[SaveCount])), 1, 2)) Not equal to 10
          Then - Actions
            Game - Display to (All players) for 600.00 seconds the text: This code is from an older release.
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Substring((String(Save[SaveCount])), 3, 3)) Not equal to 2
              Then - Actions
                Game - Display to (All players) for 600.00 seconds the text: This code is not from the previous map of the campaign.
              Else - Actions
                Game - Display to (All players) for 600.00 seconds the text: Unknown loading error.
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            Code_Is_Active Equal to True
          Then - Actions
            Game - Display to (All players) the text: However, a valid code has already been entered. You may proceed to play the map using that one.
          Else - Actions
        Skip remaining actions
      Else - Actions
        Sound - Play GoodJob <gen>
        Set VariableSet Code_Is_Active = True
    Set VariableSet Bonus_Strength = 0
    Set VariableSet Bonus_Intelligence = 0
    Set VariableSet Bonus_Agility = 0
    Unit - Remove Fan of Knives from Maiev
    Unit - Remove Blink from Maiev
    Unit - Remove Shadow Strike from Maiev
    Unit - Remove Vengeance from Maiev
    Hero - Modify unspent skill points of Maiev: Set to (Hero level of Maiev) points
    Unit - Remove Blade Shield from NewWarden
    Unit - Remove Shift from NewWarden
    Unit - Remove Summon Twilight Guardian from NewWarden
    Unit - Remove Vengeance from NewWarden
    Hero - Modify unspent skill points of NewWarden: Set to (Hero level of NewWarden) points
    For each (Integer A) from 1 to 6, do (Actions)
      Loop - Actions
        Hero - Drop the item from slot (Integer A) of Maiev.
        Item - Remove (Last dropped item)
        Hero - Drop the item from slot (Integer A) of NewWarden.
        Item - Remove (Last dropped item)
    -------- --- --------
    Set VariableSet Bonus_Strength = Save[2]
    Set VariableSet Bonus_Agility = Save[3]
    Set VariableSet Bonus_Intelligence = Save[4]
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Substring((String(Save[5])), 1, 1)) Equal to 4
      Then - Actions
        Hero - Learn skill for Maiev: Fan of Knives
        Hero - Learn skill for Maiev: Fan of Knives
        Hero - Learn skill for Maiev: Fan of Knives
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Substring((String(Save[5])), 1, 1)) Equal to 3
          Then - Actions
            Hero - Learn skill for Maiev: Fan of Knives
            Hero - Learn skill for Maiev: Fan of Knives
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Substring((String(Save[5])), 1, 1)) Equal to 2
              Then - Actions
                Hero - Learn skill for Maiev: Fan of Knives
              Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      If - Conditions
        (Substring((String(Save[5])), 2, 2)) Equal to 4
      Then - Actions
        Hero - Learn skill for Maiev: Blink
        Hero - Learn skill for Maiev: Blink
        Hero - Learn skill for Maiev: Blink
      Else - Actions
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          If - Conditions
            (Substring((String(Save[5])), 2, 2)) Equal to 3
          Then - Actions
            Hero - Learn skill for Maiev: Blink
            Hero - Learn skill for Maiev: Blink
          Else - Actions
            If (All Conditions are True) then do (Then Actions) else do (Else Actions)
              If - Conditions
                (Substring((String(Save[5])), 2, 2)) Equal to 2
              Then - Actions
                Hero - Learn skill for Maiev: Blink
              Else - Actions
    If (All Conditions are True) then do (Then Actions) else do (Else Actions)