// this script was compiled with wurst 1.8.1.0-jenkins-Wurst-1366 globals // integer PLAYER_NEUTRAL_PASSIVE=0 // integer PLAYER_NEUTRAL_AGGRESSIVE=0 // alliancetype ALLIANCE_PASSIVE=null // racepreference RACE_PREF_HUMAN=null // mapcontrol MAP_CONTROL_USER=null // mapcontrol MAP_CONTROL_RESCUABLE=null // gametype GAME_TYPE_MELEE=null // gametype GAME_TYPE_FFA=null // gametype GAME_TYPE_USE_MAP_SETTINGS=null // gametype GAME_TYPE_ONE_ON_ONE=null // gametype GAME_TYPE_TWO_TEAM_PLAY=null // gametype GAME_TYPE_THREE_TEAM_PLAY=null // gametype GAME_TYPE_FOUR_TEAM_PLAY=null // placement MAP_PLACEMENT_USE_MAP_SETTINGS=null // playerslotstate PLAYER_SLOT_STATE_PLAYING=null // fgamestate GAME_STATE_TIME_OF_DAY=null // playerstate PLAYER_STATE_GIVES_BOUNTY=null // unitstate UNIT_STATE_LIFE=null // playerunitevent EVENT_PLAYER_UNIT_RESCUED=null // playerunitevent EVENT_PLAYER_UNIT_SELL_ITEM=null // limitop LESS_THAN=null // limitop EQUAL=null // limitop GREATER_THAN_OR_EQUAL=null // unittype UNIT_TYPE_HERO=null // unittype UNIT_TYPE_STRUCTURE=null // itemtype ITEM_TYPE_PERMANENT=null // itemtype ITEM_TYPE_CHARGED=null // itemtype ITEM_TYPE_ARTIFACT=null // integer CAMERA_MARGIN_LEFT=0 // integer CAMERA_MARGIN_RIGHT=0 // integer CAMERA_MARGIN_TOP=0 // integer CAMERA_MARGIN_BOTTOM=0 // originframetype ORIGIN_FRAME_GAME_UI=null // real bj_GAME_STARTED_THRESHOLD=0. // integer bj_MAX_PLAYERS=0 // integer bj_PLAYER_NEUTRAL_VICTIM=0 // integer bj_MAX_PLAYER_SLOTS=0 // integer bj_MAX_SKELETONS=0 // integer bj_MAX_STOCK_ITEM_SLOTS=0 // integer bj_MAX_STOCK_UNIT_SLOTS=0 // integer bj_MAX_ITEM_LEVEL=0 // real bj_TOD_DAWN=0. // real bj_TOD_DUSK=0. // real bj_STOCK_RESTOCK_INITIAL_DELAY=0. // real bj_STOCK_RESTOCK_INTERVAL=0. // integer bj_STOCK_MAX_ITERATIONS=0 // real bj_RESCUE_PING_TIME=0. // integer bj_MAX_QUEUED_TRIGGERS=0 // real bj_QUEUED_TRIGGER_TIMEOUT=0. // real bj_CORPSE_MAX_DEATH_TIME=0. // force bj_FORCE_ALL_PLAYERS=null // boolean bj_slotControlReady=false // timer bj_gameStartedTimer=null // trigger bj_dncSoundsDay=null // trigger bj_dncSoundsNight=null // sound bj_dayAmbientSound=null // sound bj_nightAmbientSound=null // trigger bj_dncSoundsDawn=null // trigger bj_dncSoundsDusk=null // sound bj_dawnSound=null // sound bj_duskSound=null // boolean bj_useDawnDuskSounds=false // boolean bj_dncIsDaytime=false // sound bj_rescueSound=null // trigger bj_stockItemPurchased=null // timer bj_stockUpdateTimer=null // integer bj_stockPickedItemLevel=0 // itemtype bj_stockPickedItemType=null // trigger bj_rescueUnitBehavior=null // boolean bj_rescueChangeColorUnit=false // boolean bj_rescueChangeColorBldg=false // integer bj_queuedExecTotal=0 // timer bj_queuedExecTimeoutTimer=null // trigger bj_queuedExecTimeout=null // integer bj_groupEnumTypeId=0 // player bj_groupEnumOwningPlayer=null // location bj_enumDestructableCenter=null // real bj_enumDestructableRadius=0. // group bj_suspendDecayFleshGroup=null // group bj_suspendDecayBoneGroup=null // timer bj_delayedSuspendDecayTimer=null // trigger bj_delayedSuspendDecayTrig=null // integer bj_livingPlayerUnitsTypeId=0 string array Colors_hexs integer Colors_decs=0 hashtable ErrorHandling_HT=null framehandle Framehandle_GAME_UI=null real GameTimer_currentTime=0. boolean MagicFunctions_compiletime=false player Player_localPlayer=null hashtable Table_ht=null integer TypeCasting_typecastdata=0 hashtable hashtable_compiletime=null hashtable hashtable_compiletime_104=null integer array Table_nextFree integer Table_firstFree=0 integer Table_maxIndex=0 integer array Table_typeId integer wurst_stack_depth=0 string array wurst_stack code ref_function_init_AbilityIds=null code ref_function_init_Real=null code ref_function_init_Integer=null code ref_function_init_Angle=null code ref_function_init_String=null code ref_function_init_Vectors=null code ref_function_init_Destructable=null code ref_function_init_Player=null code ref_function_init_Basics=null code ref_function_init_MagicFunctions=null code ref_function_init_Table=null code ref_function_init_Playercolor=null code ref_function_init_Maths=null code ref_function_bridge_init_Colors=null code ref_function_init_Printing=null code ref_function_init_GameTimer=null code ref_function_init_ErrorHandling=null code ref_function_init_HashList=null code ref_function_init_Matrices=null code ref_function_init_Quaternion=null code ref_function_bridge_init_Framehandle=null code ref_function_init_Group=null code ref_function_init_Lightning=null code ref_function_init_WeatherEffects=null code ref_function_bridge_init_TypeCasting=null code ref_function_bridge_init_EventHelper=null code ref_function_code__startPeriodic_GameTimer=null endglobals function CreateUnitsForPlayer0 takes nothing returns nothing local player p = Player(0) local unit u = CreateUnit(p, 1215130471, 70.3, - 173.2, 221.381) call SetHeroLevel(u, 10, false) set u = CreateUnit(p, 1215130471, - 136.8, - 237.4, 9.152) call SetHeroLevel(u, 10, false) endfunction function CreateUnitsForPlayer1 takes nothing returns nothing local player p = Player(1) call CreateUnit(p, 1214409837, - 1194.9, - 1227.8, 337.690) call CreateUnit(p, 1752196449, - 294.4, 140.4, 311.373) call CreateUnit(p, 1752196449, - 395.9, 32.9, 331.523) call CreateUnit(p, 1752196449, - 450.7, - 2.3, 102.044) call CreateUnit(p, 1751543663, 343.3, 227.5, 6.570) call CreateUnit(p, 1752196449, - 488.7, 29.8, 270.733) call CreateUnit(p, 1752196449, - 448.4, 132.1, 102.561) call CreateUnit(p, 1752196449, - 326.9, 259.4, 149.869) call CreateUnit(p, 1752196449, - 262.2, 227.5, 313.296) call CreateUnit(p, 1752196449, - 217.1, 125.5, 30.884) call CreateUnit(p, 1752196449, - 168.6, 96.2, 125.182) call CreateUnit(p, 1752196449, - 109.9, 172.3, 91.486) call CreateUnit(p, 1752196449, - 102.7, 270.2, 357.319) call CreateUnit(p, 1751543663, 384.4, 168.9, 213.163) call CreateUnit(p, 1751543663, 424.5, 105.9, 56.570) call CreateUnit(p, 1751543663, 466.2, 11.4, 97.144) call CreateUnit(p, 1752328550, 465.7, - 788.2, 71.930) call CreateUnit(p, 1752328550, 423.8, - 847.9, 350.387) call CreateUnit(p, 1752328550, 346.0, - 911.1, 327.820) call CreateUnit(p, 1752328550, 235.6, - 956.3, 337.730) call CreateUnit(p, 1752328550, 154.7, - 980.7, 359.945) call CreateUnit(p, 1752328550, 85.9, - 995.5, 308.451) endfunction function Loglevel_getTag takes integer this returns string if this == 0 then return "|cffADADADtrace|r" elseif this == 1 then return "|cff2685DCdebug|r" elseif this == 2 then return "|cffFFCC00info|r" elseif this == 3 then return "|cffF47E3Ewarning|r" else return "|cffFB2700error|r" endif endfunction function compileError takes string msg returns nothing endfunction function error takes string msg, string w__wurst_stackPos returns nothing local integer hash local integer stacktraceIndex local integer stacktraceLimit local player showTo set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if MagicFunctions_compiletime then call compileError("ERROR: " + msg) else set hash = StringHash(msg) if HaveSavedInteger(ErrorHandling_HT, -1, hash) then if LoadInteger(ErrorHandling_HT, -1, hash) + 60 < GameTimer_currentTime then set w__wurst_stackPos = msg set msg = "" set stacktraceIndex = wurst_stack_depth set stacktraceLimit = 0 loop set stacktraceIndex = stacktraceIndex - 1 set stacktraceLimit = stacktraceLimit + 1 exitwhen stacktraceLimit > 20 or stacktraceIndex < 0 set msg = msg + "\n " + wurst_stack[stacktraceIndex] endloop set msg = w__wurst_stackPos + msg set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + msg) endif call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime)) call SaveBoolean(ErrorHandling_HT, -1, hash, false) elseif HaveSavedBoolean(ErrorHandling_HT, -1, hash) then if not LoadBoolean(ErrorHandling_HT, -1, hash) then set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted") endif call SaveBoolean(ErrorHandling_HT, -1, hash, true) endif else set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + "|cffFF3A29Excessive repeating errors are being omitted") endif call SaveBoolean(ErrorHandling_HT, -1, hash, true) endif else call SaveInteger(ErrorHandling_HT, -1, hash, R2I(GameTimer_currentTime)) set msg = "Message: " + msg set w__wurst_stackPos = "" set stacktraceIndex = wurst_stack_depth set hash = 0 loop set stacktraceIndex = stacktraceIndex - 1 set hash = hash + 1 exitwhen hash > 20 or stacktraceIndex < 0 set w__wurst_stackPos = w__wurst_stackPos + "\n " + wurst_stack[stacktraceIndex] endloop set msg = msg + w__wurst_stackPos set showTo = Player_localPlayer if 2 <= 4 then call DisplayTimedTextToPlayer(showTo, 0., 0., 45., Loglevel_getTag(4) + " - " + msg) endif endif call I2S(1 / 0) endif set wurst_stack_depth = wurst_stack_depth - 1 endfunction function initCompiletimeState_0 takes nothing returns nothing call InitHashtable() call InitHashtable() set hashtable_compiletime_104 = InitHashtable() set hashtable_compiletime = InitHashtable() call SaveInteger(hashtable_compiletime_104, 1, -242600650, 0) call SaveInteger(hashtable_compiletime_104, 1, 1132341824, 1) call SaveInteger(hashtable_compiletime_104, 1, -647782241, 2) call SaveInteger(hashtable_compiletime_104, 1, -854572045, 3) call SaveInteger(hashtable_compiletime_104, 1, -680649701, 4) call SaveInteger(hashtable_compiletime_104, 1, -943650483, 5) call SaveInteger(hashtable_compiletime_104, 1, -671760605, 6) call SaveInteger(hashtable_compiletime_104, 1, 349230650, 7) call SaveInteger(hashtable_compiletime_104, 1, -1894922563, 8) call SaveInteger(hashtable_compiletime_104, 1, -1474492777, 9) call SaveInteger(hashtable_compiletime_104, 1, -1587459251, 10) call SaveInteger(hashtable_compiletime_104, 1, -1676716706, 11) call SaveInteger(hashtable_compiletime_104, 1, -1559655710, 12) call SaveInteger(hashtable_compiletime_104, 1, -1663695754, 13) call SaveInteger(hashtable_compiletime_104, 1, 597637742, 14) call SaveInteger(hashtable_compiletime_104, 1, 789744696, 15) call SaveStr(hashtable_compiletime_104, 2, 0, "") endfunction function initializeTable takes string w__wurst_stackPos returns nothing local integer i local integer this local integer parentKey set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set i = 0 loop exitwhen i > 15 set this = Colors_decs set parentKey = StringHash(Colors_hexs[i]) set wurst_stack[wurst_stack_depth] = "when calling saveInt in Colors, line 299" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this] == 0 then if this == 0 then call error("Nullpointer exception when calling Table.saveInt", "when calling error in Table, line 43") else call error("Called Table.saveInt on invalid object.", "when calling error in Table, line 43") endif endif call SaveInteger(Table_ht, this, parentKey, i) set wurst_stack_depth = wurst_stack_depth - 1 set i = i + 1 endloop set wurst_stack_depth = wurst_stack_depth - 1 endfunction function new_Table takes string w__wurst_stackPos returns integer local integer this set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_Table in Table, line 6" set wurst_stack_depth = wurst_stack_depth + 1 if Table_firstFree == 0 then if Table_maxIndex < 32768 then set Table_maxIndex = Table_maxIndex + 1 set this = Table_maxIndex set Table_typeId[this] = 13 else call error("Out of memory: Could not create Table.", "when calling error in Table, line 7") set this = 0 endif else set Table_firstFree = Table_firstFree - 1 set this = Table_nextFree[Table_firstFree] set Table_typeId[this] = 13 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this endfunction function init_Colors takes string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Colors_hexs[0] = "0" set Colors_hexs[1] = "1" set Colors_hexs[2] = "2" set Colors_hexs[3] = "3" set Colors_hexs[4] = "4" set Colors_hexs[5] = "5" set Colors_hexs[6] = "6" set Colors_hexs[7] = "7" set Colors_hexs[8] = "8" set Colors_hexs[9] = "9" set Colors_hexs[10] = "A" set Colors_hexs[11] = "B" set Colors_hexs[12] = "C" set Colors_hexs[13] = "D" set Colors_hexs[14] = "E" set Colors_hexs[15] = "F" set Colors_decs = new_Table("when calling new_Table in Colors, line 15") call initializeTable("when calling initializeTable in Colors, line 302") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_Colors takes nothing returns boolean set wurst_stack_depth = 0 return init_Colors("via function reference Colors, line 1") endfunction function new_HashMap takes string w__wurst_stackPos returns integer local integer this set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set wurst_stack[wurst_stack_depth] = "when calling alloc_HashMap in HashMap, line 7" set wurst_stack_depth = wurst_stack_depth + 1 if Table_firstFree == 0 then if Table_maxIndex < 32768 then set Table_maxIndex = Table_maxIndex + 1 set this = Table_maxIndex set Table_typeId[this] = 14 else call error("Out of memory: Could not create HashMap.", "when calling error in HashMap, line 8") set this = 0 endif else set Table_firstFree = Table_firstFree - 1 set this = Table_nextFree[Table_firstFree] set Table_typeId[this] = 14 endif set wurst_stack_depth = wurst_stack_depth - 1 - 1 return this endfunction function bridge_init_EventHelper takes nothing returns boolean set wurst_stack_depth = 0 set wurst_stack[wurst_stack_depth] = "via function reference EventHelper, line 1" set wurst_stack_depth = wurst_stack_depth + 1 call new_HashMap("when calling new_HashMap in EventHelper, line 7") call new_HashMap("when calling new_HashMap in EventHelper, line 8") call new_Table("when calling new_Table in EventHelper, line 9") set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function verifyFrameNameLength takes string name, string w__wurst_stackPos returns boolean set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 if StringLength(name) > 560 then call error("Trying to address frame with exceeding maximum frame name length (" + I2S(560) + ") for: " + name, "when calling error in Framehandle, line 78") set wurst_stack_depth = wurst_stack_depth - 1 return false endif set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function init_Framehandle takes string w__wurst_stackPos returns boolean local framehandle owner set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set Framehandle_GAME_UI = BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI, 0) set owner = Framehandle_GAME_UI set wurst_stack[wurst_stack_depth] = "when calling createFrame in Framehandle, line 491" set wurst_stack_depth = wurst_stack_depth + 1 call verifyFrameNameLength("SetMousePositionCage", "when calling verifyFrameNameLength in Framehandle, line 144") set owner = BlzCreateFrameByType("FRAME", "SetMousePositionCage", owner, null, 0) set wurst_stack_depth = wurst_stack_depth - 1 call BlzFrameSetSize(owner, 0.0001, 0.0001) set wurst_stack_depth = wurst_stack_depth - 1 return true endfunction function bridge_init_Framehandle takes nothing returns boolean set wurst_stack_depth = 0 return init_Framehandle("via function reference Framehandle, line 1") endfunction function init_TypeCasting takes string w__wurst_stackPos returns boolean local integer this set wurst_stack[wurst_stack_depth] = w__wurst_stackPos set wurst_stack_depth = wurst_stack_depth + 1 set TypeCasting_typecastdata = new_Table("when calling new_Table in TypeCasting, line 7") set wurst_stack[wurst_stack_depth] = "when calling initTypecastData in TypeCasting, line 15" set wurst_stack_depth = wurst_stack_depth + 1 set this = TypeCasting_typecastdata set wurst_stack[wurst_stack_depth] = "when calling saveString in TypeCasting, line 12" set wurst_stack_depth = wurst_stack_depth + 1 if Table_typeId[this] == 0 then if this == 0 then call error("Nullpointer exception when calling Table.saveString", "when calling error in Table, line 61") else call error("Called Table.saveString on invalid object.", "when calling error in Table, line 61") endif endif call SaveStr(Table_ht, this, 0, "") set wurst_stack_depth = wurst_stack_depth - 1 - 1 - 1 return true endfunction function bridge_init_TypeCasting takes nothing returns boolean set wurst_stack_depth = 0 return init_TypeCasting("via function reference TypeCasting, line 1") endfunction function code__startPeriodic_GameTimer takes nothing returns nothing set GameTimer_currentTime = GameTimer_currentTime + 0.030 endfunction function init_AbilityIds takes nothing returns boolean return true endfunction function init_Angle takes nothing returns boolean return true endfunction function init_Basics takes nothing returns boolean return true endfunction function init_Destructable takes nothing returns boolean return true endfunction function init_ErrorHandling takes nothing returns boolean set ErrorHandling_HT = hashtable_compiletime return true endfunction function init_GameTimer takes nothing returns boolean call TimerStart(CreateTimer(), 100000., false, null) call TimerStart(CreateTimer(), 0.030, true, ref_function_code__startPeriodic_GameTimer) return true endfunction function init_Group takes nothing returns boolean call CreateGroup() return true endfunction function init_HashList takes nothing returns boolean return true endfunction function init_Integer takes nothing returns boolean return true endfunction function init_Lightning takes nothing returns boolean return true endfunction function init_MagicFunctions takes nothing returns boolean set MagicFunctions_compiletime = false return true endfunction function init_Maths takes nothing returns boolean return true endfunction function init_Matrices takes nothing returns boolean return true endfunction function init_Player takes nothing returns boolean local integer i local integer temp set Player_localPlayer = GetLocalPlayer() set i = 0 set temp = bj_MAX_PLAYER_SLOTS - 1 loop exitwhen i > temp set i = i + 1 endloop return true endfunction function init_Playercolor takes nothing returns boolean return true endfunction function init_Printing takes nothing returns boolean return true endfunction function init_Quaternion takes nothing returns boolean return true endfunction function init_Real takes nothing returns boolean return true endfunction function init_String takes nothing returns boolean return true endfunction function init_Table takes nothing returns boolean set Table_ht = hashtable_compiletime_104 return true endfunction function init_Vectors takes nothing returns boolean call Location(0., 0.) return true endfunction function init_WeatherEffects takes nothing returns boolean return true endfunction function initGlobals takes nothing returns nothing set ref_function_init_AbilityIds = function init_AbilityIds set ref_function_init_Real = function init_Real set ref_function_init_Integer = function init_Integer set ref_function_init_Angle = function init_Angle set ref_function_init_String = function init_String set ref_function_init_Vectors = function init_Vectors set ref_function_init_Destructable = function init_Destructable set ref_function_init_Player = function init_Player set ref_function_init_Basics = function init_Basics set ref_function_init_MagicFunctions = function init_MagicFunctions set ref_function_init_Table = function init_Table set ref_function_init_Playercolor = function init_Playercolor set ref_function_init_Maths = function init_Maths set ref_function_bridge_init_Colors = function bridge_init_Colors set ref_function_init_Printing = function init_Printing set ref_function_init_GameTimer = function init_GameTimer set ref_function_init_ErrorHandling = function init_ErrorHandling set ref_function_init_HashList = function init_HashList set ref_function_init_Matrices = function init_Matrices set ref_function_init_Quaternion = function init_Quaternion set ref_function_bridge_init_Framehandle = function bridge_init_Framehandle set ref_function_init_Group = function init_Group set ref_function_init_Lightning = function init_Lightning set ref_function_init_WeatherEffects = function init_WeatherEffects set ref_function_bridge_init_TypeCasting = function bridge_init_TypeCasting set ref_function_bridge_init_EventHelper = function bridge_init_EventHelper set ref_function_code__startPeriodic_GameTimer = function code__startPeriodic_GameTimer endfunction function main takes nothing returns nothing local trigger initTrig call initGlobals() call ExecuteFunc("initCompiletimeState_0") call SetCameraBounds(( - 3328.0) + GetCameraMargin(CAMERA_MARGIN_LEFT), ( - 3584.0) + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), ( - 3328.0) + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), ( - 3584.0) + GetCameraMargin(CAMERA_MARGIN_BOTTOM)) call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl") call NewSoundEnvironment("Default") call SetAmbientDaySound("LordaeronSummerDay") call SetAmbientNightSound("LordaeronSummerNight") call SetMapMusic("Music", true, 0) call CreateUnitsForPlayer0() call CreateUnitsForPlayer1() call InitBlizzard() set initTrig = CreateTrigger() call TriggerAddCondition(initTrig, Condition(ref_function_init_AbilityIds)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package AbilityIds.", "when calling error in AbilityIds, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Real)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Real.", "when calling error in Real, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Integer)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Integer.", "when calling error in Integer, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Angle)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Angle.", "when calling error in Angle, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_String)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package String.", "when calling error in String, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Vectors)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Vectors.", "when calling error in Vectors, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Destructable)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Destructable.", "when calling error in Destructable, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Player)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Player.", "when calling error in Player, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Basics)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Basics.", "when calling error in Basics, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_MagicFunctions)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package MagicFunctions.", "when calling error in MagicFunctions, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Table)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Table.", "when calling error in Table, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Playercolor)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Playercolor.", "when calling error in Playercolor, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Maths)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Maths.", "when calling error in Maths, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Colors)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Colors.", "when calling error in Colors, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Printing)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Printing.", "when calling error in Printing, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_GameTimer)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package GameTimer.", "when calling error in GameTimer, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_ErrorHandling)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package ErrorHandling.", "when calling error in ErrorHandling, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_HashList)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package HashList.", "when calling error in HashList, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Matrices)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Matrices.", "when calling error in Matrices, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Quaternion)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Quaternion.", "when calling error in Quaternion, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_Framehandle)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Framehandle.", "when calling error in Framehandle, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Group)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Group.", "when calling error in Group, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_Lightning)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package Lightning.", "when calling error in Lightning, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_init_WeatherEffects)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package WeatherEffects.", "when calling error in WeatherEffects, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_TypeCasting)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package TypeCasting.", "when calling error in TypeCasting, line 1") endif call TriggerClearConditions(initTrig) call TriggerAddCondition(initTrig, Condition(ref_function_bridge_init_EventHelper)) if not TriggerEvaluate(initTrig) then call error("Could not initialize package EventHelper.", "when calling error in EventHelper, line 1") endif call TriggerClearConditions(initTrig) call DestroyTrigger(initTrig) endfunction function InitCustomPlayerSlots takes nothing returns nothing call SetPlayerStartLocation(Player(0), 0) call SetPlayerColor(Player(0), ConvertPlayerColor(0)) call SetPlayerRacePreference(Player(0), RACE_PREF_HUMAN) call SetPlayerRaceSelectable(Player(0), true) call SetPlayerController(Player(0), MAP_CONTROL_USER) endfunction function config takes nothing returns nothing local integer playerIndex local integer index call SetMapName("Just another Warcraft III map") call SetMapDescription("Nondescript") call SetPlayers(1) call SetTeams(1) call SetGamePlacement(MAP_PLACEMENT_USE_MAP_SETTINGS) call DefineStartLocation(0, 0.0, - 256.0) call InitCustomPlayerSlots() set playerIndex = GetPlayerId(Player(0)) if not bj_slotControlReady then set index = 0 loop set bj_slotControlUsed[index] = false set index = index + 1 exitwhen index == bj_MAX_PLAYERS endloop set bj_slotControlReady = true endif set bj_slotControlUsed[playerIndex] = true call InitGenericPlayerSlots() endfunction