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





































































































































































































































































































































































































































































































function SaveLoad_InitialSetup takes nothing returns nothing local integer i = 0 local integer j = 0 loop set udg_SaveLoad_Compress[i + 48] = j set udg_SaveLoad_Uncompress[i] = i + 48 set j = j + 1 set i = i + 1 exitwhen i >= 10 endloop set i = 0 loop set udg_SaveLoad_Compress[i + 97] = j set udg_SaveLoad_Compress[i + 65] = j + 26 set udg_SaveLoad_Uncompress[i + 10] = i + 97 set udg_SaveLoad_Uncompress[i + 26 + 10] = i + 65 set j = j + 1 set i = i + 1 exitwhen i >= 26 endloop endfunction function SaveLoad_Id2CId takes integer n returns integer local integer i = n / (256 * 256 * 256) local integer r set n = n - i * (256 * 256 * 256) set r = udg_SaveLoad_Compress[i] set i = n / (256 * 256) set n = n - i * (256 * 256) set r = r * 64 + udg_SaveLoad_Compress[i] set i = n / 256 set r = r * 64 + udg_SaveLoad_Compress[i] return r * 64 + udg_SaveLoad_Compress[n - i * 256] endfunction function SaveLoad_CId2Id takes integer n returns integer local integer i = n / (64 * 64 * 64) local integer r set n = n - i * (64 * 64 * 64) set r = udg_SaveLoad_Uncompress[i] set i = n / (64 * 64) set n = n - i * (64 * 64) set r = r * 256 + udg_SaveLoad_Uncompress[i] set i = n / 64 set r = r * 256 + udg_SaveLoad_Uncompress[i] return r * 256 + udg_SaveLoad_Uncompress[n - i * 64] endfunction function SaveLoad_Unit2Integer takes unit u returns integer local integer i = 0 local integer n = GetUnitTypeId(u) if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif loop set i = i + 1 exitwhen i > udg_SaveLoad_Heroes_LastIndex if udg_SaveLoad_Heroes[i] == n then return i endif endloop return SaveLoad_Id2CId(n) endfunction function SaveLoad_Integer2Unit takes integer i returns integer if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif if i <= udg_SaveLoad_Heroes_LastIndex then return udg_SaveLoad_Heroes[i] endif return SaveLoad_CId2Id(i) endfunction function SaveLoad_Item2Integer takes item t returns integer local integer i = 0 local integer n = GetItemTypeId(t) if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif loop set i = i + 1 exitwhen i > udg_SaveLoad_Items_LastIndex if udg_SaveLoad_Items[i] == n then return i endif endloop return SaveLoad_Id2CId(n) endfunction function SaveLoad_Integer2Item takes integer i returns integer if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif if i <= udg_SaveLoad_Items_LastIndex then return udg_SaveLoad_Items[i] endif return SaveLoad_CId2Id(i) endfunction function SaveLoad_Ability2Integer takes integer a returns integer local integer i = 0 if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif loop set i = i + 1 exitwhen i > udg_SaveLoad_Abilities_LastIndex if udg_SaveLoad_Abilities[i] == a then return i endif endloop return SaveLoad_Id2CId(a) endfunction function SaveLoad_Integer2Ability takes integer i returns integer if udg_SaveLoad_Initialized == false then set udg_SaveLoad_Initialized = true call SaveLoad_InitialSetup() endif if i <= udg_SaveLoad_Abilities_LastIndex then return udg_SaveLoad_Abilities[i] endif return SaveLoad_CId2Id(i) endfunction function SaveLoad_Color takes string s returns string local integer i = StringLength(s) local string c local string r = "" loop set i = i - 1 set c = SubString(s,i,i + 1) if c == "0" or c == "1" or c == "2" or c == "3" or c == "4" or c == "5" or c == "6" or c == "7" or c == "8" or c == "9" then set r = "|cffff9999" + c + "|r" + r elseif c == "-" then set r = "|cffdddddd-|r" + r elseif c == "a" or c == "b" or c == "c" or c == "d" or c == "e" or c == "f" or c == "g" or c == "h" or c == "i" or c == "j" or c == "k" or c == "l" or c == "m" or c == "n" or c == "o" or c == "p" or c == "q" or c == "r" or c == "s" or c == "t" or c == "u" or c == "v" or c == "w" or c == "x" or c == "y" or c == "z" then set r = "|cff99ff99" + c + "|r" + r elseif c == "A" or c == "B" or c == "C" or c == "D" or c == "E" or c == "F" or c == "G" or c == "H" or c == "I" or c == "J" or c == "K" or c == "L" or c == "M" or c == "N" or c == "O" or c == "P" or c == "Q" or c == "R" or c == "S" or c == "T" or c == "U" or c == "V" or c == "W" or c == "X" or c == "Y" or c == "Z" then set r = "|cff9999ff" + c + "|r" + r else set r = c + r endif exitwhen i <= 0 endloop return r endfunction function SaveLoad_EncodeChar takes string n returns integer local integer i = 0 local string s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" local string s2 = "abcdefghijklmnopqrstuvwxyz" local string s3 = "0123456789" loop if SubString(s1,i,i + 1) == n then return i endif if SubString(s2,i,i + 1) == n then return i endif set i = i + 1 exitwhen i >= 26 endloop set i = 0 loop if SubString(s3,i,i + 1) == n then return i endif set i = i + 1 exitwhen i >= 10 endloop return 0 endfunction function SaveLoad_EncodeVerify takes string buffer returns integer local integer i = 0 local integer j = 0 local string name = GetPlayerName(GetTriggerPlayer()) if udg_SaveLoad_UsePlayername == true then loop set j = j + SaveLoad_EncodeChar(SubString(name,i,i + 1)) set i = i + 1 exitwhen i >= StringLength(name) endloop endif set i = 0 loop set j = j + SaveLoad_EncodeChar(SubString(buffer,i,i + 1)) set i = i + 1 exitwhen i >= StringLength(buffer) endloop return j endfunction function SaveLoad_EncodeValues takes nothing returns string local integer i local integer j local integer k local integer l local integer m local integer CodeLength = StringLength(udg_SaveLoad_Alphabet) local integer array a local string buffer = "" local string c = "" local integer skip = 0 local integer CONST = 1000000 local string abc = "0123456789" set i = 0 loop set i = i + 1 exitwhen i > udg_SaveCount set buffer = buffer + I2S(udg_Save[i]) + "-" endloop set buffer = buffer + I2S(SaveLoad_EncodeVerify(buffer)) if udg_Save[1] == 0 then set buffer = "-" + buffer endif set i = 0 loop set a[i] = 0 set i = i + 1 exitwhen i >= 100 endloop set m = 0 set i = 0 loop set j = 0 loop set a[j] = a[j] * 11 set j = j + 1 exitwhen j > m endloop set l = 0 set c = SubString(buffer,i,i + 1) loop exitwhen SubString(abc,l,l + 1) == c set l = l + 1 exitwhen l > 9 endloop set a[0] = a[0] + l set j = 0 loop set k = a[j] / CONST set a[j] = a[j] - k * CONST set a[j + 1] = a[j + 1] + k set j = j + 1 exitwhen j > m endloop if k > 0 then set m = m + 1 endif set i = i + 1 exitwhen i >= StringLength(buffer) endloop set buffer = "" loop exitwhen m < 0 set j = m loop exitwhen j <= 0 set k = a[j] / CodeLength set a[j - 1] = a[j - 1] + (a[j] - k * CodeLength) * CONST set a[j] = k set j = j - 1 endloop set k = a[j] / CodeLength set i = a[j] - k * CodeLength set buffer = buffer + SubString(udg_SaveLoad_Alphabet,i,i + 1) set a[j] = k if a[m] == 0 then set m = m - 1 endif endloop set i = StringLength(buffer) set skip = 0 set c = "" loop set i = i - 1 set c = c + SubString(buffer,i,i + 1) set skip = skip + 1 if skip == 4 and i > 0 then set c = c + "-" set skip = 0 endif exitwhen i <= 0 endloop return c endfunction function SaveLoad_DecodeValues takes string s returns boolean local integer i local integer j local integer k local integer l local integer SaveCode = 0 local integer m local integer array a local string buffer = "" local integer CodeLength = StringLength(udg_SaveLoad_Alphabet) local integer skip = -1 local integer CONST = 1000000 local string abc = "0123456789-" local string c set i = 0 loop set a[i] = 0 set i = i + 1 exitwhen i >= 100 endloop set m = 0 set i = 0 loop set j = 0 loop set a[j] = a[j] * CodeLength set j = j + 1 exitwhen j > m endloop set skip = skip + 1 if skip == 4 then set skip = 0 set i = i + 1 endif set l = CodeLength set c = SubString(s,i,i + 1) loop set l = l - 1 exitwhen l < 1 exitwhen SubString(udg_SaveLoad_Alphabet,l,l + 1) == c endloop set a[0] = a[0] + l set j = 0 loop set k = a[j] / CONST set a[j] = a[j] - k * CONST set a[j + 1] = a[j + 1] + k set j = j + 1 exitwhen j > m endloop if k > 0 then set m = m + 1 endif set i = i + 1 exitwhen i >= StringLength(s) endloop loop exitwhen m < 0 set j = m loop exitwhen j <= 0 set k = a[j] / 11 set a[j - 1] = a[j - 1] + (a[j] - k * 11) * CONST set a[j] = k set j = j - 1 endloop set k = a[j] / 11 set i = a[j] - k * 11 set buffer = SubString(abc,i,i + 1) + buffer set a[j] = k if a[m] == 0 then set m = m - 1 endif endloop set i = 0 set j = 0 loop loop exitwhen i >= StringLength(buffer) exitwhen i > 0 and SubString(buffer,i,i + 1) == "-" and SubString(buffer,i - 1,i) != "-" set i = i + 1 endloop if i < StringLength(buffer) then set k = i endif set SaveCode = SaveCode + 1 set udg_Save[SaveCode] = S2I(SubString(buffer,j,i)) set j = i + 1 set i = i + 1 exitwhen i >= StringLength(buffer) endloop set j = SaveLoad_EncodeVerify(SubString(buffer,0,k)) set udg_SaveCount = SaveCode - 1 if j == udg_Save[SaveCode] then return true endif return false endfunction function SaveLoad_Encode takes nothing returns string if udg_SaveLoad_CaseSensitive == false then set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true) endif return SaveLoad_Color(SaveLoad_EncodeValues()) endfunction function SaveLoad_Decode takes string s returns boolean if udg_SaveLoad_CaseSensitive == false then set udg_SaveLoad_Alphabet = StringCase(udg_SaveLoad_Alphabet,true) set s = StringCase(s,true) endif if SaveLoad_DecodeValues(s) then return true endif return false endfunction
Name | Type | Is Array | Initial Value |
Arthas | unit | No | |
ArthasCinematic | unit | No | |
ArthasDenials | real | No | |
ArthasReturnPoint | location | No | |
ArthasVariable | unit | No | |
BonusesFound | integer | No | |
BonusesTotal | integer | No | |
BootingPlayer | boolean | No | false |
Buildings1 | group | No | |
Buildings2 | group | No | |
Buildings3 | group | No | |
Buildings4 | group | No | |
Buildings5 | group | No | |
Buildings6 | group | No | |
BuildingsGone | boolean | No | false |
BuildingsToAttackArray | group | Yes | |
CampaignScore | integer | No | |
Captain | unit | No | |
CaptainVariable | unit | No | |
Cinematic | boolean | No | true |
Code | string | No | |
CullingQuest | quest | No | |
DeathsOfDeathSquad | real | No | 0.00 |
DestroyedBuilding | unit | No | |
EndCinematicPlaying | boolean | No | false |
EnoughPlayers | boolean | No | |
Escape | boolean | No | |
ExchangeFail1 | boolean | No | |
ExchangeFail2 | boolean | No | |
ExchangeFail3 | boolean | No | |
ExchangeSelection1 | group | No | |
ExchangeSelection2 | group | No | |
ExchangeSuccess | boolean | No | |
Exchanging1 | boolean | No | |
Exchanging2 | boolean | No | |
Extra | integer | No | |
ExtraTotal | integer | No | |
FinalInventory | string | Yes | |
FinalRank | string | No | |
GameOver | boolean | No | false |
GAMEOVER | boolean | No | |
GameSelection | boolean | No | true |
HideUnits | group | No | |
INSANEMODE | boolean | No | |
IntroCancel | boolean | No | false |
ItemSpawn | rect | Yes | |
JainaCinematic | unit | No | |
JainaVariable | unit | No | |
JainFade | real | No | 100.00 |
Leaderboard1 | leaderboard | No | |
Leaderboard2 | leaderboard | No | |
MalaganisFirstTele1 | fogmodifier | No | |
MalaganisFirstTele2 | fogmodifier | No | |
MalganisAttackTimer | timer | No | |
MalganisCaptainX | real | No | |
MalganisCaptainY | real | No | |
MalganisConversions | real | No | |
MalganisCountdown | timerdialog | No | |
MalganisDeathSquad | group | No | |
MalganisFirstTeleCin | boolean | No | false |
MalganisFirstTeleCinSkip | boolean | No | false |
MalganisGloatCin | boolean | No | false |
MalganisTargetHouse | unit | No | |
MalganisTargetHouseX | real | No | |
MalganisTargetHouseY | real | No | |
MalganisTimer | timer | No | |
MalganisVariable | unit | No | |
MaySendCommands | boolean | No | true |
MedivhCinematic | unit | No | |
MissionNumber | integer | No | |
NewVote1 | boolean | No | |
NewVote2 | boolean | No | |
NextSquad | integer | No | 1 |
PlayerCameraPosition | location | No | |
pointcheck | location | No | |
RANDOMINTEGER | integer | No | |
RankInteger | integer | No | |
RegionBucket | integer | No | 1 |
RegionLength | integer | No | |
RegionPicked | rect | No | |
RegionsArray | rect | Yes | |
Requirement_Region | rect | No | |
RequirementTech | boolean | Yes | |
RequirementUnitP1 | unit | Yes | |
RequirementUnitP2 | unit | Yes | |
RequirementUnitType | unitcode | Yes | |
ResearchEnabledT2 | boolean | Yes | |
ResearchEnabledT3 | boolean | Yes | |
ResearchStringT1 | string | Yes | |
ResearchStringT2 | string | Yes | |
ResearchStringT3 | string | Yes | |
ResearchType | techcode | Yes | |
ResourceDropBuildings | group | No | |
ResourceDropHashtable | hashtable | No | |
RevivalAltar | unit | No | UnitNull |
Save | integer | Yes | |
SaveCount | integer | No | |
SaveLoad_Abilities | abilcode | Yes | |
SaveLoad_Abilities_LastIndex | integer | No | |
SaveLoad_Alphabet | string | No | |
SaveLoad_CaseSensitive | boolean | No | |
SaveLoad_Compress | integer | Yes | |
SaveLoad_Heroes | unitcode | Yes | |
SaveLoad_Heroes_LastIndex | integer | No | |
SaveLoad_Initialized | boolean | No | |
SaveLoad_Items | itemcode | Yes | |
SaveLoad_Items_LastIndex | integer | No | |
SaveLoad_TotalGrades | integer | Yes | |
SaveLoad_TotalTime | integer | No | |
SaveLoad_Uncompress | integer | Yes | |
SaveLoad_UsePlayername | boolean | No | |
ScoreBonuses | integer | No | |
ScoreExtra | integer | No | |
ScoreLimit | integer | Yes | |
ScoreMax | integer | No | |
ScoreSubquests | integer | No | |
ScoreTime | integer | No | |
SelectedUnits1 | group | No | |
SelectedUnits2 | group | No | |
SelectionGroup1 | group | No | |
SelectionGroup2 | group | No | |
SkipVote1 | boolean | No | |
SkipVote2 | boolean | No | |
SpawnedItem | item | Yes | |
SubquestsComplete | integer | No | |
SubquestsTotal | integer | No | |
SumRank | integer | No | |
TargetArray | integer | Yes | |
TargetArrayLength | integer | No | |
TeleportEffect | effect | No | |
TeleportFast | boolean | No | false |
Teleporting | boolean | No | false |
temp_unit | unit | No | |
TempBoolean | boolean | No | |
TempInteger | integer | No | |
TempItem | item | No | |
TempItemType | itemcode | No | |
TempPGroup | force | No | |
TempPGroup2 | force | No | |
TempPlayer | player | No | |
TempPoint | location | No | |
TempUGroup | group | No | |
TempUnit | unit | No | |
TempUnitType | unitcode | No | |
ThePlayer | player | No | |
TimeHours | integer | No | |
TimeMax | real | No | |
TimeMin | real | No | |
TimeMins | integer | No | |
Timer30Minute | timer | No | |
TimeRange | real | No | |
TimerMaySendCommands | timer | No | |
TimeSeconds | integer | No | |
TimeSecondsTotal | integer | No | |
TimeTakenString | string | No | |
TotalVision | real | No | |
UnitGroup | group | No | |
UthersGroup | group | No | |
UtherVariable | unit | No | |
Validate | boolean | No | |
VictoryCinSkip | boolean | No | false |
VillagerToBeConverted | unit | No | |
VillagerToZombieGROUP | group | No | |
WaterfallRevealVis1 | fogmodifier | No | |
WaterfallRevealVis2 | fogmodifier | No | |
WaterfallSwitch | boolean | No | false |
WaygateCin1Playing | boolean | No | false |
WaygateCin2Playing | boolean | No | false |
WaygateCin3Playing | boolean | No | false |
WayGatesGroup | group | No | |
WaygatesQuest | quest | No | |
x | real | No | |
y | real | No |
Runs all triggers that should be run in Map Init in proper order.
Levels Arthas.
Removes mask on towns.
Change Dark Green Player Color to Brown so it doesn't show up as weird on the minimap.
Levels Arthas.
Removes mask on towns.
Change Dark Green Player Color to Brown so it doesn't show up as weird on the minimap.

























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Starts the AI.
Turns on Villagers Run District 1 (to stop possible problem with intro cinematic villagers doing dumb stuff).
Turns on Villagers Run District 1 (to stop possible problem with intro cinematic villagers doing dumb stuff).





























































































































































































































