/** @noSelfInFile **/ declare const bj_PI: number; declare const bj_E: number; declare const bj_CELLWIDTH: number; declare const bj_CLIFFHEIGHT: number; declare const bj_UNIT_FACING: number; declare const bj_RADTODEG: number; declare const bj_DEGTORAD: number; declare const bj_TEXT_DELAY_QUEST: number; declare const bj_TEXT_DELAY_QUESTUPDATE: number; declare const bj_TEXT_DELAY_QUESTDONE: number; declare const bj_TEXT_DELAY_QUESTFAILED: number; declare const bj_TEXT_DELAY_QUESTREQUIREMENT: number; declare const bj_TEXT_DELAY_MISSIONFAILED: number; declare const bj_TEXT_DELAY_ALWAYSHINT: number; declare const bj_TEXT_DELAY_HINT: number; declare const bj_TEXT_DELAY_SECRET: number; declare const bj_TEXT_DELAY_UNITACQUIRED: number; declare const bj_TEXT_DELAY_UNITAVAILABLE: number; declare const bj_TEXT_DELAY_ITEMACQUIRED: number; declare const bj_TEXT_DELAY_WARNING: number; declare const bj_QUEUE_DELAY_QUEST: number; declare const bj_QUEUE_DELAY_HINT: number; declare const bj_QUEUE_DELAY_SECRET: number; declare const bj_HANDICAP_EASY: number; declare const bj_HANDICAP_NORMAL: number; declare const bj_HANDICAPDAMAGE_EASY: number; declare const bj_HANDICAPDAMAGE_NORMAL: number; declare const bj_HANDICAPREVIVE_NOTHARD: number; declare const bj_GAME_STARTED_THRESHOLD: number; declare const bj_WAIT_FOR_COND_MIN_INTERVAL: number; declare const bj_POLLED_WAIT_INTERVAL: number; declare const bj_POLLED_WAIT_SKIP_THRESHOLD: number; declare const bj_MAX_INVENTORY: number; declare const bj_MAX_PLAYERS: number; declare const bj_PLAYER_NEUTRAL_VICTIM: number; declare const bj_PLAYER_NEUTRAL_EXTRA: number; declare const bj_MAX_PLAYER_SLOTS: number; declare const bj_MAX_SKELETONS: number; declare const bj_MAX_STOCK_ITEM_SLOTS: number; declare const bj_MAX_STOCK_UNIT_SLOTS: number; declare const bj_MAX_ITEM_LEVEL: number; declare const bj_MAX_CHECKPOINTS: number; declare const bj_TOD_DAWN: number; declare const bj_TOD_DUSK: number; declare const bj_MELEE_STARTING_TOD: number; declare const bj_MELEE_STARTING_GOLD_V0: number; declare const bj_MELEE_STARTING_GOLD_V1: number; declare const bj_MELEE_STARTING_LUMBER_V0: number; declare const bj_MELEE_STARTING_LUMBER_V1: number; declare const bj_MELEE_STARTING_HERO_TOKENS: number; declare const bj_MELEE_HERO_LIMIT: number; declare const bj_MELEE_HERO_TYPE_LIMIT: number; declare const bj_MELEE_MINE_SEARCH_RADIUS: number; declare const bj_MELEE_CLEAR_UNITS_RADIUS: number; declare const bj_MELEE_CRIPPLE_TIMEOUT: number; declare const bj_MELEE_CRIPPLE_MSG_DURATION: number; declare const bj_MELEE_MAX_TWINKED_HEROES_V0: number; declare const bj_MELEE_MAX_TWINKED_HEROES_V1: number; declare const bj_CREEP_ITEM_DELAY: number; declare const bj_STOCK_RESTOCK_INITIAL_DELAY: number; declare const bj_STOCK_RESTOCK_INTERVAL: number; declare const bj_STOCK_MAX_ITERATIONS: number; declare const bj_MAX_DEST_IN_REGION_EVENTS: number; declare const bj_CAMERA_MIN_FARZ: number; declare const bj_CAMERA_DEFAULT_DISTANCE: number; declare const bj_CAMERA_DEFAULT_FARZ: number; declare const bj_CAMERA_DEFAULT_AOA: number; declare const bj_CAMERA_DEFAULT_FOV: number; declare const bj_CAMERA_DEFAULT_ROLL: number; declare const bj_CAMERA_DEFAULT_ROTATION: number; declare const bj_RESCUE_PING_TIME: number; declare const bj_NOTHING_SOUND_DURATION: number; declare const bj_TRANSMISSION_PING_TIME: number; declare const bj_TRANSMISSION_IND_RED: number; declare const bj_TRANSMISSION_IND_BLUE: number; declare const bj_TRANSMISSION_IND_GREEN: number; declare const bj_TRANSMISSION_IND_ALPHA: number; declare const bj_TRANSMISSION_PORT_HANGTIME: number; declare const bj_CINEMODE_INTERFACEFADE: number; declare const bj_CINEMODE_GAMESPEED: gamespeed; declare const bj_CINEMODE_VOLUME_UNITMOVEMENT: number; declare const bj_CINEMODE_VOLUME_UNITSOUNDS: number; declare const bj_CINEMODE_VOLUME_COMBAT: number; declare const bj_CINEMODE_VOLUME_SPELLS: number; declare const bj_CINEMODE_VOLUME_UI: number; declare const bj_CINEMODE_VOLUME_MUSIC: number; declare const bj_CINEMODE_VOLUME_AMBIENTSOUNDS: number; declare const bj_CINEMODE_VOLUME_FIRE: number; declare const bj_SPEECH_VOLUME_UNITMOVEMENT: number; declare const bj_SPEECH_VOLUME_UNITSOUNDS: number; declare const bj_SPEECH_VOLUME_COMBAT: number; declare const bj_SPEECH_VOLUME_SPELLS: number; declare const bj_SPEECH_VOLUME_UI: number; declare const bj_SPEECH_VOLUME_MUSIC: number; declare const bj_SPEECH_VOLUME_AMBIENTSOUNDS: number; declare const bj_SPEECH_VOLUME_FIRE: number; declare const bj_SMARTPAN_TRESHOLD_PAN: number; declare const bj_SMARTPAN_TRESHOLD_SNAP: number; declare const bj_MAX_QUEUED_TRIGGERS: number; declare const bj_QUEUED_TRIGGER_TIMEOUT: number; declare const bj_CAMPAIGN_INDEX_T: number; declare const bj_CAMPAIGN_INDEX_H: number; declare const bj_CAMPAIGN_INDEX_U: number; declare const bj_CAMPAIGN_INDEX_O: number; declare const bj_CAMPAIGN_INDEX_N: number; declare const bj_CAMPAIGN_INDEX_XN: number; declare const bj_CAMPAIGN_INDEX_XH: number; declare const bj_CAMPAIGN_INDEX_XU: number; declare const bj_CAMPAIGN_INDEX_XO: number; declare const bj_CAMPAIGN_OFFSET_T: number; declare const bj_CAMPAIGN_OFFSET_H: number; declare const bj_CAMPAIGN_OFFSET_U: number; declare const bj_CAMPAIGN_OFFSET_O: number; declare const bj_CAMPAIGN_OFFSET_N: number; declare const bj_CAMPAIGN_OFFSET_XN: number; declare const bj_CAMPAIGN_OFFSET_XH: number; declare const bj_CAMPAIGN_OFFSET_XU: number; declare const bj_CAMPAIGN_OFFSET_XO: number; declare const bj_MISSION_INDEX_T00: number; declare const bj_MISSION_INDEX_T01: number; declare const bj_MISSION_INDEX_T02: number; declare const bj_MISSION_INDEX_T03: number; declare const bj_MISSION_INDEX_T04: number; declare const bj_MISSION_INDEX_H00: number; declare const bj_MISSION_INDEX_H01: number; declare const bj_MISSION_INDEX_H02: number; declare const bj_MISSION_INDEX_H03: number; declare const bj_MISSION_INDEX_H04: number; declare const bj_MISSION_INDEX_H05: number; declare const bj_MISSION_INDEX_H06: number; declare const bj_MISSION_INDEX_H07: number; declare const bj_MISSION_INDEX_H08: number; declare const bj_MISSION_INDEX_H09: number; declare const bj_MISSION_INDEX_H10: number; declare const bj_MISSION_INDEX_H11: number; declare const bj_MISSION_INDEX_U00: number; declare const bj_MISSION_INDEX_U01: number; declare const bj_MISSION_INDEX_U02: number; declare const bj_MISSION_INDEX_U03: number; declare const bj_MISSION_INDEX_U05: number; declare const bj_MISSION_INDEX_U07: number; declare const bj_MISSION_INDEX_U08: number; declare const bj_MISSION_INDEX_U09: number; declare const bj_MISSION_INDEX_U10: number; declare const bj_MISSION_INDEX_U11: number; declare const bj_MISSION_INDEX_O00: number; declare const bj_MISSION_INDEX_O01: number; declare const bj_MISSION_INDEX_O02: number; declare const bj_MISSION_INDEX_O03: number; declare const bj_MISSION_INDEX_O04: number; declare const bj_MISSION_INDEX_O05: number; declare const bj_MISSION_INDEX_O06: number; declare const bj_MISSION_INDEX_O07: number; declare const bj_MISSION_INDEX_O08: number; declare const bj_MISSION_INDEX_O09: number; declare const bj_MISSION_INDEX_O10: number; declare const bj_MISSION_INDEX_N00: number; declare const bj_MISSION_INDEX_N01: number; declare const bj_MISSION_INDEX_N02: number; declare const bj_MISSION_INDEX_N03: number; declare const bj_MISSION_INDEX_N04: number; declare const bj_MISSION_INDEX_N05: number; declare const bj_MISSION_INDEX_N06: number; declare const bj_MISSION_INDEX_N07: number; declare const bj_MISSION_INDEX_N08: number; declare const bj_MISSION_INDEX_N09: number; declare const bj_MISSION_INDEX_XN00: number; declare const bj_MISSION_INDEX_XN01: number; declare const bj_MISSION_INDEX_XN02: number; declare const bj_MISSION_INDEX_XN03: number; declare const bj_MISSION_INDEX_XN04: number; declare const bj_MISSION_INDEX_XN05: number; declare const bj_MISSION_INDEX_XN06: number; declare const bj_MISSION_INDEX_XN07: number; declare const bj_MISSION_INDEX_XN08: number; declare const bj_MISSION_INDEX_XN09: number; declare const bj_MISSION_INDEX_XN10: number; declare const bj_MISSION_INDEX_XH00: number; declare const bj_MISSION_INDEX_XH01: number; declare const bj_MISSION_INDEX_XH02: number; declare const bj_MISSION_INDEX_XH03: number; declare const bj_MISSION_INDEX_XH04: number; declare const bj_MISSION_INDEX_XH05: number; declare const bj_MISSION_INDEX_XH06: number; declare const bj_MISSION_INDEX_XH07: number; declare const bj_MISSION_INDEX_XH08: number; declare const bj_MISSION_INDEX_XH09: number; declare const bj_MISSION_INDEX_XU00: number; declare const bj_MISSION_INDEX_XU01: number; declare const bj_MISSION_INDEX_XU02: number; declare const bj_MISSION_INDEX_XU03: number; declare const bj_MISSION_INDEX_XU04: number; declare const bj_MISSION_INDEX_XU05: number; declare const bj_MISSION_INDEX_XU06: number; declare const bj_MISSION_INDEX_XU07: number; declare const bj_MISSION_INDEX_XU08: number; declare const bj_MISSION_INDEX_XU09: number; declare const bj_MISSION_INDEX_XU10: number; declare const bj_MISSION_INDEX_XU11: number; declare const bj_MISSION_INDEX_XU12: number; declare const bj_MISSION_INDEX_XU13: number; declare const bj_MISSION_INDEX_XO00: number; declare const bj_MISSION_INDEX_XO01: number; declare const bj_MISSION_INDEX_XO02: number; declare const bj_MISSION_INDEX_XO03: number; declare const bj_CINEMATICINDEX_TOP: number; declare const bj_CINEMATICINDEX_HOP: number; declare const bj_CINEMATICINDEX_HED: number; declare const bj_CINEMATICINDEX_OOP: number; declare const bj_CINEMATICINDEX_OED: number; declare const bj_CINEMATICINDEX_UOP: number; declare const bj_CINEMATICINDEX_UED: number; declare const bj_CINEMATICINDEX_NOP: number; declare const bj_CINEMATICINDEX_NED: number; declare const bj_CINEMATICINDEX_XOP: number; declare const bj_CINEMATICINDEX_XED: number; declare const bj_ALLIANCE_UNALLIED: number; declare const bj_ALLIANCE_UNALLIED_VISION: number; declare const bj_ALLIANCE_ALLIED: number; declare const bj_ALLIANCE_ALLIED_VISION: number; declare const bj_ALLIANCE_ALLIED_UNITS: number; declare const bj_ALLIANCE_ALLIED_ADVUNITS: number; declare const bj_ALLIANCE_NEUTRAL: number; declare const bj_ALLIANCE_NEUTRAL_VISION: number; declare const bj_KEYEVENTTYPE_DEPRESS: number; declare const bj_KEYEVENTTYPE_RELEASE: number; declare const bj_KEYEVENTKEY_LEFT: number; declare const bj_KEYEVENTKEY_RIGHT: number; declare const bj_KEYEVENTKEY_DOWN: number; declare const bj_KEYEVENTKEY_UP: number; declare const bj_MOUSEEVENTTYPE_DOWN: number; declare const bj_MOUSEEVENTTYPE_UP: number; declare const bj_MOUSEEVENTTYPE_MOVE: number; declare const bj_TIMETYPE_ADD: number; declare const bj_TIMETYPE_SET: number; declare const bj_TIMETYPE_SUB: number; declare const bj_CAMERABOUNDS_ADJUST_ADD: number; declare const bj_CAMERABOUNDS_ADJUST_SUB: number; declare const bj_QUESTTYPE_REQ_DISCOVERED: number; declare const bj_QUESTTYPE_REQ_UNDISCOVERED: number; declare const bj_QUESTTYPE_OPT_DISCOVERED: number; declare const bj_QUESTTYPE_OPT_UNDISCOVERED: number; declare const bj_QUESTMESSAGE_DISCOVERED: number; declare const bj_QUESTMESSAGE_UPDATED: number; declare const bj_QUESTMESSAGE_COMPLETED: number; declare const bj_QUESTMESSAGE_FAILED: number; declare const bj_QUESTMESSAGE_REQUIREMENT: number; declare const bj_QUESTMESSAGE_MISSIONFAILED: number; declare const bj_QUESTMESSAGE_ALWAYSHINT: number; declare const bj_QUESTMESSAGE_HINT: number; declare const bj_QUESTMESSAGE_SECRET: number; declare const bj_QUESTMESSAGE_UNITACQUIRED: number; declare const bj_QUESTMESSAGE_UNITAVAILABLE: number; declare const bj_QUESTMESSAGE_ITEMACQUIRED: number; declare const bj_QUESTMESSAGE_WARNING: number; declare const bj_SORTTYPE_SORTBYVALUE: number; declare const bj_SORTTYPE_SORTBYPLAYER: number; declare const bj_SORTTYPE_SORTBYLABEL: number; declare const bj_CINEFADETYPE_FADEIN: number; declare const bj_CINEFADETYPE_FADEOUT: number; declare const bj_CINEFADETYPE_FADEOUTIN: number; declare const bj_REMOVEBUFFS_POSITIVE: number; declare const bj_REMOVEBUFFS_NEGATIVE: number; declare const bj_REMOVEBUFFS_ALL: number; declare const bj_REMOVEBUFFS_NONTLIFE: number; declare const bj_BUFF_POLARITY_POSITIVE: number; declare const bj_BUFF_POLARITY_NEGATIVE: number; declare const bj_BUFF_POLARITY_EITHER: number; declare const bj_BUFF_RESIST_MAGIC: number; declare const bj_BUFF_RESIST_PHYSICAL: number; declare const bj_BUFF_RESIST_EITHER: number; declare const bj_BUFF_RESIST_BOTH: number; declare const bj_HEROSTAT_STR: number; declare const bj_HEROSTAT_AGI: number; declare const bj_HEROSTAT_INT: number; declare const bj_MODIFYMETHOD_ADD: number; declare const bj_MODIFYMETHOD_SUB: number; declare const bj_MODIFYMETHOD_SET: number; declare const bj_UNIT_STATE_METHOD_ABSOLUTE: number; declare const bj_UNIT_STATE_METHOD_RELATIVE: number; declare const bj_UNIT_STATE_METHOD_DEFAULTS: number; declare const bj_UNIT_STATE_METHOD_MAXIMUM: number; declare const bj_GATEOPERATION_CLOSE: number; declare const bj_GATEOPERATION_OPEN: number; declare const bj_GATEOPERATION_DESTROY: number; declare const bj_GAMECACHE_BOOLEAN: number; declare const bj_GAMECACHE_INTEGER: number; declare const bj_GAMECACHE_REAL: number; declare const bj_GAMECACHE_UNIT: number; declare const bj_GAMECACHE_STRING: number; declare const bj_HASHTABLE_BOOLEAN: number; declare const bj_HASHTABLE_INTEGER: number; declare const bj_HASHTABLE_REAL: number; declare const bj_HASHTABLE_STRING: number; declare const bj_HASHTABLE_HANDLE: number; declare const bj_ITEM_STATUS_HIDDEN: number; declare const bj_ITEM_STATUS_OWNED: number; declare const bj_ITEM_STATUS_INVULNERABLE: number; declare const bj_ITEM_STATUS_POWERUP: number; declare const bj_ITEM_STATUS_SELLABLE: number; declare const bj_ITEM_STATUS_PAWNABLE: number; declare const bj_ITEMCODE_STATUS_POWERUP: number; declare const bj_ITEMCODE_STATUS_SELLABLE: number; declare const bj_ITEMCODE_STATUS_PAWNABLE: number; declare const bj_MINIMAPPINGSTYLE_SIMPLE: number; declare const bj_MINIMAPPINGSTYLE_FLASHY: number; declare const bj_MINIMAPPINGSTYLE_ATTACK: number; declare const bj_CAMPPINGSTYLE_PRIMARY: number; declare const bj_CAMPPINGSTYLE_PRIMARY_GREEN: number; declare const bj_CAMPPINGSTYLE_PRIMARY_RED: number; declare const bj_CAMPPINGSTYLE_BONUS: number; declare const bj_CAMPPINGSTYLE_TURNIN: number; declare const bj_CAMPPINGSTYLE_BOSS: number; declare const bj_CAMPPINGSTYLE_CONTROL_ALLY: number; declare const bj_CAMPPINGSTYLE_CONTROL_NEUTRAL: number; declare const bj_CAMPPINGSTYLE_CONTROL_ENEMY: number; declare const bj_CORPSE_MAX_DEATH_TIME: number; declare const bj_CORPSETYPE_FLESH: number; declare const bj_CORPSETYPE_BONE: number; declare const bj_ELEVATOR_BLOCKER_CODE: number; declare const bj_ELEVATOR_CODE01: number; declare const bj_ELEVATOR_CODE02: number; declare const bj_ELEVATOR_WALL_TYPE_ALL: number; declare const bj_ELEVATOR_WALL_TYPE_EAST: number; declare const bj_ELEVATOR_WALL_TYPE_NORTH: number; declare const bj_ELEVATOR_WALL_TYPE_SOUTH: number; declare const bj_ELEVATOR_WALL_TYPE_WEST: number; declare var bj_FORCE_ALL_PLAYERS: force; declare var bj_FORCE_PLAYER: force[]; declare var bj_MELEE_MAX_TWINKED_HEROES: number; declare var bj_mapInitialPlayableArea: rect; declare var bj_mapInitialCameraBounds: rect; declare var bj_forLoopAIndex: number; declare var bj_forLoopBIndex: number; declare var bj_forLoopAIndexEnd: number; declare var bj_forLoopBIndexEnd: number; declare var bj_slotControlReady: boolean; declare var bj_slotControlUsed: boolean[]; declare var bj_slotControl: mapcontrol[]; declare var bj_gameStartedTimer: timer; declare var bj_gameStarted: boolean; declare var bj_volumeGroupsTimer: timer; declare var bj_isSinglePlayer: boolean; declare var bj_dncSoundsDay: trigger; declare var bj_dncSoundsNight: trigger; declare var bj_dayAmbientSound: sound; declare var bj_nightAmbientSound: sound; declare var bj_dncSoundsDawn: trigger; declare var bj_dncSoundsDusk: trigger; declare var bj_dawnSound: sound; declare var bj_duskSound: sound; declare var bj_useDawnDuskSounds: boolean; declare var bj_dncIsDaytime: boolean; declare var bj_rescueSound: sound; declare var bj_questDiscoveredSound: sound; declare var bj_questUpdatedSound: sound; declare var bj_questCompletedSound: sound; declare var bj_questFailedSound: sound; declare var bj_questHintSound: sound; declare var bj_questSecretSound: sound; declare var bj_questItemAcquiredSound: sound; declare var bj_questWarningSound: sound; declare var bj_victoryDialogSound: sound; declare var bj_defeatDialogSound: sound; declare var bj_stockItemPurchased: trigger; declare var bj_stockUpdateTimer: timer; declare var bj_stockAllowedPermanent: boolean[]; declare var bj_stockAllowedCharged: boolean[]; declare var bj_stockAllowedArtifact: boolean[]; declare var bj_stockPickedItemLevel: number; declare var bj_stockPickedItemType: itemtype; declare var bj_meleeVisibilityTrained: trigger; declare var bj_meleeVisibilityIsDay: boolean; declare var bj_meleeGrantHeroItems: boolean; declare var bj_meleeNearestMineToLoc: location; declare var bj_meleeNearestMine: unit; declare var bj_meleeNearestMineDist: number; declare var bj_meleeGameOver: boolean; declare var bj_meleeDefeated: boolean[]; declare var bj_meleeVictoried: boolean[]; declare var bj_ghoul: unit[]; declare var bj_crippledTimer: timer[]; declare var bj_crippledTimerWindows: timerdialog[]; declare var bj_playerIsCrippled: boolean[]; declare var bj_playerIsExposed: boolean[]; declare var bj_finishSoonAllExposed: boolean; declare var bj_finishSoonTimerDialog: timerdialog; declare var bj_meleeTwinkedHeroes: number[]; declare var bj_rescueUnitBehavior: trigger; declare var bj_rescueChangeColorUnit: boolean; declare var bj_rescueChangeColorBldg: boolean; declare var bj_cineSceneEndingTimer: timer; declare var bj_cineSceneLastSound: sound; declare var bj_cineSceneBeingSkipped: trigger; declare var bj_cineModePriorSpeed: gamespeed; declare var bj_cineModePriorFogSetting: boolean; declare var bj_cineModePriorMaskSetting: boolean; declare var bj_cineModeAlreadyIn: boolean; declare var bj_cineModePriorDawnDusk: boolean; declare var bj_cineModeSavedSeed: number; declare var bj_cineFadeFinishTimer: timer; declare var bj_cineFadeContinueTimer: timer; declare var bj_cineFadeContinueRed: number; declare var bj_cineFadeContinueGreen: number; declare var bj_cineFadeContinueBlue: number; declare var bj_cineFadeContinueTrans: number; declare var bj_cineFadeContinueDuration: number; declare var bj_cineFadeContinueTex: string; declare var bj_queuedExecTotal: number; declare var bj_queuedExecTriggers: trigger[]; declare var bj_queuedExecUseConds: boolean[]; declare var bj_queuedExecTimeoutTimer: timer; declare var bj_queuedExecTimeout: trigger; declare var bj_destInRegionDiesCount: number; declare var bj_destInRegionDiesTrig: trigger; declare var bj_groupCountUnits: number; declare var bj_forceCountPlayers: number; declare var bj_groupEnumTypeId: number; declare var bj_groupEnumOwningPlayer: player; declare var bj_groupAddGroupDest: group; declare var bj_groupRemoveGroupDest: group; declare var bj_groupRandomConsidered: number; declare var bj_groupRandomCurrentPick: unit; declare var bj_groupLastCreatedDest: group; declare var bj_randomSubGroupGroup: group; declare var bj_randomSubGroupWant: number; declare var bj_randomSubGroupTotal: number; declare var bj_randomSubGroupChance: number; declare var bj_destRandomConsidered: number; declare var bj_destRandomCurrentPick: destructable; declare var bj_elevatorWallBlocker: destructable; declare var bj_elevatorNeighbor: destructable; declare var bj_itemRandomConsidered: number; declare var bj_itemRandomCurrentPick: item; declare var bj_forceRandomConsidered: number; declare var bj_forceRandomCurrentPick: player; declare var bj_makeUnitRescuableUnit: unit; declare var bj_makeUnitRescuableFlag: boolean; declare var bj_pauseAllUnitsFlag: boolean; declare var bj_enumDestructableCenter: location; declare var bj_enumDestructableRadius: number; declare var bj_setPlayerTargetColor: playercolor; declare var bj_isUnitGroupDeadResult: boolean; declare var bj_isUnitGroupEmptyResult: boolean; declare var bj_isUnitGroupInRectResult: boolean; declare var bj_isUnitGroupInRectRect: rect; declare var bj_changeLevelShowScores: boolean; declare var bj_changeLevelMapName: string; declare var bj_suspendDecayFleshGroup: group; declare var bj_suspendDecayBoneGroup: group; declare var bj_delayedSuspendDecayTimer: timer; declare var bj_delayedSuspendDecayTrig: trigger; declare var bj_livingPlayerUnitsTypeId: number; declare var bj_lastDyingWidget: widget; declare var bj_randDistCount: number; declare var bj_randDistID: number[]; declare var bj_randDistChance: number[]; declare var bj_lastCreatedUnit: unit; declare var bj_lastCreatedItem: item; declare var bj_lastRemovedItem: item; declare var bj_lastHauntedGoldMine: unit; declare var bj_lastCreatedDestructable: destructable; declare var bj_lastCreatedGroup: group; declare var bj_lastCreatedFogModifier: fogmodifier; declare var bj_lastCreatedEffect: effect; declare var bj_lastCreatedWeatherEffect: weathereffect; declare var bj_lastCreatedTerrainDeformation: terraindeformation; declare var bj_lastCreatedQuest: quest; declare var bj_lastCreatedQuestItem: questitem; declare var bj_lastCreatedDefeatCondition: defeatcondition; declare var bj_lastStartedTimer: timer; declare var bj_lastCreatedTimerDialog: timerdialog; declare var bj_lastCreatedLeaderboard: leaderboard; declare var bj_lastCreatedMultiboard: multiboard; declare var bj_lastPlayedSound: sound; declare var bj_lastPlayedMusic: string; declare var bj_lastTransmissionDuration: number; declare var bj_lastCreatedGameCache: gamecache; declare var bj_lastCreatedHashtable: hashtable; declare var bj_lastLoadedUnit: unit; declare var bj_lastCreatedButton: button; declare var bj_lastReplacedUnit: unit; declare var bj_lastCreatedTextTag: texttag; declare var bj_lastCreatedLightning: lightning; declare var bj_lastCreatedImage: image; declare var bj_lastCreatedUbersplat: ubersplat; declare var bj_lastCreatedMinimapIcon: minimapicon; declare var bj_lastCreatedCommandButtonEffect: commandbuttoneffect; declare var filterIssueHauntOrderAtLocBJ: boolexpr | (() => boolean) | null; declare var filterEnumDestructablesInCircleBJ: boolexpr | (() => boolean) | null; declare var filterGetUnitsInRectOfPlayer: boolexpr | (() => boolean) | null; declare var filterGetUnitsOfTypeIdAll: boolexpr | (() => boolean) | null; declare var filterGetUnitsOfPlayerAndTypeId: boolexpr | (() => boolean) | null; declare var filterMeleeTrainedUnitIsHeroBJ: boolexpr | (() => boolean) | null; declare var filterLivingPlayerUnitsOfTypeId: boolexpr | (() => boolean) | null; declare var bj_wantDestroyGroup: boolean; declare var bj_lastInstObjFuncSuccessful: boolean; declare function BJDebugMsg(msg: string): void; declare function RMinBJ(a: number, b: number): number; declare function RMaxBJ(a: number, b: number): number; declare function RAbsBJ(a: number): number; declare function RSignBJ(a: number): number; declare function IMinBJ(a: number, b: number): number; declare function IMaxBJ(a: number, b: number): number; declare function IAbsBJ(a: number): number; declare function ISignBJ(a: number): number; declare function SinBJ(degrees: number): number; declare function CosBJ(degrees: number): number; declare function TanBJ(degrees: number): number; declare function AsinBJ(degrees: number): number; declare function AcosBJ(degrees: number): number; declare function AtanBJ(degrees: number): number; declare function Atan2BJ(y: number, x: number): number; declare function AngleBetweenPoints(locA: location, locB: location): number; declare function DistanceBetweenPoints(locA: location, locB: location): number; declare function PolarProjectionBJ(source: location, dist: number, angle: number): location; declare function GetRandomDirectionDeg(): number; declare function GetRandomPercentageBJ(): number; declare function GetRandomLocInRect(whichRect: rect): location; declare function ModuloInteger(dividend: number, divisor: number): number; declare function ModuloReal(dividend: number, divisor: number): number; declare function OffsetLocation(loc: location, dx: number, dy: number): location; declare function OffsetRectBJ(r: rect, dx: number, dy: number): rect; declare function RectFromCenterSizeBJ(center: location, width: number, height: number): rect; declare function RectContainsCoords(r: rect, x: number, y: number): boolean; declare function RectContainsLoc(r: rect, loc: location): boolean; declare function RectContainsUnit(r: rect, whichUnit: unit): boolean; declare function RectContainsItem(whichItem: item, r: rect): boolean; declare function ConditionalTriggerExecute(trig: trigger): void; declare function TriggerExecuteBJ(trig: trigger, checkConditions: boolean): boolean; declare function PostTriggerExecuteBJ(trig: trigger, checkConditions: boolean): boolean; declare function QueuedTriggerCheck(): void; declare function QueuedTriggerGetIndex(trig: trigger): number; declare function QueuedTriggerRemoveByIndex(trigIndex: number): boolean; declare function QueuedTriggerAttemptExec(): boolean; declare function QueuedTriggerAddBJ(trig: trigger, checkConditions: boolean): boolean; declare function QueuedTriggerRemoveBJ(trig: trigger): void; declare function QueuedTriggerDoneBJ(): void; declare function QueuedTriggerClearBJ(): void; declare function QueuedTriggerClearInactiveBJ(): void; declare function QueuedTriggerCountBJ(): number; declare function IsTriggerQueueEmptyBJ(): boolean; declare function IsTriggerQueuedBJ(trig: trigger): boolean; declare function GetForLoopIndexA(): number; declare function SetForLoopIndexA(newIndex: number): void; declare function GetForLoopIndexB(): number; declare function SetForLoopIndexB(newIndex: number): void; declare function PolledWait(duration: number): void; declare function IntegerTertiaryOp(flag: boolean, valueA: number, valueB: number): number; declare function DoNothing(): void; declare function CommentString(commentString: string): void; declare function StringIdentity(theString: string): string; declare function GetBooleanAnd(valueA: boolean, valueB: boolean): boolean; declare function GetBooleanOr(valueA: boolean, valueB: boolean): boolean; declare function PercentToInt(percentage: number, max: number): number; declare function PercentTo255(percentage: number): number; declare function GetTimeOfDay(): number; declare function SetTimeOfDay(whatTime: number): void; declare function SetTimeOfDayScalePercentBJ(scalePercent: number): void; declare function GetTimeOfDayScalePercentBJ(): number; declare function PlaySound(soundName: string): void; declare function CompareLocationsBJ(A: location, B: location): boolean; declare function CompareRectsBJ(A: rect, B: rect): boolean; declare function GetRectFromCircleBJ(center: location, radius: number): rect; declare function GetCurrentCameraSetup(): camerasetup; declare function CameraSetupApplyForPlayer(doPan: boolean, whichSetup: camerasetup, whichPlayer: player, duration: number): void; declare function CameraSetupApplyForPlayerSmooth(doPan: boolean, whichSetup: camerasetup, whichPlayer: player, forcedDuration: number, easeInDuration: number, easeOutDuration: number, smoothFactor: number): void; declare function CameraSetupGetFieldSwap(whichField: camerafield, whichSetup: camerasetup): number; declare function SetCameraFieldForPlayer(whichPlayer: player, whichField: camerafield, value: number, duration: number): void; declare function SetCameraTargetControllerNoZForPlayer(whichPlayer: player, whichUnit: unit, xoffset: number, yoffset: number, inheritOrientation: boolean): void; declare function SetCameraPositionForPlayer(whichPlayer: player, x: number, y: number): void; declare function SetCameraPositionLocForPlayer(whichPlayer: player, loc: location): void; declare function RotateCameraAroundLocBJ(degrees: number, loc: location, whichPlayer: player, duration: number): void; declare function PanCameraToForPlayer(whichPlayer: player, x: number, y: number): void; declare function PanCameraToLocForPlayer(whichPlayer: player, loc: location): void; declare function PanCameraToTimedForPlayer(whichPlayer: player, x: number, y: number, duration: number): void; declare function PanCameraToTimedLocForPlayer(whichPlayer: player, loc: location, duration: number): void; declare function PanCameraToTimedLocWithZForPlayer(whichPlayer: player, loc: location, zOffset: number, duration: number): void; declare function SmartCameraPanBJ(whichPlayer: player, loc: location, duration: number): void; declare function SetCinematicCameraForPlayer(whichPlayer: player, cameraModelFile: string): void; declare function ResetToGameCameraForPlayer(whichPlayer: player, duration: number): void; declare function CameraSetSourceNoiseForPlayer(whichPlayer: player, magnitude: number, velocity: number): void; declare function CameraSetTargetNoiseForPlayer(whichPlayer: player, magnitude: number, velocity: number): void; declare function CameraSetEQNoiseForPlayer(whichPlayer: player, magnitude: number): void; declare function CameraClearNoiseForPlayer(whichPlayer: player): void; declare function GetCurrentCameraBoundsMapRectBJ(): rect; declare function GetCameraBoundsMapRect(): rect; declare function GetPlayableMapRect(): rect; declare function GetEntireMapRect(): rect; declare function SetCameraBoundsToRect(r: rect): void; declare function SetCameraBoundsToRectForPlayerBJ(whichPlayer: player, r: rect): void; declare function AdjustCameraBoundsBJ(adjustMethod: number, dxWest: number, dxEast: number, dyNorth: number, dySouth: number): void; declare function AdjustCameraBoundsForPlayerBJ(adjustMethod: number, whichPlayer: player, dxWest: number, dxEast: number, dyNorth: number, dySouth: number): void; declare function SetCameraQuickPositionForPlayer(whichPlayer: player, x: number, y: number): void; declare function SetCameraQuickPositionLocForPlayer(whichPlayer: player, loc: location): void; declare function SetCameraQuickPositionLoc(loc: location): void; declare function StopCameraForPlayerBJ(whichPlayer: player): void; declare function SetCameraOrientControllerForPlayerBJ(whichPlayer: player, whichUnit: unit, xoffset: number, yoffset: number): void; declare function CameraSetSmoothingFactorBJ(factor: number): void; declare function CameraResetSmoothingFactorBJ(): void; declare function DisplayTextToForce(toForce: force, message: string): void; declare function DisplayTimedTextToForce(toForce: force, duration: number, message: string): void; declare function ClearTextMessagesBJ(toForce: force): void; declare function SubStringBJ(source: string, start: number, end: number): string; declare function GetHandleIdBJ(h: handle): number; declare function StringHashBJ(s: string): number; declare function TriggerRegisterTimerEventPeriodic(trig: trigger, timeout: number): event; declare function TriggerRegisterTimerEventSingle(trig: trigger, timeout: number): event; declare function TriggerRegisterTimerExpireEventBJ(trig: trigger, t: timer): event; declare function TriggerRegisterPlayerUnitEventSimple(trig: trigger, whichPlayer: player, whichEvent: playerunitevent): event; declare function TriggerRegisterAnyUnitEventBJ(trig: trigger, whichEvent: playerunitevent): void; declare function TriggerRegisterPlayerSelectionEventBJ(trig: trigger, whichPlayer: player, selected: boolean): event; declare function TriggerRegisterPlayerKeyEventBJ(trig: trigger, whichPlayer: player, keType: number, keKey: number): event; declare function TriggerRegisterPlayerMouseEventBJ(trig: trigger, whichPlayer: player, meType: number): event; declare function TriggerRegisterPlayerEventVictory(trig: trigger, whichPlayer: player): event; declare function TriggerRegisterPlayerEventDefeat(trig: trigger, whichPlayer: player): event; declare function TriggerRegisterPlayerEventLeave(trig: trigger, whichPlayer: player): event; declare function TriggerRegisterPlayerEventAllianceChanged(trig: trigger, whichPlayer: player): event; declare function TriggerRegisterPlayerEventEndCinematic(trig: trigger, whichPlayer: player): event; declare function TriggerRegisterGameStateEventTimeOfDay(trig: trigger, opcode: limitop, limitval: number): event; declare function TriggerRegisterEnterRegionSimple(trig: trigger, whichRegion: region): event; declare function TriggerRegisterLeaveRegionSimple(trig: trigger, whichRegion: region): event; declare function TriggerRegisterEnterRectSimple(trig: trigger, r: rect): event; declare function TriggerRegisterLeaveRectSimple(trig: trigger, r: rect): event; declare function TriggerRegisterDistanceBetweenUnits(trig: trigger, whichUnit: unit, condition: boolexpr | (() => boolean) | null, range: number): event; declare function TriggerRegisterUnitInRangeSimple(trig: trigger, range: number, whichUnit: unit): event; declare function TriggerRegisterUnitLifeEvent(trig: trigger, whichUnit: unit, opcode: limitop, limitval: number): event; declare function TriggerRegisterUnitManaEvent(trig: trigger, whichUnit: unit, opcode: limitop, limitval: number): event; declare function TriggerRegisterDialogEventBJ(trig: trigger, whichDialog: dialog): event; declare function TriggerRegisterShowSkillEventBJ(trig: trigger): event; declare function TriggerRegisterBuildSubmenuEventBJ(trig: trigger): event; declare function TriggerRegisterBuildCommandEventBJ(trig: trigger, unitId: number): event; declare function TriggerRegisterTrainCommandEventBJ(trig: trigger, unitId: number): event; declare function TriggerRegisterUpgradeCommandEventBJ(trig: trigger, techId: number): event; declare function TriggerRegisterCommonCommandEventBJ(trig: trigger, order: string): event; declare function TriggerRegisterGameLoadedEventBJ(trig: trigger): event; declare function TriggerRegisterGameSavedEventBJ(trig: trigger): event; declare function RegisterDestDeathInRegionEnum(): void; declare function TriggerRegisterDestDeathInRegionEvent(trig: trigger, r: rect): void; declare function AddWeatherEffectSaveLast(where: rect, effectID: number): weathereffect; declare function GetLastCreatedWeatherEffect(): weathereffect; declare function RemoveWeatherEffectBJ(whichWeatherEffect: weathereffect): void; declare function TerrainDeformationCraterBJ(duration: number, permanent: boolean, where: location, radius: number, depth: number): terraindeformation; declare function TerrainDeformationRippleBJ(duration: number, limitNeg: boolean, where: location, startRadius: number, endRadius: number, depth: number, wavePeriod: number, waveWidth: number): terraindeformation; declare function TerrainDeformationWaveBJ(duration: number, source: location, target: location, radius: number, depth: number, trailDelay: number): terraindeformation; declare function TerrainDeformationRandomBJ(duration: number, where: location, radius: number, minDelta: number, maxDelta: number, updateInterval: number): terraindeformation; declare function TerrainDeformationStopBJ(deformation: terraindeformation, duration: number): void; declare function GetLastCreatedTerrainDeformation(): terraindeformation; declare function AddLightningLoc(codeName: string, where1: location, where2: location): lightning; declare function DestroyLightningBJ(whichBolt: lightning): boolean; declare function MoveLightningLoc(whichBolt: lightning, where1: location, where2: location): boolean; declare function GetLightningColorABJ(whichBolt: lightning): number; declare function GetLightningColorRBJ(whichBolt: lightning): number; declare function GetLightningColorGBJ(whichBolt: lightning): number; declare function GetLightningColorBBJ(whichBolt: lightning): number; declare function SetLightningColorBJ(whichBolt: lightning, r: number, g: number, b: number, a: number): boolean; declare function GetLastCreatedLightningBJ(): lightning; declare function GetAbilityEffectBJ(abilcode: number, t: effecttype, index: number): string; declare function GetAbilitySoundBJ(abilcode: number, t: soundtype): string; declare function GetTerrainCliffLevelBJ(where: location): number; declare function GetTerrainTypeBJ(where: location): number; declare function GetTerrainVarianceBJ(where: location): number; declare function SetTerrainTypeBJ(where: location, terrainType: number, variation: number, area: number, shape: number): void; declare function IsTerrainPathableBJ(where: location, t: pathingtype): boolean; declare function SetTerrainPathableBJ(where: location, t: pathingtype, flag: boolean): void; declare function SetWaterBaseColorBJ(red: number, green: number, blue: number, transparency: number): void; declare function CreateFogModifierRectSimple(whichPlayer: player, whichFogState: fogstate, r: rect, afterUnits: boolean): fogmodifier; declare function CreateFogModifierRadiusLocSimple(whichPlayer: player, whichFogState: fogstate, center: location, radius: number, afterUnits: boolean): fogmodifier; declare function CreateFogModifierRectBJ(enabled: boolean, whichPlayer: player, whichFogState: fogstate, r: rect): fogmodifier; declare function CreateFogModifierRadiusLocBJ(enabled: boolean, whichPlayer: player, whichFogState: fogstate, center: location, radius: number): fogmodifier; declare function GetLastCreatedFogModifier(): fogmodifier; declare function FogEnableOn(): void; declare function FogEnableOff(): void; declare function FogMaskEnableOn(): void; declare function FogMaskEnableOff(): void; declare function UseTimeOfDayBJ(flag: boolean): void; declare function SetTerrainFogExBJ(style: number, zstart: number, zend: number, density: number, red: number, green: number, blue: number): void; declare function ResetTerrainFogBJ(): void; declare function SetDoodadAnimationBJ(animName: string, doodadID: number, radius: number, center: location): void; declare function SetDoodadAnimationRectBJ(animName: string, doodadID: number, r: rect): void; declare function AddUnitAnimationPropertiesBJ(add: boolean, animProperties: string, whichUnit: unit): void; declare function CreateImageBJ(file: string, size: number, where: location, zOffset: number, imageType: number): image; declare function ShowImageBJ(flag: boolean, whichImage: image): void; declare function SetImagePositionBJ(whichImage: image, where: location, zOffset: number): void; declare function SetImageColorBJ(whichImage: image, red: number, green: number, blue: number, alpha: number): void; declare function GetLastCreatedImage(): image; declare function CreateUbersplatBJ(where: location, name: string, red: number, green: number, blue: number, alpha: number, forcePaused: boolean, noBirthTime: boolean): ubersplat; declare function ShowUbersplatBJ(flag: boolean, whichSplat: ubersplat): void; declare function GetLastCreatedUbersplat(): ubersplat; declare function GetLastCreatedMinimapIcon(): minimapicon; declare function CreateMinimapIconOnUnitBJ(whichUnit: unit, red: number, green: number, blue: number, pingPath: string, fogVisibility: fogstate): minimapicon; declare function CreateMinimapIconAtLocBJ(where: location, red: number, green: number, blue: number, pingPath: string, fogVisibility: fogstate): minimapicon; declare function CreateMinimapIconBJ(x: number, y: number, red: number, green: number, blue: number, pingPath: string, fogVisibility: fogstate): minimapicon; declare function CampaignMinimapIconUnitBJ(whichUnit: unit, style: number): void; declare function CampaignMinimapIconLocBJ(where: location, style: number): void; declare function PlaySoundBJ(soundHandle: sound): void; declare function StopSoundBJ(soundHandle: sound, fadeOut: boolean): void; declare function SetSoundVolumeBJ(soundHandle: sound, volumePercent: number): void; declare function SetSoundOffsetBJ(newOffset: number, soundHandle: sound): void; declare function SetSoundDistanceCutoffBJ(soundHandle: sound, cutoff: number): void; declare function SetSoundPitchBJ(soundHandle: sound, pitch: number): void; declare function SetSoundPositionLocBJ(soundHandle: sound, loc: location, z: number): void; declare function AttachSoundToUnitBJ(soundHandle: sound, whichUnit: unit): void; declare function SetSoundConeAnglesBJ(soundHandle: sound, inside: number, outside: number, outsideVolumePercent: number): void; declare function KillSoundWhenDoneBJ(soundHandle: sound): void; declare function PlaySoundAtPointBJ(soundHandle: sound, volumePercent: number, loc: location, z: number): void; declare function PlaySoundOnUnitBJ(soundHandle: sound, volumePercent: number, whichUnit: unit): void; declare function PlaySoundFromOffsetBJ(soundHandle: sound, volumePercent: number, startingOffset: number): void; declare function PlayMusicBJ(musicFileName: string): void; declare function PlayMusicExBJ(musicFileName: string, startingOffset: number, fadeInTime: number): void; declare function SetMusicOffsetBJ(newOffset: number): void; declare function PlayThematicMusicBJ(musicName: string): void; declare function PlayThematicMusicExBJ(musicName: string, startingOffset: number): void; declare function SetThematicMusicOffsetBJ(newOffset: number): void; declare function EndThematicMusicBJ(): void; declare function StopMusicBJ(fadeOut: boolean): void; declare function ResumeMusicBJ(): void; declare function SetMusicVolumeBJ(volumePercent: number): void; declare function SetThematicMusicVolumeBJ(volumePercent: number): void; declare function GetSoundDurationBJ(soundHandle: sound): number; declare function GetSoundFileDurationBJ(musicFileName: string): number; declare function GetLastPlayedSound(): sound; declare function GetLastPlayedMusic(): string; declare function VolumeGroupSetVolumeBJ(vgroup: volumegroup, percent: number): void; declare function SetCineModeVolumeGroupsImmediateBJ(): void; declare function SetCineModeVolumeGroupsBJ(): void; declare function SetSpeechVolumeGroupsImmediateBJ(): void; declare function SetSpeechVolumeGroupsBJ(): void; declare function VolumeGroupResetImmediateBJ(): void; declare function VolumeGroupResetBJ(): void; declare function GetSoundIsPlayingBJ(soundHandle: sound): boolean; declare function WaitForSoundBJ(soundHandle: sound, offset: number): void; declare function SetMapMusicIndexedBJ(musicName: string, index: number): void; declare function SetMapMusicRandomBJ(musicName: string): void; declare function ClearMapMusicBJ(): void; declare function SetStackedSoundBJ(add: boolean, soundHandle: sound, r: rect): void; declare function StartSoundForPlayerBJ(whichPlayer: player, soundHandle: sound): void; declare function VolumeGroupSetVolumeForPlayerBJ(whichPlayer: player, vgroup: volumegroup, scale: number): void; declare function EnableDawnDusk(flag: boolean): void; declare function IsDawnDuskEnabled(): boolean; declare function SetAmbientDaySound(inLabel: string): void; declare function SetAmbientNightSound(inLabel: string): void; declare function AddSpecialEffectLocBJ(where: location, modelName: string): effect; declare function AddSpecialEffectTargetUnitBJ(attachPointName: string, targetWidget: widget, modelName: string): effect; declare function DestroyEffectBJ(whichEffect: effect): void; declare function GetLastCreatedEffectBJ(): effect; declare function CreateCommandButtonEffectBJ(abilityId: number, order: string): commandbuttoneffect; declare function CreateTrainCommandButtonEffectBJ(unitId: number): commandbuttoneffect; declare function CreateUpgradeCommandButtonEffectBJ(techId: number): commandbuttoneffect; declare function CreateCommonCommandButtonEffectBJ(order: string): commandbuttoneffect; declare function CreateLearnCommandButtonEffectBJ(abilityId: number): commandbuttoneffect; declare function CreateBuildCommandButtonEffectBJ(unitId: number): commandbuttoneffect; declare function GetLastCreatedCommandButtonEffectBJ(): commandbuttoneffect; declare function GetItemLoc(whichItem: item): location; declare function GetItemLifeBJ(whichWidget: widget): number; declare function SetItemLifeBJ(whichWidget: widget, life: number): void; declare function AddHeroXPSwapped(xpToAdd: number, whichHero: unit, showEyeCandy: boolean): void; declare function SetHeroLevelBJ(whichHero: unit, newLevel: number, showEyeCandy: boolean): void; declare function DecUnitAbilityLevelSwapped(abilcode: number, whichUnit: unit): number; declare function IncUnitAbilityLevelSwapped(abilcode: number, whichUnit: unit): number; declare function SetUnitAbilityLevelSwapped(abilcode: number, whichUnit: unit, level: number): number; declare function GetUnitAbilityLevelSwapped(abilcode: number, whichUnit: unit): number; declare function UnitHasBuffBJ(whichUnit: unit, buffcode: number): boolean; declare function UnitRemoveBuffBJ(buffcode: number, whichUnit: unit): boolean; declare function UnitAddItemSwapped(whichItem: item, whichHero: unit): boolean; declare function UnitAddItemByIdSwapped(itemId: number, whichHero: unit): item; declare function UnitRemoveItemSwapped(whichItem: item, whichHero: unit): void; declare function UnitRemoveItemFromSlotSwapped(itemSlot: number, whichHero: unit): item; declare function CreateItemLoc(itemId: number, loc: location): item; declare function GetLastCreatedItem(): item; declare function GetLastRemovedItem(): item; declare function SetItemPositionLoc(whichItem: item, loc: location): void; declare function GetLearnedSkillBJ(): number; declare function SuspendHeroXPBJ(flag: boolean, whichHero: unit): void; declare function SetPlayerHandicapDamageBJ(whichPlayer: player, handicapPercent: number): void; declare function GetPlayerHandicapDamageBJ(whichPlayer: player): number; declare function SetPlayerHandicapReviveTimeBJ(whichPlayer: player, handicapPercent: number): void; declare function GetPlayerHandicapReviveTimeBJ(whichPlayer: player): number; declare function SetPlayerHandicapXPBJ(whichPlayer: player, handicapPercent: number): void; declare function GetPlayerHandicapXPBJ(whichPlayer: player): number; declare function SetPlayerHandicapBJ(whichPlayer: player, handicapPercent: number): void; declare function GetPlayerHandicapBJ(whichPlayer: player): number; declare function GetHeroStatBJ(whichStat: number, whichHero: unit, includeBonuses: boolean): number; declare function SetHeroStat(whichHero: unit, whichStat: number, value: number): void; declare function ModifyHeroStat(whichStat: number, whichHero: unit, modifyMethod: number, value: number): void; declare function ModifyHeroSkillPoints(whichHero: unit, modifyMethod: number, value: number): boolean; declare function UnitDropItemPointBJ(whichUnit: unit, whichItem: item, x: number, y: number): boolean; declare function UnitDropItemPointLoc(whichUnit: unit, whichItem: item, loc: location): boolean; declare function UnitDropItemSlotBJ(whichUnit: unit, whichItem: item, slot: number): boolean; declare function UnitDropItemTargetBJ(whichUnit: unit, whichItem: item, target: widget): boolean; declare function UnitUseItemDestructable(whichUnit: unit, whichItem: item, target: widget): boolean; declare function UnitUseItemPointLoc(whichUnit: unit, whichItem: item, loc: location): boolean; declare function UnitItemInSlotBJ(whichUnit: unit, itemSlot: number): item; declare function GetInventoryIndexOfItemTypeBJ(whichUnit: unit, itemId: number): number; declare function GetItemOfTypeFromUnitBJ(whichUnit: unit, itemId: number): item; declare function UnitHasItemOfTypeBJ(whichUnit: unit, itemId: number): boolean; declare function UnitInventoryCount(whichUnit: unit): number; declare function UnitInventorySizeBJ(whichUnit: unit): number; declare function SetItemInvulnerableBJ(whichItem: item, flag: boolean): void; declare function SetItemDropOnDeathBJ(whichItem: item, flag: boolean): void; declare function SetItemDroppableBJ(whichItem: item, flag: boolean): void; declare function SetItemPlayerBJ(whichItem: item, whichPlayer: player, changeColor: boolean): void; declare function SetItemVisibleBJ(show: boolean, whichItem: item): void; declare function IsItemHiddenBJ(whichItem: item): boolean; declare function ChooseRandomItemBJ(level: number): number; declare function ChooseRandomItemExBJ(level: number, whichType: itemtype): number; declare function ChooseRandomNPBuildingBJ(): number; declare function ChooseRandomCreepBJ(level: number): number; declare function EnumItemsInRectBJ(r: rect, actionFunc: () => void): void; declare function RandomItemInRectBJEnum(): void; declare function RandomItemInRectBJ(r: rect, filter: boolexpr | (() => boolean) | null): item; declare function RandomItemInRectSimpleBJ(r: rect): item; declare function CheckItemStatus(whichItem: item, status: number): boolean; declare function CheckItemcodeStatus(itemId: number, status: number): boolean; declare function UnitId2OrderIdBJ(unitId: number): number; declare function String2UnitIdBJ(unitIdString: string): number; declare function UnitId2StringBJ(unitId: number): string; declare function String2OrderIdBJ(orderIdString: string): number; declare function OrderId2StringBJ(orderId: number): string; declare function GetIssuedOrderIdBJ(): number; declare function GetKillingUnitBJ(): unit; declare function CreateUnitAtLocSaveLast(id: player, unitid: number, loc: location, face: number): unit; declare function GetLastCreatedUnit(): unit; declare function CreateNUnitsAtLoc(count: number, unitId: number, whichPlayer: player, loc: location, face: number): group; declare function CreateNUnitsAtLocFacingLocBJ(count: number, unitId: number, whichPlayer: player, loc: location, lookAt: location): group; declare function GetLastCreatedGroupEnum(): void; declare function GetLastCreatedGroup(): group; declare function CreateCorpseLocBJ(unitid: number, whichPlayer: player, loc: location): unit; declare function UnitSuspendDecayBJ(suspend: boolean, whichUnit: unit): void; declare function DelayedSuspendDecayStopAnimEnum(): void; declare function DelayedSuspendDecayBoneEnum(): void; declare function DelayedSuspendDecayFleshEnum(): void; declare function DelayedSuspendDecay(): void; declare function DelayedSuspendDecayCreate(): void; declare function CreatePermanentCorpseLocBJ(style: number, unitid: number, whichPlayer: player, loc: location, facing: number): unit; declare function GetUnitStateSwap(whichState: unitstate, whichUnit: unit): number; declare function GetUnitStatePercent(whichUnit: unit, whichState: unitstate, whichMaxState: unitstate): number; declare function GetUnitLifePercent(whichUnit: unit): number; declare function GetUnitManaPercent(whichUnit: unit): number; declare function SelectUnitSingle(whichUnit: unit): void; declare function SelectGroupBJEnum(): void; declare function SelectGroupBJ(g: group): void; declare function SelectUnitAdd(whichUnit: unit): void; declare function SelectUnitRemove(whichUnit: unit): void; declare function ClearSelectionForPlayer(whichPlayer: player): void; declare function SelectUnitForPlayerSingle(whichUnit: unit, whichPlayer: player): void; declare function SelectGroupForPlayerBJ(g: group, whichPlayer: player): void; declare function SelectUnitAddForPlayer(whichUnit: unit, whichPlayer: player): void; declare function SelectUnitRemoveForPlayer(whichUnit: unit, whichPlayer: player): void; declare function SetUnitLifeBJ(whichUnit: unit, newValue: number): void; declare function SetUnitManaBJ(whichUnit: unit, newValue: number): void; declare function SetUnitLifePercentBJ(whichUnit: unit, percent: number): void; declare function SetUnitManaPercentBJ(whichUnit: unit, percent: number): void; declare function IsUnitDeadBJ(whichUnit: unit): boolean; declare function IsUnitAliveBJ(whichUnit: unit): boolean; declare function IsUnitGroupDeadBJEnum(): void; declare function IsUnitGroupDeadBJ(g: group): boolean; declare function IsUnitGroupEmptyBJEnum(): void; declare function IsUnitGroupEmptyBJ(g: group): boolean; declare function IsUnitGroupInRectBJEnum(): void; declare function IsUnitGroupInRectBJ(g: group, r: rect): boolean; declare function IsUnitHiddenBJ(whichUnit: unit): boolean; declare function ShowUnitHide(whichUnit: unit): void; declare function ShowUnitShow(whichUnit: unit): void; declare function IssueHauntOrderAtLocBJFilter(): boolean; declare function IssueHauntOrderAtLocBJ(whichPeon: unit, loc: location): boolean; declare function IssueBuildOrderByIdLocBJ(whichPeon: unit, unitId: number, loc: location): boolean; declare function IssueTrainOrderByIdBJ(whichUnit: unit, unitId: number): boolean; declare function GroupTrainOrderByIdBJ(g: group, unitId: number): boolean; declare function IssueUpgradeOrderByIdBJ(whichUnit: unit, techId: number): boolean; declare function GetAttackedUnitBJ(): unit; declare function SetUnitFlyHeightBJ(whichUnit: unit, newHeight: number, rate: number): void; declare function SetUnitTurnSpeedBJ(whichUnit: unit, turnSpeed: number): void; declare function SetUnitPropWindowBJ(whichUnit: unit, propWindow: number): void; declare function GetUnitPropWindowBJ(whichUnit: unit): number; declare function GetUnitDefaultPropWindowBJ(whichUnit: unit): number; declare function SetUnitBlendTimeBJ(whichUnit: unit, blendTime: number): void; declare function SetUnitAcquireRangeBJ(whichUnit: unit, acquireRange: number): void; declare function UnitSetCanSleepBJ(whichUnit: unit, canSleep: boolean): void; declare function UnitCanSleepBJ(whichUnit: unit): boolean; declare function UnitWakeUpBJ(whichUnit: unit): void; declare function UnitIsSleepingBJ(whichUnit: unit): boolean; declare function WakePlayerUnitsEnum(): void; declare function WakePlayerUnits(whichPlayer: player): void; declare function EnableCreepSleepBJ(enable: boolean): void; declare function UnitGenerateAlarms(whichUnit: unit, generate: boolean): boolean; declare function DoesUnitGenerateAlarms(whichUnit: unit): boolean; declare function PauseAllUnitsBJEnum(): void; declare function PauseAllUnitsBJ(pause: boolean): void; declare function PauseUnitBJ(pause: boolean, whichUnit: unit): void; declare function IsUnitPausedBJ(whichUnit: unit): boolean; declare function UnitPauseTimedLifeBJ(flag: boolean, whichUnit: unit): void; declare function UnitApplyTimedLifeBJ(duration: number, buffId: number, whichUnit: unit): void; declare function UnitShareVisionBJ(share: boolean, whichUnit: unit, whichPlayer: player): void; declare function UnitRemoveBuffsBJ(buffType: number, whichUnit: unit): void; declare function UnitRemoveBuffsExBJ(polarity: number, resist: number, whichUnit: unit, bTLife: boolean, bAura: boolean): void; declare function UnitCountBuffsExBJ(polarity: number, resist: number, whichUnit: unit, bTLife: boolean, bAura: boolean): number; declare function UnitRemoveAbilityBJ(abilityId: number, whichUnit: unit): boolean; declare function UnitAddAbilityBJ(abilityId: number, whichUnit: unit): boolean; declare function UnitRemoveTypeBJ(whichType: unittype, whichUnit: unit): boolean; declare function UnitAddTypeBJ(whichType: unittype, whichUnit: unit): boolean; declare function UnitMakeAbilityPermanentBJ(permanent: boolean, abilityId: number, whichUnit: unit): boolean; declare function SetUnitExplodedBJ(whichUnit: unit, exploded: boolean): void; declare function ExplodeUnitBJ(whichUnit: unit): void; declare function GetTransportUnitBJ(): unit; declare function GetLoadedUnitBJ(): unit; declare function IsUnitInTransportBJ(whichUnit: unit, whichTransport: unit): boolean; declare function IsUnitLoadedBJ(whichUnit: unit): boolean; declare function IsUnitIllusionBJ(whichUnit: unit): boolean; declare function ReplaceUnitBJ(whichUnit: unit, newUnitId: number, unitStateMethod: number): unit; declare function GetLastReplacedUnitBJ(): unit; declare function SetUnitPositionLocFacingBJ(whichUnit: unit, loc: location, facing: number): void; declare function SetUnitPositionLocFacingLocBJ(whichUnit: unit, loc: location, lookAt: location): void; declare function AddItemToStockBJ(itemId: number, whichUnit: unit, currentStock: number, stockMax: number): void; declare function AddUnitToStockBJ(unitId: number, whichUnit: unit, currentStock: number, stockMax: number): void; declare function RemoveItemFromStockBJ(itemId: number, whichUnit: unit): void; declare function RemoveUnitFromStockBJ(unitId: number, whichUnit: unit): void; declare function SetUnitUseFoodBJ(enable: boolean, whichUnit: unit): void; declare function UnitDamagePointLoc(whichUnit: unit, delay: number, radius: number, loc: location, amount: number, whichAttack: attacktype, whichDamage: damagetype): boolean; declare function UnitDamageTargetBJ(whichUnit: unit, target: unit, amount: number, whichAttack: attacktype, whichDamage: damagetype): boolean; declare function CreateDestructableLoc(objectid: number, loc: location, facing: number, scale: number, variation: number): destructable; declare function CreateDeadDestructableLocBJ(objectid: number, loc: location, facing: number, scale: number, variation: number): destructable; declare function GetLastCreatedDestructable(): destructable; declare function ShowDestructableBJ(flag: boolean, d: destructable): void; declare function SetDestructableInvulnerableBJ(d: destructable, flag: boolean): void; declare function IsDestructableInvulnerableBJ(d: destructable): boolean; declare function GetDestructableLoc(whichDestructable: destructable): location; declare function EnumDestructablesInRectAll(r: rect, actionFunc: () => void): void; declare function EnumDestructablesInCircleBJFilter(): boolean; declare function IsDestructableDeadBJ(d: destructable): boolean; declare function IsDestructableAliveBJ(d: destructable): boolean; declare function RandomDestructableInRectBJEnum(): void; declare function RandomDestructableInRectBJ(r: rect, filter: boolexpr | (() => boolean) | null): destructable; declare function RandomDestructableInRectSimpleBJ(r: rect): destructable; declare function EnumDestructablesInCircleBJ(radius: number, loc: location, actionFunc: () => void): void; declare function SetDestructableLifePercentBJ(d: destructable, percent: number): void; declare function SetDestructableMaxLifeBJ(d: destructable, max: number): void; declare function ModifyGateBJ(gateOperation: number, d: destructable): void; declare function GetElevatorHeight(d: destructable): number; declare function ChangeElevatorHeight(d: destructable, newHeight: number): void; declare function NudgeUnitsInRectEnum(): void; declare function NudgeItemsInRectEnum(): void; declare function NudgeObjectsInRect(nudgeArea: rect): void; declare function NearbyElevatorExistsEnum(): void; declare function NearbyElevatorExists(x: number, y: number): boolean; declare function FindElevatorWallBlockerEnum(): void; declare function ChangeElevatorWallBlocker(x: number, y: number, facing: number, open: boolean): void; declare function ChangeElevatorWalls(open: boolean, walls: number, d: destructable): void; declare function WaygateActivateBJ(activate: boolean, waygate: unit): void; declare function WaygateIsActiveBJ(waygate: unit): boolean; declare function WaygateSetDestinationLocBJ(waygate: unit, loc: location): void; declare function WaygateGetDestinationLocBJ(waygate: unit): location; declare function UnitSetUsesAltIconBJ(flag: boolean, whichUnit: unit): void; declare function ForceUIKeyBJ(whichPlayer: player, key: string): void; declare function ForceUICancelBJ(whichPlayer: player): void; declare function ForGroupBJ(whichGroup: group, callback: () => void): void; declare function GroupAddUnitSimple(whichUnit: unit, whichGroup: group): void; declare function GroupRemoveUnitSimple(whichUnit: unit, whichGroup: group): void; declare function GroupAddGroupEnum(): void; declare function GroupAddGroup(sourceGroup: group, destGroup: group): void; declare function GroupRemoveGroupEnum(): void; declare function GroupRemoveGroup(sourceGroup: group, destGroup: group): void; declare function ForceAddPlayerSimple(whichPlayer: player, whichForce: force): void; declare function ForceRemovePlayerSimple(whichPlayer: player, whichForce: force): void; declare function GroupPickRandomUnitEnum(): void; declare function GroupPickRandomUnit(whichGroup: group): unit; declare function ForcePickRandomPlayerEnum(): void; declare function ForcePickRandomPlayer(whichForce: force): player; declare function EnumUnitsSelected(whichPlayer: player, enumFilter: boolexpr | (() => boolean) | null, enumAction: () => void): void; declare function GetUnitsInRectMatching(r: rect, filter: boolexpr | (() => boolean) | null): group; declare function GetUnitsInRectAll(r: rect): group; declare function GetUnitsInRectOfPlayerFilter(): boolean; declare function GetUnitsInRectOfPlayer(r: rect, whichPlayer: player): group; declare function GetUnitsInRangeOfLocMatching(radius: number, whichLocation: location, filter: boolexpr | (() => boolean) | null): group; declare function GetUnitsInRangeOfLocAll(radius: number, whichLocation: location): group; declare function GetUnitsOfTypeIdAllFilter(): boolean; declare function GetUnitsOfTypeIdAll(unitid: number): group; declare function GetUnitsOfPlayerMatching(whichPlayer: player, filter: boolexpr | (() => boolean) | null): group; declare function GetUnitsOfPlayerAll(whichPlayer: player): group; declare function GetUnitsOfPlayerAndTypeIdFilter(): boolean; declare function GetUnitsOfPlayerAndTypeId(whichPlayer: player, unitid: number): group; declare function GetUnitsSelectedAll(whichPlayer: player): group; declare function GetForceOfPlayer(whichPlayer: player): force; declare function GetPlayersAll(): force; declare function GetPlayersByMapControl(whichControl: mapcontrol): force; declare function GetPlayersAllies(whichPlayer: player): force; declare function GetPlayersEnemies(whichPlayer: player): force; declare function GetPlayersMatching(filter: boolexpr | (() => boolean) | null): force; declare function CountUnitsInGroupEnum(): void; declare function CountUnitsInGroup(g: group): number; declare function CountPlayersInForceEnum(): void; declare function CountPlayersInForceBJ(f: force): number; declare function GetRandomSubGroupEnum(): void; declare function GetRandomSubGroup(count: number, sourceGroup: group): group; declare function LivingPlayerUnitsOfTypeIdFilter(): boolean; declare function CountLivingPlayerUnitsOfTypeId(unitId: number, whichPlayer: player): number; declare function ResetUnitAnimation(whichUnit: unit): void; declare function SetUnitTimeScalePercent(whichUnit: unit, percentScale: number): void; declare function SetUnitScalePercent(whichUnit: unit, percentScaleX: number, percentScaleY: number, percentScaleZ: number): void; declare function SetUnitVertexColorBJ(whichUnit: unit, red: number, green: number, blue: number, transparency: number): void; declare function UnitAddIndicatorBJ(whichUnit: unit, red: number, green: number, blue: number, transparency: number): void; declare function DestructableAddIndicatorBJ(whichDestructable: destructable, red: number, green: number, blue: number, transparency: number): void; declare function ItemAddIndicatorBJ(whichItem: item, red: number, green: number, blue: number, transparency: number): void; declare function SetUnitFacingToFaceLocTimed(whichUnit: unit, target: location, duration: number): void; declare function SetUnitFacingToFaceUnitTimed(whichUnit: unit, target: unit, duration: number): void; declare function QueueUnitAnimationBJ(whichUnit: unit, whichAnimation: string): void; declare function SetDestructableAnimationBJ(d: destructable, whichAnimation: string): void; declare function QueueDestructableAnimationBJ(d: destructable, whichAnimation: string): void; declare function SetDestAnimationSpeedPercent(d: destructable, percentScale: number): void; declare function DialogDisplayBJ(flag: boolean, whichDialog: dialog, whichPlayer: player): void; declare function DialogSetMessageBJ(whichDialog: dialog, message: string): void; declare function DialogAddButtonBJ(whichDialog: dialog, buttonText: string): button; declare function DialogAddButtonWithHotkeyBJ(whichDialog: dialog, buttonText: string, hotkey: number): button; declare function DialogClearBJ(whichDialog: dialog): void; declare function GetLastCreatedButtonBJ(): button; declare function GetClickedButtonBJ(): button; declare function GetClickedDialogBJ(): dialog; declare function SetPlayerAllianceBJ(sourcePlayer: player, whichAllianceSetting: alliancetype, value: boolean, otherPlayer: player): void; declare function SetPlayerAllianceStateAllyBJ(sourcePlayer: player, otherPlayer: player, flag: boolean): void; declare function SetPlayerAllianceStateVisionBJ(sourcePlayer: player, otherPlayer: player, flag: boolean): void; declare function SetPlayerAllianceStateControlBJ(sourcePlayer: player, otherPlayer: player, flag: boolean): void; declare function SetPlayerAllianceStateFullControlBJ(sourcePlayer: player, otherPlayer: player, flag: boolean): void; declare function SetPlayerAllianceStateBJ(sourcePlayer: player, otherPlayer: player, allianceState: number): void; declare function SetForceAllianceStateBJ(sourceForce: force, targetForce: force, allianceState: number): void; declare function PlayersAreCoAllied(playerA: player, playerB: player): boolean; declare function ShareEverythingWithTeamAI(whichPlayer: player): void; declare function ShareEverythingWithTeam(whichPlayer: player): void; declare function ConfigureNeutralVictim(): void; declare function MakeUnitsPassiveForPlayerEnum(): void; declare function MakeUnitsPassiveForPlayer(whichPlayer: player): void; declare function MakeUnitsPassiveForTeam(whichPlayer: player): void; declare function AllowVictoryDefeat(gameResult: playergameresult): boolean; declare function EndGameBJ(): void; declare function MeleeVictoryDialogBJ(whichPlayer: player, leftGame: boolean): void; declare function MeleeDefeatDialogBJ(whichPlayer: player, leftGame: boolean): void; declare function GameOverDialogBJ(whichPlayer: player, leftGame: boolean): void; declare function RemovePlayerPreserveUnitsBJ(whichPlayer: player, gameResult: playergameresult, leftGame: boolean): void; declare function CustomVictoryOkBJ(): void; declare function CustomVictoryQuitBJ(): void; declare function CustomVictoryDialogBJ(whichPlayer: player): void; declare function CustomVictorySkipBJ(whichPlayer: player): void; declare function CustomVictoryBJ(whichPlayer: player, showDialog: boolean, showScores: boolean): void; declare function CustomDefeatRestartBJ(): void; declare function CustomDefeatReduceDifficultyBJ(): void; declare function CustomDefeatLoadBJ(): void; declare function CustomDefeatQuitBJ(): void; declare function CustomDefeatDialogBJ(whichPlayer: player, message: string): void; declare function CustomDefeatBJ(whichPlayer: player, message: string): void; declare function SetNextLevelBJ(nextLevel: string): void; declare function SetPlayerOnScoreScreenBJ(flag: boolean, whichPlayer: player): void; declare function CreateQuestBJ(questType: number, title: string, description: string, iconPath: string): quest; declare function DestroyQuestBJ(whichQuest: quest): void; declare function QuestSetEnabledBJ(enabled: boolean, whichQuest: quest): void; declare function QuestSetTitleBJ(whichQuest: quest, title: string): void; declare function QuestSetDescriptionBJ(whichQuest: quest, description: string): void; declare function QuestSetCompletedBJ(whichQuest: quest, completed: boolean): void; declare function QuestSetFailedBJ(whichQuest: quest, failed: boolean): void; declare function QuestSetDiscoveredBJ(whichQuest: quest, discovered: boolean): void; declare function GetLastCreatedQuestBJ(): quest; declare function CreateQuestItemBJ(whichQuest: quest, description: string): questitem; declare function QuestItemSetDescriptionBJ(whichQuestItem: questitem, description: string): void; declare function QuestItemSetCompletedBJ(whichQuestItem: questitem, completed: boolean): void; declare function GetLastCreatedQuestItemBJ(): questitem; declare function CreateDefeatConditionBJ(description: string): defeatcondition; declare function DestroyDefeatConditionBJ(whichCondition: defeatcondition): void; declare function DefeatConditionSetDescriptionBJ(whichCondition: defeatcondition, description: string): void; declare function GetLastCreatedDefeatConditionBJ(): defeatcondition; declare function FlashQuestDialogButtonBJ(): void; declare function QuestMessageBJ(f: force, messageType: number, message: string): void; declare function StartTimerBJ(t: timer, periodic: boolean, timeout: number): timer; declare function CreateTimerBJ(periodic: boolean, timeout: number): timer; declare function DestroyTimerBJ(whichTimer: timer): void; declare function PauseTimerBJ(pause: boolean, whichTimer: timer): void; declare function GetLastCreatedTimerBJ(): timer; declare function CreateTimerDialogBJ(t: timer, title: string): timerdialog; declare function DestroyTimerDialogBJ(td: timerdialog): void; declare function TimerDialogSetTitleBJ(td: timerdialog, title: string): void; declare function TimerDialogSetTitleColorBJ(td: timerdialog, red: number, green: number, blue: number, transparency: number): void; declare function TimerDialogSetTimeColorBJ(td: timerdialog, red: number, green: number, blue: number, transparency: number): void; declare function TimerDialogSetSpeedBJ(td: timerdialog, speedMultFactor: number): void; declare function TimerDialogDisplayForPlayerBJ(show: boolean, td: timerdialog, whichPlayer: player): void; declare function TimerDialogDisplayBJ(show: boolean, td: timerdialog): void; declare function GetLastCreatedTimerDialogBJ(): timerdialog; declare function LeaderboardResizeBJ(lb: leaderboard): void; declare function LeaderboardSetPlayerItemValueBJ(whichPlayer: player, lb: leaderboard, val: number): void; declare function LeaderboardSetPlayerItemLabelBJ(whichPlayer: player, lb: leaderboard, val: string): void; declare function LeaderboardSetPlayerItemStyleBJ(whichPlayer: player, lb: leaderboard, showLabel: boolean, showValue: boolean, showIcon: boolean): void; declare function LeaderboardSetPlayerItemLabelColorBJ(whichPlayer: player, lb: leaderboard, red: number, green: number, blue: number, transparency: number): void; declare function LeaderboardSetPlayerItemValueColorBJ(whichPlayer: player, lb: leaderboard, red: number, green: number, blue: number, transparency: number): void; declare function LeaderboardSetLabelColorBJ(lb: leaderboard, red: number, green: number, blue: number, transparency: number): void; declare function LeaderboardSetValueColorBJ(lb: leaderboard, red: number, green: number, blue: number, transparency: number): void; declare function LeaderboardSetLabelBJ(lb: leaderboard, label: string): void; declare function LeaderboardSetStyleBJ(lb: leaderboard, showLabel: boolean, showNames: boolean, showValues: boolean, showIcons: boolean): void; declare function LeaderboardGetItemCountBJ(lb: leaderboard): number; declare function LeaderboardHasPlayerItemBJ(lb: leaderboard, whichPlayer: player): boolean; declare function ForceSetLeaderboardBJ(lb: leaderboard, toForce: force): void; declare function CreateLeaderboardBJ(toForce: force, label: string): leaderboard; declare function DestroyLeaderboardBJ(lb: leaderboard): void; declare function LeaderboardDisplayBJ(show: boolean, lb: leaderboard): void; declare function LeaderboardAddItemBJ(whichPlayer: player, lb: leaderboard, label: string, value: number): void; declare function LeaderboardRemovePlayerItemBJ(whichPlayer: player, lb: leaderboard): void; declare function LeaderboardSortItemsBJ(lb: leaderboard, sortType: number, ascending: boolean): void; declare function LeaderboardSortItemsByPlayerBJ(lb: leaderboard, ascending: boolean): void; declare function LeaderboardSortItemsByLabelBJ(lb: leaderboard, ascending: boolean): void; declare function LeaderboardGetPlayerIndexBJ(whichPlayer: player, lb: leaderboard): number; declare function LeaderboardGetIndexedPlayerBJ(position: number, lb: leaderboard): player; declare function PlayerGetLeaderboardBJ(whichPlayer: player): leaderboard; declare function GetLastCreatedLeaderboard(): leaderboard; declare function CreateMultiboardBJ(cols: number, rows: number, title: string): multiboard; declare function DestroyMultiboardBJ(mb: multiboard): void; declare function GetLastCreatedMultiboard(): multiboard; declare function MultiboardDisplayBJ(show: boolean, mb: multiboard): void; declare function MultiboardMinimizeBJ(minimize: boolean, mb: multiboard): void; declare function MultiboardSetTitleTextColorBJ(mb: multiboard, red: number, green: number, blue: number, transparency: number): void; declare function MultiboardAllowDisplayBJ(flag: boolean): void; declare function MultiboardSetItemStyleBJ(mb: multiboard, col: number, row: number, showValue: boolean, showIcon: boolean): void; declare function MultiboardSetItemValueBJ(mb: multiboard, col: number, row: number, val: string): void; declare function MultiboardSetItemColorBJ(mb: multiboard, col: number, row: number, red: number, green: number, blue: number, transparency: number): void; declare function MultiboardSetItemWidthBJ(mb: multiboard, col: number, row: number, width: number): void; declare function MultiboardSetItemIconBJ(mb: multiboard, col: number, row: number, iconFileName: string): void; declare function TextTagSize2Height(size: number): number; declare function TextTagSpeed2Velocity(speed: number): number; declare function SetTextTagColorBJ(tt: texttag, red: number, green: number, blue: number, transparency: number): void; declare function SetTextTagVelocityBJ(tt: texttag, speed: number, angle: number): void; declare function SetTextTagTextBJ(tt: texttag, s: string, size: number): void; declare function SetTextTagPosBJ(tt: texttag, loc: location, zOffset: number): void; declare function SetTextTagPosUnitBJ(tt: texttag, whichUnit: unit, zOffset: number): void; declare function SetTextTagSuspendedBJ(tt: texttag, flag: boolean): void; declare function SetTextTagPermanentBJ(tt: texttag, flag: boolean): void; declare function SetTextTagAgeBJ(tt: texttag, age: number): void; declare function SetTextTagLifespanBJ(tt: texttag, lifespan: number): void; declare function SetTextTagFadepointBJ(tt: texttag, fadepoint: number): void; declare function CreateTextTagLocBJ(s: string, loc: location, zOffset: number, size: number, red: number, green: number, blue: number, transparency: number): texttag; declare function CreateTextTagUnitBJ(s: string, whichUnit: unit, zOffset: number, size: number, red: number, green: number, blue: number, transparency: number): texttag; declare function DestroyTextTagBJ(tt: texttag): void; declare function ShowTextTagForceBJ(show: boolean, tt: texttag, whichForce: force): void; declare function GetLastCreatedTextTag(): texttag; declare function PauseGameOn(): void; declare function PauseGameOff(): void; declare function SetUserControlForceOn(whichForce: force): void; declare function SetUserControlForceOff(whichForce: force): void; declare function ShowInterfaceForceOn(whichForce: force, fadeDuration: number): void; declare function ShowInterfaceForceOff(whichForce: force, fadeDuration: number): void; declare function PingMinimapForForce(whichForce: force, x: number, y: number, duration: number): void; declare function PingMinimapLocForForce(whichForce: force, loc: location, duration: number): void; declare function PingMinimapForPlayer(whichPlayer: player, x: number, y: number, duration: number): void; declare function PingMinimapLocForPlayer(whichPlayer: player, loc: location, duration: number): void; declare function PingMinimapForForceEx(whichForce: force, x: number, y: number, duration: number, style: number, red: number, green: number, blue: number): void; declare function PingMinimapLocForForceEx(whichForce: force, loc: location, duration: number, style: number, red: number, green: number, blue: number): void; declare function EnableWorldFogBoundaryBJ(enable: boolean, f: force): void; declare function EnableOcclusionBJ(enable: boolean, f: force): void; declare function CancelCineSceneBJ(): void; declare function TryInitCinematicBehaviorBJ(): void; declare function SetCinematicSceneBJ(soundHandle: sound, portraitUnitId: number, color: playercolor, speakerTitle: string, text: string, sceneDuration: number, voiceoverDuration: number): void; declare function GetTransmissionDuration(soundHandle: sound, timeType: number, timeVal: number): number; declare function WaitTransmissionDuration(soundHandle: sound, timeType: number, timeVal: number): void; declare function DoTransmissionBasicsXYBJ(unitId: number, color: playercolor, x: number, y: number, soundHandle: sound, unitName: string, message: string, duration: number): void; declare function TransmissionFromUnitWithNameBJ(toForce: force, whichUnit: unit, unitName: string, soundHandle: sound, message: string, timeType: number, timeVal: number, wait: boolean): void; declare function PlayDialogueFromSpeakerEx(toForce: force, speaker: unit, speakerType: number, soundHandle: sound, timeType: number, timeVal: number, wait: boolean): boolean; declare function PlayDialogueFromSpeakerTypeEx(toForce: force, fromPlayer: player, speakerType: number, loc: location, soundHandle: sound, timeType: number, timeVal: number, wait: boolean): boolean; declare function TransmissionFromUnitTypeWithNameBJ(toForce: force, fromPlayer: player, unitId: number, unitName: string, loc: location, soundHandle: sound, message: string, timeType: number, timeVal: number, wait: boolean): void; declare function GetLastTransmissionDurationBJ(): number; declare function ForceCinematicSubtitlesBJ(flag: boolean): void; declare function CinematicModeExBJ(cineMode: boolean, forForce: force, interfaceFadeTime: number): void; declare function CinematicModeBJ(cineMode: boolean, forForce: force): void; declare function DisplayCineFilterBJ(flag: boolean): void; declare function CinematicFadeCommonBJ(red: number, green: number, blue: number, duration: number, tex: string, startTrans: number, endTrans: number): void; declare function FinishCinematicFadeBJ(): void; declare function FinishCinematicFadeAfterBJ(duration: number): void; declare function ContinueCinematicFadeBJ(): void; declare function ContinueCinematicFadeAfterBJ(duration: number, red: number, green: number, blue: number, trans: number, tex: string): void; declare function AbortCinematicFadeBJ(): void; declare function CinematicFadeBJ(fadetype: number, duration: number, tex: string, red: number, green: number, blue: number, trans: number): void; declare function CinematicFilterGenericBJ(duration: number, bmode: blendmode, tex: string, red0: number, green0: number, blue0: number, trans0: number, red1: number, green1: number, blue1: number, trans1: number): void; declare function RescueUnitBJ(whichUnit: unit, rescuer: player, changeColor: boolean): void; declare function TriggerActionUnitRescuedBJ(): void; declare function TryInitRescuableTriggersBJ(): void; declare function SetRescueUnitColorChangeBJ(changeColor: boolean): void; declare function SetRescueBuildingColorChangeBJ(changeColor: boolean): void; declare function MakeUnitRescuableToForceBJEnum(): void; declare function MakeUnitRescuableToForceBJ(whichUnit: unit, isRescuable: boolean, whichForce: force): void; declare function InitRescuableBehaviorBJ(): void; declare function SetPlayerTechResearchedSwap(techid: number, levels: number, whichPlayer: player): void; declare function SetPlayerTechMaxAllowedSwap(techid: number, maximum: number, whichPlayer: player): void; declare function SetPlayerMaxHeroesAllowed(maximum: number, whichPlayer: player): void; declare function GetPlayerTechCountSimple(techid: number, whichPlayer: player): number; declare function GetPlayerTechMaxAllowedSwap(techid: number, whichPlayer: player): number; declare function SetPlayerAbilityAvailableBJ(avail: boolean, abilid: number, whichPlayer: player): void; declare function SetCampaignMenuRaceBJ(campaignNumber: number): void; declare function SetMissionAvailableBJ(available: boolean, missionIndex: number): void; declare function SetCampaignAvailableBJ(available: boolean, campaignNumber: number): void; declare function SetCinematicAvailableBJ(available: boolean, cinematicIndex: number): void; declare function InitGameCacheBJ(campaignFile: string): gamecache; declare function SaveGameCacheBJ(cache: gamecache): boolean; declare function GetLastCreatedGameCacheBJ(): gamecache; declare function InitHashtableBJ(): hashtable; declare function GetLastCreatedHashtableBJ(): hashtable; declare function StoreRealBJ(value: number, key: string, missionKey: string, cache: gamecache): void; declare function StoreIntegerBJ(value: number, key: string, missionKey: string, cache: gamecache): void; declare function StoreBooleanBJ(value: boolean, key: string, missionKey: string, cache: gamecache): void; declare function StoreStringBJ(value: string, key: string, missionKey: string, cache: gamecache): boolean; declare function StoreUnitBJ(whichUnit: unit, key: string, missionKey: string, cache: gamecache): boolean; declare function SaveRealBJ(value: number, key: number, missionKey: number, table: hashtable): void; declare function SaveIntegerBJ(value: number, key: number, missionKey: number, table: hashtable): void; declare function SaveBooleanBJ(value: boolean, key: number, missionKey: number, table: hashtable): void; declare function SaveStringBJ(value: string, key: number, missionKey: number, table: hashtable): boolean; declare function SavePlayerHandleBJ(whichPlayer: player, key: number, missionKey: number, table: hashtable): boolean; declare function SaveWidgetHandleBJ(whichWidget: widget, key: number, missionKey: number, table: hashtable): boolean; declare function SaveDestructableHandleBJ(whichDestructable: destructable, key: number, missionKey: number, table: hashtable): boolean; declare function SaveItemHandleBJ(whichItem: item, key: number, missionKey: number, table: hashtable): boolean; declare function SaveUnitHandleBJ(whichUnit: unit, key: number, missionKey: number, table: hashtable): boolean; declare function SaveAbilityHandleBJ(whichAbility: ability, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTimerHandleBJ(whichTimer: timer, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTriggerHandleBJ(whichTrigger: trigger, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTriggerConditionHandleBJ(whichTriggercondition: triggercondition, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTriggerActionHandleBJ(whichTriggeraction: triggeraction, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTriggerEventHandleBJ(whichEvent: event, key: number, missionKey: number, table: hashtable): boolean; declare function SaveForceHandleBJ(whichForce: force, key: number, missionKey: number, table: hashtable): boolean; declare function SaveGroupHandleBJ(whichGroup: group, key: number, missionKey: number, table: hashtable): boolean; declare function SaveLocationHandleBJ(whichLocation: location, key: number, missionKey: number, table: hashtable): boolean; declare function SaveRectHandleBJ(whichRect: rect, key: number, missionKey: number, table: hashtable): boolean; declare function SaveBooleanExprHandleBJ(whichBoolexpr: boolexpr | (() => boolean) | null, key: number, missionKey: number, table: hashtable): boolean; declare function SaveSoundHandleBJ(whichSound: sound, key: number, missionKey: number, table: hashtable): boolean; declare function SaveEffectHandleBJ(whichEffect: effect, key: number, missionKey: number, table: hashtable): boolean; declare function SaveUnitPoolHandleBJ(whichUnitpool: unitpool, key: number, missionKey: number, table: hashtable): boolean; declare function SaveItemPoolHandleBJ(whichItempool: itempool, key: number, missionKey: number, table: hashtable): boolean; declare function SaveQuestHandleBJ(whichQuest: quest, key: number, missionKey: number, table: hashtable): boolean; declare function SaveQuestItemHandleBJ(whichQuestitem: questitem, key: number, missionKey: number, table: hashtable): boolean; declare function SaveDefeatConditionHandleBJ(whichDefeatcondition: defeatcondition, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTimerDialogHandleBJ(whichTimerdialog: timerdialog, key: number, missionKey: number, table: hashtable): boolean; declare function SaveLeaderboardHandleBJ(whichLeaderboard: leaderboard, key: number, missionKey: number, table: hashtable): boolean; declare function SaveMultiboardHandleBJ(whichMultiboard: multiboard, key: number, missionKey: number, table: hashtable): boolean; declare function SaveMultiboardItemHandleBJ(whichMultiboarditem: multiboarditem, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTrackableHandleBJ(whichTrackable: trackable, key: number, missionKey: number, table: hashtable): boolean; declare function SaveDialogHandleBJ(whichDialog: dialog, key: number, missionKey: number, table: hashtable): boolean; declare function SaveButtonHandleBJ(whichButton: button, key: number, missionKey: number, table: hashtable): boolean; declare function SaveTextTagHandleBJ(whichTexttag: texttag, key: number, missionKey: number, table: hashtable): boolean; declare function SaveLightningHandleBJ(whichLightning: lightning, key: number, missionKey: number, table: hashtable): boolean; declare function SaveImageHandleBJ(whichImage: image, key: number, missionKey: number, table: hashtable): boolean; declare function SaveUbersplatHandleBJ(whichUbersplat: ubersplat, key: number, missionKey: number, table: hashtable): boolean; declare function SaveRegionHandleBJ(whichRegion: region, key: number, missionKey: number, table: hashtable): boolean; declare function SaveFogStateHandleBJ(whichFogState: fogstate, key: number, missionKey: number, table: hashtable): boolean; declare function SaveFogModifierHandleBJ(whichFogModifier: fogmodifier, key: number, missionKey: number, table: hashtable): boolean; declare function SaveAgentHandleBJ(whichAgent: agent, key: number, missionKey: number, table: hashtable): boolean; declare function SaveHashtableHandleBJ(whichHashtable: hashtable, key: number, missionKey: number, table: hashtable): boolean; declare function GetStoredRealBJ(key: string, missionKey: string, cache: gamecache): number; declare function GetStoredIntegerBJ(key: string, missionKey: string, cache: gamecache): number; declare function GetStoredBooleanBJ(key: string, missionKey: string, cache: gamecache): boolean; declare function GetStoredStringBJ(key: string, missionKey: string, cache: gamecache): string; declare function LoadRealBJ(key: number, missionKey: number, table: hashtable): number; declare function LoadIntegerBJ(key: number, missionKey: number, table: hashtable): number; declare function LoadBooleanBJ(key: number, missionKey: number, table: hashtable): boolean; declare function LoadStringBJ(key: number, missionKey: number, table: hashtable): string; declare function LoadPlayerHandleBJ(key: number, missionKey: number, table: hashtable): player; declare function LoadWidgetHandleBJ(key: number, missionKey: number, table: hashtable): widget; declare function LoadDestructableHandleBJ(key: number, missionKey: number, table: hashtable): destructable; declare function LoadItemHandleBJ(key: number, missionKey: number, table: hashtable): item; declare function LoadUnitHandleBJ(key: number, missionKey: number, table: hashtable): unit; declare function LoadAbilityHandleBJ(key: number, missionKey: number, table: hashtable): ability; declare function LoadTimerHandleBJ(key: number, missionKey: number, table: hashtable): timer; declare function LoadTriggerHandleBJ(key: number, missionKey: number, table: hashtable): trigger; declare function LoadTriggerConditionHandleBJ(key: number, missionKey: number, table: hashtable): triggercondition; declare function LoadTriggerActionHandleBJ(key: number, missionKey: number, table: hashtable): triggeraction; declare function LoadTriggerEventHandleBJ(key: number, missionKey: number, table: hashtable): event; declare function LoadForceHandleBJ(key: number, missionKey: number, table: hashtable): force; declare function LoadGroupHandleBJ(key: number, missionKey: number, table: hashtable): group; declare function LoadLocationHandleBJ(key: number, missionKey: number, table: hashtable): location; declare function LoadRectHandleBJ(key: number, missionKey: number, table: hashtable): rect; declare function LoadBooleanExprHandleBJ(key: number, missionKey: number, table: hashtable): boolexpr; declare function LoadSoundHandleBJ(key: number, missionKey: number, table: hashtable): sound; declare function LoadEffectHandleBJ(key: number, missionKey: number, table: hashtable): effect; declare function LoadUnitPoolHandleBJ(key: number, missionKey: number, table: hashtable): unitpool; declare function LoadItemPoolHandleBJ(key: number, missionKey: number, table: hashtable): itempool; declare function LoadQuestHandleBJ(key: number, missionKey: number, table: hashtable): quest; declare function LoadQuestItemHandleBJ(key: number, missionKey: number, table: hashtable): questitem; declare function LoadDefeatConditionHandleBJ(key: number, missionKey: number, table: hashtable): defeatcondition; declare function LoadTimerDialogHandleBJ(key: number, missionKey: number, table: hashtable): timerdialog; declare function LoadLeaderboardHandleBJ(key: number, missionKey: number, table: hashtable): leaderboard; declare function LoadMultiboardHandleBJ(key: number, missionKey: number, table: hashtable): multiboard; declare function LoadMultiboardItemHandleBJ(key: number, missionKey: number, table: hashtable): multiboarditem; declare function LoadTrackableHandleBJ(key: number, missionKey: number, table: hashtable): trackable; declare function LoadDialogHandleBJ(key: number, missionKey: number, table: hashtable): dialog; declare function LoadButtonHandleBJ(key: number, missionKey: number, table: hashtable): button; declare function LoadTextTagHandleBJ(key: number, missionKey: number, table: hashtable): texttag; declare function LoadLightningHandleBJ(key: number, missionKey: number, table: hashtable): lightning; declare function LoadImageHandleBJ(key: number, missionKey: number, table: hashtable): image; declare function LoadUbersplatHandleBJ(key: number, missionKey: number, table: hashtable): ubersplat; declare function LoadRegionHandleBJ(key: number, missionKey: number, table: hashtable): region; declare function LoadFogStateHandleBJ(key: number, missionKey: number, table: hashtable): fogstate; declare function LoadFogModifierHandleBJ(key: number, missionKey: number, table: hashtable): fogmodifier; declare function LoadHashtableHandleBJ(key: number, missionKey: number, table: hashtable): hashtable; declare function RestoreUnitLocFacingAngleBJ(key: string, missionKey: string, cache: gamecache, forWhichPlayer: player, loc: location, facing: number): unit; declare function RestoreUnitLocFacingPointBJ(key: string, missionKey: string, cache: gamecache, forWhichPlayer: player, loc: location, lookAt: location): unit; declare function GetLastRestoredUnitBJ(): unit; declare function FlushGameCacheBJ(cache: gamecache): void; declare function FlushStoredMissionBJ(missionKey: string, cache: gamecache): void; declare function FlushParentHashtableBJ(table: hashtable): void; declare function FlushChildHashtableBJ(missionKey: number, table: hashtable): void; declare function HaveStoredValue(key: string, valueType: number, missionKey: string, cache: gamecache): boolean; declare function HaveSavedValue(key: number, valueType: number, missionKey: number, table: hashtable): boolean; declare function ShowCustomCampaignButton(show: boolean, whichButton: number): void; declare function IsCustomCampaignButtonVisibile(whichButton: number): boolean; declare function SaveGameCheckPointBJ(mapSaveName: string, doCheckpointHint: boolean): void; declare function LoadGameBJ(loadFileName: string, doScoreScreen: boolean): void; declare function SaveAndChangeLevelBJ(saveFileName: string, newLevel: string, doScoreScreen: boolean): void; declare function SaveAndLoadGameBJ(saveFileName: string, loadFileName: string, doScoreScreen: boolean): void; declare function RenameSaveDirectoryBJ(sourceDirName: string, destDirName: string): boolean; declare function RemoveSaveDirectoryBJ(sourceDirName: string): boolean; declare function CopySaveGameBJ(sourceSaveName: string, destSaveName: string): boolean; declare function GetPlayerStartLocationX(whichPlayer: player): number; declare function GetPlayerStartLocationY(whichPlayer: player): number; declare function GetPlayerStartLocationLoc(whichPlayer: player): location; declare function GetRectCenter(whichRect: rect): location; declare function IsPlayerSlotState(whichPlayer: player, whichState: playerslotstate): boolean; declare function GetFadeFromSeconds(seconds: number): number; declare function GetFadeFromSecondsAsReal(seconds: number): number; declare function AdjustPlayerStateSimpleBJ(whichPlayer: player, whichPlayerState: playerstate, delta: number): void; declare function AdjustPlayerStateBJ(delta: number, whichPlayer: player, whichPlayerState: playerstate): void; declare function SetPlayerStateBJ(whichPlayer: player, whichPlayerState: playerstate, value: number): void; declare function SetPlayerFlagBJ(whichPlayerFlag: playerstate, flag: boolean, whichPlayer: player): void; declare function SetPlayerTaxRateBJ(rate: number, whichResource: playerstate, sourcePlayer: player, otherPlayer: player): void; declare function GetPlayerTaxRateBJ(whichResource: playerstate, sourcePlayer: player, otherPlayer: player): number; declare function IsPlayerFlagSetBJ(whichPlayerFlag: playerstate, whichPlayer: player): boolean; declare function AddResourceAmountBJ(delta: number, whichUnit: unit): void; declare function GetConvertedPlayerId(whichPlayer: player): number; declare function ConvertedPlayer(convertedPlayerId: number): player; declare function GetRectWidthBJ(r: rect): number; declare function GetRectHeightBJ(r: rect): number; declare function BlightGoldMineForPlayerBJ(goldMine: unit, whichPlayer: player): unit; declare function BlightGoldMineForPlayer(goldMine: unit, whichPlayer: player): unit; declare function GetLastHauntedGoldMine(): unit; declare function IsPointBlightedBJ(where: location): boolean; declare function SetPlayerColorBJEnum(): void; declare function SetPlayerColorBJ(whichPlayer: player, color: playercolor, changeExisting: boolean): void; declare function SetPlayerUnitAvailableBJ(unitId: number, allowed: boolean, whichPlayer: player): void; declare function LockGameSpeedBJ(): void; declare function UnlockGameSpeedBJ(): void; declare function IssueTargetOrderBJ(whichUnit: unit, order: string, targetWidget: widget): boolean; declare function IssuePointOrderLocBJ(whichUnit: unit, order: string, whichLocation: location): boolean; declare function IssueTargetDestructableOrder(whichUnit: unit, order: string, targetWidget: widget): boolean; declare function IssueTargetItemOrder(whichUnit: unit, order: string, targetWidget: widget): boolean; declare function IssueImmediateOrderBJ(whichUnit: unit, order: string): boolean; declare function GroupTargetOrderBJ(whichGroup: group, order: string, targetWidget: widget): boolean; declare function GroupPointOrderLocBJ(whichGroup: group, order: string, whichLocation: location): boolean; declare function GroupImmediateOrderBJ(whichGroup: group, order: string): boolean; declare function GroupTargetDestructableOrder(whichGroup: group, order: string, targetWidget: widget): boolean; declare function GroupTargetItemOrder(whichGroup: group, order: string, targetWidget: widget): boolean; declare function GetDyingDestructable(): destructable; declare function SetUnitRallyPoint(whichUnit: unit, targPos: location): void; declare function SetUnitRallyUnit(whichUnit: unit, targUnit: unit): void; declare function SetUnitRallyDestructable(whichUnit: unit, targDest: destructable): void; declare function SaveDyingWidget(): void; declare function SetBlightRectBJ(addBlight: boolean, whichPlayer: player, r: rect): void; declare function SetBlightRadiusLocBJ(addBlight: boolean, whichPlayer: player, loc: location, radius: number): void; declare function GetAbilityName(abilcode: number): string; declare function MeleeStartingVisibility(): void; declare function MeleeStartingResources(): void; declare function ReducePlayerTechMaxAllowed(whichPlayer: player, techId: number, limit: number): void; declare function MeleeStartingHeroLimit(): void; declare function MeleeTrainedUnitIsHeroBJFilter(): boolean; declare function MeleeGrantItemsToHero(whichUnit: unit): void; declare function MeleeGrantItemsToTrainedHero(): void; declare function MeleeGrantItemsToHiredHero(): void; declare function MeleeGrantHeroItems(): void; declare function MeleeClearExcessUnit(): void; declare function MeleeClearNearbyUnits(x: number, y: number, range: number): void; declare function MeleeClearExcessUnits(): void; declare function MeleeEnumFindNearestMine(): void; declare function MeleeFindNearestMine(src: location, range: number): unit; declare function MeleeRandomHeroLoc(p: player, id1: number, id2: number, id3: number, id4: number, loc: location): unit; declare function MeleeGetProjectedLoc(src: location, targ: location, distance: number, deltaAngle: number): location; declare function MeleeGetNearestValueWithin(val: number, minVal: number, maxVal: number): number; declare function MeleeGetLocWithinRect(src: location, r: rect): location; declare function MeleeStartingUnitsHuman(whichPlayer: player, startLoc: location, doHeroes: boolean, doCamera: boolean, doPreload: boolean): void; declare function MeleeStartingUnitsOrc(whichPlayer: player, startLoc: location, doHeroes: boolean, doCamera: boolean, doPreload: boolean): void; declare function MeleeStartingUnitsUndead(whichPlayer: player, startLoc: location, doHeroes: boolean, doCamera: boolean, doPreload: boolean): void; declare function MeleeStartingUnitsNightElf(whichPlayer: player, startLoc: location, doHeroes: boolean, doCamera: boolean, doPreload: boolean): void; declare function MeleeStartingUnitsUnknownRace(whichPlayer: player, startLoc: location, doHeroes: boolean, doCamera: boolean, doPreload: boolean): void; declare function MeleeStartingUnits(): void; declare function MeleeStartingUnitsForPlayer(whichRace: race, whichPlayer: player, loc: location, doHeroes: boolean): void; declare function PickMeleeAI(num: player, s1: string, s2: string, s3: string): void; declare function MeleeStartingAI(): void; declare function LockGuardPosition(targ: unit): void; declare function MeleePlayerIsOpponent(playerIndex: number, opponentIndex: number): boolean; declare function MeleeGetAllyStructureCount(whichPlayer: player): number; declare function MeleeGetAllyCount(whichPlayer: player): number; declare function MeleeGetAllyKeyStructureCount(whichPlayer: player): number; declare function MeleeDoDrawEnum(): void; declare function MeleeDoVictoryEnum(): void; declare function MeleeDoDefeat(whichPlayer: player): void; declare function MeleeDoDefeatEnum(): void; declare function MeleeDoLeave(whichPlayer: player): void; declare function MeleeRemoveObservers(): void; declare function MeleeCheckForVictors(): force; declare function MeleeCheckForLosersAndVictors(): void; declare function MeleeGetCrippledWarningMessage(whichPlayer: player): string; declare function MeleeGetCrippledTimerMessage(whichPlayer: player): string; declare function MeleeGetCrippledRevealedMessage(whichPlayer: player): string; declare function MeleeExposePlayer(whichPlayer: player, expose: boolean): void; declare function MeleeExposeAllPlayers(): void; declare function MeleeCrippledPlayerTimeout(): void; declare function MeleePlayerIsCrippled(whichPlayer: player): boolean; declare function MeleeCheckForCrippledPlayers(): void; declare function MeleeCheckLostUnit(lostUnit: unit): void; declare function MeleeCheckAddedUnit(addedUnit: unit): void; declare function MeleeTriggerActionConstructCancel(): void; declare function MeleeTriggerActionUnitDeath(): void; declare function MeleeTriggerActionUnitConstructionStart(): void; declare function MeleeTriggerActionPlayerDefeated(): void; declare function MeleeTriggerActionPlayerLeft(): void; declare function MeleeTriggerActionAllianceChange(): void; declare function MeleeTriggerTournamentFinishSoon(): void; declare function MeleeWasUserPlayer(whichPlayer: player): boolean; declare function MeleeTournamentFinishNowRuleA(multiplier: number): void; declare function MeleeTriggerTournamentFinishNow(): void; declare function MeleeInitVictoryDefeat(): void; declare function CheckInitPlayerSlotAvailability(): void; declare function SetPlayerSlotAvailable(whichPlayer: player, control: mapcontrol): void; declare function TeamInitPlayerSlots(teamCount: number): void; declare function MeleeInitPlayerSlots(): void; declare function FFAInitPlayerSlots(): void; declare function OneOnOneInitPlayerSlots(): void; declare function InitGenericPlayerSlots(): void; declare function SetDNCSoundsDawn(): void; declare function SetDNCSoundsDusk(): void; declare function SetDNCSoundsDay(): void; declare function SetDNCSoundsNight(): void; declare function InitDNCSounds(): void; declare function InitBlizzardGlobals(): void; declare function InitQueuedTriggers(): void; declare function InitMapRects(): void; declare function InitSummonableCaps(): void; declare function UpdateStockAvailability(whichItem: item): void; declare function UpdateEachStockBuildingEnum(): void; declare function UpdateEachStockBuilding(iType: itemtype, iLevel: number): void; declare function PerformStockUpdates(): void; declare function StartStockUpdates(): void; declare function RemovePurchasedItem(): void; declare function InitNeutralBuildings(): void; declare function MarkGameStarted(): void; declare function DetectGameStarted(): void; declare function InitBlizzard(): void; declare function RandomDistReset(): void; declare function RandomDistAddItem(inID: number, inChance: number): void; declare function RandomDistChoose(): number; declare function UnitDropItem(inUnit: unit, inItemID: number): item; declare function WidgetDropItem(inWidget: widget, inItemID: number): item; declare function BlzIsLastInstanceObjectFunctionSuccessful(): boolean; declare function BlzSetAbilityBooleanFieldBJ(whichAbility: ability, whichField: abilitybooleanfield, value: boolean): void; declare function BlzSetAbilityIntegerFieldBJ(whichAbility: ability, whichField: abilityintegerfield, value: number): void; declare function BlzSetAbilityRealFieldBJ(whichAbility: ability, whichField: abilityrealfield, value: number): void; declare function BlzSetAbilityStringFieldBJ(whichAbility: ability, whichField: abilitystringfield, value: string): void; declare function BlzSetAbilityBooleanLevelFieldBJ(whichAbility: ability, whichField: abilitybooleanlevelfield, level: number, value: boolean): void; declare function BlzSetAbilityIntegerLevelFieldBJ(whichAbility: ability, whichField: abilityintegerlevelfield, level: number, value: number): void; declare function BlzSetAbilityRealLevelFieldBJ(whichAbility: ability, whichField: abilityreallevelfield, level: number, value: number): void; declare function BlzSetAbilityStringLevelFieldBJ(whichAbility: ability, whichField: abilitystringlevelfield, level: number, value: string): void; declare function BlzSetAbilityBooleanLevelArrayFieldBJ(whichAbility: ability, whichField: abilitybooleanlevelarrayfield, level: number, index: number, value: boolean): void; declare function BlzSetAbilityIntegerLevelArrayFieldBJ(whichAbility: ability, whichField: abilityintegerlevelarrayfield, level: number, index: number, value: number): void; declare function BlzSetAbilityRealLevelArrayFieldBJ(whichAbility: ability, whichField: abilityreallevelarrayfield, level: number, index: number, value: number): void; declare function BlzSetAbilityStringLevelArrayFieldBJ(whichAbility: ability, whichField: abilitystringlevelarrayfield, level: number, index: number, value: string): void; declare function BlzAddAbilityBooleanLevelArrayFieldBJ(whichAbility: ability, whichField: abilitybooleanlevelarrayfield, level: number, value: boolean): void; declare function BlzAddAbilityIntegerLevelArrayFieldBJ(whichAbility: ability, whichField: abilityintegerlevelarrayfield, level: number, value: number): void; declare function BlzAddAbilityRealLevelArrayFieldBJ(whichAbility: ability, whichField: abilityreallevelarrayfield, level: number, value: number): void; declare function BlzAddAbilityStringLevelArrayFieldBJ(whichAbility: ability, whichField: abilitystringlevelarrayfield, level: number, value: string): void; declare function BlzRemoveAbilityBooleanLevelArrayFieldBJ(whichAbility: ability, whichField: abilitybooleanlevelarrayfield, level: number, value: boolean): void; declare function BlzRemoveAbilityIntegerLevelArrayFieldBJ(whichAbility: ability, whichField: abilityintegerlevelarrayfield, level: number, value: number): void; declare function BlzRemoveAbilityRealLevelArrayFieldBJ(whichAbility: ability, whichField: abilityreallevelarrayfield, level: number, value: number): void; declare function BlzRemoveAbilityStringLevelArrayFieldBJ(whichAbility: ability, whichField: abilitystringlevelarrayfield, level: number, value: string): void; declare function BlzItemAddAbilityBJ(whichItem: item, abilCode: number): void; declare function BlzItemRemoveAbilityBJ(whichItem: item, abilCode: number): void; declare function BlzSetItemBooleanFieldBJ(whichItem: item, whichField: itembooleanfield, value: boolean): void; declare function BlzSetItemIntegerFieldBJ(whichItem: item, whichField: itemintegerfield, value: number): void; declare function BlzSetItemRealFieldBJ(whichItem: item, whichField: itemrealfield, value: number): void; declare function BlzSetItemStringFieldBJ(whichItem: item, whichField: itemstringfield, value: string): void; declare function BlzSetUnitBooleanFieldBJ(whichUnit: unit, whichField: unitbooleanfield, value: boolean): void; declare function BlzSetUnitIntegerFieldBJ(whichUnit: unit, whichField: unitintegerfield, value: number): void; declare function BlzSetUnitRealFieldBJ(whichUnit: unit, whichField: unitrealfield, value: number): void; declare function BlzSetUnitStringFieldBJ(whichUnit: unit, whichField: unitstringfield, value: string): void; declare function BlzSetUnitWeaponBooleanFieldBJ(whichUnit: unit, whichField: unitweaponbooleanfield, index: number, value: boolean): void; declare function BlzSetUnitWeaponIntegerFieldBJ(whichUnit: unit, whichField: unitweaponintegerfield, index: number, value: number): void; declare function BlzSetUnitWeaponRealFieldBJ(whichUnit: unit, whichField: unitweaponrealfield, index: number, value: number): void; declare function BlzSetUnitWeaponStringFieldBJ(whichUnit: unit, whichField: unitweaponstringfield, index: number, value: string): void;