diff --git a/configs/sourcecoop/menu_sorting.txt b/configs/sourcecoop/menu_sorting.txt new file mode 100644 index 00000000..5c229151 --- /dev/null +++ b/configs/sourcecoop/menu_sorting.txt @@ -0,0 +1,15 @@ +"Menu" +{ + "PlayerSettings" + { + } + + "SoundSettings" + { + } + + "Other" + { + } +} + diff --git a/data/srccoop/bm_c1a4b.edt b/data/srccoop/bm_c1a4b.edt index b06818cb..92766f2f 100644 --- a/data/srccoop/bm_c1a4b.edt +++ b/data/srccoop/bm_c1a4b.edt @@ -37,10 +37,10 @@ "delay_output" "OnNewGame" } } - // dont close controlroom door + // dont close controlroom door (except when pressed the rocket fire button) "modify" { - "targetname" "c1a4c_controlroom_exit_door_button" + "targetname" "/^(c1a4c_controlroom_exit_door_button|c1a4c_controlroom_entry_door_button)$/" "outputs" { "remove" diff --git a/plugins/srccoop.smx b/plugins/srccoop.smx index f72a628c..1c6f3f86 100644 Binary files a/plugins/srccoop.smx and b/plugins/srccoop.smx differ diff --git a/plugins/srccoop_addon_killsounds.smx b/plugins/srccoop_addon_killsounds.smx index a4112df9..b3bfea6e 100644 Binary files a/plugins/srccoop_addon_killsounds.smx and b/plugins/srccoop_addon_killsounds.smx differ diff --git a/plugins/srccoop_addon_scoring.smx b/plugins/srccoop_addon_scoring.smx index 45d4ec53..fa011411 100644 Binary files a/plugins/srccoop_addon_scoring.smx and b/plugins/srccoop_addon_scoring.smx differ diff --git a/plugins/srccoop_addon_thirdperson.smx b/plugins/srccoop_addon_thirdperson.smx index 35463edd..9e0a6b1a 100644 Binary files a/plugins/srccoop_addon_thirdperson.smx and b/plugins/srccoop_addon_thirdperson.smx differ diff --git a/scripting/include/srccoop.inc b/scripting/include/srccoop.inc index 9ccbedab..96379cd1 100644 --- a/scripting/include/srccoop.inc +++ b/scripting/include/srccoop.inc @@ -16,6 +16,7 @@ #include #include +#include #include #include #include diff --git a/scripting/include/srccoop/classdef.inc b/scripting/include/srccoop/classdef.inc index 21705674..384ecbe1 100644 --- a/scripting/include/srccoop/classdef.inc +++ b/scripting/include/srccoop/classdef.inc @@ -5,9 +5,13 @@ #include -#define STATE_WARMUP "m_StateWarmup" -#define STATE_ROUND "m_StateRound" -#define STATE_INTERMISSION "m_StateIntermission" +Handle g_pGlobalEntityGetIndex; +Handle g_pGlobalEntityGetState; +Handle g_pGameShutdown; +Handle g_pSetCollisionBounds; +Handle g_pUpdateEnemyMemory; +Handle g_pGetSequenceLinearMotion; +Handle g_pShouldPlayerAvoid; enum struct FireOutputData { @@ -17,32 +21,6 @@ enum struct FireOutputData float m_flDelay; } -enum -{ - STATE_WARMUP_INDEX = 0, - STATE_INTERMISSION_INDEX, - STATE_ROUND_INDEX -} - -enum -{ - STATE_ELEMENT_DONE_TIME = 0, - STATE_ELEMENT_NEXT_STATE, - STATE_ELEMENT_IS_IN_INTERMISSION -} - -enum GLOBALESTATE -{ - GLOBAL_OFF = 0, - GLOBAL_ON = 1, - GLOBAL_DEAD = 2 -}; - -Handle g_pGlobalEntityGetIndex; -Handle g_pGlobalEntityGetState; - -Handle g_pGameShutdown; - methodmap Array_t < ArrayList { public Array_t(ArrayList pHandle = null) @@ -62,11 +40,6 @@ methodmap Array_t < ArrayList } } -Handle g_pSetCollisionBounds; -Handle g_pUpdateEnemyMemory; -Handle g_pGetSequenceLinearMotion; -Handle g_pShouldPlayerAvoid; - public int InternalGetBaseEntity(const int iEntIndex) { return (iEntIndex > -1) ? EntIndexToEntRef(iEntIndex) : iEntIndex; diff --git a/scripting/include/srccoop/menu.inc b/scripting/include/srccoop/menu.inc index 10205aa9..354434e8 100644 --- a/scripting/include/srccoop/menu.inc +++ b/scripting/include/srccoop/menu.inc @@ -6,6 +6,7 @@ TopMenu g_pCoopTopMenu; TopMenuObject g_pCoopPlayerSettingsMenu; TopMenuObject g_pCoopSoundSettingsMenu; +TopMenuObject g_pCoopOthersMenu; public any Native_GetCoopTopMenu(Handle plugin, int numParams) { @@ -19,8 +20,19 @@ void InitializeMenus() RegConsoleCmd("sizeup", Command_CoopMenu, "Displays the coop menu"); g_pCoopTopMenu = new TopMenu(CoopTopMenuHandler); - g_pCoopPlayerSettingsMenu = g_pCoopTopMenu.AddCategory(COOPMENU_CATEGORY_SETTINGS, CoopTopMenuHandler); - g_pCoopSoundSettingsMenu = g_pCoopTopMenu.AddCategory(COOPMENU_CATEGORY_SOUND_SETTINGS, CoopTopMenuHandler); + g_pCoopPlayerSettingsMenu = g_pCoopTopMenu.AddCategory(COOPMENU_CATEGORY_PLAYER, CoopTopMenuHandler); + g_pCoopSoundSettingsMenu = g_pCoopTopMenu.AddCategory(COOPMENU_CATEGORY_SOUNDS, CoopTopMenuHandler); + g_pCoopOthersMenu = g_pCoopTopMenu.AddCategory(COOPMENU_CATEGORY_OTHER, CoopTopMenuHandler); + + char path[PLATFORM_MAX_PATH]; + char error[256]; + + BuildPath(Path_SM, path, sizeof(path), "configs/sourcecoop/menu_sorting.txt"); + + if (!g_pCoopTopMenu.LoadConfig(path, error, sizeof(error))) + { + LogError("Could not load SourceCoop menu config (file \"%s\": %s)", path, error); + } } public void CoopTopMenuHandler(TopMenu topmenu, TopMenuAction action, TopMenuObject topobj_id, int param, char[] buffer, int maxlength) @@ -33,11 +45,15 @@ public void CoopTopMenuHandler(TopMenu topmenu, TopMenuAction action, TopMenuObj { if (topobj_id == g_pCoopPlayerSettingsMenu) { - Format(buffer, maxlength, COOPMENU_CATEGORY_SETTINGS); + Format(buffer, maxlength, "Player settings"); } else if (topobj_id == g_pCoopSoundSettingsMenu) { - Format(buffer, maxlength, COOPMENU_CATEGORY_SOUND_SETTINGS); + Format(buffer, maxlength, "Sound settings"); + } + else if (topobj_id == g_pCoopOthersMenu) + { + Format(buffer, maxlength, "Other"); } } } diff --git a/scripting/include/srccoop/typedef.inc b/scripting/include/srccoop/typedef.inc index dc909a84..127db702 100644 --- a/scripting/include/srccoop/typedef.inc +++ b/scripting/include/srccoop/typedef.inc @@ -18,2890 +18,14 @@ #define INT_MAX 2147483647 #define MAX_FORMAT 256 -#define MAX_CLASSNAME 48 -#define MAX_MAPNAME 32 -#define MAX_WEAPONS 48 -#define MAX_AMMO_TYPES 32 #define MAX_KEY 32 #define MAX_VALUE 1024 -#define TICK_INTERVAL (GetTickInterval()) -#define TIME_TO_TICKS(%1) (RoundToFloor(0.5 + (%1) / TICK_INTERVAL)) -#define TICKS_TO_TIME(%1) ( TICK_INTERVAL *(%1) ) -#define ROUND_TO_TICKS(%1) ( TICK_INTERVAL * TIME_TO_TICKS(%1) ) - -#define vec3_origin {0.0, 0.0, 0.0} - -#define VEC_HULL_MIN {-16.0, -16.0, 0.0} -#define VEC_HULL_MAX {16.0, 16.0, 72.0} -#define VEC_VIEW {0.0, 0.0, 64.0} -#define VEC_DUCK_HULL_MIN {-16.0, -16.0, 0.0} -#define VEC_DUCK_HULL_MAX {16.0, 16.0, 36.0} -#define VEC_DUCK_VIEW {0.0, 0.0, 28.0} - -//------------------------------------------------------ -// Spawnflags -//------------------------------------------------------ -#define SF_SNIPERTARGET_NOINTERRUPT 2 - -#define SF_INFOPLAYERSTART_MASTER 1 - -#define SF_NORESPAWN ( 1 << 30 ) // if set, item wont respawn in MP - -#define SF_AUTO_FIREONCE 0x01 -#define SF_REMOVE_ON_FIRE 0x001 // Relay will remove itself after being triggered. - -#define SF_CHANGELEVEL_NOTOUCH 0x0002 - -#define SF_PLAYER_EQUIP_STRIP_WEAPONS 2 -#define SF_PLAYER_EQUIP_STRIP_SUIT 4 - -#define SF_MESSAGE_ALL 0x0002 - -// Phys prop spawnflags -#define SF_PHYSPROP_START_ASLEEP 0x000001 -#define SF_PHYSPROP_DONT_TAKE_PHYSICS_DAMAGE 0x000002 // this prop can't be damaged by physics collisions -#define SF_PHYSPROP_DEBRIS 0x000004 -#define SF_PHYSPROP_MOTIONDISABLED 0x000008 // motion disabled at startup (flag only valid in spawn - motion can be enabled via input) -#define SF_PHYSPROP_TOUCH 0x000010 // can be 'crashed through' by running player (plate glass) -#define SF_PHYSPROP_PRESSURE 0x000020 // can be broken by a player standing on it -#define SF_PHYSPROP_ENABLE_ON_PHYSCANNON 0x000040 // enable motion only if the player grabs it with the physcannon -#define SF_PHYSPROP_NO_ROTORWASH_PUSH 0x000080 // The rotorwash doesn't push these -#define SF_PHYSPROP_ENABLE_PICKUP_OUTPUT 0x000100 // If set, allow the player to +USE this for the purposes of generating an output -#define SF_PHYSPROP_PREVENT_PICKUP 0x000200 // If set, prevent +USE/Physcannon pickup of this prop -#define SF_PHYSPROP_PREVENT_PLAYER_TOUCH_ENABLE 0x000400 // If set, the player will not cause the object to enable its motion when bumped into -#define SF_PHYSPROP_HAS_ATTACHED_RAGDOLLS 0x000800 // Need to remove attached ragdolls on enable motion/etc -#define SF_PHYSPROP_FORCE_TOUCH_TRIGGERS 0x001000 // Override normal debris behavior and respond to triggers anyway -#define SF_PHYSPROP_FORCE_SERVER_SIDE 0x002000 // Force multiplayer physics object to be serverside -#define SF_PHYSPROP_RADIUS_PICKUP 0x004000 // For Xbox, makes small objects easier to pick up by allowing them to be found -#define SF_PHYSPROP_ALWAYS_PICK_UP 0x100000 // Physcannon can always pick this up, no matter what mass or constraints may apply. -#define SF_PHYSPROP_NO_COLLISIONS 0x200000 // Don't enable collisions on spawn -#define SF_PHYSPROP_IS_GIB 0x400000 // Limit # of active gibs - -// Physbox spawnflags -#define SF_PHYSBOX_ASLEEP 0x01000 -#define SF_PHYSBOX_IGNOREUSE 0x02000 -#define SF_PHYSBOX_DEBRIS 0x04000 -#define SF_PHYSBOX_MOTIONDISABLED 0x08000 -#define SF_PHYSBOX_USEPREFERRED 0x10000 -#define SF_PHYSBOX_ENABLE_ON_PHYSCANNON 0x20000 -#define SF_PHYSBOX_NO_ROTORWASH_PUSH 0x40000 // The rotorwash doesn't push these -#define SF_PHYSBOX_ENABLE_PICKUP_OUTPUT 0x80000 -#define SF_PHYSBOX_ALWAYS_PICK_UP 0x100000 // Physcannon can always pick this up, no matter what mass or constraints may apply. -#define SF_PHYSBOX_NEVER_PICK_UP 0x200000 // Physcannon will never be able to pick this up. -#define SF_PHYSBOX_NEVER_PUNT 0x400000 // Physcannon will never be able to punt this object. -#define SF_PHYSBOX_PREVENT_PLAYER_TOUCH_ENABLE 0x800000 // If set, the player will not cause the object to enable its motion when bumped into - -//------------------------------------------------------ -// Effects flags -//------------------------------------------------------ -#define EF_NODRAW 32 - -//------------------------------------------------------ -// Settings for m_takedamage -//------------------------------------------------------ -#define DAMAGE_NO 0 -#define DAMAGE_EVENTS_ONLY 1 // Call damage functions, but don't modify health -#define DAMAGE_YES 2 -#define DAMAGE_AIM 3 - -//------------------------------------------------------ -// Screen Fade flags -//------------------------------------------------------ -#define FFADE_IN 0x0001 // Just here so we don't pass 0 into the function -#define FFADE_OUT 0x0002 // Fade out (not in) -#define FFADE_MODULATE 0x0004 // Modulate (don't blend) -#define FFADE_STAYOUT 0x0008 // ignores the duration, stays faded out until new ScreenFade message received -#define FFADE_PURGE 0x0010 // Purges all other fades, replacing them with this one - -//------------------------------------------------------ -// These are caps bits to indicate what an object's capabilities (currently used for +USE, save/restore and level transitions) -//------------------------------------------------------ -#define FCAP_MUST_SPAWN 0x00000001 // Spawn after restore -#define FCAP_ACROSS_TRANSITION 0x00000002 // should transfer between transitions -// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!! -#define FCAP_FORCE_TRANSITION 0x00000004 // ALWAYS goes across transitions -#define FCAP_NOTIFY_ON_TRANSITION 0x00000008 // Entity will receive Inside/Outside transition inputs when a transition occurs - -#define FCAP_IMPULSE_USE 0x00000010 // can be used by the player -#define FCAP_CONTINUOUS_USE 0x00000020 // can be used by the player -#define FCAP_ONOFF_USE 0x00000040 // can be used by the player -#define FCAP_DIRECTIONAL_USE 0x00000080 // Player sends +/- 1 when using (currently only tracktrains) -// NOTE: Normally +USE only works in direct line of sight. Add these caps for additional searches -#define FCAP_USE_ONGROUND 0x00000100 -#define FCAP_USE_IN_RADIUS 0x00000200 -#define FCAP_SAVE_NON_NETWORKABLE 0x00000400 - -#define FCAP_MASTER 0x10000000 // Can be used to "master" other entities (like multisource) -#define FCAP_WCEDIT_POSITION 0x40000000 // Can change position and update Hammer in edit mode -#define FCAP_DONT_SAVE 0x80000000 // Don't save this - - enum OperatingSystem { OS_Unknown = -1, OS_Windows, OS_Linux, OS_Mac -} - -enum -{ - AMMO_INVALID = 0, - AMMO_9MM = 1, - AMMO_357 = 2, - AMMO_BOLTS = 3, - AMMO_SHELLS = 4, - AMMO_ENERGY = 5, - AMMO_MP5NADE = 6, - AMMO_ROCKETS = 7, - AMMO_NADES = 8, - AMMO_SATCHELS = 9, - AMMO_TRIPMINES = 10, - AMMO_HIVEGUN = 11, - AMMO_SNARKS = 12, - // non-equippable ammo types: - AMMO_50CAL = 13, - AMMO_SENTRY = 14, - AMMO_SNIPERROUND = 15, - AMMO_SNIPERPENETRATEDROUND = 16 -} - -enum -{ - TEAM_ANY = -2, - TEAM_INVALID = -1, - TEAM_UNASSIGNED = 0, - TEAM_SPECTATOR = 1, - TEAM_MARINES = 2, - TEAM_SCIENTIST = 3, -} - -enum Obs_Mode -{ - OBS_MODE_NONE = 0, // not in spectator mode - OBS_MODE_DEATHCAM, // special mode for death cam animation - OBS_MODE_FREEZECAM, // zooms to a target, and freeze-frames on them - OBS_MODE_FIXED, // view from a fixed camera position - OBS_MODE_IN_EYE, // follow a player in first person view - OBS_MODE_CHASE, // follow a player in third person view - OBS_MODE_ROAMING, // free roaming - - NUM_OBSERVER_MODES -}; - -enum -{ - USE_OFF, - USE_ON, - USE_SET, - USE_TOGGLE -}; - -// ToDo: Need to find all values for BMS -enum Class_T -{ - CLASS_PLAYER = 3 -}; - -enum Disposition_t -{ - D_ER, // Undefined - error - D_HT, // Hate - D_FR, // Fear - D_LI, // Like - D_NU // Neutral -}; - -enum AI_SleepState_t -{ - AISS_AWAKE, - AISS_WAITING_FOR_THREAT, - AISS_WAITING_FOR_PVS, - AISS_WAITING_FOR_INPUT, - AISS_AUTO_PVS, - AISS_AUTO_PVS_AFTER_PVS, // Same as AUTO_PVS, except doesn't activate until/unless the NPC is IN the player's PVS. -}; - -enum SCOND_t -{ - COND_NONE, // A way for a function to return no condition to get - - COND_IN_PVS, - COND_IDLE_INTERRUPT, // The schedule in question is a low priority idle, and therefore a candidate for translation into something else - - COND_LOW_PRIMARY_AMMO, - COND_NO_PRIMARY_AMMO, - COND_NO_SECONDARY_AMMO, - COND_NO_WEAPON, - COND_SEE_HATE, - COND_SEE_FEAR, - COND_SEE_DISLIKE, - COND_SEE_ENEMY, - COND_LOST_ENEMY, - COND_ENEMY_WENT_NULL, // What most people think COND_LOST_ENEMY is: This condition is set in the edge case where you had an enemy last think, but don't have one this think. - COND_ENEMY_OCCLUDED, // Can't see m_hEnemy - COND_TARGET_OCCLUDED, // Can't see m_hTargetEnt - COND_HAVE_ENEMY_LOS, - COND_HAVE_TARGET_LOS, - COND_LIGHT_DAMAGE, - COND_HEAVY_DAMAGE, - COND_PHYSICS_DAMAGE, - COND_REPEATED_DAMAGE, // Damaged several times in a row - - COND_CAN_RANGE_ATTACK1, // Hitscan weapon only - COND_CAN_RANGE_ATTACK2, // Grenade weapon only - COND_CAN_MELEE_ATTACK1, - COND_CAN_MELEE_ATTACK2, - - COND_PROVOKED, - COND_NEW_ENEMY, - - COND_ENEMY_TOO_FAR, // Can we get rid of this one!?!? - COND_ENEMY_FACING_ME, - COND_BEHIND_ENEMY, - COND_ENEMY_DEAD, - COND_ENEMY_UNREACHABLE, // Not connected to me via node graph - - COND_SEE_PLAYER, - COND_LOST_PLAYER, - COND_SEE_NEMESIS, - COND_TASK_FAILED, - COND_SCHEDULE_DONE, - COND_SMELL, - COND_TOO_CLOSE_TO_ATTACK, // FIXME: most of this next group are meaningless since they're shared between all attack checks! - COND_TOO_FAR_TO_ATTACK, - COND_NOT_FACING_ATTACK, - COND_WEAPON_HAS_LOS, - COND_WEAPON_BLOCKED_BY_FRIEND, // Friend between weapon and target - COND_WEAPON_PLAYER_IN_SPREAD, // Player in shooting direction - COND_WEAPON_PLAYER_NEAR_TARGET, // Player near shooting position - COND_WEAPON_SIGHT_OCCLUDED, - COND_BETTER_WEAPON_AVAILABLE, - COND_HEALTH_ITEM_AVAILABLE, // There's a healthkit available. - COND_GIVE_WAY, // Another npc requested that I give way - COND_WAY_CLEAR, // I no longer have to give way - COND_HEAR_DANGER, - COND_HEAR_THUMPER, - COND_HEAR_BUGBAIT, - COND_HEAR_COMBAT, - COND_HEAR_WORLD, - COND_HEAR_PLAYER, - COND_HEAR_BULLET_IMPACT, - COND_HEAR_PHYSICS_DANGER, - COND_HEAR_MOVE_AWAY, - COND_HEAR_SPOOKY, // Zombies make this when Alyx is in darkness mode - - COND_NO_HEAR_DANGER, // Since we can't use ~CONDITION. Mutually exclusive with COND_HEAR_DANGER - - COND_FLOATING_OFF_GROUND, - - COND_MOBBED_BY_ENEMIES, // Surrounded by a large number of enemies melee attacking me. (Zombies or Antlions, usually). - - // Commander stuff - COND_RECEIVED_ORDERS, - COND_PLAYER_ADDED_TO_SQUAD, - COND_PLAYER_REMOVED_FROM_SQUAD, - - COND_PLAYER_PUSHING, - COND_NPC_FREEZE, // We received an npc_freeze command while we were unfrozen - COND_NPC_UNFREEZE, // We received an npc_freeze command while we were frozen - - // This is a talker condition, but done here because we need to handle it in base AI - // due to it's interaction with behaviors. - COND_TALKER_RESPOND_TO_QUESTION, - - COND_NO_CUSTOM_INTERRUPTS, // Don't call BuildScheduleTestBits for this schedule. Used for schedules that must strictly control their interruptibility. - - // ====================================== - // IMPORTANT: This must be the last enum - // ====================================== - LAST_SHARED_CONDITION -}; - -enum //Sniper_Conds -{ - COND_SNIPER_CANATTACKDECOY = LAST_SHARED_CONDITION, - COND_SNIPER_SUPPRESSED, - COND_SNIPER_ENABLED, - COND_SNIPER_DISABLED, - COND_SNIPER_FRUSTRATED, - COND_SNIPER_SWEEP_TARGET, - COND_SNIPER_NO_SHOT, -}; - -// ======================================= -// Movement goals -// Used both to store the current movment goal in m_routeGoalType and to or/and with route -// ======================================= -enum //GoalType_t -{ - GOALTYPE_NONE, - GOALTYPE_TARGETENT, - GOALTYPE_ENEMY, - GOALTYPE_PATHCORNER, - GOALTYPE_LOCATION, - GOALTYPE_LOCATION_NEAREST_NODE, - GOALTYPE_FLANK, - GOALTYPE_COVER, - - GOALTYPE_INVALID -}; - -//========================================================= -// These are the schedule types -//========================================================= -enum -{ - SCHED_NONE = 0, - SCHED_IDLE_STAND, - SCHED_IDLE_WALK, - SCHED_IDLE_WANDER, - SCHED_WAKE_ANGRY, - SCHED_ALERT_FACE, - SCHED_ALERT_FACE_BESTSOUND, - SCHED_ALERT_REACT_TO_COMBAT_SOUND, - SCHED_ALERT_SCAN, - SCHED_ALERT_STAND, - SCHED_ALERT_WALK, - SCHED_INVESTIGATE_SOUND, - SCHED_COMBAT_FACE, - SCHED_COMBAT_SWEEP, - SCHED_FEAR_FACE, - SCHED_COMBAT_STAND, - SCHED_COMBAT_WALK, - SCHED_CHASE_ENEMY, - SCHED_CHASE_ENEMY_FAILED, - SCHED_VICTORY_DANCE, - SCHED_TARGET_FACE, - SCHED_TARGET_CHASE, - SCHED_SMALL_FLINCH, - SCHED_BIG_FLINCH, - SCHED_BACK_AWAY_FROM_ENEMY, - SCHED_MOVE_AWAY_FROM_ENEMY, - SCHED_BACK_AWAY_FROM_SAVE_POSITION, - SCHED_TAKE_COVER_FROM_ENEMY, - SCHED_TAKE_COVER_FROM_BEST_SOUND, - SCHED_FLEE_FROM_BEST_SOUND, - SCHED_TAKE_COVER_FROM_ORIGIN, - SCHED_FAIL_TAKE_COVER, - SCHED_RUN_FROM_ENEMY, - SCHED_RUN_FROM_ENEMY_FALLBACK, - SCHED_MOVE_TO_WEAPON_RANGE, - SCHED_ESTABLISH_LINE_OF_FIRE, - SCHED_ESTABLISH_LINE_OF_FIRE_FALLBACK, - SCHED_PRE_FAIL_ESTABLISH_LINE_OF_FIRE, - SCHED_FAIL_ESTABLISH_LINE_OF_FIRE, - SCHED_SHOOT_ENEMY_COVER, - SCHED_COWER, // usually a last resort! - SCHED_MELEE_ATTACK1, - SCHED_MELEE_ATTACK2, - SCHED_RANGE_ATTACK1, - SCHED_RANGE_ATTACK2, - SCHED_SPECIAL_ATTACK1, - SCHED_SPECIAL_ATTACK2, - SCHED_STANDOFF, - SCHED_ARM_WEAPON, - SCHED_DISARM_WEAPON, - SCHED_HIDE_AND_RELOAD, - SCHED_RELOAD, - SCHED_AMBUSH, - SCHED_DIE, - SCHED_DIE_RAGDOLL, - SCHED_WAIT_FOR_SCRIPT, - SCHED_AISCRIPT, - SCHED_SCRIPTED_WALK, - SCHED_SCRIPTED_RUN, - SCHED_SCRIPTED_CUSTOM_MOVE, - SCHED_SCRIPTED_WAIT, - SCHED_SCRIPTED_FACE, - SCHED_SCENE_GENERIC, - SCHED_NEW_WEAPON, - SCHED_NEW_WEAPON_CHEAT, - SCHED_SWITCH_TO_PENDING_WEAPON, - SCHED_GET_HEALTHKIT, - SCHED_WAIT_FOR_SPEAK_FINISH, - - SCHED_MOVE_AWAY, - SCHED_MOVE_AWAY_FAIL, - SCHED_MOVE_AWAY_END, - SCHED_FORCED_GO, - SCHED_FORCED_GO_RUN, - SCHED_NPC_FREEZE, - SCHED_PATROL_WALK, - SCHED_COMBAT_PATROL, - SCHED_PATROL_RUN, - SCHED_RUN_RANDOM, - SCHED_FALL_TO_GROUND, - SCHED_DROPSHIP_DUSTOFF, - - SCHED_FLINCH_PHYSICS, - - SCHED_FAIL, - SCHED_FAIL_NOSTOP, - - SCHED_RUN_FROM_ENEMY_MOB, - - SCHED_DUCK_DODGE, - - SCHED_INTERACTION_MOVE_TO_PARTNER, - SCHED_INTERACTION_WAIT_FOR_PARTNER, - - SCHED_SLEEP, - - // ====================================== - // IMPORTANT: This must be the last enum - // ====================================== - LAST_SHARED_SCHEDULE - -}; - -enum -{ - SCHED_PSNIPER_SCAN = LAST_SHARED_SCHEDULE, - SCHED_PSNIPER_CAMP, - SCHED_PSNIPER_ATTACK, - SCHED_PSNIPER_RELOAD, - SCHED_PSNIPER_ATTACKDECOY, - SCHED_PSNIPER_SUPPRESSED, - SCHED_PSNIPER_DISABLEDWAIT, - SCHED_PSNIPER_FRUSTRATED_ATTACK, - SCHED_PSNIPER_SWEEP_TARGET, - SCHED_PSNIPER_SWEEP_TARGET_NOINTERRUPT, - SCHED_PSNIPER_SNAPATTACK, - SCHED_PSNIPER_NO_CLEAR_SHOT, - SCHED_PSNIPER_PLAYER_DEAD, -}; - -enum -{ - COLLISION_GROUP_NONE = 0, - COLLISION_GROUP_DEBRIS, // Collides with nothing but world and static stuff - COLLISION_GROUP_DEBRIS_TRIGGER, // Same as debris, but hits triggers - COLLISION_GROUP_INTERACTIVE_DEBRIS, // Collides with everything except other interactive debris or debris - COLLISION_GROUP_INTERACTIVE, // Collides with everything except interactive debris or debris - COLLISION_GROUP_PLAYER, - COLLISION_GROUP_BREAKABLE_GLASS, - COLLISION_GROUP_VEHICLE, - COLLISION_GROUP_PLAYER_MOVEMENT, // For HL2, same as Collision_Group_Player - - COLLISION_GROUP_NPC, // Generic NPC group - COLLISION_GROUP_IN_VEHICLE, // for any entity inside a vehicle - COLLISION_GROUP_WEAPON, // for any weapons that need collision detection - COLLISION_GROUP_VEHICLE_CLIP, // vehicle clip brush to restrict vehicle movement - COLLISION_GROUP_PROJECTILE, // Projectiles! - COLLISION_GROUP_DOOR_BLOCKER, // Blocks entities not permitted to get near moving doors - COLLISION_GROUP_PASSABLE_DOOR, // Doors that the player shouldn't collide with - COLLISION_GROUP_DISSOLVING, // Things that are dissolving are in this group - COLLISION_GROUP_PUSHAWAY, // Nonsolid on client and server, pushaway in player code - - COLLISION_GROUP_NPC_ACTOR, // Used so NPCs in scripts ignore the player. -} - -enum SolidType_t -{ - SOLID_NONE = 0, // no solid model - SOLID_BSP = 1, // a BSP tree - SOLID_BBOX = 2, // an AABB - SOLID_OBB = 3, // an OBB (not implemented yet) - SOLID_OBB_YAW = 4, // an OBB, constrained so that it can only yaw - SOLID_CUSTOM = 5, // Always call into the entity for tests - SOLID_VPHYSICS = 6, // solid vphysics object, get vcollide from the model and collide with that - SOLID_LAST, -}; - -enum //SolidFlags_t -{ - FSOLID_CUSTOMRAYTEST = 0x0001, // Ignore solid type + always call into the entity for ray tests - FSOLID_CUSTOMBOXTEST = 0x0002, // Ignore solid type + always call into the entity for swept box tests - FSOLID_NOT_SOLID = 0x0004, // Are we currently not solid? - FSOLID_TRIGGER = 0x0008, // This is something may be collideable but fires touch functions - - // even when it's not collideable (when the FSOLID_NOT_SOLID flag is set) - FSOLID_NOT_STANDABLE = 0x0010, // You can't stand on this - FSOLID_VOLUME_CONTENTS = 0x0020, // Contains volumetric contents (like water) - FSOLID_FORCE_WORLD_ALIGNED = 0x0040, // Forces the collision rep to be world-aligned even if it's SOLID_BSP or SOLID_VPHYSICS - FSOLID_USE_TRIGGER_BOUNDS = 0x0080, // Uses a special trigger bounds separate from the normal OBB - FSOLID_ROOT_PARENT_ALIGNED = 0x0100, // Collisions are defined in root parent's local coordinate space - FSOLID_TRIGGER_TOUCH_DEBRIS = 0x0200, // This trigger will touch debris objects -}; - -enum fieldtype_t -{ - FIELD_VOID = 0, // No type or value - FIELD_FLOAT, // Any floating point value - FIELD_STRING, // A string ID (return from ALLOC_STRING) - FIELD_VECTOR, // Any vector, QAngle, or AngularImpulse - FIELD_QUATERNION, // A quaternion - FIELD_INTEGER, // Any integer or enum - FIELD_BOOLEAN, // boolean, implemented as an int, I may use this as a hint for compression - FIELD_SHORT, // 2 byte integer - FIELD_CHARACTER, // a byte - FIELD_COLOR32, // 8-bit per channel r,g,b,a (32bit color) - FIELD_EMBEDDED, // an embedded object with a datadesc, recursively traverse and embedded class/structure based on an additional typedescription - FIELD_CUSTOM, // special type that contains function pointers to it's read/write/parse functions - - FIELD_CLASSPTR, // CBaseEntity * - FIELD_EHANDLE, // Entity handle - FIELD_EDICT, // edict_t * - - FIELD_POSITION_VECTOR, // A world coordinate (these are fixed up across level transitions automagically) - FIELD_TIME, // a floating point time (these are fixed up automatically too!) - FIELD_TICK, // an integer tick count( fixed up similarly to time) - FIELD_MODELNAME, // Engine string that is a model name (needs precache) - FIELD_SOUNDNAME, // Engine string that is a sound name (needs precache) - - FIELD_INPUT, // a list of inputed data fields (all derived from CMultiInputVar) - FIELD_FUNCTION, // A class function pointer (Think, Use, etc) - - FIELD_VMATRIX, // a vmatrix (output coords are NOT worldspace) - - // NOTE: Use float arrays for local transformations that don't need to be fixed up. - FIELD_VMATRIX_WORLDSPACE,// A VMatrix that maps some local space to world space (translation is fixed up on level transitions) - FIELD_MATRIX3X4_WORLDSPACE, // matrix3x4_t that maps some local space to world space (translation is fixed up on level transitions) - - FIELD_INTERVAL, // a start and range floating point interval ( e.g., 3.2->3.6 == 3.2 and 0.4 ) - FIELD_MODELINDEX, // a model index - FIELD_MATERIALINDEX, // a material index (using the material precache string table) - - FIELD_VECTOR2D, // 2 floats - - FIELD_TYPECOUNT, // MUST BE LAST -}; - -//------------------------------------------------------ -// BMS specific activity list -//------------------------------------------------------ -enum -{ - ACT_INVALID = -1, // So we have something more succint to check for than '-1' - ACT_RESET = 0, // Set m_Activity to this invalid value to force a reset to m_IdealActivity - ACT_IDLE, - ACT_TRANSITION, - ACT_COVER, // FIXME: obsolete? redundant with ACT_COVER_LOW? - ACT_COVER_MED, // FIXME: unsupported? - ACT_COVER_LOW, // FIXME: rename ACT_IDLE_CROUCH? - ACT_WALK, - ACT_WALK_AIM, - ACT_WALK_CROUCH, - ACT_WALK_CROUCH_AIM, - ACT_RUN, - ACT_RUN_AIM, - ACT_RUN_CROUCH, - ACT_RUN_CROUCH_AIM, - ACT_RUN_PROTECTED, - ACT_SCRIPT_CUSTOM_MOVE, - ACT_RANGE_ATTACK1, - ACT_RANGE_ATTACK2, - ACT_RANGE_ATTACK1_LOW, // FIXME: not used yet, crouched versions of the range attack - ACT_RANGE_ATTACK2_LOW, // FIXME: not used yet, crouched versions of the range attack - ACT_DIESIMPLE, - ACT_DIEBACKWARD, - ACT_DIEFORWARD, - ACT_DIEVIOLENT, - ACT_DIERAGDOLL, - ACT_FLY, // Fly (and flap if appropriate) - ACT_HOVER, - ACT_GLIDE, - ACT_SWIM, - ACT_JUMP, - ACT_HOP, // vertical jump - ACT_LEAP, // long forward jump - ACT_LAND, - ACT_CLIMB_UP, - ACT_CLIMB_DOWN, - ACT_CLIMB_DISMOUNT, - ACT_SHIPLADDER_UP, - ACT_SHIPLADDER_DOWN, - ACT_STRAFE_LEFT, - ACT_STRAFE_RIGHT, - ACT_ROLL_LEFT, // tuck and roll, left - ACT_ROLL_RIGHT, // tuck and roll, right - ACT_TURN_LEFT, // turn quickly left (stationary) - ACT_TURN_RIGHT, // turn quickly right (stationary) - ACT_CROUCH, // FIXME: obsolete? only used be soldier (the act of crouching down from a standing position) - ACT_CROUCHIDLE, // FIXME: obsolete? only used be soldier (holding body in crouched position (loops)) - ACT_STAND, // FIXME: obsolete? should be transition (the act of standing from a crouched position) - ACT_USE, - ACT_SIGNAL1, - ACT_SIGNAL2, - ACT_SIGNAL3, - - ACT_SIGNAL_ADVANCE, // Squad handsignals, specific. - ACT_SIGNAL_FORWARD, - ACT_SIGNAL_GROUP, - ACT_SIGNAL_HALT, - ACT_SIGNAL_LEFT, - ACT_SIGNAL_RIGHT, - ACT_SIGNAL_TAKECOVER, - - ACT_LOOKBACK_RIGHT, // look back over shoulder without turning around. - ACT_LOOKBACK_LEFT, - ACT_COWER, // FIXME: unused, should be more extreme version of crouching - ACT_SMALL_FLINCH, // FIXME: needed? shouldn't flinching be down with overlays? - ACT_BIG_FLINCH, - ACT_MELEE_ATTACK1, - ACT_MELEE_ATTACK2, - ACT_RELOAD, - ACT_RELOAD_START, - ACT_RELOAD_FINISH, - ACT_RELOAD_LOW, - ACT_ARM, // pull out gun, for instance - ACT_DISARM, // reholster gun - ACT_DROP_WEAPON, - ACT_DROP_WEAPON_SHOTGUN, - ACT_PICKUP_GROUND, // pick up something in front of you on the ground - ACT_PICKUP_RACK, // pick up something from a rack or shelf in front of you. - ACT_IDLE_ANGRY, // FIXME: being used as an combat ready idle? alternate idle animation in which the monster is clearly agitated. (loop) - - ACT_IDLE_RELAXED, - ACT_IDLE_STIMULATED, - ACT_IDLE_AGITATED, - ACT_IDLE_STEALTH, - ACT_IDLE_HURT, - - ACT_WALK_RELAXED, - ACT_WALK_STIMULATED, - ACT_WALK_AGITATED, - ACT_WALK_STEALTH, - - ACT_RUN_RELAXED, - ACT_RUN_STIMULATED, - ACT_RUN_AGITATED, - ACT_RUN_STEALTH, - - ACT_IDLE_AIM_RELAXED, - ACT_IDLE_AIM_STIMULATED, - ACT_IDLE_AIM_AGITATED, - ACT_IDLE_AIM_STEALTH, - - ACT_WALK_AIM_RELAXED, - ACT_WALK_AIM_STIMULATED, - ACT_WALK_AIM_AGITATED, - ACT_WALK_AIM_STEALTH, - - ACT_RUN_AIM_RELAXED, - ACT_RUN_AIM_STIMULATED, - ACT_RUN_AIM_AGITATED, - ACT_RUN_AIM_STEALTH, - - ACT_CROUCHIDLE_STIMULATED, - ACT_CROUCHIDLE_AIM_STIMULATED, - ACT_CROUCHIDLE_AGITATED, - - ACT_WALK_HURT, // limp (loop) - ACT_RUN_HURT, // limp (loop) - ACT_SPECIAL_ATTACK1, // very monster specific special attacks. - ACT_SPECIAL_ATTACK2, - ACT_COMBAT_IDLE, // FIXME: unused? agitated idle. - ACT_WALK_SCARED, - ACT_RUN_SCARED, - ACT_VICTORY_DANCE, // killed a player, do a victory dance. - ACT_DIE_HEADSHOT, // die, hit in head. - ACT_DIE_CHESTSHOT, // die, hit in chest - ACT_DIE_GUTSHOT, // die, hit in gut - ACT_DIE_BACKSHOT, // die, hit in back - ACT_FLINCH_HEAD, - ACT_FLINCH_CHEST, - ACT_FLINCH_STOMACH, - ACT_FLINCH_LEFTARM, - ACT_FLINCH_RIGHTARM, - ACT_FLINCH_LEFTLEG, - ACT_FLINCH_RIGHTLEG, - ACT_FLINCH_PHYSICS, - - ACT_IDLE_ON_FIRE, // ON FIRE animations - ACT_WALK_ON_FIRE, - ACT_RUN_ON_FIRE, - - ACT_RAPPEL_LOOP, // Rappel down a rope! - - ACT_180_LEFT, // 180 degree left turn - ACT_180_RIGHT, - - ACT_90_LEFT, // 90 degree turns - ACT_90_RIGHT, - - ACT_STEP_LEFT, // Single steps - ACT_STEP_RIGHT, - ACT_STEP_BACK, - ACT_STEP_FORE, - - ACT_GESTURE_RANGE_ATTACK1, - ACT_GESTURE_RANGE_ATTACK2, - ACT_GESTURE_MELEE_ATTACK1, - ACT_GESTURE_MELEE_ATTACK2, - ACT_GESTURE_RANGE_ATTACK1_LOW, // FIXME: not used yet, crouched versions of the range attack - ACT_GESTURE_RANGE_ATTACK2_LOW, // FIXME: not used yet, crouched versions of the range attack - - ACT_MELEE_ATTACK_SWING_GESTURE, - - ACT_GESTURE_SMALL_FLINCH, - ACT_GESTURE_BIG_FLINCH, - ACT_GESTURE_FLINCH_BLAST, // Startled by an explosion - ACT_GESTURE_FLINCH_BLAST_SHOTGUN, - ACT_GESTURE_FLINCH_BLAST_DAMAGED, // Damaged by an explosion - ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN, - ACT_GESTURE_FLINCH_HEAD, - ACT_GESTURE_FLINCH_CHEST, - ACT_GESTURE_FLINCH_STOMACH, - ACT_GESTURE_FLINCH_LEFTARM, - ACT_GESTURE_FLINCH_RIGHTARM, - ACT_GESTURE_FLINCH_LEFTLEG, - ACT_GESTURE_FLINCH_RIGHTLEG, - - ACT_GESTURE_TURN_LEFT, - ACT_GESTURE_TURN_RIGHT, - ACT_GESTURE_TURN_LEFT45, - ACT_GESTURE_TURN_RIGHT45, - ACT_GESTURE_TURN_LEFT90, - ACT_GESTURE_TURN_RIGHT90, - ACT_GESTURE_TURN_LEFT45_FLAT, - ACT_GESTURE_TURN_RIGHT45_FLAT, - ACT_GESTURE_TURN_LEFT90_FLAT, - ACT_GESTURE_TURN_RIGHT90_FLAT, - - // HALF-LIFE 1 compatability stuff goes here. Temporary! - ACT_BARNACLE_HIT, // barnacle tongue hits a monster - ACT_BARNACLE_PULL, // barnacle is lifting the monster ( loop ) - ACT_BARNACLE_CHOMP, // barnacle latches on to the monster - ACT_BARNACLE_CHEW, // barnacle is holding the monster in its mouth ( loop ) - - // Sometimes, you just want to set an NPC's sequence to a sequence that doesn't actually - // have an activity. The AI will reset the NPC's sequence to whatever its IDEAL activity - // is, though. So if you set ideal activity to DO_NOT_DISTURB, the AI will not interfere - // with the NPC's current sequence. (SJB) - ACT_DO_NOT_DISTURB, - - // viewmodel (weapon) activities - // FIXME: move these to the specific viewmodels, no need to make global - ACT_VM_DRAW, - ACT_VM_HOLSTER, - ACT_VM_IDLE, - ACT_VM_FIDGET, - ACT_VM_PULLBACK, - ACT_VM_PULLBACK_HIGH, - ACT_VM_PULLBACK_LOW, - ACT_VM_THROW, - ACT_VM_PULLPIN, - ACT_VM_PRIMARYATTACK, // fire - ACT_VM_SECONDARYATTACK, // alt. fire - ACT_VM_RELOAD, - ACT_VM_RELOAD_START, - ACT_VM_RELOAD_FINISH, - ACT_VM_DRYFIRE, // fire with no ammo loaded. - ACT_VM_HITLEFT, // bludgeon, swing to left - hit (primary attk) - ACT_VM_HITLEFT2, // bludgeon, swing to left - hit (secondary attk) - ACT_VM_HITRIGHT, // bludgeon, swing to right - hit (primary attk) - ACT_VM_HITRIGHT2, // bludgeon, swing to right - hit (secondary attk) - ACT_VM_HITCENTER, // bludgeon, swing center - hit (primary attk) - ACT_VM_HITCENTER2, // bludgeon, swing center - hit (secondary attk) - ACT_VM_MISSLEFT, // bludgeon, swing to left - miss (primary attk) - ACT_VM_MISSLEFT2, // bludgeon, swing to left - miss (secondary attk) - ACT_VM_MISSRIGHT, // bludgeon, swing to right - miss (primary attk) - ACT_VM_MISSRIGHT2, // bludgeon, swing to right - miss (secondary attk) - ACT_VM_MISSCENTER, // bludgeon, swing center - miss (primary attk) - ACT_VM_MISSCENTER2, // bludgeon, swing center - miss (secondary attk) - ACT_VM_HAULBACK, // bludgeon, haul the weapon back for a hard strike (secondary attk) - ACT_VM_SWINGHARD, // bludgeon, release the hard strike (secondary attk) - ACT_VM_SWINGMISS, - ACT_VM_SWINGHIT, - ACT_VM_IDLE_TO_LOWERED, - ACT_VM_IDLE_LOWERED, - ACT_VM_LOWERED_TO_IDLE, - ACT_VM_RECOIL1, - ACT_VM_RECOIL2, - ACT_VM_RECOIL3, - ACT_VM_PICKUP, - ACT_VM_RELEASE, - - ACT_VM_ATTACH_SILENCER, - ACT_VM_DETACH_SILENCER, - - // TF2 Scout Pack - ACT_VM_DRAW_SPECIAL, - ACT_VM_HOLSTER_SPECIAL, - ACT_VM_IDLE_SPECIAL, - ACT_VM_PULLBACK_SPECIAL, - ACT_VM_PRIMARYATTACK_SPECIAL, - ACT_VM_SECONDARYATTACK_SPECIAL, - ACT_VM_HITCENTER_SPECIAL, - ACT_VM_SWINGHARD_SPECIAL, - ACT_VM_IDLE_TO_LOWERED_SPECIAL, - ACT_VM_IDLE_LOWERED_SPECIAL, - ACT_VM_LOWERED_TO_IDLE_SPECIAL, - - ACT_FISTS_VM_HITLEFT, - ACT_FISTS_VM_HITRIGHT, - ACT_FISTS_VM_SWINGHARD, - ACT_FISTS_VM_IDLE, - ACT_FISTS_VM_DRAW, - -//=========================== -// HL2 Specific Activities -//=========================== - // SLAM Specialty Activities - ACT_SLAM_STICKWALL_IDLE, - ACT_SLAM_STICKWALL_ND_IDLE, - ACT_SLAM_STICKWALL_ATTACH, - ACT_SLAM_STICKWALL_ATTACH2, - ACT_SLAM_STICKWALL_ND_ATTACH, - ACT_SLAM_STICKWALL_ND_ATTACH2, - ACT_SLAM_STICKWALL_DETONATE, - ACT_SLAM_STICKWALL_DETONATOR_HOLSTER, - ACT_SLAM_STICKWALL_DRAW, - ACT_SLAM_STICKWALL_ND_DRAW, - ACT_SLAM_STICKWALL_TO_THROW, - ACT_SLAM_STICKWALL_TO_THROW_ND, - ACT_SLAM_STICKWALL_TO_TRIPMINE_ND, - ACT_SLAM_THROW_IDLE, - ACT_SLAM_THROW_ND_IDLE, - ACT_SLAM_THROW_THROW, - ACT_SLAM_THROW_THROW2, - ACT_SLAM_THROW_THROW_ND, - ACT_SLAM_THROW_THROW_ND2, - ACT_SLAM_THROW_DRAW, - ACT_SLAM_THROW_ND_DRAW, - ACT_SLAM_THROW_TO_STICKWALL, - ACT_SLAM_THROW_TO_STICKWALL_ND, - ACT_SLAM_THROW_DETONATE, - ACT_SLAM_THROW_DETONATOR_HOLSTER, - ACT_SLAM_THROW_TO_TRIPMINE_ND, - ACT_SLAM_TRIPMINE_IDLE, - ACT_SLAM_TRIPMINE_DRAW, - ACT_SLAM_TRIPMINE_ATTACH, - ACT_SLAM_TRIPMINE_ATTACH2, - ACT_SLAM_TRIPMINE_TO_STICKWALL_ND, - ACT_SLAM_TRIPMINE_TO_THROW_ND, - ACT_SLAM_DETONATOR_IDLE, - ACT_SLAM_DETONATOR_DRAW, - ACT_SLAM_DETONATOR_DETONATE, - ACT_SLAM_DETONATOR_HOLSTER, - ACT_SLAM_DETONATOR_STICKWALL_DRAW, - ACT_SLAM_DETONATOR_THROW_DRAW, - - // Shotgun Specialty Activities - ACT_SHOTGUN_RELOAD_START, - ACT_SHOTGUN_RELOAD_FINISH, - ACT_SHOTGUN_PUMP, - - // SMG2 special activities - ACT_SMG2_IDLE2, - ACT_SMG2_FIRE2, - ACT_SMG2_DRAW2, - ACT_SMG2_RELOAD2, - ACT_SMG2_DRYFIRE2, - ACT_SMG2_TOAUTO, - ACT_SMG2_TOBURST, - - // Physcannon special activities - ACT_PHYSCANNON_UPGRADE, - - // weapon override activities - ACT_RANGE_ATTACK_AR1, - ACT_RANGE_ATTACK_AR2, - ACT_RANGE_ATTACK_AR2_LOW, - ACT_RANGE_ATTACK_AR2_GRENADE, - ACT_RANGE_ATTACK_HMG1, - ACT_RANGE_ATTACK_ML, - ACT_RANGE_ATTACK_SMG1, - ACT_RANGE_ATTACK_SMG1_LOW, - ACT_RANGE_ATTACK_SMG2, - ACT_RANGE_ATTACK_SHOTGUN, - ACT_RANGE_ATTACK_SHOTGUN_LOW, - ACT_RANGE_ATTACK_PISTOL, - ACT_RANGE_ATTACK_PISTOL_LOW, - ACT_RANGE_ATTACK_SLAM, - ACT_RANGE_ATTACK_TRIPWIRE, - ACT_RANGE_ATTACK_THROW, - ACT_RANGE_ATTACK_SNIPER_RIFLE, - ACT_RANGE_ATTACK_RPG, - ACT_MELEE_ATTACK_SWING, - - ACT_RANGE_AIM_LOW, - ACT_RANGE_AIM_SMG1_LOW, - ACT_RANGE_AIM_PISTOL_LOW, - ACT_RANGE_AIM_AR2_LOW, - - ACT_COVER_PISTOL_LOW, - ACT_COVER_SMG1_LOW, - - // weapon override activities - ACT_GESTURE_RANGE_ATTACK_AR1, - ACT_GESTURE_RANGE_ATTACK_AR2, - ACT_GESTURE_RANGE_ATTACK_AR2_GRENADE, - ACT_GESTURE_RANGE_ATTACK_HMG1, - ACT_GESTURE_RANGE_ATTACK_ML, - ACT_GESTURE_RANGE_ATTACK_SMG1, - ACT_GESTURE_RANGE_ATTACK_SMG1_LOW, - ACT_GESTURE_RANGE_ATTACK_SMG2, - ACT_GESTURE_RANGE_ATTACK_SHOTGUN, - ACT_GESTURE_RANGE_ATTACK_PISTOL, - ACT_GESTURE_RANGE_ATTACK_PISTOL_LOW, - ACT_GESTURE_RANGE_ATTACK_SLAM, - ACT_GESTURE_RANGE_ATTACK_TRIPWIRE, - ACT_GESTURE_RANGE_ATTACK_THROW, - ACT_GESTURE_RANGE_ATTACK_SNIPER_RIFLE, - ACT_GESTURE_MELEE_ATTACK_SWING, - - ACT_IDLE_RIFLE, - ACT_IDLE_SMG1, - ACT_IDLE_ANGRY_SMG1, - ACT_IDLE_PISTOL, - ACT_IDLE_ANGRY_PISTOL, - ACT_IDLE_ANGRY_SHOTGUN, - ACT_IDLE_STEALTH_PISTOL, - - ACT_IDLE_PACKAGE, - ACT_WALK_PACKAGE, - ACT_IDLE_SUITCASE, - ACT_WALK_SUITCASE, - - ACT_IDLE_SMG1_RELAXED, - ACT_IDLE_SMG1_STIMULATED, - ACT_WALK_RIFLE_RELAXED, - ACT_RUN_RIFLE_RELAXED, - ACT_WALK_RIFLE_STIMULATED, - ACT_RUN_RIFLE_STIMULATED, - - ACT_IDLE_AIM_RIFLE_STIMULATED, - ACT_WALK_AIM_RIFLE_STIMULATED, - ACT_RUN_AIM_RIFLE_STIMULATED, - - ACT_IDLE_SHOTGUN_RELAXED, - ACT_IDLE_SHOTGUN_STIMULATED, - ACT_IDLE_SHOTGUN_AGITATED, - - // Policing activities - ACT_WALK_ANGRY, - ACT_POLICE_HARASS1, - ACT_POLICE_HARASS2, - - // Manned guns - ACT_IDLE_MANNEDGUN, - - // Melee weapon - ACT_IDLE_MELEE, - ACT_IDLE_ANGRY_MELEE, - - // RPG activities - ACT_IDLE_RPG_RELAXED, - ACT_IDLE_RPG, - ACT_IDLE_ANGRY_RPG, - ACT_COVER_LOW_RPG, - ACT_WALK_RPG, - ACT_RUN_RPG, - ACT_WALK_CROUCH_RPG, - ACT_RUN_CROUCH_RPG, - ACT_WALK_RPG_RELAXED, - ACT_RUN_RPG_RELAXED, - - ACT_WALK_RIFLE, - ACT_WALK_AIM_RIFLE, - ACT_WALK_CROUCH_RIFLE, - ACT_WALK_CROUCH_AIM_RIFLE, - ACT_RUN_RIFLE, - ACT_RUN_AIM_RIFLE, - ACT_RUN_CROUCH_RIFLE, - ACT_RUN_CROUCH_AIM_RIFLE, - ACT_RUN_STEALTH_PISTOL, - - ACT_WALK_AIM_SHOTGUN, - ACT_RUN_AIM_SHOTGUN, - - ACT_WALK_PISTOL, - ACT_RUN_PISTOL, - ACT_WALK_AIM_PISTOL, - ACT_RUN_AIM_PISTOL, - ACT_WALK_STEALTH_PISTOL, - ACT_WALK_AIM_STEALTH_PISTOL, - ACT_RUN_AIM_STEALTH_PISTOL, - - // Reloads - ACT_RELOAD_PISTOL, - ACT_RELOAD_PISTOL_LOW, - ACT_RELOAD_SMG1, - ACT_RELOAD_SMG1_LOW, - ACT_RELOAD_SHOTGUN, - ACT_RELOAD_SHOTGUN_LOW, - - ACT_GESTURE_RELOAD, - ACT_GESTURE_RELOAD_PISTOL, - ACT_GESTURE_RELOAD_SMG1, - ACT_GESTURE_RELOAD_SHOTGUN, - - // Busy animations - ACT_BUSY_LEAN_LEFT, - ACT_BUSY_LEAN_LEFT_ENTRY, - ACT_BUSY_LEAN_LEFT_EXIT, - ACT_BUSY_LEAN_BACK, - ACT_BUSY_LEAN_BACK_ENTRY, - ACT_BUSY_LEAN_BACK_EXIT, - ACT_BUSY_SIT_GROUND, - ACT_BUSY_SIT_GROUND_ENTRY, - ACT_BUSY_SIT_GROUND_EXIT, - ACT_BUSY_SIT_CHAIR, - ACT_BUSY_SIT_CHAIR_ENTRY, - ACT_BUSY_SIT_CHAIR_EXIT, - ACT_BUSY_STAND, - ACT_BUSY_QUEUE, - - // Dodge animations - ACT_DUCK_DODGE, - - // For NPCs being lifted/eaten by barnacles: - // being swallowed by a barnacle - ACT_DIE_BARNACLE_SWALLOW, - // being lifted by a barnacle - ACT_GESTURE_BARNACLE_STRANGLE, - - ACT_PHYSCANNON_DETACH, // An activity to be played if we're picking this up with the physcannon - ACT_PHYSCANNON_ANIMATE, // An activity to be played by an object being picked up with the physcannon, but has different behavior to DETACH - ACT_PHYSCANNON_ANIMATE_PRE, // An activity to be played by an object being picked up with the physcannon, before playing the ACT_PHYSCANNON_ANIMATE - ACT_PHYSCANNON_ANIMATE_POST,// An activity to be played by an object being picked up with the physcannon, after playing the ACT_PHYSCANNON_ANIMATE - - ACT_DIE_FRONTSIDE, - ACT_DIE_RIGHTSIDE, - ACT_DIE_BACKSIDE, - ACT_DIE_LEFTSIDE, - - ACT_OPEN_DOOR, - - // Dynamic interactions - ACT_DI_ALYX_ZOMBIE_MELEE, - ACT_DI_ALYX_ZOMBIE_TORSO_MELEE, - ACT_DI_ALYX_HEADCRAB_MELEE, - ACT_DI_ALYX_ANTLION, - - ACT_DI_ALYX_ZOMBIE_SHOTGUN64, - ACT_DI_ALYX_ZOMBIE_SHOTGUN26, - - ACT_READINESS_RELAXED_TO_STIMULATED, - ACT_READINESS_RELAXED_TO_STIMULATED_WALK, - ACT_READINESS_AGITATED_TO_STIMULATED, - ACT_READINESS_STIMULATED_TO_RELAXED, - - ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED, - ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED_WALK, - ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED, - ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED, - - ACT_IDLE_CARRY, - ACT_WALK_CARRY, - -//=========================== -// TF2 Specific Activities -//=========================== - ACT_STARTDYING, - ACT_DYINGLOOP, - ACT_DYINGTODEAD, - - ACT_RIDE_MANNED_GUN, - - // All viewmodels - ACT_VM_SPRINT_ENTER, - ACT_VM_SPRINT_IDLE, - ACT_VM_SPRINT_LEAVE, - - // Looping weapon firing - ACT_FIRE_START, - ACT_FIRE_LOOP, - ACT_FIRE_END, - - ACT_CROUCHING_GRENADEIDLE, - ACT_CROUCHING_GRENADEREADY, - ACT_CROUCHING_PRIMARYATTACK, - ACT_OVERLAY_GRENADEIDLE, - ACT_OVERLAY_GRENADEREADY, - ACT_OVERLAY_PRIMARYATTACK, - ACT_OVERLAY_SHIELD_UP, - ACT_OVERLAY_SHIELD_DOWN, - ACT_OVERLAY_SHIELD_UP_IDLE, - ACT_OVERLAY_SHIELD_ATTACK, - ACT_OVERLAY_SHIELD_KNOCKBACK, - ACT_SHIELD_UP, - ACT_SHIELD_DOWN, - ACT_SHIELD_UP_IDLE, - ACT_SHIELD_ATTACK, - ACT_SHIELD_KNOCKBACK, - ACT_CROUCHING_SHIELD_UP, - ACT_CROUCHING_SHIELD_DOWN, - ACT_CROUCHING_SHIELD_UP_IDLE, - ACT_CROUCHING_SHIELD_ATTACK, - ACT_CROUCHING_SHIELD_KNOCKBACK, - - // turning in place - ACT_TURNRIGHT45, - ACT_TURNLEFT45, - - ACT_TURN, - - ACT_OBJ_ASSEMBLING, - ACT_OBJ_DISMANTLING, - ACT_OBJ_STARTUP, - ACT_OBJ_RUNNING, - ACT_OBJ_IDLE, - ACT_OBJ_PLACING, - ACT_OBJ_DETERIORATING, - ACT_OBJ_UPGRADING, - - // Deploy - ACT_DEPLOY, - ACT_DEPLOY_IDLE, - ACT_UNDEPLOY, - -//=========================== -// HL1 Specific Activities -//=========================== - // Grenades - ACT_GRENADE_ROLL, - ACT_GRENADE_TOSS, - - // Hand grenade - ACT_HANDGRENADE_THROW1, - ACT_HANDGRENADE_THROW2, - ACT_HANDGRENADE_THROW3, - - // Shotgun - ACT_SHOTGUN_IDLE_DEEP, - ACT_SHOTGUN_IDLE4, - - // Glock - ACT_GLOCK_SHOOTEMPTY, - ACT_GLOCK_SHOOT_RELOAD, - - // RPG - ACT_RPG_DRAW_UNLOADED, - ACT_RPG_HOLSTER_UNLOADED, - ACT_RPG_IDLE_UNLOADED, - ACT_RPG_FIDGET_UNLOADED, - - // Crossbow - ACT_CROSSBOW_DRAW_UNLOADED, - ACT_CROSSBOW_IDLE_UNLOADED, - ACT_CROSSBOW_FIDGET_UNLOADED, - - // Gauss - ACT_GAUSS_SPINUP, - ACT_GAUSS_SPINCYCLE, - ACT_GAUSS_SPINCYCLE_NOAMMO, - - // Tripmine - ACT_TRIPMINE_GROUND, - ACT_TRIPMINE_WORLD, - -//=========================== -// CSPort Specific Activities -//=========================== - - ACT_VM_PRIMARYATTACK_SILENCED, // fire - ACT_VM_RELOAD_SILENCED, - ACT_VM_DRYFIRE_SILENCED, // fire with no ammo loaded. - ACT_VM_IDLE_SILENCED, - ACT_VM_DRAW_SILENCED, - ACT_VM_IDLE_EMPTY_LEFT, - ACT_VM_DRYFIRE_LEFT, - - ACT_PLAYER_IDLE_FIRE, - ACT_PLAYER_CROUCH_FIRE, - ACT_PLAYER_CROUCH_WALK_FIRE, - ACT_PLAYER_WALK_FIRE, - ACT_PLAYER_RUN_FIRE, - - ACT_IDLETORUN, - ACT_RUNTOIDLE, - - -//=========================== -// DoD Specific Activities -//=========================== - ACT_SPRINT, - - ACT_GET_DOWN_STAND, - ACT_GET_UP_STAND, - ACT_GET_DOWN_CROUCH, - ACT_GET_UP_CROUCH, - ACT_PRONE_FORWARD, - ACT_PRONE_IDLE, - - ACT_DEEPIDLE1, - ACT_DEEPIDLE2, - ACT_DEEPIDLE3, - ACT_DEEPIDLE4, - - ACT_VM_RELOAD_DEPLOYED, - ACT_VM_RELOAD_IDLE, - - ACT_VM_DRAW_DEPLOYED, - - //Weapon is empty activities - ACT_VM_DRAW_EMPTY, - ACT_VM_PRIMARYATTACK_EMPTY, - ACT_VM_RELOAD_EMPTY, - ACT_VM_IDLE_EMPTY, - ACT_VM_IDLE_DEPLOYED_EMPTY, - - ACT_VM_IDLE_8, - ACT_VM_IDLE_7, - ACT_VM_IDLE_6, - ACT_VM_IDLE_5, - ACT_VM_IDLE_4, - ACT_VM_IDLE_3, - ACT_VM_IDLE_2, - ACT_VM_IDLE_1, - - ACT_VM_IDLE_DEPLOYED, - ACT_VM_IDLE_DEPLOYED_8, - ACT_VM_IDLE_DEPLOYED_7, - ACT_VM_IDLE_DEPLOYED_6, - ACT_VM_IDLE_DEPLOYED_5, - ACT_VM_IDLE_DEPLOYED_4, - ACT_VM_IDLE_DEPLOYED_3, - ACT_VM_IDLE_DEPLOYED_2, - ACT_VM_IDLE_DEPLOYED_1, - - // Animation from prone idle to standing/crouch idle. Number designates bullets left - ACT_VM_UNDEPLOY, - ACT_VM_UNDEPLOY_8, - ACT_VM_UNDEPLOY_7, - ACT_VM_UNDEPLOY_6, - ACT_VM_UNDEPLOY_5, - ACT_VM_UNDEPLOY_4, - ACT_VM_UNDEPLOY_3, - ACT_VM_UNDEPLOY_2, - ACT_VM_UNDEPLOY_1, - ACT_VM_UNDEPLOY_EMPTY, - - // Animation from standing/crouch idle to prone idle. Number designates bullets left - ACT_VM_DEPLOY, - ACT_VM_DEPLOY_8, - ACT_VM_DEPLOY_7, - ACT_VM_DEPLOY_6, - ACT_VM_DEPLOY_5, - ACT_VM_DEPLOY_4, - ACT_VM_DEPLOY_3, - ACT_VM_DEPLOY_2, - ACT_VM_DEPLOY_1, - ACT_VM_DEPLOY_EMPTY, - - // Shooting animations for standing/crouch position. Number designates bullets left at START of animation - ACT_VM_PRIMARYATTACK_8, - ACT_VM_PRIMARYATTACK_7, - ACT_VM_PRIMARYATTACK_6, - ACT_VM_PRIMARYATTACK_5, - ACT_VM_PRIMARYATTACK_4, - ACT_VM_PRIMARYATTACK_3, - ACT_VM_PRIMARYATTACK_2, - ACT_VM_PRIMARYATTACK_1, - - // Shooting animations for prone position. Number designates bullets left at START of animation - ACT_VM_PRIMARYATTACK_DEPLOYED, - ACT_VM_PRIMARYATTACK_DEPLOYED_8, - ACT_VM_PRIMARYATTACK_DEPLOYED_7, - ACT_VM_PRIMARYATTACK_DEPLOYED_6, - ACT_VM_PRIMARYATTACK_DEPLOYED_5, - ACT_VM_PRIMARYATTACK_DEPLOYED_4, - ACT_VM_PRIMARYATTACK_DEPLOYED_3, - ACT_VM_PRIMARYATTACK_DEPLOYED_2, - ACT_VM_PRIMARYATTACK_DEPLOYED_1, - ACT_VM_PRIMARYATTACK_DEPLOYED_EMPTY, - - // Player anim ACTs - ACT_DOD_DEPLOYED, - ACT_DOD_PRONE_DEPLOYED, - ACT_DOD_IDLE_ZOOMED, - ACT_DOD_WALK_ZOOMED, - ACT_DOD_CROUCH_ZOOMED, - ACT_DOD_CROUCHWALK_ZOOMED, - ACT_DOD_PRONE_ZOOMED, - ACT_DOD_PRONE_FORWARD_ZOOMED, - ACT_DOD_PRIMARYATTACK_DEPLOYED, - ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED, - ACT_DOD_RELOAD_DEPLOYED, - ACT_DOD_RELOAD_PRONE_DEPLOYED, - ACT_DOD_PRIMARYATTACK_PRONE, - ACT_DOD_SECONDARYATTACK_PRONE, - ACT_DOD_RELOAD_CROUCH, - ACT_DOD_RELOAD_PRONE, - ACT_DOD_STAND_IDLE, - ACT_DOD_STAND_AIM, - ACT_DOD_CROUCH_IDLE, - ACT_DOD_CROUCH_AIM, - ACT_DOD_CROUCHWALK_IDLE, - ACT_DOD_CROUCHWALK_AIM, - ACT_DOD_WALK_IDLE, - ACT_DOD_WALK_AIM, - ACT_DOD_RUN_IDLE, - ACT_DOD_RUN_AIM, - - // Positions - ACT_DOD_STAND_AIM_PISTOL, - ACT_DOD_CROUCH_AIM_PISTOL, - ACT_DOD_CROUCHWALK_AIM_PISTOL, - ACT_DOD_WALK_AIM_PISTOL, - ACT_DOD_RUN_AIM_PISTOL, - ACT_DOD_PRONE_AIM_PISTOL, - ACT_DOD_STAND_IDLE_PISTOL, - ACT_DOD_CROUCH_IDLE_PISTOL, - ACT_DOD_CROUCHWALK_IDLE_PISTOL, - ACT_DOD_WALK_IDLE_PISTOL, - ACT_DOD_RUN_IDLE_PISTOL, - ACT_DOD_SPRINT_IDLE_PISTOL, - ACT_DOD_PRONEWALK_IDLE_PISTOL, - - ACT_DOD_STAND_AIM_C96, - ACT_DOD_CROUCH_AIM_C96, - ACT_DOD_CROUCHWALK_AIM_C96, - ACT_DOD_WALK_AIM_C96, - ACT_DOD_RUN_AIM_C96, - ACT_DOD_PRONE_AIM_C96, - ACT_DOD_STAND_IDLE_C96, - ACT_DOD_CROUCH_IDLE_C96, - ACT_DOD_CROUCHWALK_IDLE_C96, - ACT_DOD_WALK_IDLE_C96, - ACT_DOD_RUN_IDLE_C96, - ACT_DOD_SPRINT_IDLE_C96, - ACT_DOD_PRONEWALK_IDLE_C96, - - ACT_DOD_STAND_AIM_RIFLE, - ACT_DOD_CROUCH_AIM_RIFLE, - ACT_DOD_CROUCHWALK_AIM_RIFLE, - ACT_DOD_WALK_AIM_RIFLE, - ACT_DOD_RUN_AIM_RIFLE, - ACT_DOD_PRONE_AIM_RIFLE, - ACT_DOD_STAND_IDLE_RIFLE, - ACT_DOD_CROUCH_IDLE_RIFLE, - ACT_DOD_CROUCHWALK_IDLE_RIFLE, - ACT_DOD_WALK_IDLE_RIFLE, - ACT_DOD_RUN_IDLE_RIFLE, - ACT_DOD_SPRINT_IDLE_RIFLE, - ACT_DOD_PRONEWALK_IDLE_RIFLE, - - ACT_DOD_STAND_AIM_BOLT, - ACT_DOD_CROUCH_AIM_BOLT, - ACT_DOD_CROUCHWALK_AIM_BOLT, - ACT_DOD_WALK_AIM_BOLT, - ACT_DOD_RUN_AIM_BOLT, - ACT_DOD_PRONE_AIM_BOLT, - ACT_DOD_STAND_IDLE_BOLT, - ACT_DOD_CROUCH_IDLE_BOLT, - ACT_DOD_CROUCHWALK_IDLE_BOLT, - ACT_DOD_WALK_IDLE_BOLT, - ACT_DOD_RUN_IDLE_BOLT, - ACT_DOD_SPRINT_IDLE_BOLT, - ACT_DOD_PRONEWALK_IDLE_BOLT, - - ACT_DOD_STAND_AIM_TOMMY, - ACT_DOD_CROUCH_AIM_TOMMY, - ACT_DOD_CROUCHWALK_AIM_TOMMY, - ACT_DOD_WALK_AIM_TOMMY, - ACT_DOD_RUN_AIM_TOMMY, - ACT_DOD_PRONE_AIM_TOMMY, - ACT_DOD_STAND_IDLE_TOMMY, - ACT_DOD_CROUCH_IDLE_TOMMY, - ACT_DOD_CROUCHWALK_IDLE_TOMMY, - ACT_DOD_WALK_IDLE_TOMMY, - ACT_DOD_RUN_IDLE_TOMMY, - ACT_DOD_SPRINT_IDLE_TOMMY, - ACT_DOD_PRONEWALK_IDLE_TOMMY, - - ACT_DOD_STAND_AIM_MP40, - ACT_DOD_CROUCH_AIM_MP40, - ACT_DOD_CROUCHWALK_AIM_MP40, - ACT_DOD_WALK_AIM_MP40, - ACT_DOD_RUN_AIM_MP40, - ACT_DOD_PRONE_AIM_MP40, - ACT_DOD_STAND_IDLE_MP40, - ACT_DOD_CROUCH_IDLE_MP40, - ACT_DOD_CROUCHWALK_IDLE_MP40, - ACT_DOD_WALK_IDLE_MP40, - ACT_DOD_RUN_IDLE_MP40, - ACT_DOD_SPRINT_IDLE_MP40, - ACT_DOD_PRONEWALK_IDLE_MP40, - - ACT_DOD_STAND_AIM_MP44, - ACT_DOD_CROUCH_AIM_MP44, - ACT_DOD_CROUCHWALK_AIM_MP44, - ACT_DOD_WALK_AIM_MP44, - ACT_DOD_RUN_AIM_MP44, - ACT_DOD_PRONE_AIM_MP44, - ACT_DOD_STAND_IDLE_MP44, - ACT_DOD_CROUCH_IDLE_MP44, - ACT_DOD_CROUCHWALK_IDLE_MP44, - ACT_DOD_WALK_IDLE_MP44, - ACT_DOD_RUN_IDLE_MP44, - ACT_DOD_SPRINT_IDLE_MP44, - ACT_DOD_PRONEWALK_IDLE_MP44, - - ACT_DOD_STAND_AIM_GREASE, - ACT_DOD_CROUCH_AIM_GREASE, - ACT_DOD_CROUCHWALK_AIM_GREASE, - ACT_DOD_WALK_AIM_GREASE, - ACT_DOD_RUN_AIM_GREASE, - ACT_DOD_PRONE_AIM_GREASE, - ACT_DOD_STAND_IDLE_GREASE, - ACT_DOD_CROUCH_IDLE_GREASE, - ACT_DOD_CROUCHWALK_IDLE_GREASE, - ACT_DOD_WALK_IDLE_GREASE, - ACT_DOD_RUN_IDLE_GREASE, - ACT_DOD_SPRINT_IDLE_GREASE, - ACT_DOD_PRONEWALK_IDLE_GREASE, - - ACT_DOD_STAND_AIM_MG, - ACT_DOD_CROUCH_AIM_MG, - ACT_DOD_CROUCHWALK_AIM_MG, - ACT_DOD_WALK_AIM_MG, - ACT_DOD_RUN_AIM_MG, - ACT_DOD_PRONE_AIM_MG, - ACT_DOD_STAND_IDLE_MG, - ACT_DOD_CROUCH_IDLE_MG, - ACT_DOD_CROUCHWALK_IDLE_MG, - ACT_DOD_WALK_IDLE_MG, - ACT_DOD_RUN_IDLE_MG, - ACT_DOD_SPRINT_IDLE_MG, - ACT_DOD_PRONEWALK_IDLE_MG, - - ACT_DOD_STAND_AIM_30CAL, - ACT_DOD_CROUCH_AIM_30CAL, - ACT_DOD_CROUCHWALK_AIM_30CAL, - ACT_DOD_WALK_AIM_30CAL, - ACT_DOD_RUN_AIM_30CAL, - ACT_DOD_PRONE_AIM_30CAL, - ACT_DOD_STAND_IDLE_30CAL, - ACT_DOD_CROUCH_IDLE_30CAL, - ACT_DOD_CROUCHWALK_IDLE_30CAL, - ACT_DOD_WALK_IDLE_30CAL, - ACT_DOD_RUN_IDLE_30CAL, - ACT_DOD_SPRINT_IDLE_30CAL, - ACT_DOD_PRONEWALK_IDLE_30CAL, - - ACT_DOD_STAND_AIM_GREN_FRAG, - ACT_DOD_CROUCH_AIM_GREN_FRAG, - ACT_DOD_CROUCHWALK_AIM_GREN_FRAG, - ACT_DOD_WALK_AIM_GREN_FRAG, - ACT_DOD_RUN_AIM_GREN_FRAG, - ACT_DOD_PRONE_AIM_GREN_FRAG, - ACT_DOD_SPRINT_AIM_GREN_FRAG, - ACT_DOD_PRONEWALK_AIM_GREN_FRAG, - ACT_DOD_STAND_AIM_GREN_STICK, - ACT_DOD_CROUCH_AIM_GREN_STICK, - ACT_DOD_CROUCHWALK_AIM_GREN_STICK, - ACT_DOD_WALK_AIM_GREN_STICK, - ACT_DOD_RUN_AIM_GREN_STICK, - ACT_DOD_PRONE_AIM_GREN_STICK, - ACT_DOD_SPRINT_AIM_GREN_STICK, - ACT_DOD_PRONEWALK_AIM_GREN_STICK, - - ACT_DOD_STAND_AIM_KNIFE, - ACT_DOD_CROUCH_AIM_KNIFE, - ACT_DOD_CROUCHWALK_AIM_KNIFE, - ACT_DOD_WALK_AIM_KNIFE, - ACT_DOD_RUN_AIM_KNIFE, - ACT_DOD_PRONE_AIM_KNIFE, - ACT_DOD_SPRINT_AIM_KNIFE, - ACT_DOD_PRONEWALK_AIM_KNIFE, - - ACT_DOD_STAND_AIM_SPADE, - ACT_DOD_CROUCH_AIM_SPADE, - ACT_DOD_CROUCHWALK_AIM_SPADE, - ACT_DOD_WALK_AIM_SPADE, - ACT_DOD_RUN_AIM_SPADE, - ACT_DOD_PRONE_AIM_SPADE, - ACT_DOD_SPRINT_AIM_SPADE, - ACT_DOD_PRONEWALK_AIM_SPADE, - - ACT_DOD_STAND_AIM_BAZOOKA, - ACT_DOD_CROUCH_AIM_BAZOOKA, - ACT_DOD_CROUCHWALK_AIM_BAZOOKA, - ACT_DOD_WALK_AIM_BAZOOKA, - ACT_DOD_RUN_AIM_BAZOOKA, - ACT_DOD_PRONE_AIM_BAZOOKA, - ACT_DOD_STAND_IDLE_BAZOOKA, - ACT_DOD_CROUCH_IDLE_BAZOOKA, - ACT_DOD_CROUCHWALK_IDLE_BAZOOKA, - ACT_DOD_WALK_IDLE_BAZOOKA, - ACT_DOD_RUN_IDLE_BAZOOKA, - ACT_DOD_SPRINT_IDLE_BAZOOKA, - ACT_DOD_PRONEWALK_IDLE_BAZOOKA, - - ACT_DOD_STAND_AIM_PSCHRECK, - ACT_DOD_CROUCH_AIM_PSCHRECK, - ACT_DOD_CROUCHWALK_AIM_PSCHRECK, - ACT_DOD_WALK_AIM_PSCHRECK, - ACT_DOD_RUN_AIM_PSCHRECK, - ACT_DOD_PRONE_AIM_PSCHRECK, - ACT_DOD_STAND_IDLE_PSCHRECK, - ACT_DOD_CROUCH_IDLE_PSCHRECK, - ACT_DOD_CROUCHWALK_IDLE_PSCHRECK, - ACT_DOD_WALK_IDLE_PSCHRECK, - ACT_DOD_RUN_IDLE_PSCHRECK, - ACT_DOD_SPRINT_IDLE_PSCHRECK, - ACT_DOD_PRONEWALK_IDLE_PSCHRECK, - - ACT_DOD_STAND_AIM_BAR, - ACT_DOD_CROUCH_AIM_BAR, - ACT_DOD_CROUCHWALK_AIM_BAR, - ACT_DOD_WALK_AIM_BAR, - ACT_DOD_RUN_AIM_BAR, - ACT_DOD_PRONE_AIM_BAR, - ACT_DOD_STAND_IDLE_BAR, - ACT_DOD_CROUCH_IDLE_BAR, - ACT_DOD_CROUCHWALK_IDLE_BAR, - ACT_DOD_WALK_IDLE_BAR, - ACT_DOD_RUN_IDLE_BAR, - ACT_DOD_SPRINT_IDLE_BAR, - ACT_DOD_PRONEWALK_IDLE_BAR, - - // Zoomed aims - ACT_DOD_STAND_ZOOM_RIFLE, - ACT_DOD_CROUCH_ZOOM_RIFLE, - ACT_DOD_CROUCHWALK_ZOOM_RIFLE, - ACT_DOD_WALK_ZOOM_RIFLE, - ACT_DOD_RUN_ZOOM_RIFLE, - ACT_DOD_PRONE_ZOOM_RIFLE, - - ACT_DOD_STAND_ZOOM_BOLT, - ACT_DOD_CROUCH_ZOOM_BOLT, - ACT_DOD_CROUCHWALK_ZOOM_BOLT, - ACT_DOD_WALK_ZOOM_BOLT, - ACT_DOD_RUN_ZOOM_BOLT, - ACT_DOD_PRONE_ZOOM_BOLT, - - ACT_DOD_STAND_ZOOM_BAZOOKA, - ACT_DOD_CROUCH_ZOOM_BAZOOKA, - ACT_DOD_CROUCHWALK_ZOOM_BAZOOKA, - ACT_DOD_WALK_ZOOM_BAZOOKA, - ACT_DOD_RUN_ZOOM_BAZOOKA, - ACT_DOD_PRONE_ZOOM_BAZOOKA, - - ACT_DOD_STAND_ZOOM_PSCHRECK, - ACT_DOD_CROUCH_ZOOM_PSCHRECK, - ACT_DOD_CROUCHWALK_ZOOM_PSCHRECK, - ACT_DOD_WALK_ZOOM_PSCHRECK, - ACT_DOD_RUN_ZOOM_PSCHRECK, - ACT_DOD_PRONE_ZOOM_PSCHRECK, - - // Deployed Aim - ACT_DOD_DEPLOY_RIFLE, - ACT_DOD_DEPLOY_TOMMY, - ACT_DOD_DEPLOY_MG, - ACT_DOD_DEPLOY_30CAL, - - // Prone Deployed Aim - ACT_DOD_PRONE_DEPLOY_RIFLE , - ACT_DOD_PRONE_DEPLOY_TOMMY, - ACT_DOD_PRONE_DEPLOY_MG, - ACT_DOD_PRONE_DEPLOY_30CAL, - - // Attacks - - // Rifle - ACT_DOD_PRIMARYATTACK_RIFLE, - ACT_DOD_SECONDARYATTACK_RIFLE, - ACT_DOD_PRIMARYATTACK_PRONE_RIFLE, - ACT_DOD_SECONDARYATTACK_PRONE_RIFLE, - ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_RIFLE, - ACT_DOD_PRIMARYATTACK_DEPLOYED_RIFLE, - - // Bolt - ACT_DOD_PRIMARYATTACK_BOLT, - ACT_DOD_SECONDARYATTACK_BOLT, - ACT_DOD_PRIMARYATTACK_PRONE_BOLT , - ACT_DOD_SECONDARYATTACK_PRONE_BOLT , - - // Tommy - ACT_DOD_PRIMARYATTACK_TOMMY, - ACT_DOD_PRIMARYATTACK_PRONE_TOMMY, - ACT_DOD_SECONDARYATTACK_TOMMY, - ACT_DOD_SECONDARYATTACK_PRONE_TOMMY, - - // MP40 - ACT_DOD_PRIMARYATTACK_MP40, - ACT_DOD_PRIMARYATTACK_PRONE_MP40 , - ACT_DOD_SECONDARYATTACK_MP40, - ACT_DOD_SECONDARYATTACK_PRONE_MP40 , - - // MP44 - ACT_DOD_PRIMARYATTACK_MP44, - ACT_DOD_PRIMARYATTACK_PRONE_MP44 , - - // Greasegun - ACT_DOD_PRIMARYATTACK_GREASE, - ACT_DOD_PRIMARYATTACK_PRONE_GREASE , - - // Pistols (Colt, Luger) - ACT_DOD_PRIMARYATTACK_PISTOL, - ACT_DOD_PRIMARYATTACK_PRONE_PISTOL , - ACT_DOD_PRIMARYATTACK_C96, - ACT_DOD_PRIMARYATTACK_PRONE_C96, - - // Mgs (mg42, mg34) - ACT_DOD_PRIMARYATTACK_MG, - ACT_DOD_PRIMARYATTACK_PRONE_MG , - ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_MG , - ACT_DOD_PRIMARYATTACK_DEPLOYED_MG , - - // 30cal - ACT_DOD_PRIMARYATTACK_30CAL, - ACT_DOD_PRIMARYATTACK_PRONE_30CAL, - ACT_DOD_PRIMARYATTACK_DEPLOYED_30CAL, - ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_30CAL , - - // Grenades - ACT_DOD_PRIMARYATTACK_GREN_FRAG, - ACT_DOD_PRIMARYATTACK_PRONE_GREN_FRAG, - ACT_DOD_PRIMARYATTACK_GREN_STICK, - ACT_DOD_PRIMARYATTACK_PRONE_GREN_STICK, - - // Knife - ACT_DOD_PRIMARYATTACK_KNIFE, - ACT_DOD_PRIMARYATTACK_PRONE_KNIFE, - - // Spade - ACT_DOD_PRIMARYATTACK_SPADE, - ACT_DOD_PRIMARYATTACK_PRONE_SPADE, - - // Bazooka - ACT_DOD_PRIMARYATTACK_BAZOOKA, - ACT_DOD_PRIMARYATTACK_PRONE_BAZOOKA, - - // Pschreck - ACT_DOD_PRIMARYATTACK_PSCHRECK, - ACT_DOD_PRIMARYATTACK_PRONE_PSCHRECK , - - // Bar - ACT_DOD_PRIMARYATTACK_BAR, - ACT_DOD_PRIMARYATTACK_PRONE_BAR, - - // Reloads - ACT_DOD_RELOAD_GARAND, - ACT_DOD_RELOAD_K43, - ACT_DOD_RELOAD_BAR, - ACT_DOD_RELOAD_MP40, - ACT_DOD_RELOAD_MP44, - ACT_DOD_RELOAD_BOLT, - ACT_DOD_RELOAD_M1CARBINE, - ACT_DOD_RELOAD_TOMMY, - ACT_DOD_RELOAD_GREASEGUN, - ACT_DOD_RELOAD_PISTOL, - ACT_DOD_RELOAD_FG42, - ACT_DOD_RELOAD_RIFLE, - ACT_DOD_RELOAD_RIFLEGRENADE, - ACT_DOD_RELOAD_C96, - - // Crouch - ACT_DOD_RELOAD_CROUCH_BAR, - ACT_DOD_RELOAD_CROUCH_RIFLE, - ACT_DOD_RELOAD_CROUCH_RIFLEGRENADE, - ACT_DOD_RELOAD_CROUCH_BOLT, - ACT_DOD_RELOAD_CROUCH_MP44, - ACT_DOD_RELOAD_CROUCH_MP40, - ACT_DOD_RELOAD_CROUCH_TOMMY, - ACT_DOD_RELOAD_CROUCH_BAZOOKA, - ACT_DOD_RELOAD_CROUCH_PSCHRECK, - ACT_DOD_RELOAD_CROUCH_PISTOL, - ACT_DOD_RELOAD_CROUCH_M1CARBINE, - ACT_DOD_RELOAD_CROUCH_C96, - - // Bazookas - ACT_DOD_RELOAD_BAZOOKA, - ACT_DOD_ZOOMLOAD_BAZOOKA, - ACT_DOD_RELOAD_PSCHRECK, - ACT_DOD_ZOOMLOAD_PSCHRECK, - - // Deployed - ACT_DOD_RELOAD_DEPLOYED_FG42, - ACT_DOD_RELOAD_DEPLOYED_30CAL, - ACT_DOD_RELOAD_DEPLOYED_MG, - ACT_DOD_RELOAD_DEPLOYED_MG34, - ACT_DOD_RELOAD_DEPLOYED_BAR, - - // Prone - ACT_DOD_RELOAD_PRONE_PISTOL, - ACT_DOD_RELOAD_PRONE_GARAND, - ACT_DOD_RELOAD_PRONE_M1CARBINE, - ACT_DOD_RELOAD_PRONE_BOLT, - ACT_DOD_RELOAD_PRONE_K43, - ACT_DOD_RELOAD_PRONE_MP40, - ACT_DOD_RELOAD_PRONE_MP44, - ACT_DOD_RELOAD_PRONE_BAR, - ACT_DOD_RELOAD_PRONE_GREASEGUN, - ACT_DOD_RELOAD_PRONE_TOMMY, - ACT_DOD_RELOAD_PRONE_FG42, - ACT_DOD_RELOAD_PRONE_RIFLE, - ACT_DOD_RELOAD_PRONE_RIFLEGRENADE, - ACT_DOD_RELOAD_PRONE_C96, - - // Prone bazooka - ACT_DOD_RELOAD_PRONE_BAZOOKA, - ACT_DOD_ZOOMLOAD_PRONE_BAZOOKA, - ACT_DOD_RELOAD_PRONE_PSCHRECK, - ACT_DOD_ZOOMLOAD_PRONE_PSCHRECK, - - // Prone deployed - ACT_DOD_RELOAD_PRONE_DEPLOYED_BAR, - ACT_DOD_RELOAD_PRONE_DEPLOYED_FG42, - ACT_DOD_RELOAD_PRONE_DEPLOYED_30CAL, - ACT_DOD_RELOAD_PRONE_DEPLOYED_MG, - ACT_DOD_RELOAD_PRONE_DEPLOYED_MG34, - - // Prone zoomed aim - ACT_DOD_PRONE_ZOOM_FORWARD_RIFLE, - ACT_DOD_PRONE_ZOOM_FORWARD_BOLT, - ACT_DOD_PRONE_ZOOM_FORWARD_BAZOOKA, - ACT_DOD_PRONE_ZOOM_FORWARD_PSCHRECK, - - // Crouch attack - ACT_DOD_PRIMARYATTACK_CROUCH, - ACT_DOD_PRIMARYATTACK_CROUCH_SPADE, - ACT_DOD_PRIMARYATTACK_CROUCH_KNIFE, - ACT_DOD_PRIMARYATTACK_CROUCH_GREN_FRAG, - ACT_DOD_PRIMARYATTACK_CROUCH_GREN_STICK, - ACT_DOD_SECONDARYATTACK_CROUCH, - ACT_DOD_SECONDARYATTACK_CROUCH_TOMMY, - ACT_DOD_SECONDARYATTACK_CROUCH_MP40, - - // Hand Signals - ACT_DOD_HS_IDLE, - ACT_DOD_HS_CROUCH, - ACT_DOD_HS_IDLE_30CAL, - ACT_DOD_HS_IDLE_BAZOOKA, - ACT_DOD_HS_IDLE_PSCHRECK, - ACT_DOD_HS_IDLE_KNIFE, - ACT_DOD_HS_IDLE_MG42, - ACT_DOD_HS_IDLE_PISTOL, - ACT_DOD_HS_IDLE_STICKGRENADE, - ACT_DOD_HS_IDLE_TOMMY, - ACT_DOD_HS_IDLE_MP44, - ACT_DOD_HS_IDLE_K98, - ACT_DOD_HS_CROUCH_30CAL, - ACT_DOD_HS_CROUCH_BAZOOKA, - ACT_DOD_HS_CROUCH_PSCHRECK, - ACT_DOD_HS_CROUCH_KNIFE, - ACT_DOD_HS_CROUCH_MG42, - ACT_DOD_HS_CROUCH_PISTOL, - ACT_DOD_HS_CROUCH_STICKGRENADE, - ACT_DOD_HS_CROUCH_TOMMY, - ACT_DOD_HS_CROUCH_MP44, - ACT_DOD_HS_CROUCH_K98, - - ACT_DOD_STAND_IDLE_TNT, - ACT_DOD_CROUCH_IDLE_TNT, - ACT_DOD_CROUCHWALK_IDLE_TNT, - ACT_DOD_WALK_IDLE_TNT, - ACT_DOD_RUN_IDLE_TNT, - ACT_DOD_SPRINT_IDLE_TNT, - ACT_DOD_PRONEWALK_IDLE_TNT, - - ACT_DOD_PLANT_TNT, - ACT_DOD_DEFUSE_TNT, - -// HL2MP - ACT_HL2MP_IDLE, - ACT_HL2MP_RUN, - ACT_HL2MP_IDLE_CROUCH, - ACT_HL2MP_WALK_CROUCH, - ACT_HL2MP_GESTURE_RANGE_ATTACK, - ACT_HL2MP_GESTURE_RELOAD, - ACT_HL2MP_JUMP, - - ACT_HL2MP_IDLE_PISTOL, - ACT_HL2MP_RUN_PISTOL, - ACT_HL2MP_IDLE_CROUCH_PISTOL, - ACT_HL2MP_WALK_CROUCH_PISTOL, - ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, - ACT_HL2MP_GESTURE_RELOAD_PISTOL, - ACT_HL2MP_JUMP_PISTOL, - - ACT_HL2MP_IDLE_SMG1, - ACT_HL2MP_RUN_SMG1, - ACT_HL2MP_IDLE_CROUCH_SMG1, - ACT_HL2MP_WALK_CROUCH_SMG1, - ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG1, - ACT_HL2MP_GESTURE_RELOAD_SMG1, - ACT_HL2MP_JUMP_SMG1, - - ACT_HL2MP_IDLE_AR2, - ACT_HL2MP_RUN_AR2, - ACT_HL2MP_IDLE_CROUCH_AR2, - ACT_HL2MP_WALK_CROUCH_AR2, - ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2, - ACT_HL2MP_GESTURE_RELOAD_AR2, - ACT_HL2MP_JUMP_AR2, - - ACT_HL2MP_IDLE_SHOTGUN, - ACT_HL2MP_RUN_SHOTGUN, - ACT_HL2MP_IDLE_CROUCH_SHOTGUN, - ACT_HL2MP_WALK_CROUCH_SHOTGUN, - ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN, - ACT_HL2MP_GESTURE_RELOAD_SHOTGUN, - ACT_HL2MP_JUMP_SHOTGUN, - - ACT_HL2MP_IDLE_RPG, - ACT_HL2MP_RUN_RPG, - ACT_HL2MP_IDLE_CROUCH_RPG, - ACT_HL2MP_WALK_CROUCH_RPG, - ACT_HL2MP_GESTURE_RANGE_ATTACK_RPG, - ACT_HL2MP_GESTURE_RELOAD_RPG, - ACT_HL2MP_JUMP_RPG, - - ACT_HL2MP_IDLE_GRENADE, - ACT_HL2MP_RUN_GRENADE, - ACT_HL2MP_IDLE_CROUCH_GRENADE, - ACT_HL2MP_WALK_CROUCH_GRENADE, - ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE, - ACT_HL2MP_GESTURE_RELOAD_GRENADE, - ACT_HL2MP_JUMP_GRENADE, - - ACT_HL2MP_IDLE_PHYSGUN, - ACT_HL2MP_RUN_PHYSGUN, - ACT_HL2MP_IDLE_CROUCH_PHYSGUN, - ACT_HL2MP_WALK_CROUCH_PHYSGUN, - ACT_HL2MP_GESTURE_RANGE_ATTACK_PHYSGUN, - ACT_HL2MP_GESTURE_RELOAD_PHYSGUN, - ACT_HL2MP_JUMP_PHYSGUN, - - ACT_HL2MP_IDLE_CROSSBOW, - ACT_HL2MP_RUN_CROSSBOW, - ACT_HL2MP_IDLE_CROUCH_CROSSBOW, - ACT_HL2MP_WALK_CROUCH_CROSSBOW, - ACT_HL2MP_GESTURE_RANGE_ATTACK_CROSSBOW, - ACT_HL2MP_GESTURE_RELOAD_CROSSBOW, - ACT_HL2MP_JUMP_CROSSBOW, - - ACT_HL2MP_IDLE_MELEE, - ACT_HL2MP_RUN_MELEE, - ACT_HL2MP_IDLE_CROUCH_MELEE, - ACT_HL2MP_WALK_CROUCH_MELEE, - ACT_HL2MP_GESTURE_RANGE_ATTACK_MELEE, - ACT_HL2MP_GESTURE_RELOAD_MELEE, - ACT_HL2MP_JUMP_MELEE, - - ACT_HL2MP_IDLE_SLAM, - ACT_HL2MP_RUN_SLAM, - ACT_HL2MP_IDLE_CROUCH_SLAM, - ACT_HL2MP_WALK_CROUCH_SLAM, - ACT_HL2MP_GESTURE_RANGE_ATTACK_SLAM, - ACT_HL2MP_GESTURE_RELOAD_SLAM, - ACT_HL2MP_JUMP_SLAM, - -// Portal! - ACT_VM_FIZZLE, - - // Multiplayer - ACT_MP_STAND_IDLE, - ACT_MP_CROUCH_IDLE, - ACT_MP_CROUCH_DEPLOYED_IDLE, - ACT_MP_CROUCH_DEPLOYED, - ACT_MP_CROUCHWALK_DEPLOYED, - ACT_MP_DEPLOYED_IDLE, - ACT_MP_RUN, - ACT_MP_WALK, - ACT_MP_AIRWALK, - ACT_MP_CROUCHWALK, - ACT_MP_SPRINT, - ACT_MP_JUMP, - ACT_MP_JUMP_START, - ACT_MP_JUMP_FLOAT, - ACT_MP_JUMP_LAND, - ACT_MP_DOUBLEJUMP, - ACT_MP_SWIM, - ACT_MP_DEPLOYED, - ACT_MP_SWIM_DEPLOYED, - ACT_MP_VCD, - - ACT_MP_ATTACK_STAND_PRIMARYFIRE, - ACT_MP_ATTACK_STAND_PRIMARYFIRE_DEPLOYED, - ACT_MP_ATTACK_STAND_SECONDARYFIRE, - ACT_MP_ATTACK_STAND_GRENADE, - ACT_MP_ATTACK_CROUCH_PRIMARYFIRE, - ACT_MP_ATTACK_CROUCH_PRIMARYFIRE_DEPLOYED, - ACT_MP_ATTACK_CROUCH_SECONDARYFIRE, - ACT_MP_ATTACK_CROUCH_GRENADE, - ACT_MP_ATTACK_SWIM_PRIMARYFIRE, - ACT_MP_ATTACK_SWIM_SECONDARYFIRE, - ACT_MP_ATTACK_SWIM_GRENADE, - ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE, - ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE, - ACT_MP_ATTACK_AIRWALK_GRENADE, - ACT_MP_RELOAD_STAND, - ACT_MP_RELOAD_STAND_LOOP, - ACT_MP_RELOAD_STAND_END, - ACT_MP_RELOAD_CROUCH, - ACT_MP_RELOAD_CROUCH_LOOP, - ACT_MP_RELOAD_CROUCH_END, - ACT_MP_RELOAD_SWIM, - ACT_MP_RELOAD_SWIM_LOOP, - ACT_MP_RELOAD_SWIM_END, - ACT_MP_RELOAD_AIRWALK, - ACT_MP_RELOAD_AIRWALK_LOOP, - ACT_MP_RELOAD_AIRWALK_END, - ACT_MP_ATTACK_STAND_PREFIRE, - ACT_MP_ATTACK_STAND_POSTFIRE, - ACT_MP_ATTACK_STAND_STARTFIRE, - ACT_MP_ATTACK_CROUCH_PREFIRE, - ACT_MP_ATTACK_CROUCH_POSTFIRE, - ACT_MP_ATTACK_SWIM_PREFIRE, - ACT_MP_ATTACK_SWIM_POSTFIRE, - - // Multiplayer - Primary - ACT_MP_STAND_PRIMARY, - ACT_MP_CROUCH_PRIMARY, - ACT_MP_RUN_PRIMARY, - ACT_MP_WALK_PRIMARY, - ACT_MP_AIRWALK_PRIMARY, - ACT_MP_CROUCHWALK_PRIMARY, - ACT_MP_JUMP_PRIMARY, - ACT_MP_JUMP_START_PRIMARY, - ACT_MP_JUMP_FLOAT_PRIMARY, - ACT_MP_JUMP_LAND_PRIMARY, - ACT_MP_SWIM_PRIMARY, - ACT_MP_DEPLOYED_PRIMARY, - ACT_MP_SWIM_DEPLOYED_PRIMARY, - ACT_MP_CROUCHWALK_DEPLOYED_PRIMARY, - ACT_MP_CROUCH_DEPLOYED_IDLE_PRIMARY, - - ACT_MP_ATTACK_STAND_PRIMARY, // RUN, WALK - ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED, - ACT_MP_ATTACK_CROUCH_PRIMARY, // CROUCHWALK - ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED, - ACT_MP_ATTACK_SWIM_PRIMARY, - ACT_MP_ATTACK_AIRWALK_PRIMARY, - - ACT_MP_RELOAD_STAND_PRIMARY, // RUN, WALK - ACT_MP_RELOAD_STAND_PRIMARY_LOOP, - ACT_MP_RELOAD_STAND_PRIMARY_END, - ACT_MP_RELOAD_CROUCH_PRIMARY, // CROUCHWALK - ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP, - ACT_MP_RELOAD_CROUCH_PRIMARY_END, - ACT_MP_RELOAD_SWIM_PRIMARY, - ACT_MP_RELOAD_SWIM_PRIMARY_LOOP, - ACT_MP_RELOAD_SWIM_PRIMARY_END, - ACT_MP_RELOAD_AIRWALK_PRIMARY, - ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP, - ACT_MP_RELOAD_AIRWALK_PRIMARY_END, - - ACT_MP_RELOAD_STAND_PRIMARY_2, - ACT_MP_RELOAD_STAND_PRIMARY_LOOP_2, - ACT_MP_RELOAD_STAND_PRIMARY_END_2, - ACT_MP_RELOAD_CROUCH_PRIMARY_2, - ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP_2, - ACT_MP_RELOAD_CROUCH_PRIMARY_END_2, - ACT_MP_RELOAD_SWIM_PRIMARY_2, - ACT_MP_RELOAD_SWIM_PRIMARY_LOOP_2, - ACT_MP_RELOAD_SWIM_PRIMARY_END_2, - ACT_MP_RELOAD_AIRWALK_PRIMARY_2, - ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP_2, - ACT_MP_RELOAD_AIRWALK_PRIMARY_END_2, - - // PRIMARY ALT - ACT_MP_ATTACK_STAND_PRIMARY_ALT, - ACT_MP_ATTACK_CROUCH_PRIMARY_ALT, - ACT_MP_ATTACK_SWIM_PRIMARY_ALT, - ACT_MP_RELOAD_STAND_PRIMARY_ALT, - ACT_MP_RELOAD_CROUCH_PRIMARY_ALT, - ACT_MP_RELOAD_AIRWALK_PRIMARY_ALT, - ACT_MP_RELOAD_STAND_PRIMARY_LOOP_ALT, - ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP_ALT, - ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP_ALT, - ACT_MP_RELOAD_STAND_PRIMARY_END_ALT, - ACT_MP_RELOAD_CROUCH_PRIMARY_END_ALT, - ACT_MP_RELOAD_AIRWALK_PRIMARY_END_ALT, - ACT_MP_RELOAD_SWIM_PRIMARY_ALT, - ACT_MP_ATTACK_STAND_PRIMARY_SUPER, - ACT_MP_ATTACK_CROUCH_PRIMARY_SUPER, - ACT_MP_ATTACK_SWIM_PRIMARY_SUPER, - - ACT_MP_ATTACK_STAND_GRENADE_PRIMARY, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_PRIMARY, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_PRIMARY, - ACT_MP_ATTACK_AIRWALK_GRENADE_PRIMARY, - - // Secondary - ACT_MP_STAND_SECONDARY, - ACT_MP_CROUCH_SECONDARY, - ACT_MP_RUN_SECONDARY, - ACT_MP_WALK_SECONDARY, - ACT_MP_AIRWALK_SECONDARY, - ACT_MP_CROUCHWALK_SECONDARY, - ACT_MP_JUMP_SECONDARY, - ACT_MP_JUMP_START_SECONDARY, - ACT_MP_JUMP_FLOAT_SECONDARY, - ACT_MP_JUMP_LAND_SECONDARY, - ACT_MP_SWIM_SECONDARY, - - ACT_MP_ATTACK_STAND_SECONDARY, // RUN, WALK - ACT_MP_ATTACK_CROUCH_SECONDARY, // CROUCHWALK - ACT_MP_ATTACK_SWIM_SECONDARY, - ACT_MP_ATTACK_AIRWALK_SECONDARY, - - ACT_MP_RELOAD_STAND_SECONDARY, // RUN, WALK - ACT_MP_RELOAD_STAND_SECONDARY_LOOP, - ACT_MP_RELOAD_STAND_SECONDARY_END, - ACT_MP_RELOAD_CROUCH_SECONDARY, // CROUCHWALK - ACT_MP_RELOAD_CROUCH_SECONDARY_LOOP, - ACT_MP_RELOAD_CROUCH_SECONDARY_END, - ACT_MP_RELOAD_SWIM_SECONDARY, - ACT_MP_RELOAD_SWIM_SECONDARY_LOOP, - ACT_MP_RELOAD_SWIM_SECONDARY_END, - ACT_MP_RELOAD_AIRWALK_SECONDARY, - ACT_MP_RELOAD_AIRWALK_SECONDARY_LOOP, - ACT_MP_RELOAD_AIRWALK_SECONDARY_END, - - ACT_MP_RELOAD_STAND_SECONDARY_2, - ACT_MP_RELOAD_CROUCH_SECONDARY_2, - ACT_MP_RELOAD_SWIM_SECONDARY_2, - ACT_MP_RELOAD_AIRWALK_SECONDARY_2, - - ACT_MP_ATTACK_STAND_GRENADE_SECONDARY, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_SECONDARY, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_SECONDARY, - ACT_MP_ATTACK_AIRWALK_GRENADE_SECONDARY, - - // Secondary2 - ACT_MP_STAND_SECONDARY2, - ACT_MP_CROUCH_SECONDARY2, - ACT_MP_RUN_SECONDARY2, - ACT_MP_WALK_SECONDARY2, - ACT_MP_AIRWALK_SECONDARY2, - ACT_MP_CROUCHWALK_SECONDARY2, - ACT_MP_JUMP_SECONDARY2, - ACT_MP_JUMP_START_SECONDARY2, - ACT_MP_JUMP_FLOAT_SECONDARY2, - ACT_MP_JUMP_LAND_SECONDARY2, - ACT_MP_SWIM_SECONDARY2, - - ACT_MP_ATTACK_STAND_SECONDARY2, // RUN, WALK - ACT_MP_ATTACK_CROUCH_SECONDARY2, // CROUCHWALK - ACT_MP_ATTACK_SWIM_SECONDARY2, - ACT_MP_ATTACK_AIRWALK_SECONDARY2, - - ACT_MP_RELOAD_STAND_SECONDARY2, // RUN, WALK - ACT_MP_RELOAD_STAND_SECONDARY2_LOOP, - ACT_MP_RELOAD_STAND_SECONDARY2_END, - ACT_MP_RELOAD_CROUCH_SECONDARY2, // CROUCHWALK - ACT_MP_RELOAD_CROUCH_SECONDARY2_LOOP, - ACT_MP_RELOAD_CROUCH_SECONDARY2_END, - ACT_MP_RELOAD_SWIM_SECONDARY2, - ACT_MP_RELOAD_SWIM_SECONDARY2_LOOP, - ACT_MP_RELOAD_SWIM_SECONDARY2_END, - ACT_MP_RELOAD_AIRWALK_SECONDARY2, - ACT_MP_RELOAD_AIRWALK_SECONDARY2_LOOP, - ACT_MP_RELOAD_AIRWALK_SECONDARY2_END, - - // Melee - ACT_MP_STAND_MELEE, - ACT_MP_CROUCH_MELEE, - ACT_MP_RUN_MELEE, - ACT_MP_WALK_MELEE, - ACT_MP_AIRWALK_MELEE, - ACT_MP_CROUCHWALK_MELEE, - ACT_MP_JUMP_MELEE, - ACT_MP_JUMP_START_MELEE, - ACT_MP_JUMP_FLOAT_MELEE, - ACT_MP_JUMP_LAND_MELEE, - ACT_MP_SWIM_MELEE, - - ACT_MP_ATTACK_STAND_MELEE, // RUN, WALK - ACT_MP_ATTACK_STAND_MELEE_SECONDARY, - ACT_MP_ATTACK_CROUCH_MELEE, // CROUCHWALK - ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY, - ACT_MP_ATTACK_SWIM_MELEE, - ACT_MP_ATTACK_AIRWALK_MELEE, - - ACT_MP_ATTACK_STAND_GRENADE_MELEE, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_MELEE, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_MELEE, - ACT_MP_ATTACK_AIRWALK_GRENADE_MELEE, - - // Item1 - ACT_MP_STAND_ITEM1, - ACT_MP_CROUCH_ITEM1, - ACT_MP_RUN_ITEM1, - ACT_MP_WALK_ITEM1, - ACT_MP_AIRWALK_ITEM1, - ACT_MP_CROUCHWALK_ITEM1, - ACT_MP_JUMP_ITEM1, - ACT_MP_JUMP_START_ITEM1, - ACT_MP_JUMP_FLOAT_ITEM1, - ACT_MP_JUMP_LAND_ITEM1, - ACT_MP_SWIM_ITEM1, - - ACT_MP_ATTACK_STAND_ITEM1, // RUN, WALK - ACT_MP_ATTACK_STAND_ITEM1_SECONDARY, - ACT_MP_ATTACK_CROUCH_ITEM1, // CROUCHWALK - ACT_MP_ATTACK_CROUCH_ITEM1_SECONDARY, - ACT_MP_ATTACK_SWIM_ITEM1, - ACT_MP_ATTACK_AIRWALK_ITEM1, - - ACT_MP_DEPLOYED_ITEM1, - ACT_MP_DEPLOYED_IDLE_ITEM1, - ACT_MP_CROUCHWALK_DEPLOYED_ITEM1, - ACT_MP_CROUCH_DEPLOYED_IDLE_ITEM1, - ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED_ITEM1, - ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED_ITEM1, - - // Item2 - ACT_MP_STAND_ITEM2, - ACT_MP_CROUCH_ITEM2, - ACT_MP_RUN_ITEM2, - ACT_MP_WALK_ITEM2, - ACT_MP_AIRWALK_ITEM2, - ACT_MP_CROUCHWALK_ITEM2, - ACT_MP_JUMP_ITEM2, - ACT_MP_JUMP_START_ITEM2, - ACT_MP_JUMP_FLOAT_ITEM2, - ACT_MP_JUMP_LAND_ITEM2, - ACT_MP_SWIM_ITEM2, - - ACT_MP_ATTACK_STAND_ITEM2, // RUN, WALK - ACT_MP_ATTACK_STAND_ITEM2_SECONDARY, - ACT_MP_ATTACK_CROUCH_ITEM2, // CROUCHWALK - ACT_MP_ATTACK_CROUCH_ITEM2_SECONDARY, - ACT_MP_ATTACK_SWIM_ITEM2, - ACT_MP_ATTACK_AIRWALK_ITEM2, - - ACT_MP_ATTACK_STAND_HARD_ITEM2, - ACT_MP_ATTACK_CROUCH_HARD_ITEM2, - ACT_MP_ATTACK_SWIM_HARD_ITEM2, - - ACT_MP_DEPLOYED_ITEM2, - ACT_MP_DEPLOYED_IDLE_ITEM2, - ACT_MP_CROUCHWALK_DEPLOYED_ITEM2, - ACT_MP_CROUCH_DEPLOYED_IDLE_ITEM2, - ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED_ITEM2, - ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED_ITEM2, - - ACT_MP_RELOAD_STAND_ITEM2, // RUN, WALK - ACT_MP_RELOAD_STAND_ITEM2_LOOP, - ACT_MP_RELOAD_STAND_ITEM2_END, - ACT_MP_RELOAD_CROUCH_ITEM2, // CROUCHWALK - ACT_MP_RELOAD_CROUCH_ITEM2_LOOP, - ACT_MP_RELOAD_CROUCH_ITEM2_END, - ACT_MP_RELOAD_SWIM_ITEM2, - ACT_MP_RELOAD_SWIM_ITEM2_LOOP, - ACT_MP_RELOAD_SWIM_ITEM2_END, - ACT_MP_RELOAD_AIRWALK_ITEM2, - ACT_MP_RELOAD_AIRWALK_ITEM2_LOOP, - ACT_MP_RELOAD_AIRWALK_ITEM2_END, - ACT_MP_RELOAD_NO_AMMO_ITEM2, - - ACT_MP_ATTACK_STAND_GRENADE_ITEM2, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_ITEM2, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_ITEM2, - ACT_MP_ATTACK_AIRWALK_GRENADE_ITEM2, - - // Passtime - ACT_MP_STAND_PASSTIME, - ACT_MP_RUN_PASSTIME, - ACT_MP_CROUCHWALK_PASSTIME, - - // Flinches - ACT_MP_GESTURE_FLINCH, - ACT_MP_GESTURE_FLINCH_PRIMARY, - ACT_MP_GESTURE_FLINCH_SECONDARY, - ACT_MP_GESTURE_FLINCH_MELEE, - ACT_MP_GESTURE_FLINCH_ITEM1, - ACT_MP_GESTURE_FLINCH_ITEM2, - - ACT_MP_GESTURE_FLINCH_HEAD, - ACT_MP_GESTURE_FLINCH_CHEST, - ACT_MP_GESTURE_FLINCH_STOMACH, - ACT_MP_GESTURE_FLINCH_LEFTARM, - ACT_MP_GESTURE_FLINCH_RIGHTARM, - ACT_MP_GESTURE_FLINCH_LEFTLEG, - ACT_MP_GESTURE_FLINCH_RIGHTLEG, - -// Team Fortress specific - medic heal, medic infect, etc..... - ACT_MP_GRENADE1_DRAW, - ACT_MP_GRENADE1_IDLE, - ACT_MP_GRENADE1_ATTACK, - ACT_MP_GRENADE2_DRAW, - ACT_MP_GRENADE2_IDLE, - ACT_MP_GRENADE2_ATTACK, - - ACT_MP_PRIMARY_GRENADE1_DRAW, - ACT_MP_PRIMARY_GRENADE1_IDLE, - ACT_MP_PRIMARY_GRENADE1_ATTACK, - ACT_MP_PRIMARY_GRENADE2_DRAW, - ACT_MP_PRIMARY_GRENADE2_IDLE, - ACT_MP_PRIMARY_GRENADE2_ATTACK, - - ACT_MP_SECONDARY_GRENADE1_DRAW, - ACT_MP_SECONDARY_GRENADE1_IDLE, - ACT_MP_SECONDARY_GRENADE1_ATTACK, - ACT_MP_SECONDARY_GRENADE2_DRAW, - ACT_MP_SECONDARY_GRENADE2_IDLE, - ACT_MP_SECONDARY_GRENADE2_ATTACK, - - ACT_MP_MELEE_GRENADE1_DRAW, - ACT_MP_MELEE_GRENADE1_IDLE, - ACT_MP_MELEE_GRENADE1_ATTACK, - ACT_MP_MELEE_GRENADE2_DRAW, - ACT_MP_MELEE_GRENADE2_IDLE, - ACT_MP_MELEE_GRENADE2_ATTACK, - - ACT_MP_ITEM1_GRENADE1_DRAW, - ACT_MP_ITEM1_GRENADE1_IDLE, - ACT_MP_ITEM1_GRENADE1_ATTACK, - ACT_MP_ITEM1_GRENADE2_DRAW, - ACT_MP_ITEM1_GRENADE2_IDLE, - ACT_MP_ITEM1_GRENADE2_ATTACK, - - ACT_MP_ITEM2_GRENADE1_DRAW, - ACT_MP_ITEM2_GRENADE1_IDLE, - ACT_MP_ITEM2_GRENADE1_ATTACK, - ACT_MP_ITEM2_GRENADE2_DRAW, - ACT_MP_ITEM2_GRENADE2_IDLE, - ACT_MP_ITEM2_GRENADE2_ATTACK, - - // Building - ACT_MP_STAND_BUILDING, - ACT_MP_CROUCH_BUILDING, - ACT_MP_RUN_BUILDING, - ACT_MP_WALK_BUILDING, - ACT_MP_AIRWALK_BUILDING, - ACT_MP_CROUCHWALK_BUILDING, - ACT_MP_JUMP_BUILDING, - ACT_MP_JUMP_START_BUILDING, - ACT_MP_JUMP_FLOAT_BUILDING, - ACT_MP_JUMP_LAND_BUILDING, - ACT_MP_SWIM_BUILDING, - - ACT_MP_ATTACK_STAND_BUILDING, // RUN, WALK - ACT_MP_ATTACK_CROUCH_BUILDING, // CROUCHWALK - ACT_MP_ATTACK_SWIM_BUILDING, - ACT_MP_ATTACK_AIRWALK_BUILDING, - - ACT_MP_ATTACK_STAND_GRENADE_BUILDING, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_BUILDING, - ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING, - - // Building - ACT_MP_STAND_BUILDING_DEPLOYED, - ACT_MP_CROUCH_BUILDING_DEPLOYED, - ACT_MP_RUN_BUILDING_DEPLOYED, - ACT_MP_WALK_BUILDING_DEPLOYED, - ACT_MP_AIRWALK_BUILDING_DEPLOYED, - ACT_MP_CROUCHWALK_BUILDING_DEPLOYED, - ACT_MP_JUMP_BUILDING_DEPLOYED, - ACT_MP_JUMP_START_BUILDING_DEPLOYED, - ACT_MP_JUMP_FLOAT_BUILDING_DEPLOYED, - ACT_MP_JUMP_LAND_BUILDING_DEPLOYED, - ACT_MP_SWIM_BUILDING_DEPLOYED, - - ACT_MP_ATTACK_STAND_BUILDING_DEPLOYED, // RUN, WALK - ACT_MP_ATTACK_CROUCH_BUILDING_DEPLOYED, // CROUCHWALK - ACT_MP_ATTACK_SWIM_BUILDING_DEPLOYED, - ACT_MP_ATTACK_AIRWALK_BUILDING_DEPLOYED, - - ACT_MP_ATTACK_STAND_GRENADE_BUILDING_DEPLOYED, // RUN, WALK - ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING_DEPLOYED, // CROUCHWALK - ACT_MP_ATTACK_SWIM_GRENADE_BUILDING_DEPLOYED, - ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING_DEPLOYED, - - ACT_MP_STAND_PDA, - ACT_MP_CROUCH_PDA, - ACT_MP_RUN_PDA, - ACT_MP_WALK_PDA, - ACT_MP_AIRWALK_PDA, - ACT_MP_CROUCHWALK_PDA, - ACT_MP_JUMP_PDA, - ACT_MP_JUMP_START_PDA, - ACT_MP_JUMP_FLOAT_PDA, - ACT_MP_JUMP_LAND_PDA, - ACT_MP_SWIM_PDA, - - ACT_MP_ATTACK_STAND_PDA, - ACT_MP_ATTACK_SWIM_PDA, - - ACT_MP_STAND_LOSERSTATE, - ACT_MP_CROUCH_LOSERSTATE, - ACT_MP_RUN_LOSERSTATE, - ACT_MP_WALK_LOSERSTATE, - ACT_MP_AIRWALK_LOSERSTATE, - ACT_MP_CROUCHWALK_LOSERSTATE, - ACT_MP_JUMP_LOSERSTATE, - ACT_MP_JUMP_START_LOSERSTATE, - ACT_MP_JUMP_FLOAT_LOSERSTATE, - ACT_MP_JUMP_LAND_LOSERSTATE, - ACT_MP_SWIM_LOSERSTATE, - ACT_MP_DOUBLEJUMP_LOSERSTATE, - - ACT_MP_DOUBLEJUMP_CROUCH, - ACT_MP_DOUBLEJUMP_CROUCH_PRIMARY, - ACT_MP_DOUBLEJUMP_CROUCH_SECONDARY, - ACT_MP_DOUBLEJUMP_CROUCH_MELEE, - ACT_MP_DOUBLEJUMP_CROUCH_ITEM1, - ACT_MP_DOUBLEJUMP_CROUCH_ITEM2, - ACT_MP_DOUBLEJUMP_CROUCH_LOSERSTATE, - ACT_MP_DOUBLEJUMP_CROUCH_PASSTIME, - - ACT_MP_GESTURE_VC_HANDMOUTH, - ACT_MP_GESTURE_VC_FINGERPOINT, - ACT_MP_GESTURE_VC_FISTPUMP, - ACT_MP_GESTURE_VC_THUMBSUP, - ACT_MP_GESTURE_VC_NODYES, - ACT_MP_GESTURE_VC_NODNO, - - ACT_MP_GESTURE_VC_HANDMOUTH_PRIMARY, - ACT_MP_GESTURE_VC_FINGERPOINT_PRIMARY, - ACT_MP_GESTURE_VC_FISTPUMP_PRIMARY, - ACT_MP_GESTURE_VC_THUMBSUP_PRIMARY, - ACT_MP_GESTURE_VC_NODYES_PRIMARY, - ACT_MP_GESTURE_VC_NODNO_PRIMARY, - - ACT_MP_GESTURE_VC_HANDMOUTH_SECONDARY, - ACT_MP_GESTURE_VC_FINGERPOINT_SECONDARY, - ACT_MP_GESTURE_VC_FISTPUMP_SECONDARY, - ACT_MP_GESTURE_VC_THUMBSUP_SECONDARY, - ACT_MP_GESTURE_VC_NODYES_SECONDARY, - ACT_MP_GESTURE_VC_NODNO_SECONDARY, - - ACT_MP_GESTURE_VC_HANDMOUTH_MELEE, - ACT_MP_GESTURE_VC_FINGERPOINT_MELEE, - ACT_MP_GESTURE_VC_FISTPUMP_MELEE, - ACT_MP_GESTURE_VC_THUMBSUP_MELEE, - ACT_MP_GESTURE_VC_NODYES_MELEE, - ACT_MP_GESTURE_VC_NODNO_MELEE, - - ACT_MP_GESTURE_VC_HANDMOUTH_ITEM1, - ACT_MP_GESTURE_VC_FINGERPOINT_ITEM1, - ACT_MP_GESTURE_VC_FISTPUMP_ITEM1, - ACT_MP_GESTURE_VC_THUMBSUP_ITEM1, - ACT_MP_GESTURE_VC_NODYES_ITEM1, - ACT_MP_GESTURE_VC_NODNO_ITEM1, - - ACT_MP_GESTURE_VC_HANDMOUTH_ITEM2, - ACT_MP_GESTURE_VC_FINGERPOINT_ITEM2, - ACT_MP_GESTURE_VC_FISTPUMP_ITEM2, - ACT_MP_GESTURE_VC_THUMBSUP_ITEM2, - ACT_MP_GESTURE_VC_NODYES_ITEM2, - ACT_MP_GESTURE_VC_NODNO_ITEM2, - - ACT_MP_GESTURE_VC_HANDMOUTH_BUILDING, - ACT_MP_GESTURE_VC_FINGERPOINT_BUILDING, - ACT_MP_GESTURE_VC_FISTPUMP_BUILDING, - ACT_MP_GESTURE_VC_THUMBSUP_BUILDING, - ACT_MP_GESTURE_VC_NODYES_BUILDING, - ACT_MP_GESTURE_VC_NODNO_BUILDING, - - ACT_MP_GESTURE_VC_HANDMOUTH_PDA, - ACT_MP_GESTURE_VC_FINGERPOINT_PDA, - ACT_MP_GESTURE_VC_FISTPUMP_PDA, - ACT_MP_GESTURE_VC_THUMBSUP_PDA, - ACT_MP_GESTURE_VC_NODYES_PDA, - ACT_MP_GESTURE_VC_NODNO_PDA, - - ACT_MP_STUN_BEGIN, - ACT_MP_STUN_MIDDLE, - ACT_MP_STUN_END, - - ACT_MP_PASSTIME_THROW_BEGIN, - ACT_MP_PASSTIME_THROW_MIDDLE, - ACT_MP_PASSTIME_THROW_END, - ACT_MP_PASSTIME_THROW_CANCEL, - - ACT_VM_UNUSABLE, - ACT_VM_UNUSABLE_TO_USABLE, - ACT_VM_USABLE_TO_UNUSABLE, - - // Specific viewmodel activities for weapon roles - ACT_PRIMARY_VM_DRAW, - ACT_PRIMARY_VM_HOLSTER, - ACT_PRIMARY_VM_IDLE, - ACT_PRIMARY_VM_PULLBACK, - ACT_PRIMARY_VM_PRIMARYATTACK, - ACT_PRIMARY_VM_SECONDARYATTACK, - ACT_PRIMARY_VM_RELOAD, - ACT_PRIMARY_RELOAD_START, - ACT_PRIMARY_RELOAD_FINISH, - ACT_PRIMARY_VM_DRYFIRE, - ACT_PRIMARY_VM_IDLE_TO_LOWERED, - ACT_PRIMARY_VM_IDLE_LOWERED, - ACT_PRIMARY_VM_LOWERED_TO_IDLE, - ACT_PRIMARY_VM_RELOAD_2, - ACT_PRIMARY_RELOAD_START_2, - ACT_PRIMARY_RELOAD_FINISH_2, - ACT_PRIMARY_VM_RELOAD_3, - ACT_PRIMARY_RELOAD_START_3, - ACT_PRIMARY_RELOAD_FINISH_3, - ACT_PRIMARY_VM_PRIMARYATTACK_3, - - ACT_SECONDARY_VM_DRAW, - ACT_SECONDARY_VM_HOLSTER, - ACT_SECONDARY_VM_IDLE, - ACT_SECONDARY_VM_PULLBACK, - ACT_SECONDARY_VM_PRIMARYATTACK, - ACT_SECONDARY_VM_SECONDARYATTACK, - ACT_SECONDARY_VM_RELOAD, - ACT_SECONDARY_RELOAD_START, - ACT_SECONDARY_RELOAD_FINISH, - ACT_SECONDARY_VM_RELOAD2, - ACT_SECONDARY_VM_DRYFIRE, - ACT_SECONDARY_VM_IDLE_TO_LOWERED, - ACT_SECONDARY_VM_IDLE_LOWERED, - ACT_SECONDARY_VM_LOWERED_TO_IDLE, - - ACT_SECONDARY_VM_DRAW_2, - ACT_SECONDARY_VM_IDLE_2, - ACT_SECONDARY_VM_PRIMARYATTACK_2, - ACT_SECONDARY_VM_RELOAD_2, - - ACT_MELEE_VM_DRAW, - ACT_MELEE_VM_HOLSTER, - ACT_MELEE_VM_IDLE, - ACT_MELEE_VM_PULLBACK, - ACT_MELEE_VM_PRIMARYATTACK, - ACT_MELEE_VM_SECONDARYATTACK, - ACT_MELEE_VM_RELOAD, - ACT_MELEE_VM_DRYFIRE, - ACT_MELEE_VM_IDLE_TO_LOWERED, - ACT_MELEE_VM_IDLE_LOWERED, - ACT_MELEE_VM_LOWERED_TO_IDLE, - ACT_MELEE_VM_STUN, - ACT_MELEE_VM_HITCENTER, - ACT_MELEE_VM_SWINGHARD, - - ACT_PDA_VM_DRAW, - ACT_PDA_VM_HOLSTER, - ACT_PDA_VM_IDLE, - ACT_PDA_VM_PULLBACK, - ACT_PDA_VM_PRIMARYATTACK, - ACT_PDA_VM_SECONDARYATTACK, - ACT_PDA_VM_RELOAD, - ACT_PDA_VM_DRYFIRE, - ACT_PDA_VM_IDLE_TO_LOWERED, - ACT_PDA_VM_IDLE_LOWERED, - ACT_PDA_VM_LOWERED_TO_IDLE, - - ACT_ENGINEER_PDA1_VM_DRAW, - ACT_ENGINEER_PDA2_VM_DRAW, - ACT_ENGINEER_BLD_VM_DRAW, - ACT_ENGINEER_PDA1_VM_IDLE, - ACT_ENGINEER_PDA2_VM_IDLE, - ACT_ENGINEER_BLD_VM_IDLE, - - ACT_ITEM1_VM_DRAW, - ACT_ITEM1_VM_HOLSTER, - ACT_ITEM1_VM_IDLE, - ACT_ITEM1_VM_IDLE_2, - ACT_ITEM1_VM_PULLBACK, - ACT_ITEM1_VM_PRIMARYATTACK, - ACT_ITEM1_VM_SECONDARYATTACK, - ACT_ITEM1_VM_RELOAD, - ACT_ITEM1_VM_DRYFIRE, - ACT_ITEM1_VM_IDLE_TO_LOWERED, - ACT_ITEM1_VM_IDLE_LOWERED, - ACT_ITEM1_VM_LOWERED_TO_IDLE, - ACT_ITEM1_RELOAD_START, - ACT_ITEM1_RELOAD_FINISH, - ACT_ITEM1_VM_HITCENTER, - ACT_ITEM1_VM_SWINGHARD, - ACT_ITEM1_BACKSTAB_VM_UP, - ACT_ITEM1_BACKSTAB_VM_DOWN, - ACT_ITEM1_BACKSTAB_VM_IDLE, - ACT_MELEE_VM_ITEM1_STUN, - - ACT_ITEM2_VM_DRAW, - ACT_ITEM2_VM_HOLSTER, - ACT_ITEM2_VM_IDLE, - ACT_ITEM2_VM_PULLBACK, - ACT_ITEM2_VM_PRIMARYATTACK, - ACT_ITEM2_VM_SECONDARYATTACK, - ACT_ITEM2_VM_RELOAD, - ACT_ITEM2_VM_DRYFIRE, - ACT_ITEM2_VM_IDLE_TO_LOWERED, - ACT_ITEM2_VM_IDLE_LOWERED, - ACT_ITEM2_VM_LOWERED_TO_IDLE, - ACT_ITEM2_VM_CHARGE, - ACT_ITEM2_VM_IDLE_2, - ACT_ITEM2_VM_IDLE_3, - ACT_ITEM2_VM_CHARGE_IDLE_3, - ACT_ITEM2_VM_HITCENTER, - ACT_ITEM2_VM_SWINGHARD, - ACT_ITEM2_BACKSTAB_VM_UP, - ACT_ITEM2_BACKSTAB_VM_DOWN, - ACT_ITEM2_BACKSTAB_VM_IDLE, - ACT_MELEE_VM_ITEM2_STUN, - - ACT_ITEM3_VM_DRAW, - ACT_ITEM3_VM_HOLSTER, - ACT_ITEM3_VM_IDLE, - ACT_ITEM3_VM_PULLBACK, - ACT_ITEM3_VM_PRIMARYATTACK, - ACT_ITEM3_VM_SECONDARYATTACK, - ACT_ITEM3_VM_RELOAD, - ACT_ITEM3_VM_DRYFIRE, - ACT_ITEM3_VM_IDLE_TO_LOWERED, - ACT_ITEM3_VM_IDLE_LOWERED, - ACT_ITEM3_VM_LOWERED_TO_IDLE, - ACT_ITEM3_VM_CHARGE, - ACT_ITEM3_VM_IDLE_2, - ACT_ITEM3_VM_IDLE_3, - ACT_ITEM3_VM_CHARGE_IDLE_3, - ACT_ITEM3_VM_HITCENTER, - ACT_ITEM3_VM_SWINGHARD, - - ACT_SECONDARY2_VM_DRAW, - ACT_SECONDARY2_VM_HOLSTER, - ACT_SECONDARY2_VM_IDLE, - ACT_SECONDARY2_VM_PULLBACK, - ACT_SECONDARY2_VM_PRIMARYATTACK, - ACT_SECONDARY2_VM_SECONDARY2ATTACK, - ACT_SECONDARY2_VM_RELOAD, - ACT_SECONDARY2_RELOAD_START, - ACT_SECONDARY2_RELOAD_FINISH, - ACT_SECONDARY2_VM_RELOAD2, - ACT_SECONDARY2_VM_DRYFIRE, - ACT_SECONDARY2_VM_IDLE_TO_LOWERED, - ACT_SECONDARY2_VM_IDLE_LOWERED, - ACT_SECONDARY2_VM_LOWERED_TO_IDLE, - - ACT_BACKSTAB_VM_UP, - ACT_BACKSTAB_VM_DOWN, - ACT_BACKSTAB_VM_IDLE, - - ACT_PRIMARY_ATTACK_STAND_PREFIRE, - ACT_PRIMARY_ATTACK_STAND_POSTFIRE, - ACT_PRIMARY_ATTACK_STAND_STARTFIRE, - ACT_PRIMARY_ATTACK_CROUCH_PREFIRE, - ACT_PRIMARY_ATTACK_CROUCH_POSTFIRE, - ACT_PRIMARY_ATTACK_SWIM_PREFIRE, - ACT_PRIMARY_ATTACK_SWIM_POSTFIRE, - - ACT_SECONDARY_ATTACK_STAND_PREFIRE, - ACT_SECONDARY_ATTACK_STAND_POSTFIRE, - ACT_SECONDARY_ATTACK_STAND_STARTFIRE, - ACT_SECONDARY_ATTACK_CROUCH_PREFIRE, - ACT_SECONDARY_ATTACK_CROUCH_POSTFIRE, - ACT_SECONDARY_ATTACK_SWIM_PREFIRE, - ACT_SECONDARY_ATTACK_SWIM_POSTFIRE, - - ACT_MELEE_ATTACK_STAND_PREFIRE, - ACT_MELEE_ATTACK_STAND_POSTFIRE, - ACT_MELEE_ATTACK_STAND_STARTFIRE, - ACT_MELEE_ATTACK_CROUCH_PREFIRE, - ACT_MELEE_ATTACK_CROUCH_POSTFIRE, - ACT_MELEE_ATTACK_SWIM_PREFIRE, - ACT_MELEE_ATTACK_SWIM_POSTFIRE, - - ACT_ITEM1_ATTACK_STAND_PREFIRE, - ACT_ITEM1_ATTACK_STAND_POSTFIRE, - ACT_ITEM1_ATTACK_STAND_STARTFIRE, - ACT_ITEM1_ATTACK_CROUCH_PREFIRE, - ACT_ITEM1_ATTACK_CROUCH_POSTFIRE, - ACT_ITEM1_ATTACK_SWIM_PREFIRE, - ACT_ITEM1_ATTACK_SWIM_POSTFIRE, - - ACT_ITEM2_ATTACK_STAND_PREFIRE, - ACT_ITEM2_ATTACK_STAND_POSTFIRE, - ACT_ITEM2_ATTACK_STAND_STARTFIRE, - ACT_ITEM2_ATTACK_CROUCH_PREFIRE, - ACT_ITEM2_ATTACK_CROUCH_POSTFIRE, - ACT_ITEM2_ATTACK_SWIM_PREFIRE, - ACT_ITEM2_ATTACK_SWIM_POSTFIRE, - - ACT_MP_STAND_MELEE_ALLCLASS, - ACT_MP_CROUCH_MELEE_ALLCLASS, - ACT_MP_RUN_MELEE_ALLCLASS, - ACT_MP_WALK_MELEE_ALLCLASS, - ACT_MP_AIRWALK_MELEE_ALLCLASS, - ACT_MP_CROUCHWALK_MELEE_ALLCLASS, - ACT_MP_JUMP_MELEE_ALLCLASS, - ACT_MP_JUMP_START_MELEE_ALLCLASS, - ACT_MP_JUMP_FLOAT_MELEE_ALLCLASS, - ACT_MP_JUMP_LAND_MELEE_ALLCLASS, - ACT_MP_SWIM_MELEE_ALLCLASS, - - ACT_MP_ATTACK_STAND_MELEE_ALLCLASS, // RUN, WALK - ACT_MP_ATTACK_STAND_MELEE_SECONDARY_ALLCLASS, - ACT_MP_ATTACK_CROUCH_MELEE_ALLCLASS, // CROUCHWALK - ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY_ALLCLASS, - ACT_MP_ATTACK_SWIM_MELEE_ALLCLASS, - ACT_MP_ATTACK_AIRWALK_MELEE_ALLCLASS, - - ACT_MELEE_ALLCLASS_VM_DRAW, - ACT_MELEE_ALLCLASS_VM_HOLSTER, - ACT_MELEE_ALLCLASS_VM_IDLE, - ACT_MELEE_ALLCLASS_VM_PULLBACK, - ACT_MELEE_ALLCLASS_VM_PRIMARYATTACK, - ACT_MELEE_ALLCLASS_VM_SECONDARYATTACK, - ACT_MELEE_ALLCLASS_VM_RELOAD, - ACT_MELEE_ALLCLASS_VM_DRYFIRE, - ACT_MELEE_ALLCLASS_VM_IDLE_TO_LOWERED, - ACT_MELEE_ALLCLASS_VM_IDLE_LOWERED, - ACT_MELEE_ALLCLASS_VM_LOWERED_TO_IDLE, - ACT_MELEE_ALLCLASS_VM_STUN, - ACT_MELEE_ALLCLASS_VM_HITCENTER, - ACT_MELEE_ALLCLASS_VM_SWINGHARD, - - // BOMB activities for TD mode. - ACT_MP_STAND_BOMB, - ACT_MP_JUMP_START_BOMB, - ACT_MP_JUMP_FLOAT_BOMB, - ACT_MP_JUMP_LAND_BOMB, - ACT_MP_RUN_BOMB, - ACT_MP_SWIM_BOMB, - - // More Primary VM activities for Soldier Quake RL - ACT_VM_DRAW_QRL, - ACT_VM_IDLE_QRL, - ACT_VM_PULLBACK_QRL, - ACT_VM_PRIMARYATTACK_QRL, - ACT_VM_RELOAD_QRL, - ACT_VM_RELOAD_START_QRL, - ACT_VM_RELOAD_FINISH_QRL, - - // Third person anims for the Soldier Quake RL - ACT_MP_RELOAD_STAND_PRIMARY3, - ACT_MP_RELOAD_CROUCH_PRIMARY3, - ACT_MP_RELOAD_AIRWALK_PRIMARY3, - ACT_MP_RELOAD_STAND_PRIMARY3_LOOP, - ACT_MP_RELOAD_CROUCH_PRIMARY3_LOOP, - ACT_MP_RELOAD_AIRWALK_PRIMARY3_LOOP, - ACT_MP_RELOAD_STAND_PRIMARY3_END, - ACT_MP_RELOAD_CROUCH_PRIMARY3_END, - ACT_MP_RELOAD_AIRWALK_PRIMARY3_END, - ACT_MP_RELOAD_SWIM_PRIMARY3, - - // Throwable Animations - ACT_MP_THROW, - ACT_THROWABLE_VM_DRAW, - ACT_THROWABLE_VM_IDLE, - ACT_THROWABLE_VM_FIRE, - - // Spell Animations - ACT_SPELL_VM_DRAW, - ACT_SPELL_VM_IDLE, - ACT_SPELL_VM_ARM, - ACT_SPELL_VM_FIRE, - - // Bread Monster Sapper - ACT_BREADSAPPER_VM_DRAW, - ACT_BREADSAPPER_VM_IDLE, - - // Bread Gloves - ACT_BREADGLOVES_VM_HITLEFT, - ACT_BREADGLOVES_VM_HITRIGHT, - ACT_BREADGLOVES_VM_SWINGHARD, - ACT_BREADGLOVES_VM_IDLE, - ACT_BREADGLOVES_VM_DRAW, - - ACT_BREADMONSTER_GLOVES_IDLE, - ACT_BREADMONSTER_GLOVES_HITRIGHT, - ACT_BREADMONSTER_GLOVES_HITUP, - - ACT_BREADMONSTER_VM_DRAW, - ACT_BREADMONSTER_VM_IDLE, - ACT_BREADMONSTER_VM_PRIMARYATTACK, - - ACT_PARACHUTE_DEPLOY, - ACT_PARACHUTE_DEPLOY_IDLE, - ACT_PARACHUTE_RETRACT, - ACT_PARACHUTE_RETRACT_IDLE, - - ACT_BOT_SPAWN, - ACT_BOT_PANIC, - ACT_BOT_PRIMARY_MOVEMENT, - ACT_BOT_GESTURE_FLINCH, - ACT_BOT_PANIC_START, - ACT_BOT_PANIC_END, - - ACT_VM_RELOAD_LONG, - ACT_VM_PRIMARYATTACK_LASTROUND, - ACT_VM_PRIMARYATTACK_MP, - ACT_VM_IDLE_IS, - ACT_VM_IDLE_TO_IS, - ACT_VM_IS_TO_IDLE, - ACT_VM_PRIMARYATTACK_IS, - ACT_VM_PRIMARYATTACK_IS_MP, - ACT_VM_PRIMARYATTACK_LASTROUND_IS_MP, - ACT_VM_SECONDARYATTACK_IS, - ACT_CROSSBOW_HOLSTER_UNLOADED, - ACT_CROSSBOW_BOLT_BACK, - ACT_CROSSBOW_BOLT_BACK_UNLOADED, - ACT_CROSSBOW_IDLE_TO_IS_UNLOADED, - ACT_CROSSBOW_IS_TO_IDLE_UNLOADED, - ACT_VM_OVERCHARGE, - ACT_IDLE_SHOTGUN, - ACT_MP_GESTURE_RANGE_ATTACK, - ACT_MP_GESTURE_RELOAD, - ACT_BMMP_JUMP_GLOCK, - ACT_BMMP_JUMP_357, - ACT_BMMP_JUMP_SHOTGUN, - ACT_BMMP_JUMP_MP5, - ACT_BMMP_JUMP_HIVEHAND, - ACT_BMMP_JUMP_TAU, - ACT_BMMP_JUMP_GLUON, - ACT_BMMP_JUMP_GRENADE, - ACT_BMMP_JUMP_RPG, - ACT_BMMP_JUMP_CROSSBOW, - ACT_BMMP_JUMP_CROWBAR, - ACT_BMMP_JUMP_SATCHEL, - ACT_BMMP_JUMP_TRIPMINE, - ACT_BMMP_JUMP_SNARK, - ACT_BMMP_JUMP_LAND, - ACT_BMMP_JUMP_START_GLOCK, - ACT_BMMP_JUMP_START_357, - ACT_BMMP_JUMP_START_SHOTGUN, - ACT_BMMP_JUMP_START_MP5, - ACT_BMMP_JUMP_START_HIVEHAND, - ACT_BMMP_JUMP_START_TAU, - ACT_BMMP_JUMP_START_GLUON, - ACT_BMMP_JUMP_START_GRENADE, - ACT_BMMP_JUMP_START_RPG, - ACT_BMMP_JUMP_START_CROSSBOW, - ACT_BMMP_JUMP_START_CROWBAR, - ACT_BMMP_JUMP_START_SATCHEL, - ACT_BMMP_JUMP_START_TRIPMINE, - ACT_BMMP_JUMP_START_SNARK, - ACT_BMMP_JUMP_FLOAT_GLOCK, - ACT_BMMP_JUMP_FLOAT_357, - ACT_BMMP_JUMP_FLOAT_SHOTGUN, - ACT_BMMP_JUMP_FLOAT_MP5, - ACT_BMMP_JUMP_FLOAT_HIVEHAND, - ACT_BMMP_JUMP_FLOAT_TAU, - ACT_BMMP_JUMP_FLOAT_GLUON, - ACT_BMMP_JUMP_FLOAT_GRENADE, - ACT_BMMP_JUMP_FLOAT_RPG, - ACT_BMMP_JUMP_FLOAT_CROSSBOW, - ACT_BMMP_JUMP_FLOAT_CROWBAR, - ACT_BMMP_JUMP_FLOAT_SATCHEL, - ACT_BMMP_JUMP_FLOAT_TRIPMINE, - ACT_BMMP_JUMP_FLOAT_SNARK, - ACT_BMMP_SWIM_GLOCK, - ACT_BMMP_SWIM_357, - ACT_BMMP_SWIM_SHOTGUN, - ACT_BMMP_SWIM_MP5, - ACT_BMMP_SWIM_HIVEHAND, - ACT_BMMP_SWIM_TAU, - ACT_BMMP_SWIM_GLUON, - ACT_BMMP_SWIM_GRENADE, - ACT_BMMP_SWIM_RPG, - ACT_BMMP_SWIM_CROSSBOW, - ACT_BMMP_SWIM_CROWBAR, - ACT_BMMP_SWIM_SATCHEL, - ACT_BMMP_SWIM_TRIPMINE, - ACT_BMMP_SWIM_SNARK, - ACT_BMMP_IDLE_GLOCK, - ACT_BMMP_IDLE_357, - ACT_BMMP_IDLE_SHOTGUN, - ACT_BMMP_IDLE_MP5, - ACT_BMMP_IDLE_HIVEHAND, - ACT_BMMP_IDLE_TAU, - ACT_BMMP_IDLE_GLUON, - ACT_BMMP_IDLE_GRENADE, - ACT_BMMP_IDLE_RPG, - ACT_BMMP_IDLE_CROSSBOW, - ACT_BMMP_IDLE_CROWBAR, - ACT_BMMP_IDLE_SATCHEL, - ACT_BMMP_IDLE_TRIPMINE, - ACT_BMMP_IDLE_SNARK, - ACT_BMMP_IDLE_CROUCH_GLOCK, - ACT_BMMP_IDLE_CROUCH_357, - ACT_BMMP_IDLE_CROUCH_SHOTGUN, - ACT_BMMP_IDLE_CROUCH_MP5, - ACT_BMMP_IDLE_CROUCH_HIVEHAND, - ACT_BMMP_IDLE_CROUCH_TAU, - ACT_BMMP_IDLE_CROUCH_GLUON, - ACT_BMMP_IDLE_CROUCH_GRENADE, - ACT_BMMP_IDLE_CROUCH_RPG, - ACT_BMMP_IDLE_CROUCH_CROSSBOW, - ACT_BMMP_IDLE_CROUCH_CROWBAR, - ACT_BMMP_IDLE_CROUCH_SATCHEL, - ACT_BMMP_IDLE_CROUCH_TRIPMINE, - ACT_BMMP_IDLE_CROUCH_SNARK, - ACT_BMMP_WALK_CROUCH_GLOCK, - ACT_BMMP_WALK_CROUCH_357, - ACT_BMMP_WALK_CROUCH_SHOTGUN, - ACT_BMMP_WALK_CROUCH_MP5, - ACT_BMMP_WALK_CROUCH_HIVEHAND, - ACT_BMMP_WALK_CROUCH_TAU, - ACT_BMMP_WALK_CROUCH_GLUON, - ACT_BMMP_WALK_CROUCH_GRENADE, - ACT_BMMP_WALK_CROUCH_RPG, - ACT_BMMP_WALK_CROUCH_CROSSBOW, - ACT_BMMP_WALK_CROUCH_CROWBAR, - ACT_BMMP_WALK_CROUCH_SATCHEL, - ACT_BMMP_WALK_CROUCH_TRIPMINE, - ACT_BMMP_WALK_CROUCH_SNARK, - ACT_BMMP_RUN_GLOCK, - ACT_BMMP_RUN_357, - ACT_BMMP_RUN_SHOTGUN, - ACT_BMMP_RUN_MP5, - ACT_BMMP_RUN_HIVEHAND, - ACT_BMMP_RUN_TAU, - ACT_BMMP_RUN_GLUON, - ACT_BMMP_RUN_GRENADE, - ACT_BMMP_RUN_RPG, - ACT_BMMP_RUN_CROSSBOW, - ACT_BMMP_RUN_CROWBAR, - ACT_BMMP_RUN_SATCHEL, - ACT_BMMP_RUN_TRIPMINE, - ACT_BMMP_RUN_SNARK, - ACT_BMMP_GESTURE_RANGE_ATTACK_GLOCK, - ACT_BMMP_GESTURE_RANGE_ATTACK_357, - ACT_BMMP_GESTURE_RANGE_ATTACK_SHOTGUN, - ACT_BMMP_GESTURE_RANGE_ATTACK_MP5, - ACT_BMMP_GESTURE_RANGE_ATTACK_HIVEHAND, - ACT_BMMP_GESTURE_RANGE_ATTACK_TAU, - ACT_BMMP_GESTURE_RANGE_ATTACK_GLUON, - ACT_BMMP_GESTURE_RANGE_ATTACK_GRENADE, - ACT_BMMP_GESTURE_RANGE_ATTACK_RPG, - ACT_BMMP_GESTURE_RANGE_ATTACK_CROSSBOW, - ACT_BMMP_GESTURE_RANGE_ATTACK_CROWBAR, - ACT_BMMP_GESTURE_RANGE_ATTACK_SATCHEL, - ACT_BMMP_GESTURE_RANGE_ATTACK_SNARK, - ACT_BMMP_GESTURE_RELOAD_GLOCK, - ACT_BMMP_GESTURE_RELOAD_357, - ACT_BMMP_GESTURE_RELOAD_SHOTGUN, - ACT_BMMP_GESTURE_RELOAD_MP5, - ACT_BMMP_GESTURE_RELOAD_CROSSBOW, - ACT_BMMP_GESTURE_RELOAD_RPG, - ACT_ENGINEER_REVOLVER_DRAW, - ACT_ENGINEER_REVOLVER_IDLE, - ACT_ENGINEER_REVOLVER_PRIMARYATTACK, - ACT_ENGINEER_REVOLVER_RELOAD, - ACT_KART_IDLE, - ACT_KART_ACTION_SHOOT, - ACT_KART_ACTION_DASH, - ACT_KART_JUMP_START, - ACT_KART_JUMP_FLOAT, - ACT_KART_JUMP_LAND, - ACT_KART_IMPACT, - ACT_KART_IMPACT_BIG, - ACT_KART_GESTURE_POSITIVE, - ACT_KART_GESTURE_NEGATIVE, - ACT_GRAPPLE_DRAW, - ACT_GRAPPLE_IDLE, - ACT_GRAPPLE_FIRE_START, - ACT_GRAPPLE_FIRE_IDLE, - ACT_GRAPPLE_PULL_START, - ACT_GRAPPLE_PULL_IDLE, - ACT_GRAPPLE_PULL_END, - ACT_PRIMARY_VM_INSPECT_START, - ACT_PRIMARY_VM_INSPECT_IDLE, - ACT_PRIMARY_VM_INSPECT_END, - ACT_SECONDARY_VM_INSPECT_START, - ACT_SECONDARY_VM_INSPECT_IDLE, - ACT_SECONDARY_VM_INSPECT_END, - ACT_MELEE_VM_INSPECT_START, - ACT_MELEE_VM_INSPECT_IDLE, - ACT_MELEE_VM_INSPECT_END, - ACT_BALL_VM_CATCH, - ACT_BALL_VM_PICKUP, - ACT_BALL_VM_IDLE, - ACT_BALL_VM_THROW_START, - ACT_BALL_VM_THROW_LOOP, - ACT_BALL_VM_THROW_END, - ACT_MP_COMPETITIVE_LOSERSTATE, - ACT_MP_COMPETITIVE_WINNERSTATE, - ACT_SECONDARY_VM_ALTATTACK, - ACT_MP_PUSH_STAND_SECONDARY, - ACT_MP_PUSH_CROUCH_SECONDARY, - ACT_MP_PUSH_SWIM_SECONDARY, - ACT_CACTUS_FLINCH } \ No newline at end of file diff --git a/scripting/include/srccoop/typedef_game.inc b/scripting/include/srccoop/typedef_game.inc new file mode 100644 index 00000000..56240b55 --- /dev/null +++ b/scripting/include/srccoop/typedef_game.inc @@ -0,0 +1,2911 @@ +#if defined _srccoop_typedef_game_included + #endinput +#endif +#define _srccoop_typedef_game_included + +//------------------------------------------------------ +// Base definitions +//------------------------------------------------------ +#define MAX_WEAPONS 48 +#define MAX_AMMO_TYPES 32 +#define MAX_MAPNAME 32 +#define MAX_CLASSNAME 48 + +#define vec3_origin {0.0, 0.0, 0.0} + +#define VEC_HULL_MIN {-16.0, -16.0, 0.0} +#define VEC_HULL_MAX {16.0, 16.0, 72.0} +#define VEC_VIEW {0.0, 0.0, 64.0} +#define VEC_DUCK_HULL_MIN {-16.0, -16.0, 0.0} +#define VEC_DUCK_HULL_MAX {16.0, 16.0, 36.0} +#define VEC_DUCK_VIEW {0.0, 0.0, 28.0} + +#define TICK_INTERVAL (GetTickInterval()) +#define TIME_TO_TICKS(%1) (RoundToFloor(0.5 + (%1) / TICK_INTERVAL)) +#define TICKS_TO_TIME(%1) ( TICK_INTERVAL *(%1) ) +#define ROUND_TO_TICKS(%1) ( TICK_INTERVAL * TIME_TO_TICKS(%1) ) + +//------------------------------------------------------ +// Gamerules gamestates +//------------------------------------------------------ +#define STATE_WARMUP "m_StateWarmup" +#define STATE_ROUND "m_StateRound" +#define STATE_INTERMISSION "m_StateIntermission" + +enum +{ + STATE_WARMUP_INDEX = 0, + STATE_INTERMISSION_INDEX, + STATE_ROUND_INDEX +} + +enum +{ + STATE_ELEMENT_DONE_TIME = 0, + STATE_ELEMENT_NEXT_STATE, + STATE_ELEMENT_IS_IN_INTERMISSION +} + +//------------------------------------------------------ +// Spawnflags +//------------------------------------------------------ +#define SF_SNIPERTARGET_NOINTERRUPT 2 + +#define SF_INFOPLAYERSTART_MASTER 1 + +#define SF_NORESPAWN ( 1 << 30 ) // if set, item wont respawn in MP + +#define SF_AUTO_FIREONCE 0x01 +#define SF_REMOVE_ON_FIRE 0x001 // Relay will remove itself after being triggered. + +#define SF_CHANGELEVEL_NOTOUCH 0x0002 + +#define SF_PLAYER_EQUIP_STRIP_WEAPONS 2 +#define SF_PLAYER_EQUIP_STRIP_SUIT 4 + +#define SF_MESSAGE_ALL 0x0002 + +// Phys prop spawnflags +#define SF_PHYSPROP_START_ASLEEP 0x000001 +#define SF_PHYSPROP_DONT_TAKE_PHYSICS_DAMAGE 0x000002 // this prop can't be damaged by physics collisions +#define SF_PHYSPROP_DEBRIS 0x000004 +#define SF_PHYSPROP_MOTIONDISABLED 0x000008 // motion disabled at startup (flag only valid in spawn - motion can be enabled via input) +#define SF_PHYSPROP_TOUCH 0x000010 // can be 'crashed through' by running player (plate glass) +#define SF_PHYSPROP_PRESSURE 0x000020 // can be broken by a player standing on it +#define SF_PHYSPROP_ENABLE_ON_PHYSCANNON 0x000040 // enable motion only if the player grabs it with the physcannon +#define SF_PHYSPROP_NO_ROTORWASH_PUSH 0x000080 // The rotorwash doesn't push these +#define SF_PHYSPROP_ENABLE_PICKUP_OUTPUT 0x000100 // If set, allow the player to +USE this for the purposes of generating an output +#define SF_PHYSPROP_PREVENT_PICKUP 0x000200 // If set, prevent +USE/Physcannon pickup of this prop +#define SF_PHYSPROP_PREVENT_PLAYER_TOUCH_ENABLE 0x000400 // If set, the player will not cause the object to enable its motion when bumped into +#define SF_PHYSPROP_HAS_ATTACHED_RAGDOLLS 0x000800 // Need to remove attached ragdolls on enable motion/etc +#define SF_PHYSPROP_FORCE_TOUCH_TRIGGERS 0x001000 // Override normal debris behavior and respond to triggers anyway +#define SF_PHYSPROP_FORCE_SERVER_SIDE 0x002000 // Force multiplayer physics object to be serverside +#define SF_PHYSPROP_RADIUS_PICKUP 0x004000 // For Xbox, makes small objects easier to pick up by allowing them to be found +#define SF_PHYSPROP_ALWAYS_PICK_UP 0x100000 // Physcannon can always pick this up, no matter what mass or constraints may apply. +#define SF_PHYSPROP_NO_COLLISIONS 0x200000 // Don't enable collisions on spawn +#define SF_PHYSPROP_IS_GIB 0x400000 // Limit # of active gibs + +// Physbox spawnflags +#define SF_PHYSBOX_ASLEEP 0x01000 +#define SF_PHYSBOX_IGNOREUSE 0x02000 +#define SF_PHYSBOX_DEBRIS 0x04000 +#define SF_PHYSBOX_MOTIONDISABLED 0x08000 +#define SF_PHYSBOX_USEPREFERRED 0x10000 +#define SF_PHYSBOX_ENABLE_ON_PHYSCANNON 0x20000 +#define SF_PHYSBOX_NO_ROTORWASH_PUSH 0x40000 // The rotorwash doesn't push these +#define SF_PHYSBOX_ENABLE_PICKUP_OUTPUT 0x80000 +#define SF_PHYSBOX_ALWAYS_PICK_UP 0x100000 // Physcannon can always pick this up, no matter what mass or constraints may apply. +#define SF_PHYSBOX_NEVER_PICK_UP 0x200000 // Physcannon will never be able to pick this up. +#define SF_PHYSBOX_NEVER_PUNT 0x400000 // Physcannon will never be able to punt this object. +#define SF_PHYSBOX_PREVENT_PLAYER_TOUCH_ENABLE 0x800000 // If set, the player will not cause the object to enable its motion when bumped into + +//------------------------------------------------------ +// Effects flags +//------------------------------------------------------ +#define EF_NODRAW 32 + +//------------------------------------------------------ +// Settings for m_takedamage +//------------------------------------------------------ +#define DAMAGE_NO 0 +#define DAMAGE_EVENTS_ONLY 1 // Call damage functions, but don't modify health +#define DAMAGE_YES 2 +#define DAMAGE_AIM 3 + +//------------------------------------------------------ +// Screen Fade flags +//------------------------------------------------------ +#define FFADE_IN 0x0001 // Just here so we don't pass 0 into the function +#define FFADE_OUT 0x0002 // Fade out (not in) +#define FFADE_MODULATE 0x0004 // Modulate (don't blend) +#define FFADE_STAYOUT 0x0008 // ignores the duration, stays faded out until new ScreenFade message received +#define FFADE_PURGE 0x0010 // Purges all other fades, replacing them with this one + +//------------------------------------------------------ +// These are caps bits to indicate what an object's capabilities (currently used for +USE, save/restore and level transitions) +//------------------------------------------------------ +#define FCAP_MUST_SPAWN 0x00000001 // Spawn after restore +#define FCAP_ACROSS_TRANSITION 0x00000002 // should transfer between transitions +// UNDONE: This will ignore transition volumes (trigger_transition), but not the PVS!!! +#define FCAP_FORCE_TRANSITION 0x00000004 // ALWAYS goes across transitions +#define FCAP_NOTIFY_ON_TRANSITION 0x00000008 // Entity will receive Inside/Outside transition inputs when a transition occurs + +#define FCAP_IMPULSE_USE 0x00000010 // can be used by the player +#define FCAP_CONTINUOUS_USE 0x00000020 // can be used by the player +#define FCAP_ONOFF_USE 0x00000040 // can be used by the player +#define FCAP_DIRECTIONAL_USE 0x00000080 // Player sends +/- 1 when using (currently only tracktrains) +// NOTE: Normally +USE only works in direct line of sight. Add these caps for additional searches +#define FCAP_USE_ONGROUND 0x00000100 +#define FCAP_USE_IN_RADIUS 0x00000200 +#define FCAP_SAVE_NON_NETWORKABLE 0x00000400 + +#define FCAP_MASTER 0x10000000 // Can be used to "master" other entities (like multisource) +#define FCAP_WCEDIT_POSITION 0x40000000 // Can change position and update Hammer in edit mode +#define FCAP_DONT_SAVE 0x80000000 // Don't save this + +enum GLOBALESTATE +{ + GLOBAL_OFF = 0, + GLOBAL_ON = 1, + GLOBAL_DEAD = 2 +}; + +enum +{ + TEAM_ANY = -2, + TEAM_INVALID = -1, + TEAM_UNASSIGNED = 0, + TEAM_SPECTATOR = 1, + TEAM_MARINES = 2, + TEAM_SCIENTIST = 3, +} + +enum +{ + AMMO_INVALID = 0, + AMMO_9MM = 1, + AMMO_357 = 2, + AMMO_BOLTS = 3, + AMMO_SHELLS = 4, + AMMO_ENERGY = 5, + AMMO_MP5NADE = 6, + AMMO_ROCKETS = 7, + AMMO_NADES = 8, + AMMO_SATCHELS = 9, + AMMO_TRIPMINES = 10, + AMMO_HIVEGUN = 11, + AMMO_SNARKS = 12, + // non-equippable ammo types: + AMMO_50CAL = 13, + AMMO_SENTRY = 14, + AMMO_SNIPERROUND = 15, + AMMO_SNIPERPENETRATEDROUND = 16 +} + +enum Obs_Mode +{ + OBS_MODE_NONE = 0, // not in spectator mode + OBS_MODE_DEATHCAM, // special mode for death cam animation + OBS_MODE_FREEZECAM, // zooms to a target, and freeze-frames on them + OBS_MODE_FIXED, // view from a fixed camera position + OBS_MODE_IN_EYE, // follow a player in first person view + OBS_MODE_CHASE, // follow a player in third person view + OBS_MODE_ROAMING, // free roaming + + NUM_OBSERVER_MODES +}; + +enum +{ + USE_OFF, + USE_ON, + USE_SET, + USE_TOGGLE +}; + +// ToDo: Need to find all values for BMS +enum Class_T +{ + CLASS_PLAYER = 3 +}; + +enum Disposition_t +{ + D_ER, // Undefined - error + D_HT, // Hate + D_FR, // Fear + D_LI, // Like + D_NU // Neutral +}; + +enum AI_SleepState_t +{ + AISS_AWAKE, + AISS_WAITING_FOR_THREAT, + AISS_WAITING_FOR_PVS, + AISS_WAITING_FOR_INPUT, + AISS_AUTO_PVS, + AISS_AUTO_PVS_AFTER_PVS, // Same as AUTO_PVS, except doesn't activate until/unless the NPC is IN the player's PVS. +}; + +enum SCOND_t +{ + COND_NONE, // A way for a function to return no condition to get + + COND_IN_PVS, + COND_IDLE_INTERRUPT, // The schedule in question is a low priority idle, and therefore a candidate for translation into something else + + COND_LOW_PRIMARY_AMMO, + COND_NO_PRIMARY_AMMO, + COND_NO_SECONDARY_AMMO, + COND_NO_WEAPON, + COND_SEE_HATE, + COND_SEE_FEAR, + COND_SEE_DISLIKE, + COND_SEE_ENEMY, + COND_LOST_ENEMY, + COND_ENEMY_WENT_NULL, // What most people think COND_LOST_ENEMY is: This condition is set in the edge case where you had an enemy last think, but don't have one this think. + COND_ENEMY_OCCLUDED, // Can't see m_hEnemy + COND_TARGET_OCCLUDED, // Can't see m_hTargetEnt + COND_HAVE_ENEMY_LOS, + COND_HAVE_TARGET_LOS, + COND_LIGHT_DAMAGE, + COND_HEAVY_DAMAGE, + COND_PHYSICS_DAMAGE, + COND_REPEATED_DAMAGE, // Damaged several times in a row + + COND_CAN_RANGE_ATTACK1, // Hitscan weapon only + COND_CAN_RANGE_ATTACK2, // Grenade weapon only + COND_CAN_MELEE_ATTACK1, + COND_CAN_MELEE_ATTACK2, + + COND_PROVOKED, + COND_NEW_ENEMY, + + COND_ENEMY_TOO_FAR, // Can we get rid of this one!?!? + COND_ENEMY_FACING_ME, + COND_BEHIND_ENEMY, + COND_ENEMY_DEAD, + COND_ENEMY_UNREACHABLE, // Not connected to me via node graph + + COND_SEE_PLAYER, + COND_LOST_PLAYER, + COND_SEE_NEMESIS, + COND_TASK_FAILED, + COND_SCHEDULE_DONE, + COND_SMELL, + COND_TOO_CLOSE_TO_ATTACK, // FIXME: most of this next group are meaningless since they're shared between all attack checks! + COND_TOO_FAR_TO_ATTACK, + COND_NOT_FACING_ATTACK, + COND_WEAPON_HAS_LOS, + COND_WEAPON_BLOCKED_BY_FRIEND, // Friend between weapon and target + COND_WEAPON_PLAYER_IN_SPREAD, // Player in shooting direction + COND_WEAPON_PLAYER_NEAR_TARGET, // Player near shooting position + COND_WEAPON_SIGHT_OCCLUDED, + COND_BETTER_WEAPON_AVAILABLE, + COND_HEALTH_ITEM_AVAILABLE, // There's a healthkit available. + COND_GIVE_WAY, // Another npc requested that I give way + COND_WAY_CLEAR, // I no longer have to give way + COND_HEAR_DANGER, + COND_HEAR_THUMPER, + COND_HEAR_BUGBAIT, + COND_HEAR_COMBAT, + COND_HEAR_WORLD, + COND_HEAR_PLAYER, + COND_HEAR_BULLET_IMPACT, + COND_HEAR_PHYSICS_DANGER, + COND_HEAR_MOVE_AWAY, + COND_HEAR_SPOOKY, // Zombies make this when Alyx is in darkness mode + + COND_NO_HEAR_DANGER, // Since we can't use ~CONDITION. Mutually exclusive with COND_HEAR_DANGER + + COND_FLOATING_OFF_GROUND, + + COND_MOBBED_BY_ENEMIES, // Surrounded by a large number of enemies melee attacking me. (Zombies or Antlions, usually). + + // Commander stuff + COND_RECEIVED_ORDERS, + COND_PLAYER_ADDED_TO_SQUAD, + COND_PLAYER_REMOVED_FROM_SQUAD, + + COND_PLAYER_PUSHING, + COND_NPC_FREEZE, // We received an npc_freeze command while we were unfrozen + COND_NPC_UNFREEZE, // We received an npc_freeze command while we were frozen + + // This is a talker condition, but done here because we need to handle it in base AI + // due to it's interaction with behaviors. + COND_TALKER_RESPOND_TO_QUESTION, + + COND_NO_CUSTOM_INTERRUPTS, // Don't call BuildScheduleTestBits for this schedule. Used for schedules that must strictly control their interruptibility. + + // ====================================== + // IMPORTANT: This must be the last enum + // ====================================== + LAST_SHARED_CONDITION +}; + +enum //Sniper_Conds +{ + COND_SNIPER_CANATTACKDECOY = LAST_SHARED_CONDITION, + COND_SNIPER_SUPPRESSED, + COND_SNIPER_ENABLED, + COND_SNIPER_DISABLED, + COND_SNIPER_FRUSTRATED, + COND_SNIPER_SWEEP_TARGET, + COND_SNIPER_NO_SHOT, +}; + +// ======================================= +// Movement goals +// Used both to store the current movment goal in m_routeGoalType and to or/and with route +// ======================================= +enum //GoalType_t +{ + GOALTYPE_NONE, + GOALTYPE_TARGETENT, + GOALTYPE_ENEMY, + GOALTYPE_PATHCORNER, + GOALTYPE_LOCATION, + GOALTYPE_LOCATION_NEAREST_NODE, + GOALTYPE_FLANK, + GOALTYPE_COVER, + + GOALTYPE_INVALID +}; + +//========================================================= +// These are the schedule types +//========================================================= +enum +{ + SCHED_NONE = 0, + SCHED_IDLE_STAND, + SCHED_IDLE_WALK, + SCHED_IDLE_WANDER, + SCHED_WAKE_ANGRY, + SCHED_ALERT_FACE, + SCHED_ALERT_FACE_BESTSOUND, + SCHED_ALERT_REACT_TO_COMBAT_SOUND, + SCHED_ALERT_SCAN, + SCHED_ALERT_STAND, + SCHED_ALERT_WALK, + SCHED_INVESTIGATE_SOUND, + SCHED_COMBAT_FACE, + SCHED_COMBAT_SWEEP, + SCHED_FEAR_FACE, + SCHED_COMBAT_STAND, + SCHED_COMBAT_WALK, + SCHED_CHASE_ENEMY, + SCHED_CHASE_ENEMY_FAILED, + SCHED_VICTORY_DANCE, + SCHED_TARGET_FACE, + SCHED_TARGET_CHASE, + SCHED_SMALL_FLINCH, + SCHED_BIG_FLINCH, + SCHED_BACK_AWAY_FROM_ENEMY, + SCHED_MOVE_AWAY_FROM_ENEMY, + SCHED_BACK_AWAY_FROM_SAVE_POSITION, + SCHED_TAKE_COVER_FROM_ENEMY, + SCHED_TAKE_COVER_FROM_BEST_SOUND, + SCHED_FLEE_FROM_BEST_SOUND, + SCHED_TAKE_COVER_FROM_ORIGIN, + SCHED_FAIL_TAKE_COVER, + SCHED_RUN_FROM_ENEMY, + SCHED_RUN_FROM_ENEMY_FALLBACK, + SCHED_MOVE_TO_WEAPON_RANGE, + SCHED_ESTABLISH_LINE_OF_FIRE, + SCHED_ESTABLISH_LINE_OF_FIRE_FALLBACK, + SCHED_PRE_FAIL_ESTABLISH_LINE_OF_FIRE, + SCHED_FAIL_ESTABLISH_LINE_OF_FIRE, + SCHED_SHOOT_ENEMY_COVER, + SCHED_COWER, // usually a last resort! + SCHED_MELEE_ATTACK1, + SCHED_MELEE_ATTACK2, + SCHED_RANGE_ATTACK1, + SCHED_RANGE_ATTACK2, + SCHED_SPECIAL_ATTACK1, + SCHED_SPECIAL_ATTACK2, + SCHED_STANDOFF, + SCHED_ARM_WEAPON, + SCHED_DISARM_WEAPON, + SCHED_HIDE_AND_RELOAD, + SCHED_RELOAD, + SCHED_AMBUSH, + SCHED_DIE, + SCHED_DIE_RAGDOLL, + SCHED_WAIT_FOR_SCRIPT, + SCHED_AISCRIPT, + SCHED_SCRIPTED_WALK, + SCHED_SCRIPTED_RUN, + SCHED_SCRIPTED_CUSTOM_MOVE, + SCHED_SCRIPTED_WAIT, + SCHED_SCRIPTED_FACE, + SCHED_SCENE_GENERIC, + SCHED_NEW_WEAPON, + SCHED_NEW_WEAPON_CHEAT, + SCHED_SWITCH_TO_PENDING_WEAPON, + SCHED_GET_HEALTHKIT, + SCHED_WAIT_FOR_SPEAK_FINISH, + + SCHED_MOVE_AWAY, + SCHED_MOVE_AWAY_FAIL, + SCHED_MOVE_AWAY_END, + SCHED_FORCED_GO, + SCHED_FORCED_GO_RUN, + SCHED_NPC_FREEZE, + SCHED_PATROL_WALK, + SCHED_COMBAT_PATROL, + SCHED_PATROL_RUN, + SCHED_RUN_RANDOM, + SCHED_FALL_TO_GROUND, + SCHED_DROPSHIP_DUSTOFF, + + SCHED_FLINCH_PHYSICS, + + SCHED_FAIL, + SCHED_FAIL_NOSTOP, + + SCHED_RUN_FROM_ENEMY_MOB, + + SCHED_DUCK_DODGE, + + SCHED_INTERACTION_MOVE_TO_PARTNER, + SCHED_INTERACTION_WAIT_FOR_PARTNER, + + SCHED_SLEEP, + + // ====================================== + // IMPORTANT: This must be the last enum + // ====================================== + LAST_SHARED_SCHEDULE + +}; + +enum +{ + SCHED_PSNIPER_SCAN = LAST_SHARED_SCHEDULE, + SCHED_PSNIPER_CAMP, + SCHED_PSNIPER_ATTACK, + SCHED_PSNIPER_RELOAD, + SCHED_PSNIPER_ATTACKDECOY, + SCHED_PSNIPER_SUPPRESSED, + SCHED_PSNIPER_DISABLEDWAIT, + SCHED_PSNIPER_FRUSTRATED_ATTACK, + SCHED_PSNIPER_SWEEP_TARGET, + SCHED_PSNIPER_SWEEP_TARGET_NOINTERRUPT, + SCHED_PSNIPER_SNAPATTACK, + SCHED_PSNIPER_NO_CLEAR_SHOT, + SCHED_PSNIPER_PLAYER_DEAD, +}; + +enum +{ + COLLISION_GROUP_NONE = 0, + COLLISION_GROUP_DEBRIS, // Collides with nothing but world and static stuff + COLLISION_GROUP_DEBRIS_TRIGGER, // Same as debris, but hits triggers + COLLISION_GROUP_INTERACTIVE_DEBRIS, // Collides with everything except other interactive debris or debris + COLLISION_GROUP_INTERACTIVE, // Collides with everything except interactive debris or debris + COLLISION_GROUP_PLAYER, + COLLISION_GROUP_BREAKABLE_GLASS, + COLLISION_GROUP_VEHICLE, + COLLISION_GROUP_PLAYER_MOVEMENT, // For HL2, same as Collision_Group_Player + + COLLISION_GROUP_NPC, // Generic NPC group + COLLISION_GROUP_IN_VEHICLE, // for any entity inside a vehicle + COLLISION_GROUP_WEAPON, // for any weapons that need collision detection + COLLISION_GROUP_VEHICLE_CLIP, // vehicle clip brush to restrict vehicle movement + COLLISION_GROUP_PROJECTILE, // Projectiles! + COLLISION_GROUP_DOOR_BLOCKER, // Blocks entities not permitted to get near moving doors + COLLISION_GROUP_PASSABLE_DOOR, // Doors that the player shouldn't collide with + COLLISION_GROUP_DISSOLVING, // Things that are dissolving are in this group + COLLISION_GROUP_PUSHAWAY, // Nonsolid on client and server, pushaway in player code + + COLLISION_GROUP_NPC_ACTOR, // Used so NPCs in scripts ignore the player. +} + +enum SolidType_t +{ + SOLID_NONE = 0, // no solid model + SOLID_BSP = 1, // a BSP tree + SOLID_BBOX = 2, // an AABB + SOLID_OBB = 3, // an OBB (not implemented yet) + SOLID_OBB_YAW = 4, // an OBB, constrained so that it can only yaw + SOLID_CUSTOM = 5, // Always call into the entity for tests + SOLID_VPHYSICS = 6, // solid vphysics object, get vcollide from the model and collide with that + SOLID_LAST, +}; + +enum //SolidFlags_t +{ + FSOLID_CUSTOMRAYTEST = 0x0001, // Ignore solid type + always call into the entity for ray tests + FSOLID_CUSTOMBOXTEST = 0x0002, // Ignore solid type + always call into the entity for swept box tests + FSOLID_NOT_SOLID = 0x0004, // Are we currently not solid? + FSOLID_TRIGGER = 0x0008, // This is something may be collideable but fires touch functions + + // even when it's not collideable (when the FSOLID_NOT_SOLID flag is set) + FSOLID_NOT_STANDABLE = 0x0010, // You can't stand on this + FSOLID_VOLUME_CONTENTS = 0x0020, // Contains volumetric contents (like water) + FSOLID_FORCE_WORLD_ALIGNED = 0x0040, // Forces the collision rep to be world-aligned even if it's SOLID_BSP or SOLID_VPHYSICS + FSOLID_USE_TRIGGER_BOUNDS = 0x0080, // Uses a special trigger bounds separate from the normal OBB + FSOLID_ROOT_PARENT_ALIGNED = 0x0100, // Collisions are defined in root parent's local coordinate space + FSOLID_TRIGGER_TOUCH_DEBRIS = 0x0200, // This trigger will touch debris objects +}; + +enum fieldtype_t +{ + FIELD_VOID = 0, // No type or value + FIELD_FLOAT, // Any floating point value + FIELD_STRING, // A string ID (return from ALLOC_STRING) + FIELD_VECTOR, // Any vector, QAngle, or AngularImpulse + FIELD_QUATERNION, // A quaternion + FIELD_INTEGER, // Any integer or enum + FIELD_BOOLEAN, // boolean, implemented as an int, I may use this as a hint for compression + FIELD_SHORT, // 2 byte integer + FIELD_CHARACTER, // a byte + FIELD_COLOR32, // 8-bit per channel r,g,b,a (32bit color) + FIELD_EMBEDDED, // an embedded object with a datadesc, recursively traverse and embedded class/structure based on an additional typedescription + FIELD_CUSTOM, // special type that contains function pointers to it's read/write/parse functions + + FIELD_CLASSPTR, // CBaseEntity * + FIELD_EHANDLE, // Entity handle + FIELD_EDICT, // edict_t * + + FIELD_POSITION_VECTOR, // A world coordinate (these are fixed up across level transitions automagically) + FIELD_TIME, // a floating point time (these are fixed up automatically too!) + FIELD_TICK, // an integer tick count( fixed up similarly to time) + FIELD_MODELNAME, // Engine string that is a model name (needs precache) + FIELD_SOUNDNAME, // Engine string that is a sound name (needs precache) + + FIELD_INPUT, // a list of inputed data fields (all derived from CMultiInputVar) + FIELD_FUNCTION, // A class function pointer (Think, Use, etc) + + FIELD_VMATRIX, // a vmatrix (output coords are NOT worldspace) + + // NOTE: Use float arrays for local transformations that don't need to be fixed up. + FIELD_VMATRIX_WORLDSPACE,// A VMatrix that maps some local space to world space (translation is fixed up on level transitions) + FIELD_MATRIX3X4_WORLDSPACE, // matrix3x4_t that maps some local space to world space (translation is fixed up on level transitions) + + FIELD_INTERVAL, // a start and range floating point interval ( e.g., 3.2->3.6 == 3.2 and 0.4 ) + FIELD_MODELINDEX, // a model index + FIELD_MATERIALINDEX, // a material index (using the material precache string table) + + FIELD_VECTOR2D, // 2 floats + + FIELD_TYPECOUNT, // MUST BE LAST +}; + +//------------------------------------------------------ +// BMS specific activity list +//------------------------------------------------------ +enum +{ + ACT_INVALID = -1, // So we have something more succint to check for than '-1' + ACT_RESET = 0, // Set m_Activity to this invalid value to force a reset to m_IdealActivity + ACT_IDLE, + ACT_TRANSITION, + ACT_COVER, // FIXME: obsolete? redundant with ACT_COVER_LOW? + ACT_COVER_MED, // FIXME: unsupported? + ACT_COVER_LOW, // FIXME: rename ACT_IDLE_CROUCH? + ACT_WALK, + ACT_WALK_AIM, + ACT_WALK_CROUCH, + ACT_WALK_CROUCH_AIM, + ACT_RUN, + ACT_RUN_AIM, + ACT_RUN_CROUCH, + ACT_RUN_CROUCH_AIM, + ACT_RUN_PROTECTED, + ACT_SCRIPT_CUSTOM_MOVE, + ACT_RANGE_ATTACK1, + ACT_RANGE_ATTACK2, + ACT_RANGE_ATTACK1_LOW, // FIXME: not used yet, crouched versions of the range attack + ACT_RANGE_ATTACK2_LOW, // FIXME: not used yet, crouched versions of the range attack + ACT_DIESIMPLE, + ACT_DIEBACKWARD, + ACT_DIEFORWARD, + ACT_DIEVIOLENT, + ACT_DIERAGDOLL, + ACT_FLY, // Fly (and flap if appropriate) + ACT_HOVER, + ACT_GLIDE, + ACT_SWIM, + ACT_JUMP, + ACT_HOP, // vertical jump + ACT_LEAP, // long forward jump + ACT_LAND, + ACT_CLIMB_UP, + ACT_CLIMB_DOWN, + ACT_CLIMB_DISMOUNT, + ACT_SHIPLADDER_UP, + ACT_SHIPLADDER_DOWN, + ACT_STRAFE_LEFT, + ACT_STRAFE_RIGHT, + ACT_ROLL_LEFT, // tuck and roll, left + ACT_ROLL_RIGHT, // tuck and roll, right + ACT_TURN_LEFT, // turn quickly left (stationary) + ACT_TURN_RIGHT, // turn quickly right (stationary) + ACT_CROUCH, // FIXME: obsolete? only used be soldier (the act of crouching down from a standing position) + ACT_CROUCHIDLE, // FIXME: obsolete? only used be soldier (holding body in crouched position (loops)) + ACT_STAND, // FIXME: obsolete? should be transition (the act of standing from a crouched position) + ACT_USE, + ACT_SIGNAL1, + ACT_SIGNAL2, + ACT_SIGNAL3, + + ACT_SIGNAL_ADVANCE, // Squad handsignals, specific. + ACT_SIGNAL_FORWARD, + ACT_SIGNAL_GROUP, + ACT_SIGNAL_HALT, + ACT_SIGNAL_LEFT, + ACT_SIGNAL_RIGHT, + ACT_SIGNAL_TAKECOVER, + + ACT_LOOKBACK_RIGHT, // look back over shoulder without turning around. + ACT_LOOKBACK_LEFT, + ACT_COWER, // FIXME: unused, should be more extreme version of crouching + ACT_SMALL_FLINCH, // FIXME: needed? shouldn't flinching be down with overlays? + ACT_BIG_FLINCH, + ACT_MELEE_ATTACK1, + ACT_MELEE_ATTACK2, + ACT_RELOAD, + ACT_RELOAD_START, + ACT_RELOAD_FINISH, + ACT_RELOAD_LOW, + ACT_ARM, // pull out gun, for instance + ACT_DISARM, // reholster gun + ACT_DROP_WEAPON, + ACT_DROP_WEAPON_SHOTGUN, + ACT_PICKUP_GROUND, // pick up something in front of you on the ground + ACT_PICKUP_RACK, // pick up something from a rack or shelf in front of you. + ACT_IDLE_ANGRY, // FIXME: being used as an combat ready idle? alternate idle animation in which the monster is clearly agitated. (loop) + + ACT_IDLE_RELAXED, + ACT_IDLE_STIMULATED, + ACT_IDLE_AGITATED, + ACT_IDLE_STEALTH, + ACT_IDLE_HURT, + + ACT_WALK_RELAXED, + ACT_WALK_STIMULATED, + ACT_WALK_AGITATED, + ACT_WALK_STEALTH, + + ACT_RUN_RELAXED, + ACT_RUN_STIMULATED, + ACT_RUN_AGITATED, + ACT_RUN_STEALTH, + + ACT_IDLE_AIM_RELAXED, + ACT_IDLE_AIM_STIMULATED, + ACT_IDLE_AIM_AGITATED, + ACT_IDLE_AIM_STEALTH, + + ACT_WALK_AIM_RELAXED, + ACT_WALK_AIM_STIMULATED, + ACT_WALK_AIM_AGITATED, + ACT_WALK_AIM_STEALTH, + + ACT_RUN_AIM_RELAXED, + ACT_RUN_AIM_STIMULATED, + ACT_RUN_AIM_AGITATED, + ACT_RUN_AIM_STEALTH, + + ACT_CROUCHIDLE_STIMULATED, + ACT_CROUCHIDLE_AIM_STIMULATED, + ACT_CROUCHIDLE_AGITATED, + + ACT_WALK_HURT, // limp (loop) + ACT_RUN_HURT, // limp (loop) + ACT_SPECIAL_ATTACK1, // very monster specific special attacks. + ACT_SPECIAL_ATTACK2, + ACT_COMBAT_IDLE, // FIXME: unused? agitated idle. + ACT_WALK_SCARED, + ACT_RUN_SCARED, + ACT_VICTORY_DANCE, // killed a player, do a victory dance. + ACT_DIE_HEADSHOT, // die, hit in head. + ACT_DIE_CHESTSHOT, // die, hit in chest + ACT_DIE_GUTSHOT, // die, hit in gut + ACT_DIE_BACKSHOT, // die, hit in back + ACT_FLINCH_HEAD, + ACT_FLINCH_CHEST, + ACT_FLINCH_STOMACH, + ACT_FLINCH_LEFTARM, + ACT_FLINCH_RIGHTARM, + ACT_FLINCH_LEFTLEG, + ACT_FLINCH_RIGHTLEG, + ACT_FLINCH_PHYSICS, + + ACT_IDLE_ON_FIRE, // ON FIRE animations + ACT_WALK_ON_FIRE, + ACT_RUN_ON_FIRE, + + ACT_RAPPEL_LOOP, // Rappel down a rope! + + ACT_180_LEFT, // 180 degree left turn + ACT_180_RIGHT, + + ACT_90_LEFT, // 90 degree turns + ACT_90_RIGHT, + + ACT_STEP_LEFT, // Single steps + ACT_STEP_RIGHT, + ACT_STEP_BACK, + ACT_STEP_FORE, + + ACT_GESTURE_RANGE_ATTACK1, + ACT_GESTURE_RANGE_ATTACK2, + ACT_GESTURE_MELEE_ATTACK1, + ACT_GESTURE_MELEE_ATTACK2, + ACT_GESTURE_RANGE_ATTACK1_LOW, // FIXME: not used yet, crouched versions of the range attack + ACT_GESTURE_RANGE_ATTACK2_LOW, // FIXME: not used yet, crouched versions of the range attack + + ACT_MELEE_ATTACK_SWING_GESTURE, + + ACT_GESTURE_SMALL_FLINCH, + ACT_GESTURE_BIG_FLINCH, + ACT_GESTURE_FLINCH_BLAST, // Startled by an explosion + ACT_GESTURE_FLINCH_BLAST_SHOTGUN, + ACT_GESTURE_FLINCH_BLAST_DAMAGED, // Damaged by an explosion + ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN, + ACT_GESTURE_FLINCH_HEAD, + ACT_GESTURE_FLINCH_CHEST, + ACT_GESTURE_FLINCH_STOMACH, + ACT_GESTURE_FLINCH_LEFTARM, + ACT_GESTURE_FLINCH_RIGHTARM, + ACT_GESTURE_FLINCH_LEFTLEG, + ACT_GESTURE_FLINCH_RIGHTLEG, + + ACT_GESTURE_TURN_LEFT, + ACT_GESTURE_TURN_RIGHT, + ACT_GESTURE_TURN_LEFT45, + ACT_GESTURE_TURN_RIGHT45, + ACT_GESTURE_TURN_LEFT90, + ACT_GESTURE_TURN_RIGHT90, + ACT_GESTURE_TURN_LEFT45_FLAT, + ACT_GESTURE_TURN_RIGHT45_FLAT, + ACT_GESTURE_TURN_LEFT90_FLAT, + ACT_GESTURE_TURN_RIGHT90_FLAT, + + // HALF-LIFE 1 compatability stuff goes here. Temporary! + ACT_BARNACLE_HIT, // barnacle tongue hits a monster + ACT_BARNACLE_PULL, // barnacle is lifting the monster ( loop ) + ACT_BARNACLE_CHOMP, // barnacle latches on to the monster + ACT_BARNACLE_CHEW, // barnacle is holding the monster in its mouth ( loop ) + + // Sometimes, you just want to set an NPC's sequence to a sequence that doesn't actually + // have an activity. The AI will reset the NPC's sequence to whatever its IDEAL activity + // is, though. So if you set ideal activity to DO_NOT_DISTURB, the AI will not interfere + // with the NPC's current sequence. (SJB) + ACT_DO_NOT_DISTURB, + + // viewmodel (weapon) activities + // FIXME: move these to the specific viewmodels, no need to make global + ACT_VM_DRAW, + ACT_VM_HOLSTER, + ACT_VM_IDLE, + ACT_VM_FIDGET, + ACT_VM_PULLBACK, + ACT_VM_PULLBACK_HIGH, + ACT_VM_PULLBACK_LOW, + ACT_VM_THROW, + ACT_VM_PULLPIN, + ACT_VM_PRIMARYATTACK, // fire + ACT_VM_SECONDARYATTACK, // alt. fire + ACT_VM_RELOAD, + ACT_VM_RELOAD_START, + ACT_VM_RELOAD_FINISH, + ACT_VM_DRYFIRE, // fire with no ammo loaded. + ACT_VM_HITLEFT, // bludgeon, swing to left - hit (primary attk) + ACT_VM_HITLEFT2, // bludgeon, swing to left - hit (secondary attk) + ACT_VM_HITRIGHT, // bludgeon, swing to right - hit (primary attk) + ACT_VM_HITRIGHT2, // bludgeon, swing to right - hit (secondary attk) + ACT_VM_HITCENTER, // bludgeon, swing center - hit (primary attk) + ACT_VM_HITCENTER2, // bludgeon, swing center - hit (secondary attk) + ACT_VM_MISSLEFT, // bludgeon, swing to left - miss (primary attk) + ACT_VM_MISSLEFT2, // bludgeon, swing to left - miss (secondary attk) + ACT_VM_MISSRIGHT, // bludgeon, swing to right - miss (primary attk) + ACT_VM_MISSRIGHT2, // bludgeon, swing to right - miss (secondary attk) + ACT_VM_MISSCENTER, // bludgeon, swing center - miss (primary attk) + ACT_VM_MISSCENTER2, // bludgeon, swing center - miss (secondary attk) + ACT_VM_HAULBACK, // bludgeon, haul the weapon back for a hard strike (secondary attk) + ACT_VM_SWINGHARD, // bludgeon, release the hard strike (secondary attk) + ACT_VM_SWINGMISS, + ACT_VM_SWINGHIT, + ACT_VM_IDLE_TO_LOWERED, + ACT_VM_IDLE_LOWERED, + ACT_VM_LOWERED_TO_IDLE, + ACT_VM_RECOIL1, + ACT_VM_RECOIL2, + ACT_VM_RECOIL3, + ACT_VM_PICKUP, + ACT_VM_RELEASE, + + ACT_VM_ATTACH_SILENCER, + ACT_VM_DETACH_SILENCER, + + // TF2 Scout Pack + ACT_VM_DRAW_SPECIAL, + ACT_VM_HOLSTER_SPECIAL, + ACT_VM_IDLE_SPECIAL, + ACT_VM_PULLBACK_SPECIAL, + ACT_VM_PRIMARYATTACK_SPECIAL, + ACT_VM_SECONDARYATTACK_SPECIAL, + ACT_VM_HITCENTER_SPECIAL, + ACT_VM_SWINGHARD_SPECIAL, + ACT_VM_IDLE_TO_LOWERED_SPECIAL, + ACT_VM_IDLE_LOWERED_SPECIAL, + ACT_VM_LOWERED_TO_IDLE_SPECIAL, + + ACT_FISTS_VM_HITLEFT, + ACT_FISTS_VM_HITRIGHT, + ACT_FISTS_VM_SWINGHARD, + ACT_FISTS_VM_IDLE, + ACT_FISTS_VM_DRAW, + +//=========================== +// HL2 Specific Activities +//=========================== + // SLAM Specialty Activities + ACT_SLAM_STICKWALL_IDLE, + ACT_SLAM_STICKWALL_ND_IDLE, + ACT_SLAM_STICKWALL_ATTACH, + ACT_SLAM_STICKWALL_ATTACH2, + ACT_SLAM_STICKWALL_ND_ATTACH, + ACT_SLAM_STICKWALL_ND_ATTACH2, + ACT_SLAM_STICKWALL_DETONATE, + ACT_SLAM_STICKWALL_DETONATOR_HOLSTER, + ACT_SLAM_STICKWALL_DRAW, + ACT_SLAM_STICKWALL_ND_DRAW, + ACT_SLAM_STICKWALL_TO_THROW, + ACT_SLAM_STICKWALL_TO_THROW_ND, + ACT_SLAM_STICKWALL_TO_TRIPMINE_ND, + ACT_SLAM_THROW_IDLE, + ACT_SLAM_THROW_ND_IDLE, + ACT_SLAM_THROW_THROW, + ACT_SLAM_THROW_THROW2, + ACT_SLAM_THROW_THROW_ND, + ACT_SLAM_THROW_THROW_ND2, + ACT_SLAM_THROW_DRAW, + ACT_SLAM_THROW_ND_DRAW, + ACT_SLAM_THROW_TO_STICKWALL, + ACT_SLAM_THROW_TO_STICKWALL_ND, + ACT_SLAM_THROW_DETONATE, + ACT_SLAM_THROW_DETONATOR_HOLSTER, + ACT_SLAM_THROW_TO_TRIPMINE_ND, + ACT_SLAM_TRIPMINE_IDLE, + ACT_SLAM_TRIPMINE_DRAW, + ACT_SLAM_TRIPMINE_ATTACH, + ACT_SLAM_TRIPMINE_ATTACH2, + ACT_SLAM_TRIPMINE_TO_STICKWALL_ND, + ACT_SLAM_TRIPMINE_TO_THROW_ND, + ACT_SLAM_DETONATOR_IDLE, + ACT_SLAM_DETONATOR_DRAW, + ACT_SLAM_DETONATOR_DETONATE, + ACT_SLAM_DETONATOR_HOLSTER, + ACT_SLAM_DETONATOR_STICKWALL_DRAW, + ACT_SLAM_DETONATOR_THROW_DRAW, + + // Shotgun Specialty Activities + ACT_SHOTGUN_RELOAD_START, + ACT_SHOTGUN_RELOAD_FINISH, + ACT_SHOTGUN_PUMP, + + // SMG2 special activities + ACT_SMG2_IDLE2, + ACT_SMG2_FIRE2, + ACT_SMG2_DRAW2, + ACT_SMG2_RELOAD2, + ACT_SMG2_DRYFIRE2, + ACT_SMG2_TOAUTO, + ACT_SMG2_TOBURST, + + // Physcannon special activities + ACT_PHYSCANNON_UPGRADE, + + // weapon override activities + ACT_RANGE_ATTACK_AR1, + ACT_RANGE_ATTACK_AR2, + ACT_RANGE_ATTACK_AR2_LOW, + ACT_RANGE_ATTACK_AR2_GRENADE, + ACT_RANGE_ATTACK_HMG1, + ACT_RANGE_ATTACK_ML, + ACT_RANGE_ATTACK_SMG1, + ACT_RANGE_ATTACK_SMG1_LOW, + ACT_RANGE_ATTACK_SMG2, + ACT_RANGE_ATTACK_SHOTGUN, + ACT_RANGE_ATTACK_SHOTGUN_LOW, + ACT_RANGE_ATTACK_PISTOL, + ACT_RANGE_ATTACK_PISTOL_LOW, + ACT_RANGE_ATTACK_SLAM, + ACT_RANGE_ATTACK_TRIPWIRE, + ACT_RANGE_ATTACK_THROW, + ACT_RANGE_ATTACK_SNIPER_RIFLE, + ACT_RANGE_ATTACK_RPG, + ACT_MELEE_ATTACK_SWING, + + ACT_RANGE_AIM_LOW, + ACT_RANGE_AIM_SMG1_LOW, + ACT_RANGE_AIM_PISTOL_LOW, + ACT_RANGE_AIM_AR2_LOW, + + ACT_COVER_PISTOL_LOW, + ACT_COVER_SMG1_LOW, + + // weapon override activities + ACT_GESTURE_RANGE_ATTACK_AR1, + ACT_GESTURE_RANGE_ATTACK_AR2, + ACT_GESTURE_RANGE_ATTACK_AR2_GRENADE, + ACT_GESTURE_RANGE_ATTACK_HMG1, + ACT_GESTURE_RANGE_ATTACK_ML, + ACT_GESTURE_RANGE_ATTACK_SMG1, + ACT_GESTURE_RANGE_ATTACK_SMG1_LOW, + ACT_GESTURE_RANGE_ATTACK_SMG2, + ACT_GESTURE_RANGE_ATTACK_SHOTGUN, + ACT_GESTURE_RANGE_ATTACK_PISTOL, + ACT_GESTURE_RANGE_ATTACK_PISTOL_LOW, + ACT_GESTURE_RANGE_ATTACK_SLAM, + ACT_GESTURE_RANGE_ATTACK_TRIPWIRE, + ACT_GESTURE_RANGE_ATTACK_THROW, + ACT_GESTURE_RANGE_ATTACK_SNIPER_RIFLE, + ACT_GESTURE_MELEE_ATTACK_SWING, + + ACT_IDLE_RIFLE, + ACT_IDLE_SMG1, + ACT_IDLE_ANGRY_SMG1, + ACT_IDLE_PISTOL, + ACT_IDLE_ANGRY_PISTOL, + ACT_IDLE_ANGRY_SHOTGUN, + ACT_IDLE_STEALTH_PISTOL, + + ACT_IDLE_PACKAGE, + ACT_WALK_PACKAGE, + ACT_IDLE_SUITCASE, + ACT_WALK_SUITCASE, + + ACT_IDLE_SMG1_RELAXED, + ACT_IDLE_SMG1_STIMULATED, + ACT_WALK_RIFLE_RELAXED, + ACT_RUN_RIFLE_RELAXED, + ACT_WALK_RIFLE_STIMULATED, + ACT_RUN_RIFLE_STIMULATED, + + ACT_IDLE_AIM_RIFLE_STIMULATED, + ACT_WALK_AIM_RIFLE_STIMULATED, + ACT_RUN_AIM_RIFLE_STIMULATED, + + ACT_IDLE_SHOTGUN_RELAXED, + ACT_IDLE_SHOTGUN_STIMULATED, + ACT_IDLE_SHOTGUN_AGITATED, + + // Policing activities + ACT_WALK_ANGRY, + ACT_POLICE_HARASS1, + ACT_POLICE_HARASS2, + + // Manned guns + ACT_IDLE_MANNEDGUN, + + // Melee weapon + ACT_IDLE_MELEE, + ACT_IDLE_ANGRY_MELEE, + + // RPG activities + ACT_IDLE_RPG_RELAXED, + ACT_IDLE_RPG, + ACT_IDLE_ANGRY_RPG, + ACT_COVER_LOW_RPG, + ACT_WALK_RPG, + ACT_RUN_RPG, + ACT_WALK_CROUCH_RPG, + ACT_RUN_CROUCH_RPG, + ACT_WALK_RPG_RELAXED, + ACT_RUN_RPG_RELAXED, + + ACT_WALK_RIFLE, + ACT_WALK_AIM_RIFLE, + ACT_WALK_CROUCH_RIFLE, + ACT_WALK_CROUCH_AIM_RIFLE, + ACT_RUN_RIFLE, + ACT_RUN_AIM_RIFLE, + ACT_RUN_CROUCH_RIFLE, + ACT_RUN_CROUCH_AIM_RIFLE, + ACT_RUN_STEALTH_PISTOL, + + ACT_WALK_AIM_SHOTGUN, + ACT_RUN_AIM_SHOTGUN, + + ACT_WALK_PISTOL, + ACT_RUN_PISTOL, + ACT_WALK_AIM_PISTOL, + ACT_RUN_AIM_PISTOL, + ACT_WALK_STEALTH_PISTOL, + ACT_WALK_AIM_STEALTH_PISTOL, + ACT_RUN_AIM_STEALTH_PISTOL, + + // Reloads + ACT_RELOAD_PISTOL, + ACT_RELOAD_PISTOL_LOW, + ACT_RELOAD_SMG1, + ACT_RELOAD_SMG1_LOW, + ACT_RELOAD_SHOTGUN, + ACT_RELOAD_SHOTGUN_LOW, + + ACT_GESTURE_RELOAD, + ACT_GESTURE_RELOAD_PISTOL, + ACT_GESTURE_RELOAD_SMG1, + ACT_GESTURE_RELOAD_SHOTGUN, + + // Busy animations + ACT_BUSY_LEAN_LEFT, + ACT_BUSY_LEAN_LEFT_ENTRY, + ACT_BUSY_LEAN_LEFT_EXIT, + ACT_BUSY_LEAN_BACK, + ACT_BUSY_LEAN_BACK_ENTRY, + ACT_BUSY_LEAN_BACK_EXIT, + ACT_BUSY_SIT_GROUND, + ACT_BUSY_SIT_GROUND_ENTRY, + ACT_BUSY_SIT_GROUND_EXIT, + ACT_BUSY_SIT_CHAIR, + ACT_BUSY_SIT_CHAIR_ENTRY, + ACT_BUSY_SIT_CHAIR_EXIT, + ACT_BUSY_STAND, + ACT_BUSY_QUEUE, + + // Dodge animations + ACT_DUCK_DODGE, + + // For NPCs being lifted/eaten by barnacles: + // being swallowed by a barnacle + ACT_DIE_BARNACLE_SWALLOW, + // being lifted by a barnacle + ACT_GESTURE_BARNACLE_STRANGLE, + + ACT_PHYSCANNON_DETACH, // An activity to be played if we're picking this up with the physcannon + ACT_PHYSCANNON_ANIMATE, // An activity to be played by an object being picked up with the physcannon, but has different behavior to DETACH + ACT_PHYSCANNON_ANIMATE_PRE, // An activity to be played by an object being picked up with the physcannon, before playing the ACT_PHYSCANNON_ANIMATE + ACT_PHYSCANNON_ANIMATE_POST,// An activity to be played by an object being picked up with the physcannon, after playing the ACT_PHYSCANNON_ANIMATE + + ACT_DIE_FRONTSIDE, + ACT_DIE_RIGHTSIDE, + ACT_DIE_BACKSIDE, + ACT_DIE_LEFTSIDE, + + ACT_OPEN_DOOR, + + // Dynamic interactions + ACT_DI_ALYX_ZOMBIE_MELEE, + ACT_DI_ALYX_ZOMBIE_TORSO_MELEE, + ACT_DI_ALYX_HEADCRAB_MELEE, + ACT_DI_ALYX_ANTLION, + + ACT_DI_ALYX_ZOMBIE_SHOTGUN64, + ACT_DI_ALYX_ZOMBIE_SHOTGUN26, + + ACT_READINESS_RELAXED_TO_STIMULATED, + ACT_READINESS_RELAXED_TO_STIMULATED_WALK, + ACT_READINESS_AGITATED_TO_STIMULATED, + ACT_READINESS_STIMULATED_TO_RELAXED, + + ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED, + ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED_WALK, + ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED, + ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED, + + ACT_IDLE_CARRY, + ACT_WALK_CARRY, + +//=========================== +// TF2 Specific Activities +//=========================== + ACT_STARTDYING, + ACT_DYINGLOOP, + ACT_DYINGTODEAD, + + ACT_RIDE_MANNED_GUN, + + // All viewmodels + ACT_VM_SPRINT_ENTER, + ACT_VM_SPRINT_IDLE, + ACT_VM_SPRINT_LEAVE, + + // Looping weapon firing + ACT_FIRE_START, + ACT_FIRE_LOOP, + ACT_FIRE_END, + + ACT_CROUCHING_GRENADEIDLE, + ACT_CROUCHING_GRENADEREADY, + ACT_CROUCHING_PRIMARYATTACK, + ACT_OVERLAY_GRENADEIDLE, + ACT_OVERLAY_GRENADEREADY, + ACT_OVERLAY_PRIMARYATTACK, + ACT_OVERLAY_SHIELD_UP, + ACT_OVERLAY_SHIELD_DOWN, + ACT_OVERLAY_SHIELD_UP_IDLE, + ACT_OVERLAY_SHIELD_ATTACK, + ACT_OVERLAY_SHIELD_KNOCKBACK, + ACT_SHIELD_UP, + ACT_SHIELD_DOWN, + ACT_SHIELD_UP_IDLE, + ACT_SHIELD_ATTACK, + ACT_SHIELD_KNOCKBACK, + ACT_CROUCHING_SHIELD_UP, + ACT_CROUCHING_SHIELD_DOWN, + ACT_CROUCHING_SHIELD_UP_IDLE, + ACT_CROUCHING_SHIELD_ATTACK, + ACT_CROUCHING_SHIELD_KNOCKBACK, + + // turning in place + ACT_TURNRIGHT45, + ACT_TURNLEFT45, + + ACT_TURN, + + ACT_OBJ_ASSEMBLING, + ACT_OBJ_DISMANTLING, + ACT_OBJ_STARTUP, + ACT_OBJ_RUNNING, + ACT_OBJ_IDLE, + ACT_OBJ_PLACING, + ACT_OBJ_DETERIORATING, + ACT_OBJ_UPGRADING, + + // Deploy + ACT_DEPLOY, + ACT_DEPLOY_IDLE, + ACT_UNDEPLOY, + +//=========================== +// HL1 Specific Activities +//=========================== + // Grenades + ACT_GRENADE_ROLL, + ACT_GRENADE_TOSS, + + // Hand grenade + ACT_HANDGRENADE_THROW1, + ACT_HANDGRENADE_THROW2, + ACT_HANDGRENADE_THROW3, + + // Shotgun + ACT_SHOTGUN_IDLE_DEEP, + ACT_SHOTGUN_IDLE4, + + // Glock + ACT_GLOCK_SHOOTEMPTY, + ACT_GLOCK_SHOOT_RELOAD, + + // RPG + ACT_RPG_DRAW_UNLOADED, + ACT_RPG_HOLSTER_UNLOADED, + ACT_RPG_IDLE_UNLOADED, + ACT_RPG_FIDGET_UNLOADED, + + // Crossbow + ACT_CROSSBOW_DRAW_UNLOADED, + ACT_CROSSBOW_IDLE_UNLOADED, + ACT_CROSSBOW_FIDGET_UNLOADED, + + // Gauss + ACT_GAUSS_SPINUP, + ACT_GAUSS_SPINCYCLE, + ACT_GAUSS_SPINCYCLE_NOAMMO, + + // Tripmine + ACT_TRIPMINE_GROUND, + ACT_TRIPMINE_WORLD, + +//=========================== +// CSPort Specific Activities +//=========================== + + ACT_VM_PRIMARYATTACK_SILENCED, // fire + ACT_VM_RELOAD_SILENCED, + ACT_VM_DRYFIRE_SILENCED, // fire with no ammo loaded. + ACT_VM_IDLE_SILENCED, + ACT_VM_DRAW_SILENCED, + ACT_VM_IDLE_EMPTY_LEFT, + ACT_VM_DRYFIRE_LEFT, + + ACT_PLAYER_IDLE_FIRE, + ACT_PLAYER_CROUCH_FIRE, + ACT_PLAYER_CROUCH_WALK_FIRE, + ACT_PLAYER_WALK_FIRE, + ACT_PLAYER_RUN_FIRE, + + ACT_IDLETORUN, + ACT_RUNTOIDLE, + + +//=========================== +// DoD Specific Activities +//=========================== + ACT_SPRINT, + + ACT_GET_DOWN_STAND, + ACT_GET_UP_STAND, + ACT_GET_DOWN_CROUCH, + ACT_GET_UP_CROUCH, + ACT_PRONE_FORWARD, + ACT_PRONE_IDLE, + + ACT_DEEPIDLE1, + ACT_DEEPIDLE2, + ACT_DEEPIDLE3, + ACT_DEEPIDLE4, + + ACT_VM_RELOAD_DEPLOYED, + ACT_VM_RELOAD_IDLE, + + ACT_VM_DRAW_DEPLOYED, + + //Weapon is empty activities + ACT_VM_DRAW_EMPTY, + ACT_VM_PRIMARYATTACK_EMPTY, + ACT_VM_RELOAD_EMPTY, + ACT_VM_IDLE_EMPTY, + ACT_VM_IDLE_DEPLOYED_EMPTY, + + ACT_VM_IDLE_8, + ACT_VM_IDLE_7, + ACT_VM_IDLE_6, + ACT_VM_IDLE_5, + ACT_VM_IDLE_4, + ACT_VM_IDLE_3, + ACT_VM_IDLE_2, + ACT_VM_IDLE_1, + + ACT_VM_IDLE_DEPLOYED, + ACT_VM_IDLE_DEPLOYED_8, + ACT_VM_IDLE_DEPLOYED_7, + ACT_VM_IDLE_DEPLOYED_6, + ACT_VM_IDLE_DEPLOYED_5, + ACT_VM_IDLE_DEPLOYED_4, + ACT_VM_IDLE_DEPLOYED_3, + ACT_VM_IDLE_DEPLOYED_2, + ACT_VM_IDLE_DEPLOYED_1, + + // Animation from prone idle to standing/crouch idle. Number designates bullets left + ACT_VM_UNDEPLOY, + ACT_VM_UNDEPLOY_8, + ACT_VM_UNDEPLOY_7, + ACT_VM_UNDEPLOY_6, + ACT_VM_UNDEPLOY_5, + ACT_VM_UNDEPLOY_4, + ACT_VM_UNDEPLOY_3, + ACT_VM_UNDEPLOY_2, + ACT_VM_UNDEPLOY_1, + ACT_VM_UNDEPLOY_EMPTY, + + // Animation from standing/crouch idle to prone idle. Number designates bullets left + ACT_VM_DEPLOY, + ACT_VM_DEPLOY_8, + ACT_VM_DEPLOY_7, + ACT_VM_DEPLOY_6, + ACT_VM_DEPLOY_5, + ACT_VM_DEPLOY_4, + ACT_VM_DEPLOY_3, + ACT_VM_DEPLOY_2, + ACT_VM_DEPLOY_1, + ACT_VM_DEPLOY_EMPTY, + + // Shooting animations for standing/crouch position. Number designates bullets left at START of animation + ACT_VM_PRIMARYATTACK_8, + ACT_VM_PRIMARYATTACK_7, + ACT_VM_PRIMARYATTACK_6, + ACT_VM_PRIMARYATTACK_5, + ACT_VM_PRIMARYATTACK_4, + ACT_VM_PRIMARYATTACK_3, + ACT_VM_PRIMARYATTACK_2, + ACT_VM_PRIMARYATTACK_1, + + // Shooting animations for prone position. Number designates bullets left at START of animation + ACT_VM_PRIMARYATTACK_DEPLOYED, + ACT_VM_PRIMARYATTACK_DEPLOYED_8, + ACT_VM_PRIMARYATTACK_DEPLOYED_7, + ACT_VM_PRIMARYATTACK_DEPLOYED_6, + ACT_VM_PRIMARYATTACK_DEPLOYED_5, + ACT_VM_PRIMARYATTACK_DEPLOYED_4, + ACT_VM_PRIMARYATTACK_DEPLOYED_3, + ACT_VM_PRIMARYATTACK_DEPLOYED_2, + ACT_VM_PRIMARYATTACK_DEPLOYED_1, + ACT_VM_PRIMARYATTACK_DEPLOYED_EMPTY, + + // Player anim ACTs + ACT_DOD_DEPLOYED, + ACT_DOD_PRONE_DEPLOYED, + ACT_DOD_IDLE_ZOOMED, + ACT_DOD_WALK_ZOOMED, + ACT_DOD_CROUCH_ZOOMED, + ACT_DOD_CROUCHWALK_ZOOMED, + ACT_DOD_PRONE_ZOOMED, + ACT_DOD_PRONE_FORWARD_ZOOMED, + ACT_DOD_PRIMARYATTACK_DEPLOYED, + ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED, + ACT_DOD_RELOAD_DEPLOYED, + ACT_DOD_RELOAD_PRONE_DEPLOYED, + ACT_DOD_PRIMARYATTACK_PRONE, + ACT_DOD_SECONDARYATTACK_PRONE, + ACT_DOD_RELOAD_CROUCH, + ACT_DOD_RELOAD_PRONE, + ACT_DOD_STAND_IDLE, + ACT_DOD_STAND_AIM, + ACT_DOD_CROUCH_IDLE, + ACT_DOD_CROUCH_AIM, + ACT_DOD_CROUCHWALK_IDLE, + ACT_DOD_CROUCHWALK_AIM, + ACT_DOD_WALK_IDLE, + ACT_DOD_WALK_AIM, + ACT_DOD_RUN_IDLE, + ACT_DOD_RUN_AIM, + + // Positions + ACT_DOD_STAND_AIM_PISTOL, + ACT_DOD_CROUCH_AIM_PISTOL, + ACT_DOD_CROUCHWALK_AIM_PISTOL, + ACT_DOD_WALK_AIM_PISTOL, + ACT_DOD_RUN_AIM_PISTOL, + ACT_DOD_PRONE_AIM_PISTOL, + ACT_DOD_STAND_IDLE_PISTOL, + ACT_DOD_CROUCH_IDLE_PISTOL, + ACT_DOD_CROUCHWALK_IDLE_PISTOL, + ACT_DOD_WALK_IDLE_PISTOL, + ACT_DOD_RUN_IDLE_PISTOL, + ACT_DOD_SPRINT_IDLE_PISTOL, + ACT_DOD_PRONEWALK_IDLE_PISTOL, + + ACT_DOD_STAND_AIM_C96, + ACT_DOD_CROUCH_AIM_C96, + ACT_DOD_CROUCHWALK_AIM_C96, + ACT_DOD_WALK_AIM_C96, + ACT_DOD_RUN_AIM_C96, + ACT_DOD_PRONE_AIM_C96, + ACT_DOD_STAND_IDLE_C96, + ACT_DOD_CROUCH_IDLE_C96, + ACT_DOD_CROUCHWALK_IDLE_C96, + ACT_DOD_WALK_IDLE_C96, + ACT_DOD_RUN_IDLE_C96, + ACT_DOD_SPRINT_IDLE_C96, + ACT_DOD_PRONEWALK_IDLE_C96, + + ACT_DOD_STAND_AIM_RIFLE, + ACT_DOD_CROUCH_AIM_RIFLE, + ACT_DOD_CROUCHWALK_AIM_RIFLE, + ACT_DOD_WALK_AIM_RIFLE, + ACT_DOD_RUN_AIM_RIFLE, + ACT_DOD_PRONE_AIM_RIFLE, + ACT_DOD_STAND_IDLE_RIFLE, + ACT_DOD_CROUCH_IDLE_RIFLE, + ACT_DOD_CROUCHWALK_IDLE_RIFLE, + ACT_DOD_WALK_IDLE_RIFLE, + ACT_DOD_RUN_IDLE_RIFLE, + ACT_DOD_SPRINT_IDLE_RIFLE, + ACT_DOD_PRONEWALK_IDLE_RIFLE, + + ACT_DOD_STAND_AIM_BOLT, + ACT_DOD_CROUCH_AIM_BOLT, + ACT_DOD_CROUCHWALK_AIM_BOLT, + ACT_DOD_WALK_AIM_BOLT, + ACT_DOD_RUN_AIM_BOLT, + ACT_DOD_PRONE_AIM_BOLT, + ACT_DOD_STAND_IDLE_BOLT, + ACT_DOD_CROUCH_IDLE_BOLT, + ACT_DOD_CROUCHWALK_IDLE_BOLT, + ACT_DOD_WALK_IDLE_BOLT, + ACT_DOD_RUN_IDLE_BOLT, + ACT_DOD_SPRINT_IDLE_BOLT, + ACT_DOD_PRONEWALK_IDLE_BOLT, + + ACT_DOD_STAND_AIM_TOMMY, + ACT_DOD_CROUCH_AIM_TOMMY, + ACT_DOD_CROUCHWALK_AIM_TOMMY, + ACT_DOD_WALK_AIM_TOMMY, + ACT_DOD_RUN_AIM_TOMMY, + ACT_DOD_PRONE_AIM_TOMMY, + ACT_DOD_STAND_IDLE_TOMMY, + ACT_DOD_CROUCH_IDLE_TOMMY, + ACT_DOD_CROUCHWALK_IDLE_TOMMY, + ACT_DOD_WALK_IDLE_TOMMY, + ACT_DOD_RUN_IDLE_TOMMY, + ACT_DOD_SPRINT_IDLE_TOMMY, + ACT_DOD_PRONEWALK_IDLE_TOMMY, + + ACT_DOD_STAND_AIM_MP40, + ACT_DOD_CROUCH_AIM_MP40, + ACT_DOD_CROUCHWALK_AIM_MP40, + ACT_DOD_WALK_AIM_MP40, + ACT_DOD_RUN_AIM_MP40, + ACT_DOD_PRONE_AIM_MP40, + ACT_DOD_STAND_IDLE_MP40, + ACT_DOD_CROUCH_IDLE_MP40, + ACT_DOD_CROUCHWALK_IDLE_MP40, + ACT_DOD_WALK_IDLE_MP40, + ACT_DOD_RUN_IDLE_MP40, + ACT_DOD_SPRINT_IDLE_MP40, + ACT_DOD_PRONEWALK_IDLE_MP40, + + ACT_DOD_STAND_AIM_MP44, + ACT_DOD_CROUCH_AIM_MP44, + ACT_DOD_CROUCHWALK_AIM_MP44, + ACT_DOD_WALK_AIM_MP44, + ACT_DOD_RUN_AIM_MP44, + ACT_DOD_PRONE_AIM_MP44, + ACT_DOD_STAND_IDLE_MP44, + ACT_DOD_CROUCH_IDLE_MP44, + ACT_DOD_CROUCHWALK_IDLE_MP44, + ACT_DOD_WALK_IDLE_MP44, + ACT_DOD_RUN_IDLE_MP44, + ACT_DOD_SPRINT_IDLE_MP44, + ACT_DOD_PRONEWALK_IDLE_MP44, + + ACT_DOD_STAND_AIM_GREASE, + ACT_DOD_CROUCH_AIM_GREASE, + ACT_DOD_CROUCHWALK_AIM_GREASE, + ACT_DOD_WALK_AIM_GREASE, + ACT_DOD_RUN_AIM_GREASE, + ACT_DOD_PRONE_AIM_GREASE, + ACT_DOD_STAND_IDLE_GREASE, + ACT_DOD_CROUCH_IDLE_GREASE, + ACT_DOD_CROUCHWALK_IDLE_GREASE, + ACT_DOD_WALK_IDLE_GREASE, + ACT_DOD_RUN_IDLE_GREASE, + ACT_DOD_SPRINT_IDLE_GREASE, + ACT_DOD_PRONEWALK_IDLE_GREASE, + + ACT_DOD_STAND_AIM_MG, + ACT_DOD_CROUCH_AIM_MG, + ACT_DOD_CROUCHWALK_AIM_MG, + ACT_DOD_WALK_AIM_MG, + ACT_DOD_RUN_AIM_MG, + ACT_DOD_PRONE_AIM_MG, + ACT_DOD_STAND_IDLE_MG, + ACT_DOD_CROUCH_IDLE_MG, + ACT_DOD_CROUCHWALK_IDLE_MG, + ACT_DOD_WALK_IDLE_MG, + ACT_DOD_RUN_IDLE_MG, + ACT_DOD_SPRINT_IDLE_MG, + ACT_DOD_PRONEWALK_IDLE_MG, + + ACT_DOD_STAND_AIM_30CAL, + ACT_DOD_CROUCH_AIM_30CAL, + ACT_DOD_CROUCHWALK_AIM_30CAL, + ACT_DOD_WALK_AIM_30CAL, + ACT_DOD_RUN_AIM_30CAL, + ACT_DOD_PRONE_AIM_30CAL, + ACT_DOD_STAND_IDLE_30CAL, + ACT_DOD_CROUCH_IDLE_30CAL, + ACT_DOD_CROUCHWALK_IDLE_30CAL, + ACT_DOD_WALK_IDLE_30CAL, + ACT_DOD_RUN_IDLE_30CAL, + ACT_DOD_SPRINT_IDLE_30CAL, + ACT_DOD_PRONEWALK_IDLE_30CAL, + + ACT_DOD_STAND_AIM_GREN_FRAG, + ACT_DOD_CROUCH_AIM_GREN_FRAG, + ACT_DOD_CROUCHWALK_AIM_GREN_FRAG, + ACT_DOD_WALK_AIM_GREN_FRAG, + ACT_DOD_RUN_AIM_GREN_FRAG, + ACT_DOD_PRONE_AIM_GREN_FRAG, + ACT_DOD_SPRINT_AIM_GREN_FRAG, + ACT_DOD_PRONEWALK_AIM_GREN_FRAG, + ACT_DOD_STAND_AIM_GREN_STICK, + ACT_DOD_CROUCH_AIM_GREN_STICK, + ACT_DOD_CROUCHWALK_AIM_GREN_STICK, + ACT_DOD_WALK_AIM_GREN_STICK, + ACT_DOD_RUN_AIM_GREN_STICK, + ACT_DOD_PRONE_AIM_GREN_STICK, + ACT_DOD_SPRINT_AIM_GREN_STICK, + ACT_DOD_PRONEWALK_AIM_GREN_STICK, + + ACT_DOD_STAND_AIM_KNIFE, + ACT_DOD_CROUCH_AIM_KNIFE, + ACT_DOD_CROUCHWALK_AIM_KNIFE, + ACT_DOD_WALK_AIM_KNIFE, + ACT_DOD_RUN_AIM_KNIFE, + ACT_DOD_PRONE_AIM_KNIFE, + ACT_DOD_SPRINT_AIM_KNIFE, + ACT_DOD_PRONEWALK_AIM_KNIFE, + + ACT_DOD_STAND_AIM_SPADE, + ACT_DOD_CROUCH_AIM_SPADE, + ACT_DOD_CROUCHWALK_AIM_SPADE, + ACT_DOD_WALK_AIM_SPADE, + ACT_DOD_RUN_AIM_SPADE, + ACT_DOD_PRONE_AIM_SPADE, + ACT_DOD_SPRINT_AIM_SPADE, + ACT_DOD_PRONEWALK_AIM_SPADE, + + ACT_DOD_STAND_AIM_BAZOOKA, + ACT_DOD_CROUCH_AIM_BAZOOKA, + ACT_DOD_CROUCHWALK_AIM_BAZOOKA, + ACT_DOD_WALK_AIM_BAZOOKA, + ACT_DOD_RUN_AIM_BAZOOKA, + ACT_DOD_PRONE_AIM_BAZOOKA, + ACT_DOD_STAND_IDLE_BAZOOKA, + ACT_DOD_CROUCH_IDLE_BAZOOKA, + ACT_DOD_CROUCHWALK_IDLE_BAZOOKA, + ACT_DOD_WALK_IDLE_BAZOOKA, + ACT_DOD_RUN_IDLE_BAZOOKA, + ACT_DOD_SPRINT_IDLE_BAZOOKA, + ACT_DOD_PRONEWALK_IDLE_BAZOOKA, + + ACT_DOD_STAND_AIM_PSCHRECK, + ACT_DOD_CROUCH_AIM_PSCHRECK, + ACT_DOD_CROUCHWALK_AIM_PSCHRECK, + ACT_DOD_WALK_AIM_PSCHRECK, + ACT_DOD_RUN_AIM_PSCHRECK, + ACT_DOD_PRONE_AIM_PSCHRECK, + ACT_DOD_STAND_IDLE_PSCHRECK, + ACT_DOD_CROUCH_IDLE_PSCHRECK, + ACT_DOD_CROUCHWALK_IDLE_PSCHRECK, + ACT_DOD_WALK_IDLE_PSCHRECK, + ACT_DOD_RUN_IDLE_PSCHRECK, + ACT_DOD_SPRINT_IDLE_PSCHRECK, + ACT_DOD_PRONEWALK_IDLE_PSCHRECK, + + ACT_DOD_STAND_AIM_BAR, + ACT_DOD_CROUCH_AIM_BAR, + ACT_DOD_CROUCHWALK_AIM_BAR, + ACT_DOD_WALK_AIM_BAR, + ACT_DOD_RUN_AIM_BAR, + ACT_DOD_PRONE_AIM_BAR, + ACT_DOD_STAND_IDLE_BAR, + ACT_DOD_CROUCH_IDLE_BAR, + ACT_DOD_CROUCHWALK_IDLE_BAR, + ACT_DOD_WALK_IDLE_BAR, + ACT_DOD_RUN_IDLE_BAR, + ACT_DOD_SPRINT_IDLE_BAR, + ACT_DOD_PRONEWALK_IDLE_BAR, + + // Zoomed aims + ACT_DOD_STAND_ZOOM_RIFLE, + ACT_DOD_CROUCH_ZOOM_RIFLE, + ACT_DOD_CROUCHWALK_ZOOM_RIFLE, + ACT_DOD_WALK_ZOOM_RIFLE, + ACT_DOD_RUN_ZOOM_RIFLE, + ACT_DOD_PRONE_ZOOM_RIFLE, + + ACT_DOD_STAND_ZOOM_BOLT, + ACT_DOD_CROUCH_ZOOM_BOLT, + ACT_DOD_CROUCHWALK_ZOOM_BOLT, + ACT_DOD_WALK_ZOOM_BOLT, + ACT_DOD_RUN_ZOOM_BOLT, + ACT_DOD_PRONE_ZOOM_BOLT, + + ACT_DOD_STAND_ZOOM_BAZOOKA, + ACT_DOD_CROUCH_ZOOM_BAZOOKA, + ACT_DOD_CROUCHWALK_ZOOM_BAZOOKA, + ACT_DOD_WALK_ZOOM_BAZOOKA, + ACT_DOD_RUN_ZOOM_BAZOOKA, + ACT_DOD_PRONE_ZOOM_BAZOOKA, + + ACT_DOD_STAND_ZOOM_PSCHRECK, + ACT_DOD_CROUCH_ZOOM_PSCHRECK, + ACT_DOD_CROUCHWALK_ZOOM_PSCHRECK, + ACT_DOD_WALK_ZOOM_PSCHRECK, + ACT_DOD_RUN_ZOOM_PSCHRECK, + ACT_DOD_PRONE_ZOOM_PSCHRECK, + + // Deployed Aim + ACT_DOD_DEPLOY_RIFLE, + ACT_DOD_DEPLOY_TOMMY, + ACT_DOD_DEPLOY_MG, + ACT_DOD_DEPLOY_30CAL, + + // Prone Deployed Aim + ACT_DOD_PRONE_DEPLOY_RIFLE , + ACT_DOD_PRONE_DEPLOY_TOMMY, + ACT_DOD_PRONE_DEPLOY_MG, + ACT_DOD_PRONE_DEPLOY_30CAL, + + // Attacks + + // Rifle + ACT_DOD_PRIMARYATTACK_RIFLE, + ACT_DOD_SECONDARYATTACK_RIFLE, + ACT_DOD_PRIMARYATTACK_PRONE_RIFLE, + ACT_DOD_SECONDARYATTACK_PRONE_RIFLE, + ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_RIFLE, + ACT_DOD_PRIMARYATTACK_DEPLOYED_RIFLE, + + // Bolt + ACT_DOD_PRIMARYATTACK_BOLT, + ACT_DOD_SECONDARYATTACK_BOLT, + ACT_DOD_PRIMARYATTACK_PRONE_BOLT , + ACT_DOD_SECONDARYATTACK_PRONE_BOLT , + + // Tommy + ACT_DOD_PRIMARYATTACK_TOMMY, + ACT_DOD_PRIMARYATTACK_PRONE_TOMMY, + ACT_DOD_SECONDARYATTACK_TOMMY, + ACT_DOD_SECONDARYATTACK_PRONE_TOMMY, + + // MP40 + ACT_DOD_PRIMARYATTACK_MP40, + ACT_DOD_PRIMARYATTACK_PRONE_MP40 , + ACT_DOD_SECONDARYATTACK_MP40, + ACT_DOD_SECONDARYATTACK_PRONE_MP40 , + + // MP44 + ACT_DOD_PRIMARYATTACK_MP44, + ACT_DOD_PRIMARYATTACK_PRONE_MP44 , + + // Greasegun + ACT_DOD_PRIMARYATTACK_GREASE, + ACT_DOD_PRIMARYATTACK_PRONE_GREASE , + + // Pistols (Colt, Luger) + ACT_DOD_PRIMARYATTACK_PISTOL, + ACT_DOD_PRIMARYATTACK_PRONE_PISTOL , + ACT_DOD_PRIMARYATTACK_C96, + ACT_DOD_PRIMARYATTACK_PRONE_C96, + + // Mgs (mg42, mg34) + ACT_DOD_PRIMARYATTACK_MG, + ACT_DOD_PRIMARYATTACK_PRONE_MG , + ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_MG , + ACT_DOD_PRIMARYATTACK_DEPLOYED_MG , + + // 30cal + ACT_DOD_PRIMARYATTACK_30CAL, + ACT_DOD_PRIMARYATTACK_PRONE_30CAL, + ACT_DOD_PRIMARYATTACK_DEPLOYED_30CAL, + ACT_DOD_PRIMARYATTACK_PRONE_DEPLOYED_30CAL , + + // Grenades + ACT_DOD_PRIMARYATTACK_GREN_FRAG, + ACT_DOD_PRIMARYATTACK_PRONE_GREN_FRAG, + ACT_DOD_PRIMARYATTACK_GREN_STICK, + ACT_DOD_PRIMARYATTACK_PRONE_GREN_STICK, + + // Knife + ACT_DOD_PRIMARYATTACK_KNIFE, + ACT_DOD_PRIMARYATTACK_PRONE_KNIFE, + + // Spade + ACT_DOD_PRIMARYATTACK_SPADE, + ACT_DOD_PRIMARYATTACK_PRONE_SPADE, + + // Bazooka + ACT_DOD_PRIMARYATTACK_BAZOOKA, + ACT_DOD_PRIMARYATTACK_PRONE_BAZOOKA, + + // Pschreck + ACT_DOD_PRIMARYATTACK_PSCHRECK, + ACT_DOD_PRIMARYATTACK_PRONE_PSCHRECK , + + // Bar + ACT_DOD_PRIMARYATTACK_BAR, + ACT_DOD_PRIMARYATTACK_PRONE_BAR, + + // Reloads + ACT_DOD_RELOAD_GARAND, + ACT_DOD_RELOAD_K43, + ACT_DOD_RELOAD_BAR, + ACT_DOD_RELOAD_MP40, + ACT_DOD_RELOAD_MP44, + ACT_DOD_RELOAD_BOLT, + ACT_DOD_RELOAD_M1CARBINE, + ACT_DOD_RELOAD_TOMMY, + ACT_DOD_RELOAD_GREASEGUN, + ACT_DOD_RELOAD_PISTOL, + ACT_DOD_RELOAD_FG42, + ACT_DOD_RELOAD_RIFLE, + ACT_DOD_RELOAD_RIFLEGRENADE, + ACT_DOD_RELOAD_C96, + + // Crouch + ACT_DOD_RELOAD_CROUCH_BAR, + ACT_DOD_RELOAD_CROUCH_RIFLE, + ACT_DOD_RELOAD_CROUCH_RIFLEGRENADE, + ACT_DOD_RELOAD_CROUCH_BOLT, + ACT_DOD_RELOAD_CROUCH_MP44, + ACT_DOD_RELOAD_CROUCH_MP40, + ACT_DOD_RELOAD_CROUCH_TOMMY, + ACT_DOD_RELOAD_CROUCH_BAZOOKA, + ACT_DOD_RELOAD_CROUCH_PSCHRECK, + ACT_DOD_RELOAD_CROUCH_PISTOL, + ACT_DOD_RELOAD_CROUCH_M1CARBINE, + ACT_DOD_RELOAD_CROUCH_C96, + + // Bazookas + ACT_DOD_RELOAD_BAZOOKA, + ACT_DOD_ZOOMLOAD_BAZOOKA, + ACT_DOD_RELOAD_PSCHRECK, + ACT_DOD_ZOOMLOAD_PSCHRECK, + + // Deployed + ACT_DOD_RELOAD_DEPLOYED_FG42, + ACT_DOD_RELOAD_DEPLOYED_30CAL, + ACT_DOD_RELOAD_DEPLOYED_MG, + ACT_DOD_RELOAD_DEPLOYED_MG34, + ACT_DOD_RELOAD_DEPLOYED_BAR, + + // Prone + ACT_DOD_RELOAD_PRONE_PISTOL, + ACT_DOD_RELOAD_PRONE_GARAND, + ACT_DOD_RELOAD_PRONE_M1CARBINE, + ACT_DOD_RELOAD_PRONE_BOLT, + ACT_DOD_RELOAD_PRONE_K43, + ACT_DOD_RELOAD_PRONE_MP40, + ACT_DOD_RELOAD_PRONE_MP44, + ACT_DOD_RELOAD_PRONE_BAR, + ACT_DOD_RELOAD_PRONE_GREASEGUN, + ACT_DOD_RELOAD_PRONE_TOMMY, + ACT_DOD_RELOAD_PRONE_FG42, + ACT_DOD_RELOAD_PRONE_RIFLE, + ACT_DOD_RELOAD_PRONE_RIFLEGRENADE, + ACT_DOD_RELOAD_PRONE_C96, + + // Prone bazooka + ACT_DOD_RELOAD_PRONE_BAZOOKA, + ACT_DOD_ZOOMLOAD_PRONE_BAZOOKA, + ACT_DOD_RELOAD_PRONE_PSCHRECK, + ACT_DOD_ZOOMLOAD_PRONE_PSCHRECK, + + // Prone deployed + ACT_DOD_RELOAD_PRONE_DEPLOYED_BAR, + ACT_DOD_RELOAD_PRONE_DEPLOYED_FG42, + ACT_DOD_RELOAD_PRONE_DEPLOYED_30CAL, + ACT_DOD_RELOAD_PRONE_DEPLOYED_MG, + ACT_DOD_RELOAD_PRONE_DEPLOYED_MG34, + + // Prone zoomed aim + ACT_DOD_PRONE_ZOOM_FORWARD_RIFLE, + ACT_DOD_PRONE_ZOOM_FORWARD_BOLT, + ACT_DOD_PRONE_ZOOM_FORWARD_BAZOOKA, + ACT_DOD_PRONE_ZOOM_FORWARD_PSCHRECK, + + // Crouch attack + ACT_DOD_PRIMARYATTACK_CROUCH, + ACT_DOD_PRIMARYATTACK_CROUCH_SPADE, + ACT_DOD_PRIMARYATTACK_CROUCH_KNIFE, + ACT_DOD_PRIMARYATTACK_CROUCH_GREN_FRAG, + ACT_DOD_PRIMARYATTACK_CROUCH_GREN_STICK, + ACT_DOD_SECONDARYATTACK_CROUCH, + ACT_DOD_SECONDARYATTACK_CROUCH_TOMMY, + ACT_DOD_SECONDARYATTACK_CROUCH_MP40, + + // Hand Signals + ACT_DOD_HS_IDLE, + ACT_DOD_HS_CROUCH, + ACT_DOD_HS_IDLE_30CAL, + ACT_DOD_HS_IDLE_BAZOOKA, + ACT_DOD_HS_IDLE_PSCHRECK, + ACT_DOD_HS_IDLE_KNIFE, + ACT_DOD_HS_IDLE_MG42, + ACT_DOD_HS_IDLE_PISTOL, + ACT_DOD_HS_IDLE_STICKGRENADE, + ACT_DOD_HS_IDLE_TOMMY, + ACT_DOD_HS_IDLE_MP44, + ACT_DOD_HS_IDLE_K98, + ACT_DOD_HS_CROUCH_30CAL, + ACT_DOD_HS_CROUCH_BAZOOKA, + ACT_DOD_HS_CROUCH_PSCHRECK, + ACT_DOD_HS_CROUCH_KNIFE, + ACT_DOD_HS_CROUCH_MG42, + ACT_DOD_HS_CROUCH_PISTOL, + ACT_DOD_HS_CROUCH_STICKGRENADE, + ACT_DOD_HS_CROUCH_TOMMY, + ACT_DOD_HS_CROUCH_MP44, + ACT_DOD_HS_CROUCH_K98, + + ACT_DOD_STAND_IDLE_TNT, + ACT_DOD_CROUCH_IDLE_TNT, + ACT_DOD_CROUCHWALK_IDLE_TNT, + ACT_DOD_WALK_IDLE_TNT, + ACT_DOD_RUN_IDLE_TNT, + ACT_DOD_SPRINT_IDLE_TNT, + ACT_DOD_PRONEWALK_IDLE_TNT, + + ACT_DOD_PLANT_TNT, + ACT_DOD_DEFUSE_TNT, + +// HL2MP + ACT_HL2MP_IDLE, + ACT_HL2MP_RUN, + ACT_HL2MP_IDLE_CROUCH, + ACT_HL2MP_WALK_CROUCH, + ACT_HL2MP_GESTURE_RANGE_ATTACK, + ACT_HL2MP_GESTURE_RELOAD, + ACT_HL2MP_JUMP, + + ACT_HL2MP_IDLE_PISTOL, + ACT_HL2MP_RUN_PISTOL, + ACT_HL2MP_IDLE_CROUCH_PISTOL, + ACT_HL2MP_WALK_CROUCH_PISTOL, + ACT_HL2MP_GESTURE_RANGE_ATTACK_PISTOL, + ACT_HL2MP_GESTURE_RELOAD_PISTOL, + ACT_HL2MP_JUMP_PISTOL, + + ACT_HL2MP_IDLE_SMG1, + ACT_HL2MP_RUN_SMG1, + ACT_HL2MP_IDLE_CROUCH_SMG1, + ACT_HL2MP_WALK_CROUCH_SMG1, + ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG1, + ACT_HL2MP_GESTURE_RELOAD_SMG1, + ACT_HL2MP_JUMP_SMG1, + + ACT_HL2MP_IDLE_AR2, + ACT_HL2MP_RUN_AR2, + ACT_HL2MP_IDLE_CROUCH_AR2, + ACT_HL2MP_WALK_CROUCH_AR2, + ACT_HL2MP_GESTURE_RANGE_ATTACK_AR2, + ACT_HL2MP_GESTURE_RELOAD_AR2, + ACT_HL2MP_JUMP_AR2, + + ACT_HL2MP_IDLE_SHOTGUN, + ACT_HL2MP_RUN_SHOTGUN, + ACT_HL2MP_IDLE_CROUCH_SHOTGUN, + ACT_HL2MP_WALK_CROUCH_SHOTGUN, + ACT_HL2MP_GESTURE_RANGE_ATTACK_SHOTGUN, + ACT_HL2MP_GESTURE_RELOAD_SHOTGUN, + ACT_HL2MP_JUMP_SHOTGUN, + + ACT_HL2MP_IDLE_RPG, + ACT_HL2MP_RUN_RPG, + ACT_HL2MP_IDLE_CROUCH_RPG, + ACT_HL2MP_WALK_CROUCH_RPG, + ACT_HL2MP_GESTURE_RANGE_ATTACK_RPG, + ACT_HL2MP_GESTURE_RELOAD_RPG, + ACT_HL2MP_JUMP_RPG, + + ACT_HL2MP_IDLE_GRENADE, + ACT_HL2MP_RUN_GRENADE, + ACT_HL2MP_IDLE_CROUCH_GRENADE, + ACT_HL2MP_WALK_CROUCH_GRENADE, + ACT_HL2MP_GESTURE_RANGE_ATTACK_GRENADE, + ACT_HL2MP_GESTURE_RELOAD_GRENADE, + ACT_HL2MP_JUMP_GRENADE, + + ACT_HL2MP_IDLE_PHYSGUN, + ACT_HL2MP_RUN_PHYSGUN, + ACT_HL2MP_IDLE_CROUCH_PHYSGUN, + ACT_HL2MP_WALK_CROUCH_PHYSGUN, + ACT_HL2MP_GESTURE_RANGE_ATTACK_PHYSGUN, + ACT_HL2MP_GESTURE_RELOAD_PHYSGUN, + ACT_HL2MP_JUMP_PHYSGUN, + + ACT_HL2MP_IDLE_CROSSBOW, + ACT_HL2MP_RUN_CROSSBOW, + ACT_HL2MP_IDLE_CROUCH_CROSSBOW, + ACT_HL2MP_WALK_CROUCH_CROSSBOW, + ACT_HL2MP_GESTURE_RANGE_ATTACK_CROSSBOW, + ACT_HL2MP_GESTURE_RELOAD_CROSSBOW, + ACT_HL2MP_JUMP_CROSSBOW, + + ACT_HL2MP_IDLE_MELEE, + ACT_HL2MP_RUN_MELEE, + ACT_HL2MP_IDLE_CROUCH_MELEE, + ACT_HL2MP_WALK_CROUCH_MELEE, + ACT_HL2MP_GESTURE_RANGE_ATTACK_MELEE, + ACT_HL2MP_GESTURE_RELOAD_MELEE, + ACT_HL2MP_JUMP_MELEE, + + ACT_HL2MP_IDLE_SLAM, + ACT_HL2MP_RUN_SLAM, + ACT_HL2MP_IDLE_CROUCH_SLAM, + ACT_HL2MP_WALK_CROUCH_SLAM, + ACT_HL2MP_GESTURE_RANGE_ATTACK_SLAM, + ACT_HL2MP_GESTURE_RELOAD_SLAM, + ACT_HL2MP_JUMP_SLAM, + +// Portal! + ACT_VM_FIZZLE, + + // Multiplayer + ACT_MP_STAND_IDLE, + ACT_MP_CROUCH_IDLE, + ACT_MP_CROUCH_DEPLOYED_IDLE, + ACT_MP_CROUCH_DEPLOYED, + ACT_MP_CROUCHWALK_DEPLOYED, + ACT_MP_DEPLOYED_IDLE, + ACT_MP_RUN, + ACT_MP_WALK, + ACT_MP_AIRWALK, + ACT_MP_CROUCHWALK, + ACT_MP_SPRINT, + ACT_MP_JUMP, + ACT_MP_JUMP_START, + ACT_MP_JUMP_FLOAT, + ACT_MP_JUMP_LAND, + ACT_MP_DOUBLEJUMP, + ACT_MP_SWIM, + ACT_MP_DEPLOYED, + ACT_MP_SWIM_DEPLOYED, + ACT_MP_VCD, + + ACT_MP_ATTACK_STAND_PRIMARYFIRE, + ACT_MP_ATTACK_STAND_PRIMARYFIRE_DEPLOYED, + ACT_MP_ATTACK_STAND_SECONDARYFIRE, + ACT_MP_ATTACK_STAND_GRENADE, + ACT_MP_ATTACK_CROUCH_PRIMARYFIRE, + ACT_MP_ATTACK_CROUCH_PRIMARYFIRE_DEPLOYED, + ACT_MP_ATTACK_CROUCH_SECONDARYFIRE, + ACT_MP_ATTACK_CROUCH_GRENADE, + ACT_MP_ATTACK_SWIM_PRIMARYFIRE, + ACT_MP_ATTACK_SWIM_SECONDARYFIRE, + ACT_MP_ATTACK_SWIM_GRENADE, + ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE, + ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE, + ACT_MP_ATTACK_AIRWALK_GRENADE, + ACT_MP_RELOAD_STAND, + ACT_MP_RELOAD_STAND_LOOP, + ACT_MP_RELOAD_STAND_END, + ACT_MP_RELOAD_CROUCH, + ACT_MP_RELOAD_CROUCH_LOOP, + ACT_MP_RELOAD_CROUCH_END, + ACT_MP_RELOAD_SWIM, + ACT_MP_RELOAD_SWIM_LOOP, + ACT_MP_RELOAD_SWIM_END, + ACT_MP_RELOAD_AIRWALK, + ACT_MP_RELOAD_AIRWALK_LOOP, + ACT_MP_RELOAD_AIRWALK_END, + ACT_MP_ATTACK_STAND_PREFIRE, + ACT_MP_ATTACK_STAND_POSTFIRE, + ACT_MP_ATTACK_STAND_STARTFIRE, + ACT_MP_ATTACK_CROUCH_PREFIRE, + ACT_MP_ATTACK_CROUCH_POSTFIRE, + ACT_MP_ATTACK_SWIM_PREFIRE, + ACT_MP_ATTACK_SWIM_POSTFIRE, + + // Multiplayer - Primary + ACT_MP_STAND_PRIMARY, + ACT_MP_CROUCH_PRIMARY, + ACT_MP_RUN_PRIMARY, + ACT_MP_WALK_PRIMARY, + ACT_MP_AIRWALK_PRIMARY, + ACT_MP_CROUCHWALK_PRIMARY, + ACT_MP_JUMP_PRIMARY, + ACT_MP_JUMP_START_PRIMARY, + ACT_MP_JUMP_FLOAT_PRIMARY, + ACT_MP_JUMP_LAND_PRIMARY, + ACT_MP_SWIM_PRIMARY, + ACT_MP_DEPLOYED_PRIMARY, + ACT_MP_SWIM_DEPLOYED_PRIMARY, + ACT_MP_CROUCHWALK_DEPLOYED_PRIMARY, + ACT_MP_CROUCH_DEPLOYED_IDLE_PRIMARY, + + ACT_MP_ATTACK_STAND_PRIMARY, // RUN, WALK + ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED, + ACT_MP_ATTACK_CROUCH_PRIMARY, // CROUCHWALK + ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED, + ACT_MP_ATTACK_SWIM_PRIMARY, + ACT_MP_ATTACK_AIRWALK_PRIMARY, + + ACT_MP_RELOAD_STAND_PRIMARY, // RUN, WALK + ACT_MP_RELOAD_STAND_PRIMARY_LOOP, + ACT_MP_RELOAD_STAND_PRIMARY_END, + ACT_MP_RELOAD_CROUCH_PRIMARY, // CROUCHWALK + ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP, + ACT_MP_RELOAD_CROUCH_PRIMARY_END, + ACT_MP_RELOAD_SWIM_PRIMARY, + ACT_MP_RELOAD_SWIM_PRIMARY_LOOP, + ACT_MP_RELOAD_SWIM_PRIMARY_END, + ACT_MP_RELOAD_AIRWALK_PRIMARY, + ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP, + ACT_MP_RELOAD_AIRWALK_PRIMARY_END, + + ACT_MP_RELOAD_STAND_PRIMARY_2, + ACT_MP_RELOAD_STAND_PRIMARY_LOOP_2, + ACT_MP_RELOAD_STAND_PRIMARY_END_2, + ACT_MP_RELOAD_CROUCH_PRIMARY_2, + ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP_2, + ACT_MP_RELOAD_CROUCH_PRIMARY_END_2, + ACT_MP_RELOAD_SWIM_PRIMARY_2, + ACT_MP_RELOAD_SWIM_PRIMARY_LOOP_2, + ACT_MP_RELOAD_SWIM_PRIMARY_END_2, + ACT_MP_RELOAD_AIRWALK_PRIMARY_2, + ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP_2, + ACT_MP_RELOAD_AIRWALK_PRIMARY_END_2, + + // PRIMARY ALT + ACT_MP_ATTACK_STAND_PRIMARY_ALT, + ACT_MP_ATTACK_CROUCH_PRIMARY_ALT, + ACT_MP_ATTACK_SWIM_PRIMARY_ALT, + ACT_MP_RELOAD_STAND_PRIMARY_ALT, + ACT_MP_RELOAD_CROUCH_PRIMARY_ALT, + ACT_MP_RELOAD_AIRWALK_PRIMARY_ALT, + ACT_MP_RELOAD_STAND_PRIMARY_LOOP_ALT, + ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP_ALT, + ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP_ALT, + ACT_MP_RELOAD_STAND_PRIMARY_END_ALT, + ACT_MP_RELOAD_CROUCH_PRIMARY_END_ALT, + ACT_MP_RELOAD_AIRWALK_PRIMARY_END_ALT, + ACT_MP_RELOAD_SWIM_PRIMARY_ALT, + ACT_MP_ATTACK_STAND_PRIMARY_SUPER, + ACT_MP_ATTACK_CROUCH_PRIMARY_SUPER, + ACT_MP_ATTACK_SWIM_PRIMARY_SUPER, + + ACT_MP_ATTACK_STAND_GRENADE_PRIMARY, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_PRIMARY, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_PRIMARY, + ACT_MP_ATTACK_AIRWALK_GRENADE_PRIMARY, + + // Secondary + ACT_MP_STAND_SECONDARY, + ACT_MP_CROUCH_SECONDARY, + ACT_MP_RUN_SECONDARY, + ACT_MP_WALK_SECONDARY, + ACT_MP_AIRWALK_SECONDARY, + ACT_MP_CROUCHWALK_SECONDARY, + ACT_MP_JUMP_SECONDARY, + ACT_MP_JUMP_START_SECONDARY, + ACT_MP_JUMP_FLOAT_SECONDARY, + ACT_MP_JUMP_LAND_SECONDARY, + ACT_MP_SWIM_SECONDARY, + + ACT_MP_ATTACK_STAND_SECONDARY, // RUN, WALK + ACT_MP_ATTACK_CROUCH_SECONDARY, // CROUCHWALK + ACT_MP_ATTACK_SWIM_SECONDARY, + ACT_MP_ATTACK_AIRWALK_SECONDARY, + + ACT_MP_RELOAD_STAND_SECONDARY, // RUN, WALK + ACT_MP_RELOAD_STAND_SECONDARY_LOOP, + ACT_MP_RELOAD_STAND_SECONDARY_END, + ACT_MP_RELOAD_CROUCH_SECONDARY, // CROUCHWALK + ACT_MP_RELOAD_CROUCH_SECONDARY_LOOP, + ACT_MP_RELOAD_CROUCH_SECONDARY_END, + ACT_MP_RELOAD_SWIM_SECONDARY, + ACT_MP_RELOAD_SWIM_SECONDARY_LOOP, + ACT_MP_RELOAD_SWIM_SECONDARY_END, + ACT_MP_RELOAD_AIRWALK_SECONDARY, + ACT_MP_RELOAD_AIRWALK_SECONDARY_LOOP, + ACT_MP_RELOAD_AIRWALK_SECONDARY_END, + + ACT_MP_RELOAD_STAND_SECONDARY_2, + ACT_MP_RELOAD_CROUCH_SECONDARY_2, + ACT_MP_RELOAD_SWIM_SECONDARY_2, + ACT_MP_RELOAD_AIRWALK_SECONDARY_2, + + ACT_MP_ATTACK_STAND_GRENADE_SECONDARY, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_SECONDARY, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_SECONDARY, + ACT_MP_ATTACK_AIRWALK_GRENADE_SECONDARY, + + // Secondary2 + ACT_MP_STAND_SECONDARY2, + ACT_MP_CROUCH_SECONDARY2, + ACT_MP_RUN_SECONDARY2, + ACT_MP_WALK_SECONDARY2, + ACT_MP_AIRWALK_SECONDARY2, + ACT_MP_CROUCHWALK_SECONDARY2, + ACT_MP_JUMP_SECONDARY2, + ACT_MP_JUMP_START_SECONDARY2, + ACT_MP_JUMP_FLOAT_SECONDARY2, + ACT_MP_JUMP_LAND_SECONDARY2, + ACT_MP_SWIM_SECONDARY2, + + ACT_MP_ATTACK_STAND_SECONDARY2, // RUN, WALK + ACT_MP_ATTACK_CROUCH_SECONDARY2, // CROUCHWALK + ACT_MP_ATTACK_SWIM_SECONDARY2, + ACT_MP_ATTACK_AIRWALK_SECONDARY2, + + ACT_MP_RELOAD_STAND_SECONDARY2, // RUN, WALK + ACT_MP_RELOAD_STAND_SECONDARY2_LOOP, + ACT_MP_RELOAD_STAND_SECONDARY2_END, + ACT_MP_RELOAD_CROUCH_SECONDARY2, // CROUCHWALK + ACT_MP_RELOAD_CROUCH_SECONDARY2_LOOP, + ACT_MP_RELOAD_CROUCH_SECONDARY2_END, + ACT_MP_RELOAD_SWIM_SECONDARY2, + ACT_MP_RELOAD_SWIM_SECONDARY2_LOOP, + ACT_MP_RELOAD_SWIM_SECONDARY2_END, + ACT_MP_RELOAD_AIRWALK_SECONDARY2, + ACT_MP_RELOAD_AIRWALK_SECONDARY2_LOOP, + ACT_MP_RELOAD_AIRWALK_SECONDARY2_END, + + // Melee + ACT_MP_STAND_MELEE, + ACT_MP_CROUCH_MELEE, + ACT_MP_RUN_MELEE, + ACT_MP_WALK_MELEE, + ACT_MP_AIRWALK_MELEE, + ACT_MP_CROUCHWALK_MELEE, + ACT_MP_JUMP_MELEE, + ACT_MP_JUMP_START_MELEE, + ACT_MP_JUMP_FLOAT_MELEE, + ACT_MP_JUMP_LAND_MELEE, + ACT_MP_SWIM_MELEE, + + ACT_MP_ATTACK_STAND_MELEE, // RUN, WALK + ACT_MP_ATTACK_STAND_MELEE_SECONDARY, + ACT_MP_ATTACK_CROUCH_MELEE, // CROUCHWALK + ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY, + ACT_MP_ATTACK_SWIM_MELEE, + ACT_MP_ATTACK_AIRWALK_MELEE, + + ACT_MP_ATTACK_STAND_GRENADE_MELEE, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_MELEE, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_MELEE, + ACT_MP_ATTACK_AIRWALK_GRENADE_MELEE, + + // Item1 + ACT_MP_STAND_ITEM1, + ACT_MP_CROUCH_ITEM1, + ACT_MP_RUN_ITEM1, + ACT_MP_WALK_ITEM1, + ACT_MP_AIRWALK_ITEM1, + ACT_MP_CROUCHWALK_ITEM1, + ACT_MP_JUMP_ITEM1, + ACT_MP_JUMP_START_ITEM1, + ACT_MP_JUMP_FLOAT_ITEM1, + ACT_MP_JUMP_LAND_ITEM1, + ACT_MP_SWIM_ITEM1, + + ACT_MP_ATTACK_STAND_ITEM1, // RUN, WALK + ACT_MP_ATTACK_STAND_ITEM1_SECONDARY, + ACT_MP_ATTACK_CROUCH_ITEM1, // CROUCHWALK + ACT_MP_ATTACK_CROUCH_ITEM1_SECONDARY, + ACT_MP_ATTACK_SWIM_ITEM1, + ACT_MP_ATTACK_AIRWALK_ITEM1, + + ACT_MP_DEPLOYED_ITEM1, + ACT_MP_DEPLOYED_IDLE_ITEM1, + ACT_MP_CROUCHWALK_DEPLOYED_ITEM1, + ACT_MP_CROUCH_DEPLOYED_IDLE_ITEM1, + ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED_ITEM1, + ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED_ITEM1, + + // Item2 + ACT_MP_STAND_ITEM2, + ACT_MP_CROUCH_ITEM2, + ACT_MP_RUN_ITEM2, + ACT_MP_WALK_ITEM2, + ACT_MP_AIRWALK_ITEM2, + ACT_MP_CROUCHWALK_ITEM2, + ACT_MP_JUMP_ITEM2, + ACT_MP_JUMP_START_ITEM2, + ACT_MP_JUMP_FLOAT_ITEM2, + ACT_MP_JUMP_LAND_ITEM2, + ACT_MP_SWIM_ITEM2, + + ACT_MP_ATTACK_STAND_ITEM2, // RUN, WALK + ACT_MP_ATTACK_STAND_ITEM2_SECONDARY, + ACT_MP_ATTACK_CROUCH_ITEM2, // CROUCHWALK + ACT_MP_ATTACK_CROUCH_ITEM2_SECONDARY, + ACT_MP_ATTACK_SWIM_ITEM2, + ACT_MP_ATTACK_AIRWALK_ITEM2, + + ACT_MP_ATTACK_STAND_HARD_ITEM2, + ACT_MP_ATTACK_CROUCH_HARD_ITEM2, + ACT_MP_ATTACK_SWIM_HARD_ITEM2, + + ACT_MP_DEPLOYED_ITEM2, + ACT_MP_DEPLOYED_IDLE_ITEM2, + ACT_MP_CROUCHWALK_DEPLOYED_ITEM2, + ACT_MP_CROUCH_DEPLOYED_IDLE_ITEM2, + ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED_ITEM2, + ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED_ITEM2, + + ACT_MP_RELOAD_STAND_ITEM2, // RUN, WALK + ACT_MP_RELOAD_STAND_ITEM2_LOOP, + ACT_MP_RELOAD_STAND_ITEM2_END, + ACT_MP_RELOAD_CROUCH_ITEM2, // CROUCHWALK + ACT_MP_RELOAD_CROUCH_ITEM2_LOOP, + ACT_MP_RELOAD_CROUCH_ITEM2_END, + ACT_MP_RELOAD_SWIM_ITEM2, + ACT_MP_RELOAD_SWIM_ITEM2_LOOP, + ACT_MP_RELOAD_SWIM_ITEM2_END, + ACT_MP_RELOAD_AIRWALK_ITEM2, + ACT_MP_RELOAD_AIRWALK_ITEM2_LOOP, + ACT_MP_RELOAD_AIRWALK_ITEM2_END, + ACT_MP_RELOAD_NO_AMMO_ITEM2, + + ACT_MP_ATTACK_STAND_GRENADE_ITEM2, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_ITEM2, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_ITEM2, + ACT_MP_ATTACK_AIRWALK_GRENADE_ITEM2, + + // Passtime + ACT_MP_STAND_PASSTIME, + ACT_MP_RUN_PASSTIME, + ACT_MP_CROUCHWALK_PASSTIME, + + // Flinches + ACT_MP_GESTURE_FLINCH, + ACT_MP_GESTURE_FLINCH_PRIMARY, + ACT_MP_GESTURE_FLINCH_SECONDARY, + ACT_MP_GESTURE_FLINCH_MELEE, + ACT_MP_GESTURE_FLINCH_ITEM1, + ACT_MP_GESTURE_FLINCH_ITEM2, + + ACT_MP_GESTURE_FLINCH_HEAD, + ACT_MP_GESTURE_FLINCH_CHEST, + ACT_MP_GESTURE_FLINCH_STOMACH, + ACT_MP_GESTURE_FLINCH_LEFTARM, + ACT_MP_GESTURE_FLINCH_RIGHTARM, + ACT_MP_GESTURE_FLINCH_LEFTLEG, + ACT_MP_GESTURE_FLINCH_RIGHTLEG, + +// Team Fortress specific - medic heal, medic infect, etc..... + ACT_MP_GRENADE1_DRAW, + ACT_MP_GRENADE1_IDLE, + ACT_MP_GRENADE1_ATTACK, + ACT_MP_GRENADE2_DRAW, + ACT_MP_GRENADE2_IDLE, + ACT_MP_GRENADE2_ATTACK, + + ACT_MP_PRIMARY_GRENADE1_DRAW, + ACT_MP_PRIMARY_GRENADE1_IDLE, + ACT_MP_PRIMARY_GRENADE1_ATTACK, + ACT_MP_PRIMARY_GRENADE2_DRAW, + ACT_MP_PRIMARY_GRENADE2_IDLE, + ACT_MP_PRIMARY_GRENADE2_ATTACK, + + ACT_MP_SECONDARY_GRENADE1_DRAW, + ACT_MP_SECONDARY_GRENADE1_IDLE, + ACT_MP_SECONDARY_GRENADE1_ATTACK, + ACT_MP_SECONDARY_GRENADE2_DRAW, + ACT_MP_SECONDARY_GRENADE2_IDLE, + ACT_MP_SECONDARY_GRENADE2_ATTACK, + + ACT_MP_MELEE_GRENADE1_DRAW, + ACT_MP_MELEE_GRENADE1_IDLE, + ACT_MP_MELEE_GRENADE1_ATTACK, + ACT_MP_MELEE_GRENADE2_DRAW, + ACT_MP_MELEE_GRENADE2_IDLE, + ACT_MP_MELEE_GRENADE2_ATTACK, + + ACT_MP_ITEM1_GRENADE1_DRAW, + ACT_MP_ITEM1_GRENADE1_IDLE, + ACT_MP_ITEM1_GRENADE1_ATTACK, + ACT_MP_ITEM1_GRENADE2_DRAW, + ACT_MP_ITEM1_GRENADE2_IDLE, + ACT_MP_ITEM1_GRENADE2_ATTACK, + + ACT_MP_ITEM2_GRENADE1_DRAW, + ACT_MP_ITEM2_GRENADE1_IDLE, + ACT_MP_ITEM2_GRENADE1_ATTACK, + ACT_MP_ITEM2_GRENADE2_DRAW, + ACT_MP_ITEM2_GRENADE2_IDLE, + ACT_MP_ITEM2_GRENADE2_ATTACK, + + // Building + ACT_MP_STAND_BUILDING, + ACT_MP_CROUCH_BUILDING, + ACT_MP_RUN_BUILDING, + ACT_MP_WALK_BUILDING, + ACT_MP_AIRWALK_BUILDING, + ACT_MP_CROUCHWALK_BUILDING, + ACT_MP_JUMP_BUILDING, + ACT_MP_JUMP_START_BUILDING, + ACT_MP_JUMP_FLOAT_BUILDING, + ACT_MP_JUMP_LAND_BUILDING, + ACT_MP_SWIM_BUILDING, + + ACT_MP_ATTACK_STAND_BUILDING, // RUN, WALK + ACT_MP_ATTACK_CROUCH_BUILDING, // CROUCHWALK + ACT_MP_ATTACK_SWIM_BUILDING, + ACT_MP_ATTACK_AIRWALK_BUILDING, + + ACT_MP_ATTACK_STAND_GRENADE_BUILDING, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_BUILDING, + ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING, + + // Building + ACT_MP_STAND_BUILDING_DEPLOYED, + ACT_MP_CROUCH_BUILDING_DEPLOYED, + ACT_MP_RUN_BUILDING_DEPLOYED, + ACT_MP_WALK_BUILDING_DEPLOYED, + ACT_MP_AIRWALK_BUILDING_DEPLOYED, + ACT_MP_CROUCHWALK_BUILDING_DEPLOYED, + ACT_MP_JUMP_BUILDING_DEPLOYED, + ACT_MP_JUMP_START_BUILDING_DEPLOYED, + ACT_MP_JUMP_FLOAT_BUILDING_DEPLOYED, + ACT_MP_JUMP_LAND_BUILDING_DEPLOYED, + ACT_MP_SWIM_BUILDING_DEPLOYED, + + ACT_MP_ATTACK_STAND_BUILDING_DEPLOYED, // RUN, WALK + ACT_MP_ATTACK_CROUCH_BUILDING_DEPLOYED, // CROUCHWALK + ACT_MP_ATTACK_SWIM_BUILDING_DEPLOYED, + ACT_MP_ATTACK_AIRWALK_BUILDING_DEPLOYED, + + ACT_MP_ATTACK_STAND_GRENADE_BUILDING_DEPLOYED, // RUN, WALK + ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING_DEPLOYED, // CROUCHWALK + ACT_MP_ATTACK_SWIM_GRENADE_BUILDING_DEPLOYED, + ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING_DEPLOYED, + + ACT_MP_STAND_PDA, + ACT_MP_CROUCH_PDA, + ACT_MP_RUN_PDA, + ACT_MP_WALK_PDA, + ACT_MP_AIRWALK_PDA, + ACT_MP_CROUCHWALK_PDA, + ACT_MP_JUMP_PDA, + ACT_MP_JUMP_START_PDA, + ACT_MP_JUMP_FLOAT_PDA, + ACT_MP_JUMP_LAND_PDA, + ACT_MP_SWIM_PDA, + + ACT_MP_ATTACK_STAND_PDA, + ACT_MP_ATTACK_SWIM_PDA, + + ACT_MP_STAND_LOSERSTATE, + ACT_MP_CROUCH_LOSERSTATE, + ACT_MP_RUN_LOSERSTATE, + ACT_MP_WALK_LOSERSTATE, + ACT_MP_AIRWALK_LOSERSTATE, + ACT_MP_CROUCHWALK_LOSERSTATE, + ACT_MP_JUMP_LOSERSTATE, + ACT_MP_JUMP_START_LOSERSTATE, + ACT_MP_JUMP_FLOAT_LOSERSTATE, + ACT_MP_JUMP_LAND_LOSERSTATE, + ACT_MP_SWIM_LOSERSTATE, + ACT_MP_DOUBLEJUMP_LOSERSTATE, + + ACT_MP_DOUBLEJUMP_CROUCH, + ACT_MP_DOUBLEJUMP_CROUCH_PRIMARY, + ACT_MP_DOUBLEJUMP_CROUCH_SECONDARY, + ACT_MP_DOUBLEJUMP_CROUCH_MELEE, + ACT_MP_DOUBLEJUMP_CROUCH_ITEM1, + ACT_MP_DOUBLEJUMP_CROUCH_ITEM2, + ACT_MP_DOUBLEJUMP_CROUCH_LOSERSTATE, + ACT_MP_DOUBLEJUMP_CROUCH_PASSTIME, + + ACT_MP_GESTURE_VC_HANDMOUTH, + ACT_MP_GESTURE_VC_FINGERPOINT, + ACT_MP_GESTURE_VC_FISTPUMP, + ACT_MP_GESTURE_VC_THUMBSUP, + ACT_MP_GESTURE_VC_NODYES, + ACT_MP_GESTURE_VC_NODNO, + + ACT_MP_GESTURE_VC_HANDMOUTH_PRIMARY, + ACT_MP_GESTURE_VC_FINGERPOINT_PRIMARY, + ACT_MP_GESTURE_VC_FISTPUMP_PRIMARY, + ACT_MP_GESTURE_VC_THUMBSUP_PRIMARY, + ACT_MP_GESTURE_VC_NODYES_PRIMARY, + ACT_MP_GESTURE_VC_NODNO_PRIMARY, + + ACT_MP_GESTURE_VC_HANDMOUTH_SECONDARY, + ACT_MP_GESTURE_VC_FINGERPOINT_SECONDARY, + ACT_MP_GESTURE_VC_FISTPUMP_SECONDARY, + ACT_MP_GESTURE_VC_THUMBSUP_SECONDARY, + ACT_MP_GESTURE_VC_NODYES_SECONDARY, + ACT_MP_GESTURE_VC_NODNO_SECONDARY, + + ACT_MP_GESTURE_VC_HANDMOUTH_MELEE, + ACT_MP_GESTURE_VC_FINGERPOINT_MELEE, + ACT_MP_GESTURE_VC_FISTPUMP_MELEE, + ACT_MP_GESTURE_VC_THUMBSUP_MELEE, + ACT_MP_GESTURE_VC_NODYES_MELEE, + ACT_MP_GESTURE_VC_NODNO_MELEE, + + ACT_MP_GESTURE_VC_HANDMOUTH_ITEM1, + ACT_MP_GESTURE_VC_FINGERPOINT_ITEM1, + ACT_MP_GESTURE_VC_FISTPUMP_ITEM1, + ACT_MP_GESTURE_VC_THUMBSUP_ITEM1, + ACT_MP_GESTURE_VC_NODYES_ITEM1, + ACT_MP_GESTURE_VC_NODNO_ITEM1, + + ACT_MP_GESTURE_VC_HANDMOUTH_ITEM2, + ACT_MP_GESTURE_VC_FINGERPOINT_ITEM2, + ACT_MP_GESTURE_VC_FISTPUMP_ITEM2, + ACT_MP_GESTURE_VC_THUMBSUP_ITEM2, + ACT_MP_GESTURE_VC_NODYES_ITEM2, + ACT_MP_GESTURE_VC_NODNO_ITEM2, + + ACT_MP_GESTURE_VC_HANDMOUTH_BUILDING, + ACT_MP_GESTURE_VC_FINGERPOINT_BUILDING, + ACT_MP_GESTURE_VC_FISTPUMP_BUILDING, + ACT_MP_GESTURE_VC_THUMBSUP_BUILDING, + ACT_MP_GESTURE_VC_NODYES_BUILDING, + ACT_MP_GESTURE_VC_NODNO_BUILDING, + + ACT_MP_GESTURE_VC_HANDMOUTH_PDA, + ACT_MP_GESTURE_VC_FINGERPOINT_PDA, + ACT_MP_GESTURE_VC_FISTPUMP_PDA, + ACT_MP_GESTURE_VC_THUMBSUP_PDA, + ACT_MP_GESTURE_VC_NODYES_PDA, + ACT_MP_GESTURE_VC_NODNO_PDA, + + ACT_MP_STUN_BEGIN, + ACT_MP_STUN_MIDDLE, + ACT_MP_STUN_END, + + ACT_MP_PASSTIME_THROW_BEGIN, + ACT_MP_PASSTIME_THROW_MIDDLE, + ACT_MP_PASSTIME_THROW_END, + ACT_MP_PASSTIME_THROW_CANCEL, + + ACT_VM_UNUSABLE, + ACT_VM_UNUSABLE_TO_USABLE, + ACT_VM_USABLE_TO_UNUSABLE, + + // Specific viewmodel activities for weapon roles + ACT_PRIMARY_VM_DRAW, + ACT_PRIMARY_VM_HOLSTER, + ACT_PRIMARY_VM_IDLE, + ACT_PRIMARY_VM_PULLBACK, + ACT_PRIMARY_VM_PRIMARYATTACK, + ACT_PRIMARY_VM_SECONDARYATTACK, + ACT_PRIMARY_VM_RELOAD, + ACT_PRIMARY_RELOAD_START, + ACT_PRIMARY_RELOAD_FINISH, + ACT_PRIMARY_VM_DRYFIRE, + ACT_PRIMARY_VM_IDLE_TO_LOWERED, + ACT_PRIMARY_VM_IDLE_LOWERED, + ACT_PRIMARY_VM_LOWERED_TO_IDLE, + ACT_PRIMARY_VM_RELOAD_2, + ACT_PRIMARY_RELOAD_START_2, + ACT_PRIMARY_RELOAD_FINISH_2, + ACT_PRIMARY_VM_RELOAD_3, + ACT_PRIMARY_RELOAD_START_3, + ACT_PRIMARY_RELOAD_FINISH_3, + ACT_PRIMARY_VM_PRIMARYATTACK_3, + + ACT_SECONDARY_VM_DRAW, + ACT_SECONDARY_VM_HOLSTER, + ACT_SECONDARY_VM_IDLE, + ACT_SECONDARY_VM_PULLBACK, + ACT_SECONDARY_VM_PRIMARYATTACK, + ACT_SECONDARY_VM_SECONDARYATTACK, + ACT_SECONDARY_VM_RELOAD, + ACT_SECONDARY_RELOAD_START, + ACT_SECONDARY_RELOAD_FINISH, + ACT_SECONDARY_VM_RELOAD2, + ACT_SECONDARY_VM_DRYFIRE, + ACT_SECONDARY_VM_IDLE_TO_LOWERED, + ACT_SECONDARY_VM_IDLE_LOWERED, + ACT_SECONDARY_VM_LOWERED_TO_IDLE, + + ACT_SECONDARY_VM_DRAW_2, + ACT_SECONDARY_VM_IDLE_2, + ACT_SECONDARY_VM_PRIMARYATTACK_2, + ACT_SECONDARY_VM_RELOAD_2, + + ACT_MELEE_VM_DRAW, + ACT_MELEE_VM_HOLSTER, + ACT_MELEE_VM_IDLE, + ACT_MELEE_VM_PULLBACK, + ACT_MELEE_VM_PRIMARYATTACK, + ACT_MELEE_VM_SECONDARYATTACK, + ACT_MELEE_VM_RELOAD, + ACT_MELEE_VM_DRYFIRE, + ACT_MELEE_VM_IDLE_TO_LOWERED, + ACT_MELEE_VM_IDLE_LOWERED, + ACT_MELEE_VM_LOWERED_TO_IDLE, + ACT_MELEE_VM_STUN, + ACT_MELEE_VM_HITCENTER, + ACT_MELEE_VM_SWINGHARD, + + ACT_PDA_VM_DRAW, + ACT_PDA_VM_HOLSTER, + ACT_PDA_VM_IDLE, + ACT_PDA_VM_PULLBACK, + ACT_PDA_VM_PRIMARYATTACK, + ACT_PDA_VM_SECONDARYATTACK, + ACT_PDA_VM_RELOAD, + ACT_PDA_VM_DRYFIRE, + ACT_PDA_VM_IDLE_TO_LOWERED, + ACT_PDA_VM_IDLE_LOWERED, + ACT_PDA_VM_LOWERED_TO_IDLE, + + ACT_ENGINEER_PDA1_VM_DRAW, + ACT_ENGINEER_PDA2_VM_DRAW, + ACT_ENGINEER_BLD_VM_DRAW, + ACT_ENGINEER_PDA1_VM_IDLE, + ACT_ENGINEER_PDA2_VM_IDLE, + ACT_ENGINEER_BLD_VM_IDLE, + + ACT_ITEM1_VM_DRAW, + ACT_ITEM1_VM_HOLSTER, + ACT_ITEM1_VM_IDLE, + ACT_ITEM1_VM_IDLE_2, + ACT_ITEM1_VM_PULLBACK, + ACT_ITEM1_VM_PRIMARYATTACK, + ACT_ITEM1_VM_SECONDARYATTACK, + ACT_ITEM1_VM_RELOAD, + ACT_ITEM1_VM_DRYFIRE, + ACT_ITEM1_VM_IDLE_TO_LOWERED, + ACT_ITEM1_VM_IDLE_LOWERED, + ACT_ITEM1_VM_LOWERED_TO_IDLE, + ACT_ITEM1_RELOAD_START, + ACT_ITEM1_RELOAD_FINISH, + ACT_ITEM1_VM_HITCENTER, + ACT_ITEM1_VM_SWINGHARD, + ACT_ITEM1_BACKSTAB_VM_UP, + ACT_ITEM1_BACKSTAB_VM_DOWN, + ACT_ITEM1_BACKSTAB_VM_IDLE, + ACT_MELEE_VM_ITEM1_STUN, + + ACT_ITEM2_VM_DRAW, + ACT_ITEM2_VM_HOLSTER, + ACT_ITEM2_VM_IDLE, + ACT_ITEM2_VM_PULLBACK, + ACT_ITEM2_VM_PRIMARYATTACK, + ACT_ITEM2_VM_SECONDARYATTACK, + ACT_ITEM2_VM_RELOAD, + ACT_ITEM2_VM_DRYFIRE, + ACT_ITEM2_VM_IDLE_TO_LOWERED, + ACT_ITEM2_VM_IDLE_LOWERED, + ACT_ITEM2_VM_LOWERED_TO_IDLE, + ACT_ITEM2_VM_CHARGE, + ACT_ITEM2_VM_IDLE_2, + ACT_ITEM2_VM_IDLE_3, + ACT_ITEM2_VM_CHARGE_IDLE_3, + ACT_ITEM2_VM_HITCENTER, + ACT_ITEM2_VM_SWINGHARD, + ACT_ITEM2_BACKSTAB_VM_UP, + ACT_ITEM2_BACKSTAB_VM_DOWN, + ACT_ITEM2_BACKSTAB_VM_IDLE, + ACT_MELEE_VM_ITEM2_STUN, + + ACT_ITEM3_VM_DRAW, + ACT_ITEM3_VM_HOLSTER, + ACT_ITEM3_VM_IDLE, + ACT_ITEM3_VM_PULLBACK, + ACT_ITEM3_VM_PRIMARYATTACK, + ACT_ITEM3_VM_SECONDARYATTACK, + ACT_ITEM3_VM_RELOAD, + ACT_ITEM3_VM_DRYFIRE, + ACT_ITEM3_VM_IDLE_TO_LOWERED, + ACT_ITEM3_VM_IDLE_LOWERED, + ACT_ITEM3_VM_LOWERED_TO_IDLE, + ACT_ITEM3_VM_CHARGE, + ACT_ITEM3_VM_IDLE_2, + ACT_ITEM3_VM_IDLE_3, + ACT_ITEM3_VM_CHARGE_IDLE_3, + ACT_ITEM3_VM_HITCENTER, + ACT_ITEM3_VM_SWINGHARD, + + ACT_SECONDARY2_VM_DRAW, + ACT_SECONDARY2_VM_HOLSTER, + ACT_SECONDARY2_VM_IDLE, + ACT_SECONDARY2_VM_PULLBACK, + ACT_SECONDARY2_VM_PRIMARYATTACK, + ACT_SECONDARY2_VM_SECONDARY2ATTACK, + ACT_SECONDARY2_VM_RELOAD, + ACT_SECONDARY2_RELOAD_START, + ACT_SECONDARY2_RELOAD_FINISH, + ACT_SECONDARY2_VM_RELOAD2, + ACT_SECONDARY2_VM_DRYFIRE, + ACT_SECONDARY2_VM_IDLE_TO_LOWERED, + ACT_SECONDARY2_VM_IDLE_LOWERED, + ACT_SECONDARY2_VM_LOWERED_TO_IDLE, + + ACT_BACKSTAB_VM_UP, + ACT_BACKSTAB_VM_DOWN, + ACT_BACKSTAB_VM_IDLE, + + ACT_PRIMARY_ATTACK_STAND_PREFIRE, + ACT_PRIMARY_ATTACK_STAND_POSTFIRE, + ACT_PRIMARY_ATTACK_STAND_STARTFIRE, + ACT_PRIMARY_ATTACK_CROUCH_PREFIRE, + ACT_PRIMARY_ATTACK_CROUCH_POSTFIRE, + ACT_PRIMARY_ATTACK_SWIM_PREFIRE, + ACT_PRIMARY_ATTACK_SWIM_POSTFIRE, + + ACT_SECONDARY_ATTACK_STAND_PREFIRE, + ACT_SECONDARY_ATTACK_STAND_POSTFIRE, + ACT_SECONDARY_ATTACK_STAND_STARTFIRE, + ACT_SECONDARY_ATTACK_CROUCH_PREFIRE, + ACT_SECONDARY_ATTACK_CROUCH_POSTFIRE, + ACT_SECONDARY_ATTACK_SWIM_PREFIRE, + ACT_SECONDARY_ATTACK_SWIM_POSTFIRE, + + ACT_MELEE_ATTACK_STAND_PREFIRE, + ACT_MELEE_ATTACK_STAND_POSTFIRE, + ACT_MELEE_ATTACK_STAND_STARTFIRE, + ACT_MELEE_ATTACK_CROUCH_PREFIRE, + ACT_MELEE_ATTACK_CROUCH_POSTFIRE, + ACT_MELEE_ATTACK_SWIM_PREFIRE, + ACT_MELEE_ATTACK_SWIM_POSTFIRE, + + ACT_ITEM1_ATTACK_STAND_PREFIRE, + ACT_ITEM1_ATTACK_STAND_POSTFIRE, + ACT_ITEM1_ATTACK_STAND_STARTFIRE, + ACT_ITEM1_ATTACK_CROUCH_PREFIRE, + ACT_ITEM1_ATTACK_CROUCH_POSTFIRE, + ACT_ITEM1_ATTACK_SWIM_PREFIRE, + ACT_ITEM1_ATTACK_SWIM_POSTFIRE, + + ACT_ITEM2_ATTACK_STAND_PREFIRE, + ACT_ITEM2_ATTACK_STAND_POSTFIRE, + ACT_ITEM2_ATTACK_STAND_STARTFIRE, + ACT_ITEM2_ATTACK_CROUCH_PREFIRE, + ACT_ITEM2_ATTACK_CROUCH_POSTFIRE, + ACT_ITEM2_ATTACK_SWIM_PREFIRE, + ACT_ITEM2_ATTACK_SWIM_POSTFIRE, + + ACT_MP_STAND_MELEE_ALLCLASS, + ACT_MP_CROUCH_MELEE_ALLCLASS, + ACT_MP_RUN_MELEE_ALLCLASS, + ACT_MP_WALK_MELEE_ALLCLASS, + ACT_MP_AIRWALK_MELEE_ALLCLASS, + ACT_MP_CROUCHWALK_MELEE_ALLCLASS, + ACT_MP_JUMP_MELEE_ALLCLASS, + ACT_MP_JUMP_START_MELEE_ALLCLASS, + ACT_MP_JUMP_FLOAT_MELEE_ALLCLASS, + ACT_MP_JUMP_LAND_MELEE_ALLCLASS, + ACT_MP_SWIM_MELEE_ALLCLASS, + + ACT_MP_ATTACK_STAND_MELEE_ALLCLASS, // RUN, WALK + ACT_MP_ATTACK_STAND_MELEE_SECONDARY_ALLCLASS, + ACT_MP_ATTACK_CROUCH_MELEE_ALLCLASS, // CROUCHWALK + ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY_ALLCLASS, + ACT_MP_ATTACK_SWIM_MELEE_ALLCLASS, + ACT_MP_ATTACK_AIRWALK_MELEE_ALLCLASS, + + ACT_MELEE_ALLCLASS_VM_DRAW, + ACT_MELEE_ALLCLASS_VM_HOLSTER, + ACT_MELEE_ALLCLASS_VM_IDLE, + ACT_MELEE_ALLCLASS_VM_PULLBACK, + ACT_MELEE_ALLCLASS_VM_PRIMARYATTACK, + ACT_MELEE_ALLCLASS_VM_SECONDARYATTACK, + ACT_MELEE_ALLCLASS_VM_RELOAD, + ACT_MELEE_ALLCLASS_VM_DRYFIRE, + ACT_MELEE_ALLCLASS_VM_IDLE_TO_LOWERED, + ACT_MELEE_ALLCLASS_VM_IDLE_LOWERED, + ACT_MELEE_ALLCLASS_VM_LOWERED_TO_IDLE, + ACT_MELEE_ALLCLASS_VM_STUN, + ACT_MELEE_ALLCLASS_VM_HITCENTER, + ACT_MELEE_ALLCLASS_VM_SWINGHARD, + + // BOMB activities for TD mode. + ACT_MP_STAND_BOMB, + ACT_MP_JUMP_START_BOMB, + ACT_MP_JUMP_FLOAT_BOMB, + ACT_MP_JUMP_LAND_BOMB, + ACT_MP_RUN_BOMB, + ACT_MP_SWIM_BOMB, + + // More Primary VM activities for Soldier Quake RL + ACT_VM_DRAW_QRL, + ACT_VM_IDLE_QRL, + ACT_VM_PULLBACK_QRL, + ACT_VM_PRIMARYATTACK_QRL, + ACT_VM_RELOAD_QRL, + ACT_VM_RELOAD_START_QRL, + ACT_VM_RELOAD_FINISH_QRL, + + // Third person anims for the Soldier Quake RL + ACT_MP_RELOAD_STAND_PRIMARY3, + ACT_MP_RELOAD_CROUCH_PRIMARY3, + ACT_MP_RELOAD_AIRWALK_PRIMARY3, + ACT_MP_RELOAD_STAND_PRIMARY3_LOOP, + ACT_MP_RELOAD_CROUCH_PRIMARY3_LOOP, + ACT_MP_RELOAD_AIRWALK_PRIMARY3_LOOP, + ACT_MP_RELOAD_STAND_PRIMARY3_END, + ACT_MP_RELOAD_CROUCH_PRIMARY3_END, + ACT_MP_RELOAD_AIRWALK_PRIMARY3_END, + ACT_MP_RELOAD_SWIM_PRIMARY3, + + // Throwable Animations + ACT_MP_THROW, + ACT_THROWABLE_VM_DRAW, + ACT_THROWABLE_VM_IDLE, + ACT_THROWABLE_VM_FIRE, + + // Spell Animations + ACT_SPELL_VM_DRAW, + ACT_SPELL_VM_IDLE, + ACT_SPELL_VM_ARM, + ACT_SPELL_VM_FIRE, + + // Bread Monster Sapper + ACT_BREADSAPPER_VM_DRAW, + ACT_BREADSAPPER_VM_IDLE, + + // Bread Gloves + ACT_BREADGLOVES_VM_HITLEFT, + ACT_BREADGLOVES_VM_HITRIGHT, + ACT_BREADGLOVES_VM_SWINGHARD, + ACT_BREADGLOVES_VM_IDLE, + ACT_BREADGLOVES_VM_DRAW, + + ACT_BREADMONSTER_GLOVES_IDLE, + ACT_BREADMONSTER_GLOVES_HITRIGHT, + ACT_BREADMONSTER_GLOVES_HITUP, + + ACT_BREADMONSTER_VM_DRAW, + ACT_BREADMONSTER_VM_IDLE, + ACT_BREADMONSTER_VM_PRIMARYATTACK, + + ACT_PARACHUTE_DEPLOY, + ACT_PARACHUTE_DEPLOY_IDLE, + ACT_PARACHUTE_RETRACT, + ACT_PARACHUTE_RETRACT_IDLE, + + ACT_BOT_SPAWN, + ACT_BOT_PANIC, + ACT_BOT_PRIMARY_MOVEMENT, + ACT_BOT_GESTURE_FLINCH, + ACT_BOT_PANIC_START, + ACT_BOT_PANIC_END, + + ACT_VM_RELOAD_LONG, + ACT_VM_PRIMARYATTACK_LASTROUND, + ACT_VM_PRIMARYATTACK_MP, + ACT_VM_IDLE_IS, + ACT_VM_IDLE_TO_IS, + ACT_VM_IS_TO_IDLE, + ACT_VM_PRIMARYATTACK_IS, + ACT_VM_PRIMARYATTACK_IS_MP, + ACT_VM_PRIMARYATTACK_LASTROUND_IS_MP, + ACT_VM_SECONDARYATTACK_IS, + ACT_CROSSBOW_HOLSTER_UNLOADED, + ACT_CROSSBOW_BOLT_BACK, + ACT_CROSSBOW_BOLT_BACK_UNLOADED, + ACT_CROSSBOW_IDLE_TO_IS_UNLOADED, + ACT_CROSSBOW_IS_TO_IDLE_UNLOADED, + ACT_VM_OVERCHARGE, + ACT_IDLE_SHOTGUN, + ACT_MP_GESTURE_RANGE_ATTACK, + ACT_MP_GESTURE_RELOAD, + ACT_BMMP_JUMP_GLOCK, + ACT_BMMP_JUMP_357, + ACT_BMMP_JUMP_SHOTGUN, + ACT_BMMP_JUMP_MP5, + ACT_BMMP_JUMP_HIVEHAND, + ACT_BMMP_JUMP_TAU, + ACT_BMMP_JUMP_GLUON, + ACT_BMMP_JUMP_GRENADE, + ACT_BMMP_JUMP_RPG, + ACT_BMMP_JUMP_CROSSBOW, + ACT_BMMP_JUMP_CROWBAR, + ACT_BMMP_JUMP_SATCHEL, + ACT_BMMP_JUMP_TRIPMINE, + ACT_BMMP_JUMP_SNARK, + ACT_BMMP_JUMP_LAND, + ACT_BMMP_JUMP_START_GLOCK, + ACT_BMMP_JUMP_START_357, + ACT_BMMP_JUMP_START_SHOTGUN, + ACT_BMMP_JUMP_START_MP5, + ACT_BMMP_JUMP_START_HIVEHAND, + ACT_BMMP_JUMP_START_TAU, + ACT_BMMP_JUMP_START_GLUON, + ACT_BMMP_JUMP_START_GRENADE, + ACT_BMMP_JUMP_START_RPG, + ACT_BMMP_JUMP_START_CROSSBOW, + ACT_BMMP_JUMP_START_CROWBAR, + ACT_BMMP_JUMP_START_SATCHEL, + ACT_BMMP_JUMP_START_TRIPMINE, + ACT_BMMP_JUMP_START_SNARK, + ACT_BMMP_JUMP_FLOAT_GLOCK, + ACT_BMMP_JUMP_FLOAT_357, + ACT_BMMP_JUMP_FLOAT_SHOTGUN, + ACT_BMMP_JUMP_FLOAT_MP5, + ACT_BMMP_JUMP_FLOAT_HIVEHAND, + ACT_BMMP_JUMP_FLOAT_TAU, + ACT_BMMP_JUMP_FLOAT_GLUON, + ACT_BMMP_JUMP_FLOAT_GRENADE, + ACT_BMMP_JUMP_FLOAT_RPG, + ACT_BMMP_JUMP_FLOAT_CROSSBOW, + ACT_BMMP_JUMP_FLOAT_CROWBAR, + ACT_BMMP_JUMP_FLOAT_SATCHEL, + ACT_BMMP_JUMP_FLOAT_TRIPMINE, + ACT_BMMP_JUMP_FLOAT_SNARK, + ACT_BMMP_SWIM_GLOCK, + ACT_BMMP_SWIM_357, + ACT_BMMP_SWIM_SHOTGUN, + ACT_BMMP_SWIM_MP5, + ACT_BMMP_SWIM_HIVEHAND, + ACT_BMMP_SWIM_TAU, + ACT_BMMP_SWIM_GLUON, + ACT_BMMP_SWIM_GRENADE, + ACT_BMMP_SWIM_RPG, + ACT_BMMP_SWIM_CROSSBOW, + ACT_BMMP_SWIM_CROWBAR, + ACT_BMMP_SWIM_SATCHEL, + ACT_BMMP_SWIM_TRIPMINE, + ACT_BMMP_SWIM_SNARK, + ACT_BMMP_IDLE_GLOCK, + ACT_BMMP_IDLE_357, + ACT_BMMP_IDLE_SHOTGUN, + ACT_BMMP_IDLE_MP5, + ACT_BMMP_IDLE_HIVEHAND, + ACT_BMMP_IDLE_TAU, + ACT_BMMP_IDLE_GLUON, + ACT_BMMP_IDLE_GRENADE, + ACT_BMMP_IDLE_RPG, + ACT_BMMP_IDLE_CROSSBOW, + ACT_BMMP_IDLE_CROWBAR, + ACT_BMMP_IDLE_SATCHEL, + ACT_BMMP_IDLE_TRIPMINE, + ACT_BMMP_IDLE_SNARK, + ACT_BMMP_IDLE_CROUCH_GLOCK, + ACT_BMMP_IDLE_CROUCH_357, + ACT_BMMP_IDLE_CROUCH_SHOTGUN, + ACT_BMMP_IDLE_CROUCH_MP5, + ACT_BMMP_IDLE_CROUCH_HIVEHAND, + ACT_BMMP_IDLE_CROUCH_TAU, + ACT_BMMP_IDLE_CROUCH_GLUON, + ACT_BMMP_IDLE_CROUCH_GRENADE, + ACT_BMMP_IDLE_CROUCH_RPG, + ACT_BMMP_IDLE_CROUCH_CROSSBOW, + ACT_BMMP_IDLE_CROUCH_CROWBAR, + ACT_BMMP_IDLE_CROUCH_SATCHEL, + ACT_BMMP_IDLE_CROUCH_TRIPMINE, + ACT_BMMP_IDLE_CROUCH_SNARK, + ACT_BMMP_WALK_CROUCH_GLOCK, + ACT_BMMP_WALK_CROUCH_357, + ACT_BMMP_WALK_CROUCH_SHOTGUN, + ACT_BMMP_WALK_CROUCH_MP5, + ACT_BMMP_WALK_CROUCH_HIVEHAND, + ACT_BMMP_WALK_CROUCH_TAU, + ACT_BMMP_WALK_CROUCH_GLUON, + ACT_BMMP_WALK_CROUCH_GRENADE, + ACT_BMMP_WALK_CROUCH_RPG, + ACT_BMMP_WALK_CROUCH_CROSSBOW, + ACT_BMMP_WALK_CROUCH_CROWBAR, + ACT_BMMP_WALK_CROUCH_SATCHEL, + ACT_BMMP_WALK_CROUCH_TRIPMINE, + ACT_BMMP_WALK_CROUCH_SNARK, + ACT_BMMP_RUN_GLOCK, + ACT_BMMP_RUN_357, + ACT_BMMP_RUN_SHOTGUN, + ACT_BMMP_RUN_MP5, + ACT_BMMP_RUN_HIVEHAND, + ACT_BMMP_RUN_TAU, + ACT_BMMP_RUN_GLUON, + ACT_BMMP_RUN_GRENADE, + ACT_BMMP_RUN_RPG, + ACT_BMMP_RUN_CROSSBOW, + ACT_BMMP_RUN_CROWBAR, + ACT_BMMP_RUN_SATCHEL, + ACT_BMMP_RUN_TRIPMINE, + ACT_BMMP_RUN_SNARK, + ACT_BMMP_GESTURE_RANGE_ATTACK_GLOCK, + ACT_BMMP_GESTURE_RANGE_ATTACK_357, + ACT_BMMP_GESTURE_RANGE_ATTACK_SHOTGUN, + ACT_BMMP_GESTURE_RANGE_ATTACK_MP5, + ACT_BMMP_GESTURE_RANGE_ATTACK_HIVEHAND, + ACT_BMMP_GESTURE_RANGE_ATTACK_TAU, + ACT_BMMP_GESTURE_RANGE_ATTACK_GLUON, + ACT_BMMP_GESTURE_RANGE_ATTACK_GRENADE, + ACT_BMMP_GESTURE_RANGE_ATTACK_RPG, + ACT_BMMP_GESTURE_RANGE_ATTACK_CROSSBOW, + ACT_BMMP_GESTURE_RANGE_ATTACK_CROWBAR, + ACT_BMMP_GESTURE_RANGE_ATTACK_SATCHEL, + ACT_BMMP_GESTURE_RANGE_ATTACK_SNARK, + ACT_BMMP_GESTURE_RELOAD_GLOCK, + ACT_BMMP_GESTURE_RELOAD_357, + ACT_BMMP_GESTURE_RELOAD_SHOTGUN, + ACT_BMMP_GESTURE_RELOAD_MP5, + ACT_BMMP_GESTURE_RELOAD_CROSSBOW, + ACT_BMMP_GESTURE_RELOAD_RPG, + ACT_ENGINEER_REVOLVER_DRAW, + ACT_ENGINEER_REVOLVER_IDLE, + ACT_ENGINEER_REVOLVER_PRIMARYATTACK, + ACT_ENGINEER_REVOLVER_RELOAD, + ACT_KART_IDLE, + ACT_KART_ACTION_SHOOT, + ACT_KART_ACTION_DASH, + ACT_KART_JUMP_START, + ACT_KART_JUMP_FLOAT, + ACT_KART_JUMP_LAND, + ACT_KART_IMPACT, + ACT_KART_IMPACT_BIG, + ACT_KART_GESTURE_POSITIVE, + ACT_KART_GESTURE_NEGATIVE, + ACT_GRAPPLE_DRAW, + ACT_GRAPPLE_IDLE, + ACT_GRAPPLE_FIRE_START, + ACT_GRAPPLE_FIRE_IDLE, + ACT_GRAPPLE_PULL_START, + ACT_GRAPPLE_PULL_IDLE, + ACT_GRAPPLE_PULL_END, + ACT_PRIMARY_VM_INSPECT_START, + ACT_PRIMARY_VM_INSPECT_IDLE, + ACT_PRIMARY_VM_INSPECT_END, + ACT_SECONDARY_VM_INSPECT_START, + ACT_SECONDARY_VM_INSPECT_IDLE, + ACT_SECONDARY_VM_INSPECT_END, + ACT_MELEE_VM_INSPECT_START, + ACT_MELEE_VM_INSPECT_IDLE, + ACT_MELEE_VM_INSPECT_END, + ACT_BALL_VM_CATCH, + ACT_BALL_VM_PICKUP, + ACT_BALL_VM_IDLE, + ACT_BALL_VM_THROW_START, + ACT_BALL_VM_THROW_LOOP, + ACT_BALL_VM_THROW_END, + ACT_MP_COMPETITIVE_LOSERSTATE, + ACT_MP_COMPETITIVE_WINNERSTATE, + ACT_SECONDARY_VM_ALTATTACK, + ACT_MP_PUSH_STAND_SECONDARY, + ACT_MP_PUSH_CROUCH_SECONDARY, + ACT_MP_PUSH_SWIM_SECONDARY, + ACT_CACTUS_FLINCH +} \ No newline at end of file diff --git a/scripting/include/srccoop/utils.inc b/scripting/include/srccoop/utils.inc index 313fa282..2ee1447d 100644 --- a/scripting/include/srccoop/utils.inc +++ b/scripting/include/srccoop/utils.inc @@ -23,6 +23,27 @@ stock void LoadDHookVirtual(const Handle pGameConfig, Handle& pHandle, const cha } #endif +#if defined _clientprefs_included +stock bool GetCookieBool(Cookie cookie, int client) +{ + static char szBuffer[2]; + cookie.Get(client, szBuffer, sizeof(szBuffer)); + return StringToInt(szBuffer) == 1; +} + +stock void SetCookieBool(Cookie cookie, int client, bool val) +{ + cookie.Set(client, val? "1" : "0"); +} + +stock bool IsCookieSet(Cookie cookie, int client) +{ + static char szBuffer[2]; + cookie.Get(client, szBuffer, sizeof(szBuffer)); + return szBuffer[0] != '\0'; +} +#endif + stock void Msg(int client, const char[] msg, any ...) { int len = strlen(msg) + 255; diff --git a/scripting/include/srccoop_api.inc b/scripting/include/srccoop_api.inc index f6fc8cf0..e3ae3585 100644 --- a/scripting/include/srccoop_api.inc +++ b/scripting/include/srccoop_api.inc @@ -4,6 +4,7 @@ #define _srccoop_api_included #include +#include #include #include @@ -13,10 +14,13 @@ #define SRCCOOP_LIBRARY "SRCCOOP" /* Predefined TopMenu category for player settings */ -#define COOPMENU_CATEGORY_SETTINGS "Player settings" +#define COOPMENU_CATEGORY_PLAYER "PlayerSettings" /* Predefined TopMenu category for sound settings */ -#define COOPMENU_CATEGORY_SOUND_SETTINGS "Sound settings" +#define COOPMENU_CATEGORY_SOUNDS "SoundSettings" + +/* Predefined TopMenu category for other settings */ +#define COOPMENU_CATEGORY_OTHER "Other" /** * Retrieves the handle to the coop TopMenu. diff --git a/scripting/srccoop.sp b/scripting/srccoop.sp index 5bac279c..c82630aa 100644 --- a/scripting/srccoop.sp +++ b/scripting/srccoop.sp @@ -1,5 +1,4 @@ -//Uncomment to disable debugging -//#define NO_DEBUG +//#define NO_DEBUG /* Uncomment to disable debugging */ #include @@ -318,9 +317,12 @@ public void OnPluginEnd() public void OnEntityCreated(int iEntIndex, const char[] szClassname) { - CBaseEntity pEntity = CBaseEntity(iEntIndex); + if(g_bTempDontHookEnts) { + return; + } - if (!g_bTempDontHookEnts && pEntity.IsValid()) + CBaseEntity pEntity = CBaseEntity(iEntIndex); + if (pEntity.IsValid()) { SDKHook(iEntIndex, SDKHook_Spawn, Hook_FixupBrushModels); SDKHook(iEntIndex, SDKHook_SpawnPost, Hook_SpawnPost); @@ -627,10 +629,4 @@ public Action Command_SetFeature(int iClient, int iArgs) MsgReply(iClient, "Unknown feature: %s", szFeature); } return Plugin_Handled; -} - - - -// todo read this later -// http://cdn.akamai.steamstatic.com/steam/apps/362890/manuals/bms_workshop_guide.pdf?t=1431372141 -// https://forums.alliedmods.net/showthread.php?t=314271 \ No newline at end of file +} \ No newline at end of file diff --git a/scripting/srccoop_addon_killsounds.sp b/scripting/srccoop_addon_killsounds.sp index aa8ad28f..2920606d 100644 --- a/scripting/srccoop_addon_killsounds.sp +++ b/scripting/srccoop_addon_killsounds.sp @@ -1,5 +1,6 @@ #include #include + #include #pragma newdecls required @@ -15,10 +16,9 @@ public Plugin myinfo = }; #define SND_KILLNPC "buttons/button10.wav" -#define MENUITEM_TOGGLE "Toggle killsounds" +#define MENUITEM_TOGGLE_KILLSOUNDS "ToggleKillsounds" Cookie pEnabledCookie; -char g_szBuffer[2]; public void OnPluginStart() { @@ -42,10 +42,10 @@ public void OnLibraryAdded(const char[] name) void OnSourceCoopStarted() { TopMenu pCoopMenu = GetCoopTopMenu(); - TopMenuObject pMenuCategory = pCoopMenu.FindCategory(COOPMENU_CATEGORY_SOUND_SETTINGS); + TopMenuObject pMenuCategory = pCoopMenu.FindCategory(COOPMENU_CATEGORY_SOUNDS); if(pMenuCategory != INVALID_TOPMENUOBJECT) { - pCoopMenu.AddItem(MENUITEM_TOGGLE, MyMenuHandler, pMenuCategory); + pCoopMenu.AddItem(MENUITEM_TOGGLE_KILLSOUNDS, MyMenuHandler, pMenuCategory); } } @@ -53,22 +53,21 @@ public void MyMenuHandler(TopMenu topmenu, TopMenuAction action, TopMenuObject o { if (action == TopMenuAction_DisplayOption) { - Format(buffer, maxlength, MENUITEM_TOGGLE); + Format(buffer, maxlength, GetCookieBool(pEnabledCookie, param) ? "Disable killsounds" : "Enable killsounds"); } else if (action == TopMenuAction_SelectOption) { if(AreClientCookiesCached(param)) { - pEnabledCookie.Get(param, g_szBuffer, sizeof(g_szBuffer)); - if(StringToInt(g_szBuffer)) + if(GetCookieBool(pEnabledCookie, param)) { - pEnabledCookie.Set(param, "0"); - Msg(param, "NPC killsounds disabled."); + SetCookieBool(pEnabledCookie, param, false); + Msg(param, "Kill confirm sounds disabled."); } else { - pEnabledCookie.Set(param, "1"); - Msg(param, "NPC killsounds enabled."); + SetCookieBool(pEnabledCookie, param, true); + Msg(param, "Kill confirm sounds enabled."); } } topmenu.Display(param, TopMenuPosition_LastCategory); @@ -82,11 +81,10 @@ public void OnConfigsExecuted() public void OnClientCookiesCached(int client) { - pEnabledCookie.Get(client, g_szBuffer, sizeof(g_szBuffer)); - if(!strlen(g_szBuffer)) + if(!IsCookieSet(pEnabledCookie, client)) { // new player - default to ON - pEnabledCookie.Set(client, "1"); + SetCookieBool(pEnabledCookie, client, true); } } @@ -97,8 +95,7 @@ public void Event_EntityKilled(Event hEvent, const char[] szName, bool bDontBroa if(pAttacker.IsClassPlayer() && pKilled.IsClassNPC()) { - pEnabledCookie.Get(pAttacker.GetEntIndex(), g_szBuffer, sizeof(g_szBuffer)); - if(StringToInt(g_szBuffer)) + if(GetCookieBool(pEnabledCookie, pAttacker.GetEntIndex())) { // double the sound, double the fun (actualy just to hear it over gunfire..) EmitSoundToClient(pAttacker.GetEntIndex(), SND_KILLNPC); diff --git a/scripting/srccoop_addon_scoring.sp b/scripting/srccoop_addon_scoring.sp index 23f05973..18a703c0 100644 --- a/scripting/srccoop_addon_scoring.sp +++ b/scripting/srccoop_addon_scoring.sp @@ -1,7 +1,11 @@ #include -#include -#include #include +#include + +#include + +#pragma newdecls required +#pragma semicolon 1 #define COLOR_MURDER "\x07CC00FF" #define COLOR_MURDER_VICTIM "\x0700B1AF" @@ -9,14 +13,15 @@ #define COLOR_CRIMSON "\x07E31919" #define COLOR_WHITE "\x07FFFFFF" -#pragma newdecls required -#pragma semicolon 1 +#define MENUITEM_TOGGLE_KILLFEED "ToggleKillfeed" + +StringMap hTrie; +Handle hDmgTimer; +StringMap hDmgTrie; +StringMap hComboTimeTrie; +ArrayList lNpcDamageTracker; -static Handle hTrie = INVALID_HANDLE; -static Handle hDmgTimer; -static Handle hDmgTrie = INVALID_HANDLE; -static Handle hComboTimeTrie = INVALID_HANDLE; -static ArrayList lNpcDamageTracker; +Cookie pKillfeedEnabledCookie; public Plugin myinfo = { @@ -31,17 +36,68 @@ public void OnPluginStart() { PopulateEntityNameMap(); InitComboTracker(); - HookEvent("entity_killed", Event_EntKilled, EventHookMode_Pre); + HookEvent("entity_killed", Event_EntKilled); + pKillfeedEnabledCookie = new Cookie("sourcecoop_killfeed_enabled", "Killfeed", CookieAccess_Protected); + + if (LibraryExists(SRCCOOP_LIBRARY)) + { + OnSourceCoopStarted(); + } +} + +public void OnLibraryAdded(const char[] name) +{ + if(StrEqual(name, SRCCOOP_LIBRARY)) + { + OnSourceCoopStarted(); + } +} + +void OnSourceCoopStarted() +{ + TopMenu pCoopMenu = GetCoopTopMenu(); + TopMenuObject pMenuCategory = pCoopMenu.FindCategory(COOPMENU_CATEGORY_OTHER); + if(pMenuCategory != INVALID_TOPMENUOBJECT) + { + pCoopMenu.AddItem(MENUITEM_TOGGLE_KILLFEED, MyMenuHandler, pMenuCategory); + } +} + +public void MyMenuHandler(TopMenu topmenu, TopMenuAction action, TopMenuObject topobj_id, int param, char[] buffer, int maxlength) +{ + if (action == TopMenuAction_DisplayOption) + { + Format(buffer, maxlength, GetCookieBool(pKillfeedEnabledCookie, param) ? "Disable killfeed" : "Enable killfeed"); + } + else if (action == TopMenuAction_SelectOption) + { + if(AreClientCookiesCached(param)) + { + if(GetCookieBool(pKillfeedEnabledCookie, param)) + { + SetCookieBool(pKillfeedEnabledCookie, param, false); + Msg(param, "Killfeed disabled."); + } + else + { + SetCookieBool(pKillfeedEnabledCookie, param, true); + Msg(param, "Killfeed enabled."); + } + } + topmenu.Display(param, TopMenuPosition_LastCategory); + } } // name fix copied from Alienmario's HL2MP deathnotices -public void EntityNameFix(char[] szName) { +public void EntityNameFix(char[] szName) +{ GetTrieString(hTrie, szName, szName, 32); } -public void PopulateEntityNameMap() { - if(hTrie == INVALID_HANDLE){ - hTrie = CreateTrie(); +public void PopulateEntityNameMap() +{ + if(hTrie == null) { + hTrie = new StringMap(); // Weapons SetTrieString(hTrie, "weapon_crowbar", "Crowbar"); @@ -113,7 +169,7 @@ public void PopulateEntityNameMap() { } } -public Action Event_EntKilled(Event event, const char[] name, bool dontBroadcast) +public void Event_EntKilled(Event event, const char[] name, bool dontBroadcast) { CBaseEntity pKilled = CBaseEntity(event.GetInt("entindex_killed")); CBaseEntity pAttacker = CBaseEntity(event.GetInt("entindex_attacker")); @@ -142,7 +198,7 @@ public Action Event_EntKilled(Event event, const char[] name, bool dontBroadcast (StrContains(szKilledName, "human_security", false) > -1)) { EntityNameFix(szKilledName); - PrintToChatAll("%s%s%s brutally murdered %s%s%s in cold blood with %s%s", COLOR_MURDER, szAttackerName, COLOR_CRIMSON, COLOR_MURDER_VICTIM, szKilledName, COLOR_CRIMSON, COLOR_MURDER, szInflictorClass); + PrintToChatKillfeed("%s%s%s brutally murdered %s%s%s in cold blood with %s%s", COLOR_MURDER, szAttackerName, COLOR_CRIMSON, COLOR_MURDER_VICTIM, szKilledName, COLOR_CRIMSON, COLOR_MURDER, szInflictorClass); pClient.ModifyScore(-10); } // Monsters should reward points tho @@ -190,7 +246,7 @@ public Action Event_EntKilled(Event event, const char[] name, bool dontBroadcast } } - PrintToChatAll(szMessage, COLOR_KILL_SCORE_ENT, szAttackerName, COLOR_WHITE, COLOR_KILL_SCORE_ENT, szKilledName, COLOR_WHITE, COLOR_KILL_SCORE_ENT, szInflictorClass, COLOR_MURDER, szSavedNameColor, szSavedName); + PrintToChatKillfeed(szMessage, COLOR_KILL_SCORE_ENT, szAttackerName, COLOR_WHITE, COLOR_KILL_SCORE_ENT, szKilledName, COLOR_WHITE, COLOR_KILL_SCORE_ENT, szInflictorClass, COLOR_MURDER, szSavedNameColor, szSavedName); pClient.ModifyScore(iPointsToAward); // Loop through clients, printing in chat the amount of damage each player inflicted to this NPC. @@ -223,9 +279,13 @@ public Action Event_EntKilled(Event event, const char[] name, bool dontBroadcast } float fNewDmgCombo = fPlrDmgLast + fDamageInflicted; - PrintCenterText(iClientIndex, "COMBO +%.0f (%.0f)", fDamageInflicted, fNewDmgCombo); + + if(GetCookieBool(pKillfeedEnabledCookie, iClientIndex)) { + PrintCenterText(iClientIndex, "COMBO +%.0f (%.0f)", fDamageInflicted, fNewDmgCombo); + } + if(fTotalDamage >= 100) - PrintToChatAll("%s%s%s dealt %s%.0f%s damage.", COLOR_KILL_SCORE_ENT, szDmgDealerName, COLOR_WHITE, COLOR_MURDER, fDamageInflicted, COLOR_MURDER_VICTIM); + PrintToChatKillfeed("%s%s%s dealt %s%.0f%s damage.", COLOR_KILL_SCORE_ENT, szDmgDealerName, COLOR_WHITE, COLOR_MURDER, fDamageInflicted, COLOR_MURDER_VICTIM); // Add damage to combo, reset combo counter to 6000 ms SetTrieValue(hDmgTrie, szDmgDealerName, fNewDmgCombo); @@ -250,11 +310,9 @@ public Action Event_EntKilled(Event event, const char[] name, bool dontBroadcast StrCat(szMessage, sizeof(szMessage), "%s with %s%s"); - PrintToChatAll(szMessage, COLOR_CRIMSON, szKilledName, COLOR_WHITE, COLOR_CRIMSON, szAttackerName, COLOR_WHITE, COLOR_CRIMSON, szInflictorClass); + PrintToChatKillfeed(szMessage, COLOR_CRIMSON, szKilledName, COLOR_WHITE, COLOR_CRIMSON, szAttackerName, COLOR_WHITE, COLOR_CRIMSON, szInflictorClass); } } - - return Plugin_Continue; } // Taken from basechat.sp @@ -273,6 +331,22 @@ void SendDialogToOne(int iClientIndex, int iRed, int iGreen, int iBlue, const ch delete kv; } +// Adaptation of PrintToChatAll with killfeed enable check +void PrintToChatKillfeed(const char[] format, any ...) +{ + char buffer[254]; + + for (int i = 1; i <= MaxClients; i++) + { + if (IsClientInGame(i) && GetCookieBool(pKillfeedEnabledCookie, i)) + { + SetGlobalTransTarget(i); + VFormat(buffer, sizeof(buffer), format, 2); + PrintToChat(i, "%s", buffer); + } + } +} + public void OnEntityCreated(int iEntIndex, const char[] szClassname) { CBaseEntity pEntity = CBaseEntity(iEntIndex); @@ -291,19 +365,19 @@ public void OnEntityCreated(int iEntIndex, const char[] szClassname) } } - public void InitComboTracker() { - if(hDmgTimer == INVALID_HANDLE) + if(hDmgTimer == null) { lNpcDamageTracker = CreateArray(MaxClients, GetMaxEntities()); hDmgTimer = CreateTimer(0.1, Timer_DamageUpdate, _, TIMER_REPEAT); - hDmgTrie = CreateTrie(); - hComboTimeTrie = CreateTrie(); + hDmgTrie = new StringMap(); + hComboTimeTrie = new StringMap(); } } -public Action Timer_DamageUpdate(Handle hTimer) { +public Action Timer_DamageUpdate(Handle hTimer) +{ for(int iClientIndex = 0; iClientIndex <= MaxClients; iClientIndex++) { CBlackMesaPlayer pPlayer = CBlackMesaPlayer(iClientIndex); @@ -333,20 +407,24 @@ public Action Timer_DamageUpdate(Handle hTimer) { float fDmgMinus100Clamped = fDamageDone - 100.0 > 0.0 ? fDamageDone - 100.0 : 0.0; int iScoreToGive = RoundFloat(Pow(fDmgMinus100Clamped/60.0,1.25)); - if(iScoreToGive > 0) { - SendDialogToOne(iClientIndex, 255, 50, 50, "Bonus Points +%d", iScoreToGive); - PrintToChat(iClientIndex, "%sFinal Combo: %s(%.0f Dmg for +%d Points)%s!",COLOR_WHITE,COLOR_KILL_SCORE_ENT,fDamageDone, iScoreToGive,COLOR_WHITE); - PrintCenterText(iClientIndex, "COMBO COMPLETE"); - } else { - PrintCenterText(iClientIndex, "COMBO OVER"); + if(GetCookieBool(pKillfeedEnabledCookie, iClientIndex)) { + if(iScoreToGive > 0) { + SendDialogToOne(iClientIndex, 255, 50, 50, "Bonus Points +%d", iScoreToGive); + PrintToChat(iClientIndex, "%sFinal Combo: %s(%.0f Dmg for +%d Points)%s!", + COLOR_WHITE, COLOR_KILL_SCORE_ENT, fDamageDone, iScoreToGive, COLOR_WHITE); + PrintCenterText(iClientIndex, "COMBO COMPLETE"); + } else { + PrintCenterText(iClientIndex, "COMBO OVER"); + } } pPlayer.ModifyScore(iScoreToGive); if(fDamageDone >= 400) - PrintToChatAll("%s%s%s GOT A %s%.0f%s DAMAGE COMBO! GRANTING THEM A SCORE BONUS OF %s%d",COLOR_KILL_SCORE_ENT,szPlayerName,COLOR_MURDER,COLOR_KILL_SCORE_ENT,fDamageDone,COLOR_MURDER,COLOR_KILL_SCORE_ENT,iScoreToGive); + PrintToChatKillfeed("%s%s%s GOT A %s%.0f%s DAMAGE COMBO! GRANTING THEM A SCORE BONUS OF %s%d", + COLOR_KILL_SCORE_ENT, szPlayerName, COLOR_MURDER, COLOR_KILL_SCORE_ENT, fDamageDone, COLOR_MURDER, COLOR_KILL_SCORE_ENT, iScoreToGive); } - } + } } return Plugin_Continue; } diff --git a/scripting/srccoop_addon_thirdperson.sp b/scripting/srccoop_addon_thirdperson.sp index 5b9f9acc..0ce0756b 100644 --- a/scripting/srccoop_addon_thirdperson.sp +++ b/scripting/srccoop_addon_thirdperson.sp @@ -44,7 +44,7 @@ public void OnLibraryAdded(const char[] name) void OnSourceCoopStarted() { TopMenu pCoopMenu = GetCoopTopMenu(); - TopMenuObject pSettingsMenu = pCoopMenu.FindCategory(COOPMENU_CATEGORY_SETTINGS); + TopMenuObject pSettingsMenu = pCoopMenu.FindCategory(COOPMENU_CATEGORY_PLAYER); if(pSettingsMenu != INVALID_TOPMENUOBJECT) { pCoopMenu.AddItem(MENUITEM_TOGGLE, ThirdPersonMenuHandler, pSettingsMenu);