Adding Mal'Ganis and his Leaderboard value color are done in Malganis First Teleport (Cin Skip).
























































































































Run by Arthas Gets Town













Adds Mal'Ganis to Leaderboard AND sets the color of his Leaderboard Value to white.







































































































































































































Adds Mal'Ganis to Leaderboard AND sets the color of his Leaderboard Value to white.




































































































































































































































































































































































































































Turned on in Arthas Gets Town to stop possible stupidity with intro cinematic.
















































































































































































































































































































































































































































































RegionBucket is initialized to 1 by the map.




























RegionPicked is the actual region that Malganis chooses to go to when he has created his Death Squad.







































































































Run by Malganis Death Squad 1,2,3.













Runs when Timer expires (hopefully).






















































































































































































































































































































































































































Also signals to AI to start Junkyard Dog behavior.



































































Also signals to AI to start Junkyard Dog behavior.

































































































When Arthas is ejected from the city, stop Junkyard Dog.























































When Arthas is ejected from the city, stop Junkyard Dog.























































































































































This gets Malganis going to the next building.
//===========================================================================function Trig_Malganis_Continuously_Attacks_Buildings_Actions takes nothing returns nothing
if udg_BootingPlayer or IsUnitDeadBJ(udg_MalganisVariable) then
return
endif
loop
exitwhen udg_MaySendCommands
call TriggerSleepAction( 0.1 )
endloop
set udg_MaySendCommands = false
call StartTimerBJ( udg_TimerMaySendCommands, false, 1.00 )
call CommandAI( Player(6), 3, 0 )
call CommandAI( Player(6), 2, R2I(udg_MalganisTargetHouseY) )
call CommandAI( Player(6), 1, R2I(udg_MalganisTargetHouseX) )
endfunction
//===========================================================================
function InitTrig_Malganis_Continuously_Attacks_Buildings takes nothing returns nothing
set gg_trg_Malganis_Continuously_Attacks_Buildings = CreateTrigger( )
call TriggerAddAction( gg_trg_Malganis_Continuously_Attacks_Buildings, function Trig_Malganis_Continuously_Attacks_Buildings_Actions )
endfunction
This is used in the event that the player has destroyed all the buildings, but left zombies. Then Mal'Ganis should just go after zombies.


























































This trigger is implimented using script code so that we can have a real local variable to preserve the villager in question during a 2 second delay.































Starts the AI, run by Initialization Phase.
AI is started in Arthas Gets Town
AI is started in Arthas Gets Town














































Stop Malganis Continuously Attacks trigger.
Signals AI to suicide on the player with its remaining units.
Signals AI to suicide on the player with its remaining units.
















Runs Victory Save Cache in "Game Cache."



























































































































































































































Victory Save Cache enables the proper campaign levels and saves Arthas.





































Victory Save Cache enables the proper campaign levels and saves Arthas.















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































