- Joined
- Apr 20, 2010
- Messages
- 797
If memory serves me right then bj_wantDestroyGroup (in set bj_wantDestroyGroup = True) isn't the only one, there's also another one for removing special effects. Is there a list of similar bj_ variables?
globals
//-----------------------------------------------------------------------
// Constants
//
// Misc constants
constant real bj_PI = 3.14159
constant real bj_E = 2.71828
constant real bj_CELLWIDTH = 128.0
constant real bj_CLIFFHEIGHT = 128.0
constant real bj_UNIT_FACING = 270.0
constant real bj_RADTODEG = 180.0/bj_PI
constant real bj_DEGTORAD = bj_PI/180.0
constant real bj_TEXT_DELAY_QUEST = 20.00
constant real bj_TEXT_DELAY_QUESTUPDATE = 20.00
constant real bj_TEXT_DELAY_QUESTDONE = 20.00
constant real bj_TEXT_DELAY_QUESTFAILED = 20.00
constant real bj_TEXT_DELAY_QUESTREQUIREMENT = 20.00
constant real bj_TEXT_DELAY_MISSIONFAILED = 20.00
constant real bj_TEXT_DELAY_ALWAYSHINT = 12.00
constant real bj_TEXT_DELAY_HINT = 12.00
constant real bj_TEXT_DELAY_SECRET = 10.00
constant real bj_TEXT_DELAY_UNITACQUIRED = 15.00
constant real bj_TEXT_DELAY_UNITAVAILABLE = 10.00
constant real bj_TEXT_DELAY_ITEMACQUIRED = 10.00
constant real bj_TEXT_DELAY_WARNING = 12.00
constant real bj_QUEUE_DELAY_QUEST = 5.00
constant real bj_QUEUE_DELAY_HINT = 5.00
constant real bj_QUEUE_DELAY_SECRET = 3.00
constant real bj_HANDICAP_EASY = 60.00
constant real bj_GAME_STARTED_THRESHOLD = 0.01
constant real bj_WAIT_FOR_COND_MIN_INTERVAL = 0.10
constant real bj_POLLED_WAIT_INTERVAL = 0.10
constant real bj_POLLED_WAIT_SKIP_THRESHOLD = 2.00
// Game constants
constant integer bj_MAX_INVENTORY = 6
constant integer bj_MAX_PLAYERS = 12
constant integer bj_PLAYER_NEUTRAL_VICTIM = 13
constant integer bj_PLAYER_NEUTRAL_EXTRA = 14
constant integer bj_MAX_PLAYER_SLOTS = 16
constant integer bj_MAX_SKELETONS = 25
constant integer bj_MAX_STOCK_ITEM_SLOTS = 11
constant integer bj_MAX_STOCK_UNIT_SLOTS = 11
constant integer bj_MAX_ITEM_LEVEL = 10
// Ideally these would be looked up from Units/MiscData.txt,
// but there is currently no script functionality exposed to do that
constant real bj_TOD_DAWN = 6.00
constant real bj_TOD_DUSK = 18.00
// Melee game settings:
// - Starting Time of Day (TOD)
// - Starting Gold
// - Starting Lumber
// - Starting Hero Tokens (free heroes)
// - Max heroes allowed per player
// - Max heroes allowed per hero type
// - Distance from start loc to search for nearby mines
//
constant real bj_MELEE_STARTING_TOD = 8.00
constant integer bj_MELEE_STARTING_GOLD_V0 = 750
constant integer bj_MELEE_STARTING_GOLD_V1 = 500
constant integer bj_MELEE_STARTING_LUMBER_V0 = 200
constant integer bj_MELEE_STARTING_LUMBER_V1 = 150
constant integer bj_MELEE_STARTING_HERO_TOKENS = 1
constant integer bj_MELEE_HERO_LIMIT = 3
constant integer bj_MELEE_HERO_TYPE_LIMIT = 1
constant real bj_MELEE_MINE_SEARCH_RADIUS = 2000
constant real bj_MELEE_CLEAR_UNITS_RADIUS = 1500
constant real bj_MELEE_CRIPPLE_TIMEOUT = 120.00
constant real bj_MELEE_CRIPPLE_MSG_DURATION = 20.00
constant integer bj_MELEE_MAX_TWINKED_HEROES_V0 = 3
constant integer bj_MELEE_MAX_TWINKED_HEROES_V1 = 1
// Delay between a creep's death and the time it may drop an item.
constant real bj_CREEP_ITEM_DELAY = 0.50
// Timing settings for Marketplace inventories.
constant real bj_STOCK_RESTOCK_INITIAL_DELAY = 120
constant real bj_STOCK_RESTOCK_INTERVAL = 30
constant integer bj_STOCK_MAX_ITERATIONS = 20
// Max events registered by a single "dest dies in region" event.
constant integer bj_MAX_DEST_IN_REGION_EVENTS = 64
// Camera settings
constant integer bj_CAMERA_MIN_FARZ = 100
constant integer bj_CAMERA_DEFAULT_DISTANCE = 1650
constant integer bj_CAMERA_DEFAULT_FARZ = 5000
constant integer bj_CAMERA_DEFAULT_AOA = 304
constant integer bj_CAMERA_DEFAULT_FOV = 70
constant integer bj_CAMERA_DEFAULT_ROLL = 0
constant integer bj_CAMERA_DEFAULT_ROTATION = 90
// Rescue
constant real bj_RESCUE_PING_TIME = 2.00
// Transmission behavior settings
constant real bj_NOTHING_SOUND_DURATION = 5.00
constant real bj_TRANSMISSION_PING_TIME = 1.00
constant integer bj_TRANSMISSION_IND_RED = 255
constant integer bj_TRANSMISSION_IND_BLUE = 255
constant integer bj_TRANSMISSION_IND_GREEN = 255
constant integer bj_TRANSMISSION_IND_ALPHA = 255
constant real bj_TRANSMISSION_PORT_HANGTIME = 1.50
// Cinematic mode settings
constant real bj_CINEMODE_INTERFACEFADE = 0.50
constant gamespeed bj_CINEMODE_GAMESPEED = MAP_SPEED_NORMAL
// Cinematic mode volume levels
constant real bj_CINEMODE_VOLUME_UNITMOVEMENT = 0.40
constant real bj_CINEMODE_VOLUME_UNITSOUNDS = 0.00
constant real bj_CINEMODE_VOLUME_COMBAT = 0.40
constant real bj_CINEMODE_VOLUME_SPELLS = 0.40
constant real bj_CINEMODE_VOLUME_UI = 0.00
constant real bj_CINEMODE_VOLUME_MUSIC = 0.55
constant real bj_CINEMODE_VOLUME_AMBIENTSOUNDS = 1.00
constant real bj_CINEMODE_VOLUME_FIRE = 0.60
// Speech mode volume levels
constant real bj_SPEECH_VOLUME_UNITMOVEMENT = 0.25
constant real bj_SPEECH_VOLUME_UNITSOUNDS = 0.00
constant real bj_SPEECH_VOLUME_COMBAT = 0.25
constant real bj_SPEECH_VOLUME_SPELLS = 0.25
constant real bj_SPEECH_VOLUME_UI = 0.00
constant real bj_SPEECH_VOLUME_MUSIC = 0.55
constant real bj_SPEECH_VOLUME_AMBIENTSOUNDS = 1.00
constant real bj_SPEECH_VOLUME_FIRE = 0.60
// Smart pan settings
constant real bj_SMARTPAN_TRESHOLD_PAN = 500
constant real bj_SMARTPAN_TRESHOLD_SNAP = 3500
// QueuedTriggerExecute settings
constant integer bj_MAX_QUEUED_TRIGGERS = 100
constant real bj_QUEUED_TRIGGER_TIMEOUT = 180.00
// Campaign indexing constants
constant integer bj_CAMPAIGN_INDEX_T = 0
constant integer bj_CAMPAIGN_INDEX_H = 1
constant integer bj_CAMPAIGN_INDEX_U = 2
constant integer bj_CAMPAIGN_INDEX_O = 3
constant integer bj_CAMPAIGN_INDEX_N = 4
constant integer bj_CAMPAIGN_INDEX_XN = 5
constant integer bj_CAMPAIGN_INDEX_XH = 6
constant integer bj_CAMPAIGN_INDEX_XU = 7
constant integer bj_CAMPAIGN_INDEX_XO = 8
// Campaign offset constants (for mission indexing)
constant integer bj_CAMPAIGN_OFFSET_T = 0
constant integer bj_CAMPAIGN_OFFSET_H = 1
constant integer bj_CAMPAIGN_OFFSET_U = 2
constant integer bj_CAMPAIGN_OFFSET_O = 3
constant integer bj_CAMPAIGN_OFFSET_N = 4
constant integer bj_CAMPAIGN_OFFSET_XN = 0
constant integer bj_CAMPAIGN_OFFSET_XH = 1
constant integer bj_CAMPAIGN_OFFSET_XU = 2
constant integer bj_CAMPAIGN_OFFSET_XO = 3
// Mission indexing constants
// Tutorial
constant integer bj_MISSION_INDEX_T00 = bj_CAMPAIGN_OFFSET_T * 1000 + 0
constant integer bj_MISSION_INDEX_T01 = bj_CAMPAIGN_OFFSET_T * 1000 + 1
// Human
constant integer bj_MISSION_INDEX_H00 = bj_CAMPAIGN_OFFSET_H * 1000 + 0
constant integer bj_MISSION_INDEX_H01 = bj_CAMPAIGN_OFFSET_H * 1000 + 1
constant integer bj_MISSION_INDEX_H02 = bj_CAMPAIGN_OFFSET_H * 1000 + 2
constant integer bj_MISSION_INDEX_H03 = bj_CAMPAIGN_OFFSET_H * 1000 + 3
constant integer bj_MISSION_INDEX_H04 = bj_CAMPAIGN_OFFSET_H * 1000 + 4
constant integer bj_MISSION_INDEX_H05 = bj_CAMPAIGN_OFFSET_H * 1000 + 5
constant integer bj_MISSION_INDEX_H06 = bj_CAMPAIGN_OFFSET_H * 1000 + 6
constant integer bj_MISSION_INDEX_H07 = bj_CAMPAIGN_OFFSET_H * 1000 + 7
constant integer bj_MISSION_INDEX_H08 = bj_CAMPAIGN_OFFSET_H * 1000 + 8
constant integer bj_MISSION_INDEX_H09 = bj_CAMPAIGN_OFFSET_H * 1000 + 9
constant integer bj_MISSION_INDEX_H10 = bj_CAMPAIGN_OFFSET_H * 1000 + 10
constant integer bj_MISSION_INDEX_H11 = bj_CAMPAIGN_OFFSET_H * 1000 + 11
// Undead
constant integer bj_MISSION_INDEX_U00 = bj_CAMPAIGN_OFFSET_U * 1000 + 0
constant integer bj_MISSION_INDEX_U01 = bj_CAMPAIGN_OFFSET_U * 1000 + 1
constant integer bj_MISSION_INDEX_U02 = bj_CAMPAIGN_OFFSET_U * 1000 + 2
constant integer bj_MISSION_INDEX_U03 = bj_CAMPAIGN_OFFSET_U * 1000 + 3
constant integer bj_MISSION_INDEX_U05 = bj_CAMPAIGN_OFFSET_U * 1000 + 4
constant integer bj_MISSION_INDEX_U07 = bj_CAMPAIGN_OFFSET_U * 1000 + 5
constant integer bj_MISSION_INDEX_U08 = bj_CAMPAIGN_OFFSET_U * 1000 + 6
constant integer bj_MISSION_INDEX_U09 = bj_CAMPAIGN_OFFSET_U * 1000 + 7
constant integer bj_MISSION_INDEX_U10 = bj_CAMPAIGN_OFFSET_U * 1000 + 8
constant integer bj_MISSION_INDEX_U11 = bj_CAMPAIGN_OFFSET_U * 1000 + 9
// Orc
constant integer bj_MISSION_INDEX_O00 = bj_CAMPAIGN_OFFSET_O * 1000 + 0
constant integer bj_MISSION_INDEX_O01 = bj_CAMPAIGN_OFFSET_O * 1000 + 1
constant integer bj_MISSION_INDEX_O02 = bj_CAMPAIGN_OFFSET_O * 1000 + 2
constant integer bj_MISSION_INDEX_O03 = bj_CAMPAIGN_OFFSET_O * 1000 + 3
constant integer bj_MISSION_INDEX_O04 = bj_CAMPAIGN_OFFSET_O * 1000 + 4
constant integer bj_MISSION_INDEX_O05 = bj_CAMPAIGN_OFFSET_O * 1000 + 5
constant integer bj_MISSION_INDEX_O06 = bj_CAMPAIGN_OFFSET_O * 1000 + 6
constant integer bj_MISSION_INDEX_O07 = bj_CAMPAIGN_OFFSET_O * 1000 + 7
constant integer bj_MISSION_INDEX_O08 = bj_CAMPAIGN_OFFSET_O * 1000 + 8
constant integer bj_MISSION_INDEX_O09 = bj_CAMPAIGN_OFFSET_O * 1000 + 9
constant integer bj_MISSION_INDEX_O10 = bj_CAMPAIGN_OFFSET_O * 1000 + 10
// Night Elf
constant integer bj_MISSION_INDEX_N00 = bj_CAMPAIGN_OFFSET_N * 1000 + 0
constant integer bj_MISSION_INDEX_N01 = bj_CAMPAIGN_OFFSET_N * 1000 + 1
constant integer bj_MISSION_INDEX_N02 = bj_CAMPAIGN_OFFSET_N * 1000 + 2
constant integer bj_MISSION_INDEX_N03 = bj_CAMPAIGN_OFFSET_N * 1000 + 3
constant integer bj_MISSION_INDEX_N04 = bj_CAMPAIGN_OFFSET_N * 1000 + 4
constant integer bj_MISSION_INDEX_N05 = bj_CAMPAIGN_OFFSET_N * 1000 + 5
constant integer bj_MISSION_INDEX_N06 = bj_CAMPAIGN_OFFSET_N * 1000 + 6
constant integer bj_MISSION_INDEX_N07 = bj_CAMPAIGN_OFFSET_N * 1000 + 7
constant integer bj_MISSION_INDEX_N08 = bj_CAMPAIGN_OFFSET_N * 1000 + 8
constant integer bj_MISSION_INDEX_N09 = bj_CAMPAIGN_OFFSET_N * 1000 + 9
// Expansion Night Elf
constant integer bj_MISSION_INDEX_XN00 = bj_CAMPAIGN_OFFSET_XN * 1000 + 0
constant integer bj_MISSION_INDEX_XN01 = bj_CAMPAIGN_OFFSET_XN * 1000 + 1
constant integer bj_MISSION_INDEX_XN02 = bj_CAMPAIGN_OFFSET_XN * 1000 + 2
constant integer bj_MISSION_INDEX_XN03 = bj_CAMPAIGN_OFFSET_XN * 1000 + 3
constant integer bj_MISSION_INDEX_XN04 = bj_CAMPAIGN_OFFSET_XN * 1000 + 4
constant integer bj_MISSION_INDEX_XN05 = bj_CAMPAIGN_OFFSET_XN * 1000 + 5
constant integer bj_MISSION_INDEX_XN06 = bj_CAMPAIGN_OFFSET_XN * 1000 + 6
constant integer bj_MISSION_INDEX_XN07 = bj_CAMPAIGN_OFFSET_XN * 1000 + 7
constant integer bj_MISSION_INDEX_XN08 = bj_CAMPAIGN_OFFSET_XN * 1000 + 8
constant integer bj_MISSION_INDEX_XN09 = bj_CAMPAIGN_OFFSET_XN * 1000 + 9
constant integer bj_MISSION_INDEX_XN10 = bj_CAMPAIGN_OFFSET_XN * 1000 + 10
// Expansion Human
constant integer bj_MISSION_INDEX_XH00 = bj_CAMPAIGN_OFFSET_XH * 1000 + 0
constant integer bj_MISSION_INDEX_XH01 = bj_CAMPAIGN_OFFSET_XH * 1000 + 1
constant integer bj_MISSION_INDEX_XH02 = bj_CAMPAIGN_OFFSET_XH * 1000 + 2
constant integer bj_MISSION_INDEX_XH03 = bj_CAMPAIGN_OFFSET_XH * 1000 + 3
constant integer bj_MISSION_INDEX_XH04 = bj_CAMPAIGN_OFFSET_XH * 1000 + 4
constant integer bj_MISSION_INDEX_XH05 = bj_CAMPAIGN_OFFSET_XH * 1000 + 5
constant integer bj_MISSION_INDEX_XH06 = bj_CAMPAIGN_OFFSET_XH * 1000 + 6
constant integer bj_MISSION_INDEX_XH07 = bj_CAMPAIGN_OFFSET_XH * 1000 + 7
constant integer bj_MISSION_INDEX_XH08 = bj_CAMPAIGN_OFFSET_XH * 1000 + 8
constant integer bj_MISSION_INDEX_XH09 = bj_CAMPAIGN_OFFSET_XH * 1000 + 9
// Expansion Undead
constant integer bj_MISSION_INDEX_XU00 = bj_CAMPAIGN_OFFSET_XU * 1000 + 0
constant integer bj_MISSION_INDEX_XU01 = bj_CAMPAIGN_OFFSET_XU * 1000 + 1
constant integer bj_MISSION_INDEX_XU02 = bj_CAMPAIGN_OFFSET_XU * 1000 + 2
constant integer bj_MISSION_INDEX_XU03 = bj_CAMPAIGN_OFFSET_XU * 1000 + 3
constant integer bj_MISSION_INDEX_XU04 = bj_CAMPAIGN_OFFSET_XU * 1000 + 4
constant integer bj_MISSION_INDEX_XU05 = bj_CAMPAIGN_OFFSET_XU * 1000 + 5
constant integer bj_MISSION_INDEX_XU06 = bj_CAMPAIGN_OFFSET_XU * 1000 + 6
constant integer bj_MISSION_INDEX_XU07 = bj_CAMPAIGN_OFFSET_XU * 1000 + 7
constant integer bj_MISSION_INDEX_XU08 = bj_CAMPAIGN_OFFSET_XU * 1000 + 8
constant integer bj_MISSION_INDEX_XU09 = bj_CAMPAIGN_OFFSET_XU * 1000 + 9
constant integer bj_MISSION_INDEX_XU10 = bj_CAMPAIGN_OFFSET_XU * 1000 + 10
constant integer bj_MISSION_INDEX_XU11 = bj_CAMPAIGN_OFFSET_XU * 1000 + 11
constant integer bj_MISSION_INDEX_XU12 = bj_CAMPAIGN_OFFSET_XU * 1000 + 12
constant integer bj_MISSION_INDEX_XU13 = bj_CAMPAIGN_OFFSET_XU * 1000 + 13
// Expansion Orc
constant integer bj_MISSION_INDEX_XO00 = bj_CAMPAIGN_OFFSET_XO * 1000 + 0
// Cinematic indexing constants
constant integer bj_CINEMATICINDEX_TOP = 0
constant integer bj_CINEMATICINDEX_HOP = 1
constant integer bj_CINEMATICINDEX_HED = 2
constant integer bj_CINEMATICINDEX_OOP = 3
constant integer bj_CINEMATICINDEX_OED = 4
constant integer bj_CINEMATICINDEX_UOP = 5
constant integer bj_CINEMATICINDEX_UED = 6
constant integer bj_CINEMATICINDEX_NOP = 7
constant integer bj_CINEMATICINDEX_NED = 8
constant integer bj_CINEMATICINDEX_XOP = 9
constant integer bj_CINEMATICINDEX_XED = 10
// Alliance settings
constant integer bj_ALLIANCE_UNALLIED = 0
constant integer bj_ALLIANCE_UNALLIED_VISION = 1
constant integer bj_ALLIANCE_ALLIED = 2
constant integer bj_ALLIANCE_ALLIED_VISION = 3
constant integer bj_ALLIANCE_ALLIED_UNITS = 4
constant integer bj_ALLIANCE_ALLIED_ADVUNITS = 5
constant integer bj_ALLIANCE_NEUTRAL = 6
constant integer bj_ALLIANCE_NEUTRAL_VISION = 7
// Keyboard Event Types
constant integer bj_KEYEVENTTYPE_DEPRESS = 0
constant integer bj_KEYEVENTTYPE_RELEASE = 1
// Keyboard Event Keys
constant integer bj_KEYEVENTKEY_LEFT = 0
constant integer bj_KEYEVENTKEY_RIGHT = 1
constant integer bj_KEYEVENTKEY_DOWN = 2
constant integer bj_KEYEVENTKEY_UP = 3
// Transmission timing methods
constant integer bj_TIMETYPE_ADD = 0
constant integer bj_TIMETYPE_SET = 1
constant integer bj_TIMETYPE_SUB = 2
// Camera bounds adjustment methods
constant integer bj_CAMERABOUNDS_ADJUST_ADD = 0
constant integer bj_CAMERABOUNDS_ADJUST_SUB = 1
// Quest creation states
constant integer bj_QUESTTYPE_REQ_DISCOVERED = 0
constant integer bj_QUESTTYPE_REQ_UNDISCOVERED = 1
constant integer bj_QUESTTYPE_OPT_DISCOVERED = 2
constant integer bj_QUESTTYPE_OPT_UNDISCOVERED = 3
// Quest message types
constant integer bj_QUESTMESSAGE_DISCOVERED = 0
constant integer bj_QUESTMESSAGE_UPDATED = 1
constant integer bj_QUESTMESSAGE_COMPLETED = 2
constant integer bj_QUESTMESSAGE_FAILED = 3
constant integer bj_QUESTMESSAGE_REQUIREMENT = 4
constant integer bj_QUESTMESSAGE_MISSIONFAILED = 5
constant integer bj_QUESTMESSAGE_ALWAYSHINT = 6
constant integer bj_QUESTMESSAGE_HINT = 7
constant integer bj_QUESTMESSAGE_SECRET = 8
constant integer bj_QUESTMESSAGE_UNITACQUIRED = 9
constant integer bj_QUESTMESSAGE_UNITAVAILABLE = 10
constant integer bj_QUESTMESSAGE_ITEMACQUIRED = 11
constant integer bj_QUESTMESSAGE_WARNING = 12
// Leaderboard sorting methods
constant integer bj_SORTTYPE_SORTBYVALUE = 0
constant integer bj_SORTTYPE_SORTBYPLAYER = 1
constant integer bj_SORTTYPE_SORTBYLABEL = 2
// Cinematic fade filter methods
constant integer bj_CINEFADETYPE_FADEIN = 0
constant integer bj_CINEFADETYPE_FADEOUT = 1
constant integer bj_CINEFADETYPE_FADEOUTIN = 2
// Buff removal methods
constant integer bj_REMOVEBUFFS_POSITIVE = 0
constant integer bj_REMOVEBUFFS_NEGATIVE = 1
constant integer bj_REMOVEBUFFS_ALL = 2
constant integer bj_REMOVEBUFFS_NONTLIFE = 3
// Buff properties - polarity
constant integer bj_BUFF_POLARITY_POSITIVE = 0
constant integer bj_BUFF_POLARITY_NEGATIVE = 1
constant integer bj_BUFF_POLARITY_EITHER = 2
// Buff properties - resist type
constant integer bj_BUFF_RESIST_MAGIC = 0
constant integer bj_BUFF_RESIST_PHYSICAL = 1
constant integer bj_BUFF_RESIST_EITHER = 2
constant integer bj_BUFF_RESIST_BOTH = 3
// Hero stats
constant integer bj_HEROSTAT_STR = 0
constant integer bj_HEROSTAT_AGI = 1
constant integer bj_HEROSTAT_INT = 2
// Hero skill point modification methods
constant integer bj_MODIFYMETHOD_ADD = 0
constant integer bj_MODIFYMETHOD_SUB = 1
constant integer bj_MODIFYMETHOD_SET = 2
// Unit state adjustment methods (for replaced units)
constant integer bj_UNIT_STATE_METHOD_ABSOLUTE = 0
constant integer bj_UNIT_STATE_METHOD_RELATIVE = 1
constant integer bj_UNIT_STATE_METHOD_DEFAULTS = 2
constant integer bj_UNIT_STATE_METHOD_MAXIMUM = 3
// Gate operations
constant integer bj_GATEOPERATION_CLOSE = 0
constant integer bj_GATEOPERATION_OPEN = 1
constant integer bj_GATEOPERATION_DESTROY = 2
// Game cache value types
constant integer bj_GAMECACHE_BOOLEAN = 0
constant integer bj_GAMECACHE_INTEGER = 1
constant integer bj_GAMECACHE_REAL = 2
constant integer bj_GAMECACHE_UNIT = 3
constant integer bj_GAMECACHE_STRING = 4
// Hashtable value types
constant integer bj_HASHTABLE_BOOLEAN = 0
constant integer bj_HASHTABLE_INTEGER = 1
constant integer bj_HASHTABLE_REAL = 2
constant integer bj_HASHTABLE_STRING = 3
constant integer bj_HASHTABLE_HANDLE = 4
// Item status types
constant integer bj_ITEM_STATUS_HIDDEN = 0
constant integer bj_ITEM_STATUS_OWNED = 1
constant integer bj_ITEM_STATUS_INVULNERABLE = 2
constant integer bj_ITEM_STATUS_POWERUP = 3
constant integer bj_ITEM_STATUS_SELLABLE = 4
constant integer bj_ITEM_STATUS_PAWNABLE = 5
// Itemcode status types
constant integer bj_ITEMCODE_STATUS_POWERUP = 0
constant integer bj_ITEMCODE_STATUS_SELLABLE = 1
constant integer bj_ITEMCODE_STATUS_PAWNABLE = 2
// Minimap ping styles
constant integer bj_MINIMAPPINGSTYLE_SIMPLE = 0
constant integer bj_MINIMAPPINGSTYLE_FLASHY = 1
constant integer bj_MINIMAPPINGSTYLE_ATTACK = 2
// Corpse creation settings
constant real bj_CORPSE_MAX_DEATH_TIME = 8.00
// Corpse creation styles
constant integer bj_CORPSETYPE_FLESH = 0
constant integer bj_CORPSETYPE_BONE = 1
// Elevator pathing-blocker destructable code
constant integer bj_ELEVATOR_BLOCKER_CODE = 'DTep'
constant integer bj_ELEVATOR_CODE01 = 'DTrf'
constant integer bj_ELEVATOR_CODE02 = 'DTrx'
// Elevator wall codes
constant integer bj_ELEVATOR_WALL_TYPE_ALL = 0
constant integer bj_ELEVATOR_WALL_TYPE_EAST = 1
constant integer bj_ELEVATOR_WALL_TYPE_NORTH = 2
constant integer bj_ELEVATOR_WALL_TYPE_SOUTH = 3
constant integer bj_ELEVATOR_WALL_TYPE_WEST = 4
//-----------------------------------------------------------------------
// Variables
//
// Force predefs
force bj_FORCE_ALL_PLAYERS = null
force array bj_FORCE_PLAYER
integer bj_MELEE_MAX_TWINKED_HEROES = 0
// Map area rects
rect bj_mapInitialPlayableArea = null
rect bj_mapInitialCameraBounds = null
// Utility function vars
integer bj_forLoopAIndex = 0
integer bj_forLoopBIndex = 0
integer bj_forLoopAIndexEnd = 0
integer bj_forLoopBIndexEnd = 0
boolean bj_slotControlReady = false
boolean array bj_slotControlUsed
mapcontrol array bj_slotControl
// Game started detection vars
timer bj_gameStartedTimer = null
boolean bj_gameStarted = false
timer bj_volumeGroupsTimer = CreateTimer()
// Singleplayer check
boolean bj_isSinglePlayer = false
// Day/Night Cycle vars
trigger bj_dncSoundsDay = null
trigger bj_dncSoundsNight = null
sound bj_dayAmbientSound = null
sound bj_nightAmbientSound = null
trigger bj_dncSoundsDawn = null
trigger bj_dncSoundsDusk = null
sound bj_dawnSound = null
sound bj_duskSound = null
boolean bj_useDawnDuskSounds = true
boolean bj_dncIsDaytime = false
// Triggered sounds
//sound bj_pingMinimapSound = null
sound bj_rescueSound = null
sound bj_questDiscoveredSound = null
sound bj_questUpdatedSound = null
sound bj_questCompletedSound = null
sound bj_questFailedSound = null
sound bj_questHintSound = null
sound bj_questSecretSound = null
sound bj_questItemAcquiredSound = null
sound bj_questWarningSound = null
sound bj_victoryDialogSound = null
sound bj_defeatDialogSound = null
// Marketplace vars
trigger bj_stockItemPurchased = null
timer bj_stockUpdateTimer = null
boolean array bj_stockAllowedPermanent
boolean array bj_stockAllowedCharged
boolean array bj_stockAllowedArtifact
integer bj_stockPickedItemLevel = 0
itemtype bj_stockPickedItemType
// Melee vars
trigger bj_meleeVisibilityTrained = null
boolean bj_meleeVisibilityIsDay = true
boolean bj_meleeGrantHeroItems = false
location bj_meleeNearestMineToLoc = null
unit bj_meleeNearestMine = null
real bj_meleeNearestMineDist = 0.00
boolean bj_meleeGameOver = false
boolean array bj_meleeDefeated
boolean array bj_meleeVictoried
unit array bj_ghoul
timer array bj_crippledTimer
timerdialog array bj_crippledTimerWindows
boolean array bj_playerIsCrippled
boolean array bj_playerIsExposed
boolean bj_finishSoonAllExposed = false
timerdialog bj_finishSoonTimerDialog = null
integer array bj_meleeTwinkedHeroes
// Rescue behavior vars
trigger bj_rescueUnitBehavior = null
boolean bj_rescueChangeColorUnit = true
boolean bj_rescueChangeColorBldg = true
// Transmission vars
timer bj_cineSceneEndingTimer = null
sound bj_cineSceneLastSound = null
trigger bj_cineSceneBeingSkipped = null
// Cinematic mode vars
gamespeed bj_cineModePriorSpeed = MAP_SPEED_NORMAL
boolean bj_cineModePriorFogSetting = false
boolean bj_cineModePriorMaskSetting = false
boolean bj_cineModeAlreadyIn = false
boolean bj_cineModePriorDawnDusk = false
integer bj_cineModeSavedSeed = 0
// Cinematic fade vars
timer bj_cineFadeFinishTimer = null
timer bj_cineFadeContinueTimer = null
real bj_cineFadeContinueRed = 0
real bj_cineFadeContinueGreen = 0
real bj_cineFadeContinueBlue = 0
real bj_cineFadeContinueTrans = 0
real bj_cineFadeContinueDuration = 0
string bj_cineFadeContinueTex = ""
// QueuedTriggerExecute vars
integer bj_queuedExecTotal = 0
trigger array bj_queuedExecTriggers
boolean array bj_queuedExecUseConds
timer bj_queuedExecTimeoutTimer = CreateTimer()
trigger bj_queuedExecTimeout = null
// Helper vars (for Filter and Enum funcs)
integer bj_destInRegionDiesCount = 0
trigger bj_destInRegionDiesTrig = null
integer bj_groupCountUnits = 0
integer bj_forceCountPlayers = 0
integer bj_groupEnumTypeId = 0
player bj_groupEnumOwningPlayer = null
group bj_groupAddGroupDest = null
group bj_groupRemoveGroupDest = null
integer bj_groupRandomConsidered = 0
unit bj_groupRandomCurrentPick = null
group bj_groupLastCreatedDest = null
group bj_randomSubGroupGroup = null
integer bj_randomSubGroupWant = 0
integer bj_randomSubGroupTotal = 0
real bj_randomSubGroupChance = 0
integer bj_destRandomConsidered = 0
destructable bj_destRandomCurrentPick = null
destructable bj_elevatorWallBlocker = null
destructable bj_elevatorNeighbor = null
integer bj_itemRandomConsidered = 0
item bj_itemRandomCurrentPick = null
integer bj_forceRandomConsidered = 0
player bj_forceRandomCurrentPick = null
unit bj_makeUnitRescuableUnit = null
boolean bj_makeUnitRescuableFlag = true
boolean bj_pauseAllUnitsFlag = true
location bj_enumDestructableCenter = null
real bj_enumDestructableRadius = 0
playercolor bj_setPlayerTargetColor = null
boolean bj_isUnitGroupDeadResult = true
boolean bj_isUnitGroupEmptyResult = true
boolean bj_isUnitGroupInRectResult = true
rect bj_isUnitGroupInRectRect = null
boolean bj_changeLevelShowScores = false
string bj_changeLevelMapName = null
group bj_suspendDecayFleshGroup = CreateGroup()
group bj_suspendDecayBoneGroup = CreateGroup()
timer bj_delayedSuspendDecayTimer = CreateTimer()
trigger bj_delayedSuspendDecayTrig = null
integer bj_livingPlayerUnitsTypeId = 0
widget bj_lastDyingWidget = null
// Random distribution vars
integer bj_randDistCount = 0
integer array bj_randDistID
integer array bj_randDistChance
// Last X'd vars
unit bj_lastCreatedUnit = null
item bj_lastCreatedItem = null
item bj_lastRemovedItem = null
unit bj_lastHauntedGoldMine = null
destructable bj_lastCreatedDestructable = null
group bj_lastCreatedGroup = CreateGroup()
fogmodifier bj_lastCreatedFogModifier = null
effect bj_lastCreatedEffect = null
weathereffect bj_lastCreatedWeatherEffect = null
terraindeformation bj_lastCreatedTerrainDeformation = null
quest bj_lastCreatedQuest = null
questitem bj_lastCreatedQuestItem = null
defeatcondition bj_lastCreatedDefeatCondition = null
timer bj_lastStartedTimer = CreateTimer()
timerdialog bj_lastCreatedTimerDialog = null
leaderboard bj_lastCreatedLeaderboard = null
multiboard bj_lastCreatedMultiboard = null
sound bj_lastPlayedSound = null
string bj_lastPlayedMusic = ""
real bj_lastTransmissionDuration = 0
gamecache bj_lastCreatedGameCache = null
hashtable bj_lastCreatedHashtable = null
unit bj_lastLoadedUnit = null
button bj_lastCreatedButton = null
unit bj_lastReplacedUnit = null
texttag bj_lastCreatedTextTag = null
lightning bj_lastCreatedLightning = null
image bj_lastCreatedImage = null
ubersplat bj_lastCreatedUbersplat = null
// Filter function vars
boolexpr filterIssueHauntOrderAtLocBJ = null
boolexpr filterEnumDestructablesInCircleBJ = null
boolexpr filterGetUnitsInRectOfPlayer = null
boolexpr filterGetUnitsOfTypeIdAll = null
boolexpr filterGetUnitsOfPlayerAndTypeId = null
boolexpr filterMeleeTrainedUnitIsHeroBJ = null
boolexpr filterLivingPlayerUnitsOfTypeId = null
// Memory cleanup vars
boolean bj_wantDestroyGroup = false
endglobals
// Memory cleanup vars
boolean bj_wantDestroyGroup = false
endglobals