Skip to content

Mechwarrior 4: Mercenaries Constants File

CentsOfFate edited this page Sep 5, 2023 · 2 revisions

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;