mirror of
https://github.com/Mauler125/r5sdk.git
synced 2025-02-09 19:15:03 +01:00
CUserCmd hardening
Fix several exploitable bugs in the CUserCmd class. Some of these have been used to exploit/cheat in-game. Fixes contain: - Camera position clamping (the only patch that hasn't been tested yet!) - Weapon activity exploit, allowing player to infinitely throw ordnances, and perform other 'cheats'. - Akimbo exploit + server crasher, allowing client to set multiple inventory weapons as active. The active weapon index bounds were also not checked, a properly crafter CUserCmd message would therefore be able to crash the server. Note that this does not fix all issues related to the UserCmd class; further reversing and testing revealed there is more to be fixed, these fixes will get implemented with a future commit.
This commit is contained in:
parent
96ab1f1af0
commit
51ea9c7c4f
@ -109,6 +109,8 @@ ConVar* sv_voiceEcho = nullptr;
|
|||||||
ConVar* sv_voiceenable = nullptr;
|
ConVar* sv_voiceenable = nullptr;
|
||||||
ConVar* sv_alltalk = nullptr;
|
ConVar* sv_alltalk = nullptr;
|
||||||
|
|
||||||
|
ConVar* sv_usercmd_dualwield_enable = nullptr;
|
||||||
|
|
||||||
//#ifdef DEDICATED
|
//#ifdef DEDICATED
|
||||||
ConVar* sv_rcon_debug = nullptr;
|
ConVar* sv_rcon_debug = nullptr;
|
||||||
ConVar* sv_rcon_sendlogs = nullptr;
|
ConVar* sv_rcon_sendlogs = nullptr;
|
||||||
@ -311,6 +313,8 @@ void ConVar_StaticInit(void)
|
|||||||
sv_validatePersonaName = ConVar::StaticCreate("sv_validatePersonaName" , "1" , FCVAR_RELEASE, "Validate the client's textual persona name on connect.", true, 0.f, false, 0.f, nullptr, nullptr);
|
sv_validatePersonaName = ConVar::StaticCreate("sv_validatePersonaName" , "1" , FCVAR_RELEASE, "Validate the client's textual persona name on connect.", true, 0.f, false, 0.f, nullptr, nullptr);
|
||||||
sv_minPersonaNameLength = ConVar::StaticCreate("sv_minPersonaNameLength", "4" , FCVAR_RELEASE, "The minimum length of the client's textual persona name.", true, 0.f, false, 0.f, nullptr, nullptr);
|
sv_minPersonaNameLength = ConVar::StaticCreate("sv_minPersonaNameLength", "4" , FCVAR_RELEASE, "The minimum length of the client's textual persona name.", true, 0.f, false, 0.f, nullptr, nullptr);
|
||||||
sv_maxPersonaNameLength = ConVar::StaticCreate("sv_maxPersonaNameLength", "16", FCVAR_RELEASE, "The maximum length of the client's textual persona name.", true, 0.f, false, 0.f, nullptr, nullptr);
|
sv_maxPersonaNameLength = ConVar::StaticCreate("sv_maxPersonaNameLength", "16", FCVAR_RELEASE, "The maximum length of the client's textual persona name.", true, 0.f, false, 0.f, nullptr, nullptr);
|
||||||
|
|
||||||
|
sv_usercmd_dualwield_enable = ConVar::StaticCreate("sv_usercmd_dualwield_enable", "0", FCVAR_RELEASE, "Allows setting dual wield cycle slots, and activating multiple inventory weapons from UserCmd.", false, 0.f, false, 0.f, nullptr, nullptr);
|
||||||
#endif // !CLIENT_DLL
|
#endif // !CLIENT_DLL
|
||||||
#if !defined (GAMEDLL_S0) && !defined (GAMEDLL_S1)
|
#if !defined (GAMEDLL_S0) && !defined (GAMEDLL_S1)
|
||||||
bhit_depth_test = ConVar::StaticCreate("bhit_depth_test", "0", FCVAR_DEVELOPMENTONLY | FCVAR_REPLICATED, "Use depth test for bullet ray trace overlay.", false, 0.f, false, 0.f, nullptr, nullptr);
|
bhit_depth_test = ConVar::StaticCreate("bhit_depth_test", "0", FCVAR_DEVELOPMENTONLY | FCVAR_REPLICATED, "Use depth test for bullet ray trace overlay.", false, 0.f, false, 0.f, nullptr, nullptr);
|
||||||
|
@ -99,6 +99,8 @@ extern ConVar* sv_voiceEcho;
|
|||||||
extern ConVar* sv_voiceenable;
|
extern ConVar* sv_voiceenable;
|
||||||
extern ConVar* sv_alltalk;
|
extern ConVar* sv_alltalk;
|
||||||
|
|
||||||
|
extern ConVar* sv_usercmd_dualwield_enable;
|
||||||
|
|
||||||
//#ifdef DEDICATED
|
//#ifdef DEDICATED
|
||||||
extern ConVar* sv_rcon_debug;
|
extern ConVar* sv_rcon_debug;
|
||||||
extern ConVar* sv_rcon_sendlogs;
|
extern ConVar* sv_rcon_sendlogs;
|
||||||
|
@ -123,6 +123,7 @@
|
|||||||
#endif // !CLIENT_DLL
|
#endif // !CLIENT_DLL
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
#include "game/client/viewrender.h"
|
#include "game/client/viewrender.h"
|
||||||
|
#include "game/client/input.h"
|
||||||
#include "game/client/movehelper_client.h"
|
#include "game/client/movehelper_client.h"
|
||||||
#endif // !DEDICATED
|
#endif // !DEDICATED
|
||||||
#include "public/edict.h"
|
#include "public/edict.h"
|
||||||
@ -558,6 +559,7 @@ void DetourRegister() // Register detour classes to be searched and hooked.
|
|||||||
|
|
||||||
#ifndef DEDICATED
|
#ifndef DEDICATED
|
||||||
REGISTER(V_ViewRender);
|
REGISTER(V_ViewRender);
|
||||||
|
REGISTER(VInput);
|
||||||
REGISTER(VMoveHelperClient);
|
REGISTER(VMoveHelperClient);
|
||||||
#endif // !DEDICATED
|
#endif // !DEDICATED
|
||||||
|
|
||||||
|
@ -70,6 +70,8 @@ add_sources( SOURCE_GROUP "Client"
|
|||||||
"client/cliententitylist.h"
|
"client/cliententitylist.h"
|
||||||
"client/enginesprite.h"
|
"client/enginesprite.h"
|
||||||
"client/hud.h"
|
"client/hud.h"
|
||||||
|
"client/input.cpp"
|
||||||
|
"client/input.h"
|
||||||
"client/movehelper_client.cpp"
|
"client/movehelper_client.cpp"
|
||||||
"client/movehelper_client.h"
|
"client/movehelper_client.h"
|
||||||
"client/spritemodel.cpp"
|
"client/spritemodel.cpp"
|
||||||
@ -94,6 +96,10 @@ add_sources( SOURCE_GROUP "Public"
|
|||||||
"${ENGINE_SOURCE_DIR}/public/iclientrenderable.h"
|
"${ENGINE_SOURCE_DIR}/public/iclientrenderable.h"
|
||||||
"${ENGINE_SOURCE_DIR}/public/iclientthinkable.h"
|
"${ENGINE_SOURCE_DIR}/public/iclientthinkable.h"
|
||||||
"${ENGINE_SOURCE_DIR}/public/iclientunknown.h"
|
"${ENGINE_SOURCE_DIR}/public/iclientunknown.h"
|
||||||
|
|
||||||
|
"${ENGINE_SOURCE_DIR}/public/game/shared/weapon_types.h"
|
||||||
|
"${ENGINE_SOURCE_DIR}/public/game/shared/in_buttons.h"
|
||||||
|
"${ENGINE_SOURCE_DIR}/public/game/client/iinput.h"
|
||||||
)
|
)
|
||||||
|
|
||||||
end_sources()
|
end_sources()
|
||||||
|
29
r5dev/game/client/input.cpp
Normal file
29
r5dev/game/client/input.cpp
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
//=============================================================================//
|
||||||
|
//
|
||||||
|
// Purpose:
|
||||||
|
//
|
||||||
|
//=============================================================================//
|
||||||
|
#include "input.h"
|
||||||
|
#include "common/global.h"
|
||||||
|
#include "game/shared/weapon_types.h"
|
||||||
|
|
||||||
|
void CInput::SetCustomWeaponActivity(CInput* pInput, int weaponActivity)
|
||||||
|
{
|
||||||
|
// Server only allows other custom weapon activities if cheats are enabled,
|
||||||
|
// don't bother simulating it on the client without the cheats cvar, as
|
||||||
|
// otherwise visual glitches occur.
|
||||||
|
if (!sv_cheats->GetBool() && weaponActivity != ACT_VM_WEAPON_INSPECT)
|
||||||
|
weaponActivity = ACT_NONE;
|
||||||
|
|
||||||
|
v_CInput__SetCustomWeaponActivity(pInput, weaponActivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
void VInput::Attach(void) const
|
||||||
|
{
|
||||||
|
DetourAttach(&v_CInput__SetCustomWeaponActivity, CInput::SetCustomWeaponActivity);
|
||||||
|
}
|
||||||
|
|
||||||
|
void VInput::Detach(void) const
|
||||||
|
{
|
||||||
|
DetourDetach(&v_CInput__SetCustomWeaponActivity, CInput::SetCustomWeaponActivity);
|
||||||
|
}
|
47
r5dev/game/client/input.h
Normal file
47
r5dev/game/client/input.h
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
#ifndef CLIENT_INPUT_H
|
||||||
|
#define CLIENT_INPUT_H
|
||||||
|
#include "game/client/iinput.h"
|
||||||
|
|
||||||
|
class CInput : public IInput
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void SetCustomWeaponActivity(CInput* pInput, int weaponActivity);
|
||||||
|
private:
|
||||||
|
};
|
||||||
|
|
||||||
|
inline CMemory p_CInput__SetCustomWeaponActivity;
|
||||||
|
inline auto v_CInput__SetCustomWeaponActivity = p_CInput__SetCustomWeaponActivity.RCast<void (*)(CInput* pInput, int weaponActivity)>();
|
||||||
|
|
||||||
|
inline IInput* g_pInput_VFTable = nullptr;
|
||||||
|
inline CInput* g_pInput = nullptr;
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
class VInput : public IDetour
|
||||||
|
{
|
||||||
|
virtual void GetAdr(void) const
|
||||||
|
{
|
||||||
|
LogConAdr("CInput::`vftable'", reinterpret_cast<uintptr_t>(g_pInput_VFTable));
|
||||||
|
LogFunAdr("CInput::SetCustomWeaponActivity", p_CInput__SetCustomWeaponActivity.GetPtr());
|
||||||
|
LogVarAdr("g_Input", reinterpret_cast<uintptr_t>(g_pInput));
|
||||||
|
}
|
||||||
|
virtual void GetFun(void) const
|
||||||
|
{
|
||||||
|
p_CInput__SetCustomWeaponActivity = g_GameDll.
|
||||||
|
FindPatternSIMD("89 91 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC CC CC F3 0F 11 89 ?? ?? ?? ?? C3 CC CC CC CC CC CC CC F3 0F 10 81 ?? ?? ?? ??");
|
||||||
|
v_CInput__SetCustomWeaponActivity = p_CInput__SetCustomWeaponActivity.RCast<void (*)(CInput*, int)>();
|
||||||
|
}
|
||||||
|
virtual void GetVar(void) const
|
||||||
|
{
|
||||||
|
g_pInput = g_GameDll.FindPatternSIMD("E8 ?? ?? ?? ?? 48 8B 5D 57").FollowNearCallSelf().
|
||||||
|
FindPatternSelf("48 8B 05").ResolveRelativeAddressSelf(0x3, 0x7).RCast<CInput*>();
|
||||||
|
}
|
||||||
|
virtual void GetCon(void) const
|
||||||
|
{
|
||||||
|
g_pInput_VFTable = g_GameDll.GetVirtualMethodTable(".?AVCInput@@").RCast<IInput*>();
|
||||||
|
}
|
||||||
|
virtual void Attach(void) const;
|
||||||
|
virtual void Detach(void) const;
|
||||||
|
};
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#endif // CLIENT_INPUT_H
|
@ -6,6 +6,9 @@
|
|||||||
//
|
//
|
||||||
//=============================================================================//
|
//=============================================================================//
|
||||||
#include "usercmd.h"
|
#include "usercmd.h"
|
||||||
|
#include "tier1/utlbuffer.h"
|
||||||
|
#include "game/shared/in_buttons.h"
|
||||||
|
#include "game/shared/weapon_types.h"
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Purpose: Read in a delta compressed usercommand.
|
// Purpose: Read in a delta compressed usercommand.
|
||||||
@ -16,24 +19,59 @@
|
|||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
int ReadUserCmd(bf_read* buf, CUserCmd* move, CUserCmd* from)
|
int ReadUserCmd(bf_read* buf, CUserCmd* move, CUserCmd* from)
|
||||||
{
|
{
|
||||||
// Normalize angles, bogus values will crash the game..
|
|
||||||
from->viewangles.Normalize();
|
|
||||||
|
|
||||||
// More clamps coming soon...
|
|
||||||
|
|
||||||
|
|
||||||
const int seed = v_ReadUserCmd(buf, move, from);
|
const int seed = v_ReadUserCmd(buf, move, from);
|
||||||
|
|
||||||
|
// Initialize the camera position as <0,0,0>, this should at least avoid
|
||||||
|
// crash and meme behaviors. Has not been tested yet unlike all the
|
||||||
|
// patches performed below.
|
||||||
|
if (!move->camerapos.IsValid())
|
||||||
|
move->camerapos.Init();
|
||||||
|
|
||||||
|
// Viewangles must be normalized; applying invalid angles on the client
|
||||||
|
// will result in undefined behavior, or a crash.
|
||||||
|
move->viewangles.Normalize();
|
||||||
|
|
||||||
|
// Some players abused a feature of the engine which allows you to perform
|
||||||
|
// custom weapon activities. After some research, it appears that only the
|
||||||
|
// 'ACT_VM_WEAPON_INSPECT' was supposed to work for standard games, all the
|
||||||
|
// other activities appears to be for development or testing, therefore, we
|
||||||
|
// should only allow 'ACT_VM_WEAPON_INSPECT' if cheats are disabled.
|
||||||
|
if (!sv_cheats->GetBool() && move->weaponactivity != ACT_VM_WEAPON_INSPECT)
|
||||||
|
move->weaponactivity = ACT_NONE;
|
||||||
|
|
||||||
// On the client, the frame time must be within 'usercmd_frametime_min'
|
// On the client, the frame time must be within 'usercmd_frametime_min'
|
||||||
// and 'usercmd_frametime_max'. Testing revealed that speed hacking could
|
// and 'usercmd_frametime_max'. Testing revealed that speed hacking could
|
||||||
// be achieved by sending bogus frametimes. Clamp the networked frame time
|
// be achieved by sending bogus frame times. Clamp the networked frame
|
||||||
// to the exact values that the client should be using to make sure it
|
// time to the exact values that the client should be using to make sure
|
||||||
// couldn't be circumvented by busting out the client side clamps.
|
// it couldn't be circumvented by busting out the client side clamps.
|
||||||
if (host_timescale->GetFloat() == 1.0f)
|
if (host_timescale->GetFloat() == 1.0f)
|
||||||
move->frametime = clamp(move->frametime,
|
move->frametime = clamp(move->frametime,
|
||||||
usercmd_frametime_min->GetFloat(),
|
usercmd_frametime_min->GetFloat(),
|
||||||
usercmd_frametime_max->GetFloat());
|
usercmd_frametime_max->GetFloat());
|
||||||
|
|
||||||
|
// Checks are only required if cycleslot is valid; see 'CPlayer::UpdateWeaponSlots'.
|
||||||
|
if (move->cycleslot != WEAPON_INVENTORY_SLOT_INVALID)
|
||||||
|
{
|
||||||
|
const bool dualWieldEnabled = sv_usercmd_dualwield_enable->GetBool();
|
||||||
|
|
||||||
|
// Client could instruct the server to switch cycle slots for inventory
|
||||||
|
// weapons, however, the client could also cycle to the dual wield slots.
|
||||||
|
// dual wield weapons should be explicitly enabled to prevent exploitation.
|
||||||
|
if (!dualWieldEnabled && move->cycleslot > WEAPON_INVENTORY_SLOT_ANTI_TITAN)
|
||||||
|
move->cycleslot = WEAPON_INVENTORY_SLOT_ANTI_TITAN;
|
||||||
|
|
||||||
|
// Array member 'CPlayer::m_selectedWeapons' is of size 2, values
|
||||||
|
// (up to 254) result in arbitrary memory reads on the server.
|
||||||
|
// Clamp the value to make sure it never reads out of bounds. Also,
|
||||||
|
// if dual wield is disabled on the server, reset the weapon index
|
||||||
|
// value as it would otherwise allow the client to enable several
|
||||||
|
// equiped weapons at the same time.
|
||||||
|
if (move->weaponindex >= WEAPON_INVENTORY_SLOT_PRIMARY_1)
|
||||||
|
dualWieldEnabled
|
||||||
|
? move->weaponindex = WEAPON_INVENTORY_SLOT_PRIMARY_1
|
||||||
|
: move->weaponindex = WEAPON_INVENTORY_SLOT_PRIMARY_0;
|
||||||
|
}
|
||||||
|
|
||||||
return seed;
|
return seed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ inline CMemory p_ReadUserCmd;
|
|||||||
inline auto v_ReadUserCmd = p_ReadUserCmd.RCast<int (*)(bf_read* buf, CUserCmd* move, CUserCmd* from)>();
|
inline auto v_ReadUserCmd = p_ReadUserCmd.RCast<int (*)(bf_read* buf, CUserCmd* move, CUserCmd* from)>();
|
||||||
|
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
//
|
#pragma pack(push, 1)
|
||||||
//-------------------------------------------------------------------------------------
|
//-------------------------------------------------------------------------------------
|
||||||
class CUserCmd
|
class CUserCmd
|
||||||
{
|
{
|
||||||
@ -43,22 +43,49 @@ public:
|
|||||||
|
|
||||||
int32_t command_number;
|
int32_t command_number;
|
||||||
int32_t tick_count;
|
int32_t tick_count;
|
||||||
float curtime;
|
float_t command_time;
|
||||||
QAngle viewangles;
|
QAngle viewangles;
|
||||||
float maybe;
|
char pad_0x0018[12];
|
||||||
char pad_0x0018[8];
|
float_t forwardmove;
|
||||||
float forwardmove;
|
float_t sidemove;
|
||||||
float sidemove;
|
float_t upmove;
|
||||||
float upmove;
|
|
||||||
int32_t buttons;
|
int32_t buttons;
|
||||||
char pad_0x0034[336];
|
byte impulse;
|
||||||
|
byte cycleslot;
|
||||||
|
byte weaponindex;
|
||||||
|
__int16 weaponselect;
|
||||||
|
bool bUnk39;
|
||||||
|
__int16 weaponactivity;
|
||||||
|
int nUnk3C;
|
||||||
|
bool controllermode;
|
||||||
|
bool fixangles;
|
||||||
|
bool setlastcycleslot;
|
||||||
|
char pad_0x0034[157];
|
||||||
|
QAngle renderangles; // IDK what this is used for.
|
||||||
|
QAngle renderangles_copy; // IDK what this is used for.
|
||||||
|
float fUnkF8;
|
||||||
|
QAngle another_renderangles_copy; // IDK what this is used for.
|
||||||
|
QAngle yet_another_renderangles_copy; // IDK what this is used for.
|
||||||
|
char pad_0x00114[112];
|
||||||
int32_t randomseed;
|
int32_t randomseed;
|
||||||
char pad_0x0188[8];
|
byte bUnk188;
|
||||||
|
bool bUnk189;
|
||||||
|
bool normalizepitch;
|
||||||
|
__int16 nUnk18B;
|
||||||
|
char pad_0x0188[3];
|
||||||
Vector3D headposition;
|
Vector3D headposition;
|
||||||
float maxpitch;
|
float_t maxpitch;
|
||||||
char pad_0x01A0[56];
|
char pad_0x01A0[24];
|
||||||
|
bool trace_camera;
|
||||||
|
char pad_1B9[3];
|
||||||
|
Vector3D camerapos;
|
||||||
|
int world_angle_tick;
|
||||||
|
int nUnk1D4;
|
||||||
|
int predicted_server_event_ack;
|
||||||
|
int nUnk1D8;
|
||||||
float frametime;
|
float frametime;
|
||||||
};
|
};
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
static_assert(sizeof(CUserCmd) == 0x1DC);
|
static_assert(sizeof(CUserCmd) == 0x1DC);
|
||||||
|
|
||||||
|
10
r5dev/public/game/client/iinput.h
Normal file
10
r5dev/public/game/client/iinput.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#ifndef IINPUT_H
|
||||||
|
#define IINPUT_H
|
||||||
|
|
||||||
|
abstract_class IInput
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual ~IInput() {};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // IINPUT_H
|
44
r5dev/public/game/shared/in_buttons.h
Normal file
44
r5dev/public/game/shared/in_buttons.h
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||||
|
//
|
||||||
|
// Purpose:
|
||||||
|
//
|
||||||
|
// $NoKeywords: $
|
||||||
|
//
|
||||||
|
//===========================================================================//
|
||||||
|
#ifndef IN_BUTTONS_H
|
||||||
|
#define IN_BUTTONS_H
|
||||||
|
#ifdef _WIN32
|
||||||
|
#pragma once
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* !TODO: not confirmed, some are correct, some are not.
|
||||||
|
Only use the ones you confirmed ar ecorrect! */
|
||||||
|
|
||||||
|
#define IN_ATTACK (1 << 0)
|
||||||
|
#define IN_JUMP (1 << 1)
|
||||||
|
#define IN_DUCK (1 << 2)
|
||||||
|
#define IN_FORWARD (1 << 3)
|
||||||
|
#define IN_BACK (1 << 4)
|
||||||
|
#define IN_USE (1 << 5)
|
||||||
|
#define IN_CANCEL (1 << 6)
|
||||||
|
#define IN_LEFT (1 << 7)
|
||||||
|
#define IN_RIGHT (1 << 8)
|
||||||
|
#define IN_MOVELEFT (1 << 9)
|
||||||
|
#define IN_MOVERIGHT (1 << 10)
|
||||||
|
#define IN_ATTACK2 (1 << 11)
|
||||||
|
#define IN_RUN (1 << 12)
|
||||||
|
#define IN_RELOAD (1 << 13)
|
||||||
|
#define IN_ALT1 (1 << 14)
|
||||||
|
#define IN_ALT2 (1 << 15)
|
||||||
|
#define IN_SCORE (1 << 16) // Used by client.dll for when scoreboard is held down
|
||||||
|
#define IN_SPEED (1 << 17) // Player is holding the speed key
|
||||||
|
#define IN_WALK (1 << 18) // Player holding walk key
|
||||||
|
#define IN_ZOOM (1 << 19) // Zoom key for HUD zoom
|
||||||
|
#define IN_WEAPON1 (1 << 20) // weapon defines these bits
|
||||||
|
#define IN_WEAPON2 (1 << 21) // weapon defines these bits
|
||||||
|
#define IN_BULLRUSH (1 << 22)
|
||||||
|
#define IN_GRENADE1 (1 << 23) // grenade 1
|
||||||
|
#define IN_GRENADE2 (1 << 24) // grenade 2
|
||||||
|
#define IN_ATTACK3 (1 << 25)
|
||||||
|
|
||||||
|
#endif // IN_BUTTONS_H
|
913
r5dev/public/game/shared/weapon_types.h
Normal file
913
r5dev/public/game/shared/weapon_types.h
Normal file
@ -0,0 +1,913 @@
|
|||||||
|
#ifndef WEAPON_TYPES_H
|
||||||
|
#define WEAPON_TYPES_H
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Weapon activity enumerants; used as constants for scripts.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
enum WeaponActivity_t
|
||||||
|
{
|
||||||
|
ACT_NONE = -1,
|
||||||
|
ACT_RESET = 0,
|
||||||
|
ACT_IDLE_CASUAL = 1,
|
||||||
|
ACT_IDLE = 2,
|
||||||
|
ACT_IDLE_COMBAT = 3,
|
||||||
|
ACT_IDLE_COMBAT_AIM = 4,
|
||||||
|
ACT_IDLE_SCAN = 5,
|
||||||
|
ACT_TRANSITION = 6,
|
||||||
|
ACT_COVER = 7,
|
||||||
|
ACT_COVER_MED = 8,
|
||||||
|
ACT_COVER_LOW = 9,
|
||||||
|
ACT_WALK_CASUAL = 10,
|
||||||
|
ACT_WALK = 11,
|
||||||
|
ACT_WALK_AIM = 12,
|
||||||
|
ACT_WALK_AIM_FORWARD = 13,
|
||||||
|
ACT_WALK_AIM_BACKWARD = 14,
|
||||||
|
ACT_WALK_AIM_LEFT = 15,
|
||||||
|
ACT_WALK_AIM_RIGHT = 16,
|
||||||
|
ACT_WALK_CROUCH = 17,
|
||||||
|
ACT_WALK_CROUCH_AIM = 18,
|
||||||
|
ACT_WALK_STUMBLE = 19,
|
||||||
|
ACT_RUN = 20,
|
||||||
|
ACT_RUN_FORWARD = 21,
|
||||||
|
ACT_RUN_BACKWARD = 22,
|
||||||
|
ACT_RUN_LEFT = 23,
|
||||||
|
ACT_RUN_RIGHT = 24,
|
||||||
|
ACT_RUN_UP = 25,
|
||||||
|
ACT_RUN_DOWN = 26,
|
||||||
|
ACT_RUN_AIM = 27,
|
||||||
|
ACT_RUN_AIM_FORWARD = 28,
|
||||||
|
ACT_RUN_AIM_BACKWARD = 29,
|
||||||
|
ACT_RUN_AIM_LEFT = 30,
|
||||||
|
ACT_RUN_AIM_RIGHT = 31,
|
||||||
|
ACT_RUN_AIM_UP = 32,
|
||||||
|
ACT_RUN_AIM_DOWN = 33,
|
||||||
|
ACT_RUN_CROUCH = 34,
|
||||||
|
ACT_RUN_CROUCH_AIM = 35,
|
||||||
|
ACT_SPRINT_UNARMED = 36,
|
||||||
|
ACT_SPRINT = 37,
|
||||||
|
ACT_SPRINT_FORWARD = 38,
|
||||||
|
ACT_SPRINT_BACKWARD = 39,
|
||||||
|
ACT_SPRINT_LEFT = 40,
|
||||||
|
ACT_SPRINT_RIGHT = 41,
|
||||||
|
ACT_SPRINT_RUNAWAY = 42,
|
||||||
|
ACT_SCRIPT_CUSTOM_MOVE = 43,
|
||||||
|
ACT_SCRIPT_CUSTOM_ATTACK = 44,
|
||||||
|
ACT_SCRIPT_CUSTOM_ATTACK2 = 45,
|
||||||
|
ACT_RANGE_ATTACK1 = 46,
|
||||||
|
ACT_RANGE_ATTACK1_EVASIVE = 47,
|
||||||
|
ACT_RANGE_ATTACK1_SINGLE = 48,
|
||||||
|
ACT_RANGE_ATTACK1_LOW = 49,
|
||||||
|
ACT_RANGE_ATTACK1_LOW_SINGLE = 50,
|
||||||
|
ACT_RANGE_ATTACK2 = 51,
|
||||||
|
ACT_RANGE_ATTACK_TWITCH = 52,
|
||||||
|
ACT_SPECIAL_ATTACK_START = 53,
|
||||||
|
ACT_SPECIAL_ATTACK = 54,
|
||||||
|
ACT_SPECIAL_ATTACK_END = 55,
|
||||||
|
ACT_THROW_GRENADE = 56,
|
||||||
|
ACT_FLY = 57,
|
||||||
|
ACT_FALL = 58,
|
||||||
|
ACT_FALL_RECOVERY = 59,
|
||||||
|
ACT_JUMP = 60,
|
||||||
|
ACT_JUMP_START = 61,
|
||||||
|
ACT_JUMP_FLOAT = 62,
|
||||||
|
ACT_JUMP_LAND = 63,
|
||||||
|
ACT_DOUBLEJUMP = 64,
|
||||||
|
ACT_LAND = 65,
|
||||||
|
ACT_CLIMB_UP = 66,
|
||||||
|
ACT_CLIMB_DOWN = 67,
|
||||||
|
ACT_CLIMB_DISMOUNT = 68,
|
||||||
|
ACT_WALLRUN_LEFT = 69,
|
||||||
|
ACT_WALLRUN_RIGHT = 70,
|
||||||
|
ACT_WALLJUMP_LEFT = 71,
|
||||||
|
ACT_WALLJUMP_RIGHT = 72,
|
||||||
|
ACT_CROUCH = 73,
|
||||||
|
ACT_CROUCHIDLE = 74,
|
||||||
|
ACT_CROUCHIDLE_SCAN = 75,
|
||||||
|
ACT_CROUCHIDLE_AIM = 76,
|
||||||
|
ACT_STAND = 77,
|
||||||
|
ACT_SIGNAL_ADVANCE = 78,
|
||||||
|
ACT_SIGNAL_FORWARD = 79,
|
||||||
|
ACT_SIGNAL_GROUP = 80,
|
||||||
|
ACT_SIGNAL_HALT = 81,
|
||||||
|
ACT_SIGNAL_LEFT = 82,
|
||||||
|
ACT_SIGNAL_RIGHT = 83,
|
||||||
|
ACT_SIGNAL_TAKECOVER = 84,
|
||||||
|
ACT_SIGNAL_ACKNOWLEDGE = 85,
|
||||||
|
ACT_SIGNAL_SALUTE = 86,
|
||||||
|
ACT_SIGNAL_SALUTE_HIGH = 87,
|
||||||
|
ACT_SIGNAL_SALUTE_CROUCH = 88,
|
||||||
|
ACT_SIGNAL_FORWARD_CROUCH = 89,
|
||||||
|
ACT_SIGNAL_TAUNT = 90,
|
||||||
|
ACT_SIGNAL_ENRAGE = 91,
|
||||||
|
ACT_SHOOTING_COVER_IDLE = 92,
|
||||||
|
ACT_SHOOTING_COVER_IDLE_L = 93,
|
||||||
|
ACT_SHOOTING_COVER_IDLE_R = 94,
|
||||||
|
ACT_SHOOTING_COVER_CHECK = 95,
|
||||||
|
ACT_SHOOTING_COVER_CHECK_L = 96,
|
||||||
|
ACT_SHOOTING_COVER_CHECK_R = 97,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_FORWARD = 98,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_FORWARD_L = 99,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_FORWARD_R = 100,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_BACKWARD = 101,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_BACKWARD_L = 102,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_BACKWARD_R = 103,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN = 104,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_L = 105,
|
||||||
|
ACT_SHOOTING_COVER_ADVANCE_SIDELEAN_R = 106,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_SIDELEAN = 107,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_L = 108,
|
||||||
|
ACT_SHOOTING_COVER_RETREAT_SIDELEAN_R = 109,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_SIDE_L = 110,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_SIDE_R = 111,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_45_L = 112,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_45_R = 113,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_FRONT_L = 114,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_FRONT_R = 115,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_L = 116,
|
||||||
|
ACT_SHOOTING_COVER_ARRIVAL_FRONT_INV_R = 117,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE = 118,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE_L = 119,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE_R = 120,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE_ADVANCE = 121,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE_ADVANCE_L = 122,
|
||||||
|
ACT_SHOOTING_COVER_GRENADE_ADVANCE_R = 123,
|
||||||
|
ACT_DISENGAGE = 124,
|
||||||
|
ACT_COWER = 125,
|
||||||
|
ACT_BRACE = 126,
|
||||||
|
ACT_MELEE_ATTACK1 = 127,
|
||||||
|
ACT_MELEE_ATTACK_WAIT = 128,
|
||||||
|
ACT_MELEE_HIGH = 129,
|
||||||
|
ACT_MELEE_CHARGE = 130,
|
||||||
|
ACT_MELEE_CHARGE_HIT = 131,
|
||||||
|
ACT_MELEE_CHARGE_MISS = 132,
|
||||||
|
ACT_MELEE_CHARGE_HIGH = 133,
|
||||||
|
ACT_MELEE_CHARGE_HIGH_HIT = 134,
|
||||||
|
ACT_MELEE_CHARGE_HIGH_MISS = 135,
|
||||||
|
ACT_MELEE_RAM = 136,
|
||||||
|
ACT_MELEE_LEFT = 137,
|
||||||
|
ACT_MELEE_RIGHT = 138,
|
||||||
|
ACT_MELEE_BACK = 139,
|
||||||
|
ACT_MELEE_JUMP_UP = 140,
|
||||||
|
ACT_RELOAD = 141,
|
||||||
|
ACT_RELOAD_LOW = 142,
|
||||||
|
ACT_SWITCH_WEAPON = 143,
|
||||||
|
ACT_ARM = 144,
|
||||||
|
ACT_DISARM = 145,
|
||||||
|
ACT_VICTORY_DANCE = 146,
|
||||||
|
ACT_DIESIMPLE = 147,
|
||||||
|
ACT_DIEBACKWARD = 148,
|
||||||
|
ACT_DIEFORWARD = 149,
|
||||||
|
ACT_DIE_LEFT = 150,
|
||||||
|
ACT_DIE_RIGHT = 151,
|
||||||
|
ACT_DIERAGDOLL = 152,
|
||||||
|
ACT_DIE_HEADSHOT = 153,
|
||||||
|
ACT_DIE_CHESTSHOT = 154,
|
||||||
|
ACT_DIE_GUTSHOT = 155,
|
||||||
|
ACT_DIE_BACKSHOT = 156,
|
||||||
|
ACT_DIE_FRONT_CROUCH = 157,
|
||||||
|
ACT_DIE_BACK_CROUCH = 158,
|
||||||
|
ACT_DIE_RUNNING = 159,
|
||||||
|
ACT_DIE_INSTANT_STANDING = 160,
|
||||||
|
ACT_DIE_INSTANT_RUNNING = 161,
|
||||||
|
ACT_DIE_INSTANT_CROUCH = 162,
|
||||||
|
ACT_DIE_KNOCKBACK_FORWARD = 163,
|
||||||
|
ACT_DIE_KNOCKBACK_LEFT = 164,
|
||||||
|
ACT_DIE_KNOCKBACK_RIGHT = 165,
|
||||||
|
ACT_DIE_KNOCKBACK_BACK = 166,
|
||||||
|
ACT_DIE_GRAPPLE = 167,
|
||||||
|
ACT_DIE_BLEEDOUT = 168,
|
||||||
|
ACT_DIE_DOWNED_KILL = 169,
|
||||||
|
ACT_SMALL_FLINCH = 170,
|
||||||
|
ACT_BIG_FLINCH = 171,
|
||||||
|
ACT_STUNNED = 172,
|
||||||
|
ACT_FLINCH_HEAD = 173,
|
||||||
|
ACT_FLINCH_CHEST = 174,
|
||||||
|
ACT_FLINCH_STOMACH = 175,
|
||||||
|
ACT_FLINCH_LEFTARM = 176,
|
||||||
|
ACT_FLINCH_RIGHTARM = 177,
|
||||||
|
ACT_FLINCH_LEFTLEG = 178,
|
||||||
|
ACT_FLINCH_RIGHTLEG = 179,
|
||||||
|
ACT_FLINCH_CROUCH_FRONT = 180,
|
||||||
|
ACT_FLINCH_CROUCH_BACK = 181,
|
||||||
|
ACT_FLINCH_CROUCH_LEFT = 182,
|
||||||
|
ACT_FLINCH_CROUCH_RIGHT = 183,
|
||||||
|
ACT_FLINCH_RUNNING = 184,
|
||||||
|
ACT_FLINCH_RUNNING_BUMP = 185,
|
||||||
|
ACT_FLINCH_RAM_CRASH = 186,
|
||||||
|
ACT_FLINCH_GRAPPLE = 187,
|
||||||
|
ACT_FLINCH_KNOCKBACK_FORWARD = 188,
|
||||||
|
ACT_FLINCH_KNOCKBACK_LEFT = 189,
|
||||||
|
ACT_FLINCH_KNOCKBACK_RIGHT = 190,
|
||||||
|
ACT_FLINCH_KNOCKBACK_BACK = 191,
|
||||||
|
ACT_45_LEFT = 192,
|
||||||
|
ACT_45_RIGHT = 193,
|
||||||
|
ACT_90_LEFT = 194,
|
||||||
|
ACT_90_RIGHT = 195,
|
||||||
|
ACT_180_LEFT = 196,
|
||||||
|
ACT_180_RIGHT = 197,
|
||||||
|
ACT_45_LEFT_CROUCH = 198,
|
||||||
|
ACT_45_RIGHT_CROUCH = 199,
|
||||||
|
ACT_90_LEFT_CROUCH = 200,
|
||||||
|
ACT_90_RIGHT_CROUCH = 201,
|
||||||
|
ACT_180_LEFT_CROUCH = 202,
|
||||||
|
ACT_180_RIGHT_CROUCH = 203,
|
||||||
|
ACT_45_LEFT_NONCOMBAT = 204,
|
||||||
|
ACT_45_RIGHT_NONCOMBAT = 205,
|
||||||
|
ACT_90_LEFT_NONCOMBAT = 206,
|
||||||
|
ACT_90_RIGHT_NONCOMBAT = 207,
|
||||||
|
ACT_180_LEFT_NONCOMBAT = 208,
|
||||||
|
ACT_180_RIGHT_NONCOMBAT = 209,
|
||||||
|
ACT_GESTURE_RANGE_ATTACK1 = 210,
|
||||||
|
ACT_GESTURE_GUN_UP = 211,
|
||||||
|
ACT_GESTURE_THREAT_DISPLAY = 212,
|
||||||
|
ACT_GESTURE_BLOCK = 213,
|
||||||
|
ACT_GESTURE_MELEE_ATTACK1 = 214,
|
||||||
|
ACT_GESTURE_MELEE_ATTACK2 = 215,
|
||||||
|
ACT_GESTURE_MELEE_ATTACK3 = 216,
|
||||||
|
ACT_GESTURE_SMALL_FLINCH = 217,
|
||||||
|
ACT_GESTURE_BIG_FLINCH = 218,
|
||||||
|
ACT_GESTURE_FLINCH_BLAST = 219,
|
||||||
|
ACT_GESTURE_FLINCH_BLAST_SHOTGUN = 220,
|
||||||
|
ACT_GESTURE_FLINCH_BLAST_DAMAGED = 221,
|
||||||
|
ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN = 222,
|
||||||
|
ACT_GESTURE_FLINCH_HEAD = 223,
|
||||||
|
ACT_GESTURE_FLINCH_CHEST = 224,
|
||||||
|
ACT_GESTURE_FLINCH_STOMACH = 225,
|
||||||
|
ACT_GESTURE_FLINCH_LEFTARM = 226,
|
||||||
|
ACT_GESTURE_FLINCH_RIGHTARM = 227,
|
||||||
|
ACT_GESTURE_FLINCH_LEFTLEG = 228,
|
||||||
|
ACT_GESTURE_FLINCH_RIGHTLEG = 229,
|
||||||
|
ACT_GESTURE_TURN_LEFT = 230,
|
||||||
|
ACT_GESTURE_TURN_RIGHT = 231,
|
||||||
|
ACT_GESTURE_TURN_LEFT45 = 232,
|
||||||
|
ACT_GESTURE_TURN_RIGHT45 = 233,
|
||||||
|
ACT_GESTURE_TURN_LEFT90 = 234,
|
||||||
|
ACT_GESTURE_TURN_RIGHT90 = 235,
|
||||||
|
ACT_GESTURE_TURN_LEFT45_FLAT = 236,
|
||||||
|
ACT_GESTURE_TURN_RIGHT45_FLAT = 237,
|
||||||
|
ACT_GESTURE_TURN_LEFT90_FLAT = 238,
|
||||||
|
ACT_GESTURE_TURN_RIGHT90_FLAT = 239,
|
||||||
|
ACT_RANGE_ATTACK_SMG1 = 240,
|
||||||
|
ACT_GESTURE_RELOAD = 241,
|
||||||
|
ACT_DODGE_FORWARD = 242,
|
||||||
|
ACT_DODGE_BACKWARD = 243,
|
||||||
|
ACT_DODGE_LEFT = 244,
|
||||||
|
ACT_DODGE_RIGHT = 245,
|
||||||
|
ACT_DODGE_LEFT_FAR = 246,
|
||||||
|
ACT_DODGE_RIGHT_FAR = 247,
|
||||||
|
ACT_DODGE_LEFT_RUN = 248,
|
||||||
|
ACT_DODGE_RIGHT_RUN = 249,
|
||||||
|
ACT_DODGE_LEFT_WALLHOP = 250,
|
||||||
|
ACT_DODGE_RIGHT_WALLHOP = 251,
|
||||||
|
ACT_OPEN_DOOR = 252,
|
||||||
|
ACT_IDLE_CARRY = 253,
|
||||||
|
ACT_WALK_CARRY = 254,
|
||||||
|
ACT_DEPLOY = 255,
|
||||||
|
ACT_DEPLOY_IDLE = 256,
|
||||||
|
ACT_UNDEPLOY = 257,
|
||||||
|
ACT_REACT_JUMPED_OVER = 258,
|
||||||
|
ACT_REACT_SURPRISED = 259,
|
||||||
|
ACT_REACT_SURPRISED_LEFT = 260,
|
||||||
|
ACT_REACT_SURPRISED_RIGHT = 261,
|
||||||
|
ACT_REACT_SURPRISED_BACK = 262,
|
||||||
|
ACT_REACT_BULLET = 263,
|
||||||
|
ACT_REACT_BULLET_FAR = 264,
|
||||||
|
ACT_REACT_CLOAK_APPEAR_NEAR = 265,
|
||||||
|
ACT_REACT_CLOAK_APPEAR_FAR = 266,
|
||||||
|
ACT_REACT_CLOAK_DISAPPEAR_NEAR = 267,
|
||||||
|
ACT_REACT_CLOAK_DISAPPEAR_FAR = 268,
|
||||||
|
ACT_SEARCH_AREA_CLEAR = 269,
|
||||||
|
ACT_SEARCH_LOOK_AROUND = 270,
|
||||||
|
ACT_SEARCH_CORPSE = 271,
|
||||||
|
ACT_SEARCH_WALK = 272,
|
||||||
|
ACT_SEARCH_LEAD_WALK = 273,
|
||||||
|
ACT_RUN_CHECK_LEFT = 274,
|
||||||
|
ACT_RUN_CHECK_RIGHT = 275,
|
||||||
|
ACT_RUN_PEEK_CORNER_LEFT = 276,
|
||||||
|
ACT_RUN_PEEK_CORNER_RIGHT = 277,
|
||||||
|
ACT_PIE_OFF_LEFT = 278,
|
||||||
|
ACT_PIE_OFF_RIGHT = 279,
|
||||||
|
ACT_PIE_OFF_AND_BACK_LEFT = 280,
|
||||||
|
ACT_PIE_OFF_AND_BACK_RIGHT = 281,
|
||||||
|
ACT_RELOAD_DODGE_LEFT = 282,
|
||||||
|
ACT_RELOAD_DODGE_RIGHT = 283,
|
||||||
|
ACT_STAND_TO_CRAWL = 284,
|
||||||
|
ACT_STAND_TO_STAGGER = 285,
|
||||||
|
ACT_STAND_TO_RUN_180_RIGHT = 286,
|
||||||
|
ACT_STAND_TO_RUN_135_RIGHT = 287,
|
||||||
|
ACT_STAND_TO_RUN_90_RIGHT = 288,
|
||||||
|
ACT_STAND_TO_RUN_45_RIGHT = 289,
|
||||||
|
ACT_STAND_TO_RUN_FORWARD = 290,
|
||||||
|
ACT_STAND_TO_RUN_45_LEFT = 291,
|
||||||
|
ACT_STAND_TO_RUN_90_LEFT = 292,
|
||||||
|
ACT_STAND_TO_RUN_135_LEFT = 293,
|
||||||
|
ACT_STAND_TO_RUN_180_LEFT = 294,
|
||||||
|
ACT_STAND_TO_WALK_180_RIGHT = 295,
|
||||||
|
ACT_STAND_TO_WALK_135_RIGHT = 296,
|
||||||
|
ACT_STAND_TO_WALK_90_RIGHT = 297,
|
||||||
|
ACT_STAND_TO_WALK_45_RIGHT = 298,
|
||||||
|
ACT_STAND_TO_WALK_FORWARD = 299,
|
||||||
|
ACT_STAND_TO_WALK_45_LEFT = 300,
|
||||||
|
ACT_STAND_TO_WALK_90_LEFT = 301,
|
||||||
|
ACT_STAND_TO_WALK_135_LEFT = 302,
|
||||||
|
ACT_STAND_TO_WALK_180_LEFT = 303,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_180_RIGHT = 304,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_135_RIGHT = 305,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_90_RIGHT = 306,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_45_RIGHT = 307,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_FORWARD = 308,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_45_LEFT = 309,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_90_LEFT = 310,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_135_LEFT = 311,
|
||||||
|
ACT_STAND_TO_WALK_CASUAL_180_LEFT = 312,
|
||||||
|
ACT_STAND_TO_STRAFE_RIGHT = 313,
|
||||||
|
ACT_STAND_TO_STRAFE_LEFT = 314,
|
||||||
|
ACT_STAND_TO_BACKPEDAL = 315,
|
||||||
|
ACT_CROUCH_TO_STRAFE_RIGHT = 316,
|
||||||
|
ACT_CROUCH_TO_STRAFE_LEFT = 317,
|
||||||
|
ACT_CROUCH_TO_BACKPEDAL = 318,
|
||||||
|
ACT_CROUCH_TO_RUN_180_RIGHT = 319,
|
||||||
|
ACT_CROUCH_TO_RUN_135_RIGHT = 320,
|
||||||
|
ACT_CROUCH_TO_RUN_90_RIGHT = 321,
|
||||||
|
ACT_CROUCH_TO_RUN_45_RIGHT = 322,
|
||||||
|
ACT_CROUCH_TO_RUN_FORWARD = 323,
|
||||||
|
ACT_CROUCH_TO_RUN_45_LEFT = 324,
|
||||||
|
ACT_CROUCH_TO_RUN_90_LEFT = 325,
|
||||||
|
ACT_CROUCH_TO_RUN_135_LEFT = 326,
|
||||||
|
ACT_CROUCH_TO_RUN_180_LEFT = 327,
|
||||||
|
ACT_RUN_TO_STAND_180_RIGHT = 328,
|
||||||
|
ACT_RUN_TO_STAND_135_RIGHT = 329,
|
||||||
|
ACT_RUN_TO_STAND_90_RIGHT = 330,
|
||||||
|
ACT_RUN_TO_STAND_45_RIGHT = 331,
|
||||||
|
ACT_RUN_TO_STAND_FORWARD = 332,
|
||||||
|
ACT_RUN_TO_STAND_45_LEFT = 333,
|
||||||
|
ACT_RUN_TO_STAND_90_LEFT = 334,
|
||||||
|
ACT_RUN_TO_STAND_135_LEFT = 335,
|
||||||
|
ACT_RUN_TO_STAND_180_LEFT = 336,
|
||||||
|
ACT_WALK_TO_STAND_180_RIGHT = 337,
|
||||||
|
ACT_WALK_TO_STAND_135_RIGHT = 338,
|
||||||
|
ACT_WALK_TO_STAND_90_RIGHT = 339,
|
||||||
|
ACT_WALK_TO_STAND_45_RIGHT = 340,
|
||||||
|
ACT_WALK_TO_STAND_FORWARD = 341,
|
||||||
|
ACT_WALK_TO_STAND_45_LEFT = 342,
|
||||||
|
ACT_WALK_TO_STAND_90_LEFT = 343,
|
||||||
|
ACT_WALK_TO_STAND_135_LEFT = 344,
|
||||||
|
ACT_WALK_TO_STAND_180_LEFT = 345,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_180_RIGHT = 346,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_135_RIGHT = 347,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_90_RIGHT = 348,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_45_RIGHT = 349,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_FORWARD = 350,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_45_LEFT = 351,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_90_LEFT = 352,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_135_LEFT = 353,
|
||||||
|
ACT_WALK_CASUAL_TO_STAND_180_LEFT = 354,
|
||||||
|
ACT_STRAFE_TO_STAND_RIGHT = 355,
|
||||||
|
ACT_STRAFE_TO_STAND_LEFT = 356,
|
||||||
|
ACT_STRAFE_TO_STAND_BACKPEDAL = 357,
|
||||||
|
ACT_STRAFE_TO_CROUCH_RIGHT = 358,
|
||||||
|
ACT_STRAFE_TO_CROUCH_LEFT = 359,
|
||||||
|
ACT_STRAFE_TO_CROUCH_BACKPEDAL = 360,
|
||||||
|
ACT_STAND_TO_RUN_BLINDFIRE_180 = 361,
|
||||||
|
ACT_EXIT_BACKPEDAL_TO_FORWARD_180 = 362,
|
||||||
|
ACT_RUN_TO_CROUCH_180_RIGHT = 363,
|
||||||
|
ACT_RUN_TO_CROUCH_135_RIGHT = 364,
|
||||||
|
ACT_RUN_TO_CROUCH_90_RIGHT = 365,
|
||||||
|
ACT_RUN_TO_CROUCH_45_RIGHT = 366,
|
||||||
|
ACT_RUN_TO_CROUCH_FORWARD = 367,
|
||||||
|
ACT_RUN_TO_CROUCH_45_LEFT = 368,
|
||||||
|
ACT_RUN_TO_CROUCH_90_LEFT = 369,
|
||||||
|
ACT_RUN_TO_CROUCH_135_LEFT = 370,
|
||||||
|
ACT_RUN_TO_CROUCH_180_LEFT = 371,
|
||||||
|
ACT_STAND_TO_FLEE_180_RIGHT = 372,
|
||||||
|
ACT_STAND_TO_FLEE_135_RIGHT = 373,
|
||||||
|
ACT_STAND_TO_FLEE_90_RIGHT = 374,
|
||||||
|
ACT_STAND_TO_FLEE_45_RIGHT = 375,
|
||||||
|
ACT_STAND_TO_FLEE_FORWARD = 376,
|
||||||
|
ACT_STAND_TO_FLEE_45_LEFT = 377,
|
||||||
|
ACT_STAND_TO_FLEE_90_LEFT = 378,
|
||||||
|
ACT_STAND_TO_FLEE_135_LEFT = 379,
|
||||||
|
ACT_STAND_TO_FLEE_180_LEFT = 380,
|
||||||
|
ACT_RUN_TURN_180_RIGHT = 381,
|
||||||
|
ACT_RUN_TURN_135_RIGHT = 382,
|
||||||
|
ACT_RUN_TURN_90_RIGHT = 383,
|
||||||
|
ACT_RUN_TURN_45_RIGHT = 384,
|
||||||
|
ACT_RUN_TURN_FORWARD = 385,
|
||||||
|
ACT_RUN_TURN_45_LEFT = 386,
|
||||||
|
ACT_RUN_TURN_90_LEFT = 387,
|
||||||
|
ACT_RUN_TURN_135_LEFT = 388,
|
||||||
|
ACT_RUN_TURN_180_LEFT = 389,
|
||||||
|
ACT_WALK_TURN_180_RIGHT = 390,
|
||||||
|
ACT_WALK_TURN_135_RIGHT = 391,
|
||||||
|
ACT_WALK_TURN_90_RIGHT = 392,
|
||||||
|
ACT_WALK_TURN_45_RIGHT = 393,
|
||||||
|
ACT_WALK_TURN_FORWARD = 394,
|
||||||
|
ACT_WALK_TURN_45_LEFT = 395,
|
||||||
|
ACT_WALK_TURN_90_LEFT = 396,
|
||||||
|
ACT_WALK_TURN_135_LEFT = 397,
|
||||||
|
ACT_WALK_TURN_180_LEFT = 398,
|
||||||
|
ACT_WALK_CASUAL_TURN_180_RIGHT = 399,
|
||||||
|
ACT_WALK_CASUAL_TURN_135_RIGHT = 400,
|
||||||
|
ACT_WALK_CASUAL_TURN_90_RIGHT = 401,
|
||||||
|
ACT_WALK_CASUAL_TURN_45_RIGHT = 402,
|
||||||
|
ACT_WALK_CASUAL_TURN_FORWARD = 403,
|
||||||
|
ACT_WALK_CASUAL_TURN_45_LEFT = 404,
|
||||||
|
ACT_WALK_CASUAL_TURN_90_LEFT = 405,
|
||||||
|
ACT_WALK_CASUAL_TURN_135_LEFT = 406,
|
||||||
|
ACT_WALK_CASUAL_TURN_180_LEFT = 407,
|
||||||
|
ACT_KNOCK_AWAY_PHYS_ENTS = 408,
|
||||||
|
ACT_TRAVERSE_DOWN_40 = 409,
|
||||||
|
ACT_TRAVERSE_DOWN_64 = 410,
|
||||||
|
ACT_TRAVERSE_DOWN_128 = 411,
|
||||||
|
ACT_TRAVERSE_DOWN_256 = 412,
|
||||||
|
ACT_TRAVERSE_DOWN_640 = 413,
|
||||||
|
ACT_TRAVERSE_UP_40 = 414,
|
||||||
|
ACT_TRAVERSE_UP_64 = 415,
|
||||||
|
ACT_TRAVERSE_UP_128 = 416,
|
||||||
|
ACT_TRAVERSE_UP_256 = 417,
|
||||||
|
ACT_TRAVERSE_UP_256_CLIMB = 418,
|
||||||
|
ACT_TRAVERSE_UP_640 = 419,
|
||||||
|
ACT_TRAVERSE_UP_640_CLIMB = 420,
|
||||||
|
ACT_TRAVERSE_OVER = 421,
|
||||||
|
ACT_TRAVERSE_DOOR = 422,
|
||||||
|
ACT_TRAVERSE_ACROSS_128 = 423,
|
||||||
|
ACT_TRAVERSE_ACROSS_128_REVERSE = 424,
|
||||||
|
ACT_TRAVERSE_ACROSS_256 = 425,
|
||||||
|
ACT_TRAVERSE_ACROSS_256_REVERSE = 426,
|
||||||
|
ACT_TRAVERSE_ACROSS_256_DOWN_128 = 427,
|
||||||
|
ACT_TRAVERSE_ACROSS_256_UP_128 = 428,
|
||||||
|
ACT_TRAVERSE_ACROSS_512 = 429,
|
||||||
|
ACT_TRAVERSE_ACROSS_512_REVERSE = 430,
|
||||||
|
ACT_TRAVERSE_ACROSS_512_DOWN_128 = 431,
|
||||||
|
ACT_TRAVERSE_ACROSS_512_UP_128 = 432,
|
||||||
|
ACT_TRAVERSE_ACROSS_1024 = 433,
|
||||||
|
ACT_TRAVERSE_ACROSS_1024_REVERSE = 434,
|
||||||
|
ACT_TRAVERSE_ACROSS_1024_DOWN_256 = 435,
|
||||||
|
ACT_TRAVERSE_ACROSS_1024_UP_256 = 436,
|
||||||
|
ACT_TRAVERSE_DOWN_WINDOW_192 = 437,
|
||||||
|
ACT_TRAVERSE_UP_WINDOW_192 = 438,
|
||||||
|
ACT_TRAVERSE_DOWN_WINDOW_256 = 439,
|
||||||
|
ACT_TRAVERSE_UP_WINDOW_256 = 440,
|
||||||
|
ACT_DO_NOT_DISTURB = 441,
|
||||||
|
ACT_SPECIFIC_SEQUENCE = 442,
|
||||||
|
ACT_RODEOED_STAND_IDLE = 443,
|
||||||
|
ACT_RODEOED_CROUCH_IDLE = 444,
|
||||||
|
ACT_RODEOED_WALK = 445,
|
||||||
|
ACT_RODEOED_CROUCHWALK = 446,
|
||||||
|
ACT_ZIPLINE_MOUNT = 447,
|
||||||
|
ACT_ZIPLINING = 448,
|
||||||
|
ACT_VM_DRAW = 449,
|
||||||
|
ACT_VM_DRAW_TO_SPRINT = 450,
|
||||||
|
ACT_VM_DRAWFIRST = 451,
|
||||||
|
ACT_VM_DRAWCATCH = 452,
|
||||||
|
ACT_VM_HOLSTER = 453,
|
||||||
|
ACT_VM_HOLSTER_FROM_SPRINT = 454,
|
||||||
|
ACT_VM_RAISE = 455,
|
||||||
|
ACT_VM_RAISE_FROM_SPRINT = 456,
|
||||||
|
ACT_VM_RAISE_FROM_MELEE = 457,
|
||||||
|
ACT_VM_LOWER = 458,
|
||||||
|
ACT_VM_DISCARD = 459,
|
||||||
|
ACT_VM_ADS_IN = 460,
|
||||||
|
ACT_VM_ADS_IN_ALT1 = 461,
|
||||||
|
ACT_VM_ADS_IN_ALT2 = 462,
|
||||||
|
ACT_VM_ADS_IN_ALT3 = 463,
|
||||||
|
ACT_VM_ADS_OUT = 464,
|
||||||
|
ACT_VM_ADS_OUT_ALT1 = 465,
|
||||||
|
ACT_VM_ADS_OUT_ALT2 = 466,
|
||||||
|
ACT_VM_ADS_OUT_ALT3 = 467,
|
||||||
|
ACT_VM_IDLE = 468,
|
||||||
|
ACT_VM_IDLE_ALT1 = 469,
|
||||||
|
ACT_VM_IDLE_ALT2 = 470,
|
||||||
|
ACT_VM_IDLE_ALT3 = 471,
|
||||||
|
ACT_VM_CHARGE = 472,
|
||||||
|
ACT_VM_CHARGE_VER1 = 473,
|
||||||
|
ACT_VM_CHARGE_VER2 = 474,
|
||||||
|
ACT_VM_CHARGE_VER3 = 475,
|
||||||
|
ACT_VM_CHARGE_VER4 = 476,
|
||||||
|
ACT_VM_CHARGE_LEVEL_INCREASE = 477,
|
||||||
|
ACT_VM_SPRINT = 478,
|
||||||
|
ACT_VM_FIDGET = 479,
|
||||||
|
ACT_VM_PULLBACK = 480,
|
||||||
|
ACT_VM_PULLBACK_HIGH = 481,
|
||||||
|
ACT_VM_PULLBACK_LOW = 482,
|
||||||
|
ACT_VM_THROW = 483,
|
||||||
|
ACT_VM_PRIMARYATTACK = 484,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT1 = 485,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT2 = 486,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT3 = 487,
|
||||||
|
ACT_VM_PRIMARYATTACK_SEQUENTIAL = 488,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT1_SEQUENTIAL = 489,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT2_SEQUENTIAL = 490,
|
||||||
|
ACT_VM_PRIMARYATTACK_ALT3_SEQUENTIAL = 491,
|
||||||
|
ACT_VM_SECONDARYATTACK = 492,
|
||||||
|
ACT_VM_MELEE_ATTACK1 = 493,
|
||||||
|
ACT_VM_MELEE_ATTACK2 = 494,
|
||||||
|
ACT_VM_MELEE_ATTACK3 = 495,
|
||||||
|
ACT_VM_MELEE_KNIFE_FIRST = 496,
|
||||||
|
ACT_VM_MELEE_KNIFE = 497,
|
||||||
|
ACT_VM_MELEE_CHARGE = 498,
|
||||||
|
ACT_VM_RELOAD = 499,
|
||||||
|
ACT_VM_RELOAD_LATE1 = 500,
|
||||||
|
ACT_VM_RELOAD_LATE2 = 501,
|
||||||
|
ACT_VM_RELOAD_LATE3 = 502,
|
||||||
|
ACT_VM_RELOAD_LATE4 = 503,
|
||||||
|
ACT_VM_RELOAD_LATE5 = 504,
|
||||||
|
ACT_VM_RELOADEMPTY = 505,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE1 = 506,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE2 = 507,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE3 = 508,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE4 = 509,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE5 = 510,
|
||||||
|
ACT_VM_RELOAD_ALT1 = 511,
|
||||||
|
ACT_VM_RELOAD_LATE1_ALT1 = 512,
|
||||||
|
ACT_VM_RELOAD_LATE2_ALT1 = 513,
|
||||||
|
ACT_VM_RELOAD_LATE3_ALT1 = 514,
|
||||||
|
ACT_VM_RELOAD_LATE4_ALT1 = 515,
|
||||||
|
ACT_VM_RELOAD_LATE5_ALT1 = 516,
|
||||||
|
ACT_VM_RELOADEMPTY_ALT1 = 517,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE1_ALT1 = 518,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE2_ALT1 = 519,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE3_ALT1 = 520,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE4_ALT1 = 521,
|
||||||
|
ACT_VM_RELOADEMPTY_LATE5_ALT1 = 522,
|
||||||
|
ACT_VM_SEGMENTEDRELOAD_LOOP = 523,
|
||||||
|
ACT_VM_SEGMENTEDRELOAD_END = 524,
|
||||||
|
ACT_VM_SEGMENTEDEMPTYRELOAD_END = 525,
|
||||||
|
ACT_VM_DRYFIRE = 526,
|
||||||
|
ACT_VM_HITCENTER = 527,
|
||||||
|
ACT_VM_HITCENTER2 = 528,
|
||||||
|
ACT_VM_MISSCENTER = 529,
|
||||||
|
ACT_VM_MISSCENTER2 = 530,
|
||||||
|
ACT_VM_HAULBACK = 531,
|
||||||
|
ACT_VM_RECOIL1 = 532,
|
||||||
|
ACT_VM_RECOIL2 = 533,
|
||||||
|
ACT_VM_RECOIL3 = 534,
|
||||||
|
ACT_VM_PICKUP = 535,
|
||||||
|
ACT_VM_RELEASE = 536,
|
||||||
|
ACT_VM_RECHAMBER = 537,
|
||||||
|
ACT_VM_RECHAMBER_LATE1 = 538,
|
||||||
|
ACT_VM_RECHAMBER_LATE2 = 539,
|
||||||
|
ACT_VM_RECHAMBER_LATE3 = 540,
|
||||||
|
ACT_VM_ZIPLINE_MOUNT = 541,
|
||||||
|
ACT_VM_TOSS = 542,
|
||||||
|
ACT_VM_TOSS_OVERHEAD = 543,
|
||||||
|
ACT_VM_TOSS_PREP = 544,
|
||||||
|
ACT_VM_TOSS_PREP_PULLOUT = 545,
|
||||||
|
ACT_VM_TOSS_HOLD = 546,
|
||||||
|
ACT_VM_TOSS_HOLD_SPRINTING = 547,
|
||||||
|
ACT_VM_COOLDOWN = 548,
|
||||||
|
ACT_VM_COOLDOWN_OVERHEAT = 549,
|
||||||
|
ACT_VM_COOLDOWN_OVERHEAT_LATE1 = 550,
|
||||||
|
ACT_VM_COOLDOWN_OVERHEAT_LATE2 = 551,
|
||||||
|
ACT_VM_COOLDOWN_OVERHEAT_LATE3 = 552,
|
||||||
|
ACT_VM_DASH = 553,
|
||||||
|
ACT_VM_GRAPPLE_START = 554,
|
||||||
|
ACT_VM_GRAPPLE_IDLE = 555,
|
||||||
|
ACT_VM_GRAPPLE_STOP = 556,
|
||||||
|
ACT_VM_WEAPON_INSPECT = 557,
|
||||||
|
ACT_VM_JUMP = 558,
|
||||||
|
ACT_VM_DOUBLEJUMP = 559,
|
||||||
|
ACT_VM_LAND = 560,
|
||||||
|
ACT_VM_LAND_LOW = 561,
|
||||||
|
ACT_VM_LAND_MEDIUM = 562,
|
||||||
|
ACT_VM_LAND_HIGH = 563,
|
||||||
|
ACT_VM_WEAPON_MOD_ADD = 564,
|
||||||
|
ACT_VM_WEAPON_MOD_REMOVE = 565,
|
||||||
|
ACT_VM_SUSTAINED_DISCHARGE = 566,
|
||||||
|
ACT_VM_TRAVERSAL_WINDOW_LEFT = 567,
|
||||||
|
ACT_VM_TRAVERSAL_WINDOW_RIGHT = 568,
|
||||||
|
ACT_VM_MANTLE_BELOW = 569,
|
||||||
|
ACT_VM_MANTLE_LEVEL = 570,
|
||||||
|
ACT_VM_MANTLE_ABOVE = 571,
|
||||||
|
ACT_VM_MANTLE_HIGH = 572,
|
||||||
|
ACT_VM_MANTLE_CROUCH_BELOW = 573,
|
||||||
|
ACT_VM_MANTLE_CROUCH_LEVEL = 574,
|
||||||
|
ACT_VM_MANTLE_CROUCH_ABOVE = 575,
|
||||||
|
ACT_VM_MANTLE_CROUCH_HIGH = 576,
|
||||||
|
ACT_VM_MANTLE_IDLE = 577,
|
||||||
|
ACT_VM_MANTLE_JUMPOFF = 578,
|
||||||
|
ACT_VM_ONEHANDED_ADS_IN = 579,
|
||||||
|
ACT_VM_ONEHANDED_ADS_IN_ALT1 = 580,
|
||||||
|
ACT_VM_ONEHANDED_ADS_IN_ALT2 = 581,
|
||||||
|
ACT_VM_ONEHANDED_ADS_IN_ALT3 = 582,
|
||||||
|
ACT_VM_ONEHANDED_ADS_OUT = 583,
|
||||||
|
ACT_VM_ONEHANDED_ADS_OUT_ALT1 = 584,
|
||||||
|
ACT_VM_ONEHANDED_ADS_OUT_ALT2 = 585,
|
||||||
|
ACT_VM_ONEHANDED_ADS_OUT_ALT3 = 586,
|
||||||
|
ACT_VM_ONEHANDED_IDLE = 587,
|
||||||
|
ACT_VM_ONEHANDED_IDLE_ALT1 = 588,
|
||||||
|
ACT_VM_ONEHANDED_IDLE_ALT2 = 589,
|
||||||
|
ACT_VM_ONEHANDED_IDLE_ALT3 = 590,
|
||||||
|
ACT_VM_ONEHANDED_CHARGE = 591,
|
||||||
|
ACT_VM_ONEHANDED_SPRINT = 592,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK = 593,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1 = 594,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2 = 595,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3 = 596,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_SEQUENTIAL = 597,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT1_SEQUENTIAL = 598,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT2_SEQUENTIAL = 599,
|
||||||
|
ACT_VM_ONEHANDED_PRIMARYATTACK_ALT3_SEQUENTIAL = 600,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD = 601,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE1 = 602,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE2 = 603,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE3 = 604,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE4 = 605,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE5 = 606,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY = 607,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1 = 608,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2 = 609,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3 = 610,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4 = 611,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5 = 612,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_ALT1 = 613,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE1_ALT1 = 614,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE2_ALT1 = 615,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE3_ALT1 = 616,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE4_ALT1 = 617,
|
||||||
|
ACT_VM_ONEHANDED_RELOAD_LATE5_ALT1 = 618,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_ALT1 = 619,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE1_ALT1 = 620,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE2_ALT1 = 621,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE3_ALT1 = 622,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE4_ALT1 = 623,
|
||||||
|
ACT_VM_ONEHANDED_RELOADEMPTY_LATE5_ALT1 = 624,
|
||||||
|
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_LOOP = 625,
|
||||||
|
ACT_VM_ONEHANDED_SEGMENTEDRELOAD_END = 626,
|
||||||
|
ACT_VM_ONEHANDED_SEGMENTEDEMPTYRELOAD_END = 627,
|
||||||
|
ACT_VM_ONEHANDED_RECHAMBER = 628,
|
||||||
|
ACT_VM_ONEHANDED_RECHAMBER_LATE1 = 629,
|
||||||
|
ACT_VM_ONEHANDED_RECHAMBER_LATE2 = 630,
|
||||||
|
ACT_VM_ONEHANDED_RECHAMBER_LATE3 = 631,
|
||||||
|
ACT_VM_ONEHANDED_DRAW = 632,
|
||||||
|
ACT_VM_ONEHANDED_DRAWFIRST = 633,
|
||||||
|
ACT_VM_ONEHANDED_HOLSTER = 634,
|
||||||
|
ACT_VM_ONEHANDED_LOWER = 635,
|
||||||
|
ACT_VM_ONEHANDED_RAISE = 636,
|
||||||
|
ACT_VM_ONEHANDED_RAISE_FROM_SPRINT = 637,
|
||||||
|
ACT_VM_ONEHANDED_RAISE_FROM_MELEE = 638,
|
||||||
|
ACT_VM_ONEHANDED_TOSS = 639,
|
||||||
|
ACT_VM_ONEHANDED_TOSS_OVERHEAD = 640,
|
||||||
|
ACT_VM_ONEHANDED_TOSS_PREP = 641,
|
||||||
|
ACT_VM_ONEHANDED_TOSS_PREP_PULLOUT = 642,
|
||||||
|
ACT_VM_ONEHANDED_TOSS_HOLD = 643,
|
||||||
|
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT = 644,
|
||||||
|
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE1 = 645,
|
||||||
|
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE2 = 646,
|
||||||
|
ACT_VM_ONEHANDED_COOLDOWN_OVERHEAT_LATE3 = 647,
|
||||||
|
ACT_VM_ONEHANDED_SUSTAINED_DISCHARGE = 648,
|
||||||
|
ACT_MP_STAND_IDLE = 649,
|
||||||
|
ACT_MP_CROUCH_IDLE = 650,
|
||||||
|
ACT_MP_CROUCH_DEPLOYED_IDLE = 651,
|
||||||
|
ACT_MP_CROUCH_DEPLOYED = 652,
|
||||||
|
ACT_MP_DEPLOYED_IDLE = 653,
|
||||||
|
ACT_MP_RUN = 654,
|
||||||
|
ACT_MP_RUN_FORWARD = 655,
|
||||||
|
ACT_MP_RUN_BACKWARD = 656,
|
||||||
|
ACT_MP_RUN_LEFT = 657,
|
||||||
|
ACT_MP_RUN_RIGHT = 658,
|
||||||
|
ACT_MP_STAGGERED_RUN = 659,
|
||||||
|
ACT_MP_STAGGERED_RUN_FORWARD = 660,
|
||||||
|
ACT_MP_STAGGERED_RUN_BACKWARD = 661,
|
||||||
|
ACT_MP_STAGGERED_RUN_LEFT = 662,
|
||||||
|
ACT_MP_STAGGERED_RUN_RIGHT = 663,
|
||||||
|
ACT_MP_WALK = 664,
|
||||||
|
ACT_MP_WALK_FORWARD = 665,
|
||||||
|
ACT_MP_WALK_BACKWARD = 666,
|
||||||
|
ACT_MP_WALK_LEFT = 667,
|
||||||
|
ACT_MP_WALK_RIGHT = 668,
|
||||||
|
ACT_MP_STAGGERED_WALK = 669,
|
||||||
|
ACT_MP_STAGGERED_WALK_FORWARD = 670,
|
||||||
|
ACT_MP_STAGGERED_WALK_BACKWARD = 671,
|
||||||
|
ACT_MP_STAGGERED_WALK_LEFT = 672,
|
||||||
|
ACT_MP_STAGGERED_WALK_RIGHT = 673,
|
||||||
|
ACT_MP_AIRWALK = 674,
|
||||||
|
ACT_MP_CROUCHWALK = 675,
|
||||||
|
ACT_MP_CROUCHWALK_FORWARD = 676,
|
||||||
|
ACT_MP_CROUCHWALK_BACKWARD = 677,
|
||||||
|
ACT_MP_CROUCHWALK_LEFT = 678,
|
||||||
|
ACT_MP_CROUCHWALK_RIGHT = 679,
|
||||||
|
ACT_MP_STAGGERED_CROUCHWALK = 680,
|
||||||
|
ACT_MP_STAGGERED_CROUCHWALK_FORWARD = 681,
|
||||||
|
ACT_MP_STAGGERED_CROUCHWALK_BACKWARD = 682,
|
||||||
|
ACT_MP_STAGGERED_CROUCHWALK_LEFT = 683,
|
||||||
|
ACT_MP_STAGGERED_CROUCHWALK_RIGHT = 684,
|
||||||
|
ACT_MP_SPRINT = 685,
|
||||||
|
ACT_MP_STAGGERED_SPRINT = 686,
|
||||||
|
ACT_MP_SLIDE = 687,
|
||||||
|
ACT_MP_SLIDE_FORWARD = 688,
|
||||||
|
ACT_MP_SLIDE_BACKWARD = 689,
|
||||||
|
ACT_MP_SLIDE_LEFT = 690,
|
||||||
|
ACT_MP_SLIDE_RIGHT = 691,
|
||||||
|
ACT_MP_JUMP = 692,
|
||||||
|
ACT_MP_JUMP_START = 693,
|
||||||
|
ACT_MP_JUMP_FLOAT = 694,
|
||||||
|
ACT_MP_JUMP_LAND = 695,
|
||||||
|
ACT_MP_JUMP_LAND_FORWARD = 696,
|
||||||
|
ACT_MP_JUMP_LAND_BACKWARD = 697,
|
||||||
|
ACT_MP_JUMP_LAND_LEFT = 698,
|
||||||
|
ACT_MP_JUMP_LAND_RIGHT = 699,
|
||||||
|
ACT_MP_JUMP_LAND_LOW = 700,
|
||||||
|
ACT_MP_JUMP_LAND_LOW_FORWARD = 701,
|
||||||
|
ACT_MP_JUMP_LAND_LOW_BACKWARD = 702,
|
||||||
|
ACT_MP_JUMP_LAND_LOW_LEFT = 703,
|
||||||
|
ACT_MP_JUMP_LAND_LOW_RIGHT = 704,
|
||||||
|
ACT_MP_JUMP_LAND_MEDIUM = 705,
|
||||||
|
ACT_MP_JUMP_LAND_MEDIUM_FORWARD = 706,
|
||||||
|
ACT_MP_JUMP_LAND_MEDIUM_BACKWARD = 707,
|
||||||
|
ACT_MP_JUMP_LAND_MEDIUM_LEFT = 708,
|
||||||
|
ACT_MP_JUMP_LAND_MEDIUM_RIGHT = 709,
|
||||||
|
ACT_MP_JUMP_LAND_HIGH = 710,
|
||||||
|
ACT_MP_JUMP_LAND_HIGH_FORWARD = 711,
|
||||||
|
ACT_MP_JUMP_LAND_HIGH_BACKWARD = 712,
|
||||||
|
ACT_MP_JUMP_LAND_HIGH_LEFT = 713,
|
||||||
|
ACT_MP_JUMP_LAND_HIGH_RIGHT = 714,
|
||||||
|
ACT_MP_JUMP_IMPACT_N = 715,
|
||||||
|
ACT_MP_JUMP_IMPACT_E = 716,
|
||||||
|
ACT_MP_JUMP_IMPACT_W = 717,
|
||||||
|
ACT_MP_JUMP_IMPACT_S = 718,
|
||||||
|
ACT_MP_JUMP_IMPACT_TOP = 719,
|
||||||
|
ACT_MP_DOUBLEJUMP = 720,
|
||||||
|
ACT_MP_DEPLOYED = 721,
|
||||||
|
ACT_MP_VCD = 722,
|
||||||
|
ACT_MP_DODGE = 723,
|
||||||
|
ACT_MP_DODGE_FORWARD = 724,
|
||||||
|
ACT_MP_DODGE_BACKWARD = 725,
|
||||||
|
ACT_MP_DODGE_LEFT = 726,
|
||||||
|
ACT_MP_DODGE_RIGHT = 727,
|
||||||
|
ACT_MP_DODGE_FLOAT = 728,
|
||||||
|
ACT_MP_DODGE_FLOAT_FORWARD = 729,
|
||||||
|
ACT_MP_DODGE_FLOAT_BACKWARD = 730,
|
||||||
|
ACT_MP_DODGE_FLOAT_LEFT = 731,
|
||||||
|
ACT_MP_DODGE_FLOAT_RIGHT = 732,
|
||||||
|
ACT_MP_DODGE_LAND = 733,
|
||||||
|
ACT_MP_DODGE_LAND_FORWARD = 734,
|
||||||
|
ACT_MP_DODGE_LAND_BACKWARD = 735,
|
||||||
|
ACT_MP_DODGE_LAND_LEFT = 736,
|
||||||
|
ACT_MP_DODGE_LAND_RIGHT = 737,
|
||||||
|
ACT_MP_WALLRUN_UP = 738,
|
||||||
|
ACT_MP_WALLRUN_LEFT = 739,
|
||||||
|
ACT_MP_WALLRUN_RIGHT = 740,
|
||||||
|
ACT_MP_WALLRUN_FALL_BACK = 741,
|
||||||
|
ACT_MP_WALLRUN_FALL_FRONT = 742,
|
||||||
|
ACT_MP_WALLRUN_FALL_LEFT = 743,
|
||||||
|
ACT_MP_WALLRUN_FALL_RIGHT = 744,
|
||||||
|
ACT_MP_WALLHANG_IDLE = 745,
|
||||||
|
ACT_MP_WALLHANG_LEFT = 746,
|
||||||
|
ACT_MP_WALLHANG_RIGHT = 747,
|
||||||
|
ACT_MP_WALLHANG_UP = 748,
|
||||||
|
ACT_MP_WALLHANG_FRONT = 749,
|
||||||
|
ACT_MP_WALLJUMP_LEFT = 750,
|
||||||
|
ACT_MP_WALLJUMP_RIGHT = 751,
|
||||||
|
ACT_MP_WALLJUMP_UP = 752,
|
||||||
|
ACT_MP_CROUCHSLIDE = 753,
|
||||||
|
ACT_MP_CROUCHSLIDE_END_FORWARD = 754,
|
||||||
|
ACT_MP_CROUCHSLIDE_END_BACKWARD_LEFT = 755,
|
||||||
|
ACT_MP_CROUCHSLIDE_END_BACKWARD_RIGHT = 756,
|
||||||
|
ACT_MP_CROUCHSLIDE_END_LEFT = 757,
|
||||||
|
ACT_MP_CROUCHSLIDE_END_RIGHT = 758,
|
||||||
|
ACT_MP_CROUCHSLIDE_AIR = 759,
|
||||||
|
ACT_MP_GRAPPLE = 760,
|
||||||
|
ACT_MP_GESTURE_GRAPPLE_FIRE = 761,
|
||||||
|
ACT_MP_FREEFALL = 762,
|
||||||
|
ACT_MP_FREEFALL_ANTICIPATE = 763,
|
||||||
|
ACT_MP_FREEFALL_TRANSITION_TO_ANTICIPATE = 764,
|
||||||
|
ACT_MP_FREEFALL_TRANSITION_FROM_ANTICIPATE = 765,
|
||||||
|
ACT_MP_VEHICLE_DRIVER_IDLE = 766,
|
||||||
|
ACT_MP_TRAVERSAL_WINDOW_LEFT = 767,
|
||||||
|
ACT_MP_TRAVERSAL_WINDOW_RIGHT = 768,
|
||||||
|
ACT_MP_MANTLE_BELOW = 769,
|
||||||
|
ACT_MP_MANTLE_LEVEL = 770,
|
||||||
|
ACT_MP_MANTLE_ABOVE = 771,
|
||||||
|
ACT_MP_MANTLE_HIGH = 772,
|
||||||
|
ACT_MP_MANTLE_CROUCH_BELOW = 773,
|
||||||
|
ACT_MP_MANTLE_CROUCH_LEVEL = 774,
|
||||||
|
ACT_MP_MANTLE_CROUCH_ABOVE = 775,
|
||||||
|
ACT_MP_MANTLE_CROUCH_HIGH = 776,
|
||||||
|
ACT_MP_MANTLE_IDLE = 777,
|
||||||
|
ACT_MP_MANTLE_JUMPOFF = 778,
|
||||||
|
ACT_MP_ATTACK_STAND_PRIMARYFIRE = 779,
|
||||||
|
ACT_MP_ATTACK_STAND_SECONDARYFIRE = 780,
|
||||||
|
ACT_MP_ATTACK_STAND_GRENADE = 781,
|
||||||
|
ACT_MP_ATTACK_STAND_GRENADE_PULLOUT = 782,
|
||||||
|
ACT_MP_ATTACK_CROUCH_PRIMARYFIRE = 783,
|
||||||
|
ACT_MP_ATTACK_CROUCH_SECONDARYFIRE = 784,
|
||||||
|
ACT_MP_ATTACK_CROUCH_GRENADE = 785,
|
||||||
|
ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE = 786,
|
||||||
|
ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE = 787,
|
||||||
|
ACT_MP_ATTACK_AIRWALK_GRENADE = 788,
|
||||||
|
ACT_MP_RELOAD_STAND = 789,
|
||||||
|
ACT_MP_RELOAD_CROUCH = 790,
|
||||||
|
ACT_MP_OFFHAND_START = 791,
|
||||||
|
ACT_MP_OFFHAND_END = 792,
|
||||||
|
ACT_MP_OFFHAND_FIRE = 793,
|
||||||
|
ACT_MP_OFFHAND_CHARGING = 794,
|
||||||
|
ACT_MP_OFFHAND_CHARGING_ALT_1 = 795,
|
||||||
|
ACT_MP_OFFHAND_CHARGING_ALT_2 = 796,
|
||||||
|
ACT_MP_OFFHAND_CHARGING_ALT_3 = 797,
|
||||||
|
ACT_MP_OFFHAND_CHARGING_ALT_4 = 798,
|
||||||
|
ACT_MP_MELEE = 799,
|
||||||
|
ACT_MP_MELEE_KNIFE_FIRST = 800,
|
||||||
|
ACT_MP_MELEE_KNIFE = 801,
|
||||||
|
ACT_MP_EQUIP_FROM_RIFLE_TO_RIFLE = 802,
|
||||||
|
ACT_MP_EQUIP_FROM_RIFLE_TO_PISTOL = 803,
|
||||||
|
ACT_MP_EQUIP_FROM_RIFLE_TO_ROCKET = 804,
|
||||||
|
ACT_MP_EQUIP_FROM_PISTOL_TO_PISTOL = 805,
|
||||||
|
ACT_MP_EQUIP_FROM_PISTOL_TO_RIFLE = 806,
|
||||||
|
ACT_MP_EQUIP_FROM_PISTOL_TO_ROCKET = 807,
|
||||||
|
ACT_MP_EQUIP_FROM_ROCKET_TO_ROCKET = 808,
|
||||||
|
ACT_MP_EQUIP_FROM_ROCKET_TO_RIFLE = 809,
|
||||||
|
ACT_MP_EQUIP_FROM_ROCKET_TO_PISTOL = 810,
|
||||||
|
ACT_MP_LOOT_IDLE_STAND = 811,
|
||||||
|
ACT_MP_LOOT_IDLE_CROUCH = 812,
|
||||||
|
ACT_TRANSITION_TO_DOWNED_FROM_STANDING = 813,
|
||||||
|
ACT_TRANSITION_TO_STANDING_FROM_DOWNED = 814,
|
||||||
|
ACT_MP_DOWNED_IDLE = 815,
|
||||||
|
ACT_MP_DOWNED_CRAWL = 816,
|
||||||
|
ACT_MP_DOWNED_CRAWL_FORWARD = 817,
|
||||||
|
ACT_MP_DOWNED_CRAWL_BACKWARD = 818,
|
||||||
|
ACT_MP_DOWNED_CRAWL_LEFT = 819,
|
||||||
|
ACT_MP_DOWNED_CRAWL_RIGHT = 820,
|
||||||
|
ACT_MP_MENU_LOBBY_LEFT_IDLE = 821,
|
||||||
|
ACT_MP_MENU_LOBBY_CENTER_IDLE = 822,
|
||||||
|
ACT_MP_MENU_LOBBY_RIGHT_IDLE = 823,
|
||||||
|
ACT_MP_MENU_LOBBY_SELECT_IDLE = 824,
|
||||||
|
ACT_MP_MENU_MAIN_INTRO = 825,
|
||||||
|
ACT_MP_MENU_MAIN_IDLE = 826,
|
||||||
|
ACT_MP_MENU_READYUP_INTRO = 827,
|
||||||
|
ACT_MP_MENU_READYUP_IDLE = 828,
|
||||||
|
ACT_MP_MENU_DETAILS_INTRO = 829,
|
||||||
|
ACT_MP_MENU_DETAILS_IDLE = 830,
|
||||||
|
ACT_MP_MENU_SQUAD_IDLE = 831,
|
||||||
|
ACT_MP_MENU_GROUPSHOT_SLOT_A = 832,
|
||||||
|
ACT_MP_MENU_GROUPSHOT_SLOT_B = 833,
|
||||||
|
ACT_MP_MENU_GROUPSHOT_SLOT_C = 834,
|
||||||
|
ACT_MP_MENU_LOOT_CEREMONY_IDLE = 835,
|
||||||
|
ACT_MP_STAND_PRIMARY = 836,
|
||||||
|
ACT_MP_CROUCH_PRIMARY = 837,
|
||||||
|
ACT_MP_RUN_PRIMARY = 838,
|
||||||
|
ACT_MP_WALK_PRIMARY = 839,
|
||||||
|
ACT_MP_AIRWALK_PRIMARY = 840,
|
||||||
|
ACT_MP_CROUCHWALK_PRIMARY = 841,
|
||||||
|
ACT_MP_JUMP_PRIMARY = 842,
|
||||||
|
ACT_MP_JUMP_START_PRIMARY = 843,
|
||||||
|
ACT_MP_JUMP_FLOAT_PRIMARY = 844,
|
||||||
|
ACT_MP_JUMP_LAND_PRIMARY = 845,
|
||||||
|
ACT_MP_DEPLOYED_PRIMARY = 846,
|
||||||
|
ACT_MP_STAND_SECONDARY = 847,
|
||||||
|
ACT_MP_RUN_SECONDARY = 848,
|
||||||
|
ACT_MP_STAND_MELEE = 849,
|
||||||
|
ACT_MP_CROUCH_MELEE = 850,
|
||||||
|
ACT_MP_RUN_MELEE = 851,
|
||||||
|
ACT_MP_WALK_MELEE = 852,
|
||||||
|
ACT_MP_AIRWALK_MELEE = 853,
|
||||||
|
ACT_MP_CROUCHWALK_MELEE = 854,
|
||||||
|
ACT_MP_JUMP_MELEE = 855,
|
||||||
|
ACT_MP_JUMP_START_MELEE = 856,
|
||||||
|
ACT_MP_JUMP_FLOAT_MELEE = 857,
|
||||||
|
ACT_MP_JUMP_LAND_MELEE = 858,
|
||||||
|
ACT_MP_GESTURE_FLINCH_BACKWARDS = 859,
|
||||||
|
ACT_MP_GESTURE_FLINCH_LEFT = 860,
|
||||||
|
ACT_MP_GESTURE_FLINCH_FORWARDS = 861,
|
||||||
|
ACT_MP_GESTURE_FLINCH_RIGHT = 862,
|
||||||
|
ACT_MP_DEATH_CRUSH = 863,
|
||||||
|
ACT_MP_DEATH_GENERIC = 864,
|
||||||
|
ACT_MP_DEATH_CROUCH = 865,
|
||||||
|
ACT_MP_DEATH_WALK = 866,
|
||||||
|
ACT_MP_DEATH_WALK_FORWARD = 867,
|
||||||
|
ACT_MP_DEATH_WALK_BACKWARD = 868,
|
||||||
|
ACT_MP_DEATH_WALK_LEFT = 869,
|
||||||
|
ACT_MP_DEATH_WALK_RIGHT = 870,
|
||||||
|
ACT_MP_DEATH_RUN = 871,
|
||||||
|
ACT_MP_DEATH_RUN_FORWARD = 872,
|
||||||
|
ACT_MP_DEATH_RUN_BACKWARD = 873,
|
||||||
|
ACT_MP_DEATH_RUN_LEFT = 874,
|
||||||
|
ACT_MP_DEATH_RUN_RIGHT = 875,
|
||||||
|
ACT_MP_DEATH_SPRINT = 876,
|
||||||
|
ACT_MP_DEATH_SPRINT_FORWARD = 877,
|
||||||
|
ACT_MP_RUN_SPEEDPAINT_PRIMARY = 878,
|
||||||
|
ACT_MP_DROWNING_PRIMARY = 879,
|
||||||
|
ACT_MP_LONG_FALL_PRIMARY = 880,
|
||||||
|
ACT_MP_TRACTORBEAM_FLOAT_PRIMARY = 881,
|
||||||
|
ACT_MP_DEATH_CRUSH_PRIMARY = 882,
|
||||||
|
};
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Weapon inventory slot enumerants; used as constants for scripts.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
enum WeaponInventorySlot_t
|
||||||
|
{
|
||||||
|
WEAPON_INVENTORY_SLOT_INVALID = 0xFF, // Promote to 32bit INT_MAX for script constants.
|
||||||
|
WEAPON_INVENTORY_SLOT_ANY = 0xFE, // promote to 32bit INT_MAX for script constants.
|
||||||
|
WEAPON_INVENTORY_SLOT_PRIMARY_0 = 0,
|
||||||
|
WEAPON_INVENTORY_SLOT_PRIMARY_1 = 1,
|
||||||
|
WEAPON_INVENTORY_SLOT_PRIMARY_2 = 2,
|
||||||
|
WEAPON_INVENTORY_SLOT_PRIMARY_3 = 3,
|
||||||
|
WEAPON_INVENTORY_SLOT_ANTI_TITAN = 4,
|
||||||
|
WEAPON_INVENTORY_SLOT_DUALPRIMARY_0 = 5,
|
||||||
|
WEAPON_INVENTORY_SLOT_DUALPRIMARY_1 = 6,
|
||||||
|
WEAPON_INVENTORY_SLOT_DUALPRIMARY_2 = 7,
|
||||||
|
WEAPON_INVENTORY_SLOT_DUALPRIMARY_3 = 8,
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // WEAPON_TYPES_H
|
Loading…
x
Reference in New Issue
Block a user