Mechwarrior 4: Mercenaries Constants File - HelmMemoryCore/Mechwarrior-4-ModdingTools GitHub Wiki
FileName: 8869_mwconst.abi - located in "core.mw4/ablscripts/"
//************************
//MW4 Mission Const Include File 4/8
//------------------------
//----------------
// Alignments
//----------------
ENEMY_ALIGNMENT = 2;
NEUTRAL_ALIGNMENT = 0;
FRIENDLY_ALIGNMENT = 1;
TEAM1_ALIGNMENT = 3;
TEAM2_ALIGNMENT = 4;
TEAM3_ALIGNMENT = 5;
TEAM4_ALIGNMENT = 6;
ENEMY = 2;
NEUTRAL = 0;
FRIENDLY = 1;
TEAM1 = 0;
TEAM2 = 1;
TEAM3 = 2;
TEAM4 = 3;
TEAM5 = 4;
TEAM6 = 5;
TEAM7 = 6;
TEAM8 = 7;
//----------------
// Units
//----------------
ME = -1;
NO_UNIT = -2;
//----------------
// Teams
//----------------
NO_TEAM = 8;
//----------------
// Timers
//----------------
gti_TIMER_0 = 0 ;
gti_TIMER_1 = 1 ;
gti_TIMER_2 = 2 ;
gti_TIMER_3 = 3 ;
gti_TIMER_4 = 4 ;
gti_TIMER_5 = 5 ;
gti_TIMER_6 = 6 ;
gti_TIMER_7 = 7 ;
gti_TIMER_8 = 8 ;
gti_TIMER_9 = 9 ;
gti_TIMER_10 = 10;
gti_TIMER_11 = 11;
gti_TIMER_12 = 12;
gti_TIMER_13 = 13;
gti_TIMER_14 = 14;
gti_TIMER_15 = 15;
gti_TIMER_16 = 16;
gti_TIMER_17 = 17;
gti_TIMER_18 = 18;
gti_TIMER_19 = 19;
gti_TIMER_20 = 20;
gti_TIMER_21 = 21;
gti_TIMER_22 = 22;
gti_TIMER_23 = 23;
gti_TIMER_24 = 24;
gti_TIMER_25 = 25;
gti_TIMER_26 = 26;
gti_TIMER_27 = 27;
gti_TIMER_28 = 28;
gti_TIMER_29 = 29;
gti_TIMER_30 = 30;
gti_TIMER_31 = 31;
//----------------
// Moods
// NOTE: The keywords and constants here must exactly match those in AI_Moods.hpp
// NOTE: "_START" indicates the low range of a mood; "_END" indicates the high range of a mood
//----------------
DESPERATE_START = 1;
DESPERATE_END = 2;
DEFENSIVE_START = 3;
DEFENSIVE_END = 4;
NEUTRAL_START = 5;
NEUTRAL_END = 6;
AGRESSIVE_START = 7;
AGRESSIVE_END = 8;
BRUTAL_START = 9;
BRUTAL_END = 10;
//----------------
// Paths
//----------------
MOVE_NOCYCLE = 1;
MOVE_CIRCLE = 2;
MOVE_SEESAW = 3;
//----------------
// FA_*: FindObject() Alignment Criteria
// NOTE: These can be combined arbitrarily by adding them together as desired.
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
//----------------
FA_FRIENDLY = 1; // include friendly units
FA_ENEMY = 2; // include enemy units
FA_NEUTRAL = 4; // include neutral units
FA_ANY = 7; // include any units: = FA_FRIENDLY + FA_ENEMY + FA_NEUTRAL
//----------------
// FT_*: FindObject() Type Criteria
// NOTE: These can be combined arbitrarily by adding them together as desired.
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
//----------------
FT_VEHICLE = 1; // if specified, include vehicles
FT_MECH = 2; // if specified, include 'Mechs
FT_AIRPLANE = 4; // if specified, include airplanes + helicopters
FT_BOAT = 8; // if specified, include boats
FT_MFB = 16; // if specified, include MFBs
FT_TURRET = 32; // if specified, include turrets
// the default:
FT_DEFAULT = 63; // include any units: = FT_VEHICLE + FT_MECH + FT_AIRPLANE + FT_BOAT + FT_MFB + FT_HOVER + FT_HELI + FT_BUILDING
// extras not included in the default
FT_BUILDING = 64; // if specified, take buildings into account (NOTE: ONLY BUILDINGS WITH "PLAYER" OR "ENEMY" ALIGNMENT WILL BE COUNTED HERE -- NEUTRAL BUILDINGS ARE ALWAYS IGNORED!!!)
FT_UNARMED = 128; // if specified, include unarmed units (such as APCs)
//----------------
// FC_*: FindObject() Search Criteria
// NOTE: You cannot add these constants; you can use only one.
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
//----------------
FC_BEST_TARGET = 1001; // find the "best target" based on multiple factors
// Currently, this is (0.45 * distance) + (0.35 * damage) +
// (0.2 * tonnage), but will become (0.4 * distance) +
// (0.3 * damage) + (0.2 * weapons) + (0.1 * tonnage)
// when we can query weapons' values for these attributes.
// The most desirable target is the one which is nearest, most
// badly damaged, largest, and has the most weapons.
FC_GREATEST_THREAT = 1002; // find the greatest immediate threat
// currently, this is (0.6 * distance) + (0.4 * tonnage),
// but "tonnage" will be replaced with "weapons" eventually.
FC_LEAST_THREAT = 1003; // find the least immediate threat
// Each vehicle evaluates to 1 - (its score for FQ_GREATEST_THREAT).
FC_MOST_DAMAGED = 1004; // find the most damaged object
// This is (1.0 * damage).
FC_NEAREST = 1005; // find the nearest object
// This is (1.0 * distance).
//----------------
// FF_*: FindObject() Flags
// NOTE: You can add these together to combine them, or specify 0 for none.
// NOTE: The keywords and constants here must exactly match those in AI_FindObject.hpp
//----------------
FF_WHO_SHOT = 1; // if specified and someone shot me, return that object, overriding anything else
FF_SEEPLAYER = 2; // if specified, we can also see the player if within fog radius and if we're facing toward him
FF_LOOK_EVERYWHERE = 4; // if specified, we look through every potential enemy in the whole mission
// WARNING -- THIS CAN BE VERY EXPENSIVE!!! Use only on small, limited maps!
FF_TARGETLOS = 8; // if specified, will NOT return a target that is out of LOS
//----------------
// Tactics
// NOTE: The keywords and constants here must exactly match those in AI_Tactics.hpp
//----------------
TACTIC_PICK_BEST = 2000;
// Tells the Combat AI to pick the best tactic. This is the same as a generic OrderAttack().
TACTIC_STOP_AND_FIRE = 2001;
// Approach the targeted enemy to close range. Attempt to fire continuously at all times on approach and arrival.
TACTIC_RAM = 2002;
// Head toward the targeted enemy at all times while firing.
TACTIC_JOUST = 2003;
// Not yet implemented.
TACTIC_RUSH = 2004;
// Attempt to stay within close range of the enemy at all times and maneuver at a close range. Always fire.
TACTIC_HIT_AND_RUN = 2005;
// Approach the enemy, run away to a distant range, and repeat. Always fire.
TACTIC_FRONT = 2006;
// Attempt to stay in front of the enemy at all times. Always fire.
TACTIC_REAR = 2007;
// Attempt to stay several meters behind the enemy's back at all times. Always fire.
TACTIC_CIRCLE_OF_DEATH = 2008;
TACTIC_CIRCLE = 2008; // alternate name
// Attempt to circle around the enemy. Always fire.
TACTIC_BACK_UP_AND_FIRE = 2009;
// Flee the enemy while walking backwards to long weapons range. Always fire.
TACTIC_RETREAT = 2010;
// Flee the enemy. Do not fire.
TACTIC_CIRCLE_HOVER = 2011;
// Intended for helicopters. Hover in a circle around the enemy.
TACTIC_STRAFE = 2012;
// Intended for Shilone bombers. Strafe directly over the enemy.
TACTIC_STAND_GROUND = 2013;
// Hold still and fire at the target.
TACTIC_JUMP_AND_SHOOT = 2014;
// Stay in one place, and if the enemy is in range, jump over the nearby obstacles and shoot it.
// Similar to TACTIC_AMBUSH, this tactic is automatically quit if the target can see the AI unit
// (i.e. it has a clear line of sight to the unit) when the AI unit is standing on the ground.
TACTIC_SNIPE = 2015;
// Stay at maximum weapons range from the enemy. Wander around a bit to make yourself harder to hit.
// Fire at the enemy. Give up & switch to a new tactic if you can't fire after a certain amount of time.
TACTIC_SHOOT_ONLY = 2016;
// Only shoot; don't try to move under any circumstances. This is the ONLY tactic turrets can use.
TACTIC_DEFEND = 2017;
// Defend the current target from any potential enemies.
TACTIC_LOCAL_PATROL = 2018;
// Similar to TACTIC_STAND_GROUND, but the mech patrols randomly in a small area
TACTIC_SURRENDER = 2019;
// Stop, pitch torso down, put both arms up, and hold fire.
TACTIC_AMBUSH = 2020;
// Rush forward from behind your hiding place, fire, and walk backwards to the same spot again.
// Like TACTIC_JUMP_AND_SHOOT, this tactic is automatically quit if the target can see the AI unit
// (i.e. it has a clear line of sight to the unit) when the AI unit is standing in its hiding place
// (i.e. the spot where it was first given the attack order with this tactic).
TACTIC_DEATH_FROM_ABOVE = 2021;
TACTIC_DFA = 2021;
// Shoot whenever possible, and try to use jump jets to kick the target in the face.
// This will only ever be assigned to mechs with jump jets
// (or assigned explicitly by a designer -- make sure it is a mech that has jump jets!).
TACTIC_HELI_POPUP = 2022;
// For helicopters only ... will pop up and down over hills.
TACTIC_DIVE_BOMB = 2023;
// will dive-bomb the target (Nightshades and Peregrines only)
TACTIC_FAST_CIRCLE = 2024;
// Like Circle of Death, but only moves forwards, and tries to avoid stopping
TACTIC_STARE = 2025;
// Stand and stare evilly
//----------------
// Group AIs
// NOTE: The keywords and constants here must exactly match those in AI_Squad.hpp
//----------------
GROUPAI_NONE = 4000;
// No group AI.
GROUPAI_LANCEMATE = 4001;
// Uses lancemate AI -- all vehicles after the first are considered lancemates of the first.
GROUPAI_RADIOSQUAD = 4002;
// Serves no purpose other than to propagate IsShot() notifications through all members of the group
GROUPAI_MOODSQUAD = 4003;
// Same as a "radio squad," but members' moods are shared -- i.e. there is a single "group mood" that is
// affected proportionally by anything that happens to any individual unit, and each unit responds
// according to this group mood.
GROUPAI_FOCUSFIRESQUAD = 4004;
// Same as a "radio squad", but members use auto-targeting (see ABL SetAutoTargeting()) to
// pick on the same target most of the time.
//----------------
// Lancemate Commands
// NOTE: The keywords and constants here must exactly match those in AI_LancemateCommands.hpp
//----------------
LANCEMATE_DEFAULT = 5000; // default = no order
LANCEMATE_ATTACKPLAYERSTARGET = 5001;
LANCEMATE_DEFENDPLAYERSTARGET = 5002;
LANCEMATE_FORMONME = 5003;
LANCEMATE_HOLDFIRE = 5004;
LANCEMATE_GOTOMYNAVPOINT = 5005;
LANCEMATE_STOP = 5006;
LANCEMATE_SHUTDOWN = 5007;
LANCEMATE_ATTACKNEARESTTHREAT = 5008;
LANCEMATE_REPAIRATNEARESTREPAIRBAY = 5009;
LANCEMATE_CAPTUREPLAYERSFLAG = 5010;
//----------------
// Formation Types
// NOTE: The keywords and constants here must exactly match those in move_formation.hpp
//----------------
FORMTYPE_SPARSE = 1;
FORMTYPE_NORMAL = 2;
FORMTYPE_DENSE = 3;
//----------------
// Objective Status
// NOTE: The keywords and constants here must exactly match those in objective.hpp
//----------------
OBJECTIVE_NEUTRAL = 2;
OBJECTIVE_SUCCEEDED = 1;
OBJECTIVE_FAILED = 0;
//----------------
// Difficulty Levels
// NOTE: The keywords and constants here must exactly match those in mwplayer.hpp
//----------------
EASY_DIFFICULTY = 0;
MEDIUM_DIFFICULTY = 1;
HARD_DIFFICULTY = 2;
IMPOSSIBLE_DIFFICULTY = 3;
//----------------
// Different players
//----------------
epl_player0 = 0;
epl_player1 = 1;
epl_player2 = 2;
epl_player3 = 3;
epl_player4 = 4;
epl_player5 = 5;
epl_player6 = 6;
epl_player7 = 7;
epl_player8 = 8;
epl_player9 = 9;
epl_player10 = 10;
epl_player11 = 11;
epl_player12 = 12;
epl_player13 = 13;
epl_player14 = 14;
epl_player15 = 15;
epl_player16 = 16;
epl_player17 = 17;
epl_player18 = 18;
epl_player19 = 19;
epl_player20 = 20;
epl_player21 = 21;
epl_player22 = 22;
epl_player23 = 23;
epl_player24 = 24;
epl_player25 = 25;
epl_player26 = 26;
epl_player27 = 27;
epl_player28 = 28;
epl_player29 = 29;
epl_player30 = 30;
epl_player31 = 31;
Bucket_KILL_LINK = 0;
Bucket_DEATH_LINK = 1;
Bucket_KILLS = 2; // How many kills I can take credit for
Bucket_FRIENDLY_KILLS = 3; // How many friendly-fire kills I've committed
Bucket_ENEMY_KILLS = 4; // How many enemies I've killed
Bucket_KILLS_BY_TONNAGE = 5; // Total tonnage of everyone I've killed
Bucket_FRIENDLY_KILLS_BY_TONNAGE = 6; // Total tonnage of all friendlies I've killed
Bucket_ENEMY_KILLS_BY_TONNAGE = 7; // Total tonnage of all enemies I've killed
Bucket_DEATHS = 8; // How many times I've died
Bucket_SUICIDES = 9; // How many times I killed myself
Bucket_DAMAGE_INFLICT = 10; // How much damage I've inflicted
Bucket_FRIENDLY_DAMAGE_INFLICT = 11; // How much damage I've inflicted on friendlies
Bucket_ENEMY_DAMAGE_INFLICT = 12; // How much damage I've inflicted on enemies
Bucket_DAMAGE_RECEIVE = 13; // How much damage I've received
Bucket_FRIENDLY_DAMAGE_RECEIVE = 14; // How much damage I've received from friendlies
Bucket_ENEMY_DAMAGE_RECEIVE = 15; // How much damage I've received from enemies
Bucket_COMPONENT_KILLS = 16; // How many components I've killed
Bucket_COMPONENT_DEATHS = 17; // How many components I've lost
Bucket_FRIENDLY_COMPONENT_KILLS = 18; // How many friendly units' components I've killed
Bucket_FRIENDLY_COMPONENT_DEATHS = 19; // How many components I've lost to friendly fire
Bucket_ENEMY_COMPONENT_KILLS = 20; // How many enemy units' components I've killed
Bucket_ENEMY_COMPONENT_DEATHS = 21; // How many components I've lost to enemy units
Bucket_DFA = 22; // How many times I've been able to pull off a Death From Above
Bucket_SHOTS_HIT = 23; // How many of my shots have hit
Bucket_SHOTS_FIRED = 24; // How many shots I've fired
Bucket_HEAD_SHOTS = 25; // How many of my shots have hit a 'Mech's head
Bucket_ARM_SHOTS = 26; // How many of my shots have hit a 'Mech's arm
Bucket_LEG_SHOTS = 27; // How many of my shots have hit a 'Mech's leg
Bucket_TORSO_SHOTS = 28; // How many of my shots have hit a 'Mech's torso
Bucket_KILLS_PC = 29;
Bucket_KILLS_AI = 30;
Bucket_BLANK = 31;
Bucket_SHUTDOWN_TIMER = 32;
Bucket_OBJECTIVE = 33; // How many seconds (total) I've remained within an objective area
Bucket_OBJECTIVE_CONTESTED = 34; // How many seconds (total) I've remained within an objective area with enemies in the same area
Bucket_OBJECTIVE_UNCONTESTED = 35; // How many seconds (total) I've remained within an objective area with no enemies in the same area
Bucket_FLAGS_TAKEN = 36; // How many flags I've picked up
Bucket_FLAGS_DROPPED = 37; // How many flags I've dropped due to dying while carrying the flag
Bucket_FLAGS_CAPTURED = 38; // How many flags I've successfully returned to my capture zone
Bucket_FLAG_HOLD_TIME = 39; // Total amount of time I've held any flags
Bucket_TIME = 40;
Bucket_ALIVE_PLAYERS = 41;
Bucket_DEAD_PLAYERS = 42;
Bucket_CUSTOM = 43;
Bucket_ENEMY_KILLS_BY_RATIO = 44;
Bucket_ENEMY_DAMAGE_INFLICT_BY_RATIO = 45;
Bucket_ENEMY_TURRET_KILLS = 46;
Bucket_FRIENDLY_TURRET_KILLS = 47;
Bucket_ENEMY_BUILDING_KILLS = 48;
Bucket_FRIENDLY_BUILDING_KILLS = 49;
Bucket_ENEMY_KILLS_BATTLE_RATIO = 50;
Bucket_ENEMY_DAMAGE_BATTLE_RATIO = 51;
Bucket_TEAM_WINS =52;
Bucket_FRIENDLY_DEATHS =53;
Bucket_SELF_DESTRUCTS =54; // deliberate suicide using self-destruct
Bucket_Team1 = -1;
Bucket_Team2 = -2;
Bucket_Team3 = -3;
Bucket_Team4 = -4;
Bucket_Team5 = -5;
Bucket_Team6 = -6;
Bucket_Team7 = -7;
Bucket_Team8 = -8;
Affects_Single = 0;
Affects_All = 1;
//----------------
// Game Parameter Flags (for GetGameParam())
// NOTE: these must EXACTLY match the constants in ABLXSTD.CPP!
//----------------
GameParam_heatOn = 0;
GameParam_killLimit = 1;
GameParam_killLimitNumber = 2;
GameParam_respawnLimit = 3;
GameParam_respawnLimitNumber = 4;
GameParam_forceRespawn = 5;
GameParam_splashOn = 6;
GameParam_splashPercentage = 7;
GameParam_unlimitedAmmo = 8;
GameParam_friendlyFirePercentage = 9;
GameParam_allowZoom = 10;
GameParam_allow3rdPerson = 11;
GameParam_allowAutoAim = 12;
GameParam_allowDeadToChat = 13;
GameParam_invulnerableDrop = 14;
GameParam_isNight = 15;
GameParam_weather = 16;
GameParam_visibility = 17;
GameParam_reportStats = 18;
GameParam_serverConnection = 19;
GameParam_serverBandwidth = 20;
GameParam_onlyStockMech = 21;
GameParam_minimumTonnage = 22;
GameParam_maximumTonnage = 23;
GameParam_gameLength = 24;
GameParam_serverRecycle = 25;
GameParam_recycleDelay = 26;
GameParam_playMissionReview = 27;
GameParam_ruleType = 28;
GameParam_deadMechCantSee = 29;
GameParam_deadMechCantSeeOtherTeam = 30;
GameParam_allowdecaltransfer = 31;
GameParam_useMapCycle = 32;
GameParam_pureMapCycle = 33;
GameParam_teamAllowed = 34;
GameParam_teamCount = 35;
GameParam_closedGame = 36;
GameParam_playerLimit = 37;
GameParam_botLimit = 38;
GameParam_botLimitNumber = 39;
GameParam_botLevel = 40;
GameParam_botMinLvlNumber = 41;
GameParam_botMaxLvlNumber = 42;
//----------------
// Mech type constants (for GetMechType())
// NOTE: these must EXACTLY match the constants in MechLabHeaders.h!
//----------------
FirstMechID = 0;
M_ArcticWolf = 0;
M_Argus = 1;
M_Atlas = 2;
M_Awesome = 3;
M_BlackKnight = 4;
M_Bushwacker = 5;
M_Catapult = 6;
M_CauldronBorn = 7;
M_Chimera = 8;
M_Cougar = 9;
M_Daishi = 10;
M_Dragon = 11;
M_Fafnir = 12;
M_Flea = 13;
M_Gladiator = 14;
M_Hauptmann = 15;
M_Hellhound = 16;
M_Hellspawn = 17;
M_Highlander = 18;
M_Hunchback = 19;
M_Kodiak = 20;
M_Loki = 21;
M_Longbow = 22;
M_Madcat = 23;
M_Madcat_MKII = 24;
M_Masakari = 25;
M_Mauler = 26;
M_Novacat = 27;
M_Osiris = 28;
M_Owens = 29;
M_Puma = 30;
M_Raven = 31;
M_Ryoken = 32;
M_Shadowcat = 33;
M_Sunder = 34;
M_Templar = 35;
M_Thanatos = 36;
M_Thor = 37;
M_Uller = 38;
M_Uziel = 39;
M_Victor = 40;
M_Vulture = 41;
M_Wolfhound = 42;
M_Zeus = 43;
M_Avatar = 44;
M_Warhammer = 45;
M_Strider = 46;
M_Marauder = 47;
M_Bloodasp = 48;
M_Ares = 49;
M_Stalker = 50;
M_UrbanmechIIC = 51;
M_Urbanmech = 52;
M_Warthog = 53;
M_Annihilator = 54;
M_BlackLanner = 55;
M_Commando = 56;
M_Canis = 57;
M_Dasher = 58;
M_BlackHawk = 59;
M_Solitaire = 60;
M_Rifleman = 61;
M_Brigand = 62;
M_Hollander2 = 63;
M_Grizzly = 64;
M_GrimReaper = 65;
M_ArgusXT = 66;
M_ThanatosXT = 67;
M_Cyclops = 68;
M_Gargoyle = 69;
M_Gesu = 70;
M_Deimos = 71;
M_Tenchi = 72;
M_Crab = 73;
M_Orion2c = 74;
M_Jenner2c = 75;
M_Behemoth = 76;
M_Battlemaster = 77;
M_Archer = 78;
M_Locust2c = 79;
M_Wasp = 80;
M_Talos = 81;
M_Vulture2 = 82;
M_Supernova = 83;
M_Thug = 84;
M_Reaver = 85;
M_Wildcat = 86;
M_Razorback = 87;
M_Shadowhawk = 88;
M_Elemental = 89;
M_Longinus = 90;
M_Kanazuchi = 91;
M_Koto = 92;
M_Duangung = 93;
M_Blackjack2 = 94;
M_Golem = 95;
M_Standard = 96;
M_Gnome = 97;
M_Katapult = 98;
M_Hunchback2c = 99;
M_Behemoth2 = 100;
M_Warlord = 101;
M_ClanInfantryB = 102;
M_ClanInfantryE = 103;
M_ClanInfantryM = 104;
M_ISInfantryB = 105;
M_ISInfantryE = 106;
M_ISInfantryM = 107;
M_Ursus = 108;
M_Salamander = 109;
M_GrayDeath = 110;
M_Infiltrator = 111;
M_VultureC = 112;
M_Fenris = 113;
M_Privateer = 114;
M_RabidCoyote = 115;
M_Yeoman = 116;
M_Pitbull = 117;
M_Panther = 118;
M_Trebuchet = 119;
M_Blackheart = 120;
M_Battlemaster2c = 121;
M_Assassin2 = 122;
M_Centurion = 123;
M_Marauder2 = 124;
M_Bowman = 125;
M_Battlecobra = 126;
NoMechID = 127;
//----------------
// SetFlagsEnabled() constants
// NOTE: these must EXACTLY match the constants in MWMission.hpp!
//----------------
FLAGS_HIDE = 0;
FLAGS_TEAM_ONLY = 1;
FLAGS_UNIVERSAL_ONLY = 2;
FLAGS_SHOW_ALL = 3;
//----------------
// GetViewMode()/SetViewMode() constants
//----------------
VIEW_OUTSIDE_CENTER = 0;
VIEW_OUTSIDE_RIGHT = 1;
VIEW_OUTSIDE_LEFT = 2;
VIEW_IN_MECH = 3;
//----------------
// Sensor Mode constants
// NOTE: these must match the constants in Sensor.hpp
//----------------
SENSOR_ACTIVE = 0;
SENSOR_PASSIVE = 1;
SENSOR_SHUTDOWN = 2;
//----------------
// Input Trainer constants
// NOTE: these must EXACTLY match the constants in InputTrainer.hpp!
//----------------
INPUT_NONE = 0;
INPUT_THROTTLE = 1;
INPUT_TURN = 2;
INPUT_TORSO = 4;
INPUT_FIRING = 8;
INPUT_VIEW_MODES = 16;
INPUT_TARGET_SELECTION = 32;
INPUT_ZOOM = 64;
INPUT_HEAT = 128;
INPUT_NAV_SWITCHING = 256;
INPUT_MISC = 32768;
INPUT_ALL = 65535;
//----------------
// HUD elements
// NOTE: The keywords and constants here must exactly match those in MWGUIManager.hpp!
//----------------
HUD_NAV = 0;
HUD_TARGETARROW = 1;
HUD_TORSOBAR = 2;
HUD_ZOOM = 3;
HUD_HEAT = 4;
HUD_COOLANT = 5;
HUD_JUMP = 6;
HUD_SPEED = 7;
HUD_DAMAGE = 8;
HUD_TARGETDAMAGE = 9;
HUD_WEAPON = 10;
HUD_RETICLE = 11;
HUD_RADAR = 12;
HUD_CHAT = 13;
HUD_COMM = 14;
HUD_HELP = 15;
HUD_MAP = 16;
HUD_OBJECTIVE = 17;
HUD_SCORE = 18;
HUD_TIMER = 19;
HUD_HELPARROW = 20;
//----------------
// Sound triggers
// NOTE: The keywords and constants here must exactly match those in VehicleInterface.hpp!
//----------------
SOUND_TRIGGER_CRITICAL_HIT_WEAPON = 0;
SOUND_TRIGGER_CRITICAL_HIT_GIMP = 1;
SOUND_TRIGGER_DAMAGE_CRITICAL = 2;
SOUND_TRIGGER_NO_HEAT = 3;
SOUND_TRIGGER_LOW_HEAT = 4;
SOUND_TRIGGER_MED_HEAT = 5;
SOUND_TRIGGER_HIGH_HEAT = 6;
SOUND_TRIGGER_MELTDOWN = 7;
SOUND_TRIGGER_AUTO_SHUTDOWN_OVERRIDE = 8;
SOUND_TRIGGER_SHUTDOWN = 9;
SOUND_TRIGGER_POWER_UP = 10;
SOUND_TRIGGER_MISSILE_LOCKED = 11;
SOUND_TRIGGER_MISSILE_LOCKLOST = 12;
SOUND_TRIGGER_MISSILE_LOCKED_ON_ME = 13;
SOUND_TRIGGER_RADAR_RANGE_CHANGE = 14;
SOUND_TRIGGER_RADAR_ON = 15;
SOUND_TRIGGER_RADAR_OFF = 16;
SOUND_TRIGGER_ZOOM_RETICAL_ENGAGED = 17;
SOUND_TRIGGER_AMS_ENGAGED = 18;
SOUND_TRIGGER_LAMS_ENGAGED = 19;
SOUND_TRIGGER_NARC_SIGNAL_START = 20;
SOUND_TRIGGER_NARC_HIT = 21;
SOUND_TRIGGER_NEW_VEHICLE_RADAR_POWER_UP = 22;
SOUND_TRIGGER_TORSO_TWIST = 23;
SOUND_TRIGGER_TORSO_TWIST_MAX_REACHED = 24;
SOUND_TRIGGER_RADAR_JAMMED = 25;
SOUND_TRIGGER_COOLANT_FLUSH_START = 26;
SOUND_TRIGGER_COOLANT_FLUSH_STOP = 27;
SOUND_TRIGGER_OUT_OF_AMMO = 28;
SOUND_TRIGGER_OBJECT_SCANNED = 29;
SOUND_TRIGGER_INTERNAL_PPC_WASH = 30;
SOUND_TRIGGER_HILL_TOO_STEEP = 31;
SOUND_TRIGGER_TARGET_DESTROYED = 32;
SOUND_TRIGGER_TERRAIN_BAD = 33;
SOUND_TRIGGER_NARC_SIGNAL_STOP = 34;
SOUND_TRIGGER_RECHARGE_BEAM = 35;
SOUND_TRIGGER_RECHARGE_MISSILE = 36;
SOUND_TRIGGER_RECHARGE_PROJECTILE = 37;
SOUND_TRIGGER_RECHARGE_PPC = 38;
SOUND_TRIGGER_STEP_WATER_START = 39;
SOUND_TRIGGER_STEP_WATER_STOP = 40;
SOUND_TRIGGER_ENGINE_WALK = 41;
SOUND_TRIGGER_ENGINE_RUN = 42;
SOUND_TRIGGER_ENGINE_STOP = 43;
SOUND_TRIGGER_ENGINE_REVERSE = 44;
SOUND_TRIGGER_NAVPOINT_REACHED = 45;
SOUND_TRIGGER_KILLAWARDED = 46;
SOUND_TRIGGER_FRIENDLYFIREPENALTY = 47;
SOUND_TRIGGER_YOUHAVEFLAG = 48;
SOUND_TRIGGER_YOUINLEAD = 49;
SOUND_TRIGGER_TEAMMATEDESTROYED = 50;
SOUND_TRIGGER_FLAGTAKEN = 51;
SOUND_TRIGGER_FLAGCAPTURED = 52;
SOUND_TRIGGER_FLAGRETURNED = 53;
SOUND_TRIGGER_HILLCONTESTED = 54;
SOUND_TRIGGER_HILLCAPTURED = 55;
SOUND_TRIGGER_DEFENDEDDESTROYED = 56;
SOUND_TRIGGER_MECH_DESTROYED = 57;
SOUND_TRIGGER_ENEMY_DEAD = 58;
SOUND_TRIGGER_ALLY_DEAD = 59;
SOUND_TRIGGER_LANCE_DEAD = 60;
SOUND_TRIGGER_COMM_OFF = 61;
SOUND_TRIGGER_INIT_REPAIR = 62;
SOUND_TRIGGER_REPAIR_COMP = 63;
SOUND_TRIGGER_ENEMY_CAPTURED = 64;
SOUND_TRIGGER_NAV_ALPHA = 65;
SOUND_TRIGGER_NAV_BETA = 66;
SOUND_TRIGGER_NAV_GAMMA = 67;
SOUND_TRIGGER_NAV_DELTA = 68;
SOUND_TRIGGER_NAV_EPSL = 69;
SOUND_TRIGGER_EXTRACT_POINT = 70;
SOUND_TRIGGER_TEAM_DEAD = 71;
SOUND_TRIGGER_YOU_WIN = 72;
SOUND_TRIGGER_YOU_LOSE = 73;
SOUND_TRIGGER_VICTORY_BABY = 74;
SOUND_TRIGGER_ALL_HILLS = 75;
SOUND_TRIGGER_BASE_CAPTURED = 76;
COLISEUM_AHH_WAV = 79;
COLISEUM_AWW_WAV = 80;
COLISEUM_BOO1_WAV = 81;
COLISEUM_BOO2_WAV = 82;
COLISEUM_BOO3_WAV = 83;
COLISEUM_CHANT1_WAV = 84;
COLISEUM_CHANT3_WAV = 85;
COLISEUM_CHEER1_WAV = 86;
COLISEUM_CHEER2_WAV = 87;
COLISEUM_CHEER3_WAV = 88;
COLISEUM_CHEER4_WAV = 89;
COLISEUM_CHEER5_WAV = 90;
COLISEUM_CHEER8_WAV = 91;
COLISEUM_CHEER9_WAV = 92;
COLISEUM_CROWD1_WAV = 93;
COLISEUM_CROWD2_WAV = 94;
COLISEUM_ENERGYZAP_WAV = 95;
COLISEUM_HORN_WAV = 96;
COLISEUM_JEERS_WAV = 97;
COLISEUM_ROAR_WAV = 98;
COLISEUM_STADAMB_WAV = 99;
COLISEUM_FACTORYHORN = 100;
FACTORY_BANG_WAV = 101;
FACTORY_BUZZ_WAV = 102;
FACTORY_CLANG_WAV = 103;
FACTORY_DRILL_WAV = 104;
FACTORY_STEAM_WAV = 105;
COLISEUMAMB_MUSIC = 106;
COLISEUM_JUNGLEBIRD1 = 107;
COLISEUM_JUNGLEBIRD2 = 108;
COLISEUM_JUNGLEBIRD3 = 109;
COLISEUM_JUNGLEBIRD4 = 110;
COLISEUM_JUNGLEMONKEY1 = 111;
COLISEUM_JUNGLEMONKEY2 = 112;
SOUND_TRIGGER_TARGETATTACKED = 113;
SOUND_TRIGGER_TARGETDESTROYED = 114;
SOUND_TRIGGER_ALARM1 = 115;
SOUND_TRIGGER_ALARM2 = 116;
//----------------
// Talker IDs
// NOTE: The keywords and constants here must exactly match those in ablxstd.cpp
//----------------
TALKER_ERI = 0;
TALKER_MAN = 1;
TALKER_RAD = 2;
TALKER_ISA = 3;
TALKER_OLS = 4;
TALKER_GRE = 5;
TALKER_CAI = 6;
TALKER_SPE = 7;
TALKER_CAS = 8;
TALKER_AIS = 9;
TALKER_RUF = 10;
TALKER_ANG = 11;
TALKER_SHR = 12;
TALKER_RUB = 13;
TALKER_MAG = 14;
TALKER_HAN = 15;
TALKER_BUL = 16;
TALKER_MUS = 17;
TALKER_CLA = 18;
TALKER_SPI = 19;
TALKER_GOO = 20;
TALKER_BLS = 21;
TALKER_GAT = 22;
TALKER_BEO = 23;
TALKER_GOA = 24;
TALKER_GOB = 25;
TALKER_BLK = 26;
TALKER_SCO = 27;
TALKER_SCR = 28;
TALKER_BLA = 29;
TALKER_BUZ = 30;
TALKER_RES = 31;
TALKER_65C = 32;
TALKER_EV1 = 33;
TALKER_EV2 = 34;
TALKER_SAL = 35;
TALKER_REC = 36;
TALKER_SUP = 37;
TALKER_FO1 = 38;
TALKER_FO2 = 39;
TALKER_FO3 = 40;
TALKER_FO4 = 41;
TALKER_FO5 = 42;
TALKER_FO6 = 43;
TALKER_PI1 = 44;
TALKER_PI2 = 45;
TALKER_PI3 = 46;
TALKER_PI4 = 47;
TALKER_ART = 48;
TALKER_SHE = 49;
TALKER_BD1 = 50;
TALKER_BD2 = 51;
TALKER_FOX = 52;
TALKER_KIL = 53;
TALKER_SGT = 54;
TALKER_ROM = 55;
TALKER_XRY = 56;
TALKER_CCG = 57;
TALKER_ERL = 58;
TALKER_PA1 = 59;
TALKER_PA2 = 60;
TALKER_PA3 = 61;
TALKER_PA4 = 62;
TALKER_BRV = 63;
TALKER_DEN = 64;
TALKER_MIL = 65;
TALKER_CON = 66;
TALKER_STA = 67;
TALKER_DOS = 68;
TALKER_DUN = 69;
TALKER_JUN = 70;
TALKER_DRA = 71;
TALKER_BOU = 72;
TALKER_SIX = 73;
TALKER_CLP = 74;
TALKER_ROS = 75;
TALKER_SKY = 76;
TALKER_DOG = 77;
TALKER_HAM = 78;
TALKER_CHI = 79;
TALKER_SCB = 80;
TALKER_AND = 81;
TALKER_CRO = 82;
TALKER_CNV = 83;
TALKER_WAR = 84;
TALKER_CLO = 85;
TALKER_BUR = 86;
TALKER_CAN = 87;
TALKER_PET = 88;
TALKER_COL = 89;
TALKER_D24 = 90;
TALKER_D23 = 91;
TALKER_D22 = 92;
TALKER_D21 = 93;
TALKER_NON = 94;
TALKER_GUA = 95;
TALKER_RFX = 96; // Rabid Fox
TALKER_LEA = 97;
TALKER_ONE = 98;
TALKER_TWO = 99;
TALKER_THR = 100;
TALKER_FOU = 101;
TALKER_FIV = 102;
TALKER_KHA = 103;
TALKER_FIS = 104;
TALKER_SAN = 105;
TALKER_KUO = 106;
TALKER_CHO = 107;
TALKER_RID = 108;
TALKER_COC = 109;
TALKER_TER = 110;
TALKER_ACE = 111;
TALKER_FAN = 112;
TALKER_GRU = 113;
TALKER_PRO = 114;
TALKER_IAN = 115; // left in for the training mission
TALKER_BET = 116;
//Regiments
REGIMENT_WODRG = 5100;
REGIMENT_NOHI = 5101;
REGIMENT_KLHND = 5102;
REGIMENT_GDLEG = 5103;
//Table Tags/IDs
NOTORIETY = 1;
UNIT_STRENGTH = 2;
STEINER = 3;
DAVION = 4;
//Status
STATUS_PROBATION = 5104;
STATUS_REGULAR = 5105;
STATUS_FULLMEMBER = 5106;
STATUS_SUSPENDED = 5107;
STATUS_DISAVOWED = 5108;
//Mission Revelation
MISSION_HIDDEN = 0;
MISSION_DISPLAYED = 1;
MISSION_COMPLETED = 2;
//Arena Indices
ARENA_COLISEUM = 0;
ARENA_FACTORY = 1;
ARENA_JUNGLE = 2;
// Solaris Titles
SolTitleOne = 5109;
SolTitleTwo = 5110;
SolTitleThree = 5111;
SolTitleFour = 5112;
SolTitleFive = 5113;
SolTitleSix = 5114;
SolTitleSeven = 5115;
SolTitleEight = 5116;
SolTitleNine = 5117;
SolTitleTen = 5118;