#pragma once #include #include "!GlobalTypes.hpp" // ///////////////////////////////////////////////////////////// // Binary: server.dll // Classes count: 803 // Enums count: 162 // Created using source2gen - github.com/neverlosecc/source2gen // ///////////////////////////////////////////////////////////// // Alignment: 4 // Size: 0x3 enum class PointTemplateOwnerSpawnGroupType_t : uint32_t { INSERT_INTO_POINT_TEMPLATE_SPAWN_GROUP = 0x0, INSERT_INTO_CURRENTLY_ACTIVE_SPAWN_GROUP = 0x1, INSERT_INTO_NEWLY_CREATED_SPAWN_GROUP = 0x2, }; // Alignment: 4 // Size: 0x2 enum class PointTemplateClientOnlyEntityBehavior_t : uint32_t { CREATE_FOR_CURRENTLY_CONNECTED_CLIENTS_ONLY = 0x0, CREATE_FOR_CLIENTS_WHO_CONNECT_LATER = 0x1, }; // Alignment: 4 // Size: 0x4 enum class PerformanceMode_t : uint32_t { PM_NORMAL = 0x0, PM_NO_GIBS = 0x1, PM_FULL_GIBS = 0x2, PM_REDUCED_GIBS = 0x3, }; // Alignment: 4 // Size: 0x3 enum class ChatIgnoreType_t : uint32_t { CHAT_IGNORE_NONE = 0x0, CHAT_IGNORE_ALL = 0x1, CHAT_IGNORE_TEAM = 0x2, }; // Alignment: 4 // Size: 0x4 enum class CommandExecMode_t : uint32_t { EXEC_MANUAL = 0x0, EXEC_LEVELSTART = 0x1, EXEC_PERIODIC = 0x2, EXEC_MODES_COUNT = 0x3, }; // Alignment: 4 // Size: 0x2 enum class CommandEntitySpecType_t : uint32_t { SPEC_SEARCH = 0x0, SPEC_TYPES_COUNT = 0x1, }; // Alignment: 4 // Size: 0x54 enum class GameAnimEventIndex_t : uint32_t { AE_EMPTY = 0x0, AE_CL_PLAYSOUND = 0x1, AE_CL_PLAYSOUND_ATTACHMENT = 0x2, AE_CL_PLAYSOUND_POSITION = 0x3, AE_SV_PLAYSOUND = 0x4, AE_CL_STOPSOUND = 0x5, AE_CL_PLAYSOUND_LOOPING = 0x6, AE_CLIENT_EFFECT_ATTACH = 0x7, AE_CL_CREATE_PARTICLE_EFFECT = 0x8, AE_CL_STOP_PARTICLE_EFFECT = 0x9, AE_CL_ADD_PARTICLE_EFFECT_CP = 0xa, AE_CL_CREATE_PARTICLE_EFFECT_CFG = 0xb, AE_CL_SUPPRESS_EVENTS_WITH_TAG = 0xc, AE_START_SCRIPTED_EFFECT = 0xd, AE_STOP_SCRIPTED_EFFECT = 0xe, AE_MUZZLEFLASH = 0xf, AE_SV_CREATE_PARTICLE_EFFECT_CFG = 0x10, AE_SV_STOP_PARTICLE_EFFECT = 0x11, AE_CL_HIDE_PARTICLE_EFFECT = 0x12, AE_CL_SHOW_PARTICLE_EFFECT = 0x13, AE_FOOTSTEP = 0x14, AE_CL_FOOTSTEP_LEFT = 0x15, AE_CL_FOOTSTEP_RIGHT = 0x16, AE_CL_MFOOTSTEP_LEFT = 0x17, AE_CL_MFOOTSTEP_RIGHT = 0x18, AE_CL_MFOOTSTEP_LEFT_LOUD = 0x19, AE_CL_MFOOTSTEP_RIGHT_LOUD = 0x1a, AE_RAGDOLL = 0x1b, AE_CL_ENABLE_BODYGROUP = 0x1c, AE_CL_DISABLE_BODYGROUP = 0x1d, AE_CL_BODYGROUP_SET_VALUE = 0x1e, AE_SV_BODYGROUP_SET_VALUE = 0x1f, AE_CL_BODYGROUP_SET_VALUE_CMODEL_WPN = 0x20, AE_WPN_PRIMARYATTACK = 0x21, AE_WPN_PLAYWPNSOUND = 0x22, AE_WPN_SECONDARYATTACK = 0x23, AE_CL_SPEECH = 0x24, AE_FIRE_INPUT = 0x25, AE_IK_SET_LOCK_ROTATION_ALPHA = 0x26, AE_IK_ALLOW_PLANE_TILT_NORMAL_UPDATES = 0x27, AE_IK_SET_MASTER_BLEND_AMOUNT = 0x28, AE_IK_SET_CHAIN_BLEND_AMOUNT = 0x29, AE_CL_CLOTH_ATTR = 0x2a, AE_CL_CLOTH_GROUND_OFFSET = 0x2b, AE_CL_CLOTH_STIFFEN = 0x2c, AE_CL_CLOTH_EFFECT = 0x2d, AE_CL_CREATE_ANIM_SCOPE_PROP = 0x2e, AE_HAPTIC_PULSE = 0x2f, AE_NPC_LEFTFOOT = 0x30, AE_NPC_RIGHTFOOT = 0x31, AE_NPC_BODYDROP_LIGHT = 0x32, AE_NPC_BODYDROP_HEAVY = 0x33, AE_NPC_SWISHSOUND = 0x34, AE_NPC_WEAPON_DROP = 0x35, AE_NPC_RAGDOLL = 0x36, AE_NPC_ATTACK_BROADCAST = 0x37, AE_NPC_GIB = 0x38, AE_NPC_BECOME_TEMPORARY_RAGDOLL = 0x39, AE_NPC_START_POWERED_RAGDOLL = 0x3a, AE_NPC_END_POWERED_RAGDOLL = 0x3b, AE_NPC_HURT_INTERACTION_PARTNER = 0x3c, AE_NPC_SET_INTERACTION_CANTDIE = 0x3d, AE_SOUND_EMITTED = 0x3e, AE_NPC_ITEM_PICKUP = 0x3f, AE_TOSS_ITEM = 0x40, AE_NPC_HOLSTER = 0x41, AE_NPC_DRAW = 0x42, AE_NPC_WEAPON_FIRE = 0x43, AE_NPC_WEAPON_FIRE_SHARED = 0x44, AE_WEAPON_MELEE_HIT = 0x45, AE_WEAPON_RELOAD = 0x46, AE_ABILITY_PERFORM_ABILITY = 0x47, AE_ABILITY_PERFORM_ABILITY2 = 0x48, AE_ABILITY_PERFORM_ABILITY3 = 0x49, AE_ABILITY_WEAPON_ACTIVATE = 0x4a, AE_ABILITY_WEAPON_DEACTIVATE = 0x4b, AE_SCRIPT_EVENT_NOINTERRUPT = 0x4c, AE_SCRIPT_EVENT_CANINTERRUPT = 0x4d, AE_SCRIPT_EVENT_FIREEVENT = 0x4e, AE_SCRIPT_EVENT_DEAD = 0x4f, AE_SCRIPT_EVENT_NOT_DEAD = 0x50, AE_SCRIPT_EVENT_FIRE_INPUT = 0x51, AE_SCRIPT_EVENT_CUSTOMINTERRUPT_START = 0x52, AE_SCRIPT_EVENT_CUSTOMINTERRUPT_END = 0x53, }; // Alignment: 4 // Size: 0x9 enum class ObserverMode_t : uint32_t { OBS_MODE_NONE = 0x0, OBS_MODE_DEATHCAM = 0x1, OBS_MODE_FREEZECAM = 0x2, OBS_MODE_FIXED = 0x3, OBS_MODE_IN_EYE = 0x4, OBS_MODE_CHASE = 0x5, OBS_MODE_ROAMING = 0x6, OBS_MODE_DIRECTED = 0x7, NUM_OBSERVER_MODES = 0x8, }; // Alignment: 4 // Size: 0x1b enum class RumbleEffect_t : uint32_t { RUMBLE_INVALID = 0xffffffffffffffff, RUMBLE_STOP_ALL = 0x0, RUMBLE_PISTOL = 0x1, RUMBLE_357 = 0x2, RUMBLE_SMG1 = 0x3, RUMBLE_AR2 = 0x4, RUMBLE_SHOTGUN_SINGLE = 0x5, RUMBLE_SHOTGUN_DOUBLE = 0x6, RUMBLE_AR2_ALT_FIRE = 0x7, RUMBLE_RPG_MISSILE = 0x8, RUMBLE_CROWBAR_SWING = 0x9, RUMBLE_AIRBOAT_GUN = 0xa, RUMBLE_JEEP_ENGINE_LOOP = 0xb, RUMBLE_FLAT_LEFT = 0xc, RUMBLE_FLAT_RIGHT = 0xd, RUMBLE_FLAT_BOTH = 0xe, RUMBLE_DMG_LOW = 0xf, RUMBLE_DMG_MED = 0x10, RUMBLE_DMG_HIGH = 0x11, RUMBLE_FALL_LONG = 0x12, RUMBLE_FALL_SHORT = 0x13, RUMBLE_PHYSCANNON_OPEN = 0x14, RUMBLE_PHYSCANNON_PUNT = 0x15, RUMBLE_PHYSCANNON_LOW = 0x16, RUMBLE_PHYSCANNON_MEDIUM = 0x17, RUMBLE_PHYSCANNON_HIGH = 0x18, NUM_RUMBLE_EFFECTS = 0x19, }; // Alignment: 4 // Size: 0xe enum class WeaponSound_t : uint32_t { WEAPON_SOUND_EMPTY = 0x0, WEAPON_SOUND_SINGLE = 0x1, WEAPON_SOUND_DOUBLE = 0x2, WEAPON_SOUND_RELOAD = 0x3, WEAPON_SOUND_MELEE_MISS = 0x4, WEAPON_SOUND_MELEE_HIT = 0x5, WEAPON_SOUND_MELEE_HIT_WORLD = 0x6, WEAPON_SOUND_MELEE_HIT_PLAYER = 0x7, WEAPON_SOUND_SPECIAL1 = 0x8, WEAPON_SOUND_SPECIAL2 = 0x9, WEAPON_SOUND_SPECIAL3 = 0xa, WEAPON_SOUND_NEARLYEMPTY = 0xb, WEAPON_SOUND_IMPACT1 = 0xc, WEAPON_SOUND_NUM_TYPES = 0xd, }; // Alignment: 4 // Size: 0x404 enum class BaseActivity_t : uint32_t { ACT_RESET = 0x0, ACT_IDLE = 0x1, ACT_TRANSITION = 0x2, ACT_COVER = 0x3, ACT_COVER_MED = 0x4, ACT_COVER_LOW = 0x5, ACT_WALK = 0x6, ACT_WALK_AIM = 0x7, ACT_WALK_CROUCH = 0x8, ACT_WALK_CROUCH_AIM = 0x9, ACT_RUN = 0xa, ACT_RUN_AIM = 0xb, ACT_RUN_CROUCH = 0xc, ACT_RUN_CROUCH_AIM = 0xd, ACT_RUN_PROTECTED = 0xe, ACT_SCRIPT_CUSTOM_MOVE = 0xf, ACT_RANGE_ATTACK1 = 0x10, ACT_RANGE_ATTACK2 = 0x11, ACT_RANGE_ATTACK1_LOW = 0x12, ACT_RANGE_ATTACK2_LOW = 0x13, ACT_DIESIMPLE = 0x14, ACT_DIEBACKWARD = 0x15, ACT_DIEFORWARD = 0x16, ACT_DIEVIOLENT = 0x17, ACT_DIERAGDOLL = 0x18, ACT_FLY = 0x19, ACT_HOVER = 0x1a, ACT_GLIDE = 0x1b, ACT_SWIM = 0x1c, ACT_JUMP = 0x1d, ACT_HOP = 0x1e, ACT_LEAP = 0x1f, ACT_LAND = 0x20, ACT_CLIMB_UP = 0x21, ACT_CLIMB_DOWN = 0x22, ACT_CLIMB_DISMOUNT = 0x23, ACT_SHIPLADDER_UP = 0x24, ACT_SHIPLADDER_DOWN = 0x25, ACT_STRAFE_LEFT = 0x26, ACT_STRAFE_RIGHT = 0x27, ACT_ROLL_LEFT = 0x28, ACT_ROLL_RIGHT = 0x29, ACT_TURN_LEFT = 0x2a, ACT_TURN_RIGHT = 0x2b, ACT_CROUCH = 0x2c, ACT_CROUCHIDLE = 0x2d, ACT_STAND = 0x2e, ACT_USE = 0x2f, ACT_ALIEN_BURROW_IDLE = 0x30, ACT_ALIEN_BURROW_OUT = 0x31, ACT_SIGNAL1 = 0x32, ACT_SIGNAL2 = 0x33, ACT_SIGNAL3 = 0x34, ACT_SIGNAL_ADVANCE = 0x35, ACT_SIGNAL_FORWARD = 0x36, ACT_SIGNAL_GROUP = 0x37, ACT_SIGNAL_HALT = 0x38, ACT_SIGNAL_LEFT = 0x39, ACT_SIGNAL_RIGHT = 0x3a, ACT_SIGNAL_TAKECOVER = 0x3b, ACT_LOOKBACK_RIGHT = 0x3c, ACT_LOOKBACK_LEFT = 0x3d, ACT_COWER = 0x3e, ACT_SMALL_FLINCH = 0x3f, ACT_BIG_FLINCH = 0x40, ACT_MELEE_ATTACK1 = 0x41, ACT_MELEE_ATTACK2 = 0x42, ACT_RELOAD = 0x43, ACT_RELOAD_START = 0x44, ACT_RELOAD_FINISH = 0x45, ACT_RELOAD_LOW = 0x46, ACT_ARM = 0x47, ACT_DISARM = 0x48, ACT_DROP_WEAPON = 0x49, ACT_DROP_WEAPON_SHOTGUN = 0x4a, ACT_PICKUP_GROUND = 0x4b, ACT_PICKUP_RACK = 0x4c, ACT_IDLE_ANGRY = 0x4d, ACT_IDLE_RELAXED = 0x4e, ACT_IDLE_STIMULATED = 0x4f, ACT_IDLE_AGITATED = 0x50, ACT_IDLE_STEALTH = 0x51, ACT_IDLE_HURT = 0x52, ACT_WALK_RELAXED = 0x53, ACT_WALK_STIMULATED = 0x54, ACT_WALK_AGITATED = 0x55, ACT_WALK_STEALTH = 0x56, ACT_RUN_RELAXED = 0x57, ACT_RUN_STIMULATED = 0x58, ACT_RUN_AGITATED = 0x59, ACT_RUN_STEALTH = 0x5a, ACT_IDLE_AIM_RELAXED = 0x5b, ACT_IDLE_AIM_STIMULATED = 0x5c, ACT_IDLE_AIM_AGITATED = 0x5d, ACT_IDLE_AIM_STEALTH = 0x5e, ACT_WALK_AIM_RELAXED = 0x5f, ACT_WALK_AIM_STIMULATED = 0x60, ACT_WALK_AIM_AGITATED = 0x61, ACT_WALK_AIM_STEALTH = 0x62, ACT_RUN_AIM_RELAXED = 0x63, ACT_RUN_AIM_STIMULATED = 0x64, ACT_RUN_AIM_AGITATED = 0x65, ACT_RUN_AIM_STEALTH = 0x66, ACT_CROUCHIDLE_STIMULATED = 0x67, ACT_CROUCHIDLE_AIM_STIMULATED = 0x68, ACT_CROUCHIDLE_AGITATED = 0x69, ACT_WALK_HURT = 0x6a, ACT_RUN_HURT = 0x6b, ACT_SPECIAL_ATTACK1 = 0x6c, ACT_SPECIAL_ATTACK2 = 0x6d, ACT_COMBAT_IDLE = 0x6e, ACT_WALK_SCARED = 0x6f, ACT_RUN_SCARED = 0x70, ACT_VICTORY_DANCE = 0x71, ACT_DIE_HEADSHOT = 0x72, ACT_DIE_CHESTSHOT = 0x73, ACT_DIE_GUTSHOT = 0x74, ACT_DIE_BACKSHOT = 0x75, ACT_FLINCH_HEAD = 0x76, ACT_FLINCH_CHEST = 0x77, ACT_FLINCH_STOMACH = 0x78, ACT_FLINCH_LEFTARM = 0x79, ACT_FLINCH_RIGHTARM = 0x7a, ACT_FLINCH_LEFTLEG = 0x7b, ACT_FLINCH_RIGHTLEG = 0x7c, ACT_FLINCH_PHYSICS = 0x7d, ACT_FLINCH_HEAD_BACK = 0x7e, ACT_FLINCH_CHEST_BACK = 0x7f, ACT_FLINCH_STOMACH_BACK = 0x80, ACT_FLINCH_CROUCH_FRONT = 0x81, ACT_FLINCH_CROUCH_BACK = 0x82, ACT_FLINCH_CROUCH_LEFT = 0x83, ACT_FLINCH_CROUCH_RIGHT = 0x84, ACT_IDLE_ON_FIRE = 0x85, ACT_WALK_ON_FIRE = 0x86, ACT_RUN_ON_FIRE = 0x87, ACT_180_LEFT = 0x89, ACT_180_RIGHT = 0x8a, ACT_90_LEFT = 0x8b, ACT_90_RIGHT = 0x8c, ACT_STEP_LEFT = 0x8d, ACT_STEP_RIGHT = 0x8e, ACT_STEP_BACK = 0x8f, ACT_STEP_FORE = 0x90, ACT_GESTURE_RANGE_ATTACK1 = 0x91, ACT_GESTURE_RANGE_ATTACK2 = 0x92, ACT_GESTURE_MELEE_ATTACK1 = 0x93, ACT_GESTURE_MELEE_ATTACK2 = 0x94, ACT_GESTURE_RANGE_ATTACK1_LOW = 0x95, ACT_GESTURE_RANGE_ATTACK2_LOW = 0x96, ACT_MELEE_ATTACK_SWING_GESTURE = 0x97, ACT_GESTURE_SMALL_FLINCH = 0x98, ACT_GESTURE_BIG_FLINCH = 0x99, ACT_GESTURE_FLINCH_BLAST = 0x9a, ACT_GESTURE_FLINCH_BLAST_SHOTGUN = 0x9b, ACT_GESTURE_FLINCH_BLAST_DAMAGED = 0x9c, ACT_GESTURE_FLINCH_BLAST_DAMAGED_SHOTGUN = 0x9d, ACT_GESTURE_FLINCH_HEAD = 0x9e, ACT_GESTURE_FLINCH_CHEST = 0x9f, ACT_GESTURE_FLINCH_STOMACH = 0xa0, ACT_GESTURE_FLINCH_LEFTARM = 0xa1, ACT_GESTURE_FLINCH_RIGHTARM = 0xa2, ACT_GESTURE_FLINCH_LEFTLEG = 0xa3, ACT_GESTURE_FLINCH_RIGHTLEG = 0xa4, ACT_GESTURE_TURN_LEFT = 0xa5, ACT_GESTURE_TURN_RIGHT = 0xa6, ACT_GESTURE_TURN_LEFT45 = 0xa7, ACT_GESTURE_TURN_RIGHT45 = 0xa8, ACT_GESTURE_TURN_LEFT90 = 0xa9, ACT_GESTURE_TURN_RIGHT90 = 0xaa, ACT_GESTURE_TURN_LEFT45_FLAT = 0xab, ACT_GESTURE_TURN_RIGHT45_FLAT = 0xac, ACT_GESTURE_TURN_LEFT90_FLAT = 0xad, ACT_GESTURE_TURN_RIGHT90_FLAT = 0xae, ACT_BARNACLE_HIT = 0xaf, ACT_BARNACLE_PULL = 0xb0, ACT_BARNACLE_CHOMP = 0xb1, ACT_BARNACLE_CHEW = 0xb2, ACT_DO_NOT_DISTURB = 0xb3, ACT_SPECIFIC_SEQUENCE = 0xb4, ACT_VM_DEPLOY = 0xb5, ACT_VM_RELOAD_EMPTY = 0xb6, ACT_VM_DRAW = 0xb7, ACT_VM_HOLSTER = 0xb8, ACT_VM_IDLE = 0xb9, ACT_VM_FIDGET = 0xba, ACT_VM_PULLBACK = 0xbb, ACT_VM_PULLBACK_HIGH = 0xbc, ACT_VM_PULLBACK_LOW = 0xbd, ACT_VM_THROW = 0xbe, ACT_VM_DROP = 0xbf, ACT_VM_PULLPIN = 0xc0, ACT_VM_PRIMARYATTACK = 0xc1, ACT_VM_SECONDARYATTACK = 0xc2, ACT_VM_RELOAD = 0xc3, ACT_VM_DRYFIRE = 0xc4, ACT_VM_HITLEFT = 0xc5, ACT_VM_HITLEFT2 = 0xc6, ACT_VM_HITRIGHT = 0xc7, ACT_VM_HITRIGHT2 = 0xc8, ACT_VM_HITCENTER = 0xc9, ACT_VM_HITCENTER2 = 0xca, ACT_VM_MISSLEFT = 0xcb, ACT_VM_MISSLEFT2 = 0xcc, ACT_VM_MISSRIGHT = 0xcd, ACT_VM_MISSRIGHT2 = 0xce, ACT_VM_MISSCENTER = 0xcf, ACT_VM_MISSCENTER2 = 0xd0, ACT_VM_HAULBACK = 0xd1, ACT_VM_SWINGHARD = 0xd2, ACT_VM_SWINGMISS = 0xd3, ACT_VM_SWINGHIT = 0xd4, ACT_VM_IDLE_TO_LOWERED = 0xd5, ACT_VM_IDLE_LOWERED = 0xd6, ACT_VM_LOWERED_TO_IDLE = 0xd7, ACT_VM_RECOIL1 = 0xd8, ACT_VM_RECOIL2 = 0xd9, ACT_VM_RECOIL3 = 0xda, ACT_VM_PICKUP = 0xdb, ACT_VM_RELEASE = 0xdc, ACT_VM_MAUL_LOOP = 0xdd, ACT_VM_ATTACH_SILENCER = 0xde, ACT_VM_DETACH_SILENCER = 0xdf, ACT_SLAM_STICKWALL_IDLE = 0xe0, ACT_SLAM_STICKWALL_ND_IDLE = 0xe1, ACT_SLAM_STICKWALL_ATTACH = 0xe2, ACT_SLAM_STICKWALL_ATTACH2 = 0xe3, ACT_SLAM_STICKWALL_ND_ATTACH = 0xe4, ACT_SLAM_STICKWALL_ND_ATTACH2 = 0xe5, ACT_SLAM_STICKWALL_DETONATE = 0xe6, ACT_SLAM_STICKWALL_DETONATOR_HOLSTER = 0xe7, ACT_SLAM_STICKWALL_DRAW = 0xe8, ACT_SLAM_STICKWALL_ND_DRAW = 0xe9, ACT_SLAM_STICKWALL_TO_THROW = 0xea, ACT_SLAM_STICKWALL_TO_THROW_ND = 0xeb, ACT_SLAM_STICKWALL_TO_TRIPMINE_ND = 0xec, ACT_SLAM_THROW_IDLE = 0xed, ACT_SLAM_THROW_ND_IDLE = 0xee, ACT_SLAM_THROW_THROW = 0xef, ACT_SLAM_THROW_THROW2 = 0xf0, ACT_SLAM_THROW_THROW_ND = 0xf1, ACT_SLAM_THROW_THROW_ND2 = 0xf2, ACT_SLAM_THROW_DRAW = 0xf3, ACT_SLAM_THROW_ND_DRAW = 0xf4, ACT_SLAM_THROW_TO_STICKWALL = 0xf5, ACT_SLAM_THROW_TO_STICKWALL_ND = 0xf6, ACT_SLAM_THROW_DETONATE = 0xf7, ACT_SLAM_THROW_DETONATOR_HOLSTER = 0xf8, ACT_SLAM_THROW_TO_TRIPMINE_ND = 0xf9, ACT_SLAM_TRIPMINE_IDLE = 0xfa, ACT_SLAM_TRIPMINE_DRAW = 0xfb, ACT_SLAM_TRIPMINE_ATTACH = 0xfc, ACT_SLAM_TRIPMINE_ATTACH2 = 0xfd, ACT_SLAM_TRIPMINE_TO_STICKWALL_ND = 0xfe, ACT_SLAM_TRIPMINE_TO_THROW_ND = 0xff, ACT_SLAM_DETONATOR_IDLE = 0x100, ACT_SLAM_DETONATOR_DRAW = 0x101, ACT_SLAM_DETONATOR_DETONATE = 0x102, ACT_SLAM_DETONATOR_HOLSTER = 0x103, ACT_SLAM_DETONATOR_STICKWALL_DRAW = 0x104, ACT_SLAM_DETONATOR_THROW_DRAW = 0x105, ACT_SHOTGUN_RELOAD_START = 0x106, ACT_SHOTGUN_RELOAD_FINISH = 0x107, ACT_SHOTGUN_PUMP = 0x108, ACT_SMG2_IDLE2 = 0x109, ACT_SMG2_FIRE2 = 0x10a, ACT_SMG2_DRAW2 = 0x10b, ACT_SMG2_RELOAD2 = 0x10c, ACT_SMG2_DRYFIRE2 = 0x10d, ACT_SMG2_TOAUTO = 0x10e, ACT_SMG2_TOBURST = 0x10f, ACT_PHYSCANNON_UPGRADE = 0x110, ACT_RANGE_ATTACK_AR1 = 0x111, ACT_RANGE_ATTACK_AR2 = 0x112, ACT_RANGE_ATTACK_AR2_LOW = 0x113, ACT_RANGE_ATTACK_AR2_GRENADE = 0x114, ACT_RANGE_ATTACK_HMG1 = 0x115, ACT_RANGE_ATTACK_ML = 0x116, ACT_RANGE_ATTACK_SMG1 = 0x117, ACT_RANGE_ATTACK_SMG1_LOW = 0x118, ACT_RANGE_ATTACK_SMG2 = 0x119, ACT_RANGE_ATTACK_SHOTGUN = 0x11a, ACT_RANGE_ATTACK_SHOTGUN_LOW = 0x11b, ACT_RANGE_ATTACK_PISTOL = 0x11c, ACT_RANGE_ATTACK_PISTOL_LOW = 0x11d, ACT_RANGE_ATTACK_SLAM = 0x11e, ACT_RANGE_ATTACK_TRIPWIRE = 0x11f, ACT_RANGE_ATTACK_THROW = 0x120, ACT_RANGE_ATTACK_SNIPER_RIFLE = 0x121, ACT_RANGE_ATTACK_RPG = 0x122, ACT_MELEE_ATTACK_SWING = 0x123, ACT_RANGE_AIM_LOW = 0x124, ACT_RANGE_AIM_SMG1_LOW = 0x125, ACT_RANGE_AIM_PISTOL_LOW = 0x126, ACT_RANGE_AIM_AR2_LOW = 0x127, ACT_COVER_PISTOL_LOW = 0x128, ACT_COVER_SMG1_LOW = 0x129, ACT_GESTURE_RANGE_ATTACK_AR1 = 0x12a, ACT_GESTURE_RANGE_ATTACK_AR2 = 0x12b, ACT_GESTURE_RANGE_ATTACK_AR2_GRENADE = 0x12c, ACT_GESTURE_RANGE_ATTACK_HMG1 = 0x12d, ACT_GESTURE_RANGE_ATTACK_ML = 0x12e, ACT_GESTURE_RANGE_ATTACK_SMG1 = 0x12f, ACT_GESTURE_RANGE_ATTACK_SMG1_LOW = 0x130, ACT_GESTURE_RANGE_ATTACK_SMG2 = 0x131, ACT_GESTURE_RANGE_ATTACK_SHOTGUN = 0x132, ACT_GESTURE_RANGE_ATTACK_PISTOL = 0x133, ACT_GESTURE_RANGE_ATTACK_PISTOL_LOW = 0x134, ACT_GESTURE_RANGE_ATTACK_SLAM = 0x135, ACT_GESTURE_RANGE_ATTACK_TRIPWIRE = 0x136, ACT_GESTURE_RANGE_ATTACK_THROW = 0x137, ACT_GESTURE_RANGE_ATTACK_SNIPER_RIFLE = 0x138, ACT_GESTURE_MELEE_ATTACK_SWING = 0x139, ACT_IDLE_RIFLE = 0x13a, ACT_IDLE_SMG1 = 0x13b, ACT_IDLE_ANGRY_SMG1 = 0x13c, ACT_IDLE_PISTOL = 0x13d, ACT_IDLE_ANGRY_PISTOL = 0x13e, ACT_IDLE_ANGRY_SHOTGUN = 0x13f, ACT_IDLE_STEALTH_PISTOL = 0x140, ACT_IDLE_PACKAGE = 0x141, ACT_WALK_PACKAGE = 0x142, ACT_IDLE_SUITCASE = 0x143, ACT_WALK_SUITCASE = 0x144, ACT_IDLE_SMG1_RELAXED = 0x145, ACT_IDLE_SMG1_STIMULATED = 0x146, ACT_WALK_RIFLE_RELAXED = 0x147, ACT_RUN_RIFLE_RELAXED = 0x148, ACT_WALK_RIFLE_STIMULATED = 0x149, ACT_RUN_RIFLE_STIMULATED = 0x14a, ACT_IDLE_AIM_RIFLE_STIMULATED = 0x14b, ACT_WALK_AIM_RIFLE_STIMULATED = 0x14c, ACT_RUN_AIM_RIFLE_STIMULATED = 0x14d, ACT_IDLE_SHOTGUN_RELAXED = 0x14e, ACT_IDLE_SHOTGUN_STIMULATED = 0x14f, ACT_IDLE_SHOTGUN_AGITATED = 0x150, ACT_WALK_ANGRY = 0x151, ACT_POLICE_HARASS1 = 0x152, ACT_POLICE_HARASS2 = 0x153, ACT_IDLE_MANNEDGUN = 0x154, ACT_IDLE_MELEE = 0x155, ACT_IDLE_ANGRY_MELEE = 0x156, ACT_IDLE_RPG_RELAXED = 0x157, ACT_IDLE_RPG = 0x158, ACT_IDLE_ANGRY_RPG = 0x159, ACT_COVER_LOW_RPG = 0x15a, ACT_WALK_RPG = 0x15b, ACT_RUN_RPG = 0x15c, ACT_WALK_CROUCH_RPG = 0x15d, ACT_RUN_CROUCH_RPG = 0x15e, ACT_WALK_RPG_RELAXED = 0x15f, ACT_RUN_RPG_RELAXED = 0x160, ACT_WALK_RIFLE = 0x161, ACT_WALK_AIM_RIFLE = 0x162, ACT_WALK_CROUCH_RIFLE = 0x163, ACT_WALK_CROUCH_AIM_RIFLE = 0x164, ACT_RUN_RIFLE = 0x165, ACT_RUN_AIM_RIFLE = 0x166, ACT_RUN_CROUCH_RIFLE = 0x167, ACT_RUN_CROUCH_AIM_RIFLE = 0x168, ACT_RUN_STEALTH_PISTOL = 0x169, ACT_WALK_AIM_SHOTGUN = 0x16a, ACT_RUN_AIM_SHOTGUN = 0x16b, ACT_WALK_PISTOL = 0x16c, ACT_RUN_PISTOL = 0x16d, ACT_WALK_AIM_PISTOL = 0x16e, ACT_RUN_AIM_PISTOL = 0x16f, ACT_WALK_STEALTH_PISTOL = 0x170, ACT_WALK_AIM_STEALTH_PISTOL = 0x171, ACT_RUN_AIM_STEALTH_PISTOL = 0x172, ACT_RELOAD_PISTOL = 0x173, ACT_RELOAD_PISTOL_LOW = 0x174, ACT_RELOAD_SMG1 = 0x175, ACT_RELOAD_SMG1_LOW = 0x176, ACT_RELOAD_SHOTGUN = 0x177, ACT_RELOAD_SHOTGUN_LOW = 0x178, ACT_GESTURE_RELOAD = 0x179, ACT_GESTURE_RELOAD_PISTOL = 0x17a, ACT_GESTURE_RELOAD_SMG1 = 0x17b, ACT_GESTURE_RELOAD_SHOTGUN = 0x17c, ACT_BUSY_LEAN_LEFT = 0x17d, ACT_BUSY_LEAN_LEFT_ENTRY = 0x17e, ACT_BUSY_LEAN_LEFT_EXIT = 0x17f, ACT_BUSY_LEAN_BACK = 0x180, ACT_BUSY_LEAN_BACK_ENTRY = 0x181, ACT_BUSY_LEAN_BACK_EXIT = 0x182, ACT_BUSY_SIT_GROUND = 0x183, ACT_BUSY_SIT_GROUND_ENTRY = 0x184, ACT_BUSY_SIT_GROUND_EXIT = 0x185, ACT_BUSY_SIT_CHAIR = 0x186, ACT_BUSY_SIT_CHAIR_ENTRY = 0x187, ACT_BUSY_SIT_CHAIR_EXIT = 0x188, ACT_BUSY_STAND = 0x189, ACT_BUSY_QUEUE = 0x18a, ACT_DUCK_DODGE = 0x18b, ACT_DIE_BARNACLE_SWALLOW = 0x18c, ACT_GESTURE_BARNACLE_STRANGLE = 0x18d, ACT_PHYSCANNON_DETACH = 0x18e, ACT_PHYSCANNON_ANIMATE = 0x18f, ACT_PHYSCANNON_ANIMATE_PRE = 0x190, ACT_PHYSCANNON_ANIMATE_POST = 0x191, ACT_DIE_FRONTSIDE = 0x192, ACT_DIE_RIGHTSIDE = 0x193, ACT_DIE_BACKSIDE = 0x194, ACT_DIE_LEFTSIDE = 0x195, ACT_DIE_CROUCH_FRONTSIDE = 0x196, ACT_DIE_CROUCH_RIGHTSIDE = 0x197, ACT_DIE_CROUCH_BACKSIDE = 0x198, ACT_DIE_CROUCH_LEFTSIDE = 0x199, ACT_DIE_INCAP = 0x19a, ACT_DIE_STANDING = 0x19b, ACT_OPEN_DOOR = 0x19c, ACT_DI_ALYX_ZOMBIE_MELEE = 0x19d, ACT_DI_ALYX_ZOMBIE_TORSO_MELEE = 0x19e, ACT_DI_ALYX_HEADCRAB_MELEE = 0x19f, ACT_DI_ALYX_ANTLION = 0x1a0, ACT_DI_ALYX_ZOMBIE_SHOTGUN64 = 0x1a1, ACT_DI_ALYX_ZOMBIE_SHOTGUN26 = 0x1a2, ACT_READINESS_RELAXED_TO_STIMULATED = 0x1a3, ACT_READINESS_RELAXED_TO_STIMULATED_WALK = 0x1a4, ACT_READINESS_AGITATED_TO_STIMULATED = 0x1a5, ACT_READINESS_STIMULATED_TO_RELAXED = 0x1a6, ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED = 0x1a7, ACT_READINESS_PISTOL_RELAXED_TO_STIMULATED_WALK = 0x1a8, ACT_READINESS_PISTOL_AGITATED_TO_STIMULATED = 0x1a9, ACT_READINESS_PISTOL_STIMULATED_TO_RELAXED = 0x1aa, ACT_IDLE_CARRY = 0x1ab, ACT_WALK_CARRY = 0x1ac, ACT_STARTDYING = 0x1ad, ACT_DYINGLOOP = 0x1ae, ACT_DYINGTODEAD = 0x1af, ACT_RIDE_MANNED_GUN = 0x1b0, ACT_VM_SPRINT_ENTER = 0x1b1, ACT_VM_SPRINT_IDLE = 0x1b2, ACT_VM_SPRINT_LEAVE = 0x1b3, ACT_FIRE_START = 0x1b4, ACT_FIRE_LOOP = 0x1b5, ACT_FIRE_END = 0x1b6, ACT_CROUCHING_GRENADEIDLE = 0x1b7, ACT_CROUCHING_GRENADEREADY = 0x1b8, ACT_CROUCHING_PRIMARYATTACK = 0x1b9, ACT_OVERLAY_GRENADEIDLE = 0x1ba, ACT_OVERLAY_GRENADEREADY = 0x1bb, ACT_OVERLAY_PRIMARYATTACK = 0x1bc, ACT_OVERLAY_SHIELD_UP = 0x1bd, ACT_OVERLAY_SHIELD_DOWN = 0x1be, ACT_OVERLAY_SHIELD_UP_IDLE = 0x1bf, ACT_OVERLAY_SHIELD_ATTACK = 0x1c0, ACT_OVERLAY_SHIELD_KNOCKBACK = 0x1c1, ACT_SHIELD_UP = 0x1c2, ACT_SHIELD_DOWN = 0x1c3, ACT_SHIELD_UP_IDLE = 0x1c4, ACT_SHIELD_ATTACK = 0x1c5, ACT_SHIELD_KNOCKBACK = 0x1c6, ACT_CROUCHING_SHIELD_UP = 0x1c7, ACT_CROUCHING_SHIELD_DOWN = 0x1c8, ACT_CROUCHING_SHIELD_UP_IDLE = 0x1c9, ACT_CROUCHING_SHIELD_ATTACK = 0x1ca, ACT_CROUCHING_SHIELD_KNOCKBACK = 0x1cb, ACT_TURNRIGHT45 = 0x1cc, ACT_TURNLEFT45 = 0x1cd, ACT_TURN = 0x1ce, ACT_OBJ_ASSEMBLING = 0x1cf, ACT_OBJ_DISMANTLING = 0x1d0, ACT_OBJ_STARTUP = 0x1d1, ACT_OBJ_RUNNING = 0x1d2, ACT_OBJ_IDLE = 0x1d3, ACT_OBJ_PLACING = 0x1d4, ACT_OBJ_DETERIORATING = 0x1d5, ACT_OBJ_UPGRADING = 0x1d6, ACT_DEPLOY = 0x1d7, ACT_DEPLOY_IDLE = 0x1d8, ACT_UNDEPLOY = 0x1d9, ACT_CROSSBOW_DRAW_UNLOADED = 0x1da, ACT_GAUSS_SPINUP = 0x1db, ACT_GAUSS_SPINCYCLE = 0x1dc, ACT_VM_PRIMARYATTACK_SILENCED = 0x1dd, ACT_VM_RELOAD_SILENCED = 0x1de, ACT_VM_DRYFIRE_SILENCED = 0x1df, ACT_VM_IDLE_SILENCED = 0x1e0, ACT_VM_DRAW_SILENCED = 0x1e1, ACT_VM_IDLE_EMPTY_LEFT = 0x1e2, ACT_VM_DRYFIRE_LEFT = 0x1e3, ACT_VM_IS_DRAW = 0x1e4, ACT_VM_IS_HOLSTER = 0x1e5, ACT_VM_IS_IDLE = 0x1e6, ACT_VM_IS_PRIMARYATTACK = 0x1e7, ACT_PLAYER_IDLE_FIRE = 0x1e8, ACT_PLAYER_CROUCH_FIRE = 0x1e9, ACT_PLAYER_CROUCH_WALK_FIRE = 0x1ea, ACT_PLAYER_WALK_FIRE = 0x1eb, ACT_PLAYER_RUN_FIRE = 0x1ec, ACT_IDLETORUN = 0x1ed, ACT_RUNTOIDLE = 0x1ee, ACT_VM_DRAW_DEPLOYED = 0x1ef, ACT_HL2MP_IDLE_MELEE = 0x1f0, ACT_HL2MP_RUN_MELEE = 0x1f1, ACT_HL2MP_IDLE_CROUCH_MELEE = 0x1f2, ACT_HL2MP_WALK_CROUCH_MELEE = 0x1f3, ACT_HL2MP_GESTURE_RANGE_ATTACK_MELEE = 0x1f4, ACT_HL2MP_GESTURE_RELOAD_MELEE = 0x1f5, ACT_HL2MP_JUMP_MELEE = 0x1f6, ACT_MP_STAND_IDLE = 0x1f7, ACT_MP_CROUCH_IDLE = 0x1f8, ACT_MP_CROUCH_DEPLOYED_IDLE = 0x1f9, ACT_MP_CROUCH_DEPLOYED = 0x1fa, ACT_MP_DEPLOYED_IDLE = 0x1fb, ACT_MP_RUN = 0x1fc, ACT_MP_WALK = 0x1fd, ACT_MP_AIRWALK = 0x1fe, ACT_MP_CROUCHWALK = 0x1ff, ACT_MP_SPRINT = 0x200, ACT_MP_JUMP = 0x201, ACT_MP_JUMP_START = 0x202, ACT_MP_JUMP_FLOAT = 0x203, ACT_MP_JUMP_LAND = 0x204, ACT_MP_DOUBLEJUMP = 0x205, ACT_MP_SWIM = 0x206, ACT_MP_DEPLOYED = 0x207, ACT_MP_SWIM_DEPLOYED = 0x208, ACT_MP_VCD = 0x209, ACT_MP_ATTACK_STAND_PRIMARYFIRE = 0x20a, ACT_MP_ATTACK_STAND_PRIMARYFIRE_DEPLOYED = 0x20b, ACT_MP_ATTACK_STAND_SECONDARYFIRE = 0x20c, ACT_MP_ATTACK_STAND_GRENADE = 0x20d, ACT_MP_ATTACK_CROUCH_PRIMARYFIRE = 0x20e, ACT_MP_ATTACK_CROUCH_PRIMARYFIRE_DEPLOYED = 0x20f, ACT_MP_ATTACK_CROUCH_SECONDARYFIRE = 0x210, ACT_MP_ATTACK_CROUCH_GRENADE = 0x211, ACT_MP_ATTACK_SWIM_PRIMARYFIRE = 0x212, ACT_MP_ATTACK_SWIM_SECONDARYFIRE = 0x213, ACT_MP_ATTACK_SWIM_GRENADE = 0x214, ACT_MP_ATTACK_AIRWALK_PRIMARYFIRE = 0x215, ACT_MP_ATTACK_AIRWALK_SECONDARYFIRE = 0x216, ACT_MP_ATTACK_AIRWALK_GRENADE = 0x217, ACT_MP_RELOAD_STAND = 0x218, ACT_MP_RELOAD_STAND_LOOP = 0x219, ACT_MP_RELOAD_STAND_END = 0x21a, ACT_MP_RELOAD_CROUCH = 0x21b, ACT_MP_RELOAD_CROUCH_LOOP = 0x21c, ACT_MP_RELOAD_CROUCH_END = 0x21d, ACT_MP_RELOAD_SWIM = 0x21e, ACT_MP_RELOAD_SWIM_LOOP = 0x21f, ACT_MP_RELOAD_SWIM_END = 0x220, ACT_MP_RELOAD_AIRWALK = 0x221, ACT_MP_RELOAD_AIRWALK_LOOP = 0x222, ACT_MP_RELOAD_AIRWALK_END = 0x223, ACT_MP_ATTACK_STAND_PREFIRE = 0x224, ACT_MP_ATTACK_STAND_POSTFIRE = 0x225, ACT_MP_ATTACK_STAND_STARTFIRE = 0x226, ACT_MP_ATTACK_CROUCH_PREFIRE = 0x227, ACT_MP_ATTACK_CROUCH_POSTFIRE = 0x228, ACT_MP_ATTACK_SWIM_PREFIRE = 0x229, ACT_MP_ATTACK_SWIM_POSTFIRE = 0x22a, ACT_MP_STAND_PRIMARY = 0x22b, ACT_MP_CROUCH_PRIMARY = 0x22c, ACT_MP_RUN_PRIMARY = 0x22d, ACT_MP_WALK_PRIMARY = 0x22e, ACT_MP_AIRWALK_PRIMARY = 0x22f, ACT_MP_CROUCHWALK_PRIMARY = 0x230, ACT_MP_JUMP_PRIMARY = 0x231, ACT_MP_JUMP_START_PRIMARY = 0x232, ACT_MP_JUMP_FLOAT_PRIMARY = 0x233, ACT_MP_JUMP_LAND_PRIMARY = 0x234, ACT_MP_SWIM_PRIMARY = 0x235, ACT_MP_DEPLOYED_PRIMARY = 0x236, ACT_MP_SWIM_DEPLOYED_PRIMARY = 0x237, ACT_MP_ATTACK_STAND_PRIMARY = 0x238, ACT_MP_ATTACK_STAND_PRIMARY_DEPLOYED = 0x239, ACT_MP_ATTACK_CROUCH_PRIMARY = 0x23a, ACT_MP_ATTACK_CROUCH_PRIMARY_DEPLOYED = 0x23b, ACT_MP_ATTACK_SWIM_PRIMARY = 0x23c, ACT_MP_ATTACK_AIRWALK_PRIMARY = 0x23d, ACT_MP_RELOAD_STAND_PRIMARY = 0x23e, ACT_MP_RELOAD_STAND_PRIMARY_LOOP = 0x23f, ACT_MP_RELOAD_STAND_PRIMARY_END = 0x240, ACT_MP_RELOAD_CROUCH_PRIMARY = 0x241, ACT_MP_RELOAD_CROUCH_PRIMARY_LOOP = 0x242, ACT_MP_RELOAD_CROUCH_PRIMARY_END = 0x243, ACT_MP_RELOAD_SWIM_PRIMARY = 0x244, ACT_MP_RELOAD_SWIM_PRIMARY_LOOP = 0x245, ACT_MP_RELOAD_SWIM_PRIMARY_END = 0x246, ACT_MP_RELOAD_AIRWALK_PRIMARY = 0x247, ACT_MP_RELOAD_AIRWALK_PRIMARY_LOOP = 0x248, ACT_MP_RELOAD_AIRWALK_PRIMARY_END = 0x249, ACT_MP_ATTACK_STAND_GRENADE_PRIMARY = 0x24a, ACT_MP_ATTACK_CROUCH_GRENADE_PRIMARY = 0x24b, ACT_MP_ATTACK_SWIM_GRENADE_PRIMARY = 0x24c, ACT_MP_ATTACK_AIRWALK_GRENADE_PRIMARY = 0x24d, ACT_MP_STAND_SECONDARY = 0x24e, ACT_MP_CROUCH_SECONDARY = 0x24f, ACT_MP_RUN_SECONDARY = 0x250, ACT_MP_WALK_SECONDARY = 0x251, ACT_MP_AIRWALK_SECONDARY = 0x252, ACT_MP_CROUCHWALK_SECONDARY = 0x253, ACT_MP_JUMP_SECONDARY = 0x254, ACT_MP_JUMP_START_SECONDARY = 0x255, ACT_MP_JUMP_FLOAT_SECONDARY = 0x256, ACT_MP_JUMP_LAND_SECONDARY = 0x257, ACT_MP_SWIM_SECONDARY = 0x258, ACT_MP_ATTACK_STAND_SECONDARY = 0x259, ACT_MP_ATTACK_CROUCH_SECONDARY = 0x25a, ACT_MP_ATTACK_SWIM_SECONDARY = 0x25b, ACT_MP_ATTACK_AIRWALK_SECONDARY = 0x25c, ACT_MP_RELOAD_STAND_SECONDARY = 0x25d, ACT_MP_RELOAD_STAND_SECONDARY_LOOP = 0x25e, ACT_MP_RELOAD_STAND_SECONDARY_END = 0x25f, ACT_MP_RELOAD_CROUCH_SECONDARY = 0x260, ACT_MP_RELOAD_CROUCH_SECONDARY_LOOP = 0x261, ACT_MP_RELOAD_CROUCH_SECONDARY_END = 0x262, ACT_MP_RELOAD_SWIM_SECONDARY = 0x263, ACT_MP_RELOAD_SWIM_SECONDARY_LOOP = 0x264, ACT_MP_RELOAD_SWIM_SECONDARY_END = 0x265, ACT_MP_RELOAD_AIRWALK_SECONDARY = 0x266, ACT_MP_RELOAD_AIRWALK_SECONDARY_LOOP = 0x267, ACT_MP_RELOAD_AIRWALK_SECONDARY_END = 0x268, ACT_MP_ATTACK_STAND_GRENADE_SECONDARY = 0x269, ACT_MP_ATTACK_CROUCH_GRENADE_SECONDARY = 0x26a, ACT_MP_ATTACK_SWIM_GRENADE_SECONDARY = 0x26b, ACT_MP_ATTACK_AIRWALK_GRENADE_SECONDARY = 0x26c, ACT_MP_STAND_MELEE = 0x26d, ACT_MP_CROUCH_MELEE = 0x26e, ACT_MP_RUN_MELEE = 0x26f, ACT_MP_WALK_MELEE = 0x270, ACT_MP_AIRWALK_MELEE = 0x271, ACT_MP_CROUCHWALK_MELEE = 0x272, ACT_MP_JUMP_MELEE = 0x273, ACT_MP_JUMP_START_MELEE = 0x274, ACT_MP_JUMP_FLOAT_MELEE = 0x275, ACT_MP_JUMP_LAND_MELEE = 0x276, ACT_MP_SWIM_MELEE = 0x277, ACT_MP_ATTACK_STAND_MELEE = 0x278, ACT_MP_ATTACK_STAND_MELEE_SECONDARY = 0x279, ACT_MP_ATTACK_CROUCH_MELEE = 0x27a, ACT_MP_ATTACK_CROUCH_MELEE_SECONDARY = 0x27b, ACT_MP_ATTACK_SWIM_MELEE = 0x27c, ACT_MP_ATTACK_AIRWALK_MELEE = 0x27d, ACT_MP_ATTACK_STAND_GRENADE_MELEE = 0x27e, ACT_MP_ATTACK_CROUCH_GRENADE_MELEE = 0x27f, ACT_MP_ATTACK_SWIM_GRENADE_MELEE = 0x280, ACT_MP_ATTACK_AIRWALK_GRENADE_MELEE = 0x281, ACT_MP_STAND_ITEM1 = 0x282, ACT_MP_CROUCH_ITEM1 = 0x283, ACT_MP_RUN_ITEM1 = 0x284, ACT_MP_WALK_ITEM1 = 0x285, ACT_MP_AIRWALK_ITEM1 = 0x286, ACT_MP_CROUCHWALK_ITEM1 = 0x287, ACT_MP_JUMP_ITEM1 = 0x288, ACT_MP_JUMP_START_ITEM1 = 0x289, ACT_MP_JUMP_FLOAT_ITEM1 = 0x28a, ACT_MP_JUMP_LAND_ITEM1 = 0x28b, ACT_MP_SWIM_ITEM1 = 0x28c, ACT_MP_ATTACK_STAND_ITEM1 = 0x28d, ACT_MP_ATTACK_STAND_ITEM1_SECONDARY = 0x28e, ACT_MP_ATTACK_CROUCH_ITEM1 = 0x28f, ACT_MP_ATTACK_CROUCH_ITEM1_SECONDARY = 0x290, ACT_MP_ATTACK_SWIM_ITEM1 = 0x291, ACT_MP_ATTACK_AIRWALK_ITEM1 = 0x292, ACT_MP_STAND_ITEM2 = 0x293, ACT_MP_CROUCH_ITEM2 = 0x294, ACT_MP_RUN_ITEM2 = 0x295, ACT_MP_WALK_ITEM2 = 0x296, ACT_MP_AIRWALK_ITEM2 = 0x297, ACT_MP_CROUCHWALK_ITEM2 = 0x298, ACT_MP_JUMP_ITEM2 = 0x299, ACT_MP_JUMP_START_ITEM2 = 0x29a, ACT_MP_JUMP_FLOAT_ITEM2 = 0x29b, ACT_MP_JUMP_LAND_ITEM2 = 0x29c, ACT_MP_SWIM_ITEM2 = 0x29d, ACT_MP_ATTACK_STAND_ITEM2 = 0x29e, ACT_MP_ATTACK_STAND_ITEM2_SECONDARY = 0x29f, ACT_MP_ATTACK_CROUCH_ITEM2 = 0x2a0, ACT_MP_ATTACK_CROUCH_ITEM2_SECONDARY = 0x2a1, ACT_MP_ATTACK_SWIM_ITEM2 = 0x2a2, ACT_MP_ATTACK_AIRWALK_ITEM2 = 0x2a3, ACT_MP_GESTURE_FLINCH = 0x2a4, ACT_MP_GESTURE_FLINCH_PRIMARY = 0x2a5, ACT_MP_GESTURE_FLINCH_SECONDARY = 0x2a6, ACT_MP_GESTURE_FLINCH_MELEE = 0x2a7, ACT_MP_GESTURE_FLINCH_ITEM1 = 0x2a8, ACT_MP_GESTURE_FLINCH_ITEM2 = 0x2a9, ACT_MP_GESTURE_FLINCH_HEAD = 0x2aa, ACT_MP_GESTURE_FLINCH_CHEST = 0x2ab, ACT_MP_GESTURE_FLINCH_STOMACH = 0x2ac, ACT_MP_GESTURE_FLINCH_LEFTARM = 0x2ad, ACT_MP_GESTURE_FLINCH_RIGHTARM = 0x2ae, ACT_MP_GESTURE_FLINCH_LEFTLEG = 0x2af, ACT_MP_GESTURE_FLINCH_RIGHTLEG = 0x2b0, ACT_MP_GRENADE1_DRAW = 0x2b1, ACT_MP_GRENADE1_IDLE = 0x2b2, ACT_MP_GRENADE1_ATTACK = 0x2b3, ACT_MP_GRENADE2_DRAW = 0x2b4, ACT_MP_GRENADE2_IDLE = 0x2b5, ACT_MP_GRENADE2_ATTACK = 0x2b6, ACT_MP_PRIMARY_GRENADE1_DRAW = 0x2b7, ACT_MP_PRIMARY_GRENADE1_IDLE = 0x2b8, ACT_MP_PRIMARY_GRENADE1_ATTACK = 0x2b9, ACT_MP_PRIMARY_GRENADE2_DRAW = 0x2ba, ACT_MP_PRIMARY_GRENADE2_IDLE = 0x2bb, ACT_MP_PRIMARY_GRENADE2_ATTACK = 0x2bc, ACT_MP_SECONDARY_GRENADE1_DRAW = 0x2bd, ACT_MP_SECONDARY_GRENADE1_IDLE = 0x2be, ACT_MP_SECONDARY_GRENADE1_ATTACK = 0x2bf, ACT_MP_SECONDARY_GRENADE2_DRAW = 0x2c0, ACT_MP_SECONDARY_GRENADE2_IDLE = 0x2c1, ACT_MP_SECONDARY_GRENADE2_ATTACK = 0x2c2, ACT_MP_MELEE_GRENADE1_DRAW = 0x2c3, ACT_MP_MELEE_GRENADE1_IDLE = 0x2c4, ACT_MP_MELEE_GRENADE1_ATTACK = 0x2c5, ACT_MP_MELEE_GRENADE2_DRAW = 0x2c6, ACT_MP_MELEE_GRENADE2_IDLE = 0x2c7, ACT_MP_MELEE_GRENADE2_ATTACK = 0x2c8, ACT_MP_ITEM1_GRENADE1_DRAW = 0x2c9, ACT_MP_ITEM1_GRENADE1_IDLE = 0x2ca, ACT_MP_ITEM1_GRENADE1_ATTACK = 0x2cb, ACT_MP_ITEM1_GRENADE2_DRAW = 0x2cc, ACT_MP_ITEM1_GRENADE2_IDLE = 0x2cd, ACT_MP_ITEM1_GRENADE2_ATTACK = 0x2ce, ACT_MP_ITEM2_GRENADE1_DRAW = 0x2cf, ACT_MP_ITEM2_GRENADE1_IDLE = 0x2d0, ACT_MP_ITEM2_GRENADE1_ATTACK = 0x2d1, ACT_MP_ITEM2_GRENADE2_DRAW = 0x2d2, ACT_MP_ITEM2_GRENADE2_IDLE = 0x2d3, ACT_MP_ITEM2_GRENADE2_ATTACK = 0x2d4, ACT_MP_STAND_BUILDING = 0x2d5, ACT_MP_CROUCH_BUILDING = 0x2d6, ACT_MP_RUN_BUILDING = 0x2d7, ACT_MP_WALK_BUILDING = 0x2d8, ACT_MP_AIRWALK_BUILDING = 0x2d9, ACT_MP_CROUCHWALK_BUILDING = 0x2da, ACT_MP_JUMP_BUILDING = 0x2db, ACT_MP_JUMP_START_BUILDING = 0x2dc, ACT_MP_JUMP_FLOAT_BUILDING = 0x2dd, ACT_MP_JUMP_LAND_BUILDING = 0x2de, ACT_MP_SWIM_BUILDING = 0x2df, ACT_MP_ATTACK_STAND_BUILDING = 0x2e0, ACT_MP_ATTACK_CROUCH_BUILDING = 0x2e1, ACT_MP_ATTACK_SWIM_BUILDING = 0x2e2, ACT_MP_ATTACK_AIRWALK_BUILDING = 0x2e3, ACT_MP_ATTACK_STAND_GRENADE_BUILDING = 0x2e4, ACT_MP_ATTACK_CROUCH_GRENADE_BUILDING = 0x2e5, ACT_MP_ATTACK_SWIM_GRENADE_BUILDING = 0x2e6, ACT_MP_ATTACK_AIRWALK_GRENADE_BUILDING = 0x2e7, ACT_MP_STAND_PDA = 0x2e8, ACT_MP_CROUCH_PDA = 0x2e9, ACT_MP_RUN_PDA = 0x2ea, ACT_MP_WALK_PDA = 0x2eb, ACT_MP_AIRWALK_PDA = 0x2ec, ACT_MP_CROUCHWALK_PDA = 0x2ed, ACT_MP_JUMP_PDA = 0x2ee, ACT_MP_JUMP_START_PDA = 0x2ef, ACT_MP_JUMP_FLOAT_PDA = 0x2f0, ACT_MP_JUMP_LAND_PDA = 0x2f1, ACT_MP_SWIM_PDA = 0x2f2, ACT_MP_ATTACK_STAND_PDA = 0x2f3, ACT_MP_ATTACK_SWIM_PDA = 0x2f4, ACT_MP_GESTURE_VC_HANDMOUTH = 0x2f5, ACT_MP_GESTURE_VC_FINGERPOINT = 0x2f6, ACT_MP_GESTURE_VC_FISTPUMP = 0x2f7, ACT_MP_GESTURE_VC_THUMBSUP = 0x2f8, ACT_MP_GESTURE_VC_NODYES = 0x2f9, ACT_MP_GESTURE_VC_NODNO = 0x2fa, ACT_MP_GESTURE_VC_HANDMOUTH_PRIMARY = 0x2fb, ACT_MP_GESTURE_VC_FINGERPOINT_PRIMARY = 0x2fc, ACT_MP_GESTURE_VC_FISTPUMP_PRIMARY = 0x2fd, ACT_MP_GESTURE_VC_THUMBSUP_PRIMARY = 0x2fe, ACT_MP_GESTURE_VC_NODYES_PRIMARY = 0x2ff, ACT_MP_GESTURE_VC_NODNO_PRIMARY = 0x300, ACT_MP_GESTURE_VC_HANDMOUTH_SECONDARY = 0x301, ACT_MP_GESTURE_VC_FINGERPOINT_SECONDARY = 0x302, ACT_MP_GESTURE_VC_FISTPUMP_SECONDARY = 0x303, ACT_MP_GESTURE_VC_THUMBSUP_SECONDARY = 0x304, ACT_MP_GESTURE_VC_NODYES_SECONDARY = 0x305, ACT_MP_GESTURE_VC_NODNO_SECONDARY = 0x306, ACT_MP_GESTURE_VC_HANDMOUTH_MELEE = 0x307, ACT_MP_GESTURE_VC_FINGERPOINT_MELEE = 0x308, ACT_MP_GESTURE_VC_FISTPUMP_MELEE = 0x309, ACT_MP_GESTURE_VC_THUMBSUP_MELEE = 0x30a, ACT_MP_GESTURE_VC_NODYES_MELEE = 0x30b, ACT_MP_GESTURE_VC_NODNO_MELEE = 0x30c, ACT_MP_GESTURE_VC_HANDMOUTH_ITEM1 = 0x30d, ACT_MP_GESTURE_VC_FINGERPOINT_ITEM1 = 0x30e, ACT_MP_GESTURE_VC_FISTPUMP_ITEM1 = 0x30f, ACT_MP_GESTURE_VC_THUMBSUP_ITEM1 = 0x310, ACT_MP_GESTURE_VC_NODYES_ITEM1 = 0x311, ACT_MP_GESTURE_VC_NODNO_ITEM1 = 0x312, ACT_MP_GESTURE_VC_HANDMOUTH_ITEM2 = 0x313, ACT_MP_GESTURE_VC_FINGERPOINT_ITEM2 = 0x314, ACT_MP_GESTURE_VC_FISTPUMP_ITEM2 = 0x315, ACT_MP_GESTURE_VC_THUMBSUP_ITEM2 = 0x316, ACT_MP_GESTURE_VC_NODYES_ITEM2 = 0x317, ACT_MP_GESTURE_VC_NODNO_ITEM2 = 0x318, ACT_MP_GESTURE_VC_HANDMOUTH_BUILDING = 0x319, ACT_MP_GESTURE_VC_FINGERPOINT_BUILDING = 0x31a, ACT_MP_GESTURE_VC_FISTPUMP_BUILDING = 0x31b, ACT_MP_GESTURE_VC_THUMBSUP_BUILDING = 0x31c, ACT_MP_GESTURE_VC_NODYES_BUILDING = 0x31d, ACT_MP_GESTURE_VC_NODNO_BUILDING = 0x31e, ACT_MP_GESTURE_VC_HANDMOUTH_PDA = 0x31f, ACT_MP_GESTURE_VC_FINGERPOINT_PDA = 0x320, ACT_MP_GESTURE_VC_FISTPUMP_PDA = 0x321, ACT_MP_GESTURE_VC_THUMBSUP_PDA = 0x322, ACT_MP_GESTURE_VC_NODYES_PDA = 0x323, ACT_MP_GESTURE_VC_NODNO_PDA = 0x324, ACT_VM_UNUSABLE = 0x325, ACT_VM_UNUSABLE_TO_USABLE = 0x326, ACT_VM_USABLE_TO_UNUSABLE = 0x327, ACT_PRIMARY_VM_DRAW = 0x328, ACT_PRIMARY_VM_HOLSTER = 0x329, ACT_PRIMARY_VM_IDLE = 0x32a, ACT_PRIMARY_VM_PULLBACK = 0x32b, ACT_PRIMARY_VM_PRIMARYATTACK = 0x32c, ACT_PRIMARY_VM_SECONDARYATTACK = 0x32d, ACT_PRIMARY_VM_RELOAD = 0x32e, ACT_PRIMARY_VM_DRYFIRE = 0x32f, ACT_PRIMARY_VM_IDLE_TO_LOWERED = 0x330, ACT_PRIMARY_VM_IDLE_LOWERED = 0x331, ACT_PRIMARY_VM_LOWERED_TO_IDLE = 0x332, ACT_SECONDARY_VM_DRAW = 0x333, ACT_SECONDARY_VM_HOLSTER = 0x334, ACT_SECONDARY_VM_IDLE = 0x335, ACT_SECONDARY_VM_PULLBACK = 0x336, ACT_SECONDARY_VM_PRIMARYATTACK = 0x337, ACT_SECONDARY_VM_SECONDARYATTACK = 0x338, ACT_SECONDARY_VM_RELOAD = 0x339, ACT_SECONDARY_VM_DRYFIRE = 0x33a, ACT_SECONDARY_VM_IDLE_TO_LOWERED = 0x33b, ACT_SECONDARY_VM_IDLE_LOWERED = 0x33c, ACT_SECONDARY_VM_LOWERED_TO_IDLE = 0x33d, ACT_MELEE_VM_DRAW = 0x33e, ACT_MELEE_VM_HOLSTER = 0x33f, ACT_MELEE_VM_IDLE = 0x340, ACT_MELEE_VM_PULLBACK = 0x341, ACT_MELEE_VM_PRIMARYATTACK = 0x342, ACT_MELEE_VM_SECONDARYATTACK = 0x343, ACT_MELEE_VM_RELOAD = 0x344, ACT_MELEE_VM_DRYFIRE = 0x345, ACT_MELEE_VM_IDLE_TO_LOWERED = 0x346, ACT_MELEE_VM_IDLE_LOWERED = 0x347, ACT_MELEE_VM_LOWERED_TO_IDLE = 0x348, ACT_PDA_VM_DRAW = 0x349, ACT_PDA_VM_HOLSTER = 0x34a, ACT_PDA_VM_IDLE = 0x34b, ACT_PDA_VM_PULLBACK = 0x34c, ACT_PDA_VM_PRIMARYATTACK = 0x34d, ACT_PDA_VM_SECONDARYATTACK = 0x34e, ACT_PDA_VM_RELOAD = 0x34f, ACT_PDA_VM_DRYFIRE = 0x350, ACT_PDA_VM_IDLE_TO_LOWERED = 0x351, ACT_PDA_VM_IDLE_LOWERED = 0x352, ACT_PDA_VM_LOWERED_TO_IDLE = 0x353, ACT_ITEM1_VM_DRAW = 0x354, ACT_ITEM1_VM_HOLSTER = 0x355, ACT_ITEM1_VM_IDLE = 0x356, ACT_ITEM1_VM_PULLBACK = 0x357, ACT_ITEM1_VM_PRIMARYATTACK = 0x358, ACT_ITEM1_VM_SECONDARYATTACK = 0x359, ACT_ITEM1_VM_RELOAD = 0x35a, ACT_ITEM1_VM_DRYFIRE = 0x35b, ACT_ITEM1_VM_IDLE_TO_LOWERED = 0x35c, ACT_ITEM1_VM_IDLE_LOWERED = 0x35d, ACT_ITEM1_VM_LOWERED_TO_IDLE = 0x35e, ACT_ITEM2_VM_DRAW = 0x35f, ACT_ITEM2_VM_HOLSTER = 0x360, ACT_ITEM2_VM_IDLE = 0x361, ACT_ITEM2_VM_PULLBACK = 0x362, ACT_ITEM2_VM_PRIMARYATTACK = 0x363, ACT_ITEM2_VM_SECONDARYATTACK = 0x364, ACT_ITEM2_VM_RELOAD = 0x365, ACT_ITEM2_VM_DRYFIRE = 0x366, ACT_ITEM2_VM_IDLE_TO_LOWERED = 0x367, ACT_ITEM2_VM_IDLE_LOWERED = 0x368, ACT_ITEM2_VM_LOWERED_TO_IDLE = 0x369, ACT_RELOAD_SUCCEED = 0x36a, ACT_RELOAD_FAIL = 0x36b, ACT_WALK_AIM_AUTOGUN = 0x36c, ACT_RUN_AIM_AUTOGUN = 0x36d, ACT_IDLE_AUTOGUN = 0x36e, ACT_IDLE_AIM_AUTOGUN = 0x36f, ACT_RELOAD_AUTOGUN = 0x370, ACT_CROUCH_IDLE_AUTOGUN = 0x371, ACT_RANGE_ATTACK_AUTOGUN = 0x372, ACT_JUMP_AUTOGUN = 0x373, ACT_IDLE_AIM_PISTOL = 0x374, ACT_WALK_AIM_DUAL = 0x375, ACT_RUN_AIM_DUAL = 0x376, ACT_IDLE_DUAL = 0x377, ACT_IDLE_AIM_DUAL = 0x378, ACT_RELOAD_DUAL = 0x379, ACT_CROUCH_IDLE_DUAL = 0x37a, ACT_RANGE_ATTACK_DUAL = 0x37b, ACT_JUMP_DUAL = 0x37c, ACT_IDLE_AIM_SHOTGUN = 0x37d, ACT_CROUCH_IDLE_SHOTGUN = 0x37e, ACT_IDLE_AIM_RIFLE = 0x37f, ACT_CROUCH_IDLE_RIFLE = 0x380, ACT_RANGE_ATTACK_RIFLE = 0x381, ACT_SLEEP = 0x382, ACT_WAKE = 0x383, ACT_FLICK_LEFT = 0x384, ACT_FLICK_LEFT_MIDDLE = 0x385, ACT_FLICK_RIGHT_MIDDLE = 0x386, ACT_FLICK_RIGHT = 0x387, ACT_SPINAROUND = 0x388, ACT_PREP_TO_FIRE = 0x389, ACT_FIRE = 0x38a, ACT_FIRE_RECOVER = 0x38b, ACT_SPRAY = 0x38c, ACT_PREP_EXPLODE = 0x38d, ACT_EXPLODE = 0x38e, ACT_SCRIPT_CUSTOM_0 = 0x38f, ACT_SCRIPT_CUSTOM_1 = 0x390, ACT_SCRIPT_CUSTOM_2 = 0x391, ACT_SCRIPT_CUSTOM_3 = 0x392, ACT_SCRIPT_CUSTOM_4 = 0x393, ACT_SCRIPT_CUSTOM_5 = 0x394, ACT_SCRIPT_CUSTOM_6 = 0x395, ACT_SCRIPT_CUSTOM_7 = 0x396, ACT_SCRIPT_CUSTOM_8 = 0x397, ACT_SCRIPT_CUSTOM_9 = 0x398, ACT_SCRIPT_CUSTOM_10 = 0x399, ACT_SCRIPT_CUSTOM_11 = 0x39a, ACT_SCRIPT_CUSTOM_12 = 0x39b, ACT_SCRIPT_CUSTOM_13 = 0x39c, ACT_SCRIPT_CUSTOM_14 = 0x39d, ACT_SCRIPT_CUSTOM_15 = 0x39e, ACT_SCRIPT_CUSTOM_16 = 0x39f, ACT_SCRIPT_CUSTOM_17 = 0x3a0, ACT_SCRIPT_CUSTOM_18 = 0x3a1, ACT_SCRIPT_CUSTOM_19 = 0x3a2, ACT_SCRIPT_CUSTOM_20 = 0x3a3, ACT_SCRIPT_CUSTOM_21 = 0x3a4, ACT_SCRIPT_CUSTOM_22 = 0x3a5, ACT_SCRIPT_CUSTOM_23 = 0x3a6, ACT_SCRIPT_CUSTOM_24 = 0x3a7, ACT_SCRIPT_CUSTOM_25 = 0x3a8, ACT_SCRIPT_CUSTOM_26 = 0x3a9, ACT_SCRIPT_CUSTOM_27 = 0x3aa, ACT_SCRIPT_CUSTOM_28 = 0x3ab, ACT_SCRIPT_CUSTOM_29 = 0x3ac, ACT_SCRIPT_CUSTOM_30 = 0x3ad, ACT_SCRIPT_CUSTOM_31 = 0x3ae, ACT_VR_PISTOL_LAST_SHOT = 0x3af, ACT_VR_PISTOL_SLIDE_RELEASE = 0x3b0, ACT_VR_PISTOL_CLIP_OUT_CHAMBERED = 0x3b1, ACT_VR_PISTOL_CLIP_OUT_SLIDE_BACK = 0x3b2, ACT_VR_PISTOL_CLIP_IN_CHAMBERED = 0x3b3, ACT_VR_PISTOL_CLIP_IN_SLIDE_BACK = 0x3b4, ACT_VR_PISTOL_IDLE_SLIDE_BACK = 0x3b5, ACT_VR_PISTOL_IDLE_SLIDE_BACK_CLIP_READY = 0x3b6, ACT_RAGDOLL_RECOVERY_FRONT = 0x3b7, ACT_RAGDOLL_RECOVERY_BACK = 0x3b8, ACT_RAGDOLL_RECOVERY_LEFT = 0x3b9, ACT_RAGDOLL_RECOVERY_RIGHT = 0x3ba, ACT_GRABBITYGLOVES_GRAB = 0x3bb, ACT_GRABBITYGLOVES_RELEASE = 0x3bc, ACT_GRABBITYGLOVES_GRAB_IDLE = 0x3bd, ACT_GRABBITYGLOVES_ACTIVE = 0x3be, ACT_GRABBITYGLOVES_ACTIVE_IDLE = 0x3bf, ACT_GRABBITYGLOVES_DEACTIVATE = 0x3c0, ACT_GRABBITYGLOVES_PULL = 0x3c1, ACT_HEADCRAB_SMOKE_BOMB = 0x3c2, ACT_HEADCRAB_SPIT = 0x3c3, ACT_ZOMBIE_TRIP = 0x3c4, ACT_ZOMBIE_LUNGE = 0x3c5, ACT_NEUTRAL_REF_POSE = 0x3c6, ACT_ANTLION_SCUTTLE_FORWARD = 0x3c7, ACT_ANTLION_SCUTTLE_BACK = 0x3c8, ACT_ANTLION_SCUTTLE_LEFT = 0x3c9, ACT_ANTLION_SCUTTLE_RIGHT = 0x3ca, ACT_VR_PISTOL_EMPTY_CLIP_IN_SLIDE_BACK = 0x3cb, ACT_VR_SHOTGUN_IDLE = 0x3cc, ACT_VR_SHOTGUN_OPEN_CHAMBER = 0x3cd, ACT_VR_SHOTGUN_RELOAD_1 = 0x3ce, ACT_VR_SHOTGUN_RELOAD_2 = 0x3cf, ACT_VR_SHOTGUN_RELOAD_3 = 0x3d0, ACT_VR_SHOTGUN_CLOSE_CHAMBER = 0x3d1, ACT_VR_SHOTGUN_TRIGGER_SQUEEZE = 0x3d2, ACT_VR_SHOTGUN_SHOOT = 0x3d3, ACT_VR_SHOTGUN_SLIDE_BACK = 0x3d4, ACT_VR_SHOTGUN_SLIDE_FORWARD = 0x3d5, ACT_VR_PISTOL_LONG_CLIP_IN_CHAMBERED = 0x3d6, ACT_VR_PISTOL_LONG_CLIP_IN_SLIDE_BACK = 0x3d7, ACT_VR_PISTOL_BURST_TOGGLE = 0x3d8, ACT_VR_PISTOL_LOW_KICK = 0x3d9, ACT_VR_PISTOL_BURST_ATTACK = 0x3da, ACT_VR_SHOTGUN_GRENADE_TWIST = 0x3db, ACT_DIE_STAND = 0x3dc, ACT_DIE_STAND_HEADSHOT = 0x3dd, ACT_DIE_CROUCH = 0x3de, ACT_DIE_CROUCH_HEADSHOT = 0x3df, ACT_CSGO_NULL = 0x3e0, ACT_CSGO_DEFUSE = 0x3e1, ACT_CSGO_DEFUSE_WITH_KIT = 0x3e2, ACT_CSGO_FLASHBANG_REACTION = 0x3e3, ACT_CSGO_FIRE_PRIMARY = 0x3e4, ACT_CSGO_FIRE_PRIMARY_OPT_1 = 0x3e5, ACT_CSGO_FIRE_PRIMARY_OPT_2 = 0x3e6, ACT_CSGO_FIRE_SECONDARY = 0x3e7, ACT_CSGO_FIRE_SECONDARY_OPT_1 = 0x3e8, ACT_CSGO_FIRE_SECONDARY_OPT_2 = 0x3e9, ACT_CSGO_RELOAD = 0x3ea, ACT_CSGO_RELOAD_START = 0x3eb, ACT_CSGO_RELOAD_LOOP = 0x3ec, ACT_CSGO_RELOAD_END = 0x3ed, ACT_CSGO_OPERATE = 0x3ee, ACT_CSGO_DEPLOY = 0x3ef, ACT_CSGO_CATCH = 0x3f0, ACT_CSGO_SILENCER_DETACH = 0x3f1, ACT_CSGO_SILENCER_ATTACH = 0x3f2, ACT_CSGO_TWITCH = 0x3f3, ACT_CSGO_TWITCH_BUYZONE = 0x3f4, ACT_CSGO_PLANT_BOMB = 0x3f5, ACT_CSGO_IDLE_TURN_BALANCEADJUST = 0x3f6, ACT_CSGO_IDLE_ADJUST_STOPPEDMOVING = 0x3f7, ACT_CSGO_ALIVE_LOOP = 0x3f8, ACT_CSGO_FLINCH = 0x3f9, ACT_CSGO_FLINCH_HEAD = 0x3fa, ACT_CSGO_FLINCH_MOLOTOV = 0x3fb, ACT_CSGO_JUMP = 0x3fc, ACT_CSGO_FALL = 0x3fd, ACT_CSGO_CLIMB_LADDER = 0x3fe, ACT_CSGO_LAND_LIGHT = 0x3ff, ACT_CSGO_LAND_HEAVY = 0x400, ACT_CSGO_EXIT_LADDER_TOP = 0x401, ACT_CSGO_EXIT_LADDER_BOTTOM = 0x402, ACT_CSGO_PARACHUTE = 0x403, ACT_CSGO_TAUNT = 0x404, }; // Alignment: 4 // Size: 0x3 enum class AmmoFlags_t : uint32_t { AMMO_FORCE_DROP_IF_CARRIED = 0x1, AMMO_RESERVE_STAYS_WITH_WEAPON = 0x2, AMMO_FLAG_MAX = 0x2, }; // Alignment: 2 // Size: 0xc enum class TakeDamageFlags_t : uint16_t { DFLAG_NONE = 0x0, DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1, DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2, DFLAG_SUPPRESS_EFFECTS = 0x4, DFLAG_PREVENT_DEATH = 0x8, DFLAG_FORCE_DEATH = 0x10, DFLAG_ALWAYS_GIB = 0x20, DFLAG_NEVER_GIB = 0x40, DFLAG_REMOVE_NO_RAGDOLL = 0x80, DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100, DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200, DMG_LASTDFLAG = 0x200, }; // Alignment: 4 // Size: 0x16 enum class DamageTypes_t : uint32_t { DMG_GENERIC = 0x0, DMG_CRUSH = 0x1, DMG_BULLET = 0x2, DMG_SLASH = 0x4, DMG_BURN = 0x8, DMG_VEHICLE = 0x10, DMG_FALL = 0x20, DMG_BLAST = 0x40, DMG_CLUB = 0x80, DMG_SHOCK = 0x100, DMG_SONIC = 0x200, DMG_ENERGYBEAM = 0x400, DMG_DROWN = 0x4000, DMG_POISON = 0x8000, DMG_RADIATION = 0x10000, DMG_DROWNRECOVER = 0x20000, DMG_ACID = 0x40000, DMG_PHYSGUN = 0x100000, DMG_DISSOLVE = 0x200000, DMG_BLAST_SURFACE = 0x400000, DMG_BUCKSHOT = 0x1000000, DMG_LASTGENERICFLAG = 0x1000000, }; // Alignment: 4 // Size: 0x11 enum class BaseExplosionTypes_t : uint32_t { EXPLOSION_TYPE_DEFAULT = 0x0, EXPLOSION_TYPE_GRENADE = 0x1, EXPLOSION_TYPE_MOLOTOV = 0x2, EXPLOSION_TYPE_FIREWORKS = 0x3, EXPLOSION_TYPE_GASCAN = 0x4, EXPLOSION_TYPE_GASCYLINDER = 0x5, EXPLOSION_TYPE_EXPLOSIVEBARREL = 0x6, EXPLOSION_TYPE_ELECTRICAL = 0x7, EXPLOSION_TYPE_EMP = 0x8, EXPLOSION_TYPE_SHRAPNEL = 0x9, EXPLOSION_TYPE_SMOKEGRENADE = 0xa, EXPLOSION_TYPE_FLASHBANG = 0xb, EXPLOSION_TYPE_TRIPMINE = 0xc, EXPLOSION_TYPE_ICE = 0xd, EXPLOSION_TYPE_NONE = 0xe, EXPLOSION_TYPE_CUSTOM = 0xf, EXPLOSION_TYPE_COUNT = 0x10, }; // Alignment: 4 // Size: 0x6 enum class HierarchyType_t : uint32_t { HIERARCHY_NONE = 0x0, HIERARCHY_BONE_MERGE = 0x1, HIERARCHY_ATTACHMENT = 0x2, HIERARCHY_ABSORIGIN = 0x3, HIERARCHY_BONE = 0x4, HIERARCHY_TYPE_COUNT = 0x5, }; // Alignment: 4 // Size: 0x3 enum class CanPlaySequence_t : uint32_t { CANNOT_PLAY = 0x0, CAN_PLAY_NOW = 0x1, CAN_PLAY_ENQUEUED = 0x2, }; // Alignment: 4 // Size: 0x4 enum class ScriptedOnDeath_t : uint32_t { SS_ONDEATH_NOT_APPLICABLE = 0xffffffffffffffff, SS_ONDEATH_UNDEFINED = 0x0, SS_ONDEATH_RAGDOLL = 0x1, SS_ONDEATH_ANIMATED_DEATH = 0x2, }; // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ScriptState_t : uint32_t { SCRIPT_PLAYING = 0x0, SCRIPT_WAIT = 0x1, SCRIPT_POST_IDLE = 0x2, SCRIPT_CLEANUP = 0x3, SCRIPT_WALK_TO_MARK = 0x4, SCRIPT_RUN_TO_MARK = 0x5, SCRIPT_CUSTOM_MOVE_TO_MARK = 0x6, }; // Alignment: 4 // Size: 0x7 enum class IChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, STATE_WALK_TO_MARK = 0x2, STATE_SYNCHRONIZE_SCRIPT = 0x3, STATE_PLAY_SCRIPT = 0x4, STATE_PLAY_SCRIPT_POST_IDLE = 0x5, STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; // Alignment: 4 // Size: 0x6 enum class ShakeCommand_t : uint32_t { SHAKE_START = 0x0, SHAKE_STOP = 0x1, SHAKE_AMPLITUDE = 0x2, SHAKE_FREQUENCY = 0x3, SHAKE_START_RUMBLEONLY = 0x4, SHAKE_START_NORUMBLE = 0x5, }; // Alignment: 4 // Size: 0x5 enum class TimelineCompression_t : uint32_t { TIMELINE_COMPRESSION_SUM = 0x0, TIMELINE_COMPRESSION_COUNT_PER_INTERVAL = 0x1, TIMELINE_COMPRESSION_AVERAGE = 0x2, TIMELINE_COMPRESSION_AVERAGE_BLEND = 0x3, TIMELINE_COMPRESSION_TOTAL = 0x4, }; // Alignment: 8 // Size: 0x28 enum class DebugOverlayBits_t : uint64_t { OVERLAY_TEXT_BIT = 0x1, OVERLAY_NAME_BIT = 0x2, OVERLAY_BBOX_BIT = 0x4, OVERLAY_PIVOT_BIT = 0x8, OVERLAY_MESSAGE_BIT = 0x10, OVERLAY_ABSBOX_BIT = 0x20, OVERLAY_RBOX_BIT = 0x40, OVERLAY_SHOW_BLOCKSLOS = 0x80, OVERLAY_ATTACHMENTS_BIT = 0x100, OVERLAY_INTERPOLATED_ATTACHMENTS_BIT = 0x200, OVERLAY_INTERPOLATED_PIVOT_BIT = 0x400, OVERLAY_SKELETON_BIT = 0x800, OVERLAY_INTERPOLATED_SKELETON_BIT = 0x1000, OVERLAY_TRIGGER_BOUNDS_BIT = 0x2000, OVERLAY_HITBOX_BIT = 0x4000, OVERLAY_INTERPOLATED_HITBOX_BIT = 0x8000, OVERLAY_AUTOAIM_BIT = 0x10000, OVERLAY_NPC_SELECTED_BIT = 0x20000, OVERLAY_JOINT_INFO_BIT = 0x40000, OVERLAY_NPC_ROUTE_BIT = 0x80000, OVERLAY_NPC_TRIANGULATE_BIT = 0x100000, OVERLAY_NPC_ZAP_BIT = 0x200000, OVERLAY_NPC_ENEMIES_BIT = 0x400000, OVERLAY_NPC_CONDITIONS_BIT = 0x800000, OVERLAY_NPC_COMBAT_BIT = 0x1000000, OVERLAY_NPC_TASK_BIT = 0x2000000, OVERLAY_NPC_BODYLOCATIONS = 0x4000000, OVERLAY_NPC_VIEWCONE_BIT = 0x8000000, OVERLAY_NPC_KILL_BIT = 0x10000000, OVERLAY_WC_CHANGE_ENTITY = 0x20000000, OVERLAY_BUDDHA_MODE = 0x40000000, OVERLAY_NPC_STEERING_REGULATIONS = 0x80000000, OVERLAY_NPC_TASK_TEXT_BIT = 0x100000000, OVERLAY_PROP_DEBUG = 0x200000000, OVERLAY_NPC_RELATION_BIT = 0x400000000, OVERLAY_VIEWOFFSET = 0x800000000, OVERLAY_VCOLLIDE_WIREFRAME_BIT = 0x1000000000, OVERLAY_NPC_NEAREST_NODE_BIT = 0x2000000000, OVERLAY_ACTORNAME_BIT = 0x4000000000, OVERLAY_NPC_CONDITIONS_TEXT_BIT = 0x8000000000, }; // Alignment: 1 // Size: 0xe enum class MoveType_t : uint8_t { MOVETYPE_NONE = 0x0, MOVETYPE_OBSOLETE = 0x1, MOVETYPE_WALK = 0x2, MOVETYPE_STEP = 0x3, MOVETYPE_FLY = 0x4, MOVETYPE_FLYGRAVITY = 0x5, MOVETYPE_VPHYSICS = 0x6, MOVETYPE_PUSH = 0x7, MOVETYPE_NOCLIP = 0x8, MOVETYPE_LADDER = 0x9, MOVETYPE_OBSERVER = 0xa, MOVETYPE_CUSTOM = 0xb, MOVETYPE_LAST = 0xb, MOVETYPE_MAX_BITS = 0x4, }; // Alignment: 1 // Size: 0x6 enum class MoveCollide_t : uint8_t { MOVECOLLIDE_DEFAULT = 0x0, MOVECOLLIDE_FLY_BOUNCE = 0x1, MOVECOLLIDE_FLY_CUSTOM = 0x2, MOVECOLLIDE_FLY_SLIDE = 0x3, MOVECOLLIDE_COUNT = 0x4, MOVECOLLIDE_MAX_BITS = 0x3, }; // Alignment: 1 // Size: 0x9 enum class SolidType_t : uint8_t { SOLID_NONE = 0x0, SOLID_BSP = 0x1, SOLID_BBOX = 0x2, SOLID_OBB = 0x3, SOLID_SPHERE = 0x4, SOLID_POINT = 0x5, SOLID_VPHYSICS = 0x6, SOLID_CAPSULE = 0x7, SOLID_LAST = 0x8, }; // Alignment: 4 // Size: 0x3 enum class BrushSolidities_e : uint32_t { BRUSHSOLID_TOGGLE = 0x0, BRUSHSOLID_NEVER = 0x1, BRUSHSOLID_ALWAYS = 0x2, }; // Alignment: 1 // Size: 0xd enum class RenderMode_t : uint8_t { kRenderNormal = 0x0, kRenderTransColor = 0x1, kRenderTransTexture = 0x2, kRenderGlow = 0x3, kRenderTransAlpha = 0x4, kRenderTransAdd = 0x5, kRenderEnvironmental = 0x6, kRenderTransAddFrameBlend = 0x7, kRenderTransAlphaAdd = 0x8, kRenderWorldGlow = 0x9, kRenderNone = 0xa, kRenderDevVisualizer = 0xb, kRenderModeCount = 0xc, }; // Alignment: 1 // Size: 0x14 enum class RenderFx_t : uint8_t { kRenderFxNone = 0x0, kRenderFxPulseSlow = 0x1, kRenderFxPulseFast = 0x2, kRenderFxPulseSlowWide = 0x3, kRenderFxPulseFastWide = 0x4, kRenderFxFadeSlow = 0x5, kRenderFxFadeFast = 0x6, kRenderFxSolidSlow = 0x7, kRenderFxSolidFast = 0x8, kRenderFxStrobeSlow = 0x9, kRenderFxStrobeFast = 0xa, kRenderFxStrobeFaster = 0xb, kRenderFxFlickerSlow = 0xc, kRenderFxFlickerFast = 0xd, kRenderFxNoDissipation = 0xe, kRenderFxFadeOut = 0xf, kRenderFxFadeIn = 0x10, kRenderFxPulseFastWider = 0x11, kRenderFxGlowShell = 0x12, kRenderFxMax = 0x13, }; // Alignment: 4 // Size: 0x2 enum class CRR_Response__ResponseEnum_t : uint32_t { MAX_RESPONSE_NAME = 0xc0, MAX_RULE_NAME = 0x80, }; // Alignment: 4 // Size: 0x3 enum class LessonPanelLayoutFileTypes_t : uint32_t { LAYOUT_HAND_DEFAULT = 0x0, LAYOUT_WORLD_DEFAULT = 0x1, LAYOUT_CUSTOM = 0x2, }; // Alignment: 4 // Size: 0x5 enum class Touch_t : uint32_t { touch_none = 0x0, touch_player_only = 0x1, touch_npc_only = 0x2, touch_player_or_npc = 0x3, touch_player_or_npc_or_physicsprop = 0x4, }; // Alignment: 4 // Size: 0x7 enum class CGameChoreoServices__ChoreoState_t : uint32_t { STATE_PRE_SCRIPT = 0x0, STATE_WAIT_FOR_SCRIPT = 0x1, STATE_WALK_TO_MARK = 0x2, STATE_SYNCHRONIZE_SCRIPT = 0x3, STATE_PLAY_SCRIPT = 0x4, STATE_PLAY_SCRIPT_POST_IDLE = 0x5, STATE_PLAY_SCRIPT_POST_IDLE_DONE = 0x6, }; // Alignment: 4 // Size: 0xb enum class Hull_t : uint32_t { HULL_HUMAN = 0x0, HULL_SMALL_CENTERED = 0x1, HULL_WIDE_HUMAN = 0x2, HULL_TINY = 0x3, HULL_MEDIUM = 0x4, HULL_TINY_CENTERED = 0x5, HULL_LARGE = 0x6, HULL_LARGE_CENTERED = 0x7, HULL_MEDIUM_TALL = 0x8, NUM_HULLS = 0x9, HULL_NONE = 0xa, }; // Alignment: 4 // Size: 0x1 enum class navproperties_t : uint32_t { NAV_IGNORE = 0x1, }; // Alignment: 4 // Size: 0x4 enum class CLogicBranchList__LogicBranchListenerLastState_t : uint32_t { LOGIC_BRANCH_LISTENER_NOT_INIT = 0x0, LOGIC_BRANCH_LISTENER_ALL_TRUE = 0x1, LOGIC_BRANCH_LISTENER_ALL_FALSE = 0x2, LOGIC_BRANCH_LISTENER_MIXED = 0x3, }; // Alignment: 4 // Size: 0x3 enum class EntFinderMethod_t : uint32_t { ENT_FIND_METHOD_NEAREST = 0x0, ENT_FIND_METHOD_FARTHEST = 0x1, ENT_FIND_METHOD_RANDOM = 0x2, }; // Alignment: 4 // Size: 0x2 enum class ValueRemapperInputType_t : uint32_t { InputType_PlayerShootPosition = 0x0, InputType_PlayerShootPositionAroundAxis = 0x1, }; // Alignment: 4 // Size: 0x4 enum class ValueRemapperOutputType_t : uint32_t { OutputType_AnimationCycle = 0x0, OutputType_RotationX = 0x1, OutputType_RotationY = 0x2, OutputType_RotationZ = 0x3, }; // Alignment: 4 // Size: 0x2 enum class ValueRemapperHapticsType_t : uint32_t { HaticsType_Default = 0x0, HaticsType_None = 0x1, }; // Alignment: 4 // Size: 0x4 enum class ValueRemapperMomentumType_t : uint32_t { MomentumType_None = 0x0, MomentumType_Friction = 0x1, MomentumType_SpringTowardSnapValue = 0x2, MomentumType_SpringAwayFromSnapValue = 0x3, }; // Alignment: 4 // Size: 0x2 enum class ValueRemapperRatchetType_t : uint32_t { RatchetType_Absolute = 0x0, RatchetType_EachEngage = 0x1, }; // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyHorizontal_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_LEFT = 0x0, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_HORIZONTAL_RIGHT = 0x2, }; // Alignment: 4 // Size: 0x3 enum class PointWorldTextJustifyVertical_t : uint32_t { POINT_WORLD_TEXT_JUSTIFY_VERTICAL_BOTTOM = 0x0, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_CENTER = 0x1, POINT_WORLD_TEXT_JUSTIFY_VERTICAL_TOP = 0x2, }; // Alignment: 4 // Size: 0x2 enum class PointWorldTextReorientMode_t : uint32_t { POINT_WORLD_TEXT_REORIENT_NONE = 0x0, POINT_WORLD_TEXT_REORIENT_AROUND_UP = 0x1, }; // Alignment: 4 // Size: 0x3 enum class doorCheck_e : uint32_t { DOOR_CHECK_FORWARD = 0x0, DOOR_CHECK_BACKWARD = 0x1, DOOR_CHECK_FULL = 0x2, }; // Alignment: 4 // Size: 0x4 enum class PropDoorRotatingSpawnPos_t : uint32_t { DOOR_SPAWN_CLOSED = 0x0, DOOR_SPAWN_OPEN_FORWARD = 0x1, DOOR_SPAWN_OPEN_BACK = 0x2, DOOR_SPAWN_AJAR = 0x3, }; // Alignment: 4 // Size: 0x3 enum class PropDoorRotatingOpenDirection_e : uint32_t { DOOR_ROTATING_OPEN_BOTH_WAYS = 0x0, DOOR_ROTATING_OPEN_FORWARD = 0x1, DOOR_ROTATING_OPEN_BACKWARD = 0x2, }; // Alignment: 4 // Size: 0x2 enum class SceneOnPlayerDeath_t : uint32_t { SCENE_ONPLAYERDEATH_DO_NOTHING = 0x0, SCENE_ONPLAYERDEATH_CANCEL = 0x1, }; // Alignment: 4 // Size: 0x2 enum class ScriptedConflictResponse_t : uint32_t { SS_CONFLICT_ENQUEUE = 0x0, SS_CONFLICT_INTERRUPT = 0x1, }; // Alignment: 4 // Size: 0x3 enum class TRAIN_CODE : uint32_t { TRAIN_SAFE = 0x0, TRAIN_BLOCKING = 0x1, TRAIN_FOLLOWING = 0x2, }; // Alignment: 4 // Size: 0x8 enum class TOGGLE_STATE : uint32_t { TS_AT_TOP = 0x0, TS_AT_BOTTOM = 0x1, TS_GOING_UP = 0x2, TS_GOING_DOWN = 0x3, DOOR_OPEN = 0x0, DOOR_CLOSED = 0x1, DOOR_OPENING = 0x2, DOOR_CLOSING = 0x3, }; // Alignment: 4 // Size: 0x2 enum class FuncDoorSpawnPos_t : uint32_t { FUNC_DOOR_SPAWN_CLOSED = 0x0, FUNC_DOOR_SPAWN_OPEN = 0x1, }; // Alignment: 4 // Size: 0x2 enum class filter_t : uint32_t { FILTER_AND = 0x0, FILTER_OR = 0x1, }; // Alignment: 4 // Size: 0x3 enum class Explosions : uint32_t { expRandom = 0x0, expDirected = 0x1, expUsePrecise = 0x2, }; // Alignment: 4 // Size: 0xc enum class Materials : uint32_t { matGlass = 0x0, matWood = 0x1, matMetal = 0x2, matFlesh = 0x3, matCinderBlock = 0x4, matCeilingTile = 0x5, matComputer = 0x6, matUnbreakableGlass = 0x7, matRocks = 0x8, matWeb = 0x9, matNone = 0xa, matLastMaterial = 0xb, }; // Alignment: 4 // Size: 0x3 enum class TrackOrientationType_t : uint32_t { TrackOrientation_Fixed = 0x0, TrackOrientation_FacePath = 0x1, TrackOrientation_FacePathAngles = 0x2, }; // Alignment: 4 // Size: 0x3 enum class SimpleConstraintSoundProfile__SimpleConstraintsSoundProfileKeypoints_t : uint32_t { kMIN_THRESHOLD = 0x0, kMIN_FULL = 0x1, kHIGHWATER = 0x2, }; // Alignment: 4 // Size: 0x17 enum class SoundFlags_t : uint32_t { SOUND_NONE = 0x0, SOUND_COMBAT = 0x1, SOUND_WORLD = 0x2, SOUND_PLAYER = 0x4, SOUND_DANGER = 0x8, SOUND_BULLET_IMPACT = 0x10, SOUND_THUMPER = 0x20, SOUND_PHYSICS_DANGER = 0x40, SOUND_MOVE_AWAY = 0x80, SOUND_PLAYER_VEHICLE = 0x100, SOUND_GLASS_BREAK = 0x200, SOUND_PHYSICS_OBJECT = 0x400, SOUND_CONTEXT_GUNFIRE = 0x100000, SOUND_CONTEXT_COMBINE_ONLY = 0x200000, SOUND_CONTEXT_REACT_TO_SOURCE = 0x400000, SOUND_CONTEXT_EXPLOSION = 0x800000, SOUND_CONTEXT_EXCLUDE_COMBINE = 0x1000000, SOUND_CONTEXT_DANGER_APPROACH = 0x2000000, SOUND_CONTEXT_ALLIES_ONLY = 0x4000000, SOUND_CONTEXT_PANIC_NPCS = 0x8000000, ALL_CONTEXTS = 0xfffffffffff00000, ALL_SCENTS = 0x0, ALL_SOUNDS = 0xfffff, }; // Alignment: 4 // Size: 0x3 enum class TrainVelocityType_t : uint32_t { TrainVelocity_Instantaneous = 0x0, TrainVelocity_LinearBlend = 0x1, TrainVelocity_EaseInEaseOut = 0x2, }; // Alignment: 4 // Size: 0x4 enum class TrainOrientationType_t : uint32_t { TrainOrientation_Fixed = 0x0, TrainOrientation_AtPathTracks = 0x1, TrainOrientation_LinearBlend = 0x2, TrainOrientation_EaseInEaseOut = 0x3, }; // Alignment: 4 // Size: 0x15 enum class sound_states : uint32_t { SS_NONE = 0x0, SS_SHUTDOWN = 0x1, SS_SHUTDOWN_WATER = 0x2, SS_START_WATER = 0x3, SS_START_IDLE = 0x4, SS_IDLE = 0x5, SS_GEAR_0 = 0x6, SS_GEAR_1 = 0x7, SS_GEAR_2 = 0x8, SS_GEAR_3 = 0x9, SS_GEAR_4 = 0xa, SS_SLOWDOWN = 0xb, SS_SLOWDOWN_HIGHSPEED = 0xc, SS_GEAR_0_RESUME = 0xd, SS_GEAR_1_RESUME = 0xe, SS_GEAR_2_RESUME = 0xf, SS_GEAR_3_RESUME = 0x10, SS_GEAR_4_RESUME = 0x11, SS_TURBO = 0x12, SS_REVERSE = 0x13, SS_NUM_STATES = 0x14, }; // Alignment: 4 // Size: 0x7 enum class BeamType_t : uint32_t { BEAM_INVALID = 0x0, BEAM_POINTS = 0x1, BEAM_ENTPOINT = 0x2, BEAM_ENTS = 0x3, BEAM_HOSE = 0x4, BEAM_SPLINE = 0x5, BEAM_LASER = 0x6, }; // Alignment: 4 // Size: 0x4 enum class BeamClipStyle_t : uint32_t { kNOCLIP = 0x0, kGEOCLIP = 0x1, kMODELCLIP = 0x2, kBEAMCLIPSTYLE_NUMBITS = 0x2, }; // Alignment: 1 // Size: 0x9 enum class SurroundingBoundsType_t : uint8_t { USE_OBB_COLLISION_BOUNDS = 0x0, USE_BEST_COLLISION_BOUNDS = 0x1, USE_HITBOXES = 0x2, USE_SPECIFIED_BOUNDS = 0x3, USE_GAME_CODE = 0x4, USE_ROTATION_EXPANDED_BOUNDS = 0x5, USE_COLLISION_BOUNDS_NEVER_VPHYSICS = 0x6, USE_ROTATION_EXPANDED_SEQUENCE_BOUNDS = 0x7, SURROUNDING_TYPE_BIT_COUNT = 0x3, }; // Alignment: 1 // Size: 0x2 enum class ShatterPanelMode : uint8_t { SHATTER_GLASS = 0x0, SHATTER_DRYWALL = 0x1, }; // Alignment: 1 // Size: 0x5 enum class ShatterDamageCause : uint8_t { SHATTERDAMAGE_BULLET = 0x0, SHATTERDAMAGE_MELEE = 0x1, SHATTERDAMAGE_THROWN = 0x2, SHATTERDAMAGE_SCRIPT = 0x3, SHATTERDAMAGE_EXPLOSIVE = 0x4, }; // Alignment: 1 // Size: 0x5 enum class ShatterGlassStressType : uint8_t { SHATTERGLASS_BLUNT = 0x0, SHATTERGLASS_BALLISTIC = 0x1, SHATTERGLASS_PULSE = 0x2, SHATTERDRYWALL_CHUNKS = 0x3, SHATTERGLASS_EXPLOSIVE = 0x4, }; // Alignment: 1 // Size: 0x3 enum class OnFrame : uint8_t { ONFRAME_UNKNOWN = 0x0, ONFRAME_TRUE = 0x1, ONFRAME_FALSE = 0x2, }; // Alignment: 1 // Size: 0x2 enum class ShardSolid_t : uint8_t { SHARD_SOLID = 0x0, SHARD_DEBRIS = 0x1, }; // Alignment: 4 // Size: 0x7 enum class PoseController_FModType_t : uint32_t { POSECONTROLLER_FMODTYPE_NONE = 0x0, POSECONTROLLER_FMODTYPE_SINE = 0x1, POSECONTROLLER_FMODTYPE_SQUARE = 0x2, POSECONTROLLER_FMODTYPE_TRIANGLE = 0x3, POSECONTROLLER_FMODTYPE_SAWTOOTH = 0x4, POSECONTROLLER_FMODTYPE_NOISE = 0x5, POSECONTROLLER_FMODTYPE_TOTAL = 0x6, }; // Alignment: 4 // Size: 0x9 enum class EntitySubclassScope_t : uint32_t { SUBCLASS_SCOPE_NONE = 0xffffffffffffffff, SUBCLASS_SCOPE_MISC = 0x0, SUBCLASS_SCOPE_PRECIPITATION = 0x1, SUBCLASS_SCOPE_GRENADES = 0x2, SUBCLASS_SCOPE_PLAYER_WEAPONS = 0x3, SUBCLASS_SCOPE_MODIFIERS = 0x4, SUBCLASS_SCOPE_NPC_UNITS = 0x5, SUBCLASS_SCOPE_NPC_ABILITIES = 0x6, SUBCLASS_SCOPE_COUNT = 0x7, }; // Alignment: 4 // Size: 0x3 enum class SubclassVDataChangeType_t : uint32_t { SUBCLASS_VDATA_CREATED = 0x0, SUBCLASS_VDATA_SUBCLASS_CHANGED = 0x1, SUBCLASS_VDATA_RELOADED = 0x2, }; // Alignment: 4 // Size: 0x6 enum class PlayerConnectedState : uint32_t { PlayerNeverConnected = 0xffffffffffffffff, PlayerConnected = 0x0, PlayerConnecting = 0x1, PlayerReconnecting = 0x2, PlayerDisconnecting = 0x3, PlayerDisconnected = 0x4, }; // Alignment: 4 // Size: 0x10 enum class vote_create_failed_t : uint32_t { VOTE_FAILED_GENERIC = 0x0, VOTE_FAILED_TRANSITIONING_PLAYERS = 0x1, VOTE_FAILED_RATE_EXCEEDED = 0x2, VOTE_FAILED_YES_MUST_EXCEED_NO = 0x3, VOTE_FAILED_QUORUM_FAILURE = 0x4, VOTE_FAILED_ISSUE_DISABLED = 0x5, VOTE_FAILED_MAP_NOT_FOUND = 0x6, VOTE_FAILED_MAP_NAME_REQUIRED = 0x7, VOTE_FAILED_FAILED_RECENTLY = 0x8, VOTE_FAILED_TEAM_CANT_CALL = 0x9, VOTE_FAILED_WAITINGFORPLAYERS = 0xa, VOTE_FAILED_PLAYERNOTFOUND = 0xb, VOTE_FAILED_CANNOT_KICK_ADMIN = 0xc, VOTE_FAILED_SCRAMBLE_IN_PROGRESS = 0xd, VOTE_FAILED_SPECTATOR = 0xe, VOTE_FAILED_MAX = 0xf, }; // Alignment: 4 // Size: 0x3 enum class WeaponState_t : uint32_t { WEAPON_NOT_CARRIED = 0x0, WEAPON_IS_CARRIED_BY_PLAYER = 0x1, WEAPON_IS_ACTIVE = 0x2, }; // Alignment: 1 // Size: 0x9 enum class ItemFlagTypes_t : uint8_t { ITEM_FLAG_NONE = 0x0, ITEM_FLAG_CAN_SELECT_WITHOUT_AMMO = 0x1, ITEM_FLAG_NOAUTORELOAD = 0x2, ITEM_FLAG_NOAUTOSWITCHEMPTY = 0x4, ITEM_FLAG_LIMITINWORLD = 0x8, ITEM_FLAG_EXHAUSTIBLE = 0x10, ITEM_FLAG_DOHITLOCATIONDMG = 0x20, ITEM_FLAG_NOAMMOPICKUPS = 0x40, ITEM_FLAG_NOITEMPICKUP = 0x80, }; // Alignment: 4 // Size: 0x5 enum class EntityDisolveType_t : uint32_t { ENTITY_DISSOLVE_INVALID = 0xffffffffffffffff, ENTITY_DISSOLVE_NORMAL = 0x0, ENTITY_DISSOLVE_ELECTRICAL = 0x1, ENTITY_DISSOLVE_ELECTRICAL_LIGHT = 0x2, ENTITY_DISSOLVE_CORE = 0x3, }; // Alignment: 4 // Size: 0xd enum class HitGroup_t : uint32_t { HITGROUP_INVALID = 0xffffffffffffffff, HITGROUP_GENERIC = 0x0, HITGROUP_HEAD = 0x1, HITGROUP_CHEST = 0x2, HITGROUP_STOMACH = 0x3, HITGROUP_LEFTARM = 0x4, HITGROUP_RIGHTARM = 0x5, HITGROUP_LEFTLEG = 0x6, HITGROUP_RIGHTLEG = 0x7, HITGROUP_NECK = 0x8, HITGROUP_UNUSED = 0x9, HITGROUP_GEAR = 0xa, HITGROUP_SPECIAL = 0xb, }; // Alignment: 4 // Size: 0x5 enum class DoorState_t : uint32_t { DOOR_STATE_CLOSED = 0x0, DOOR_STATE_OPENING = 0x1, DOOR_STATE_OPEN = 0x2, DOOR_STATE_CLOSING = 0x3, DOOR_STATE_AJAR = 0x4, }; // Alignment: 4 // Size: 0x2 enum class ShadowType_t : uint32_t { SHADOWS_NONE = 0x0, SHADOWS_SIMPLE = 0x1, }; // Alignment: 4 // Size: 0x8 enum class Class_T : uint32_t { CLASS_NONE = 0x0, CLASS_PLAYER = 0x1, CLASS_PLAYER_ALLY = 0x2, CLASS_MODIFIER_THINKER = 0x3, CLASS_BULLSEYE = 0x4, CLASS_GENERIC_ACTOR = 0x5, CLASS_ENEMY_APPLIANCE = 0x6, NUM_CLASSIFY_CLASSES = 0x7, }; // Alignment: 4 // Size: 0xa enum class Disposition_t : uint32_t { D_ER = 0x0, D_HT = 0x1, D_FR = 0x2, D_LI = 0x3, D_NU = 0x4, D_ERROR = 0x0, D_HATE = 0x1, D_FEAR = 0x2, D_LIKE = 0x3, D_NEUTRAL = 0x4, }; // Alignment: 4 // Size: 0x6 enum class LatchDirtyPermission_t : uint32_t { LATCH_DIRTY_DISALLOW = 0x0, LATCH_DIRTY_SERVER_CONTROLLED = 0x1, LATCH_DIRTY_CLIENT_SIMULATED = 0x2, LATCH_DIRTY_PREDICTION = 0x3, LATCH_DIRTY_FRAMESIMULATE = 0x4, LATCH_DIRTY_PARTICLE_SIMULATE = 0x5, }; // Alignment: 4 // Size: 0x5 enum class LifeState_t : uint32_t { LIFE_ALIVE = 0x0, LIFE_DYING = 0x1, LIFE_DEAD = 0x2, LIFE_RESPAWNABLE = 0x3, LIFE_RESPAWNING = 0x4, }; // Alignment: 4 // Size: 0x4 enum class StanceType_t : uint32_t { STANCE_CURRENT = 0xffffffffffffffff, STANCE_DEFAULT = 0x0, STANCE_CROUCHING = 0x1, NUM_STANCES = 0x2, }; // Alignment: 4 // Size: 0x2 enum class ModifyDamageReturn_t : uint32_t { CONTINUE_TO_APPLY_DAMAGE = 0x0, ABORT_DO_NOT_APPLY_DAMAGE = 0x1, }; // Alignment: 4 // Size: 0x3 enum class WorldTextPanelHorizontalAlign_t : uint32_t { WORLDTEXT_HORIZONTAL_ALIGN_LEFT = 0x0, WORLDTEXT_HORIZONTAL_ALIGN_CENTER = 0x1, WORLDTEXT_HORIZONTAL_ALIGN_RIGHT = 0x2, }; // Alignment: 4 // Size: 0x3 enum class WorldTextPanelVerticalAlign_t : uint32_t { WORLDTEXT_VERTICAL_ALIGN_TOP = 0x0, WORLDTEXT_VERTICAL_ALIGN_CENTER = 0x1, WORLDTEXT_VERTICAL_ALIGN_BOTTOM = 0x2, }; // Alignment: 4 // Size: 0x3 enum class WorldTextPanelOrientation_t : uint32_t { WORLDTEXT_ORIENTATION_DEFAULT = 0x0, WORLDTEXT_ORIENTATION_FACEUSER = 0x1, WORLDTEXT_ORIENTATION_FACEUSER_UPRIGHT = 0x2, }; // Alignment: 4 // Size: 0x7 enum class WorldTextAttachmentType_t : uint32_t { ATTACHED_NONE = 0x0, ATTACHED_PRIMARY_HAND = 0x1, ATTACHED_OFF_HAND = 0x2, ATTACHED_ENTITY = 0x3, ATTACHED_HMD = 0x4, ATTACHED_ENTITY_LARGE = 0x5, ATTACHED_HAND_SPECIFIED_IN_EVENT = 0x6, }; // Alignment: 4 // Size: 0x5 enum class AI_Efficiency_t : uint32_t { AIE_NORMAL = 0x0, AIE_EFFICIENT = 0x1, AIE_VERY_EFFICIENT = 0x2, AIE_SUPER_EFFICIENT = 0x3, AIE_DORMANT = 0x4, }; // Alignment: 4 // Size: 0x2 enum class AI_MoveEfficiency_t : uint32_t { AIME_NORMAL = 0x0, AIME_EFFICIENT = 0x1, }; // Alignment: 4 // Size: 0x6 enum class AI_SleepState_t : uint32_t { AISS_AWAKE = 0x0, AISS_WAITING_FOR_THREAT = 0x1, AISS_WAITING_FOR_PVS = 0x2, AISS_WAITING_FOR_INPUT = 0x3, AISS_AUTO_PVS = 0x4, AISS_AUTO_PVS_AFTER_PVS = 0x5, }; // Alignment: 4 // Size: 0x8 enum class NPC_STATE : uint32_t { NPC_STATE_INVALID = 0xffffffffffffffff, NPC_STATE_NONE = 0x0, NPC_STATE_IDLE = 0x1, NPC_STATE_ALERT = 0x2, NPC_STATE_COMBAT = 0x3, NPC_STATE_SCRIPT = 0x4, NPC_STATE_DEAD = 0x5, NUM_NPC_STATES = 0x6, }; // Alignment: 4 // Size: 0x7 enum class Flinch_DamageClasses_t : uint32_t { AGE_DMG_INVALID = 0xffffffffffffffff, AGE_DMG_LIGHT = 0x0, AGE_DMG_HEAVY = 0x1, AGE_DMG_BLAST = 0x2, AGE_DMG_PHYSICS = 0x3, AGE_DMG_MELEE = 0x4, AGE_DMG_SHOCK = 0x5, }; // Alignment: 4 // Size: 0x2 enum class CAI_GoalEntity__SearchType_t : uint32_t { ST_ENTNAME = 0x0, ST_CLASSNAME = 0x1, }; // Alignment: 4 // Size: 0x3f enum class Hint_e : uint32_t { HINT_ANY = 0xffffffffffffffff, HINT_NONE = 0x0, HINT_NOT_USED_WORLD_DOOR = 0x1, HINT_WORLD_WINDOW = 0x2, HINT_NOT_USED_WORLD_BUTTON = 0x3, HINT_NOT_USED_WORLD_MACHINERY = 0x4, HINT_NOT_USED_WORLD_LEDGE = 0x5, HINT_NOT_USED_WORLD_LIGHT_SOURCE = 0x6, HINT_NOT_USED_WORLD_HEAT_SOURCE = 0x7, HINT_NOT_USED_WORLD_BLINKING_LIGHT = 0x8, HINT_NOT_USED_WORLD_BRIGHT_COLORS = 0x9, HINT_NOT_USED_WORLD_HUMAN_BLOOD = 0xa, HINT_NOT_USED_WORLD_ALIEN_BLOOD = 0xb, HINT_WORLD_WORK_POSITION = 0xc, HINT_WORLD_VISUALLY_INTERESTING = 0xd, HINT_WORLD_VISUALLY_INTERESTING_DONT_AIM = 0xe, HINT_WORLD_INHIBIT_COMBINE_MINES = 0xf, HINT_WORLD_VISUALLY_INTERESTING_STEALTH = 0x10, HINT_GENERIC = 0x11, HINT_TACTICAL_COVER_MED = 0x64, HINT_TACTICAL_COVER_LOW = 0x65, HINT_TACTICAL_HIDE = 0x66, HINT_TACTICAL_PINCH = 0x67, HINT_TACTICAL_SENTRY = 0x68, HINT_TACTICAL_ENEMY_DISADVANTAGED = 0x69, HINT_NOT_USED_HEALTH_KIT = 0x6a, HINT_TACTICAL_HIGH_GROUND = 0x6b, HINT_TACTICAL_WALL_COVER_LEFT = 0x6c, HINT_TACTICAL_WALL_COVER_RIGHT = 0x6d, HINT_TACTICAL_WALL_COVER_BOTH = 0x6e, HINT_NOT_USED_URBAN_STREETCORNER = 0xc8, HINT_NOT_USED_URBAN_STREETLAMP = 0xc9, HINT_NOT_USED_URBAN_DARK_SPOT = 0xca, HINT_NOT_USED_URBAN_POSTER = 0xcb, HINT_NOT_USED_URBAN_SHELTER = 0xcc, HINT_NOT_USED_ASSASSIN_SECLUDED = 0x12c, HINT_NOT_USED_ASSASSIN_RAFTERS = 0x12d, HINT_NOT_USED_ASSASSIN_GROUND = 0x12e, HINT_NOT_USED_ASSASSIN_MONKEYBARS = 0x12f, HINT_ANTLION_BURROW_POINT = 0x190, HINT_ANTLION_THUMPER_FLEE_POINT = 0x191, HINT_HEADCRAB_BURROW_POINT = 0x1c2, HINT_HEADCRAB_EXIT_POD_POINT = 0x1c3, HINT_NOT_USED_ROLLER_PATROL_POINT = 0x1f4, HINT_NOT_USED_ROLLER_CLEANUP_POINT = 0x1f5, HINT_NOT_USED_PSTORM_ROCK_SPAWN = 0x258, HINT_CROW_FLYTO_POINT = 0x2bc, HINT_BUG_PATROL_POINT = 0x320, HINT_FOLLOW_WAIT_POINT = 0x384, HINT_JUMP_OVERRIDE = 0x385, HINT_PLAYER_SQUAD_TRANSITON_POINT = 0x386, HINT_NPC_EXIT_POINT = 0x387, HINT_STRIDER_NODE = 0x388, HINT_PLAYER_ALLY_MOVE_AWAY_DEST = 0x3b6, HINT_PLAYER_ALLY_FEAR_DEST = 0x3b7, HINT_CSTRIKE_HOSTAGE_ESCAPE = 0x44c, HINT_COMBINE_FALLBACK = 0x578, HINT_COMBINE_SIGNAL = 0x579, HINT_AGENT_WORK = 0x5dc, HINT_INSTIGATOR_LURK = 0x640, HINT_FLYGUY_JUMP = 0x6a4, HINT_HOLDOUT_DEFENSIVE_POSITION = 0x708, HINT_HOLDOUT_AMMO_RESUPPLY = 0x709, }; // Alignment: 4 // Size: 0x3 enum class HintIgnoreFacing_t : uint32_t { HIF_NO = 0x0, HIF_YES = 0x1, HIF_DEFAULT = 0x2, }; // Alignment: 4 // Size: 0x7 enum class GoalType_t : uint32_t { GOALTYPE_NONE = 0x0, GOALTYPE_ENTITY = 0x1, GOALTYPE_PATHCORNER = 0x2, GOALTYPE_LOCATION = 0x3, GOALTYPE_COVER = 0x4, GOALTYPE_LOS = 0x5, GOALTYPE_INVALID = 0x6, }; // Alignment: 4 // Size: 0x2 enum class EAIScheduleFlags : uint32_t { SCHEDULE_FLAGS_NONE = 0x0, SCHEDULE_FLAGS_ABILITY = 0x1, }; // Alignment: 4 // Size: 0xb enum class SquadSlotId_t : uint32_t { SQUAD_SLOT_NONE = 0xffffffffffffffff, SQUAD_SLOT_ATTACK1 = 0x0, SQUAD_SLOT_ATTACK2 = 0x1, SQUAD_SLOT_ATTACK3 = 0x2, SQUAD_SLOT_INVESTIGATE_SOUND = 0x3, SQUAD_SLOT_EXCLUSIVE_HANDSIGN = 0x4, SQUAD_SLOT_EXCLUSIVE_RELOAD = 0x5, SQUAD_SLOT_PICKUP_WEAPON1 = 0x6, SQUAD_SLOT_PICKUP_WEAPON2 = 0x7, SQUAD_SLOT_SPECIAL_ATTACK = 0x8, SQUAD_SLOT_COUNT = 0x9, }; // Alignment: 4 // Size: 0x5 enum class TaskStatus_e : uint32_t { TASKSTATUS_NEW = 0x0, TASKSTATUS_RUN_MOVE_AND_TASK = 0x1, TASKSTATUS_RUN_MOVE = 0x2, TASKSTATUS_RUN_TASK = 0x3, TASKSTATUS_COMPLETE = 0x4, }; // Alignment: 4 // Size: 0x3 enum class CBaseNPCMaker__ThreeStateYesNo_t : uint32_t { TS_YN_YES = 0x0, TS_YN_NO = 0x1, TS_YN_DONT_CARE = 0x2, }; // Alignment: 4 // Size: 0x3 enum class CBaseNPCMaker__ThreeStateDist_t : uint32_t { TS_DIST_NEAREST = 0x0, TS_DIST_FARTHEST = 0x1, TS_DIST_DONT_CARE = 0x2, }; // Alignment: 4 // Size: 0x2 enum class TestHullMode_t : uint32_t { TEST_HULL_EVER_PASSABLE = 0x0, TEST_HULL_CURRENTLY_PASSABLE = 0x1, }; // Alignment: 4 // Size: 0x4 enum class NPCAbilityCategory_t : uint32_t { NPC_ABILITY_CATEGORY_INVALID = 0xffffffffffffffff, NPC_ABILITY_CATEGORY_RANGED = 0x0, NPC_ABILITY_CATEGORY_MELEE = 0x1, NPC_ABILITY_CATEGORY_OTHER = 0x2, }; // Alignment: 4 // Size: 0x2 enum class NPCAbilityUsageQuery_t : uint32_t { NPC_ABILITY_ONLY_BEING_PERFORMED = 0x0, NPC_ABILITY_PERFORMING_OR_RESOLUTION = 0x1, }; // Alignment: 4 // Size: 0x4 enum class TargetOriginType_t : uint32_t { eTargetOriginType_AbsOrigin = 0x0, eTargetOriginType_PredictedAbsOrigin = 0x1, eTargetOriginType_LastKnownPosition = 0x2, eTargetOriginType_LastSeenPosition = 0x3, }; // Alignment: 4 // Size: 0x2 enum class AbilityPathType_t : uint32_t { eAbilityPathType_None = 0x0, eAbilityPathType_Target = 0x1, }; // Alignment: 4 // Size: 0x5 enum class AbilityPickupBehaviorType_t : uint32_t { eAbilityPickupBehavior_GrantDroppedAmmo = 0x0, eAbilityPickupBehavior_GrantSpecifiedAmmo = 0x1, eAbilityPickupBehavior_GrantDroppedNPCAbility = 0x2, eAbilityPickupBehavior_GrantSpecifiedNPCAbility = 0x3, eAbilityPickupBehavior_GrantPlayerWeapon = 0x4, }; // Alignment: 4 // Size: 0x3 enum class AbilityDropBehaviorType_t : uint32_t { eAbilityDropBehavior_AddIntAttributeToAbilityModel = 0x0, eAbilityDropBehavior_CreateEntityBySubclass = 0x1, eAbilityDropBehavior_SetGravityScale = 0x2, }; // Alignment: 4 // Size: 0x7 enum class BodyLocations_t : uint32_t { BODYLOC_INVALID = 0xffffffffffffffff, BODYLOC_EYES = 0x0, BODYLOC_MUZZLE = 0x1, BODYLOC_ABSORIGIN = 0x2, BODYLOC_BODYTARGET = 0x3, BODYLOC_HEADTARGET = 0x4, NUM_BODYLOCS = 0x5, }; // Alignment: 4 // Size: 0x4 enum class BodyLocationAnimgraphAttachments_t : uint32_t { BODYLOC_PITCH_MIDDLE = 0x0, BODYLOC_PITCH_DOWN = 0x1, BODYLOC_PITCH_UP = 0x2, NUM_BODYLOC_PITCH = 0x3, }; // Alignment: 4 // Size: 0x1 enum class PoseParameter_t : uint32_t { POSE_END = 0x7fffffff, }; // Alignment: 4 // Size: 0x1 enum class FlexWeight_t : uint32_t { FLEX_END = 0x7fffffff, }; // Alignment: 4 // Size: 0x4 enum class ActorClasses_t : uint32_t { ACTOR_CLASS_DEFAULT = 0x0, ACTOR_CLASS_ALYX = 0x0, ACTOR_CLASS_CITIZEN = 0x1, ACTOR_CLASS_COUNT = 0x2, }; // Alignment: 4 // Size: 0x4 enum class Interruptability_t : uint32_t { GENERAL_INTERRUPTABILITY = 0x0, DAMAGEORDEATH_INTERRUPTABILITY = 0x1, DEATH_INTERRUPTABILITY = 0x2, COMBAT_INTERRUPTABILITY = 0x3, }; // Alignment: 4 // Size: 0x2 enum class RagdollBlendDirection : uint32_t { RAGDOLL_BLEND_IN = 0x0, RAGDOLL_BLEND_OUT = 0x1, }; // Alignment: 4 // Size: 0x4 enum class Flinch_Direction_t : uint32_t { FLINCH_DIR_NORTH = 0x0, FLINCH_DIR_EAST = 0x1, FLINCH_DIR_SOUTH = 0x2, FLINCH_DIR_WEST = 0x3, }; // Alignment: 4 // Size: 0x3 enum class Flinch_Displacement_t : uint32_t { FLINCH_DISP_STATIONARY = 0x0, FLINCH_DISP_SMALL = 0x1, FLINCH_DISP_LARGE = 0x2, }; // Alignment: 4 // Size: 0x4 enum class DesiredWeaponState_t : uint32_t { DESIREDWEAPONSTATE_IGNORE = 0x0, DESIREDWEAPONSTATE_HOLSTERED = 0x1, DESIREDWEAPONSTATE_HOLSTERED_DESTROYED = 0x2, DESIREDWEAPONSTATE_UNHOLSTERED = 0x3, }; // Alignment: 4 // Size: 0x4 enum class InternalWeaponState_t : uint32_t { INTERNALWEAPONSTATE_HOLSTERED = 0x0, INTERNALWEAPONSTATE_UNHOLSTERED = 0x1, INTERNALWEAPONSTATE_CHANGING = 0x2, INTERNALWEAPONSTATE_CHANGING_DESTROY = 0x3, }; // Alignment: 4 // Size: 0x4 enum class WeaponStateMode_t : uint32_t { WSM_AI = 0x0, WSM_FORCED_HOLSTERED = 0x1, WSM_FORCED_UNHOLSTERED = 0x2, WSM_FORCED_HOLSTERED_DESTROY = 0x3, }; // Alignment: 4 // Size: 0x4 enum class CAI_TrackPather__PauseState_t : uint32_t { PAUSE_NO_PAUSE = 0x0, PAUSED_AT_POSITION = 0x1, PAUSE_AT_NEXT_LOS_POSITION = 0x2, PAUSE_FORCE_DWORD = 0xffffffffffffffff, }; // Alignment: 4 // Size: 0x6 enum class CAI_StandoffGoal__Aggressiveness_t : uint32_t { AGGR_VERY_LOW = 0x0, AGGR_LOW = 0x1, AGGR_MEDIUM = 0x2, AGGR_HIGH = 0x3, AGGR_VERY_HIGH = 0x4, AGGR_CUSTOM = 0x5, }; // Alignment: 4 // Size: 0x3 enum class AI_HintChangeReaction_t : uint32_t { AIHCR_DEFAULT_AI = 0x0, AIHCR_MOVE_ON_COVER = 0x1, AIHCR_MOVE_IMMEDIATE = 0x2, }; // Alignment: 4 // Size: 0x4 enum class AI_Posture_t : uint32_t { AIP_INDIFFERENT = 0x0, AIP_STANDING = 0x1, AIP_CROUCHING = 0x2, AIP_PEEKING = 0x3, }; // Alignment: 4 // Size: 0x2 enum class ScriptedMovementType_t : uint32_t { SCRIPT_WALK = 0x0, SCRIPT_RUN = 0x1, }; // Alignment: 4 // Size: 0x3 enum class NPCAbilityTaskPhase_t : uint32_t { TASK_PRE_ATTACK = 0x0, TASK_ATTACK = 0x1, TASK_POST_ATTACK = 0x2, }; // Alignment: 4 // Size: 0x3 enum class NPCAbilityTaskHandling_t : uint32_t { TASK_START = 0x0, TASK_RUN = 0x1, TASK_END = 0x2, }; // Alignment: 4 // Size: 0x4 enum class NPCAbilityLOSMethod_t : uint32_t { NPC_ABILITY_LOS_IGNORE = 0x0, NPC_ABILITY_LOS_USE_DEFAULT = 0x1, NPC_ABILITY_LOS_CUSTOM = 0x2, NPC_ABILITY_LOS_TEST_FRIENDLIES_ONLY = 0x3, }; // Alignment: 4 // Size: 0x2 enum class GatherConditionsResult_t : uint32_t { GATHER_CONDITIONS_CANNOT_USE_ABILITY = 0x0, GATHER_CONDITIONS_CAN_USE_ABILITY = 0x1, }; // Alignment: 4 // Size: 0xb enum class NPCAbilitySound_t : uint32_t { NPC_ABILITY_SOUND_EMPTY = 0x0, NPC_ABILITY_SOUND_SINGLE = 0x1, NPC_ABILITY_SOUND_RELOAD = 0x2, NPC_ABILITY_SOUND_MELEE_HIT = 0x3, NPC_ABILITY_SOUND_MELEE_HIT_WORLD = 0x4, NPC_ABILITY_SOUND_MELEE_HIT_PLAYER = 0x5, NPC_ABILITY_SOUND_SPECIAL1 = 0x6, NPC_ABILITY_SOUND_ANNOUNCE = 0x7, NPC_ABILITY_SOUND_TARGET_REACQUIRE = 0x8, NPC_ABILITY_SOUND_INTERRUPT = 0x9, NPC_ABILITY_SOUND_NUM_TYPES = 0xa, }; // Alignment: 4 // Size: 0x2 enum class ENPCAbilityMeleeAttackEvaluationTest : uint32_t { NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_HULL = 0x0, NPC_ABILITY_MELEE_ATTACK_EVAL_TEST_LOS = 0x1, }; // Alignment: 4 // Size: 0x4 enum class ModifierRemoveTargets_t : uint32_t { MODIFIER_REMOVE_ALL = 0x0, MODIFIER_REMOVE_ENEMY = 0x1, MODIFIER_REMOVE_ALLY = 0x2, MODIFIER_REMOVE_INTRINSIC = 0x3, }; // Alignment: 4 // Size: 0x8 enum class ModifierAttribute_t : uint32_t { MODIFIER_ATTRIBUTE_NONE = 0x0, MODIFIER_ATTRIBUTE_PERMANENT = 0x1, MODIFIER_ATTRIBUTE_MULTIPLE = 0x2, MODIFIER_ATTRIBUTE_IGNORE_INVULNERABLE = 0x4, MODIFIER_ATTRIBUTE_AURA_PRIORITY = 0x8, MODIFIER_ATTRIBUTE_CANNOT_BE_PURGED = 0x10, MODIFIER_ATTRIBUTE_INTRINSIC = 0x20, MODIFIER_ATTRIBUTE_TRANSFER_TO_RAGDOLL = 0x40, }; // Alignment: 4 // Size: 0x5 enum class ModifierDisableGroup_t : uint32_t { MODIFIER_DISABLE_GROUP_MIN = 0x0, MODIFIER_DISABLE_GROUP_ACTIVE_WEAPON = 0x1, MODIFIER_DISABLE_GROUP_TIME_LOCKED = 0x2, MODIFIER_DISABLE_GROUP_MAX_BIT = 0x1, MODIFIER_DISABLE_GROUP_MAX = 0x2, }; // Alignment: 4 // Size: 0x3 enum class EModifierScriptVariantType : uint32_t { MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT = 0x0, MODIFIER_SCRIPT_VARIANT_MODEL = 0x1, MODIFIER_SCRIPT_VARIANT_PARTICLE = 0x2, }; // Alignment: 4 // Size: 0x4 enum class ModifierSoundRecipients_t : uint32_t { MODIFIER_SOUND_RECIPIENT_ALWAYS = 0x0, MODIFIER_SOUND_RECIPIENT_PARENT_IS_LOCAL_PLAYER = 0x1, MODIFIER_SOUND_RECIPIENT_PARENT_ON_SAME_TEAM_AS_LOCAL_PLAYER = 0x2, MODIFIER_SOUND_RECIPIENT_PARENT_ON_OPPOSITE_TEAM_AS_LOCAL_PLAYER = 0x3, }; // Alignment: 4 // Size: 0x3 enum class ModifierDebuffType_t : uint32_t { MODIFIER_DEBUFF_ENEMY_TEAM_ONLY = 0x0, MODIFIER_DEBUFF_YES = 0x1, MODIFIER_DEBUFF_NO = 0x2, }; // Alignment: 4 // Size: 0x12 enum class EModifierValue : uint32_t { MODIFIER_VALUE_MATERIAL_OVERRIDE = 0x0, MODIFIER_VALUE_PROC_BUILDUP_PERCENTAGE = 0x1, MODIFIER_VALUE_INCOMING_DAMAGE_PERCENTAGE = 0x2, MODIFIER_VALUE_OUTGOING_DAMAGE_PERCENTAGE = 0x3, MODIFIER_VALUE_ABILITY_MIN_BURST_SIZE_CONSTANT = 0x4, MODIFIER_VALUE_ABILITY_MAX_BURST_SIZE_CONSTANT = 0x5, MODIFIER_VALUE_ABILITY_POST_USE_MIN_ATTACK_DELAY_CONSTANT = 0x6, MODIFIER_VALUE_ABILITY_POST_USE_MAX_ATTACK_DELAY_CONSTANT = 0x7, MODIFIER_VALUE_ABILITY_SPREAD_X_BASE_OVERRIDE = 0x8, MODIFIER_VALUE_ABILITY_SPREAD_Y_BASE_OVERRIDE = 0x9, MODIFIER_VALUE_ABILITY_SPREAD_Z_BASE_OVERRIDE = 0xa, MODIFIER_VALUE_ABILITY_SPREAD_MULTIPLIER = 0xb, MODIFIER_VALUE_MOVESPEED_BASE_OVERRIDE = 0xc, MODIFIER_VALUE_MOVESPEED_PERCENTAGE = 0xd, MODIFIER_VALUE_GRAVITY_SCALE = 0xe, MODIFIER_VALUE_MOUSE_SENSITIVITY_PERCENTAGE = 0xf, MODIFIER_VALUE_COUNT = 0x10, MODIFIER_VALUE_INVALID = 0xff, }; // Alignment: 4 // Size: 0x11 enum class EModifierEvent : uint32_t { MODIFIER_EVENT_PRE_DAMAGE_TAKEN_BROADCAST = 0x0, MODIFIER_EVENT_DAMAGE_TAKEN_BROADCAST = 0x1, MODIFIER_EVENT_HEALTH_TAKEN_BROADCAST = 0x2, MODIFIER_EVENT_PLAYER_DUMMY_BROADCAST = 0x3, MODIFIER_EVENT_BROADCAST_EVENT_COUNT = 0x4, MODIFIER_EVENT_MODIFIER_GAINED = 0x4, MODIFIER_EVENT_MODIFIER_LOST = 0x5, MODIFIER_EVENT_SCRIPTED_EVENT = 0x6, MODIFIER_EVENT_PRE_DAMAGE_TAKEN = 0x7, MODIFIER_EVENT_DAMAGE_TAKEN = 0x8, MODIFIER_EVENT_HEALTH_TAKEN = 0x9, MODIFIER_EVENT_PARENT_ACTIVATED = 0xa, MODIFIER_EVENT_ON_STUNNED = 0xb, MODIFIER_EVENT_ON_PLAYER_ACTIVE_WEAPON_CHANGED = 0xc, MODIFIER_EVENT_ON_PLAYER_USE = 0xd, MODIFIER_EVENT_COUNT = 0xe, MODIFIER_EVENT_INVALID = 0xff, }; // Alignment: 4 // Size: 0x3 enum class EModifierScriptedEvent : uint32_t { MODIFIER_SCRIPTED_EVENT_INVALID = 0x0, MODIFIER_SCRIPTED_EVENT_TEST = 0x1, MODIFIER_SCRIPTED_EVENT_COUNT = 0x2, }; // Alignment: 4 // Size: 0xb enum class EModifierState : uint32_t { MODIFIER_STATE_MATERIAL_OVERRIDE = 0x0, MODIFIER_STATE_INVULNERABLE = 0x1, MODIFIER_STATE_BLIND = 0x2, MODIFIER_STATE_INVISIBLE = 0x3, MODIFIER_STATE_STUNNED = 0x4, MODIFIER_STATE_IMMUNE_TO_STUN = 0x5, MODIFIER_STATE_ROOTED = 0x6, MODIFIER_STATE_DISARMED = 0x7, MODIFIER_STATE_RAGDOLL_DAMAGE = 0x8, MODIFIER_STATE_COUNT = 0x9, MODIFIER_STATE_INVALID = 0xff, }; // Alignment: 4 // Size: 0x5 enum class ModifierVariantType_t : uint32_t { Variant_Null = 0x0, Variant_Float = 0x1, Variant_String = 0x2, Variant_Entity = 0x3, Variant_Vector = 0x4, }; // Alignment: 4 // Size: 0x5 enum class EModifierPriority : uint32_t { MODIFIER_PRIORITY_LOW = 0x0, MODIFIER_PRIORITY_NORMAL = 0x1, MODIFIER_PRIORITY_HIGH = 0x2, MODIFIER_PRIORITY_ULTRA = 0x3, MODIFIER_PRIORITY_SUPER_ULTRA = 0x4, }; // Alignment: 4 // Size: 0x8 enum class eDryEraseMarkerType : uint32_t { k_DRY_ERASE_MARKER_ROUND_TIP = 0x0, k_DRY_ERASE_MARKER_CHISEL_TIP = 0x1, k_DRY_ERASE_MARKER_CHALK = 0x2, k_DRY_ERASE_MARKER_DIRTY = 0x3, k_DRY_ERASE_MARKER_DRIED_OUT = 0x4, k_DRY_ERASE_MARKER_ERASER = 0x5, k_DRY_ERASE_MARKER_HAND_ERASER = 0x6, k_DRY_ERASE_MARKER_COUNT = 0x7, }; // Alignment: 4 // Size: 0x4 enum class Steampal_TurretType_t : uint32_t { STEAMPAL_TURRETTYPE_BADTURRET = 0x0, STEAMPAL_TURRETTYPE_GOODTURRET = 0x1, STEAMPAL_TURRETTYPE_ACTUALTURRET = 0x2, STEAMPAL_TURRETTYPE_INTROTURRET = 0x3, }; // Alignment: 4 // Size: 0x3 enum class CSteamPal_Intro_Toilet__TestState_t : uint32_t { TEST_UNTESTED = 0x0, TEST_PASS = 0x1, TEST_FAIL = 0x2, }; // Alignment: 4 // Size: 0x8 enum class SteampalUltraToiletGunType_t : uint32_t { ULTRA_GUN_MINIGUN = 0x0, ULTRA_GUN_AAGUN_L1 = 0x1, ULTRA_GUN_AAGUN_L2 = 0x2, ULTRA_GUN_AAGUN_R1 = 0x3, ULTRA_GUN_AAGUN_R2 = 0x4, ULTRA_GUN_SMG = 0x5, ULTRA_GUN_ROCKET = 0x6, ULTRA_GUN_TYPE_COUNT = 0x7, }; // Alignment: 4 // Size: 0x8 enum class SteampalUltraToiletAttachedModel_t : uint32_t { ULTRA_ATTACHMENT_AAGUN_L = 0x0, ULTRA_ATTACHMENT_AAGUN_R = 0x1, ULTRA_ATTACHMENT_MINIGUN = 0x2, ULTRA_ATTACHMENT_SMG = 0x3, ULTRA_ATTACHMENT_QUAD_ROCKET_L = 0x4, ULTRA_ATTACHMENT_QUAD_ROCKET_R = 0x5, ULTRA_ATTACHMENT_RADAR = 0x6, ULTRA_ATTACHED_MODEL_COUNT = 0x7, }; // Alignment: 4 // Size: 0x3 enum class CSteamPalConveyorEntitySpawner__SpawnOrder_t : uint32_t { SPAWN_ORDER_SEQUENTIAL = 0x0, SPAWN_ORDER_RANDOM = 0x1, SPAWN_ORDER_RANDOM_SHUFFLE = 0x2, }; // Alignment: 4 // Size: 0xd enum class DeskButtonGroups_t : uint32_t { DESK_BUTTON_GROUP_BUMPERS = 0x0, DESK_BUTTON_GROUP_DPAD = 0x1, DESK_BUTTON_GROUP_MICS = 0x2, DESK_BUTTON_GROUP_PADDLES = 0x3, DESK_BUTTON_GROUP_STICK_L = 0x4, DESK_BUTTON_GROUP_STICK_R = 0x5, DESK_BUTTON_GROUP_TRACKPADS = 0x6, DESK_BUTTON_GROUP_TRACKBALLS = 0x7, DESK_BUTTON_GROUP_TRIGGER_L = 0x8, DESK_BUTTON_GROUP_TRIGGER_R = 0x9, DESK_BUTTON_GROUP_XYAB = 0xa, DESK_BUTTON_GROUP_TOUCHSCREEN = 0xb, DESK_BUTTON_GROUP_COUNT = 0xc, }; // Alignment: 4 // Size: 0x3 enum class DeskDeployButtonGroups_t : uint32_t { DESK_DEPLOY_BUTTON_GROUP_MICS = 0x0, DESK_DEPLOY_BUTTON_GROUP_STICKS = 0x1, DESK_DEPLOY_BUTTON_GROUP_COUNT = 0x2, }; // Alignment: 4 // Size: 0xb enum class DeskState_t : uint32_t { DESK_STATE_NONE = 0x0, DESK_STATE_ALL_BUTTONS = 0x1, DESK_STATE_BUTTONS_EMPTY = 0x2, DESK_STATE_BUTTONS_DISCOVERY = 0x3, DESK_STATE_BUTTONS_TOILET_CALIBRATION = 0x4, DESK_STATE_BUTTONS_TURRET_INTRO = 0x5, DESK_STATE_BUTTONS_PRISON = 0x6, DESK_STATE_BUTTONS_SHOOTING_GALLERY = 0x7, DESK_STATE_BUTTONS_ASCENT = 0x8, DESK_STATE_BUTTONS_CAVE_OFFICE = 0x9, DESK_STATE_BUTTONS_TOILET_OUTRO = 0xa, }; // Alignment: 4 // Size: 0x3 enum class SteamPalPaintType : uint32_t { STEAMPAL_PAINT_BOUNCE = 0x0, STEAMPAL_PAINT_SPEED = 0x1, STEAMPAL_PAINT_POWER_TYPE_COUNT = 0x2, }; // Alignment: 4 // Size: 0x6 enum class SteamPal_Projectile_Tag_Marker_Type_t : uint32_t { STEAMPAL_PROJECTILE_TAG_MARKER_WORLD = 0x0, STEAMPAL_PROJECTILE_TAG_MARKER_NPC = 0x1, STEAMPAL_PROJECTILE_TAG_MARKER_PHYSICS_PROP = 0x2, STEAMPAL_PROJECTILE_TAG_MARKER_RAGDOLL = 0x3, STEAMPAL_PROJECTILE_TAG_MARKER_BASE_ANIMATING = 0x4, STEAMPAL_PROJECTILE_TAG_MARKER_TYPE_COUNT = 0x5, }; // Alignment: 4 // Size: 0x6 enum class ApplianceWeaponState : uint32_t { APPLIANCE_WEAPON_CLOSED = 0x0, APPLIANCE_WEAPON_OPENING = 0x1, APPLIANCE_WEAPON_READY_TO_ATTACK = 0x2, APPLIANCE_WEAPON_ATTACKING = 0x3, APPLIANCE_WEAPON_STUNNED = 0x4, APPLIANCE_WEAPON_CLOSING = 0x5, }; // Alignment: 4 // Size: 0x9 enum class AttachType_t : uint32_t { ATTACH_TYPE_NONE = 0xffffffffffffffff, ATTACH_TYPE_RIGID = 0x0, ATTACH_TYPE_SOFT = 0x1, ATTACH_TYPE_LOOSE = 0x2, ATTACH_TYPE_HOVER = 0x3, ATTACH_TYPE_RAGDOLL = 0x4, ATTACH_TYPE_RAGDOLL_LARGE_CREATURE = 0x5, ATTACH_TYPE_RAGDOLL_LARGE = 0x6, ATTACH_TYPE_LOCKED = 0x7, }; // Alignment: 4 // Size: 0x13 enum class NavAttributeEnum : uint32_t { NAV_MESH_AVOID = 0x80, NAV_MESH_STAIRS = 0x1000, NAV_MESH_NON_ZUP = 0x8000, NAV_MESH_SHORT_HEIGHT = 0x10000, NAV_MESH_CROUCH = 0x10000, NAV_MESH_JUMP = 0x2, NAV_MESH_PRECISE = 0x4, NAV_MESH_NO_JUMP = 0x8, NAV_MESH_STOP = 0x10, NAV_MESH_RUN = 0x20, NAV_MESH_WALK = 0x40, NAV_MESH_TRANSIENT = 0x100, NAV_MESH_DONT_HIDE = 0x200, NAV_MESH_STAND = 0x400, NAV_MESH_NO_HOSTAGES = 0x800, NAV_MESH_NO_MERGE = 0x2000, NAV_MESH_OBSTACLE_TOP = 0x4000, NAV_ATTR_FIRST_GAME_INDEX = 0x13, NAV_ATTR_LAST_INDEX = 0x1f, }; // Alignment: 4 // Size: 0x5 enum class NavDirType : uint32_t { NORTH = 0x0, EAST = 0x1, SOUTH = 0x2, WEST = 0x3, NUM_DIRECTIONS = 0x4, }; struct CSkillFloat; struct CNetworkVarChainer; struct fogplayerparams_t; struct audioparams_t; struct CRangeInt; struct CRangeFloat; struct CNetworkedSequenceOperation; struct CBaseAnimatingEasingFloat_t; struct ModelConfigHandle_t; struct CEntityInstance; struct CGameSceneNode; struct CGameSceneNodeHandle; struct CNetworkOriginCellCoordQuantizedVector; struct CSkeletonInstance; struct HSequence; struct CModelState; struct CNetworkedIKContext; struct ResponseFollowup; struct ResponseParams; struct CRR_Response; struct CBaseFlex; struct CResponseCriteriaSet; struct CSoundEnvelope; struct CCopyRecipientFilter; struct CFourWheelServerVehicle; struct vehicle_controlparams_t; struct VelocitySampler; struct SimpleConstraintSoundProfile; struct ParticleIndex_t; struct AttachmentHandle_t; struct VPhysicsCollisionAttribute_t; struct CEntityIOOutput; struct fogparams_t; struct CBaseAnimatingController; struct AmmoIndex_t; struct CTakeDamageInfo; struct CTakeDamageResult; struct CBaseAnimating; struct ViewLockData_t; struct CFootstepTableHandle; struct CSkillInt; struct CAI_BehaviorBase; struct CAI_DefaultNPC; struct AIScheduleState_t; struct CSimTimer; struct CAI_MoveMonitor; struct AI_FreePassParams_t; struct ChangeAccessorFieldPathIndex_t; struct ConditionId_t; struct AbilityLOSResult_t; struct CAI_ScheduleBits; struct AWS_AbilityUsageData_t; struct NPCAbilityTarget_t; struct BodyLocationListVData_t; struct CSimpleSimTimer; struct CRandStopwatch; struct CRandSimTimer; struct AI_StandoffParams_t; struct CSkillDamage; struct CModifierLevelFloat; struct ModifierSerialNumber_t; struct CModifierHandleBase; struct ModifierQueuedRefreshHandle_t; struct ModifierRuntimeHandle_t; struct ModifierPropRuntimeHandle_t; struct CSteamPal_Turret_Wing_t; struct CSteamPal_Ultra_Toilet_Gun_VData_t; struct CEntityIdentity; struct CScriptComponent; struct CAnimGraphNetworkedVariables; struct CSequenceTransitioner2; struct CBaseAnimatingOverlayController; struct CBodyComponent; struct CNetworkTransmitComponent; struct CNetworkVelocityVector; struct CCollisionProperty; struct CModifierProperty; struct CountdownTimer; struct sky3dparams_t; struct CSkyCamera; struct CBaseEntity; struct vehiclesounds_t; struct ragdoll_t; struct LastIncomingHit_t; struct HintNodeData; struct HullFlags_t; struct CAI_ProxTester; struct HitscanGatherData_t; struct ModifierTrackedParticle_t; struct ModifierRenderAttribute_t; struct ModifierTrackedGraphParameter_t; struct ModifierTrackedSound_t; struct ModifierTrackedBodyGroup_t; struct CSteamPalGameRules; struct CPointCamera; struct CRenderComponent; struct CGlowProperty; struct CNetworkViewOffsetVector; struct CEnvWindShared; struct CPhysicsShake; struct hudtextparms_t; struct CPathKeyFrame; struct CConstantForceController; struct CMotorController; struct ConstraintSoundInfo; struct constraint_hingeparams_t; struct CPhysicsNPCSolver; struct dynpitchvol_t; struct locksound_t; struct CPathTrack; struct CBuoyancyHelper; struct ViewSmoothingData_t; struct CLightComponent; struct CHitboxComponent; struct PhysicsRagdollPose_t; struct IChoreoServices; struct CBaseAnimatingEasings_t; struct CFuncTrackTrain; struct CSprite; struct CThrustController; struct CFourWheelVehiclePhysics; struct shard_model_desc_t; struct CAI_Expresser; struct CAI_BehaviorHost; struct CAI_EnemyServices; struct CAI_AnimGraphServices; struct CAI_Scheduler; struct CAI_DynamicInteractions; struct CAI_StanceServices; struct CAI_AbilityServices; struct CFlightComponent; struct CAI_FreePass; struct CPlayer_WeaponServices; struct CPlayer_ItemServices; struct CPlayer_VehicleServices; struct CPlayer_AutoaimServices; struct CPlayer_ObserverServices; struct CPlayer_WaterServices; struct CPlayer_UseServices; struct CPlayer_FlashlightServices; struct CPlayer_CameraServices; struct CPlayer_MovementServices; // Alignment: 1 // Size: 0x1a0 class CNetworkTransmitComponent { public: uint8_t m_nTransmitStateOwnedCounter; // 0x16c static int32_t &Get_s_nWatchTransmitEntity(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[0]->m_instance);}; static bool &Get_s_bUseNetworkVars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[1]->m_instance);}; static bool &Get_s_bNetworkVarPerFieldTracking(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[2]->m_instance);}; static bool &Get_s_bNetworkVarValidate(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[3]->m_instance);}; static bool &Get_s_bUsingPVSConvars(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNetworkTransmitComponent")->m_static_fields[4]->m_instance);}; }; // Alignment: 0 // Size: 0x1 class CPhysicsComponent { public: uint8_t __pad0000[0x1]; // Autoaligned }; // Alignment: 1 // Size: 0x20 class CBuoyancyHelper { public: float m_flFluidDensity; // 0x18 }; // Alignment: 1 // Size: 0x10 class CSkillFloat { public: float m_pValue[4]; // 0x0 }; // Alignment: 1 // Size: 0x10 class CSkillInt { public: int32_t m_pValue[4]; // 0x0 }; // Alignment: 1 // Size: 0x10 class CModifierLevelFloat { public: float m_pValue[4]; // 0x0 }; // Alignment: 1 // Size: 0x10 class CModifierLevelInt { public: int32_t m_pValue[4]; // 0x0 }; // Alignment: 2 // Size: 0x14 class CSkillDamage { public: // MPropertyDescription "Damage Dealt (in the case of NPC vs NPC damage, medium skill is used)" CSkillFloat m_flDamage; // 0x0 // MPropertyDescription "If specified, the damage used to compute physics forces. Otherwise normal damage is used." float m_flPhysicsForceDamage; // 0x10 }; // Alignment: 2 // Size: 0xb8 class CScriptUniformRandomStream { public: HSCRIPT m_hScriptScope; // 0x8 private: [[maybe_unused]] uint8_t __pad0010[0xa0]; // 0x10 public: int32_t m_nInitialSeed; // 0xb0 static CUtlVector< CScriptUniformRandomStream* > &Get_sm_UniformStreams(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptUniformRandomStream")->m_static_fields[0]->m_instance);}; }; // Alignment: 12 // Size: 0x50 struct CommandToolCommand_t { public: bool m_bEnabled; // 0x0 bool m_bOpened; // 0x1 private: [[maybe_unused]] uint8_t __pad0002[0x2]; // 0x2 public: uint32_t m_InternalId; // 0x4 CUtlString m_ShortName; // 0x8 CommandExecMode_t m_ExecMode; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: CUtlString m_SpawnGroup; // 0x18 float m_PeriodicExecDelay; // 0x20 CommandEntitySpecType_t m_SpecType; // 0x24 CUtlString m_EntitySpec; // 0x28 CUtlString m_Commands; // 0x30 DebugOverlayBits_t m_SetDebugBits; // 0x38 DebugOverlayBits_t m_ClearDebugBits; // 0x40 }; // Alignment: 1 // Size: 0x30 class CPlayerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x8 }; // Alignment: 1 // Size: 0x30 class CPlayerControllerComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x8 }; // Alignment: 9 // Size: 0xc0 struct PlayerResourceData_t { public: // MNetworkEnable // MNetworkEncoder uint64_t m_iPlayerSteamID; // 0x20 // MNetworkEnable // MNetworkChangeCallback "OnPlayerNameChanged" char m_iszPlayerName[128]; // 0x28 // MNetworkEnable CHandle< CBasePlayerController > m_hPlayerController; // 0xa8 // MNetworkEnable CHandle< CBasePlayer > m_hPawn; // 0xac // MNetworkEnable bool m_bIsValid; // 0xb0 // MNetworkEnable bool m_bFakeClient; // 0xb1 // MNetworkEnable bool m_bIsBot; // 0xb2 private: [[maybe_unused]] uint8_t __pad00b3[0x1]; // 0xb3 public: // MNetworkEnable int32_t m_nConnectionState; // 0xb4 // MNetworkEnable int32_t m_iTeam; // 0xb8 }; // Alignment: 0 // Size: 0x30 class CPlayer_AutoaimServices : public CPlayerComponent { public: // No members available }; // Alignment: 4 // Size: 0x78 struct audioparams_t { public: // MNetworkEnable // MNetworkEncoder Vector localSound[8]; // 0x8 // MNetworkEnable int32_t soundscapeIndex; // 0x68 // MNetworkEnable uint8_t localBits; // 0x6c private: [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d public: // MNetworkEnable int32_t soundscapeEntityListIndex; // 0x70 }; // Alignment: 14 // Size: 0x40 struct fogplayerparams_t { public: // MNetworkEnable // MNetworkUserGroup "PlayerFogController" CHandle< CFogController > m_hCtrl; // 0x8 float m_flTransitionTime; // 0xc Color m_OldColor; // 0x10 float m_flOldStart; // 0x14 float m_flOldEnd; // 0x18 float m_flOldMaxDensity; // 0x1c float m_flOldHDRColorScale; // 0x20 float m_flOldFarZ; // 0x24 Color m_NewColor; // 0x28 float m_flNewStart; // 0x2c float m_flNewEnd; // 0x30 float m_flNewMaxDensity; // 0x34 float m_flNewHDRColorScale; // 0x38 float m_flNewFarZ; // 0x3c }; // Alignment: 0 // Size: 0x30 class CPlayer_FlashlightServices : public CPlayerComponent { public: // No members available }; // Alignment: 0 // Size: 0x30 class CPlayer_ItemServices : public CPlayerComponent { public: // No members available }; // Alignment: 16 // Size: 0x90 class CPlayer_MovementServices : public CPlayerComponent { public: float m_flStepSoundTime; // 0x30 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "17" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" float m_flFallVelocity; // 0x34 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "2048" // MNetworkEncodeFlags float m_flMaxspeed; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bDucked; // 0x3c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bDucking; // 0x3d // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" bool m_bInDuckJump; // 0x3e private: [[maybe_unused]] uint8_t __pad003f[0x1]; // 0x3f public: Vector m_groundNormal; // 0x40 float m_flSurfaceFriction; // 0x4c CUtlStringToken m_surfaceProps; // 0x50 private: [[maybe_unused]] uint8_t __pad0054[0xc]; // 0x54 public: int32_t m_nStepside; // 0x60 Vector m_vecPreviouslyPredictedOrigin; // 0x64 float m_flForwardMove; // 0x70 float m_flSideMove; // 0x74 float m_flUpMove; // 0x78 int32_t m_iTargetVolume; // 0x7c Vector m_vecSmoothedVelocity; // 0x80 }; // Alignment: 4 // Size: 0x40 class CPlayer_ObserverServices : public CPlayerComponent { public: // MNetworkEnable // MNetworkChangeCallback "OnObserverModeChanged" uint8_t m_iObserverMode; // 0x30 private: [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 public: // MNetworkEnable // MNetworkChangeCallback "OnObserverTargetChanged" CHandle< CBaseEntity > m_hObserverTarget; // 0x34 ObserverMode_t m_iObserverLastMode; // 0x38 bool m_bForcedObserverMode; // 0x3c }; // Alignment: 1 // Size: 0x38 class CPlayer_UseServices : public CPlayerComponent { public: // MNetworkEnable CHandle< CBaseEntity > m_hUseEntity; // 0x30 }; // Alignment: 6 // Size: 0x58 class CPlayer_VehicleServices : public CPlayerComponent { public: // MNetworkEnable CHandle< CBaseEntity > m_hVehicle; // 0x30 int32_t m_iVehicleAnalogBias; // 0x34 Vector m_vecVehicleViewOrigin; // 0x38 QAngle m_vecVehicleViewAngles; // 0x44 int32_t m_nVehicleViewSavedFrame; // 0x50 float m_flVehicleViewFOV; // 0x54 }; // Alignment: 8 // Size: 0x70 class CPlayer_WaterServices : public CPlayerComponent { public: // MNetworkEnable float m_AirFinishedTime; // 0x30 float m_flWaterJumpTime; // 0x34 Vector m_vecWaterJumpVel; // 0x38 float m_flSwimSoundTime; // 0x44 bool m_bPlayerUnderwater; // 0x48 private: [[maybe_unused]] uint8_t __pad0049[0x7]; // 0x49 public: CUtlVector< CHandle< CBaseEntity > > m_hWaterVols; // 0x50 float m_NextDrownDamageTime; // 0x68 int32_t m_nDrownDmgRate; // 0x6c }; // Alignment: 5 // Size: 0x98 class CPlayer_WeaponServices : public CPlayerComponent { public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBasePlayerWeapon > > m_hMyWeapons; // 0x30 // MNetworkEnable CHandle< CBasePlayerWeapon > m_hActiveWeapon; // 0x48 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CHandle< CBasePlayerWeapon > m_hLastWeapon; // 0x4c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" uint16_t m_iAmmo[32]; // 0x50 bool m_bPreventWeaponPickup; // 0x90 }; // Alignment: 1 // Size: 0x8 class CRangeFloat { public: float m_pValue[2]; // 0x0 }; // Alignment: 8 // Size: 0x40 class CNetworkedSequenceOperation { public: // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkChangeCallback "sequenceOpSequenceChanged" // MNetworkPriority "32" HSequence m_hSequence; // 0x8 // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" float m_flPrevCycle; // 0xc // MNetworkEnable // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkSendProxyRecipientsFilter // MNetworkUserGroup "m_flCycle" // MNetworkChangeCallback "sequenceOpCycleChanged" float m_flCycle; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags CNetworkedQuantizedFloat m_flWeight; // 0x18 // MNetworkDisable bool m_bSequenceChangeNetworked; // 0x30 // MNetworkDisable bool m_bDiscontinuity; // 0x31 private: [[maybe_unused]] uint8_t __pad0032[0x2]; // 0x32 public: // MNetworkDisable float m_flPrevCycleFromDiscontinuity; // 0x34 // MNetworkDisable float m_flPrevCycleForAnimEventDetection; // 0x38 }; // Alignment: 2 // Size: 0x30 struct CBaseAnimatingEasingFloat_t { public: // MNetworkEnable CUtlString m_GraphParameterName; // 0x8 private: [[maybe_unused]] uint8_t __pad0010[0x18]; // 0x10 public: // MNetworkEnable float m_flGoal; // 0x28 }; // Alignment: 1 // Size: 0x38 struct CBaseAnimatingEasings_t { public: // MNetworkEnable CBaseAnimatingEasingFloat_t m_IKMasterBlendAmountEasing; // 0x8 }; // Alignment: 2 // Size: 0x28 struct PhysicsRagdollPose_t { public: // MNetworkEnable // MNetworkChangeCallback "OnTransformChanged" CNetworkUtlVectorBase< CTransform > m_Transforms; // 0x8 bool m_bDirty; // 0x20 }; // Alignment: 1 // Size: 0x4 struct ModelConfigHandle_t { public: uint32_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 4 // Size: 0x58 struct ActiveModelConfig_t { public: // MNetworkEnable ModelConfigHandle_t m_Handle; // 0x18 private: [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: // MNetworkEnable CUtlSymbolLarge m_Name; // 0x20 // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_AssociatedEntities; // 0x28 // MNetworkEnable CNetworkUtlVectorBase< CUtlSymbolLarge > m_AssociatedEntityNames; // 0x40 }; // Alignment: 7 // Size: 0x68 class CNetworkOriginCellCoordQuantizedVector { public: // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellx" uint16_t m_cellX; // 0x18 // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "celly" uint16_t m_cellY; // 0x1a // MNetworkEnable // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "cellz" uint16_t m_cellZ; // 0x1c // MNetworkEnable uint16_t m_nOutsideWorld; // 0x1e // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posx" CNetworkedQuantizedFloat m_vecX; // 0x20 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posy" CNetworkedQuantizedFloat m_vecY; // 0x38 // MNetworkBitCount "15" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags // MNetworkChangeCallback "OnCellChanged" // MNetworkPriority "31" // MNetworkSerializer "posz" CNetworkedQuantizedFloat m_vecZ; // 0x50 }; // Alignment: 3 // Size: 0x60 class CNetworkOriginQuantizedVector { public: // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "19" // MNetworkMinValue "-16384" // MNetworkMaxValue "16384" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkOriginQuantizedVector" CNetworkedQuantizedFloat m_vecZ; // 0x48 }; // Alignment: 3 // Size: 0x60 class CNetworkVelocityVector { public: // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "18" // MNetworkMinValue "-4096" // MNetworkMaxValue "4096" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkVelocityVector" CNetworkedQuantizedFloat m_vecZ; // 0x48 }; // Alignment: 3 // Size: 0x60 class CNetworkViewOffsetVector { public: // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" CNetworkedQuantizedFloat m_vecX; // 0x18 // MNetworkBitCount "10" // MNetworkMinValue "-64" // MNetworkMaxValue "64" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" CNetworkedQuantizedFloat m_vecY; // 0x30 // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "128" // MNetworkEncodeFlags // MNetworkChangeCallback "CNetworkViewOffsetVector" CNetworkedQuantizedFloat m_vecZ; // 0x48 }; // Alignment: 2 // Size: 0x10 class CGameSceneNodeHandle { public: // MNetworkEnable CEntityHandle m_hOwner; // 0x8 // MNetworkEnable CUtlStringToken m_name; // 0xc }; // Alignment: 33 // Size: 0x160 class CGameSceneNode { public: // MNetworkDisable CTransform m_nodeToWorld; // 0x10 // MNetworkDisable CEntityInstance* m_pOwner; // 0x30 // MNetworkDisable CGameSceneNode* m_pParent; // 0x38 // MNetworkDisable CGameSceneNode* m_pChild; // 0x40 // MNetworkDisable CGameSceneNode* m_pNextSibling; // 0x48 private: [[maybe_unused]] uint8_t __pad0050[0x20]; // 0x50 public: // MNetworkEnable // MNetworkSerializer "gameSceneNode" // MNetworkChangeCallback "gameSceneNodeHierarchyParentChanged" // MNetworkPriority "32" // MNetworkVarEmbeddedFieldOffsetDelta "8" CGameSceneNodeHandle m_hParent; // 0x70 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Origin" // MNetworkChangeCallback "gameSceneNodeLocalOriginChanged" CNetworkOriginCellCoordQuantizedVector m_vecOrigin; // 0x80 private: [[maybe_unused]] uint8_t __pad00e8[0x8]; // 0xe8 public: // MNetworkEnable // MNetworkPriority "32" // MNetworkSerializer "gameSceneNodeStepSimulationAnglesSerializer" // MNetworkChangeCallback "gameSceneNodeLocalAnglesChanged" QAngle m_angRotation; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeLocalScaleChanged" // MNetworkPriority "32" float m_flScale; // 0xfc // MNetworkDisable Vector m_vecAbsOrigin; // 0x100 // MNetworkDisable QAngle m_angAbsRotation; // 0x10c // MNetworkDisable float m_flAbsScale; // 0x118 // MNetworkDisable int16_t m_nParentAttachmentOrBone; // 0x11c // MNetworkDisable bool m_bDebugAbsOriginChanges; // 0x11e // MNetworkDisable bool m_bDormant; // 0x11f // MNetworkDisable bool m_bForceParentToBeNetworked; // 0x120 struct { // MNetworkDisable uint8_t m_bDirtyHierarchy: 1; // MNetworkDisable uint8_t m_bDirtyBoneMergeInfo: 1; // MNetworkDisable uint8_t m_bNetworkedPositionChanged: 1; // MNetworkDisable uint8_t m_bNetworkedAnglesChanged: 1; // MNetworkDisable uint8_t m_bNetworkedScaleChanged: 1; // MNetworkDisable uint8_t m_bWillBeCallingPostDataUpdate: 1; // MNetworkDisable uint8_t m_bNotifyBoneTransformsChanged: 1; // MNetworkDisable uint8_t m_bBoneMergeFlex: 1; // MNetworkDisable uint8_t m_nLatchAbsOrigin: 2; // MNetworkDisable uint8_t m_bDirtyBoneMergeBoneToRoot: 1; uint16_t __pad0: 13; }; // 24 bits // MNetworkDisable uint8_t m_nHierarchicalDepth; // 0x123 // MNetworkDisable uint8_t m_nHierarchyType; // 0x124 // MNetworkDisable uint8_t m_nDoNotSetAnimTimeInInvalidatePhysicsCount; // 0x125 private: [[maybe_unused]] uint8_t __pad0126[0x2]; // 0x126 public: // MNetworkEnable CUtlStringToken m_name; // 0x128 private: [[maybe_unused]] uint8_t __pad012c[0x14]; // 0x12c public: // MNetworkEnable // MNetworkChangeCallback "gameSceneNodeHierarchyAttachmentChanged" CUtlStringToken m_hierarchyAttachName; // 0x140 // MNetworkDisable float m_flZOffset; // 0x144 // MNetworkDisable Vector m_vRenderOrigin; // 0x148 }; // Alignment: 0 // Size: 0x8 class IChoreoServices { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 10 // Size: 0x60 class JiggleData { public: int32_t bone; // 0x0 int32_t id; // 0x4 float lastUpdate; // 0x8 Vector basePos; // 0xc Vector baseLastPos; // 0x18 Vector baseVel; // 0x24 Vector baseAccel; // 0x30 Vector tipPos; // 0x3c Vector tipVel; // 0x48 Vector tipAccel; // 0x54 }; // Alignment: 0 // Size: 0x20 class CJiggleBones { public: uint8_t __pad0000[0x20]; // Autoaligned }; // Alignment: 1 // Size: 0x10 class CSkeletonAnimationController { public: // MNetworkDisable CSkeletonInstance* m_pSkeletonInstance; // 0x8 }; // Alignment: 15 // Size: 0xb8 class CAnimationLayer { public: // MNetworkEnable // MNetworkChangeCallback "animationLayerOpChanged" CNetworkedSequenceOperation m_op; // 0x20 // MNetworkEnable // MNetworkChangeCallback "animationLayerOrderChanged" int32_t m_nOrder; // 0x60 private: [[maybe_unused]] uint8_t __pad0064[0x4]; // 0x64 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" // MNetworkMaxValue "12" // MNetworkEncodeFlags // MNetworkSendProxyRecipientsFilter CNetworkedQuantizedFloat m_flPlaybackRate; // 0x68 // MNetworkEnable // MNetworkSendProxyRecipientsFilter bool m_bLooping; // 0x80 private: [[maybe_unused]] uint8_t __pad0081[0x3]; // 0x81 public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "animationLayerCycleReset" // MNetworkSendProxyRecipientsFilter int32_t m_nNewSequenceParity; // 0x84 // MNetworkDisable int32_t m_nFlags; // 0x88 // MNetworkDisable bool m_bSequenceFinished; // 0x8c private: [[maybe_unused]] uint8_t __pad008d[0x3]; // 0x8d public: // MNetworkDisable float m_flKillRate; // 0x90 // MNetworkDisable float m_flKillDelay; // 0x94 // MNetworkDisable float m_flLayerAnimtime; // 0x98 // MNetworkDisable float m_flLayerFadeOuttime; // 0x9c // MNetworkDisable int32_t m_nActivity; // 0xa0 // MNetworkDisable int32_t m_nPriority; // 0xa4 // MNetworkDisable float m_flLastEventCycle; // 0xa8 // MNetworkDisable float m_flLastAccess; // 0xac }; // Alignment: 6 // Size: 0x50 class CNetworkedIKProceduralTargetContext { public: // MNetworkEnable int32_t m_nChainIndex; // 0x20 // MNetworkEnable int32_t m_nRuleIndex; // 0x24 // MNetworkEnable Vector m_vTargetPosition; // 0x28 // MNetworkEnable Quaternion m_qTargetOrientation; // 0x34 // MNetworkEnable // MNetworkPriority "48" float m_flWeight; // 0x44 // MNetworkEnable bool m_bIsValid; // 0x48 }; // Alignment: 1 // Size: 0x50 class CNetworkedIKContext { public: // MNetworkEnable CUtlVectorEmbeddedNetworkVar< CNetworkedIKProceduralTargetContext > m_ProceduralTargetContexts; // 0x8 }; // Alignment: 8 // Size: 0x240 class CModelState { public: // MNetworkEnable // MNetworkChangeCallback "skeletonModelChanged" CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0xa0 // MNetworkDisable CUtlSymbolLarge m_ModelName; // 0xa8 private: [[maybe_unused]] uint8_t __pad00b0[0x38]; // 0xb0 public: // MNetworkEnable bool m_bClientClothCreationSuppressed; // 0xe8 private: [[maybe_unused]] uint8_t __pad00e9[0x9f]; // 0xe9 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMeshGroupMaskChanged" uint64_t m_MeshGroupMask; // 0x188 private: [[maybe_unused]] uint8_t __pad0190[0x9a]; // 0x190 public: // MNetworkEnable // MNetworkChangeCallback "skeletonMotionTypeChanged" int8_t m_nIdealMotionType; // 0x22a // MNetworkDisable int8_t m_nForceLOD; // 0x22b // MNetworkDisable bool m_bIsJiggleBonesEnabled; // 0x22c // MNetworkDisable int8_t m_nClothUpdateFlags; // 0x22d }; // Alignment: 12 // Size: 0x4c0 class CSkeletonInstance : public CGameSceneNode { public: // MNetworkEnable CModelState m_modelState; // 0x170 // MNetworkEnable // MNetworkChangeCallback "skeletonRenderingEnableChanged" bool m_bIsRenderingEnabled; // 0x3b0 // MNetworkEnable bool m_bIsAnimationEnabled; // 0x3b1 // MNetworkEnable bool m_bUseParentRenderBounds; // 0x3b2 // MNetworkDisable bool m_bEnableIK; // 0x3b3 // MNetworkDisable bool m_bDisableSolidCollisionsForHierarchy; // 0x3b4 struct { // MNetworkDisable uint8_t m_bDirtyMotionType: 1; // MNetworkDisable uint8_t m_bIsGeneratingLatchedParentSpaceState: 1; uint32_t __pad1: 30; }; // 32 bits // MNetworkEnable // MNetworkChangeCallback "skeletonMaterialGroupChanged" CUtlStringToken m_materialGroup; // 0x3b8 // MNetworkEnable uint8_t m_nHitboxSet; // 0x3bc private: [[maybe_unused]] uint8_t __pad03bd[0x4b]; // 0x3bd public: // MNetworkEnable float m_flIkMasterBlendValueCache; // 0x408 private: [[maybe_unused]] uint8_t __pad040c[0x4]; // 0x40c public: // MNetworkEnable CNetworkedIKContext m_NetworkedIKContext; // 0x410 }; // Alignment: 1 // Size: 0x10 class IntervalTimer { public: // MNetworkEnable float m_timestamp; // 0x8 }; // Alignment: 2 // Size: 0x10 class CountdownTimer { public: // MNetworkEnable float m_duration; // 0x8 // MNetworkEnable float m_timestamp; // 0xc }; // Alignment: 7 // Size: 0x268 class CTimeline : public IntervalTimer { public: // MNetworkEnable float m_flValues[64]; // 0x10 // MNetworkEnable int32_t m_nValueCounts[64]; // 0x110 // MNetworkEnable int32_t m_nBucketCount; // 0x210 // MNetworkEnable float m_flInterval; // 0x214 // MNetworkEnable float m_flFinalValue; // 0x218 // MNetworkEnable TimelineCompression_t m_nCompressionType; // 0x21c // MNetworkEnable bool m_bStopped; // 0x220 }; // Alignment: 25 // Size: 0x260 class CAnimGraphNetworkedVariables { public: // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_BoolVariables" CNetworkUtlVectorBase< bool > m_NetBoolVariables; // 0x8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_ByteVariables" CNetworkUtlVectorBase< uint8 > m_NetByteVariables; // 0x20 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt16Variables" CNetworkUtlVectorBase< uint16 > m_NetUInt16Variables; // 0x38 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_IntVariables" CNetworkUtlVectorBase< int32 > m_NetIntVariables; // 0x50 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_UInt32Variables" CNetworkUtlVectorBase< uint32 > m_NetUInt32Variables; // 0x68 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_FloatVariables" CNetworkUtlVectorBase< float32 > m_NetFloatVariables; // 0x80 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_VectorVariables" CNetworkUtlVectorBase< Vector > m_NetVectorVariables; // 0x98 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_QuaternionVariables" CNetworkUtlVectorBase< Quaternion > m_NetQuaternionVariables; // 0xb0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredBoolVariables" CNetworkUtlVectorBase< bool > m_PredNetBoolVariables; // 0xc8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredByteVariables" CNetworkUtlVectorBase< uint8 > m_PredNetByteVariables; // 0xe0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt16Variables" CNetworkUtlVectorBase< uint16 > m_PredNetUInt16Variables; // 0xf8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredIntVariables" CNetworkUtlVectorBase< int32 > m_PredNetIntVariables; // 0x110 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredUInt32Variables" CNetworkUtlVectorBase< uint32 > m_PredNetUInt32Variables; // 0x128 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredFloatVariables" CNetworkUtlVectorBase< float32 > m_PredNetFloatVariables; // 0x140 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredVectorVariables" CNetworkUtlVectorBase< Vector > m_PredNetVectorVariables; // 0x158 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_PredQuaternionVariables" CNetworkUtlVectorBase< Quaternion > m_PredNetQuaternionVariables; // 0x170 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetBoolVariables" CNetworkUtlVectorBase< bool > m_LocalPredNetBoolVariables; // 0x188 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetByteVariables" CNetworkUtlVectorBase< uint8 > m_LocalPredNetByteVariables; // 0x1a0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt16Variables" CNetworkUtlVectorBase< uint16 > m_LocalPredNetUInt16Variables; // 0x1b8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetIntVariables" CNetworkUtlVectorBase< int32 > m_LocalPredNetIntVariables; // 0x1d0 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetUInt32Variables" CNetworkUtlVectorBase< uint32 > m_LocalPredNetUInt32Variables; // 0x1e8 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetFloatVariables" CNetworkUtlVectorBase< float32 > m_LocalPredNetFloatVariables; // 0x200 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetVectorVariables" CNetworkUtlVectorBase< Vector > m_LocalPredNetVectorVariables; // 0x218 // MNetworkEnable // MNetworkUserGroup "animationgraph" // MNetworkSendProxyRecipientsFilter // MNetworkChangeCallback "OnNetVarChanged" // MNetworkAlias "m_LocalPredNetQuaternionVariables" CNetworkUtlVectorBase< Quaternion > m_LocalPredNetQuaternionVariables; // 0x230 // MNetworkEnable // MNetworkUserGroup "animationgraph" float m_flLastTeleportTime; // 0x248 }; // Alignment: 0 // Size: 0x8 class CFootstepTableHandle { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 8 // Size: 0x31 class ResponseFollowup { public: char* followup_concept; // 0x0 char* followup_contexts; // 0x8 float followup_delay; // 0x10 char* followup_target; // 0x14 char* followup_entityiotarget; // 0x1c char* followup_entityioinput; // 0x24 float followup_entityiodelay; // 0x2c bool bFired; // 0x30 }; // Alignment: 4 // Size: 0x20 class ResponseParams { public: int16_t odds; // 0x10 int16_t flags; // 0x12 uint8_t soundlevel; // 0x14 private: [[maybe_unused]] uint8_t __pad0015[0x3]; // 0x15 public: ResponseFollowup* m_pFollowup; // 0x18 }; // Alignment: 2 // Size: 0x30 class CResponseCriteriaSet { public: int32_t m_nNumPrefixedContexts; // 0x28 bool m_bOverrideOnAppend; // 0x2c }; // Alignment: 10 // Size: 0x1f0 class CRR_Response { public: uint8_t m_Type; // 0x0 char m_szResponseName[192]; // 0x1 char m_szMatchingRule[128]; // 0xc1 private: [[maybe_unused]] uint8_t __pad0141[0xf]; // 0x141 public: ResponseParams m_Params; // 0x150 float m_fMatchScore; // 0x170 private: [[maybe_unused]] uint8_t __pad0174[0x4]; // 0x174 public: char* m_szSpeakerContext; // 0x178 char* m_szWorldContext; // 0x180 ResponseFollowup m_Followup; // 0x188 private: [[maybe_unused]] uint8_t __pad01b9[0x7]; // 0x1b9 public: CUtlVector< CUtlSymbol > m_pchCriteriaNames; // 0x1c0 CUtlVector< char* > m_pchCriteriaValues; // 0x1d8 }; // Alignment: 2 // Size: 0x1f8 struct ConceptHistory_t { public: float timeSpoken; // 0x0 CRR_Response m_response; // 0x8 }; // Alignment: 9 // Size: 0x60 class CAI_Expresser { public: float m_flStopTalkTime; // 0x38 float m_flStopTalkTimeWithoutDelay; // 0x3c float m_flBlockedTalkTime; // 0x40 int32_t m_voicePitch; // 0x44 float m_flLastTimeAcceptedSpeak; // 0x48 bool m_bAllowSpeakingInterrupts; // 0x4c bool m_bConsiderSceneInvolvementAsSpeech; // 0x4d private: [[maybe_unused]] uint8_t __pad004e[0x2]; // 0x4e public: int32_t m_nLastSpokenPriority; // 0x50 private: [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: CBaseFlex* m_pOuter; // 0x58 }; // Alignment: 1 // Size: 0x68 class CResponseQueue { public: CUtlVector< CAI_Expresser* > m_ExpresserTargets; // 0x50 }; // Alignment: 5 // Size: 0x248 class CResponseQueue::CDeferredResponse { public: CResponseCriteriaSet m_contexts; // 0x10 float m_fDispatchTime; // 0x40 CHandle< CBaseEntity > m_hIssuer; // 0x44 private: [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 public: CRR_Response m_response; // 0x50 bool m_bResponseValid; // 0x240 }; // Alignment: 1 // Size: 0x70 class CAI_ExpresserWithFollowup : public CAI_Expresser { public: ResponseFollowup* m_pPostponedFollowup; // 0x60 }; // Alignment: 1 // Size: 0x78 class CMultiplayer_Expresser : public CAI_ExpresserWithFollowup { public: bool m_bAllowMultipleScenes; // 0x70 }; // Alignment: 12 // Size: 0x78 class CCommentarySystem { public: uint64_t m_afPlayersLastButtons; // 0x18 bool m_bCommentaryConvarsChanging; // 0x20 private: [[maybe_unused]] uint8_t __pad0021[0x3]; // 0x21 public: int32_t m_iClearPressedButtons; // 0x24 bool m_bCommentaryEnabledMidGame; // 0x28 private: [[maybe_unused]] uint8_t __pad0029[0x3]; // 0x29 public: float m_flNextTeleportTime; // 0x2c int32_t m_iTeleportStage; // 0x30 bool m_bCheatState; // 0x34 bool m_bIsFirstSpawnGroupToLoad; // 0x35 private: [[maybe_unused]] uint8_t __pad0036[0x1a]; // 0x36 public: CHandle< CPointCommentaryNode > m_hCurrentNode; // 0x50 CHandle< CPointCommentaryNode > m_hActiveCommentaryNode; // 0x54 CHandle< CPointCommentaryNode > m_hLastCommentaryNode; // 0x58 private: [[maybe_unused]] uint8_t __pad005c[0x4]; // 0x5c public: CUtlVector< CHandle< CPointCommentaryNode > > m_vecNodes; // 0x60 }; // Alignment: 1 // Size: 0x18 class CPhysicsShake { public: Vector m_force; // 0x8 }; // Alignment: 10 // Size: 0x3c class CGameScriptedMoveData { public: Vector m_vDest; // 0x0 Vector m_vSrc; // 0xc QAngle m_angSrc; // 0x18 QAngle m_angDst; // 0x24 float m_flDuration; // 0x30 float m_flStartTime; // 0x34 MoveType_t m_nPrevMoveType; // 0x38 bool m_bFinished; // 0x39 bool m_bTeleportOnEnd; // 0x3a bool m_bIgnoreRotation; // 0x3b }; // Alignment: 5 // Size: 0x20 class CGameChoreoServices : public IChoreoServices { public: CHandle< CBaseAnimating > m_hOwner; // 0x8 CHandle< CScriptedSequence > m_hScriptedSequence; // 0xc IChoreoServices::ScriptState_t m_scriptState; // 0x10 CGameChoreoServices::ChoreoState_t m_choreoState; // 0x14 float m_flTimeStartedState; // 0x18 }; // Alignment: 9 // Size: 0x9 struct HullFlags_t { public: bool m_bHull_Human; // 0x0 bool m_bHull_SmallCentered; // 0x1 bool m_bHull_WideHuman; // 0x2 bool m_bHull_Tiny; // 0x3 bool m_bHull_Medium; // 0x4 bool m_bHull_TinyCentered; // 0x5 bool m_bHull_Large; // 0x6 bool m_bHull_LargeCentered; // 0x7 bool m_bHull_MediumTall; // 0x8 }; // Alignment: 4 // Size: 0x40 class CConstantForceController { public: Vector m_linear; // 0xc RotationVector m_angular; // 0x18 Vector m_linearSave; // 0x24 RotationVector m_angularSave; // 0x30 }; // Alignment: 4 // Size: 0x20 class CMotorController { public: float m_speed; // 0x8 float m_maxTorque; // 0xc Vector m_axis; // 0x10 float m_inertiaFactor; // 0x1c }; // Alignment: 4 // Size: 0x10 class CSoundEnvelope { public: float m_current; // 0x0 float m_target; // 0x4 float m_rate; // 0x8 bool m_forceupdate; // 0xc }; // Alignment: 2 // Size: 0x28 class CCopyRecipientFilter { public: int32_t m_Flags; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: CUtlVector< CPlayerSlot > m_Recipients; // 0x10 }; // Alignment: 13 // Size: 0x90 class CSoundPatch { public: CSoundEnvelope m_pitch; // 0x8 CSoundEnvelope m_volume; // 0x18 private: [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: float m_shutdownTime; // 0x30 float m_flLastTime; // 0x34 CUtlSymbolLarge m_iszSoundScriptName; // 0x38 CHandle< CBaseEntity > m_hEnt; // 0x40 CEntityIndex m_soundEntityIndex; // 0x44 Vector m_soundOrigin; // 0x48 int32_t m_isPlaying; // 0x54 CCopyRecipientFilter m_Filter; // 0x58 float m_flCloseCaptionDuration; // 0x80 bool m_bUpdatedSoundOrigin; // 0x84 private: [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 public: CUtlSymbolLarge m_iszClassName; // 0x88 static int32_t &Get_g_SoundPatchCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSoundPatch")->m_static_fields[0]->m_instance);}; }; // Alignment: 25 // Size: 0x64 struct dynpitchvol_base_t { public: int32_t preset; // 0x0 int32_t pitchrun; // 0x4 int32_t pitchstart; // 0x8 int32_t spinup; // 0xc int32_t spindown; // 0x10 int32_t volrun; // 0x14 int32_t volstart; // 0x18 int32_t fadein; // 0x1c int32_t fadeout; // 0x20 int32_t lfotype; // 0x24 int32_t lforate; // 0x28 int32_t lfomodpitch; // 0x2c int32_t lfomodvol; // 0x30 int32_t cspinup; // 0x34 int32_t cspincount; // 0x38 int32_t pitch; // 0x3c int32_t spinupsav; // 0x40 int32_t spindownsav; // 0x44 int32_t pitchfrac; // 0x48 int32_t vol; // 0x4c int32_t fadeinsav; // 0x50 int32_t fadeoutsav; // 0x54 int32_t volfrac; // 0x58 int32_t lfofrac; // 0x5c int32_t lfomult; // 0x60 }; // Alignment: 0 // Size: 0x64 struct dynpitchvol_t : public dynpitchvol_base_t { public: // No members available }; // Alignment: 3 // Size: 0x18 struct ResponseContext_t { public: CUtlSymbolLarge m_iszName; // 0x0 CUtlSymbolLarge m_iszValue; // 0x8 float m_fExpirationTime; // 0x10 }; // Alignment: 2 // Size: 0x8 struct Relationship_t { public: Disposition_t disposition; // 0x0 int32_t priority; // 0x4 }; // Alignment: 31 // Size: 0x158 class CFourWheelVehiclePhysics { public: CHandle< CBaseAnimating > m_pOuter; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: CFourWheelServerVehicle* m_pOuterServerVehicle; // 0x10 vehicle_controlparams_t m_controls; // 0x18 private: [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: int32_t m_nSpeed; // 0x38 int32_t m_nLastSpeed; // 0x3c int32_t m_nRPM; // 0x40 float m_fLastBoost; // 0x44 int32_t m_nBoostTimeLeft; // 0x48 bool m_bHasBoost; // 0x4c private: [[maybe_unused]] uint8_t __pad004d[0x3]; // 0x4d public: float m_maxThrottle; // 0x50 float m_flMaxRevThrottle; // 0x54 float m_flMaxSpeed; // 0x58 float m_actionSpeed; // 0x5c private: [[maybe_unused]] uint8_t __pad0060[0x20]; // 0x60 public: int32_t m_wheelCount; // 0x80 Vector m_wheelPosition[4]; // 0x84 QAngle m_wheelRotation[4]; // 0xb4 float m_wheelBaseHeight[4]; // 0xe4 float m_wheelTotalHeight[4]; // 0xf4 int32_t m_poseParameters[12]; // 0x104 float m_actionValue; // 0x134 float m_actionScale; // 0x138 float m_debugRadius; // 0x13c float m_throttleRate; // 0x140 float m_throttleStartTime; // 0x144 float m_throttleActiveTime; // 0x148 float m_turboTimer; // 0x14c float m_flVehicleVolume; // 0x150 bool m_bIsOn; // 0x154 bool m_bLastThrottle; // 0x155 bool m_bLastBoost; // 0x156 bool m_bLastSkid; // 0x157 }; // Alignment: 3 // Size: 0x20 struct locksound_t { public: CUtlSymbolLarge sLockedSound; // 0x8 CUtlSymbolLarge sUnlockedSound; // 0x10 float flwaitSound; // 0x18 }; // Alignment: 3 // Size: 0x14 class VelocitySampler { public: Vector m_prevSample; // 0x0 float m_fPrevSampleTime; // 0xc float m_fIdealSampleRate; // 0x10 }; // Alignment: 3 // Size: 0x20 class SimpleConstraintSoundProfile { public: SimpleConstraintSoundProfile::SimpleConstraintsSoundProfileKeypoints_t eKeypoints; // 0x8 float m_keyPoints[2]; // 0xc float m_reversalSoundThresholds[3]; // 0x14 }; // Alignment: 8 // Size: 0x88 class ConstraintSoundInfo { public: VelocitySampler m_vSampler; // 0x8 private: [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: SimpleConstraintSoundProfile m_soundProfile; // 0x20 Vector m_forwardAxis; // 0x40 private: [[maybe_unused]] uint8_t __pad004c[0x4]; // 0x4c public: CUtlSymbolLarge m_iszTravelSoundFwd; // 0x50 CUtlSymbolLarge m_iszTravelSoundBack; // 0x58 private: [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 public: CUtlSymbolLarge m_iszReversalSounds[3]; // 0x68 bool m_bPlayTravelSound; // 0x80 bool m_bPlayReversalSound; // 0x81 }; // Alignment: 3 // Size: 0x28 class CThrustController { public: Vector m_thrustVector; // 0x8 RotationVector m_torqueVector; // 0x14 float m_thrust; // 0x20 }; // Alignment: 5 // Size: 0x20 class CSmoothFunc { public: float m_flSmoothAmplitude; // 0x8 float m_flSmoothBias; // 0xc float m_flSmoothDuration; // 0x10 float m_flSmoothRemainingTime; // 0x14 int32_t m_nSmoothDir; // 0x18 }; // Alignment: 1 // Size: 0x10 struct magnetted_objects_t { public: CHandle< CBaseEntity > hEntity; // 0x8 }; // Alignment: 12 // Size: 0x34 class CSound { public: CHandle< CBaseEntity > m_hOwner; // 0x0 CHandle< CBaseEntity > m_hTarget; // 0x4 int32_t m_iVolume; // 0x8 float m_flOcclusionScale; // 0xc int32_t m_iType; // 0x10 int32_t m_iNextAudible; // 0x14 float m_flExpireTime; // 0x18 int16_t m_iNext; // 0x1c bool m_bNoExpirationTime; // 0x1e private: [[maybe_unused]] uint8_t __pad001f[0x1]; // 0x1f public: int32_t m_ownerChannelIndex; // 0x20 Vector m_vecOrigin; // 0x24 bool m_bHasOwner; // 0x30 }; // Alignment: 1 // Size: 0x4 struct ParticleIndex_t { public: int32_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 5 // Size: 0x20 class CPassengerInfo { public: int32_t m_nRole; // 0x0 int32_t m_nSeat; // 0x4 CUtlSymbolLarge m_strRoleName; // 0x8 CUtlSymbolLarge m_strSeatName; // 0x10 CHandle< CBaseCombatCharacter > m_hPassenger; // 0x18 }; // Alignment: 2 // Size: 0x10 class CPassengerSeatTransition { public: CUtlSymbolLarge m_strAnimationName; // 0x0 int32_t m_nPriority; // 0x8 }; // Alignment: 4 // Size: 0x40 class CPassengerSeat { public: CUtlSymbolLarge m_strSeatName; // 0x0 AttachmentHandle_t m_nAttachmentID; // 0x8 private: [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 public: CUtlVector< CPassengerSeatTransition > m_EntryTransitions; // 0x10 CUtlVector< CPassengerSeatTransition > m_ExitTransitions; // 0x28 }; // Alignment: 2 // Size: 0x20 class CPassengerRole { public: CUtlSymbolLarge m_strName; // 0x0 CUtlVector< CPassengerSeat > m_PassengerSeats; // 0x8 }; // Alignment: 2 // Size: 0x84 struct CBaseServerVehicle__entryanim_t { public: int32_t iHitboxGroup; // 0x0 char szAnimName[128]; // 0x4 }; // Alignment: 5 // Size: 0x9c struct CBaseServerVehicle__exitanim_t { public: bool bUpright; // 0x0 bool bEscapeExit; // 0x1 char szAnimName[128]; // 0x2 private: [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 public: Vector vecExitPointLocal; // 0x84 QAngle vecExitAnglesLocal; // 0x90 }; // Alignment: 3 // Size: 0x18 struct vehicle_gear_t { public: float flMinSpeed; // 0x8 float flMaxSpeed; // 0xc float flSpeedApproachFactor; // 0x10 }; // Alignment: 4 // Size: 0x20 struct vehicle_crashsound_t { public: float flMinSpeed; // 0x8 float flMinDeltaSpeed; // 0xc int32_t gearLimit; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: CUtlSymbolLarge iszCrashSound; // 0x18 }; // Alignment: 5 // Size: 0x170 struct vehiclesounds_t { public: CUtlVector< vehicle_gear_t > pGears; // 0x8 CUtlVector< vehicle_crashsound_t > crashSounds; // 0x20 CUtlSymbolLarge iszSound[9]; // 0x38 CUtlSymbolLarge iszStateSounds[20]; // 0x80 float minStateTime[20]; // 0x120 }; // Alignment: 2 // Size: 0x8 struct ClusteredDistributionParams_t { public: float m_flClusterCoverageFraction; // 0x0 float m_flClusterArea; // 0x4 }; // Alignment: 8 // Size: 0x30 struct VPhysicsCollisionAttribute_t { public: // MNetworkEnable uint64_t m_nInteractsAs; // 0x8 // MNetworkEnable uint64_t m_nInteractsWith; // 0x10 // MNetworkEnable uint64_t m_nInteractsExclude; // 0x18 // MNetworkEnable uint32_t m_nEntityId; // 0x20 // MNetworkEnable uint32_t m_nOwnerId; // 0x24 // MNetworkEnable uint16_t m_nHierarchyId; // 0x28 // MNetworkEnable uint8_t m_nCollisionGroup; // 0x2a // MNetworkEnable uint8_t m_nCollisionFunctionMask; // 0x2b }; // Alignment: 17 // Size: 0xb0 class CCollisionProperty { public: // MNetworkEnable // MNetworkChangeCallback "CollisionAttributeChanged" VPhysicsCollisionAttribute_t m_collisionAttribute; // 0x10 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" Vector m_vecMins; // 0x40 // MNetworkEnable // MNetworkChangeCallback "OnUpdateOBB" Vector m_vecMaxs; // 0x4c private: [[maybe_unused]] uint8_t __pad0058[0x2]; // 0x58 public: // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidFlags" uint8_t m_usSolidFlags; // 0x5a // MNetworkEnable // MNetworkChangeCallback "OnUpdateSolidType" SolidType_t m_nSolidType; // 0x5b // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" uint8_t m_triggerBloat; // 0x5c // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" SurroundingBoundsType_t m_nSurroundType; // 0x5d // MNetworkEnable uint8_t m_CollisionGroup; // 0x5e // MNetworkEnable bool m_bHitboxEnabled; // 0x5f float m_flBoundingRadius; // 0x60 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" Vector m_vecSpecifiedSurroundingMins; // 0x64 // MNetworkEnable // MNetworkChangeCallback "MarkSurroundingBoundsDirty" Vector m_vecSpecifiedSurroundingMaxs; // 0x70 Vector m_vecSurroundingMaxs; // 0x7c Vector m_vecSurroundingMins; // 0x88 // MNetworkEnable Vector m_vCapsuleCenter1; // 0x94 // MNetworkEnable Vector m_vCapsuleCenter2; // 0xa0 // MNetworkEnable float m_flCapsuleRadius; // 0xac }; // Alignment: 21 // Size: 0x70 class CEffectData { public: // MNetworkEnable // MNetworkEncoder Vector m_vOrigin; // 0x8 // MNetworkEnable // MNetworkEncoder Vector m_vStart; // 0x14 // MNetworkEnable // MNetworkEncoder Vector m_vNormal; // 0x20 // MNetworkEnable // MNetworkEncoder QAngle m_vAngles; // 0x2c // MNetworkEnable CEntityHandle m_hEntity; // 0x38 // MNetworkEnable CEntityHandle m_hOtherEntity; // 0x3c // MNetworkEnable float m_flScale; // 0x40 // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags float m_flMagnitude; // 0x44 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1023" // MNetworkEncodeFlags float m_flRadius; // 0x48 // MNetworkEnable CUtlStringToken m_nSurfaceProp; // 0x4c // MNetworkEnable CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > m_nEffectIndex; // 0x50 // MNetworkEnable uint32_t m_nDamageType; // 0x58 // MNetworkEnable uint8_t m_nPenetrate; // 0x5c private: [[maybe_unused]] uint8_t __pad005d[0x1]; // 0x5d public: // MNetworkEnable uint16_t m_nMaterial; // 0x5e // MNetworkEnable uint16_t m_nHitBox; // 0x60 // MNetworkEnable uint8_t m_nColor; // 0x62 // MNetworkEnable uint8_t m_fFlags; // 0x63 // MNetworkEnable AttachmentHandle_t m_nAttachmentIndex; // 0x64 private: [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 public: // MNetworkEnable CUtlStringToken m_nAttachmentName; // 0x68 // MNetworkEnable uint16_t m_iEffectName; // 0x6c // MNetworkEnable uint8_t m_nExplosionType; // 0x6e }; // Alignment: 31 // Size: 0x280 class CEnvWindShared { public: // MNetworkEnable float m_flStartTime; // 0x8 // MNetworkEnable uint32_t m_iWindSeed; // 0xc // MNetworkEnable uint16_t m_iMinWind; // 0x10 // MNetworkEnable uint16_t m_iMaxWind; // 0x12 // MNetworkEnable int32_t m_windRadius; // 0x14 // MNetworkEnable uint16_t m_iMinGust; // 0x18 // MNetworkEnable uint16_t m_iMaxGust; // 0x1a // MNetworkEnable float m_flMinGustDelay; // 0x1c // MNetworkEnable float m_flMaxGustDelay; // 0x20 // MNetworkEnable float m_flGustDuration; // 0x24 // MNetworkEnable uint16_t m_iGustDirChange; // 0x28 private: [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a public: // MNetworkEnable // MNetworkEncoder Vector m_location; // 0x2c int32_t m_iszGustSound; // 0x38 int32_t m_iWindDir; // 0x3c float m_flWindSpeed; // 0x40 Vector m_currentWindVector; // 0x44 Vector m_CurrentSwayVector; // 0x50 Vector m_PrevSwayVector; // 0x5c // MNetworkEnable uint16_t m_iInitialWindDir; // 0x68 private: [[maybe_unused]] uint8_t __pad006a[0x2]; // 0x6a public: // MNetworkEnable float m_flInitialWindSpeed; // 0x6c CEntityIOOutput m_OnGustStart; // 0x70 CEntityIOOutput m_OnGustEnd; // 0x98 float m_flVariationTime; // 0xc0 float m_flSwayTime; // 0xc4 float m_flSimTime; // 0xc8 float m_flSwitchTime; // 0xcc float m_flAveWindSpeed; // 0xd0 bool m_bGusting; // 0xd4 private: [[maybe_unused]] uint8_t __pad00d5[0x3]; // 0xd5 public: float m_flWindAngleVariation; // 0xd8 float m_flWindSpeedVariation; // 0xdc CEntityIndex m_iEntIndex; // 0xe0 }; // Alignment: 2 // Size: 0x8 struct CEnvWindShared__WindAveEvent_t { public: float m_flStartWindSpeed; // 0x0 float m_flAveWindSpeed; // 0x4 }; // Alignment: 2 // Size: 0x8 struct CEnvWindShared__WindVariationEvent_t { public: float m_flWindAngleVariation; // 0x0 float m_flWindSpeedVariation; // 0x4 }; // Alignment: 13 // Size: 0x60 struct shard_model_desc_t { public: // MNetworkEnable int32_t m_nModelID; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hMaterial; // 0x10 // MNetworkEnable ShardSolid_t m_solid; // 0x18 // MNetworkEnable ShatterPanelMode m_ShatterPanelMode; // 0x19 private: [[maybe_unused]] uint8_t __pad001a[0x2]; // 0x1a public: // MNetworkEnable Vector2D m_vecPanelSize; // 0x1c // MNetworkEnable Vector2D m_vecStressPositionA; // 0x24 // MNetworkEnable Vector2D m_vecStressPositionB; // 0x2c private: [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 public: // MNetworkEnable CNetworkUtlVectorBase< Vector2D > m_vecPanelVertices; // 0x38 // MNetworkEnable float m_flGlassHalfThickness; // 0x50 // MNetworkEnable bool m_bHasParent; // 0x54 // MNetworkEnable bool m_bParentFrozen; // 0x55 private: [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 public: // MNetworkEnable CUtlStringToken m_SurfacePropStringToken; // 0x58 // MNetworkEnable CUtlStringToken m_LightGroup; // 0x5c }; // Alignment: 30 // Size: 0xc0 class CShatterGlassShard { public: uint32_t m_hShardHandle; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: CUtlVector< Vector2D > m_vecPanelVertices; // 0x10 Vector2D m_vLocalPanelSpaceOrigin; // 0x28 CStrongHandle< InfoForResourceTypeCModel > m_hModel; // 0x30 CHandle< CShatterGlassShardPhysics > m_hPhysicsEntity; // 0x38 CHandle< CFuncShatterglass > m_hParentPanel; // 0x3c uint32_t m_hParentShard; // 0x40 ShatterGlassStressType m_ShatterStressType; // 0x44 private: [[maybe_unused]] uint8_t __pad0045[0x3]; // 0x45 public: Vector m_vecStressVelocity; // 0x48 bool m_bCreatedModel; // 0x54 private: [[maybe_unused]] uint8_t __pad0055[0x3]; // 0x55 public: float m_flLongestEdge; // 0x58 float m_flShortestEdge; // 0x5c float m_flLongestAcross; // 0x60 float m_flShortestAcross; // 0x64 float m_flSumOfAllEdges; // 0x68 float m_flArea; // 0x6c OnFrame m_nOnFrameEdge; // 0x70 private: [[maybe_unused]] uint8_t __pad0071[0x3]; // 0x71 public: int32_t m_nParentPanelsNthShard; // 0x74 int32_t m_nSubShardGeneration; // 0x78 Vector2D m_vecAverageVertPosition; // 0x7c bool m_bAverageVertPositionIsValid; // 0x84 private: [[maybe_unused]] uint8_t __pad0085[0x3]; // 0x85 public: Vector2D m_vecPanelSpaceStressPositionA; // 0x88 Vector2D m_vecPanelSpaceStressPositionB; // 0x90 bool m_bStressPositionAIsValid; // 0x98 bool m_bStressPositionBIsValid; // 0x99 bool m_bFlaggedForRemoval; // 0x9a private: [[maybe_unused]] uint8_t __pad009b[0x1]; // 0x9b public: float m_flPhysicsEntitySpawnedAtTime; // 0x9c bool m_bShatterRateLimited; // 0xa0 private: [[maybe_unused]] uint8_t __pad00a1[0x3]; // 0xa1 public: CHandle< CBaseEntity > m_hEntityHittingMe; // 0xa4 CUtlVector< uint32 > m_vecNeighbors; // 0xa8 }; // Alignment: 2 // Size: 0x90 class CGameRules { public: char m_szQuestName[128]; // 0x8 int32_t m_nQuestPhase; // 0x88 }; // Alignment: 10 // Size: 0x50 class CGlowProperty { public: Vector m_fGlowColor; // 0x8 int32_t m_iGlowTeam; // 0x14 private: [[maybe_unused]] uint8_t __pad0018[0x18]; // 0x18 public: // MNetworkEnable // MNetworkChangeCallback "OnGlowTypeChanged" int32_t m_iGlowType; // 0x30 // MNetworkEnable int32_t m_nGlowRange; // 0x34 // MNetworkEnable int32_t m_nGlowRangeMin; // 0x38 // MNetworkEnable // MNetworkChangeCallback "OnGlowColorChanged" Color m_glowColorOverride; // 0x3c // MNetworkEnable bool m_bFlashing; // 0x40 private: [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: // MNetworkEnable float m_flGlowTime; // 0x44 // MNetworkEnable float m_flGlowStartTime; // 0x48 bool m_bGlowing; // 0x4c }; // Alignment: 0 // Size: 0x8 class IVehicle { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 0 // Size: 0x90 class CMultiplayRules : public CGameRules { public: // No members available }; // Alignment: 24 // Size: 0x68 struct fogparams_t { public: // MNetworkEnable // MNetworkEncoder Vector dirPrimary; // 0x8 // MNetworkEnable Color colorPrimary; // 0x14 // MNetworkEnable Color colorSecondary; // 0x18 // MNetworkEnable // MNetworkUserGroup "FogController" Color colorPrimaryLerpTo; // 0x1c // MNetworkEnable // MNetworkUserGroup "FogController" Color colorSecondaryLerpTo; // 0x20 // MNetworkEnable float start; // 0x24 // MNetworkEnable float end; // 0x28 // MNetworkEnable // MNetworkUserGroup "FogController" float farz; // 0x2c // MNetworkEnable float maxdensity; // 0x30 // MNetworkEnable float exponent; // 0x34 // MNetworkEnable float HDRColorScale; // 0x38 // MNetworkEnable // MNetworkUserGroup "FogController" float skyboxFogFactor; // 0x3c // MNetworkEnable // MNetworkUserGroup "FogController" float skyboxFogFactorLerpTo; // 0x40 // MNetworkEnable // MNetworkUserGroup "FogController" float startLerpTo; // 0x44 // MNetworkEnable // MNetworkUserGroup "FogController" float endLerpTo; // 0x48 // MNetworkEnable // MNetworkUserGroup "FogController" float maxdensityLerpTo; // 0x4c // MNetworkEnable // MNetworkUserGroup "FogController" float lerptime; // 0x50 // MNetworkEnable // MNetworkUserGroup "FogController" float duration; // 0x54 // MNetworkEnable // MNetworkUserGroup "FogController" float blendtobackground; // 0x58 // MNetworkEnable // MNetworkUserGroup "FogController" float scattering; // 0x5c // MNetworkEnable bool enable; // 0x60 // MNetworkEnable bool blend; // 0x61 // MNetworkEnable bool m_bNoReflectionFog; // 0x62 bool m_bPadding; // 0x63 }; // Alignment: 17 // Size: 0x178 class CPlayer_CameraServices : public CPlayerComponent { public: // MNetworkEnable uint32_t m_iFOV; // 0x30 // MNetworkEnable uint32_t m_iFOVStart; // 0x34 // MNetworkEnable float m_flFOVTime; // 0x38 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flFOVRate; // 0x3c // MNetworkEnable uint32_t m_iDefaultFOV; // 0x40 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkPriority "32" // MNetworkBitCount "32" QAngle m_vecPunchAngle; // 0x44 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkBitCount "32" QAngle m_vecPunchAngleVel; // 0x50 // MNetworkEnable CHandle< CBaseEntity > m_hZoomOwner; // 0x5c // MNetworkEnable fogplayerparams_t m_PlayerFog; // 0x60 // MNetworkEnable CHandle< CColorCorrection > m_hColorCorrectionCtrl; // 0xa0 // MNetworkEnable CHandle< CBaseEntity > m_hViewEntity; // 0xa4 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CHandle< CTonemapController2 > m_hTonemapController; // 0xa8 private: [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" audioparams_t m_audio; // 0xb0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CNetworkUtlVectorBase< CHandle< CPostProcessingVolume > > m_PostProcessingVolumes; // 0x128 float m_flOldPlayerZ; // 0x140 float m_flOldPlayerViewOffsetZ; // 0x144 private: [[maybe_unused]] uint8_t __pad0148[0x18]; // 0x148 public: CUtlVector< CHandle< CEnvSoundscapeTriggerable > > m_hTriggerSoundscapeList; // 0x160 }; // Alignment: 6 // Size: 0x90 struct sky3dparams_t { public: // MNetworkEnable int16_t scale; // 0x8 private: [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa public: // MNetworkEnable // MNetworkEncoder Vector origin; // 0xc // MNetworkEnable bool bClip3DSkyBoxNearToWorldFar; // 0x18 private: [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 public: // MNetworkEnable float flClip3DSkyBoxNearToWorldFarOffset; // 0x1c // MNetworkEnable fogparams_t fog; // 0x20 // MNetworkEnable CUtlStringToken m_nWorldGroupID; // 0x88 }; // Alignment: 0 // Size: 0x8 class IRagdoll { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 3 // Size: 0x28 struct ragdollelement_t { public: Vector originParentSpace; // 0x0 int32_t parentIndex; // 0x20 float m_flRadius; // 0x24 }; // Alignment: 4 // Size: 0x38 struct ragdoll_t { public: CUtlVector< ragdollelement_t > list; // 0x0 CUtlVector< int32 > boneIndex; // 0x18 bool allowStretch; // 0x30 bool unused; // 0x31 }; // Alignment: 17 // Size: 0x60 class CSceneEventInfo { public: int32_t m_iLayer; // 0x0 int32_t m_iPriority; // 0x4 HSequence m_hSequence; // 0x8 float m_flWeight; // 0xc bool m_bIsMoving; // 0x10 bool m_bHasArrived; // 0x11 private: [[maybe_unused]] uint8_t __pad0012[0x2]; // 0x12 public: float m_flInitialYaw; // 0x14 float m_flTargetYaw; // 0x18 float m_flFacingYaw; // 0x1c int32_t m_nType; // 0x20 float m_flNext; // 0x24 bool m_bIsGesture; // 0x28 bool m_bShouldRemove; // 0x29 private: [[maybe_unused]] uint8_t __pad002a[0x2a]; // 0x2a public: CHandle< CBaseEntity > m_hTarget; // 0x54 uint32_t m_nSceneEventId; // 0x58 bool m_bClientSide; // 0x5c bool m_bStarted; // 0x5d }; // Alignment: 4 // Size: 0x28 class CSequenceTransitioner { public: CUtlVector< CAnimationLayer > m_animationQueue; // 0x0 bool m_bIsInSimulation; // 0x18 private: [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 public: float m_flSimOrRenderTime; // 0x1c float m_flInterpolatedTime; // 0x20 }; // Alignment: 7 // Size: 0x60 struct TransitioningLayer_t { public: CNetworkedSequenceOperation m_op; // 0x8 float m_flStartAnimTime; // 0x48 float m_flStartWeight; // 0x4c float m_flAnimTime; // 0x50 int32_t m_nOrder; // 0x54 float m_flPlaybackRate; // 0x58 float m_flFadeOutDuration; // 0x5c }; // Alignment: 5 // Size: 0x1d8 class CSequenceTransitioner2 { public: CNetworkedSequenceOperation m_currentOp; // 0x8 float m_flCurrentPlaybackRate; // 0x48 float m_flCurrentAnimTime; // 0x4c TransitioningLayer_t m_transitioningLayers[4]; // 0x50 CBaseAnimatingController* m_pOwner; // 0x1d0 }; // Alignment: 6 // Size: 0x34 struct lerpdata_t { public: CHandle< CBaseEntity > m_hEnt; // 0x0 MoveType_t m_MoveType; // 0x4 private: [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 public: float m_flStartTime; // 0x8 Vector m_vecStartOrigin; // 0xc Quaternion m_qStartRot; // 0x18 ParticleIndex_t m_nFXIndex; // 0x28 }; // Alignment: 1 // Size: 0x1 struct AmmoIndex_t { public: int8_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 0 // Size: 0x28 class CEntitySubclassVDataBase { public: uint8_t __pad0000[0x28]; // Autoaligned }; // Alignment: 4 // Size: 0x20 struct thinkfunc_t { public: HSCRIPT m_hFn; // 0x8 CUtlStringToken m_nContext; // 0x10 int32_t m_nNextThinkTick; // 0x14 int32_t m_nLastThinkTick; // 0x18 }; // Alignment: 2 // Size: 0x10 struct RagdollCreationParams_t { public: Vector m_vForce; // 0x0 int32_t m_nForceBone; // 0xc }; // Alignment: 10 // Size: 0x24 struct hudtextparms_t { public: Color color1; // 0x0 Color color2; // 0x4 uint8_t effect; // 0x8 uint8_t channel; // 0x9 private: [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa public: float x; // 0xc float y; // 0x10 float fadeinTime; // 0x14 float fadeoutTime; // 0x18 float holdTime; // 0x1c float fxTime; // 0x20 }; // Alignment: 1 // Size: 0x4 class CSimpleSimTimer { public: float m_next; // 0x0 }; // Alignment: 1 // Size: 0x8 class CSimTimer : public CSimpleSimTimer { public: float m_interval; // 0x4 }; // Alignment: 2 // Size: 0xc class CRandSimTimer : public CSimpleSimTimer { public: float m_minInterval; // 0x4 float m_maxInterval; // 0x8 }; // Alignment: 1 // Size: 0x10 class CStopwatchBase : public CSimpleSimTimer { public: bool m_fIsRunning; // 0xc }; // Alignment: 1 // Size: 0x18 class CStopwatch : public CStopwatchBase { public: float m_interval; // 0x10 }; // Alignment: 2 // Size: 0x18 class CRandStopwatch : public CStopwatchBase { public: float m_minInterval; // 0x10 float m_maxInterval; // 0x14 }; // Alignment: 1 // Size: 0x98 class CSingleplayRules : public CGameRules { public: bool m_bSinglePlayerGameEnding; // 0x90 }; // Alignment: 15 // Size: 0xa0 class CTakeDamageInfo { public: Vector m_vecDamageForce; // 0x8 Vector m_vecDamagePosition; // 0x14 Vector m_vecReportedPosition; // 0x20 Vector m_vecDamageDirection; // 0x2c CHandle< CBaseEntity > m_hInflictor; // 0x38 CHandle< CBaseEntity > m_hAttacker; // 0x3c CHandle< CBaseEntity > m_hAbility; // 0x40 float m_flDamage; // 0x44 int32_t m_bitsDamageType; // 0x48 int32_t m_iDamageCustom; // 0x4c AmmoIndex_t m_iAmmoType; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0xf]; // 0x51 public: float m_flOriginalDamage; // 0x60 private: [[maybe_unused]] uint8_t __pad0064[0xc]; // 0x64 public: TakeDamageFlags_t m_nDamageFlags; // 0x70 private: [[maybe_unused]] uint8_t __pad0072[0x6]; // 0x72 public: HSCRIPT m_hScriptInstance; // 0x78 private: [[maybe_unused]] uint8_t __pad0080[0x18]; // 0x80 public: bool m_bInTakeDamageFlow; // 0x98 static CTakeDamageInfo &Get_EmptyInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageInfo")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x8 class CTakeDamageResult { public: int32_t m_nHealthLost; // 0x0 int32_t m_nDamageTaken; // 0x4 }; // Alignment: 4 // Size: 0xb8 struct SummaryTakeDamageInfo_t { public: int32_t nSummarisedCount; // 0x0 CTakeDamageInfo info; // 0x8 CTakeDamageResult result; // 0xa8 CHandle< CBaseEntity > hTarget; // 0xb0 }; // Alignment: 1 // Size: 0x20 class CTakeDamageSummaryScopeGuard { public: CUtlVector< SummaryTakeDamageInfo_t* > m_vecSummaries; // 0x8 static SummaryTakeDamageInfo_t &Get_EmptySummary(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTakeDamageSummaryScopeGuard")->m_static_fields[0]->m_instance);}; }; // Alignment: 0 // Size: 0x90 class CTeamplayRules : public CMultiplayRules { public: // No members available }; // Alignment: 4 // Size: 0x10 struct ViewLockData_t { public: float flLockInterval; // 0x0 bool bLocked; // 0x4 private: [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 public: float flUnlockTime; // 0x8 float flUnlockBlendInterval; // 0xc }; // Alignment: 18 // Size: 0x80 struct ViewSmoothingData_t { public: CBaseAnimating* pVehicle; // 0x0 bool bClampEyeAngles; // 0x8 private: [[maybe_unused]] uint8_t __pad0009[0x3]; // 0x9 public: float flPitchCurveZero; // 0xc float flPitchCurveLinear; // 0x10 float flRollCurveZero; // 0x14 float flRollCurveLinear; // 0x18 float flFOV; // 0x1c ViewLockData_t pitchLockData; // 0x20 ViewLockData_t rollLockData; // 0x30 bool bDampenEyePosition; // 0x40 bool bRunningEnterExit; // 0x41 bool bWasRunningAnim; // 0x42 private: [[maybe_unused]] uint8_t __pad0043[0x1]; // 0x43 public: float flEnterExitStartTime; // 0x44 float flEnterExitDuration; // 0x48 QAngle vecAnglesSaved; // 0x4c Vector vecOriginSaved; // 0x58 QAngle vecAngleDiffSaved; // 0x64 QAngle vecAngleDiffMin; // 0x70 }; // Alignment: 3 // Size: 0x14 struct UnreachableEnt_t { public: CHandle< CBaseEntity > hUnreachableEnt; // 0x0 float fExpireTime; // 0x4 Vector vLocationWhenUnreachable; // 0x8 }; // Alignment: 2 // Size: 0x8 struct AI_SchedLoadStatus_t { public: bool bValid; // 0x0 int32_t nSignature; // 0x4 }; // Alignment: 2 // Size: 0x10 struct NPCAttachmentSpawnKV_t { public: CUtlString m_sKey; // 0x0 CUtlString m_sValue; // 0x8 }; // Alignment: 5 // Size: 0x118 struct NPCAttachmentDesc_t { public: CUtlString m_sAttachmentName; // 0x0 CUtlString m_sEntityName; // 0x8 Vector m_vOffset; // 0x10 private: [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x20 CUtlVector< NPCAttachmentSpawnKV_t > m_vecSpawnKV; // 0x100 }; // Alignment: 11 // Size: 0x1a8 class CAI_BaseNPCVData : public CEntitySubclassVDataBase { public: // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyGroupName "Sounds" CFootstepTableHandle m_hFootstepSounds; // 0x108 int32_t m_nMaxHealth; // 0x110 private: [[maybe_unused]] uint8_t __pad0114[0x4]; // 0x114 public: CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x118 CUtlVector< NPCAttachmentDesc_t > m_vecAttachments; // 0x130 // MPropertyGroupName "Damage" CSkillFloat m_flHeadDamageMultiplier; // 0x148 // MPropertyGroupName "Damage" CSkillFloat m_flChestDamageMultiplier; // 0x158 // MPropertyGroupName "Damage" CSkillFloat m_flStomachDamageMultiplier; // 0x168 // MPropertyGroupName "Damage" CSkillFloat m_flArmDamageMultiplier; // 0x178 // MPropertyGroupName "Damage" CSkillFloat m_flLegDamageMultiplier; // 0x188 // MPropertyGroupName "Damage" CSkillInt m_nMaxAdditionalAmmoBalancingShots; // 0x198 }; // Alignment: 4 // Size: 0x30 class CAI_BehaviorHost { public: CAI_BehaviorBase* m_pPrimaryBehavior; // 0x0 CAI_DefaultNPC* m_pOuter; // 0x8 CUtlVector< CAI_BehaviorBase* > m_Behaviors; // 0x10 bool m_bCalledBehaviorSelectSchedule; // 0x28 }; // Alignment: 5 // Size: 0x24 struct LastIncomingHit_t { public: Vector vecDir; // 0x0 Vector vecBoneLocalPos; // 0xc int32_t nHitboxBoneIndex; // 0x18 float flHitStrength; // 0x1c int32_t nDamageType; // 0x20 }; // Alignment: 0 // Size: 0x18 class CAI_Component { public: uint8_t __pad0000[0x18]; // Autoaligned }; // Alignment: 1 // Size: 0x4 struct ConditionId_t { public: int32_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 0 // Size: 0x20 class CAI_ScheduleBits { public: uint8_t __pad0000[0x20]; // Autoaligned }; // Alignment: 6 // Size: 0x38 class CAI_EnemyServices : public CAI_Component { public: CHandle< CBaseEntity > m_hEnemy; // 0x18 CHandle< CBaseEntity > m_hLastEnemy; // 0x1c float m_flTimeEnemyAcquired; // 0x20 float m_flTimeLastHadEnemy; // 0x24 int32_t m_nEnemiesSerialNumber; // 0x28 CHandle< CBaseEntity > m_hEnemyOccluder; // 0x2c }; // Alignment: 11 // Size: 0x40 class HintNodeData { public: CUtlSymbolLarge strEntityName; // 0x0 int16_t nHintType; // 0x8 private: [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa public: int32_t nNodeID; // 0xc CUtlSymbolLarge strGroup; // 0x10 int32_t iDisabled; // 0x18 private: [[maybe_unused]] uint8_t __pad001c[0x4]; // 0x1c public: CUtlSymbolLarge iszGenericType; // 0x20 CUtlSymbolLarge iszActivityName; // 0x28 HintIgnoreFacing_t fIgnoreFacing; // 0x30 NPC_STATE minState; // 0x34 NPC_STATE maxState; // 0x38 int32_t nRadius; // 0x3c }; // Alignment: 2 // Size: 0x10 class CAI_MoveMonitor { public: Vector m_vMark; // 0x0 float m_flMarkTolerance; // 0xc }; // Alignment: 8 // Size: 0x20 struct AIScheduleState_t { public: int32_t iCurTask; // 0x0 TaskStatus_e nTaskStatus; // 0x4 float timeStarted; // 0x8 float timeCurTaskStarted; // 0xc int64_t taskFailureCode; // 0x10 int32_t iTaskInterrupt; // 0x18 bool bTaskRanAutomovement; // 0x1c bool bScheduleWasInterrupted; // 0x1d }; // Alignment: 5 // Size: 0x70 class CAI_Scheduler : public CAI_Component { public: AIScheduleState_t m_ScheduleState; // 0x18 private: [[maybe_unused]] uint8_t __pad0038[0x8]; // 0x38 public: CUtlSymbolLarge m_failSchedule; // 0x40 CUtlSymbolLarge m_untranslatedSchedule; // 0x48 private: [[maybe_unused]] uint8_t __pad0050[0x8]; // 0x50 public: char* m_szFailText; // 0x58 private: [[maybe_unused]] uint8_t __pad0060[0x8]; // 0x60 public: char* m_szInterruptText; // 0x68 static int32_t &Get_ms_nTasksRun(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_Scheduler")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x8 class CAI_ProxTester { public: float m_distSq; // 0x0 bool m_fInside; // 0x4 }; // Alignment: 3 // Size: 0x14 class CAI_ScriptConditionsElement { public: CHandle< CBaseEntity > m_hActor; // 0x0 CSimTimer m_Timer; // 0x4 CSimTimer m_Timeout; // 0xc }; // Alignment: 1 // Size: 0x28 struct SquadModeInfo_t { public: CUtlVector< SquadSlotId_t > m_vecSlots; // 0x10 }; // Alignment: 3 // Size: 0x14 struct AISquadEnemyInfo_t { public: CHandle< CBaseEntity > hEnemy; // 0x0 CBitVec< 48 > slots; // 0x4 CBitVec< 48 > inactive_slots_by_mode; // 0xc }; // Alignment: 3 // Size: 0xc struct SquadSlotNPCEntry_t { public: SquadSlotId_t nId; // 0x0 CHandle< CBaseEntity > hEnemy; // 0x4 bool bHoldForManualRelease; // 0x8 }; // Alignment: 9 // Size: 0x30 struct AI_FreePassParams_t { public: float timeToTrigger; // 0x8 float duration; // 0xc float moveTolerance; // 0x10 float refillRate; // 0x14 float coverDist; // 0x18 float peekTime; // 0x1c float peekTimeAfterDamage; // 0x20 float peekEyeDist; // 0x24 float peekEyeDistZ; // 0x28 }; // Alignment: 4 // Size: 0x60 class CAI_FreePass : public CAI_Component { public: CHandle< CBaseEntity > m_hTarget; // 0x18 float m_FreePassTimeRemaining; // 0x1c CAI_MoveMonitor m_FreePassMoveMonitor; // 0x20 AI_FreePassParams_t m_Params; // 0x30 }; // Alignment: 6 // Size: 0x38 struct NPCAbilityPickupBehavior_t { public: AbilityPickupBehaviorType_t m_behaviorType; // 0x0 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" // MPropertyDescription "The type of ammo to grant to a player or NPC. Only grants it to players/NPCs who can use that ammo type." CUtlString m_sAmmoType; // 0x8 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantDroppedAmmo" bool m_bAllowNPCsToPickUpDroppedAmmo; // 0x10 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedAmmo" bool m_bAllowNPCsToPickUpSpecifiedAmmo; // 0x11 private: [[maybe_unused]] uint8_t __pad0012[0x6]; // 0x12 public: // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantSpecifiedNPCAbility" // MPropertyDescription "The NPC ability type to grant. Only grants it to NPCs which have been marked as being able to use this ability type." CSubclassName< 6 > m_sNPCAbilityName; // 0x18 // MPropertySuppressExpr "m_behaviorType != eAbilityPickupBehavior_GrantPlayerWeapon" // MPropertyDescription "The player weapon to grant." CSubclassName< 3 > m_sPlayerWeaponName; // 0x28 }; // Alignment: 5 // Size: 0x30 struct NPCAbilityDropBehavior_t { public: AbilityDropBehaviorType_t m_behaviorType; // 0x0 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Name of the Int attribute to add to the ability model being dropped." CUtlString m_sIntAttrName; // 0x8 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_AddIntAttributeToAbilityModel" // MPropertyDescription "Value of the Int attribute to add to the ability model being dropped." int32_t m_nIntAttrValue; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x4]; // 0x14 public: // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_CreateEntityBySubclass" // MPropertyDescription "Name of the misc subclass to create" CSubclassNameGeneric m_sSubclass; // 0x18 // MPropertySuppressExpr "m_behaviorType != eAbilityDropBehavior_SetGravityScale" // MPropertyDescription "Name of the misc subclass to create" float m_flGravityScale; // 0x28 }; // Alignment: 6 // Size: 0x28 struct NPCAbilityTarget_t { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex ChangeAccessorFieldPathIndex_t m_NetworkVar_PathIndex; // 0x8 private: [[maybe_unused]] uint8_t __pad000a[0x2]; // 0xa public: // MNetworkEnable CHandle< CBaseEntity > m_hTargetEntity; // 0xc // MNetworkEnable BodyLocations_t m_locTargetEntityBodyLocation; // 0x10 // MNetworkEnable TargetOriginType_t m_locGatherTargetEntityOriginType; // 0x14 // MNetworkEnable TargetOriginType_t m_locUsageTargetEntityOriginType; // 0x18 // MNetworkEnable Vector m_vecWorldPosition; // 0x1c }; // Alignment: 2 // Size: 0x20 struct NPCAbilityDesc_t { public: CSubclassName< 6 > m_sAbilityName; // 0x0 CSubclassName< 6 > m_sPrimaryLinkedAbilityName; // 0x10 }; // Alignment: 2 // Size: 0x10 struct AI_TaskVData_t { public: CUtlString m_sTask; // 0x0 CUtlString m_sParam; // 0x8 }; // Alignment: 4 // Size: 0x40 struct AI_ScheduleVData_t { public: CUtlString m_sSchedule; // 0x0 bool m_bFlag_Ability; // 0x8 private: [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 public: CUtlVector< AI_TaskVData_t > m_vecTasks; // 0x10 CUtlVector< CUtlString > m_vecInterrupts; // 0x28 }; // Alignment: 20 // Size: 0x280 class CAI_DefaultNPCVData : public CAI_BaseNPCVData { public: Class_T m_nClassifyAs; // 0x1a8 // MPropertyGroupName "Flinching" CRangeFloat m_flInterruptFlinchCooldown; // 0x1ac // MPropertyGroupName "Flinching" CRangeFloat m_flNonInterruptFlinchCooldown; // 0x1b4 // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a large flinch." float m_flFlinchClearDistanceForLarge; // 0x1bc // MPropertyGroupName "Flinching" // MPropertyDescription "When checking for flinch movement clearance, this is the minimum distance that must be clear for us to do a small flinch. If this distance isn't clear, we'll choose a stationary flinch." float m_flFlinchClearDistanceForSmall; // 0x1c0 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the minimum amount of time this npc will stay in tmp ragdoll (scaled by damage)" CSkillFloat m_flTmpRagdollDamageTimeMin; // 0x1c4 // MPropertyGroupName "Flinching" // MPropertyDescription "when hit by DMG_TMPRAGDOLL, this is the maximum amount of time this npc will stay in tmp ragdoll (scaled by damage)" CSkillFloat m_flTmpRagdollDamageTimeMax; // 0x1d4 private: [[maybe_unused]] uint8_t __pad01e4[0x4]; // 0x1e4 public: // MPropertyGroupName "Sounds" CSoundEventName m_sDeathSound; // 0x1e8 // MPropertyGroupName "Sounds" CSoundEventName m_sPainSound; // 0x1f8 // MPropertyDescription "If the distance between the nearest point on a hitscan bullet's trajectory and this NPC's eyes is less than this react amount, this NPC will be notified of the incoming fire via the WarnOfIncomingFire() virtual." CRangeFloat m_flIncomingFireDistance; // 0x208 // MPropertyDescription "Abilities are things like alt-fire or even weapon upgrades" CUtlVector< NPCAbilityDesc_t > m_vecAbilities; // 0x210 // MPropertyFriendlyName "Auto Unholster Held Ability" // MPropertyDescription "If set, the NPC will automatically unholster the first held ability it's granted." bool m_bAutoUnholsterHeldAbility; // 0x228 // MPropertyGroupName "Throw & Catch" bool m_bCatchThrownProps; // 0x229 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If already holding an item, drop it when another item is thrown at us." // MPropertySuppressExpr "m_bCatchThrownProps == 0" bool m_bDropHeldItemOnThrownCollision; // 0x22a private: [[maybe_unused]] uint8_t __pad022b[0x5]; // 0x22b public: // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set when the entity knows something has been thrown to them (the prop is still in the air)" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" CUtlString m_sReadyCatchAnimgraphParam; // 0x230 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" CUtlString m_sCatchAnimgraphParam; // 0x238 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "Graph param that will be set the moment the thrown prop reaches them." // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" // MPropertySuppressExpr "m_bCatchThrownProps == 0" CUtlString m_sCatchAttachmentName; // 0x240 // MPropertyGroupName "Throw & Catch" // MPropertyDescription "If this NPC supports catching and throwing, show interest in props with any of these string attributes." // MPropertySuppressExpr "m_bCatchThrownProps == 0" CUtlVector< CUtlString > m_CatchablePropAttriburtes; // 0x248 CUtlVector< AI_ScheduleVData_t > m_vecSchedules; // 0x260 // MPropertyDescription "If non-empty, this refers to a squad mode entry in npc_squad_modes.txt. The first NPC to be added to a squad will use this mode as the squad mode." CUtlString m_sDefaultSquadMode; // 0x278 }; // Alignment: 3 // Size: 0x28 struct BodyLocationVDataForStance_t { public: CUtlString m_pSpeculationAttachment[3]; // 0x0 bool m_bUsePitch; // 0x18 private: [[maybe_unused]] uint8_t __pad0019[0x3]; // 0x19 public: Vector m_vecSpeculationPosMiddle; // 0x1c }; // Alignment: 3 // Size: 0x60 struct BodyLocationVData_t { public: CUtlString m_sAttachmentName; // 0x0 bool m_bAttachmentIsOnAbilityModel; // 0x8 private: [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 public: BodyLocationVDataForStance_t m_pStances[2]; // 0x10 }; // Alignment: 1 // Size: 0xc0 struct BodyLocationListVData_t { public: BodyLocationVData_t* m_ppBodyLocationData[5]; // 0x0 }; // Alignment: 3 // Size: 0xc struct attached_item_t { public: CHandle< CBaseEntity > hItem; // 0x0 CUtlStringToken sAttachment; // 0x4 CUtlStringToken sAttachmentNormal; // 0x8 }; // Alignment: 3 // Size: 0x370 class CAI_BaseActorVData : public CAI_DefaultNPCVData { public: // MPropertyFriendlyName "Mood File" // MPropertyGroupName "Acting" // MPropertyAttributeEditor "AssetBrowse( vdata )" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCVDataResource > > m_hMoodFile; // 0x280 // MPropertyFriendlyName "Actor Name" // MPropertyGroupName "Acting" CUtlString m_sActorName; // 0x360 // MPropertyGroupName "Acting" ActorClasses_t m_nActorClass; // 0x368 }; // Alignment: 10 // Size: 0x40 class CTempRagdollData { public: float flAutoUnragdollDuration; // 0x0 float flUnragdollTimeout; // 0x4 CTakeDamageInfo* pInfo; // 0x8 private: [[maybe_unused]] uint8_t __pad0010[0x8]; // 0x10 public: CBaseAnimating* pParentEntity; // 0x18 char* pBoneTransformsString; // 0x20 int32_t boneAttach; // 0x28 int32_t parentBoneAttach; // 0x2c Vector boneOrigin; // 0x30 bool m_bInvertOrientation; // 0x3c bool m_bCollideWithNPCClip; // 0x3d }; // Alignment: 1 // Size: 0x380 class CAI_PlayerAllyVData : public CAI_BaseActorVData { public: // MPropertyDescription "Time taken for an ally to regenerate a point of health" CSkillFloat m_flRegenTime; // 0x370 }; // Alignment: 3 // Size: 0x30 class CFlightComponent { public: CHandle< CAI_DefaultNPC > m_pOuter; // 0x8 Vector m_vCurrentVelocity; // 0xc Vector m_vNoiseMod; // 0x18 }; // Alignment: 3 // Size: 0xc struct AbilityLOSResult_t { public: ConditionId_t m_nCondition; // 0x0 BodyLocations_t m_nTargetBodyLocation; // 0x4 CHandle< CBaseEntity > m_hOccluderEntity; // 0x8 }; // Alignment: 4 // Size: 0x50 struct AWS_NPCAbilityInfo_t { public: int32_t m_nLastGatheredAtTick; // 0x0 AbilityLOSResult_t m_nLastGatherLOSResult; // 0x4 CAI_ScheduleBits m_nLastGatherConditions; // 0x10 CAI_ScheduleBits m_nNonGatherConditions; // 0x30 }; // Alignment: 3 // Size: 0x18 struct AWS_AbilityUsageData_t { public: // MNetworkEnable CUtlStringToken m_nAbilityID; // 0x8 AbilityPathType_t m_PathTypeToBeUsed; // 0xc bool m_bRestrictToDuringResolution; // 0x10 }; // Alignment: 23 // Size: 0x110 class CAI_AbilityServices : public CAI_Component { public: int32_t m_nBatchAbilityScopeCount; // 0x18 bool m_bAbilitiesChangedInBatchScope; // 0x1c private: [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d public: float m_flNextAbilityUseTime; // 0x20 WeaponStateMode_t m_nWeaponStateMode; // 0x24 DesiredWeaponState_t m_nDesiredWeaponState; // 0x28 InternalWeaponState_t m_nInternalWeaponState; // 0x2c bool m_bLookForBetterAbilities; // 0x30 private: [[maybe_unused]] uint8_t __pad0031[0x3]; // 0x31 public: float m_flNextHeldAbilitySearchTime; // 0x34 CUtlVector< AWS_NPCAbilityInfo_t > m_vecAbilityInfo; // 0x38 CHandle< CBaseNPCAbility > m_hUnholsteringWeapon; // 0x50 bool m_bDisableAllAbilities; // 0x54 bool m_bPerformAimRefinement; // 0x55 private: [[maybe_unused]] uint8_t __pad0056[0x2]; // 0x56 public: float m_flAimRefinement; // 0x58 float m_flAimRefinementDecayTarget; // 0x5c // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseNPCAbility > > m_vecAbilities; // 0x60 // MNetworkEnable AWS_AbilityUsageData_t m_AbilityToBeUsed; // 0x78 uint32_t m_nAbilityCategorySupportedMask; // 0x90 uint32_t m_nQueriedAbilityCategorySupportedMask; // 0x94 NPCAbilityTarget_t m_TargetToBeUsed; // 0x98 CUtlStringToken m_nAbilityIDPreviouslyUsed; // 0xc0 private: [[maybe_unused]] uint8_t __pad00c4[0x4]; // 0xc4 public: NPCAbilityTarget_t m_TargetPreviouslyUsed; // 0xc8 // MNetworkEnable AWS_AbilityUsageData_t m_AbilityBeingUsed; // 0xf0 // MNetworkEnable bool m_bInAbilityUseSchedule; // 0x108 }; // Alignment: 4 // Size: 0x40 class CAI_BodyLocationCache { public: CHandle< CAI_DefaultNPC > m_hOwner; // 0x0 CHandle< CBaseModelEntity > m_hAssociatedEntity; // 0x4 bool m_bOwnsBodyLocationDef; // 0x8 private: [[maybe_unused]] uint8_t __pad0009[0x7]; // 0x9 public: BodyLocationListVData_t* m_pBodyLocationDef; // 0x10 }; // Alignment: 2 // Size: 0x8 struct ActiveScriptedCommand_t { public: CHandle< CAI_ScriptedBase > m_hCommand; // 0x0 CHandle< CBaseEntity > m_hTarget; // 0x4 }; // Alignment: 11 // Size: 0x80 class CAI_ChoreoServices : public CAI_Component { public: CHandle< CScriptedSequence > m_hCine; // 0x20 IChoreoServices::ScriptState_t m_scriptState; // 0x24 ScriptedOnDeath_t m_scriptedOnDeathBehavior; // 0x28 private: [[maybe_unused]] uint8_t __pad002c[0x4]; // 0x2c public: CUtlVector< ActiveScriptedCommand_t > m_vecActiveScriptedCommands; // 0x30 bool m_abResumedPriorities[2]; // 0x48 bool m_bInAnimGraphChoreo; // 0x4a private: [[maybe_unused]] uint8_t __pad004b[0x1]; // 0x4b public: FacingMode m_nPriorFacingMode; // 0x4c bool m_bInChoreo; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0x3]; // 0x51 public: float m_flSceneTime; // 0x54 private: [[maybe_unused]] uint8_t __pad0058[0x20]; // 0x58 public: CHandle< CBaseModelEntity > m_hChoreoPhysProxy; // 0x78 float m_flChoreoPhysProxyAttachOffset; // 0x7c static CUtlSymbolLarge &Get_SCHED_SCENE_GENERIC(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WALK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_SCRIPTED_RUN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_SCRIPTED_CUSTOM_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_SCRIPTED_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[5]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_SCRIPTED_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[6]->m_instance);}; static CUtlSymbolLarge &Get_TASK_PLAY_SCENE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[7]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SCRIPT_WALK_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[8]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SCRIPT_RUN_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[9]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SCRIPT_CUSTOM_MOVE_TO_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[10]->m_instance);}; static CUtlSymbolLarge &Get_TASK_WAIT_FOR_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[11]->m_instance);}; static CUtlSymbolLarge &Get_TASK_PUSH_SCRIPT_ARRIVAL_ACTIVITY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[12]->m_instance);}; static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[13]->m_instance);}; static CUtlSymbolLarge &Get_TASK_PLAY_SCRIPT_POST_IDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[14]->m_instance);}; static CUtlSymbolLarge &Get_TASK_ENABLE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[15]->m_instance);}; static CUtlSymbolLarge &Get_TASK_PLANT_ON_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[16]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FACE_SCRIPT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_ChoreoServices")->m_static_fields[17]->m_instance);}; }; // Alignment: 2 // Size: 0x10 struct ScriptedNPCInteraction_Phases_t { public: CUtlSymbolLarge iszSequence; // 0x0 int32_t iActivity; // 0x8 }; // Alignment: 15 // Size: 0xc8 struct ScriptedNPCInteraction_t { public: CUtlSymbolLarge iszInteractionName; // 0x0 int32_t iFlags; // 0x8 int32_t iTriggerMethod; // 0xc int32_t iLoopBreakTriggerMethod; // 0x10 Vector vecRelativeOrigin; // 0x14 QAngle angRelativeAngles; // 0x20 Vector vecRelativeVelocity; // 0x2c float flDelay; // 0x38 float flDistSqr; // 0x3c CUtlSymbolLarge iszMyWeapon; // 0x40 CUtlSymbolLarge iszTheirWeapon; // 0x48 ScriptedNPCInteraction_Phases_t sPhases[3]; // 0x50 VMatrix matDesiredLocalToWorld; // 0x80 bool bValidOnCurrentEnemy; // 0xc0 private: [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 public: float flNextAttemptTime; // 0xc4 }; // Alignment: 10 // Size: 0x60 class CAI_DynamicInteractions : public CAI_Component { public: CHandle< CBaseAnimating > m_hForcedInteractionPartner; // 0x18 int32_t m_iInteractionPlaying; // 0x1c Vector m_vecForcedWorldPosition; // 0x20 float m_flForcedInteractionTimeout; // 0x2c CHandle< CBaseAnimating > m_hInteractionPartner; // 0x30 CHandle< CBaseEntity > m_hLastInteractionTestTarget; // 0x34 bool m_bCannotDieDuringInteraction; // 0x38 private: [[maybe_unused]] uint8_t __pad0039[0x3]; // 0x39 public: int32_t m_iInteractionState; // 0x3c CUtlVector< ScriptedNPCInteraction_t > m_ScriptedInteractions; // 0x40 float m_flInteractionYaw; // 0x58 }; // Alignment: 5 // Size: 0x28 class CAI_StanceServices : public CAI_Component { public: // MNetworkEnable StanceType_t m_nCurrentStance; // 0x18 StanceType_t m_nDesiredStance; // 0x1c StanceType_t m_nForcedStance; // 0x20 bool m_bStanceCapabilities[2]; // 0x24 bool m_bTemporaryDisabledStances[2]; // 0x26 }; // Alignment: 9 // Size: 0x58 class CAI_AssaultBehavior { public: CHandle< CAssaultPoint > m_hAssaultPoint; // 0x28 CHandle< CRallyPoint > m_hRallyPoint; // 0x2c private: [[maybe_unused]] uint8_t __pad0030[0x8]; // 0x30 public: bool m_bHitRallyPoint; // 0x38 bool m_bHitAssaultPoint; // 0x39 bool m_bDiverting; // 0x3a private: [[maybe_unused]] uint8_t __pad003b[0x1]; // 0x3b public: float m_flLastSawAnEnemyAt; // 0x3c float m_flTimeDeferScheduleSelection; // 0x40 private: [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 public: CUtlSymbolLarge m_AssaultPointName; // 0x48 CHandle< CAI_AssaultGoal > m_hAssaultGoal; // 0x50 static CUtlSymbolLarge &Get_SCHED_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_ASSAULT_FAILED_TO_MOVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FAIL_MOVE_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_MOVE_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_AT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_HOLD_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[5]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_HOLD_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[6]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_WAIT_AND_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[7]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_ASSAULT_MOVE_AWAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[8]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_CLEAR_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[9]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[10]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FACE_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[11]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[12]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FACE_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[13]->m_instance);}; static CUtlSymbolLarge &Get_TASK_HIT_ASSAULT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[14]->m_instance);}; static CUtlSymbolLarge &Get_TASK_HIT_RALLY_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[15]->m_instance);}; static CUtlSymbolLarge &Get_TASK_AWAIT_CUE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[16]->m_instance);}; static CUtlSymbolLarge &Get_TASK_AWAIT_ASSAULT_TIMEOUT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[17]->m_instance);}; static CUtlSymbolLarge &Get_TASK_ANNOUNCE_CLEAR(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[18]->m_instance);}; static CUtlSymbolLarge &Get_TASK_WAIT_ASSAULT_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[19]->m_instance);}; static CUtlSymbolLarge &Get_TASK_ASSAULT_MOVE_AWAY_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[20]->m_instance);}; static CUtlSymbolLarge &Get_TASK_ASSAULT_DEFER_SCHEDULE_SELECTION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AssaultBehavior")->m_static_fields[21]->m_instance);}; }; // Alignment: 3 // Size: 0x78 class CAI_FightFromCoverBehavior { public: CHandle< CAI_FightFromCoverGoal > m_hFightFromCoverGoal; // 0x28 CAI_MoveMonitor m_FrontMoveMonitor; // 0x2c CSimpleSimTimer m_FrontTimer; // 0x3c static CUtlSymbolLarge &Get_SCHED_FFC_RUN_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FFC_HOLD_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FFC_RELOAD(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[5]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FFC_GET_PATH_TO_HINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[6]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FFC_COVER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[7]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FFC_PEEK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[8]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FFC_ATTACK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[9]->m_instance);}; static ConditionId_t &Get_COND_FFC_HINT_CHANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FightFromCoverBehavior")->m_static_fields[10]->m_instance);}; }; // Alignment: 23 // Size: 0x128 class CAI_FollowBehavior { public: CHandle< CBaseEntity > m_hFollowTarget; // 0x28 private: [[maybe_unused]] uint8_t __pad002c[0x38]; // 0x2c public: float m_flTimeUpdatedFollowPosition; // 0x64 bool m_bFirstFacing; // 0x68 private: [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 public: float m_flTimeFollowTargetVisible; // 0x6c CAI_MoveMonitor m_TargetMonitor; // 0x70 bool m_bTargetUnreachable; // 0x80 bool m_bFollowNavFailed; // 0x81 private: [[maybe_unused]] uint8_t __pad0082[0x2]; // 0x82 public: int32_t m_nFailedFollowAttempts; // 0x84 float m_flTimeFailFollowStarted; // 0x88 Vector m_vFollowMoveAnchor; // 0x8c bool m_bMovingToCover; // 0x98 private: [[maybe_unused]] uint8_t __pad0099[0x3]; // 0x99 public: float m_flOriginalEnemyDiscardDuration; // 0x9c float m_flOriginalEnemyFreeKnowledgeDuration; // 0xa0 float m_SavedDistTooFar; // 0xa4 float m_flLastIdleTalk; // 0xa8 private: [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: CRandStopwatch m_FollowDelay; // 0xb0 CSimpleSimTimer m_RepathOnFollowTimer; // 0xc8 int32_t m_CurrentFollowActivity; // 0xcc CRandSimTimer m_TimeBlockUseWaitPoint; // 0xd0 CSimTimer m_TimeCheckForWaitPoint; // 0xdc private: [[maybe_unused]] uint8_t __pad00e4[0xc]; // 0xe4 public: CRandSimTimer m_TimeBeforeSpreadFacing; // 0xf0 CRandSimTimer m_TimeNextSpreadFacing; // 0xfc private: [[maybe_unused]] uint8_t __pad0108[0x18]; // 0x108 public: CHandle< CAI_FollowGoal > m_hFollowGoalEnt; // 0x120 static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_MOVE_AWAY_END(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_IDLE_STAND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_MOVE_TO_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[5]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_COMBAT_FACE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[6]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[7]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_GO_TO_WAIT_POINT_FAIL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[8]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_FOLLOWER_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[9]->m_instance);}; static CUtlSymbolLarge &Get_TASK_CANT_FOLLOW(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[10]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FACE_FOLLOW_TARGET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[11]->m_instance);}; static CUtlSymbolLarge &Get_TASK_MOVE_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[12]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POSITION(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[13]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_TARGET_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[14]->m_instance);}; static CUtlSymbolLarge &Get_TASK_FOLLOWER_FACE_TACTICAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[15]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_DELAY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[16]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[17]->m_instance);}; static CUtlSymbolLarge &Get_TASK_ARRIVE_AT_FOLLOW_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[18]->m_instance);}; static CUtlSymbolLarge &Get_TASK_SET_FOLLOW_POINT_STAND_SCHEDULE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[19]->m_instance);}; static CUtlSymbolLarge &Get_TASK_BEGIN_STAND_AT_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[20]->m_instance);}; static ConditionId_t &Get_COND_TARGET_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[21]->m_instance);}; static ConditionId_t &Get_COND_FOLLOW_DELAY_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[22]->m_instance);}; static ConditionId_t &Get_COND_FOLLOW_TARGET_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[23]->m_instance);}; static ConditionId_t &Get_COND_FOLLOW_TARGET_NOT_VISIBLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[24]->m_instance);}; static ConditionId_t &Get_COND_FOLLOW_WAIT_POINT_INVALID(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[25]->m_instance);}; static ConditionId_t &Get_COND_FOUND_WAIT_POINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_FollowBehavior")->m_static_fields[26]->m_instance);}; }; // Alignment: 22 // Size: 0x100 class CAI_LeadBehavior { public: CHandle< CBaseEntity > m_hSinkImplementor; // 0x68 Vector m_goal; // 0x6c float m_goalyaw; // 0x78 Vector m_waitpoint; // 0x7c float m_waitdistance; // 0x88 float m_leaddistance; // 0x8c float m_retrievedistance; // 0x90 float m_successdistance; // 0x94 CUtlSymbolLarge m_weaponname; // 0x98 bool m_run; // 0xa0 bool m_gagleader; // 0xa1 bool m_hasspokenstart; // 0xa2 bool m_hasspokenarrival; // 0xa3 bool m_hasPausedScenes; // 0xa4 private: [[maybe_unused]] uint8_t __pad00a5[0x3]; // 0xa5 public: float m_flSpeakNextNagTime; // 0xa8 float m_flWeaponSafetyTimeOut; // 0xac float m_flForceRetrieveTimeout; // 0xb0 float m_flNextLeadIdle; // 0xb4 bool m_bInitialAheadTest; // 0xb8 private: [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 public: CAI_MoveMonitor m_MoveMonitor; // 0xbc private: [[maybe_unused]] uint8_t __pad00cc[0x4]; // 0xcc public: CRandStopwatch m_LostTimer; // 0xd0 CRandStopwatch m_LostLOSTimer; // 0xe8 static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_PAUSE_COMBAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[5]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_AWAIT_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[6]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[7]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_WAITFORPLAYERIDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[8]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_PLAYERNEEDSWEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[9]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[10]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_RETRIEVE_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[11]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_LEAD_SPEAK_THEN_LEAD_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[12]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GET_PATH_TO_LEAD_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[13]->m_instance);}; static CUtlSymbolLarge &Get_TASK_STOP_LEADING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[14]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_FACE_GOAL(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[15]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_ARRIVE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[16]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_SUCCEED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[17]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_GET_PATH_TO_WAITPOINT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[18]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_WAVE_TO_PLAYER(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[19]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_PLAYER_NEEDS_WEAPON(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[20]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_SPEAK_START(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[21]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_MOVE_TO_RANGE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[22]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_RETRIEVE_WAIT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[23]->m_instance);}; static CUtlSymbolLarge &Get_TASK_LEAD_WALK_PATH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[24]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_LOST(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[25]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[26]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_NOT_LAGGING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[27]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_VERY_CLOSE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[28]->m_instance);}; static ConditionId_t &Get_COND_LEAD_SUCCESS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[29]->m_instance);}; static ConditionId_t &Get_COND_LEAD_HAVE_FOLLOWER_LOS(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[30]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVED_FROM_MARK(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[31]->m_instance);}; static ConditionId_t &Get_COND_LEAD_FOLLOWER_MOVING_TOWARDS_ME(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_LeadBehavior")->m_static_fields[32]->m_instance);}; }; // Alignment: 10 // Size: 0x24 struct AI_StandoffParams_t { public: AI_HintChangeReaction_t hintChangeReaction; // 0x0 bool fCoverOnReload; // 0x4 bool fPlayerIsBattleline; // 0x5 private: [[maybe_unused]] uint8_t __pad0006[0x2]; // 0x6 public: float minTimeShots; // 0x8 float maxTimeShots; // 0xc int32_t minShots; // 0x10 int32_t maxShots; // 0x14 int32_t oddsCover; // 0x18 bool fStayAtCover; // 0x1c private: [[maybe_unused]] uint8_t __pad001d[0x3]; // 0x1d public: float flAbandonTimeLimit; // 0x20 }; // Alignment: 19 // Size: 0xd0 class CAI_StandoffBehavior { public: bool m_fActive; // 0x28 bool m_fTestNoDamage; // 0x29 private: [[maybe_unused]] uint8_t __pad002a[0x2]; // 0x2a public: Vector m_vecStandoffGoalPosition; // 0x2c AI_Posture_t m_posture; // 0x38 AI_StandoffParams_t m_params; // 0x3c CHandle< CBaseEntity > m_hStandoffGoal; // 0x60 bool m_fTakeCover; // 0x64 private: [[maybe_unused]] uint8_t __pad0065[0x3]; // 0x65 public: float m_SavedDistTooFar; // 0x68 bool m_fForceNewEnemy; // 0x6c private: [[maybe_unused]] uint8_t __pad006d[0x3]; // 0x6d public: CAI_MoveMonitor m_PlayerMoveMonitor; // 0x70 CSimTimer m_TimeForceCoverHint; // 0x80 CSimTimer m_TimePreventForceNewEnemy; // 0x88 CRandSimTimer m_RandomCoverChangeTimer; // 0x90 int32_t m_nSavedMinShots; // 0x9c int32_t m_nSavedMaxShots; // 0xa0 float m_flSavedMinRest; // 0xa4 float m_flSavedMaxRest; // 0xa8 private: [[maybe_unused]] uint8_t __pad00ac[0x1c]; // 0xac public: bool m_fIgnoreFronts; // 0xc8 bool m_bHasLowCoverActivity; // 0xc9 static ConditionId_t &Get_COND_ABANDON_TIME_EXPIRED(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_StandoffBehavior")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 // Size: 0x18 struct NPCAbilityBodyLocationOverride_t { public: // MPropertyDescription "Body location to inherit from in the owning NPC. If unspecified, the Ability Body Location is used." CUtlString m_sOwnerBodyLocationName; // 0x0 // MPropertyAttributeEditor "VDataModelAttachment( m_sModelName )" CUtlString m_sAttachmentName; // 0x8 bool m_bAttachmentIsOnAbilityModel; // 0x10 }; // Alignment: 1 // Size: 0x4 struct NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "When triggered, the ability is used" GameAnimEventIndex_t m_nAnimEventTrigger; // 0x0 }; // Alignment: 62 // Size: 0x3b8 class CBaseNPCAbilityVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Priority relative to other abilities on this NPC. All abilities will be evaluated, and the highest priority one that passes its evaluation step will be used." int32_t m_nPriority; // 0x28 // MPropertyDescription "Does this ability operate on the current enemy?" // MPropertyGroupName "Evaluating" bool m_bAbilityOperatesOnCurrentEnemy; // 0x2c // MPropertyDescription "Must this ability be held (only 1 can be held at a time) to be active?" bool m_bMustBeHeld; // 0x2d private: [[maybe_unused]] uint8_t __pad002e[0x2]; // 0x2e public: // MPropertyDescription "Only used for held abilities. Should be the desired value of the 'e_weapon' animgraph variable on this NPC, when it is holding this Ability." CUtlString m_sDeployedAnimgraphWeaponEnum; // 0x30 // MPropertyDescription "Model to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x38 // MPropertyDescription "Entity to be bonemerged to the parent NPC" // MPropertyGroupName "Visuals" CEmbeddedSubclass< CBaseEntity > m_hModelEntity; // 0x118 // MPropertyDescription "Allows the ability to override body locations specified in the owner NPC" // MPropertyGroupName "Visuals" CUtlMap< BodyLocations_t, NPCAbilityBodyLocationOverride_t > m_mapBodyLocationOverrides; // 0x128 // MPropertyDescription "Model used by the tools only to populate comboboxes for things like animgraph parameter pickers" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToolsOnlyOwnerModelName; // 0x148 CUtlMap< NPCAbilitySound_t, CSoundEventName > m_mapAbilitySounds; // 0x228 CSkillDamage m_damageInfo; // 0x248 DamageTypes_t m_nDamageType; // 0x25c CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x260 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType AmmoIndex_t m_iAmmoType; // 0x278 private: [[maybe_unused]] uint8_t __pad0279[0x3]; // 0x279 public: // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 100" // MPropertyGroupName "Ammo" int32_t m_nMaxAmmo; // 0x27c // MPropertyDescription "If set, and this is a Secondary ability attached to a Primary one, this Ability will require/consume the ammunition of the Primary ability, not its own." // MPropertyGroupName "Ammo" bool m_bUsePrimaryAbilityAmmo; // 0x280 private: [[maybe_unused]] uint8_t __pad0281[0x3]; // 0x281 public: // MPropertyGroupName "Range" // MPropertyDescription "Min Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." float m_fMinRange; // 0x284 // MPropertyGroupName "Range" // MPropertyDescription "Max Range. By default, this corresponds both to the range at which the ability will be seeked (for schedule selection) as well as used. You can separately override the 'move to' range to cause the system to attempt to move to use range automatically." float m_fMaxRange; // 0x288 // MPropertyGroupName "Range" float m_fMinAdvanceToRange; // 0x28c // MPropertyGroupName "Range" // MPropertyDescription "Min Range to move to before using the ability ( <0 on both min + max disables move to )" float m_flMinMoveToRange; // 0x290 // MPropertyGroupName "Range" // MPropertyDescription "Max Range to move to before using the ability ( <0 on both min + max disables move to )" float m_flMaxMoveToRange; // 0x294 // MPropertyDescription "When cooling down yourself, or squadmates, if this name is specified, it will cool down all abilities with the same scope name. Useful to put all grenade throws on a shared cooldown for example." // MPropertyGroupName "Cooldown" CUtlString m_sSharedCooldownName; // 0x298 // MPropertyDescription "The amount of time after using this ability before it can be used again." // MPropertyGroupName "Cooldown" CRangeFloat m_flCooldownDuration; // 0x2a0 // MPropertyDescription "If set, use of this ability will also cause squad mates to delay their usage of this same ability." // MPropertyGroupName "Cooldown" CRangeFloat m_flCooldownDurationSquadMates; // 0x2a8 // MPropertyDescription "Should this ability start on cooldown?" // MPropertyGroupName "Cooldown" bool m_bStartOnCooldown; // 0x2b0 private: [[maybe_unused]] uint8_t __pad02b1[0x3]; // 0x2b1 public: // MPropertyDescription "The amount of time after using this ability before the NPC is allowed to use *any* of its abilities." // MPropertyGroupName "Cooldown" CRangeFloat m_flAttackDelay; // 0x2b4 // MPropertyDescription "Can this ability interrupt other schedules?" // MPropertyGroupName "Evaluating" bool m_bCanInterruptSchedules; // 0x2bc // MPropertyDescription "Should this ability attempt to suggest a schedule how to get into position in order to use it? An NPC can only seek to get one ability usable at a time." // MPropertyGroupName "Evaluating" bool m_bShouldSeekToBeUsable; // 0x2bd private: [[maybe_unused]] uint8_t __pad02be[0x2]; // 0x2be public: // MPropertyDescription "If the ability usage evaluation indicates it cannot be used, this is the delay before the ability can check again." // MPropertyGroupName "Evaluating" CRangeFloat m_flEvaluationDelay; // 0x2c0 // MPropertyDescription "Body location on the owning NPC to use for gathering LOS conditions from" // MPropertyGroupName "Evaluating" BodyLocations_t m_nLOSTestLocation; // 0x2c8 // MPropertyDescription "Sets whether or not the owner of this ability is required to have LOS to a target to be able to use the ability. If it does, the ability won't attempt to gather conditions if the owner doesn't have LOS to the target." // MPropertyGroupName "Evaluating" bool m_bRequiresOwnerHasLOS; // 0x2cc private: [[maybe_unused]] uint8_t __pad02cd[0x3]; // 0x2cd public: // MPropertyDescription "The enemy location that this ability will use when gathering conditions to determine whether or not it can be performed. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Evaluating" TargetOriginType_t m_nGatherCondEnemyOriginType; // 0x2d0 // MPropertyDescription "What angle relative to the eyes direction does the target have to be in to use the ability?" // MPropertyGroupName "Evaluating" // MPropertyAttributeRange "0 360" float m_flFacingAngle; // 0x2d4 // MPropertyDescription "The name of the first squad slot in a range of squad slots, one of which must be claimable to use this ability." // MPropertyGroupName "Evaluating" SquadSlotId_t m_nSquadSlotRangeMin; // 0x2d8 // MPropertyDescription "The name of the last squad slot in a range of squad slots, one of which must be claimable to use this ability. If this is left blank, it'll be considered as matching the 'Squad Slot Range Min', meaning the ability will use a single squad slot." // MPropertyGroupName "Evaluating" SquadSlotId_t m_nSquadSlotRangeMax; // 0x2dc // MPropertyDescription "Only usable if there aren't any squad mates within this range of our enemy target. Useful for preventing explosive attacks from damaging squad mates." // MPropertyGroupName "Evaluating" float m_flMinDistToSquadMates; // 0x2e0 private: [[maybe_unused]] uint8_t __pad02e4[0x4]; // 0x2e4 public: // MPropertyFriendlyName "Pre-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph before it performs this attack, if it's not set already. If it's not set, it will be set, and the NPC will wait for the 'Pre-Attack Animgraph Finish Tag' to be fired by the animgraph before continuing." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphParamPre; // 0x2e8 // MPropertyFriendlyName "Pre-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be set by the animgraph when it has finished performing the 'Pre-Attack Animgraph Parameter' step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlString m_sAnimgraphFinishTagPre; // 0x2f0 // MPropertyDescription "Optional amount of time the NPC waits after performing the pre-attack phase, before continuing its AI." // MPropertyGroupName "Animation" CRangeFloat m_flPreAbilityUseWait; // 0x2f8 // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphParam; // 0x300 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlString m_sAnimgraphFinishTag; // 0x308 // MPropertyFriendlyName "Post-Attack Animgraph Parameter" // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph after it performs this attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphParamPost; // 0x310 // MPropertyFriendlyName "Post-Attack Animgraph Finish Tag" // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the Post Attack animation step." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlString m_sAnimgraphFinishTagPost; // 0x318 // MPropertyDescription "Is the anim graph capable of auto-repeating the attack if the ability still thinks it's valid to attack? Note auto-repeating will not trigger cooldowns." // MPropertyGroupName "Animation" bool m_bCanAutoRepeat; // 0x320 private: [[maybe_unused]] uint8_t __pad0321[0x3]; // 0x321 public: // MPropertyDescription "Optional amount of time the NPC waits after attacking before continuing its AI." // MPropertyGroupName "Animation" CRangeFloat m_flPostAbilityUseWait; // 0x324 // MPropertyDescription "When triggered, it causes the ability to run ability-specific pre-triggering code. Used for two-stage hits (like a leap or spot where the attack commits to a direction before it's actually performed)." // MPropertyGroupName "Animation" GameAnimEventIndex_t m_nAnimEventSetup; // 0x32c // MPropertyDescription "When triggered, the ability is used" // MPropertyGroupName "Animation" GameAnimEventIndex_t m_nAnimEventTrigger; // 0x330 // MPropertyFriendlyName "Enemy Location To Target When Performing" // MPropertyDescription "The enemy location that this ability will target when performing the ability. Last Seen Position is the last place we saw our enemy. Last Known Position is updated for a short time after lose sight of our enemy. So if our enemy ran around a corner, Last Seen Position would be right before they vanished around the corner, and Last Known Position would be around the corner and out of sight." // MPropertyGroupName "Using" TargetOriginType_t m_nUsageCondEnemyOriginType; // 0x334 // MPropertyDescription "When firing at the player, is this weapon allowed to miss and hit interesting targets nearby, for visual flair?" // MPropertyGroupName "Using" bool m_bAllowedToMiss; // 0x338 // MPropertyDescription "If an NPC uses this ability while moving, should the usage be aborted if the NPC finishes the movement?" // MPropertyGroupName "Using" bool m_bAbortUsageOnMoveFinish; // 0x339 // MPropertyGroupName "Using" // MPropertyDescription "Is the NPC allowed to do displacement during non-interrupt staggers while performing this ability? Generally only true for attacking abilities." bool m_bAllowFlinchDisplacementDuringUsage; // 0x33a private: [[maybe_unused]] uint8_t __pad033b[0x5]; // 0x33b public: // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it starts using this ability, and removed once it finishes." CEmbeddedSubclass< CBaseModifier > m_OwnerModifierWhileUsing; // 0x340 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC when it finishes using this ability." CEmbeddedSubclass< CBaseModifier > m_OwnerModifierAfterUsage; // 0x350 // MPropertyGroupName "Using" // MPropertyDescription "A modifier that will be added to our NPC whenever the ability trigger occurs." CEmbeddedSubclass< CBaseModifier > m_OwnerModifierOnTrigger; // 0x360 // MPropertyDescription "Only used for held abilities. Never drop this ability, always immediately remove it instead." // MPropertyGroupName "Drop" bool m_bDestroyInsteadOfDrop; // 0x370 // MPropertyDescription "Always Drop this ability." // MPropertyGroupName "Drop" bool m_bAlwaysDrop; // 0x371 // MPropertyGroupName "Drop" bool m_bAddRandomDropVelocity; // 0x372 private: [[maybe_unused]] uint8_t __pad0373[0x5]; // 0x373 public: // MPropertyGroupName "Drop" CUtlVector< NPCAbilityDropBehavior_t > m_vecDropBehaviors; // 0x378 // MPropertyGroupName "Drop" CUtlVector< NPCAbilityPickupBehavior_t > m_vecPickupBehaviors; // 0x390 // MPropertyDescription "When pathing to the target, range tolerance" // MPropertyGroupName "Evaluating" float m_flRangeTolerance; // 0x3a8 // MPropertyDescription "When building a path to the target, avoid our enemy by this distance" float m_flEnemyPathAvoidance; // 0x3ac // MPropertyDescription "Time to hold unreachable targets before reevaluating" float m_flTargetEntityUnreachableTimeout; // 0x3b0 // MPropertyDescription "Should this ability be visible when other NPCs ask this ability's NPC what it's capable of?" bool m_bIncludeInNPCsCapabilityQueries; // 0x3b4 }; // Alignment: 2 // Size: 0x120 class CNPCAbilityModelVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 }; // Alignment: 1 // Size: 0x3c8 class CNPCAbilityAddModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier VData: Modifier to Apply to Caster" CEmbeddedSubclass< CBaseModifier > m_Modifier; // 0x3b8 }; // Alignment: 1 // Size: 0x3c0 class CNPCAbilityRemoveModifierVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Modifier to Remove" CUtlString m_sRemoveModifier; // 0x3b8 }; // Alignment: 3 // Size: 0x20 struct MeleeAttackUseTrigger_t : public NPCAbilityUseTriggerBase_t { public: // MPropertyDescription "The view angle punch applied to the player when they receive this hit. Angle is specifed as Pitch / Yaw / Roll." QAngle m_angViewPunch; // 0x4 // MPropertyDescription "Force applied to the player when they receive this hit. X is the push back, and Y is the push to the side, based on the attacker's facing." Vector m_vecShoveForce; // 0x10 // MPropertyDescription "MELEE Range of this hit. Generally should remain within the evaluation Min/Max ranges, unless you know the animation significantly moves the NPC before this hit occurs." float m_flRange; // 0x1c }; // Alignment: 7 // Size: 0x418 class CNPCAbilityMeleeAttackVData : public CBaseNPCAbilityVData { public: // MPropertyFriendlyName "Hit Triggers" // MPropertyGroupName "Animation" CUtlVector< MeleeAttackUseTrigger_t > m_vecTriggers; // 0x3b8 // MPropertyGroupName "Evaluating" ENPCAbilityMeleeAttackEvaluationTest m_EvaluationTest; // 0x3d0 // MPropertyGroupName "Evaluating" Vector m_vecEvaluatingMeleeAttackMins; // 0x3d4 // MPropertyGroupName "Evaluating" Vector m_vecEvaluatingMeleeAttackMaxs; // 0x3e0 // MPropertyGroupName "Using" Vector m_vecUsingMeleeAttackMins; // 0x3ec // MPropertyGroupName "Using" Vector m_vecUsingMeleeAttackMaxs; // 0x3f8 private: [[maybe_unused]] uint8_t __pad0404[0x4]; // 0x404 public: // MPropertyGroupName "Using" CEmbeddedSubclass< CBaseModifier > m_ModifierOnHit; // 0x408 }; // Alignment: 1 // Size: 0x8 class CRangeInt { public: int32_t m_pValue[2]; // 0x0 }; // Alignment: 8 // Size: 0x5a0 class CNPCWeaponHitscanVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x498 // MPropertyGroupName "Using" CRangeInt m_nBurstSize; // 0x578 // MPropertyGroupName "Using" Vector m_vecBulletSpreadCone; // 0x580 // MPropertyGroupName "Using" float m_flSpreadBias; // 0x58c // MPropertyGroupName "Using" int32_t m_nPellets; // 0x590 // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" bool m_bApplyAimRefinement; // 0x594 private: [[maybe_unused]] uint8_t __pad0595[0x3]; // 0x595 public: // MPropertyGroupName "Using" int32_t m_nPowerCostPerShot; // 0x598 }; // Alignment: 4 // Size: 0x20 struct HitscanGatherData_t { public: CBitVec< 2 > m_FiringOccludedHere; // 0x0 Vector m_vecFiringAtPos; // 0x4 Vector m_vecFiringTargetPos; // 0x10 bool m_bWeaponFireOccludedLastTime; // 0x1c }; // Alignment: 28 // Size: 0xc0 class CBaseAchievement { public: char* m_pszName; // 0x18 int32_t m_iAchievementID; // 0x20 int32_t m_iFlags; // 0x24 int32_t m_iGoal; // 0x28 int32_t m_iProgressMsgIncrement; // 0x2c int32_t m_iProgressMsgMinimum; // 0x30 int32_t m_iPointValue; // 0x34 bool m_bHideUntilAchieved; // 0x38 bool m_bStoreProgressInSteam; // 0x39 private: [[maybe_unused]] uint8_t __pad003a[0x6]; // 0x3a public: char* m_pInflictorClassNameFilter; // 0x40 char* m_pInflictorEntityNameFilter; // 0x48 char* m_pVictimClassNameFilter; // 0x50 char* m_pAttackerClassNameFilter; // 0x58 char* m_pMapNameFilter; // 0x60 char* m_pGameDirFilter; // 0x68 char** m_pszComponentNames; // 0x70 char** m_pszComponentDisplayNames; // 0x78 int32_t m_iNumComponents; // 0x80 private: [[maybe_unused]] uint8_t __pad0084[0x4]; // 0x84 public: char* m_pszComponentPrefix; // 0x88 int32_t m_iComponentPrefixLen; // 0x90 bool m_bAchieved; // 0x94 private: [[maybe_unused]] uint8_t __pad0095[0x3]; // 0x95 public: int32_t m_iCount; // 0x98 int32_t m_iProgressShown; // 0x9c uint64_t m_iComponentBits; // 0xa0 private: [[maybe_unused]] uint8_t __pad00a8[0x8]; // 0xa8 public: int32_t m_nUserSlot; // 0xb0 int32_t m_iDisplayOrder; // 0xb4 bool m_bShowOnHUD; // 0xb8 private: [[maybe_unused]] uint8_t __pad00b9[0x3]; // 0xb9 public: int32_t m_iAssetAwardID; // 0xbc }; // Alignment: 2 // Size: 0xc8 class CFailableAchievement : public CBaseAchievement { public: bool m_bActivated; // 0xc0 bool m_bFailed; // 0xc1 }; // Alignment: 1 // Size: 0x2 struct ModifierQueuedRefreshHandle_t { public: uint16_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 5 // Size: 0x1d8 struct ModifierScriptValue_t { public: EModifierValue m_eModifierValue; // 0x0 EModifierScriptVariantType m_eType; // 0x4 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODIFIER_FLOAT" CModifierLevelFloat m_value; // 0x8 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_MODEL" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelValue; // 0x18 // MPropertySuppressExpr "m_eType != MODIFIER_SCRIPT_VARIANT_PARTICLE" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sParticleValue; // 0xf8 }; // Alignment: 2 // Size: 0x20 struct ModifierScriptedEventHandler_t { public: EModifierScriptedEvent m_eEvent; // 0x8 private: [[maybe_unused]] uint8_t __pad000c[0x4]; // 0xc public: CEmbeddedSubclassGeneric< 4 > m_sModifierToAdd; // 0x10 }; // Alignment: 2 // Size: 0x18 struct ModifierRenderAttribute_t { public: CUtlString m_sAttribute; // 0x0 Vector4D m_vValues; // 0x8 }; // Alignment: 4 // Size: 0x8 struct ModifierTrackedParticle_t { public: ParticleIndex_t m_nParticleIndex; // 0x0 bool m_bDestroyImmediately; // 0x4 bool m_bStatusEffect; // 0x5 int16_t m_nStatusEffectPriority; // 0x6 }; // Alignment: 2 // Size: 0x20 struct ModifierTrackedGraphParameter_t { public: CUtlString m_sParamName; // 0x0 CAnimVariant m_restoreValue; // 0x8 }; // Alignment: 0 // Size: 0x8 struct ModifierTrackedSound_t { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 2 // Size: 0x10 struct ModifierTrackedBodyGroup_t { public: CUtlString m_strBodygroupName; // 0x0 int32_t m_nRestoreValue; // 0x8 }; // Alignment: 19 // Size: 0x390 class CModifierVData : public CEntitySubclassVDataBase { public: CModifierLevelFloat m_flDuration; // 0x28 // MPropertyGroupName "Visuals" // MPropertyDescription "Particle system to attach to the parent of the modifier" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleEffect; // 0x38 // MPropertyGroupName "Visuals" // MPropertyDescription "Status Effect to apply to the parent of the modifier" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strParticleStatusEffect; // 0x118 // MPropertyGroupName "Visuals" // MPropertyDescription "Screen-space particle system to create if the parent of the modifier is the local player" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_strScreenParticleEffect; // 0x1f8 // MPropertyGroupName "Visuals" // MPropertyDescription "Priority of this status effect relative to others" int32_t m_nStatusEffectPriority; // 0x2d8 private: [[maybe_unused]] uint8_t __pad02dc[0x4]; // 0x2dc public: // MPropertyGroupName "Visuals" CUtlVector< ModifierRenderAttribute_t > m_vecRenderAttributes; // 0x2e0 // MPropertyGroupName "Sounds" CSoundEventName m_sStartSound; // 0x2f8 // MPropertyGroupName "Sounds" CSoundEventName m_sAmbientLoopingSound; // 0x308 // MPropertyGroupName "Sounds" ModifierSoundRecipients_t m_nAmbientLoopingSoundRecipients; // 0x318 private: [[maybe_unused]] uint8_t __pad031c[0x4]; // 0x31c public: // MPropertyGroupName "Sounds" CSoundEventName m_sEndSound; // 0x320 // MPropertyGroupName "Scripted Settings" CBitVecEnum< EModifierState > m_nEnabledStateMask; // 0x330 // MPropertyGroupName "Scripted Settings" CBitVecEnum< EModifierState > m_nDisabledStateMask; // 0x334 // MPropertyGroupName "Scripted Settings" ModifierAttribute_t m_nAttributes; // 0x338 private: [[maybe_unused]] uint8_t __pad033c[0x4]; // 0x33c public: // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Modifier Values" CUtlVector< ModifierScriptValue_t > m_vecScriptValues; // 0x340 // MPropertyGroupName "Scripted Settings" // MPropertyDescription "Scripted Event Handlers" CUtlVector< ModifierScriptedEventHandler_t > m_vecScriptEventHandlers; // 0x358 ModifierDisableGroup_t m_nDisableGroupsMask; // 0x370 // MPropertyDescription "When set, the modifier only provides data to requests made directly to the attached entity and not to other modifier properties that the owner provides to." bool m_bPrivateAccess; // 0x374 // MPropertyDescription "When set, the modifier will not be visible to UI or visible modifier list." bool m_bIsHidden; // 0x375 private: [[maybe_unused]] uint8_t __pad0376[0x2]; // 0x376 public: // MPropertyDescription "When to consider the modifier a debuff." ModifierDebuffType_t m_eDebuffType; // 0x378 }; // Alignment: 1 // Size: 0x4 struct ModifierSerialNumber_t { public: int32_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 3 // Size: 0x3b8 class CModifierVData_BaseAura : public CModifierVData { public: CModifierLevelFloat m_flAuraRadius; // 0x390 int32_t m_nAmbientParticleRadiusControlPoint; // 0x3a0 private: [[maybe_unused]] uint8_t __pad03a4[0x4]; // 0x3a4 public: // MPropertyDescription "Aura - Modifier to Apply" // MPropertyFriendlyName "Modifier Provided By Aura" CEmbeddedSubclass< CBaseModifier > m_modifierProvidedByAura; // 0x3a8 }; // Alignment: 1 // Size: 0x2 struct ModifierPropRuntimeHandle_t { public: uint16_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 10 // Size: 0xc8 class CModifierProperty { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x8 CHandle< CBaseEntity > m_hOwner; // 0x20 private: [[maybe_unused]] uint8_t __pad0024[0x6a]; // 0x24 public: uint8_t m_nProviderVisitedFlags; // 0x8e bool m_bModifierStatesDirty; // 0x8f int8_t m_iLockRefCount; // 0x90 private: [[maybe_unused]] uint8_t __pad0091[0x1]; // 0x91 public: ModifierPropRuntimeHandle_t m_hHandle; // 0x92 uint16_t m_nBroadcastEventListenerMask; // 0x94 private: [[maybe_unused]] uint8_t __pad0096[0xa]; // 0x96 public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_vecProviders; // 0xa0 // MNetworkEnable uint32_t m_nDisabledGroups; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "modifierStatesChanged" uint32_t m_bvEnabledStateMask[1]; // 0xbc }; // Alignment: 1 // Size: 0x4 struct ModifierRuntimeHandle_t { public: uint32_t m_nBoxedTypeSafeInt; // 0x0 }; // Alignment: 1 // Size: 0x18 class CModifierHandleBase { public: // MNetworkEnable // MNetworkSerializer "modifier_handle" uint64_t m_hStableHandle; // 0x8 }; // Alignment: 20 // Size: 0x80 class CBaseModifier { public: ModifierSerialNumber_t m_nSerialNumber; // 0x24 float m_flLastAppliedTime; // 0x28 float m_flDuration; // 0x2c CHandle< CBaseEntity > m_hCaster; // 0x30 CHandle< CBaseEntity > m_hAbility; // 0x34 CModifierHandleBase m_hAuraProvider; // 0x38 ModifierQueuedRefreshHandle_t m_nQueuedModifierRefreshHandle; // 0x50 uint8_t m_iAttributes; // 0x52 uint8_t m_iTeam; // 0x53 int16_t m_iStackCount; // 0x54 int16_t m_iMaxStackCount; // 0x56 uint8_t m_eDestroyReason; // 0x58 bool m_bDisabled; // 0x59 private: [[maybe_unused]] uint8_t __pad005a[0x2]; // 0x5a public: float m_flPreviousTick; // 0x5c float m_flThinkInterval; // 0x60 float m_flThinkIntervalStartTime; // 0x64 float m_flTimeScale; // 0x68 private: [[maybe_unused]] uint8_t __pad006c[0x4]; // 0x6c public: CUtlVector< IModifierTrackedObject* >* m_pVecTrackedObjects; // 0x70 ModifierRuntimeHandle_t m_hModifierListHandle; // 0x78 int32_t m_iStringIndex; // 0x7c }; // Alignment: 1 // Size: 0x18 struct ModifierVariant_t { public: ModifierVariantType_t m_eType; // 0x0 }; // Alignment: 0 // Size: 0x8 class IModifierTrackedObject { public: uint8_t __pad0000[0x8]; // Autoaligned }; // Alignment: 4 // Size: 0x198 class CSteamPalPlayer_CameraServices : public CPlayer_CameraServices { public: // MNetworkEnable bool m_bViewFrozen; // 0x178 private: [[maybe_unused]] uint8_t __pad0179[0x3]; // 0x179 public: // MNetworkEnable CHandle< CBaseEntity > m_hCameraTarget; // 0x17c // MNetworkEnable Vector m_vMoveOffset; // 0x180 // MNetworkEnable QAngle m_vLookOffset; // 0x18c }; // Alignment: 0 // Size: 0x90 class CSteamPalPlayer_MovementServices : public CPlayer_MovementServices { public: // No members available }; // Alignment: 2 // Size: 0xb8 class CSteamPalGameRules : public CSingleplayRules { public: bool m_bIsInAscentSection; // 0xb0 private: [[maybe_unused]] uint8_t __pad00b1[0x3]; // 0xb1 public: CHandle< CBaseEntity > m_hPlayerResource; // 0xb4 }; // Alignment: 1 // Size: 0x40 class COffscreenParticleHelper { public: RenderMultisampleType_t m_nMultisampleType; // 0x1c }; // Alignment: 0 // Size: 0x80 class CSteamPalModifier : public CBaseModifier { public: // No members available }; // Alignment: 0 // Size: 0x80 class CSteamPalModifier_Base : public CSteamPalModifier { public: // No members available }; // Alignment: 0 // Size: 0x3b8 class CSteamPalModifierAuraVData : public CModifierVData_BaseAura { public: // No members available }; // Alignment: 7 // Size: 0x98 class CSteampal_Turret_ManagerVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sIntroTurretType; // 0x28 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sIntroSmokingTurretType; // 0x38 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sUltraTurretType; // 0x48 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sBadTurretType; // 0x58 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sGoodTurretType; // 0x68 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sAscentTurretType; // 0x78 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sCaveJohnsonTurretType; // 0x88 }; // Alignment: 4 // Size: 0x20 struct CSteamPal_SequencerTrackDef_t { public: int32_t m_nStandardNoteHold; // 0x0 CUtlString m_sPlayerInputLeftPadNotes; // 0x8 CUtlString m_sPlayerInputRightPadNotes; // 0x10 CUtlString m_sName; // 0x18 }; // Alignment: 1 // Size: 0x18 struct CSteamPal_SequencerSequenceDef_t { public: CUtlVector< CUtlString > m_vMusicTracks; // 0x0 }; // Alignment: 11 // Size: 0x80 class CSteamPal_SequencerVData : public CEntitySubclassVDataBase { public: float m_flBPM; // 0x28 bool m_bStartPaused; // 0x2c private: [[maybe_unused]] uint8_t __pad002d[0x3]; // 0x2d public: int32_t m_nGridWidth; // 0x30 int32_t m_nGridHeight; // 0x34 int32_t m_nTestDisplayTrackNum; // 0x38 float m_flDebugGridSize; // 0x3c float m_flDebugGridElementGap; // 0x40 private: [[maybe_unused]] uint8_t __pad0044[0x4]; // 0x44 public: CUtlVector< CSteamPal_SequencerTrackDef_t > m_vTrackDefs; // 0x48 CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vIntroSequences; // 0x60 bool m_bAutoPlayIntro; // 0x78 bool m_bLoopIntroTracks; // 0x79 }; // Alignment: 8 // Size: 0x138 class CSteamPal_BaseSingingEntity_VData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 CSoundEventName m_sTestToneSound; // 0x108 CSoundEventName m_sGreetingSound; // 0x118 bool m_bAutoSingTracks; // 0x128 bool m_bPlayAnimGraphOnly; // 0x129 private: [[maybe_unused]] uint8_t __pad012a[0x2]; // 0x12a public: float m_flBaseMidiNote; // 0x12c float m_flWingAnimateInTime; // 0x130 float m_flVolume; // 0x134 }; // Alignment: 10 // Size: 0xb0 class CSteamPal_NameFormVData : public CEntitySubclassVDataBase { public: CSkillFloat m_flMaxTimeSayingName; // 0x28 CSkillFloat m_flMaxTimeTypingFaceButtons; // 0x38 int32_t m_nNumFaceButtonLettersNeededToSucceed; // 0x48 CSkillFloat m_flMaxTimeTypingKeyboard; // 0x4c int32_t m_nNumKeyboardLettersNeededToSucceed; // 0x5c CSkillFloat m_flMaxTimeSigningName; // 0x60 CSkillFloat m_flTaskTimeAfterUsefulAction; // 0x70 // MPropertyAttributeEditor "VDataChoice( scripts/misc.vdata )" CSubclassName< 0 > m_sWritingSurfaceToSpawn; // 0x80 QAngle m_qWritingSurfaceAttachAngles; // 0x90 private: [[maybe_unused]] uint8_t __pad009c[0x4]; // 0x9c public: CSoundEventName m_sDingToneSound; // 0xa0 }; // Alignment: 4 // Size: 0x118 class CSteamPal_WritingSurfaceVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 Color m_BackgroundColor; // 0x108 Color m_WritingColor; // 0x10c float m_flWritingTipSize; // 0x110 }; // Alignment: 6 // Size: 0x18 struct CSteamPal_Turret_Wing_t { public: float m_flPitchMin; // 0x0 float m_flPitchMax; // 0x4 float m_flPitchRate; // 0x8 float m_flYawMin; // 0xc float m_flYawMax; // 0x10 float m_flYawRate; // 0x14 }; // Alignment: 36 // Size: 0x5a0 class CSteamPal_TurretVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x108 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0x1e8 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sLaserSightEffect; // 0x2c8 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplodeEffect; // 0x3a8 CSteamPal_Turret_Wing_t m_sLeftWing; // 0x488 CSteamPal_Turret_Wing_t m_sRightWing; // 0x4a0 Steampal_TurretType_t m_TurretType; // 0x4b8 private: [[maybe_unused]] uint8_t __pad04bc[0x4]; // 0x4bc public: CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_BreakPieces; // 0x4c0 CUtlVector< CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > > m_WhiteBreakPieces; // 0x4d8 bool m_bTakeOverCamera; // 0x4f0 bool m_bSynchedWings; // 0x4f1 bool m_bRawAiming; // 0x4f2 bool m_bUseInterpolationHack; // 0x4f3 float m_flTraceLength; // 0x4f4 float m_flXInputExponent; // 0x4f8 float m_flYInputExponent; // 0x4fc float m_flAxialDeadZoneX; // 0x500 float m_flAxialDeadZoneY; // 0x504 float m_flCircularDeadzoneMin; // 0x508 float m_flCircularDeadzoneMax; // 0x50c float m_flCircularExponent; // 0x510 float m_flWingDeployExplodeThreshold; // 0x514 int32_t m_nMaxAmmo; // 0x518 float m_flCameraOverShoulderOffset; // 0x51c float m_flCameraOverShoulderFOV; // 0x520 bool m_bOnlyValidTargetIfControlledByPlayer; // 0x524 private: [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 public: int32_t m_nHealth; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c public: CSoundEventName m_sWingOpenSound; // 0x530 CSoundEventName m_sWingCloseSound; // 0x540 CSoundEventName m_sWingMoveCompleteSound; // 0x550 CSoundEventName m_sWingMoveSound; // 0x560 Vector m_vDeployingVibration; // 0x570 Vector m_vShootingVibration; // 0x57c Vector m_vTakingDamageVibration; // 0x588 Vector m_vExplodingVibration; // 0x594 }; // Alignment: 10 // Size: 0x938 class CSteamPal_Intro_ToiletVData : public CSteamPal_TurretVData { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetWaterEffect; // 0x5a0 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sToiletFlushEffect; // 0x680 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sSmokingToiletSmokeEffect; // 0x760 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sBidetShootingBulletsEffect; // 0x840 float m_flTestSpringStrength; // 0x920 float m_flTestRequiredDuration; // 0x924 float m_flFlushWaitTime; // 0x928 float m_flCisternFillDuration; // 0x92c float m_flFlushDuration; // 0x930 bool m_bSmoking; // 0x934 }; // Alignment: 1 // Size: 0x108 class CSteamPal_ToiletTestPanelVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; // Alignment: 8 // Size: 0x1f8 struct CSteamPal_Ultra_Toilet_Gun_VData_t { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sMuzzleFlashEffect; // 0x0 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTracerEffect; // 0xe0 CUtlString m_strMuzzleAttachment; // 0x1c0 int32_t m_nAmmo; // 0x1c8 float m_flRateOfFire; // 0x1cc float m_flDamage; // 0x1d0 private: [[maybe_unused]] uint8_t __pad01d4[0x4]; // 0x1d4 public: CSoundEventName m_sShootSound; // 0x1d8 CSoundEventName m_sEmptySound; // 0x1e8 }; // Alignment: 12 // Size: 0x1558 class CSteamPal_Ultra_ToiletVData : public CSteamPal_TurretVData { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sUltraModelName; // 0x5a0 CSteamPal_Ultra_Toilet_Gun_VData_t m_Minigun; // 0x680 CSteamPal_Ultra_Toilet_Gun_VData_t m_SMG; // 0x878 CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L1; // 0xa70 CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_L2; // 0xc68 CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R1; // 0xe60 CSteamPal_Ultra_Toilet_Gun_VData_t m_AAGun_R2; // 0x1058 CSteamPal_Ultra_Toilet_Gun_VData_t m_Rocket; // 0x1250 CSoundEventName m_sMinigunWindUpSound; // 0x1448 CSoundEventName m_sMinigunWindDownSound; // 0x1458 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRadarSparksEffect; // 0x1468 CSoundEventName m_sRadarSparksSound; // 0x1548 }; // Alignment: 4 // Size: 0x200 class CSteamPal_Ultra_Toilet_RocketVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketTrailEffect; // 0x28 CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketExplosionEffect; // 0x108 CSoundEventName m_sRocketExplodeSound; // 0x1e8 int32_t m_nNumRocketPaths; // 0x1f8 }; // Alignment: 5 // Size: 0x18 struct SteamPal_Ultra_Toilet_Gun_t { public: SteampalUltraToiletGunType_t m_eGunType; // 0x0 AttachmentHandle_t m_nMuzzleAttachment; // 0x4 private: [[maybe_unused]] uint8_t __pad0005[0x3]; // 0x5 public: int32_t m_nNumShotsFired; // 0x8 float m_flNextAttackTime; // 0xc CSteamPal_Ultra_Toilet_Gun_VData_t* m_pGunVData; // 0x10 }; // Alignment: 10 // Size: 0x40 struct SteampalConveyorSection_t { public: float m_flStartT; // 0x0 float m_flEndT; // 0x4 float m_flSectionLength; // 0x8 float m_flCurrentT; // 0xc float m_flMaxSegmentLength; // 0x10 float m_flSegmentLengthT; // 0x14 int32_t m_nStartingSegmentIndex; // 0x18 Color m_DebugColor; // 0x1c private: [[maybe_unused]] uint8_t __pad0020[0x18]; // 0x20 public: CHandle< CSteamPalConveyorPathNode > m_hStartNode; // 0x38 CHandle< CSteamPalConveyorPathNode > m_hEndNode; // 0x3c }; // Alignment: 1 // Size: 0x108 class CSteamPal_TrackballVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; // Alignment: 1 // Size: 0x108 class CSteamPal_TouchScreenVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 }; // Alignment: 10 // Size: 0x230 class CSteamPal_DeskVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 // MPropertyDescription "Trackball Class" CEmbeddedSubclass< CSteamPal_Trackball > m_sTrackballClassToSpawn; // 0x108 CUtlString m_szLeftTrackballAttachmentName; // 0x118 CUtlString m_szRightTrackballAttachmentName; // 0x120 float m_flButtonAnimationDuration; // 0x128 float m_flButtonBlinkFrequency; // 0x12c CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sRocketBoostEffect; // 0x130 CUtlString m_strRecordedWavPath; // 0x210 CEmbeddedSubclass< CSteamPal_TouchScreen > m_sTouchScreenClassToSpawn; // 0x218 CUtlString m_szTouchScreenAttachment; // 0x228 }; // Alignment: 4 // Size: 0x1f8 class CSteamPal_Toaster_VData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sToastModel; // 0x28 CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sPopupTartModel; // 0x108 CUtlString m_strLauncher1Attachment; // 0x1e8 CUtlString m_strLauncher2Attachment; // 0x1f0 }; // Alignment: 1 // Size: 0x8 struct NPCApplianceBulletAttachment_t { public: CUtlString m_strAttachmentName; // 0x0 }; // Alignment: 18 // Size: 0x5e0 class CNPCApplianceWeaponBulletsVData : public CBaseNPCAbilityVData { public: // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashEffect; // 0x3b8 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerEffect; // 0x498 // MPropertyDescription "Muzzle attachements" CUtlVector< NPCApplianceBulletAttachment_t > m_vecMuzzleAttachments; // 0x578 // MPropertyGroupName "Sounds" CSoundEventName m_sFiringLoopingSound; // 0x590 // MPropertyGroupName "Using" CRangeInt m_nBurstSize; // 0x5a0 // MPropertyGroupName "Using" Vector m_vecBulletSpreadCone; // 0x5a8 // MPropertyGroupName "Using" float m_flSpreadBias; // 0x5b4 // MPropertyGroupName "Using" int32_t m_nPellets; // 0x5b8 // MPropertyGroupName "Using" bool m_bTargetingBullets; // 0x5bc // MPropertyDescription "When calculating the aim spread, should this ability apply the current aim refinement value of the wielding NPC?" // MPropertyGroupName "Using" bool m_bApplyAimRefinement; // 0x5bd private: [[maybe_unused]] uint8_t __pad05be[0x2]; // 0x5be public: float m_flAttackVerticalFOV; // 0x5c0 float m_flAttackHorizontalFOV; // 0x5c4 float m_flAttackMaxHeightDelta; // 0x5c8 float m_flAttackMinHeightDelta; // 0x5cc float m_flMinAngleX; // 0x5d0 float m_flMaxAngleX; // 0x5d4 float m_flMinAngleY; // 0x5d8 float m_flMaxAngleY; // 0x5dc }; // Alignment: 2 // Size: 0x18 struct NPCApplianceProjectileAttachment_t { public: CUtlString m_sAttachmentName; // 0x0 CSubclassName< 0 > m_sProjectileName; // 0x8 }; // Alignment: 13 // Size: 0x330 class CNPCApplianceProjectileVData : public CEntitySubclassVDataBase { public: // MPropertyAttributeEditor "AssetBrowse( vmdl )" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 float m_flShootVelocity; // 0x108 bool m_bExplode; // 0x10c private: [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d public: float m_flExplodeRadius; // 0x110 float m_flExplodeDamage; // 0x114 // MPropertyDescription "Damage to apply on projectile touch" float m_flTouchDamage; // 0x118 private: [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c public: // MPropertyGroupName "Particles" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sTrailParticle; // 0x120 // MPropertyGroupName "Particles" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_sExplosionParticle; // 0x200 // MPropertyGroupName "Sounds" CSoundEventName m_sHitWorldSound; // 0x2e0 // MPropertyGroupName "Sounds" CSoundEventName m_sHitBodySound; // 0x2f0 // MPropertyGroupName "Sounds" CSoundEventName m_sNearMissSound; // 0x300 // MPropertyGroupName "Sounds" CSoundEventName m_sPreExplodeSound; // 0x310 // MPropertyGroupName "Sounds" CSoundEventName m_sExplodeSound; // 0x320 }; // Alignment: 10 // Size: 0x410 class CNPCApplianceWeaponVData : public CBaseNPCAbilityVData { public: CUtlVector< NPCApplianceProjectileAttachment_t > m_vecProjectiles; // 0x3b8 float m_flOpenConeAngle; // 0x3d0 float m_flAttackConeAngle; // 0x3d4 bool m_bPickRandomProjectile; // 0x3d8 private: [[maybe_unused]] uint8_t __pad03d9[0x7]; // 0x3d9 public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphOpenParam; // 0x3e0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the open animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlStringToken m_sAnimgraphFinishOpenTag; // 0x3e8 private: [[maybe_unused]] uint8_t __pad03ec[0x4]; // 0x3ec public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphAttackParam; // 0x3f0 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the attack." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlStringToken m_sAnimgraphFinishAttackTag; // 0x3f8 private: [[maybe_unused]] uint8_t __pad03fc[0x4]; // 0x3fc public: // MPropertyDescription "The animgraph parameter that should be set on the NPC's animgraph when it performs the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphParam( m_sModelName )" CUtlString m_sAnimgraphCloseParam; // 0x400 // MPropertyDescription "The animgraph status tag that will be waited for by the NPC when it has finished performing the close animation." // MPropertyGroupName "Animation" // MPropertyAttributeEditor "VDataAnimGraphTag( m_sModelName )" CUtlStringToken m_sAnimgraphFinishCloseTag; // 0x408 }; // Alignment: 2 // Size: 0x18 struct NPCApplianceProjectileRuntime_t { public: QAngle m_qPreviousAngle; // 0x0 RotationVector m_vAngularVelocity; // 0xc }; // Alignment: 2 // Size: 0x288 class CNPC_ApplianceVData : public CAI_DefaultNPCVData { public: float m_flInstantKillSpeed; // 0x280 float m_flInstantKillMultiplier; // 0x284 }; // Alignment: 5 // Size: 0x38 struct AmmoTypeInfo_t { public: int32_t m_nMaxCarry; // 0x10 private: [[maybe_unused]] uint8_t __pad0014[0x8]; // 0x14 public: CRangeInt m_nSplashSize; // 0x1c AmmoFlags_t m_nFlags; // 0x24 float m_flMass; // 0x28 CRangeFloat m_flSpeed; // 0x2c }; // Alignment: 4 // Size: 0x3d8 class CNPCAbilitySpawnVData : public CBaseNPCAbilityVData { public: // MPropertyAttributeEditor "VDataChoice( scripts/npc_units.vdata )" // MPropertyGroupName "Using" CSubclassNameGeneric m_sSubclassToSpawn; // 0x3b8 // MPropertyGroupName "Using" CRangeInt m_nNumToSpawn; // 0x3c8 // MPropertyGroupName "Using" bool m_bSpawnInRagdoll; // 0x3d0 private: [[maybe_unused]] uint8_t __pad03d1[0x3]; // 0x3d1 public: // MPropertyGroupName "Using" float m_flRagdollSpawnForceMultiplier; // 0x3d4 }; // Alignment: 2 // Size: 0x18 class Extent { public: Vector lo; // 0x0 Vector hi; // 0xc }; // Alignment: 0 // Size: 0x70 class CNavVolume { public: uint8_t __pad0000[0x70]; // Autoaligned }; // Alignment: 1 // Size: 0x98 class CNavVolumeVector : public CNavVolume { public: bool m_bHasBeenPreFiltered; // 0x78 }; // Alignment: 0 // Size: 0x98 class CNavVolumeAll : public CNavVolumeVector { public: // No members available }; // Alignment: 2 // Size: 0x80 class CNavVolumeSphere : public CNavVolume { public: Vector m_vCenter; // 0x70 float m_flRadius; // 0x7c }; // Alignment: 1 // Size: 0x88 class CNavVolumeSphericalShell : public CNavVolumeSphere { public: float m_flRadiusInner; // 0x80 }; // Alignment: 11 // Size: 0x78 class CEntityIdentity { public: // MNetworkEnable // MNetworkChangeCallback "entityIdentityNameChanged" int32_t m_nameStringableIndex; // 0x14 CUtlSymbolLarge m_name; // 0x18 CUtlSymbolLarge m_designerName; // 0x20 private: [[maybe_unused]] uint8_t __pad0028[0x8]; // 0x28 public: uint32_t m_flags; // 0x30 private: [[maybe_unused]] uint8_t __pad0034[0x4]; // 0x34 public: uint32_t m_fDataObjectTypes; // 0x38 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex ChangeAccessorFieldPathIndex_t m_PathIndex; // 0x3c private: [[maybe_unused]] uint8_t __pad003e[0x12]; // 0x3e public: CEntityIdentity* m_pPrev; // 0x50 CEntityIdentity* m_pNext; // 0x58 CEntityIdentity* m_pPrevByClass; // 0x60 CEntityIdentity* m_pNextByClass; // 0x68 V_uuid_t* m_pId; // 0x70 }; // Alignment: 4 // Size: 0x38 class CEntityInstance : public IHandleEntity { public: // MNetworkDisable CUtlSymbolLarge m_iszPrivateVScripts; // 0x8 // MNetworkEnable // MNetworkPriority "56" CEntityIdentity* m_pEntity; // 0x10 private: [[maybe_unused]] uint8_t __pad0018[0x8]; // 0x18 public: // MNetworkDisable CUtlStringToken m_worldGroupId; // 0x20 private: [[maybe_unused]] uint8_t __pad0024[0xc]; // 0x24 public: // MNetworkEnable // MNetworkDisable CScriptComponent* m_CScriptComponent; // 0x30 }; // Alignment: 1 // Size: 0x38 class CScriptComponent : public CEntityComponent { public: CUtlSymbolLarge m_scriptClassName; // 0x30 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CScriptComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x40 class CBodyComponent : public CEntityComponent { public: // MNetworkDisable CGameSceneNode* m_pSceneNode; // 0x8 private: [[maybe_unused]] uint8_t __pad0010[0x10]; // 0x10 public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x20 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x1c0 class CBodyComponentPoint : public CBodyComponent { public: // MNetworkEnable CGameSceneNode m_sceneNode; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x1a0 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentPoint")->m_static_fields[1]->m_instance);}; }; // Alignment: 2 // Size: 0x520 class CBodyComponentSkeletonInstance : public CBodyComponent { public: // MNetworkEnable CSkeletonInstance m_skeletonInstance; // 0x40 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x500 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentSkeletonInstance")->m_static_fields[1]->m_instance);}; }; // Alignment: 1 // Size: 0x20 class CHitboxComponent : public CEntityComponent { public: uint32_t m_unDisabledHitGroupMask; // 0x1c static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CHitboxComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 66 // Size: 0x1c0 class CLightComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x48 private: [[maybe_unused]] uint8_t __pad0060[0x15]; // 0x60 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" Color m_Color; // 0x75 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" Color m_SecondaryColor; // 0x79 private: [[maybe_unused]] uint8_t __pad007d[0x3]; // 0x7d public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBrightness; // 0x80 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flBrightnessMult; // 0x84 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flRange; // 0x88 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFalloff; // 0x8c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation0; // 0x90 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation1; // 0x94 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flAttenuation2; // 0x98 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flTheta; // 0x9c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flPhi; // 0xa0 private: [[maybe_unused]] uint8_t __pad00a4[0x4]; // 0xa4 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0xa8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCascades; // 0xb0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCastShadows; // 0xb4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowWidth; // 0xb8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowHeight; // 0xbc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderDiffuse; // 0xc0 private: [[maybe_unused]] uint8_t __pad00c1[0x3]; // 0xc1 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nRenderSpecular; // 0xc4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderTransmissive; // 0xc8 private: [[maybe_unused]] uint8_t __pad00c9[0x3]; // 0xc9 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flOrthoLightWidth; // 0xcc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flOrthoLightHeight; // 0xd0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nStyle; // 0xd4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CUtlString m_Pattern; // 0xd8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nCascadeRenderStaticObjects; // 0xe0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeCrossFade; // 0xe4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistanceFade; // 0xe8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance0; // 0xec // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance1; // 0xf0 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance2; // 0xf4 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowCascadeDistance3; // 0xf8 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution0; // 0xfc // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution1; // 0x100 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution2; // 0x104 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowCascadeResolution3; // 0x108 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bUsesBakedShadowing; // 0x10c private: [[maybe_unused]] uint8_t __pad010d[0x3]; // 0x10d public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nShadowPriority; // 0x110 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" int32_t m_nBakedShadowIndex; // 0x114 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bRenderToCubemaps; // 0x118 private: [[maybe_unused]] uint8_t __pad0119[0x7]; // 0x119 public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" CUtlSymbolLarge m_LightGroups; // 0x120 // MNetworkEnable int32_t m_nDirectLight; // 0x128 // MNetworkEnable int32_t m_nIndirectLight; // 0x12c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFadeMinDist; // 0x130 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flFadeMaxDist; // 0x134 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowFadeMinDist; // 0x138 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flShadowFadeMaxDist; // 0x13c // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bEnabled; // 0x140 // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" bool m_bFlicker; // 0x141 // MNetworkEnable bool m_bPrecomputedFieldsValid; // 0x142 private: [[maybe_unused]] uint8_t __pad0143[0x1]; // 0x143 public: // MNetworkEnable Vector m_vPrecomputedBoundsMins; // 0x144 // MNetworkEnable Vector m_vPrecomputedBoundsMaxs; // 0x150 // MNetworkEnable Vector m_vPrecomputedOBBOrigin; // 0x15c // MNetworkEnable QAngle m_vPrecomputedOBBAngles; // 0x168 // MNetworkEnable Vector m_vPrecomputedOBBExtent; // 0x174 // MNetworkEnable float m_flPrecomputedMaxRange; // 0x180 // MNetworkEnable int32_t m_nFogLightingMode; // 0x184 // MNetworkEnable float m_flFogContributionStength; // 0x188 // MNetworkEnable float m_flNearClipPlane; // 0x18c // MNetworkEnable Color m_SkyColor; // 0x190 // MNetworkEnable float m_flSkyIntensity; // 0x194 // MNetworkEnable Color m_SkyAmbientBounce; // 0x198 // MNetworkEnable bool m_bUseSecondaryColor; // 0x19c // MNetworkEnable // MNetworkChangeCallback "MixedShadowsChanged" bool m_bMixedShadows; // 0x19d private: [[maybe_unused]] uint8_t __pad019e[0x2]; // 0x19e public: // MNetworkEnable // MNetworkChangeCallback "LightRenderingChanged" float m_flLightStyleStartTime; // 0x1a0 // MNetworkEnable float m_flCapsuleLength; // 0x1a4 private: [[maybe_unused]] uint8_t __pad01a8[0x10]; // 0x1a8 public: bool m_bPvsModifyEntity; // 0x1b8 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CLightComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 5 // Size: 0xa8 class CRenderComponent : public CEntityComponent { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x10 private: [[maybe_unused]] uint8_t __pad0028[0x18]; // 0x28 public: bool m_bIsRenderingWithViewModels; // 0x40 private: [[maybe_unused]] uint8_t __pad0041[0x3]; // 0x41 public: uint32_t m_nSplitscreenFlags; // 0x44 private: [[maybe_unused]] uint8_t __pad0048[0x8]; // 0x48 public: bool m_bEnableRendering; // 0x50 private: [[maybe_unused]] uint8_t __pad0051[0x4f]; // 0x51 public: bool m_bInterpolationReadyToDraw; // 0xa0 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRenderComponent")->m_static_fields[1]->m_instance);}; }; // Alignment: 21 // Size: 0x338 class CBasePlayerWeaponVData : public CEntitySubclassVDataBase { public: // MPropertyDescription "Model used on the ground or held by an entity" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_szWorldModel; // 0x28 // MPropertyDescription "Was the weapon was built right-handed?" // MPropertyGroupName "Visuals" bool m_bBuiltRightHanded; // 0x108 // MPropertyDescription "Allows flipping the model, regardless of whether it is built left or right handed" // MPropertyGroupName "Visuals" bool m_bAllowFlipping; // 0x109 private: [[maybe_unused]] uint8_t __pad010a[0x6]; // 0x10a public: // MPropertyGroupName "Visuals" // MPropertyDescription "Attachment to fire bullets from" // MPropertyAttributeEditor "VDataModelAttachment( m_szWorldModel )" CUtlString m_sMuzzleAttachment; // 0x110 // MPropertyDescription "Effect when firing this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szMuzzleFlashParticle; // 0x118 // MPropertyDescription "Effect to actually fire into the world from this weapon" // MPropertyGroupName "Visuals" CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szTracerParticle; // 0x1f8 CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x2d8 ItemFlagTypes_t m_iFlags; // 0x2f0 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType AmmoIndex_t m_nPrimaryAmmoType; // 0x2f1 // MPropertyAttributeEditor "VDataChoice( scripts/ammo.vdata )" // MPropertyGroupName "Ammo" // MPropertyCustomFGDType AmmoIndex_t m_nSecondaryAmmoType; // 0x2f2 private: [[maybe_unused]] uint8_t __pad02f3[0x1]; // 0x2f3 public: // MPropertyFriendlyName "Primary Clip Size" // MPropertyDescription "How many bullets this gun can fire before it reloads (0 if no clip)" // MPropertyAttributeRange "0 255" // MPropertyGroupName "Ammo" int32_t m_iMaxClip1; // 0x2f4 // MPropertyFriendlyName "Secondary Clip Size" // MPropertyDescription "How many secondary bullets this gun can fire before it reloads (0 if no clip)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "0 255" int32_t m_iMaxClip2; // 0x2f8 // MPropertyDescription "Primary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" int32_t m_iDefaultClip1; // 0x2fc // MPropertyDescription "Secondary Initial Clip (-1 means use clip size)" // MPropertyGroupName "Ammo" // MPropertyAttributeRange "-1 255" int32_t m_iDefaultClip2; // 0x300 // MPropertyFriendlyName "HUD Bucket" // MPropertyDescription "Which 'column' to display this weapon in the HUD" // MPropertyGroupName "UI" int32_t m_iSlot; // 0x304 // MPropertyFriendlyName "HUD Bucket Position" // MPropertyDescription "Which 'row' to display this weapon in the HUD" // MPropertyGroupName "UI" int32_t m_iPosition; // 0x308 // MPropertyDescription "This value used to determine this weapon's importance in autoselection" // MPropertyGroupName "UI" int32_t m_iWeight; // 0x30c // MPropertyFriendlyName "Safe To Auto-Switch To" // MPropertyDescription "Whether this weapon is safe to automatically switch to (should be false for eg. explosives that can the player may accidentally hurt themselves with)" // MPropertyGroupName "UI" bool m_bAutoSwitchTo; // 0x310 // MPropertyFriendlyName "Safe To Auto-Switch Away From" // MPropertyGroupName "UI" bool m_bAutoSwitchFrom; // 0x311 private: [[maybe_unused]] uint8_t __pad0312[0x2]; // 0x312 public: // MPropertyGroupName "UI" RumbleEffect_t m_iRumbleEffect; // 0x314 CUtlMap< WeaponSound_t, CSoundEventName > m_aShootSounds; // 0x318 }; // Alignment: 18 // Size: 0x5a0 class CBaseAnimatingController : public CSkeletonAnimationController { public: // MNetworkEnable // MNetworkChangeCallback "baseAnimBaseLayerChanged" CNetworkedSequenceOperation m_baseLayer; // 0x18 // MNetworkEnable CAnimGraphNetworkedVariables m_animGraphNetworkedVars; // 0x58 private: [[maybe_unused]] uint8_t __pad02b8[0x8]; // 0x2b8 public: // MNetworkDisable bool m_bSequenceFinished; // 0x2c0 private: [[maybe_unused]] uint8_t __pad02c1[0x3]; // 0x2c1 public: // MNetworkDisable float m_flGroundSpeed; // 0x2c4 // MNetworkDisable float m_flLastEventCycle; // 0x2c8 // MNetworkDisable float m_flLastEventAnimTime; // 0x2cc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "-4" // MNetworkMaxValue "12" // MNetworkEncodeFlags // MNetworkPriority "32" // MNetworkChangeCallback "playbackRateChanged" CNetworkedQuantizedFloat m_flPlaybackRate; // 0x2d0 // MNetworkDisable float m_flPrevAnimTime; // 0x2e8 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkUserGroup "m_flPoseParameter" // MNetworkChangeCallback "poseParametersChanged" float m_flPoseParameter[24]; // 0x2ec // MNetworkEnable // MNetworkChangeCallback "clientSideAnimationChanged" bool m_bClientSideAnimation; // 0x34c // MNetworkDisable bool m_bNetworkedAnimationInputsChanged; // 0x34d private: [[maybe_unused]] uint8_t __pad034e[0x2]; // 0x34e public: // MNetworkEnable // MNetworkPriority "32" // MNetworkChangeCallback "clientSideAnimCycleReset" int32_t m_nNewSequenceParity; // 0x350 // MNetworkEnable // MNetworkPriority "32" int32_t m_nResetEventsParity; // 0x354 // MNetworkDisable float m_flIKGroundContactTime; // 0x358 // MNetworkDisable float m_flIKGroundMinHeight; // 0x35c // MNetworkDisable float m_flIKGroundMaxHeight; // 0x360 // MNetworkDisable float m_flIkZAdjustAmount; // 0x364 private: [[maybe_unused]] uint8_t __pad0368[0x28]; // 0x368 public: // MNetworkDisable CSequenceTransitioner2 m_SequenceTransitioner; // 0x390 }; // Alignment: 2 // Size: 0xae0 class CBodyComponentBaseAnimating : public CBodyComponentSkeletonInstance { public: // MNetworkEnable CBaseAnimatingController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0xac0 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimating")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimating")->m_static_fields[1]->m_instance);}; }; // Alignment: 1 // Size: 0x5f0 class CBaseAnimatingOverlayController : public CBaseAnimatingController { public: // MNetworkEnable // MNetworkUserGroup "overlay_vars" // MNetworkChangeCallback "OnOverlaysChanged2" CUtlVectorEmbeddedNetworkVar< CAnimationLayer > m_AnimOverlay; // 0x5a0 }; // Alignment: 2 // Size: 0xb30 class CBodyComponentBaseAnimatingOverlay : public CBodyComponentSkeletonInstance { public: // MNetworkEnable CBaseAnimatingOverlayController m_animationController; // 0x520 // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0xb10 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimatingOverlay")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseAnimatingOverlay")->m_static_fields[1]->m_instance);}; }; // Alignment: 1 // Size: 0x540 class CBodyComponentBaseModelEntity : public CBodyComponentSkeletonInstance { public: // MNetworkDisable // MNetworkChangeAccessorFieldPathIndex CNetworkVarChainer __m_pChainEntity; // 0x520 static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_contained_but_impl_is_referenced(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBodyComponentBaseModelEntity")->m_static_fields[1]->m_instance);}; }; // Alignment: 0 // Size: 0x20 class CTouchExpansionComponent : public CEntityComponent { public: static EntComponentInfo_t &Get_s_EntComponentInfo(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[0]->m_instance);}; static int32_t &Get_entity_component_error_class_decl_says_referenced_but_impl_is_contained(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTouchExpansionComponent")->m_static_fields[1]->m_instance);}; // No members available }; // Alignment: 2 // Size: 0x10 struct RelationshipOverride_t : public Relationship_t { public: CHandle< CBaseEntity > entity; // 0x8 Class_T classType; // 0xc }; // Alignment: 79 // Size: 0x4f0 class CBaseEntity : public CEntityInstance { public: // MNetworkEnable // MNetworkUserGroup "CBodyComponent" // MNetworkAlias "CBodyComponent" // MNetworkTypeAlias "CBodyComponent" // MNetworkPriority "48" CBodyComponent* m_CBodyComponent; // 0x38 CNetworkTransmitComponent m_NetworkTransmitComponent; // 0x40 private: [[maybe_unused]] uint8_t __pad01e0[0x40]; // 0x1e0 public: CUtlVector< thinkfunc_t > m_aThinkFunctions; // 0x220 int32_t m_iCurrentThinkContext; // 0x238 int32_t m_nLastThinkTick; // 0x23c CGameSceneNode* m_pGameSceneNode; // 0x240 CBitVec< 64 > m_isSteadyState; // 0x248 float m_lastNetworkChange; // 0x250 private: [[maybe_unused]] uint8_t __pad0254[0xc]; // 0x254 public: CUtlVector< ResponseContext_t > m_ResponseContexts; // 0x260 CUtlSymbolLarge m_iszResponseContext; // 0x278 private: [[maybe_unused]] uint8_t __pad0280[0x20]; // 0x280 public: // MNetworkEnable // MNetworkSerializer "ClampHealth" // MNetworkUserGroup "Player" // MNetworkPriority "32" int32_t m_iHealth; // 0x2a0 // MNetworkEnable int32_t m_iMaxHealth; // 0x2a4 // MNetworkEnable // MNetworkUserGroup "Player" // MNetworkPriority "32" uint8_t m_lifeState; // 0x2a8 private: [[maybe_unused]] uint8_t __pad02a9[0x3]; // 0x2a9 public: float m_flDamageAccumulator; // 0x2ac // MNetworkEnable bool m_bTakesDamage; // 0x2b0 private: [[maybe_unused]] uint8_t __pad02b1[0x1]; // 0x2b1 public: // MNetworkEnable TakeDamageFlags_t m_nTakeDamageFlags; // 0x2b2 private: [[maybe_unused]] uint8_t __pad02b4[0x1]; // 0x2b4 public: // MNetworkEnable MoveCollide_t m_MoveCollide; // 0x2b5 // MNetworkEnable MoveType_t m_MoveType; // 0x2b6 uint8_t m_nWaterTouch; // 0x2b7 uint8_t m_nSlimeTouch; // 0x2b8 bool m_bRestoreInHierarchy; // 0x2b9 private: [[maybe_unused]] uint8_t __pad02ba[0x6]; // 0x2ba public: CUtlSymbolLarge m_target; // 0x2c0 float m_flMoveDoneTime; // 0x2c8 CHandle< CBaseEntity > m_hDamageFilter; // 0x2cc CUtlSymbolLarge m_iszDamageFilterName; // 0x2d0 // MNetworkEnable // MNetworkSendProxyRecipientsFilter CUtlStringToken m_nSubclassID; // 0x2d8 private: [[maybe_unused]] uint8_t __pad02dc[0xc]; // 0x2dc public: // MNetworkEnable // MNetworkPriority "0" // MNetworkSerializer "animTimeSerializer" // MNetworkSendProxyRecipientsFilter float m_flAnimTime; // 0x2e8 // MNetworkEnable // MNetworkPriority "1" // MNetworkSerializer "simulationTimeSerializer" float m_flSimulationTime; // 0x2ec // MNetworkEnable float m_flCreateTime; // 0x2f0 // MNetworkEnable bool m_bClientSideRagdoll; // 0x2f4 // MNetworkEnable uint8_t m_ubInterpolationFrame; // 0x2f5 private: [[maybe_unused]] uint8_t __pad02f6[0x2]; // 0x2f6 public: Vector m_vPrevVPhysicsUpdatePos; // 0x2f8 // MNetworkEnable uint8_t m_iTeamNum; // 0x304 private: [[maybe_unused]] uint8_t __pad0305[0x3]; // 0x305 public: CUtlSymbolLarge m_iGlobalname; // 0x308 int32_t m_iSentToClients; // 0x310 float m_flSpeed; // 0x314 CUtlString m_sUniqueHammerID; // 0x318 // MNetworkEnable uint32_t m_spawnflags; // 0x320 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" int32_t m_nNextThinkTick; // 0x324 int32_t m_nSimulationTick; // 0x328 private: [[maybe_unused]] uint8_t __pad032c[0x4]; // 0x32c public: CEntityIOOutput m_OnKilled; // 0x330 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" uint32_t m_fFlags; // 0x358 Vector m_vecAbsVelocity; // 0x35c // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" // MNetworkPriority "32" CNetworkVelocityVector m_vecVelocity; // 0x368 private: [[maybe_unused]] uint8_t __pad03c8[0x8]; // 0x3c8 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" Vector m_vecBaseVelocity; // 0x3d0 int32_t m_nPushEnumCount; // 0x3dc CCollisionProperty* m_pCollision; // 0x3e0 // MNetworkEnable CModifierProperty* m_pModifierProp; // 0x3e8 // MNetworkEnable CHandle< CBaseEntity > m_hEffectEntity; // 0x3f0 // MNetworkEnable // MNetworkPriority "32" CHandle< CBaseEntity > m_hOwnerEntity; // 0x3f4 // MNetworkEnable // MNetworkChangeCallback "OnEffectsChanged" uint32_t m_fEffects; // 0x3f8 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" CHandle< CBaseEntity > m_hGroundEntity; // 0x3fc // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "4" // MNetworkEncodeFlags // MNetworkUserGroup "LocalPlayerExclusive" float m_flFriction; // 0x400 // MNetworkEnable // MNetworkEncoder float m_flElasticity; // 0x404 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flGravityScale; // 0x408 // MNetworkEnable // MNetworkUserGroup "Player" uint8_t m_nWaterLevel; // 0x40c // MNetworkEnable bool m_bSimulatedEveryTick; // 0x40d // MNetworkEnable bool m_bAnimatedEveryTick; // 0x40e // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMinCPULevel; // 0x40f // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMaxCPULevel; // 0x410 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMinGPULevel; // 0x411 // MNetworkEnable // MNetworkUserGroup "ScalabilityOptions" uint8_t m_nMaxGPULevel; // 0x412 bool m_bDisableLowViolence; // 0x413 uint8_t m_nWaterType; // 0x414 private: [[maybe_unused]] uint8_t __pad0415[0x3]; // 0x415 public: int32_t m_iEFlags; // 0x418 private: [[maybe_unused]] uint8_t __pad041c[0x4]; // 0x41c public: CEntityIOOutput m_OnUser1; // 0x420 CEntityIOOutput m_OnUser2; // 0x448 CEntityIOOutput m_OnUser3; // 0x470 CEntityIOOutput m_OnUser4; // 0x498 int32_t m_iInitialTeamNum; // 0x4c0 // MNetworkEnable float m_flNavIgnoreUntilTime; // 0x4c4 QAngle m_vecAngVelocity; // 0x4c8 float m_flGroundChangeTime; // 0x4d4 bool m_bNetworkQuantizeOriginAndAngles; // 0x4d8 bool m_bLagCompensate; // 0x4d9 private: [[maybe_unused]] uint8_t __pad04da[0x2]; // 0x4da public: float m_flOverriddenFriction; // 0x4dc CHandle< CBaseEntity > m_pBlocker; // 0x4e0 float m_flLocalTime; // 0x4e4 float m_flVPhysicsUpdateLocalTime; // 0x4e8 static Relationship_t** &Get_sm_DefaultRelationship(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[0]->m_instance);}; static bool &Get_sm_bAccurateTriggerBboxChecks(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[1]->m_instance);}; static bool &Get_sm_bDisableTouchFuncs(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[2]->m_instance);}; static bool &Get_m_bAllowPrecache(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[3]->m_instance);}; static bool &Get_s_bAbsQueriesValid(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[4]->m_instance);}; static bool &Get_s_bPreventingSetAnimRunAnimEvents(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[5]->m_instance);}; static int32_t &Get_m_nPredictionRandomSeed(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[6]->m_instance);}; static CBasePlayerController* &Get_m_pPredictionPlayerController(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[7]->m_instance);}; static bool &Get_sm_bDatadescValidating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseEntity")->m_static_fields[8]->m_instance);}; }; // Alignment: 0 // Size: 0x4f0 class CServerOnlyEntity : public CBaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CServerOnlyPointEntity : public CServerOnlyEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CLogicalEntity : public CServerOnlyEntity { public: // No members available }; // Alignment: 17 // Size: 0x728 class CColorCorrection : public CBaseEntity { public: // MNetworkEnable float m_flFadeInDuration; // 0x4f0 // MNetworkEnable float m_flFadeOutDuration; // 0x4f4 float m_flStartFadeInWeight; // 0x4f8 float m_flStartFadeOutWeight; // 0x4fc float m_flTimeStartFadeIn; // 0x500 float m_flTimeStartFadeOut; // 0x504 // MNetworkEnable float m_flMaxWeight; // 0x508 bool m_bStartDisabled; // 0x50c // MNetworkEnable bool m_bEnabled; // 0x50d // MNetworkEnable bool m_bMaster; // 0x50e // MNetworkEnable bool m_bClientSide; // 0x50f // MNetworkEnable bool m_bExclusive; // 0x510 private: [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 public: // MNetworkEnable float m_MinFalloff; // 0x514 // MNetworkEnable float m_MaxFalloff; // 0x518 // MNetworkEnable float m_flCurWeight; // 0x51c // MNetworkEnable char m_netlookupFilename[512]; // 0x520 CUtlSymbolLarge m_lookupFilename; // 0x720 }; // Alignment: 11 // Size: 0x528 class CEntityFlame : public CBaseEntity { public: // MNetworkEnable CHandle< CBaseEntity > m_hEntAttached; // 0x4f0 // MNetworkEnable bool m_bCheapEffect; // 0x4f4 private: [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 public: float m_flSize; // 0x4f8 bool m_bUseHitboxes; // 0x4fc private: [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd public: int32_t m_iNumHitboxFires; // 0x500 float m_flHitboxFireScale; // 0x504 float m_flLifetime; // 0x508 CHandle< CBaseEntity > m_hAttacker; // 0x50c int32_t m_iDangerSound; // 0x510 float m_flDirectDamagePerSecond; // 0x514 int32_t m_iCustomDamageType; // 0x518 }; // Alignment: 3 // Size: 0x548 class CBaseFilter : public CLogicalEntity { public: bool m_bNegated; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: CEntityIOOutput m_OnPass; // 0x4f8 CEntityIOOutput m_OnFail; // 0x520 }; // Alignment: 4 // Size: 0x5d0 class CFilterMultiple : public CBaseFilter { public: filter_t m_nFilterType; // 0x548 private: [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c public: CUtlSymbolLarge m_iFilterName[10]; // 0x550 CHandle< CBaseEntity > m_hFilter[10]; // 0x5a0 int32_t m_nFilterCount; // 0x5c8 }; // Alignment: 1 // Size: 0x550 class CFilterProximity : public CBaseFilter { public: float m_flRadius; // 0x548 }; // Alignment: 0 // Size: 0x548 class CFilterLOS : public CBaseFilter { public: // No members available }; // Alignment: 1 // Size: 0x550 class CFilterClass : public CBaseFilter { public: CUtlSymbolLarge m_iFilterClass; // 0x548 }; // Alignment: 4 // Size: 0x500 class CBaseFire : public CBaseEntity { public: // MNetworkEnable float m_flScale; // 0x4f0 // MNetworkEnable float m_flStartScale; // 0x4f4 // MNetworkEnable float m_flScaleTime; // 0x4f8 // MNetworkEnable uint32_t m_nFlags; // 0x4fc }; // Alignment: 2 // Size: 0x508 class CFireSmoke : public CBaseFire { public: // MNetworkEnable int32_t m_nFlameModelIndex; // 0x500 // MNetworkEnable int32_t m_nFlameFromAboveModelIndex; // 0x504 }; // Alignment: 7 // Size: 0x540 class CFishPool : public CBaseEntity { public: int32_t m_fishCount; // 0x500 float m_maxRange; // 0x504 float m_swimDepth; // 0x508 float m_waterLevel; // 0x50c bool m_isDormant; // 0x510 private: [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 public: CUtlVector< CHandle< CFish > > m_fishes; // 0x518 CountdownTimer m_visTimer; // 0x530 }; // Alignment: 0 // Size: 0x880 class CInfoData : public CServerOnlyEntity { public: // No members available }; // Alignment: 0 // Size: 0x8 class IServerVehicle : public IVehicle { public: // No members available }; // Alignment: 4 // Size: 0x560 class CLogicBranch : public CLogicalEntity { public: bool m_bInValue; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: CUtlVector< CHandle< CBaseEntity > > m_Listeners; // 0x4f8 CEntityIOOutput m_OnTrue; // 0x510 CEntityIOOutput m_OnFalse; // 0x538 }; // Alignment: 7 // Size: 0x580 class CLogicDistanceCheck : public CLogicalEntity { public: CUtlSymbolLarge m_iszEntityA; // 0x4f0 CUtlSymbolLarge m_iszEntityB; // 0x4f8 float m_flZone1Distance; // 0x500 float m_flZone2Distance; // 0x504 CEntityIOOutput m_InZone1; // 0x508 CEntityIOOutput m_InZone2; // 0x530 CEntityIOOutput m_InZone3; // 0x558 }; // Alignment: 3 // Size: 0x508 class CPointPrefab : public CServerOnlyPointEntity { public: CUtlSymbolLarge m_targetMapName; // 0x4f0 CUtlSymbolLarge m_forceWorldGroupID; // 0x4f8 bool m_fixupNames; // 0x500 }; // Alignment: 2 // Size: 0x4f8 class CSkyboxReference : public CBaseEntity { public: CUtlStringToken m_worldGroupId; // 0x4f0 CHandle< CSkyCamera > m_hSkyCamera; // 0x4f4 }; // Alignment: 4 // Size: 0x590 class CSkyCamera : public CBaseEntity { public: // MNetworkEnable sky3dparams_t m_skyboxData; // 0x4f0 // MNetworkEnable CUtlStringToken m_skyboxSlotToken; // 0x580 bool m_bUseAngles; // 0x584 private: [[maybe_unused]] uint8_t __pad0585[0x3]; // 0x585 public: CSkyCamera* m_pNext; // 0x588 }; // Alignment: 8 // Size: 0x578 class CEnvSoundscape : public CServerOnlyEntity { public: CEntityIOOutput m_OnPlay; // 0x4f0 float m_flRadius; // 0x518 private: [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c public: CUtlSymbolLarge m_soundscapeName; // 0x520 int32_t m_soundscapeIndex; // 0x528 int32_t m_soundscapeEntityListId; // 0x52c CUtlSymbolLarge m_positionNames[8]; // 0x530 CHandle< CEnvSoundscape > m_hProxySoundscape; // 0x570 bool m_bDisabled; // 0x574 }; // Alignment: 1 // Size: 0x580 class CEnvSoundscapeProxy : public CEnvSoundscape { public: CUtlSymbolLarge m_MainSoundscapeName; // 0x578 }; // Alignment: 0 // Size: 0x578 class CEnvSoundscapeTriggerable : public CEnvSoundscape { public: // No members available }; // Alignment: 27 // Size: 0x5a0 class CTriggerCamera : public CBaseEntity { public: CHandle< CBaseEntity > m_hPlayer; // 0x4f0 CHandle< CBaseEntity > m_hTarget; // 0x4f4 CBaseEntity* m_pPath; // 0x4f8 CUtlSymbolLarge m_sPath; // 0x500 float m_flWait; // 0x508 float m_flReturnTime; // 0x50c float m_flStopTime; // 0x510 float m_moveDistance; // 0x514 float m_targetSpeed; // 0x518 float m_initialSpeed; // 0x51c float m_acceleration; // 0x520 float m_deceleration; // 0x524 int32_t m_state; // 0x528 Vector m_vecMoveDir; // 0x52c float m_fov; // 0x538 float m_fovSpeed; // 0x53c CUtlSymbolLarge m_iszTargetAttachment; // 0x540 AttachmentHandle_t m_iAttachmentIndex; // 0x548 bool m_bSnapToGoal; // 0x549 bool m_bInterpolatePosition; // 0x54a private: [[maybe_unused]] uint8_t __pad054b[0x1]; // 0x54b public: Vector m_vStartPos; // 0x54c Vector m_vEndPos; // 0x558 float m_flInterpStartTime; // 0x564 uint64_t m_nPlayerButtons; // 0x568 bool m_bOldTakesDamage; // 0x570 private: [[maybe_unused]] uint8_t __pad0571[0x1]; // 0x571 public: TakeDamageFlags_t m_nOldTakeDamageFlags; // 0x572 private: [[maybe_unused]] uint8_t __pad0574[0x4]; // 0x574 public: CEntityIOOutput m_OnEndFollow; // 0x578 static float &Get_kflPosInterpTime(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CTriggerCamera")->m_static_fields[0]->m_instance);}; }; // Alignment: 21 // Size: 0x250 class CBaseServerVehicle : public IServerVehicle { public: CUtlVector< CPassengerInfo > m_PassengerInfo; // 0x8 CUtlVector< CPassengerRole > m_PassengerRoles; // 0x20 CBaseEntity* m_pVehicle; // 0x38 private: [[maybe_unused]] uint8_t __pad0040[0x8]; // 0x40 public: int32_t m_nNPCButtons; // 0x48 int32_t m_nPrevNPCButtons; // 0x4c float m_flTurnDegrees; // 0x50 private: [[maybe_unused]] uint8_t __pad0054[0x4]; // 0x54 public: CUtlVector< CBaseServerVehicle::entryanim_t > m_EntryAnimations; // 0x58 CUtlVector< CBaseServerVehicle::exitanim_t > m_ExitAnimations; // 0x70 bool m_bParsedAnimations; // 0x88 bool m_bUseLegacyExitChecks; // 0x89 private: [[maybe_unused]] uint8_t __pad008a[0x2]; // 0x8a public: int32_t m_iCurrentExitAnim; // 0x8c Vector m_vecCurrentExitEndPoint; // 0x90 Vector m_savedViewOffset; // 0x9c CHandle< CEntityBlocker > m_hExitBlocker; // 0xa8 private: [[maybe_unused]] uint8_t __pad00ac[0x4]; // 0xac public: vehiclesounds_t m_vehicleSounds; // 0xb0 float m_flVehicleVolume; // 0x220 int32_t m_iSoundGear; // 0x224 float m_flSpeedPercentage; // 0x228 private: [[maybe_unused]] uint8_t __pad022c[0x14]; // 0x22c public: sound_states m_soundState; // 0x240 float m_soundStateStartTime; // 0x244 float m_lastSpeed; // 0x248 }; // Alignment: 0 // Size: 0xd8 class CNavVolumeMarkupVolume : public CNavVolume { public: // No members available }; // Alignment: 0 // Size: 0x98 class CNavVolumeCalculatedVector : public CNavVolume { public: // No members available }; // Alignment: 2 // Size: 0xb8 class CNavVolumeBreadthFirstSearch : public CNavVolumeCalculatedVector { public: Vector m_vStartPos; // 0xa0 float m_flSearchDist; // 0xac }; // Alignment: 14 // Size: 0x190 class CBasePlayerVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeCModel > > m_sModelName; // 0x28 CUtlVector< CEmbeddedSubclass< CSteamPalModifier > > m_vecIntrinsicModifiers; // 0x108 CSkillFloat m_flHeadDamageMultiplier; // 0x120 CSkillFloat m_flChestDamageMultiplier; // 0x130 CSkillFloat m_flStomachDamageMultiplier; // 0x140 CSkillFloat m_flArmDamageMultiplier; // 0x150 CSkillFloat m_flLegDamageMultiplier; // 0x160 // MPropertyGroupName "Water" float m_flHoldBreathTime; // 0x170 // MPropertyGroupName "Water" // MPropertyDescription "Seconds between drowning ticks" float m_flDrowningDamageInterval; // 0x174 // MPropertyGroupName "Water" // MPropertyDescription "Amount of damage done on the first drowning tick (+1 each subsequent interval)" int32_t m_nDrowningDamageInitial; // 0x178 // MPropertyGroupName "Water" // MPropertyDescription "Max damage done by a drowning tick" int32_t m_nDrowningDamageMax; // 0x17c // MPropertyGroupName "Water" int32_t m_nWaterSpeed; // 0x180 // MPropertyGroupName "Use" float m_flUseRange; // 0x184 // MPropertyGroupName "Use" float m_flUseAngleTolerance; // 0x188 }; // Alignment: 2 // Size: 0x4f8 class CEnvDetailController : public CBaseEntity { public: // MNetworkEnable float m_flFadeStartDist; // 0x4f0 // MNetworkEnable float m_flFadeEndDist; // 0x4f4 }; // Alignment: 0 // Size: 0x4f0 class CInfoLadderDismount : public CBaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CGameRulesProxy : public CBaseEntity { public: // No members available }; // Alignment: 14 // Size: 0x540 class CPoseController : public CBaseEntity { public: // MNetworkEnable bool m_bPoseValueParity; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "1" float m_fPoseValue; // 0x4f4 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" float m_fInterpolationDuration; // 0x4f8 // MNetworkEnable bool m_bInterpolationWrap; // 0x4fc private: [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd public: // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" float m_fCycleFrequency; // 0x500 // MNetworkEnable PoseController_FModType_t m_nFModType; // 0x504 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "1" float m_fFModTimeOffset; // 0x508 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-10" // MNetworkMaxValue "10" float m_fFModRate; // 0x50c // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "0" // MNetworkMaxValue "10" float m_fFModAmplitude; // 0x510 // MNetworkEnable CHandle< CBaseEntity > m_hProps[4]; // 0x514 // MNetworkEnable uint8_t m_chPoseIndex[4]; // 0x524 bool m_bDisablePropLookup; // 0x528 private: [[maybe_unused]] uint8_t __pad0529[0x7]; // 0x529 public: CUtlSymbolLarge m_iszPropName; // 0x530 CUtlSymbolLarge m_iszPoseParameterName; // 0x538 }; // Alignment: 7 // Size: 0x128 class CPrecipitationVData : public CEntitySubclassVDataBase { public: CResourceNameTyped< CWeakHandle< InfoForResourceTypeIParticleSystemDefinition > > m_szParticlePrecipitationEffect; // 0x28 float m_flInnerDistance; // 0x108 ParticleAttachment_t m_nAttachType; // 0x10c bool m_bBatchSameVolumeType; // 0x110 private: [[maybe_unused]] uint8_t __pad0111[0x3]; // 0x111 public: int32_t m_nRTEnvCP; // 0x114 int32_t m_nRTEnvCPComponent; // 0x118 private: [[maybe_unused]] uint8_t __pad011c[0x4]; // 0x11c public: CUtlString m_szModifier; // 0x120 }; // Alignment: 9 // Size: 0x80 class CRagdoll : public IRagdoll { public: ragdoll_t m_ragdoll; // 0x8 Vector m_mins; // 0x40 Vector m_maxs; // 0x4c Vector m_origin; // 0x58 float m_lastUpdate; // 0x64 bool m_allAsleep; // 0x68 private: [[maybe_unused]] uint8_t __pad0069[0x3]; // 0x69 public: Vector m_vecLastOrigin; // 0x6c float m_flLastOriginChangeTime; // 0x78 float m_flAwakeTime; // 0x7c static uint32_t &Get_s_globalCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CRagdoll")->m_static_fields[0]->m_instance);}; }; // Alignment: 9 // Size: 0x580 class CSoundOpvarSetPointBase : public CBaseEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: CEntityHandle m_hSource; // 0x4f4 private: [[maybe_unused]] uint8_t __pad04f8[0x8]; // 0x4f8 public: CUtlSymbolLarge m_iszSourceEntityName; // 0x500 private: [[maybe_unused]] uint8_t __pad0508[0x48]; // 0x508 public: Vector m_vLastPosition; // 0x550 private: [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c public: // MNetworkEnable CUtlSymbolLarge m_iszStackName; // 0x560 // MNetworkEnable CUtlSymbolLarge m_iszOperatorName; // 0x568 // MNetworkEnable CUtlSymbolLarge m_iszOpvarName; // 0x570 // MNetworkEnable int32_t m_iOpvarIndex; // 0x578 // MNetworkEnable bool m_bUseAutoCompare; // 0x57c }; // Alignment: 21 // Size: 0x660 class CSoundOpvarSetPointEntity : public CSoundOpvarSetPointBase { public: CEntityIOOutput m_OnEnter; // 0x580 CEntityIOOutput m_OnExit; // 0x5a8 bool m_bAutoDisable; // 0x5d0 private: [[maybe_unused]] uint8_t __pad05d1[0x23]; // 0x5d1 public: float m_flDistanceMin; // 0x5f4 float m_flDistanceMax; // 0x5f8 float m_flDistanceMapMin; // 0x5fc float m_flDistanceMapMax; // 0x600 float m_flOcclusionRadius; // 0x604 float m_flOcclusionMin; // 0x608 float m_flOcclusionMax; // 0x60c float m_flValSetOnDisable; // 0x610 bool m_bSetValueOnDisable; // 0x614 private: [[maybe_unused]] uint8_t __pad0615[0x3]; // 0x615 public: int32_t m_nSimulationMode; // 0x618 int32_t m_nVisibilitySamples; // 0x61c Vector m_vDynamicProxyPoint; // 0x620 float m_flDynamicMaximumOcclusion; // 0x62c CEntityHandle m_hDynamicEntity; // 0x630 private: [[maybe_unused]] uint8_t __pad0634[0x4]; // 0x634 public: CUtlSymbolLarge m_iszDynamicEntityName; // 0x638 float m_flPathingDistanceNormFactor; // 0x640 Vector m_vPathingSourcePos; // 0x644 Vector m_vPathingListenerPos; // 0x650 }; // Alignment: 9 // Size: 0x6c8 class CSoundOpvarSetAABBEntity : public CSoundOpvarSetPointEntity { public: Vector m_vDistanceInnerMins; // 0x660 Vector m_vDistanceInnerMaxs; // 0x66c Vector m_vDistanceOuterMins; // 0x678 Vector m_vDistanceOuterMaxs; // 0x684 int32_t m_nAABBDirection; // 0x690 Vector m_vInnerMins; // 0x694 Vector m_vInnerMaxs; // 0x6a0 Vector m_vOuterMins; // 0x6ac Vector m_vOuterMaxs; // 0x6b8 }; // Alignment: 0 // Size: 0x6c8 class CSoundOpvarSetOBBEntity : public CSoundOpvarSetAABBEntity { public: // No members available }; // Alignment: 3 // Size: 0x688 class CSoundOpvarSetPathCornerEntity : public CSoundOpvarSetPointEntity { public: float m_flDistMinSqr; // 0x678 float m_flDistMaxSqr; // 0x67c CUtlSymbolLarge m_iszPathCornerEntityName; // 0x680 }; // Alignment: 8 // Size: 0x5c0 class CSoundOpvarSetOBBWindEntity : public CSoundOpvarSetPointBase { public: Vector m_vMins; // 0x580 Vector m_vMaxs; // 0x58c Vector m_vDistanceMins; // 0x598 Vector m_vDistanceMaxs; // 0x5a4 float m_flWindMin; // 0x5b0 float m_flWindMax; // 0x5b4 float m_flWindMapMin; // 0x5b8 float m_flWindMapMax; // 0x5bc }; // Alignment: 3 // Size: 0x28 class CAI_BehaviorBase : public CAI_Component { public: bool m_bActive; // 0x18 bool m_bOverrode; // 0x19 private: [[maybe_unused]] uint8_t __pad001a[0x6]; // 0x1a public: CAI_BehaviorBase* m_pActiveChildBehavior; // 0x20 }; // Alignment: 6 // Size: 0x88 class CAI_AnimGraphServices : public CAI_Component { public: float m_flMinFaceTolerance; // 0x20 CUtlStringToken m_sFinishTagThatTaskIsWaitingFor; // 0x24 CUtlSymbolLarge m_iszGraphVariableToSetOnTaskEnd; // 0x28 CUtlSymbolLarge m_iszGraphVariableToSetOnScheduleEnd; // 0x30 CUtlSymbolLarge m_iszGraphVariableToSetOnFinishTag; // 0x38 private: [[maybe_unused]] uint8_t __pad0040[0x20]; // 0x40 public: LastIncomingHit_t m_LastIncomingHit; // 0x60 static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GRAPH_VARIABLE_SET_ON_SCHEDULEEND(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[3]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_FACE_ENEMY(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[4]->m_instance);}; static CUtlSymbolLarge &Get_TASK_GRAPH_WAIT_FOR_TAG_AND_MOVEMENT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AnimGraphServices")->m_static_fields[5]->m_instance);}; }; // Alignment: 8 // Size: 0x538 class CAI_GoalEntity : public CBaseEntity { public: CUtlSymbolLarge m_iszActor; // 0x4f8 CUtlSymbolLarge m_iszGoal; // 0x500 bool m_fStartActive; // 0x508 private: [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 public: CAI_GoalEntity::SearchType_t m_SearchType; // 0x50c CUtlSymbolLarge m_iszConceptModifiers; // 0x510 CUtlVector< CHandle< CAI_BaseNPC > > m_actors; // 0x518 CHandle< CBaseEntity > m_hGoalEntity; // 0x530 uint32_t m_flags; // 0x534 }; // Alignment: 12 // Size: 0x5c0 class CAI_Hint : public CServerOnlyEntity { public: HintNodeData m_NodeData; // 0x4f0 CHandle< CBaseEntity > m_hHintOwner; // 0x530 float m_flNextUseTime; // 0x534 CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStartedUsing; // 0x538 CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnNPCStoppedUsing; // 0x560 float m_nodeFOV; // 0x588 Vector m_vecForward; // 0x58c CUtlSymbolLarge m_iszAnimgraphEntryCmd; // 0x598 CUtlSymbolLarge m_iszAnimgraphEntryTag; // 0x5a0 CUtlSymbolLarge m_iszAnimgraphExitCmd; // 0x5a8 CUtlSymbolLarge m_iszAnimgraphExitTag; // 0x5b0 CUtlSymbolLarge m_iszNavlinkTargetName; // 0x5b8 }; // Alignment: 3 // Size: 0x548 class CNodeEnt : public CServerOnlyPointEntity { public: bool m_bDontDropNode; // 0x4f0 HullFlags_t m_HullForceFlags; // 0x4f1 private: [[maybe_unused]] uint8_t __pad04fa[0x6]; // 0x4fa public: HintNodeData m_NodeData; // 0x500 static int32_t &Get_m_nNodeCount(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNodeEnt")->m_static_fields[0]->m_instance);}; }; // Alignment: 11 // Size: 0x530 class CAI_Relationship : public CBaseEntity { public: CUtlSymbolLarge m_iszSubject; // 0x4f8 CUtlSymbolLarge m_iszSubjectClass; // 0x500 CUtlSymbolLarge m_iszTargetClass; // 0x508 int32_t m_iDisposition; // 0x510 int32_t m_iRank; // 0x514 bool m_fStartActive; // 0x518 bool m_bIsActive; // 0x519 private: [[maybe_unused]] uint8_t __pad051a[0x2]; // 0x51a public: int32_t m_iPreviousDisposition; // 0x51c float m_flRadius; // 0x520 int32_t m_iPreviousRank; // 0x524 bool m_bReciprocal; // 0x528 }; // Alignment: 32 // Size: 0x608 class CAI_ScriptConditions : public CBaseEntity { public: CEntityIOOutput m_OnConditionsSatisfied; // 0x4f8 CEntityIOOutput m_OnConditionsTimeout; // 0x520 CEntityIOOutput m_NoValidActors; // 0x548 bool m_fDisabled; // 0x570 bool m_bLeaveAsleep; // 0x571 private: [[maybe_unused]] uint8_t __pad0572[0x2]; // 0x572 public: CHandle< CBaseEntity > m_hTarget; // 0x574 float m_flRequiredDuration; // 0x578 NPC_STATE m_fMinState; // 0x57c NPC_STATE m_fMaxState; // 0x580 ThreeState_t m_fScriptStatus; // 0x584 ThreeState_t m_fActorSeePlayer; // 0x588 private: [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: CUtlSymbolLarge m_Actor; // 0x590 float m_flPlayerActorProximity; // 0x598 CAI_ProxTester m_PlayerActorProxTester; // 0x59c float m_flPlayerActorFOV; // 0x5a4 bool m_bPlayerActorFOVTrueCone; // 0x5a8 private: [[maybe_unused]] uint8_t __pad05a9[0x3]; // 0x5a9 public: ThreeState_t m_fPlayerActorLOS; // 0x5ac ThreeState_t m_fActorSeeTarget; // 0x5b0 float m_flActorTargetProximity; // 0x5b4 CAI_ProxTester m_ActorTargetProxTester; // 0x5b8 float m_flPlayerTargetProximity; // 0x5c0 CAI_ProxTester m_PlayerTargetProxTester; // 0x5c4 float m_flPlayerTargetFOV; // 0x5cc bool m_bPlayerTargetFOVTrueCone; // 0x5d0 private: [[maybe_unused]] uint8_t __pad05d1[0x3]; // 0x5d1 public: ThreeState_t m_fPlayerTargetLOS; // 0x5d4 ThreeState_t m_fPlayerBlockingActor; // 0x5d8 ThreeState_t m_fActorInPVS; // 0x5dc float m_flMinTimeout; // 0x5e0 float m_flMaxTimeout; // 0x5e4 ThreeState_t m_fActorInVehicle; // 0x5e8 ThreeState_t m_fPlayerInVehicle; // 0x5ec CUtlVector< CAI_ScriptConditionsElement > m_ElementList; // 0x5f0 }; // Alignment: 4 // Size: 0x508 class CAI_SpeechFilter : public CBaseEntity { public: CUtlSymbolLarge m_iszSubject; // 0x4f8 float m_flIdleModifier; // 0x500 bool m_bNeverSayHello; // 0x504 bool m_bDisabled; // 0x505 }; // Alignment: 18 // Size: 0x5d8 class CBaseNPCMaker : public CBaseEntity { public: int32_t m_nMaxNumNPCs; // 0x4f0 float m_flSpawnFrequency; // 0x4f4 float m_flRetryFrequency; // 0x4f8 int32_t m_nHullCheckMode; // 0x4fc CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnSpawnNPC; // 0x500 CEntityIOOutput m_OnAllSpawned; // 0x528 CEntityIOOutput m_OnAllSpawnedDead; // 0x550 CEntityIOOutput m_OnAllLiveChildrenDead; // 0x578 int32_t m_nLiveChildren; // 0x5a0 int32_t m_nMaxLiveChildren; // 0x5a4 int32_t m_nMinSpawnDistance; // 0x5a8 float m_flRadius; // 0x5ac bool m_bDisabled; // 0x5b0 private: [[maybe_unused]] uint8_t __pad05b1[0x3]; // 0x5b1 public: CHandle< CBaseEntity > m_hIgnoreEntity; // 0x5b4 CUtlSymbolLarge m_iszIgnoreEnt; // 0x5b8 CUtlSymbolLarge m_iszDestinationGroup; // 0x5c0 CBaseNPCMaker::ThreeStateYesNo_t m_CriterionVisibility; // 0x5c8 CBaseNPCMaker::ThreeStateDist_t m_CriterionDistance; // 0x5cc }; // Alignment: 5 // Size: 0x600 class CNPCMaker : public CBaseNPCMaker { public: CUtlSymbolLarge m_iszNPCSubClass; // 0x5d8 CUtlSymbolLarge m_iszSquadName; // 0x5e0 CUtlSymbolLarge m_iszHintGroup; // 0x5e8 CUtlSymbolLarge m_RelationshipString; // 0x5f0 CUtlSymbolLarge m_ChildTargetName; // 0x5f8 }; // Alignment: 2 // Size: 0x5e8 class CTemplateNPCMaker : public CBaseNPCMaker { public: CUtlSymbolLarge m_iszWorldName; // 0x5d8 CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x5e0 }; // Alignment: 5 // Size: 0x560 class CAttachedItemManager : public CServerOnlyPointEntity { public: CUtlSymbolLarge m_iszAddSubclassNames[4]; // 0x4f8 CUtlSymbolLarge m_iszRemoveAbilityNames[4]; // 0x518 CUtlSymbolLarge m_iszPrimaryAbilityNames[4]; // 0x538 bool m_bListenForFutureEntities; // 0x558 bool m_bMarkAsRemoveable; // 0x559 }; // Alignment: 1 // Size: 0x520 class CAI_AllySpeechManager : public CLogicalEntity { public: CSimpleSimTimer m_ConceptCategoryTimers[3]; // 0x4f0 static CAI_AllySpeechManager* &Get_gm_pSpeechManager(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_AllySpeechManager")->m_static_fields[0]->m_instance);}; }; // Alignment: 4 // Size: 0x550 class CAI_AssaultGoal : public CAI_GoalEntity { public: CUtlSymbolLarge m_RallyPoint; // 0x538 int32_t m_AssaultCue; // 0x540 int32_t m_RallySelectMethod; // 0x544 int32_t m_BranchMethod; // 0x548 }; // Alignment: 9 // Size: 0x578 class CAI_FightFromCoverGoal : public CAI_GoalEntity { public: CUtlSymbolLarge m_DirectionalMarker; // 0x538 CUtlSymbolLarge m_GenericHintType; // 0x540 CHandle< CBaseEntity > m_hDirectionalMarker; // 0x548 float m_WidthZone; // 0x54c float m_LengthZone; // 0x550 float m_HeightZone; // 0x554 float m_BiasZone; // 0x558 Vector m_vFront; // 0x55c Vector m_vDir; // 0x568 }; // Alignment: 1 // Size: 0x550 class CAI_FollowGoal : public CAI_GoalEntity { public: int32_t m_iFormation; // 0x548 }; // Alignment: 28 // Size: 0x680 class CAI_LeadGoal : public CAI_GoalEntity { public: bool m_fArrived; // 0x540 private: [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 public: float m_flWaitDistance; // 0x544 float m_flLeadDistance; // 0x548 float m_flRetrieveDistance; // 0x54c float m_flSuccessDistance; // 0x550 bool m_bRun; // 0x554 private: [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 public: int32_t m_iRetrievePlayer; // 0x558 int32_t m_iRetrieveWaitForSpeak; // 0x55c int32_t m_iComingBackWaitForSpeak; // 0x560 bool m_bStopScenesWhenPlayerLost; // 0x564 bool m_bDontSpeakStart; // 0x565 bool m_bLeadDuringCombat; // 0x566 bool m_bGagLeader; // 0x567 CUtlSymbolLarge m_iszWaitPointName; // 0x568 CUtlSymbolLarge m_iszStartConceptModifier; // 0x570 CUtlSymbolLarge m_iszAttractPlayerConceptModifier; // 0x578 CUtlSymbolLarge m_iszWaitOverConceptModifier; // 0x580 CUtlSymbolLarge m_iszArrivalConceptModifier; // 0x588 CUtlSymbolLarge m_iszPostArrivalConceptModifier; // 0x590 CUtlSymbolLarge m_iszSuccessConceptModifier; // 0x598 CUtlSymbolLarge m_iszFailureConceptModifier; // 0x5a0 CUtlSymbolLarge m_iszRetrieveConceptModifier; // 0x5a8 CUtlSymbolLarge m_iszComingBackConceptModifier; // 0x5b0 CEntityIOOutput m_OnArrival; // 0x5b8 CEntityIOOutput m_OnArrivalDone; // 0x5e0 CEntityIOOutput m_OnSuccess; // 0x608 CEntityIOOutput m_OnFailure; // 0x630 CEntityIOOutput m_OnDone; // 0x658 }; // Alignment: 2 // Size: 0x690 class CAI_LeadGoal_Weapon : public CAI_LeadGoal { public: CUtlSymbolLarge m_iszWeaponName; // 0x680 CUtlSymbolLarge m_iszMissingWeaponConceptModifier; // 0x688 }; // Alignment: 5 // Size: 0x510 class CAI_BattleLine : public CBaseEntity { public: CUtlSymbolLarge m_iszActor; // 0x4f0 bool m_fActive; // 0x4f8 bool m_fStrict; // 0x4f9 bool m_bMatchByNameOnly; // 0x4fa private: [[maybe_unused]] uint8_t __pad04fb[0x1]; // 0x4fb public: CAI_MoveMonitor m_SelfMoveMonitor; // 0x4fc }; // Alignment: 6 // Size: 0x568 class CAI_StandoffGoal : public CAI_GoalEntity { public: CAI_StandoffGoal::Aggressiveness_t m_aggressiveness; // 0x538 AI_HintChangeReaction_t m_HintChangeReaction; // 0x53c bool m_fPlayerIsBattleline; // 0x540 bool m_fStayAtCover; // 0x541 bool m_bAbandonIfEnemyHides; // 0x542 private: [[maybe_unused]] uint8_t __pad0543[0x1]; // 0x543 public: AI_StandoffParams_t m_customParams; // 0x544 }; // Alignment: 9 // Size: 0x588 class CAI_ScriptedBase : public CBaseEntity { public: CUtlSymbolLarge m_iszNPC; // 0x4f0 CUtlSymbolLarge m_iszTarget; // 0x4f8 bool m_bResilient; // 0x500 bool m_bShouldSetEnemy; // 0x501 bool m_bSwitchIdleToAlert; // 0x502 private: [[maybe_unused]] uint8_t __pad0503[0x5]; // 0x503 public: CUtlVector< CHandle< CAI_DefaultNPC > > m_vecReapplyToTargets; // 0x508 CUtlVector< CHandle< CBaseEntity > > m_vecTargetOverrides; // 0x520 CEntityIOOutput m_OnFailedToPerform; // 0x538 CEntityIOOutput m_OnSucceeded; // 0x560 }; // Alignment: 3 // Size: 0x598 class CAI_ScriptedAbilityUsage : public CAI_ScriptedBase { public: CUtlSymbolLarge m_iszAbilityName; // 0x588 BodyLocations_t m_nAbilityTargetBodyLoc; // 0x590 TargetOriginType_t m_nAbilityTargetOrigin; // 0x594 }; // Alignment: 1 // Size: 0x590 class CAI_ScriptedIdle : public CAI_ScriptedBase { public: Interruptability_t m_Interruptability; // 0x588 }; // Alignment: 2 // Size: 0x590 class CAI_ScriptedMoveTo : public CAI_ScriptedBase { public: Interruptability_t m_Interruptability; // 0x588 ScriptedMovementType_t m_MovementType; // 0x58c }; // Alignment: 18 // Size: 0x558 class CBaseNPCAbility : public CBaseEntity { public: // MNetworkEnable CHandle< CNPCAbilityModel > m_hAbilityModel; // 0x4f0 // MNetworkEnable CHandle< CBaseNPCAbility > m_hLinkedAbility; // 0x4f4 // MNetworkEnable bool m_bHeld; // 0x4f8 // MNetworkEnable bool m_bEnabled; // 0x4f9 // MNetworkEnable bool m_bPrimaryAbility; // 0x4fa private: [[maybe_unused]] uint8_t __pad04fb[0xd]; // 0x4fb public: bool m_bGenerateTargetname; // 0x508 private: [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 public: int32_t m_iAmmoCount; // 0x50c float m_flCooldownReadyTime; // 0x510 float m_flAdditionalAttackDelay; // 0x514 float m_flGatherConditionsPollTime; // 0x518 float m_flLastTriggeredAt; // 0x51c CUtlStringToken m_autoRepeatFinishTag; // 0x520 ConditionId_t m_nCustomUsabilityCondition; // 0x524 ConditionId_t m_nCustomMoveAndUseCondition; // 0x528 bool m_bReceivedAutoRepeatFinishedTag; // 0x52c bool m_bWasAddedByVData; // 0x52d bool m_bParticipatesInCanUseAnyAbility; // 0x52e private: [[maybe_unused]] uint8_t __pad052f[0x1]; // 0x52f public: // MNetworkEnable // MNetworkVarEmbeddedNotFlattened // MNetworkSendProxyRecipientsFilter NPCAbilityTarget_t m_UsageTarget; // 0x530 }; // Alignment: 0 // Size: 0x558 class CNPCAbilityAddModifier : public CBaseNPCAbility { public: // No members available }; // Alignment: 0 // Size: 0x558 class CNPCAbilityRemoveModifier : public CBaseNPCAbility { public: // No members available }; // Alignment: 0 // Size: 0x558 class CNPCAbilityBaseRanged : public CBaseNPCAbility { public: // No members available }; // Alignment: 0 // Size: 0x558 class CNPCAbilityMeleeAttack : public CBaseNPCAbility { public: // No members available }; // Alignment: 1 // Size: 0x570 class CNPCAbilitySpawn : public CBaseNPCAbility { public: CUtlVector< CHandle< CAI_DefaultNPC > > m_vecSpawnedNPCs; // 0x558 }; // Alignment: 6 // Size: 0x590 class CNPCWeaponHitscan : public CBaseNPCAbility { public: float m_flNextTimeToFireBullet; // 0x558 int32_t m_nShotsToFire; // 0x55c float m_flDelayOcclusionMarkingUntil; // 0x560 int32_t m_nCurrentBurstShotsOccluded; // 0x564 HitscanGatherData_t m_GatherData; // 0x568 AttachmentHandle_t m_nTracerAttachmentIndex; // 0x588 }; // Alignment: 1 // Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_PARTICLE : public IModifierTrackedObject { public: ModifierTrackedParticle_t m_objectData; // 0x8 }; // Alignment: 1 // Size: 0x20 class CTrackedObject_MODIFIER_TRACKED_RENDER_ATTRIBUTE : public IModifierTrackedObject { public: ModifierRenderAttribute_t m_objectData; // 0x8 }; // Alignment: 1 // Size: 0x28 class CTrackedObject_MODIFIER_TRACKED_GRAPH_PARAMETER : public IModifierTrackedObject { public: ModifierTrackedGraphParameter_t m_objectData; // 0x8 }; // Alignment: 1 // Size: 0x10 class CTrackedObject_MODIFIER_TRACKED_SOUND : public IModifierTrackedObject { public: ModifierTrackedSound_t m_objectData; // 0x8 }; // Alignment: 1 // Size: 0x18 class CTrackedObject_MODIFIER_TRACKED_BODYGROUP : public IModifierTrackedObject { public: ModifierTrackedBodyGroup_t m_objectData; // 0x8 }; // Alignment: 2 // Size: 0xa0 class CBaseModifierAura : public CSteamPalModifier { public: CUtlVector< CHandle< CBaseEntity > > m_hAuraUnits; // 0x80 ParticleIndex_t m_hAmbientEffect; // 0x98 }; // Alignment: 2 // Size: 0x510 class CPointModifierThinker : public CBaseEntity { public: CModifierHandleTyped< CSteamPalModifier > m_hModifier; // 0x4f0 bool m_bSendToClients; // 0x508 }; // Alignment: 1 // Size: 0x4f8 class CSteamPalGameRulesProxy : public CGameRulesProxy { public: // MNetworkEnable CSteamPalGameRules* m_pSteamPalGameRules; // 0x4f0 }; // Alignment: 0 // Size: 0xa0 class CSteamPalModifierAura : public CBaseModifierAura { public: // No members available }; // Alignment: 0 // Size: 0xa0 class CSteamPalModifierAura_Default : public CSteamPalModifierAura { public: // No members available }; // Alignment: 8 // Size: 0x520 class CSteampal_Turret_Manager : public CBaseEntity { public: int32_t m_nNumTurretsSpawned; // 0x4f0 int32_t m_nNumIntroToiletsSpawned; // 0x4f4 CHandle< CSteamPal_Turret > m_hSpawnedTurret; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: CUtlSymbolLarge m_szSpawnTarget; // 0x500 CHandle< CBaseEntity > m_hSpawnTarget; // 0x508 bool m_bTakeControlOfTurretsOnSpawn; // 0x50c bool m_bTakeOverCamera; // 0x50d private: [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e public: Vector m_vQueuedExplosionPos; // 0x510 }; // Alignment: 20 // Size: 0x570 class CSteamPal_Sequencer : public CBaseEntity { public: CUtlString m_strCurrentSequence; // 0x4f0 float m_flStartTime; // 0x4f8 float m_flTimePaused; // 0x4fc bool m_bAtBeginning; // 0x500 private: [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 public: float m_flCurSpeedPct; // 0x504 float m_flLastScrollTime; // 0x508 float m_flTimeLastSixteenthNote; // 0x50c int32_t m_nNextSixteenthNote; // 0x510 int32_t m_nShowingTrack; // 0x514 int32_t m_nEditGridX; // 0x518 int32_t m_nEditGridY; // 0x51c float m_flTimeLastEditGridMove; // 0x520 private: [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 public: CUtlVector< CSteamPal_SequencerSequenceDef_t > m_vSequences; // 0x528 CUtlVector< CHandle< CSteamPal_BaseSingingEntity > > m_Singers; // 0x540 float m_flTimePlayerStartedPressingNote; // 0x558 float m_flTimeLastPlayerNoteSaved; // 0x55c int32_t m_nLastNoteIndexSaved; // 0x560 char m_cLastPlayerNoteInputSaved; // 0x564 bool m_bStartThinking; // 0x565 private: [[maybe_unused]] uint8_t __pad0566[0x2]; // 0x566 public: int32_t m_nCurrentIntroSequence; // 0x568 }; // Alignment: 19 // Size: 0x548 class CSteamPal_NameForm : public CBaseEntity { public: bool m_bBeginOnActivate; // 0x4f8 bool m_bAutoAdvanceTasks; // 0x4f9 bool m_bDebugDraw; // 0x4fa private: [[maybe_unused]] uint8_t __pad04fb[0x5]; // 0x4fb public: CUtlSymbolLarge m_strWritingSurfaceOverride; // 0x500 // MNetworkEnable float m_flTimeUserLastDidUsefulActivity; // 0x508 // MNetworkEnable float m_flDurationCurrentTask; // 0x50c // MNetworkEnable float m_flTimeStartedCurrentTask; // 0x510 private: [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 public: // MNetworkEnable // MNetworkChangeCallback "TypedNameChanged" CUtlString m_strTypedName; // 0x518 // MNetworkEnable bool m_bIsTaskSuccess; // 0x520 private: [[maybe_unused]] uint8_t __pad0521[0x3]; // 0x521 public: // MNetworkEnable float m_flLastMicLevel; // 0x524 // MNetworkEnable bool m_bIsRecording; // 0x528 // MNetworkEnable bool m_bIsWarmingUpMicrophone; // 0x529 private: [[maybe_unused]] uint8_t __pad052a[0x2]; // 0x52a public: // MNetworkEnable int32_t m_nNumFramesOfAudioDBsRecorded; // 0x52c // MNetworkEnable bool m_bUserTypedWithKeyboard; // 0x530 // MNetworkEnable bool m_bIsShowingWritingSurface; // 0x531 private: [[maybe_unused]] uint8_t __pad0532[0x2]; // 0x532 public: // MNetworkEnable float m_flFrameRateLimitBeforeDrawing; // 0x534 // MNetworkEnable CHandle< CSteamPal_Desk > m_hDesk; // 0x538 // MNetworkEnable CHandle< CSteamPal_WritingSurface > m_hWritingSurface; // 0x53c // MNetworkEnable CHandle< CInfoOffscreenPanoramaTexture > m_hOffscreenTexture; // 0x540 }; // Alignment: 3 // Size: 0x500 class CSteamPal_Turret_Laser : public CBaseEntity { public: // MNetworkEnable CHandle< CBaseModelEntity > m_hTurret; // 0x4f0 // MNetworkEnable bool m_bIsLaserOn; // 0x4f4 private: [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 public: CUtlSymbolLarge m_szTurretName; // 0x4f8 }; // Alignment: 14 // Size: 0x570 class CSteamPal_Turret_Wing : public CBaseEntity { public: // MNetworkEnable CHandle< CSteamPal_Turret > m_hTurret; // 0x4f0 // MNetworkEnable bool m_bIsLeftWing; // 0x4f4 // MNetworkEnable bool m_bBeingControlled; // 0x4f5 AttachmentHandle_t m_nMuzzleAttachments[2]; // 0x4f6 // MNetworkEnable int32_t m_nCurrentMuzzle; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: CUtlString m_strWingOutParam; // 0x500 CUtlString m_strWingAimXParam; // 0x508 CUtlString m_strWingAimYParam; // 0x510 private: [[maybe_unused]] uint8_t __pad0518[0x3c]; // 0x518 public: float m_flNextAttackTime; // 0x554 float m_flCurrentWingDeploy; // 0x558 float m_flCurrentAimX; // 0x55c float m_flCurrentAimY; // 0x560 bool m_bSynchedWings; // 0x564 private: [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 public: float m_flSndLastVal; // 0x568 }; // Alignment: 23 // Size: 0x6e8 class CSteamPalConveyorEntitySpawner : public CLogicalEntity { public: bool m_bSpawnAlongConveyorOnStartup; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_flProbabilityToSpawnAlongConveyor; // 0x4f4 bool m_bAutoSpawnEntities; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 public: float m_flProbabilityToAutoSpawn; // 0x4fc CSteamPalConveyorEntitySpawner::SpawnOrder_t m_eSpawnOrder; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_szSpawnConveyorPathNodeOverride; // 0x508 CUtlString m_strSpawnConveyorPathNodeOverride; // 0x510 CUtlSymbolLarge m_szSpawnAnglesTargetOverride; // 0x518 CHandle< CBaseEntity > m_hAnglesOverrideTarget; // 0x520 private: [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 public: CUtlSymbolLarge m_szSpawnTemplates[16]; // 0x528 CHandle< CSteamPalConveyor > m_hConveyor; // 0x5a8 private: [[maybe_unused]] uint8_t __pad05ac[0x4]; // 0x5ac public: CEntityIOOutput m_OnSpawnedAlongConveyor; // 0x5b0 CEntityIOOutput m_OnSpawnedOnStartingNode; // 0x5d8 CEntityIOOutput m_OnPassedSpawnNode; // 0x600 private: [[maybe_unused]] uint8_t __pad0628[0x30]; // 0x628 public: bool m_bSpawningAlongConveyor; // 0x658 private: [[maybe_unused]] uint8_t __pad0659[0x7]; // 0x659 public: CUtlVector< CEntityHandle > m_hSpawnedAlongConveyorEntities; // 0x660 CUtlVector< int32 > m_ValidTemplateIndexes; // 0x678 CUtlVector< int32 > m_ShuffleTemplateIndexes; // 0x690 int32_t m_nNextSequenceIndex; // 0x6a8 private: [[maybe_unused]] uint8_t __pad06ac[0x4]; // 0x6ac public: CUtlVector< CUtlString > m_LargePropTemplateNames; // 0x6b0 CUtlVector< int32 > m_LargePropTemplateIndexes; // 0x6c8 bool m_bPreviousSpawnWasLargeEntity; // 0x6e0 bool m_bAutoSpawnedSomethingOnPreviousSegment; // 0x6e1 }; // Alignment: 28 // Size: 0x6d8 class CSteamPalConveyor : public CBaseEntity { public: float m_flPathLength; // 0x540 private: [[maybe_unused]] uint8_t __pad0544[0x4]; // 0x544 public: CUtlSymbolLarge m_szConveyorModels; // 0x548 float m_flMoveSpeed; // 0x550 bool m_bStartOn; // 0x554 bool m_bPrecreateConveyorSegmentSpawnTargets; // 0x555 private: [[maybe_unused]] uint8_t __pad0556[0x2]; // 0x556 public: CUtlSymbolLarge m_szDestinationNode; // 0x558 CHandle< CSteamPalConveyorPathNode > m_hDestinationNode; // 0x560 bool m_bHasReachedDestination; // 0x564 private: [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 public: int32_t m_nDestinationSectionIndex; // 0x568 int32_t m_nDestinationSegmentIndex; // 0x56c Vector m_vReferenceSegmentSizeMins; // 0x570 Vector m_vReferenceSegmentSizeMaxs; // 0x57c Vector m_vReferenceSegmentSize; // 0x588 Vector m_vActualSegmentSize; // 0x594 CUtlVector< SteampalConveyorSection_t > m_ConveyorSections; // 0x5a0 private: [[maybe_unused]] uint8_t __pad05b8[0x28]; // 0x5b8 public: CUtlSymbolLarge m_szConveyorEntitySpawner; // 0x5e0 CHandle< CSteamPalConveyorEntitySpawner > m_hConveyorEntitySpawner; // 0x5e8 CHandle< CSteamPalConveyorPathNode > m_hSpawnerSpawnNode; // 0x5ec float m_flLastThinkTime; // 0x5f0 private: [[maybe_unused]] uint8_t __pad05f4[0x4]; // 0x5f4 public: CEntityIOOutput m_OnStart; // 0x5f8 CEntityIOOutput m_OnStop; // 0x620 CEntityIOOutput m_OnReset; // 0x648 CEntityIOOutput m_OnReachedDestination; // 0x670 // MNetworkEnable bool m_bMoving; // 0x698 private: [[maybe_unused]] uint8_t __pad0699[0x3]; // 0x699 public: // MNetworkEnable float m_flCurrentSpeed; // 0x69c // MNetworkEnable float m_flAnimationDirection; // 0x6a0 private: [[maybe_unused]] uint8_t __pad06a4[0x4]; // 0x6a4 public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseAnimating > > m_hConveyorModels; // 0x6a8 // MNetworkEnable CNetworkUtlVectorBase< CHandle< CSteamPalConveyorPathNode > > m_hPathNodes; // 0x6c0 }; // Alignment: 9 // Size: 0x540 class CSteamPal_PaintStreamPathNode : public CBaseEntity { public: float m_flNodeT; // 0x4f0 float m_flSegmentLength; // 0x4f4 float m_flPathLengthUpToNode; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: CUtlSymbolLarge m_szParentPathUniqueID; // 0x500 int32_t m_nPathIndex; // 0x508 Vector m_vInTangentLocal; // 0x50c Vector m_vOutTangentLocal; // 0x518 // MNetworkEnable Vector m_vInTangentWorld; // 0x524 // MNetworkEnable Vector m_vOutTangentWorld; // 0x530 }; // Alignment: 7 // Size: 0x570 class CSteamPal_PaintStream : public CBaseEntity { public: bool m_bStartOn; // 0x4f0 // MNetworkEnable bool m_bIsOn; // 0x4f1 private: [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 public: // MNetworkEnable float m_flSpeed; // 0x4f4 // MNetworkEnable float m_flPathLength; // 0x4f8 // MNetworkEnable int32_t m_nNumPaintBlobs; // 0x4fc // MNetworkEnable SteamPalPaintType m_PaintType; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CSteamPal_PaintStreamPathNode > > m_hPathNodes; // 0x508 }; // Alignment: 4 // Size: 0x508 class CSteamPal_Projectile_Tag_Marker : public CBaseEntity { public: ParticleIndex_t m_nMarkerParticle; // 0x4f0 SteamPal_Projectile_Tag_Marker_Type_t m_eMarkerType; // 0x4f4 CHandle< CBaseEntity > m_hMarkedEntity; // 0x4f8 Vector m_vExplosionPos; // 0x4fc }; // Alignment: 13 // Size: 0x5d0 class CSteamPalCameraPathNode : public CBaseEntity { public: CEntityOutputTemplate< int32 > m_OnPass; // 0x4f0 CEntityOutputTemplate< int32 > m_OnPassForward; // 0x518 CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x540 private: [[maybe_unused]] uint8_t __pad0568[0x18]; // 0x568 public: CUtlSymbolLarge m_szParentPathUniqueID; // 0x580 int32_t m_nPathIndex; // 0x588 Vector m_vInTangentLocal; // 0x58c Vector m_vOutTangentLocal; // 0x598 float m_flFOV; // 0x5a4 float m_flSpeed; // 0x5a8 float m_flEaseIn; // 0x5ac float m_flEaseOut; // 0x5b0 Vector m_vInTangentWorld; // 0x5b4 Vector m_vOutTangentWorld; // 0x5c0 }; // Alignment: 9 // Size: 0x678 class CSteamPalCameraPath : public CBaseEntity { public: CEntityIOOutput m_OnTransitionTo; // 0x4f0 CEntityIOOutput m_OnTransitionFrom; // 0x518 CEntityIOOutput m_OnStart; // 0x540 CEntityIOOutput m_OnStop; // 0x568 CEntityIOOutput m_OnReset; // 0x590 CEntityIOOutput m_OnCompletion; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05e0[0x78]; // 0x5e0 public: // MNetworkEnable bool m_bRelativeFOV; // 0x658 private: [[maybe_unused]] uint8_t __pad0659[0x3]; // 0x659 public: // MNetworkEnable Vector m_flFOVData; // 0x65c // MNetworkEnable Vector m_vVelocity; // 0x668 }; // Alignment: 5 // Size: 0x550 class CSteamPalPointCamera : public CBaseEntity { public: CEntityIOOutput m_OnTransitionTo; // 0x4f0 CEntityIOOutput m_OnTransitionFrom; // 0x518 // MNetworkEnable bool m_bRelativeFOV; // 0x540 private: [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 public: // MNetworkEnable float m_flFOV; // 0x544 // MNetworkEnable bool m_bActive; // 0x548 }; // Alignment: 2 // Size: 0x568 class CNPCApplianceWeaponBullets : public CBaseNPCAbility { public: float m_flTimeToStop; // 0x560 AttachmentHandle_t m_nTracerAttachmentIndex; // 0x564 }; // Alignment: 2 // Size: 0x578 class CNPCApplianceWeaponProjectiles : public CBaseNPCAbility { public: ApplianceWeaponState m_eState; // 0x558 private: [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c public: CUtlVector< NPCApplianceProjectileRuntime_t > m_vecProjectileInfo; // 0x560 }; // Alignment: 2 // Size: 0x508 class CSteampalKillVolume : public CBaseEntity { public: Vector m_vBoxMins; // 0x4f0 Vector m_vBoxMaxs; // 0x4fc }; // Alignment: 4 // Size: 0x548 class CBaseCurveOverTime : public CBaseEntity { public: // MNetworkEnable bool m_bLooping; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: // MNetworkEnable CUtlSymbolLarge m_CurveString; // 0x4f8 private: [[maybe_unused]] uint8_t __pad0500[0x40]; // 0x500 public: bool m_bStartEnabled; // 0x540 private: [[maybe_unused]] uint8_t __pad0541[0x3]; // 0x541 public: // MNetworkEnable float m_flStartTime; // 0x544 }; // Alignment: 2 // Size: 0x560 class CPointRenderAttrCurve : public CBaseCurveOverTime { public: // MNetworkEnable CUtlSymbolLarge m_AttrName; // 0x548 // MNetworkEnable CUtlSymbolLarge m_ActiveComboName; // 0x550 }; // Alignment: 7 // Size: 0x5a0 class CLogicAnimTagListener : public CLogicalEntity { public: bool m_bStartDisabled; // 0x508 // MNetworkEnable bool m_bEnabled; // 0x509 private: [[maybe_unused]] uint8_t __pad050a[0x6]; // 0x50a public: CUtlSymbolLarge m_szAnimTag; // 0x510 CUtlSymbolLarge m_szModelName; // 0x518 CEntityIOOutput m_OnTagFired; // 0x520 CEntityIOOutput m_OnTagStart; // 0x548 CEntityIOOutput m_OnTagEnd; // 0x570 }; // Alignment: 0 // Size: 0x4f0 class CPointEntity : public CBaseEntity { public: // No members available }; // Alignment: 20 // Size: 0x1648 class CEnvCombinedLightProbeVolume : public CBaseEntity { public: // MNetworkEnable // MNetworkChangeCallback "StateChanged" Color m_Color; // 0x15b0 // MNetworkEnable // MNetworkChangeCallback "StateChanged" float m_flBrightness; // 0x15b4 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x15b8 // MNetworkEnable bool m_bCustomCubemapTexture; // 0x15c0 private: [[maybe_unused]] uint8_t __pad15c1[0x7]; // 0x15c1 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x15c8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x15d0 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x15d8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x15e0 // MNetworkEnable Vector m_vBoxMins; // 0x15e8 // MNetworkEnable Vector m_vBoxMaxs; // 0x15f4 // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x1600 // MNetworkEnable bool m_bMoveable; // 0x1608 private: [[maybe_unused]] uint8_t __pad1609[0x3]; // 0x1609 public: // MNetworkEnable int32_t m_nHandshake; // 0x160c // MNetworkEnable int32_t m_nEnvCubeMapArrayIndex; // 0x1610 // MNetworkEnable int32_t m_nPriority; // 0x1614 // MNetworkEnable int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x1618 // MNetworkEnable bool m_bStartDisabled; // 0x161c private: [[maybe_unused]] uint8_t __pad161d[0x3]; // 0x161d public: // MNetworkEnable float m_flEdgeFadeDist; // 0x1620 // MNetworkEnable Vector m_vEdgeFadeDists; // 0x1624 private: [[maybe_unused]] uint8_t __pad1630[0x11]; // 0x1630 public: // MNetworkEnable bool m_bEnabled; // 0x1641 }; // Alignment: 21 // Size: 0x660 class CEnvCubemap : public CBaseEntity { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hCubemapTexture; // 0x5e8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hDepthmapTexture; // 0x5f0 // MNetworkEnable bool m_bCustomCubemapTexture; // 0x5f8 private: [[maybe_unused]] uint8_t __pad05f9[0x3]; // 0x5f9 public: // MNetworkEnable float m_flInfluenceRadius; // 0x5fc // MNetworkEnable Vector m_vBoxProjectMins; // 0x600 // MNetworkEnable Vector m_vBoxProjectMaxs; // 0x60c // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x618 // MNetworkEnable bool m_bMoveable; // 0x620 private: [[maybe_unused]] uint8_t __pad0621[0x3]; // 0x621 public: // MNetworkEnable int32_t m_nHandshake; // 0x624 // MNetworkEnable int32_t m_nEnvCubeMapArrayIndex; // 0x628 // MNetworkEnable int32_t m_nPriority; // 0x62c // MNetworkEnable int32_t m_nGgxCubemapBlurAccumulationPassCount; // 0x630 // MNetworkEnable float m_flEdgeFadeDist; // 0x634 // MNetworkEnable Vector m_vEdgeFadeDists; // 0x638 // MNetworkEnable float m_flDiffuseScale; // 0x644 // MNetworkEnable bool m_bStartDisabled; // 0x648 // MNetworkEnable bool m_bDefaultEnvMap; // 0x649 // MNetworkEnable bool m_bDefaultSpecEnvMap; // 0x64a // MNetworkEnable bool m_bRenderDepthMap; // 0x64b // MNetworkEnable bool m_bCopyDiffuseFromDefaultCubemap; // 0x64c private: [[maybe_unused]] uint8_t __pad064d[0xb]; // 0x64d public: // MNetworkEnable bool m_bEnabled; // 0x658 }; // Alignment: 0 // Size: 0x660 class CEnvCubemapBox : public CEnvCubemap { public: // No members available }; // Alignment: 18 // Size: 0x540 class CEnvCubemapFog : public CBaseEntity { public: // MNetworkEnable float m_flEndDistance; // 0x4f0 // MNetworkEnable float m_flStartDistance; // 0x4f4 // MNetworkEnable float m_flFogFalloffExponent; // 0x4f8 // MNetworkEnable bool m_bHeightFogEnabled; // 0x4fc private: [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd public: // MNetworkEnable float m_flFogHeightWidth; // 0x500 // MNetworkEnable float m_flFogHeightEnd; // 0x504 // MNetworkEnable float m_flFogHeightStart; // 0x508 // MNetworkEnable float m_flFogHeightExponent; // 0x50c // MNetworkEnable float m_flLODBias; // 0x510 // MNetworkEnable bool m_bActive; // 0x514 // MNetworkEnable bool m_bStartDisabled; // 0x515 private: [[maybe_unused]] uint8_t __pad0516[0x2]; // 0x516 public: // MNetworkEnable float m_flFogMaxOpacity; // 0x518 // MNetworkEnable int32_t m_nCubemapSourceType; // 0x51c // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x520 // MNetworkEnable CUtlSymbolLarge m_iszSkyEntity; // 0x528 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogCubemapTexture; // 0x530 // MNetworkEnable bool m_bHasHeightFogEnd; // 0x538 bool m_bFirstTime; // 0x539 }; // Alignment: 12 // Size: 0x1518 class CEnvLightProbeVolume : public CBaseEntity { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeTexture; // 0x14b8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightIndicesTexture; // 0x14c0 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightScalarsTexture; // 0x14c8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightProbeDirectLightShadowsTexture; // 0x14d0 // MNetworkEnable Vector m_vBoxMins; // 0x14d8 // MNetworkEnable Vector m_vBoxMaxs; // 0x14e4 // MNetworkEnable CUtlSymbolLarge m_LightGroups; // 0x14f0 // MNetworkEnable bool m_bMoveable; // 0x14f8 private: [[maybe_unused]] uint8_t __pad14f9[0x3]; // 0x14f9 public: // MNetworkEnable int32_t m_nHandshake; // 0x14fc // MNetworkEnable int32_t m_nPriority; // 0x1500 // MNetworkEnable bool m_bStartDisabled; // 0x1504 private: [[maybe_unused]] uint8_t __pad1505[0xc]; // 0x1505 public: // MNetworkEnable bool m_bEnabled; // 0x1511 }; // Alignment: 8 // Size: 0x518 class CTonemapController2 : public CBaseEntity { public: // MNetworkEnable float m_flAutoExposureMin; // 0x4f0 // MNetworkEnable float m_flAutoExposureMax; // 0x4f4 // MNetworkEnable float m_flTonemapPercentTarget; // 0x4f8 // MNetworkEnable float m_flTonemapPercentBrightPixels; // 0x4fc // MNetworkEnable float m_flTonemapMinAvgLum; // 0x500 // MNetworkEnable float m_flExposureAdaptationSpeedUp; // 0x504 // MNetworkEnable float m_flExposureAdaptationSpeedDown; // 0x508 // MNetworkEnable float m_flTonemapEVSmoothingRange; // 0x50c }; // Alignment: 28 // Size: 0x570 class CEnvVolumetricFogController : public CBaseEntity { public: // MNetworkEnable float m_flScattering; // 0x4f0 // MNetworkEnable float m_flAnisotropy; // 0x4f4 // MNetworkEnable float m_flFadeSpeed; // 0x4f8 // MNetworkEnable float m_flDrawDistance; // 0x4fc // MNetworkEnable float m_flFadeInStart; // 0x500 // MNetworkEnable float m_flFadeInEnd; // 0x504 // MNetworkEnable float m_flIndirectStrength; // 0x508 // MNetworkEnable int32_t m_nIndirectTextureDimX; // 0x50c // MNetworkEnable int32_t m_nIndirectTextureDimY; // 0x510 // MNetworkEnable int32_t m_nIndirectTextureDimZ; // 0x514 // MNetworkEnable Vector m_vBoxMins; // 0x518 // MNetworkEnable Vector m_vBoxMaxs; // 0x524 // MNetworkEnable bool m_bActive; // 0x530 private: [[maybe_unused]] uint8_t __pad0531[0x3]; // 0x531 public: // MNetworkEnable float m_flStartAnisoTime; // 0x534 // MNetworkEnable float m_flStartScatterTime; // 0x538 // MNetworkEnable float m_flStartDrawDistanceTime; // 0x53c // MNetworkEnable float m_flStartAnisotropy; // 0x540 // MNetworkEnable float m_flStartScattering; // 0x544 // MNetworkEnable float m_flStartDrawDistance; // 0x548 // MNetworkEnable float m_flDefaultAnisotropy; // 0x54c // MNetworkEnable float m_flDefaultScattering; // 0x550 // MNetworkEnable float m_flDefaultDrawDistance; // 0x554 // MNetworkEnable bool m_bStartDisabled; // 0x558 // MNetworkEnable bool m_bEnableIndirect; // 0x559 // MNetworkEnable bool m_bIsMaster; // 0x55a private: [[maybe_unused]] uint8_t __pad055b[0x5]; // 0x55b public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hFogIndirectTexture; // 0x560 // MNetworkEnable int32_t m_nForceRefreshCount; // 0x568 bool m_bFirstTime; // 0x56c }; // Alignment: 7 // Size: 0x520 class CEnvVolumetricFogVolume : public CBaseEntity { public: // MNetworkEnable bool m_bActive; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: // MNetworkEnable Vector m_vBoxMins; // 0x4f4 // MNetworkEnable Vector m_vBoxMaxs; // 0x500 // MNetworkEnable bool m_bStartDisabled; // 0x50c private: [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d public: // MNetworkEnable float m_flStrength; // 0x510 // MNetworkEnable int32_t m_nFalloffShape; // 0x514 // MNetworkEnable float m_flFalloffExponent; // 0x518 }; // Alignment: 3 // Size: 0x560 class CFogController : public CBaseEntity { public: // MNetworkEnable fogparams_t m_fog; // 0x4f0 bool m_bUseAngles; // 0x558 private: [[maybe_unused]] uint8_t __pad0559[0x3]; // 0x559 public: int32_t m_iChangedVariables; // 0x55c }; // Alignment: 0 // Size: 0x4f0 class CInfoTarget : public CPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CInfoParticleTarget : public CPointEntity { public: // No members available }; // Alignment: 3 // Size: 0x508 class CInfoVisibilityBox : public CBaseEntity { public: // MNetworkEnable int32_t m_nMode; // 0x4f4 // MNetworkEnable Vector m_vBoxSize; // 0x4f8 // MNetworkEnable bool m_bEnabled; // 0x504 }; // Alignment: 7 // Size: 0x530 class CInfoWorldLayer : public CBaseEntity { public: CEntityIOOutput m_pOutputOnEntitiesSpawned; // 0x4f0 // MNetworkEnable CUtlSymbolLarge m_worldName; // 0x518 // MNetworkEnable CUtlSymbolLarge m_layerName; // 0x520 // MNetworkEnable bool m_bWorldLayerVisible; // 0x528 // MNetworkEnable bool m_bEntitiesSpawned; // 0x529 bool m_bCreateAsChildSpawnGroup; // 0x52a private: [[maybe_unused]] uint8_t __pad052b[0x1]; // 0x52b public: uint32_t m_hLayerSpawnGroup; // 0x52c }; // Alignment: 8 // Size: 0x530 class CMultiLightProxy : public CLogicalEntity { public: CUtlSymbolLarge m_iszLightNameFilter; // 0x4f0 CUtlSymbolLarge m_iszLightClassFilter; // 0x4f8 float m_flLightRadiusFilter; // 0x500 float m_flBrightnessDelta; // 0x504 bool m_bPerformScreenFade; // 0x508 private: [[maybe_unused]] uint8_t __pad0509[0x3]; // 0x509 public: float m_flTargetBrightnessMultiplier; // 0x50c float m_flCurrentBrightnessMultiplier; // 0x510 private: [[maybe_unused]] uint8_t __pad0514[0x4]; // 0x514 public: CUtlVector< CHandle< CLightEntity > > m_vecLights; // 0x518 }; // Alignment: 24 // Size: 0x550 class CPointCamera : public CBaseEntity { public: // MNetworkEnable float m_FOV; // 0x4f0 // MNetworkEnable float m_Resolution; // 0x4f4 // MNetworkEnable bool m_bFogEnable; // 0x4f8 // MNetworkEnable Color m_FogColor; // 0x4f9 private: [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd public: // MNetworkEnable float m_flFogStart; // 0x500 // MNetworkEnable float m_flFogEnd; // 0x504 // MNetworkEnable float m_flFogMaxDensity; // 0x508 // MNetworkEnable bool m_bActive; // 0x50c // MNetworkEnable bool m_bUseScreenAspectRatio; // 0x50d private: [[maybe_unused]] uint8_t __pad050e[0x2]; // 0x50e public: // MNetworkEnable float m_flAspectRatio; // 0x510 // MNetworkEnable bool m_bNoSky; // 0x514 private: [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 public: // MNetworkEnable float m_fBrightness; // 0x518 // MNetworkEnable float m_flZFar; // 0x51c // MNetworkEnable float m_flZNear; // 0x520 // MNetworkEnable bool m_bDofEnabled; // 0x524 private: [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 public: // MNetworkEnable float m_flDofNearBlurry; // 0x528 // MNetworkEnable float m_flDofNearCrisp; // 0x52c // MNetworkEnable float m_flDofFarCrisp; // 0x530 // MNetworkEnable float m_flDofFarBlurry; // 0x534 // MNetworkEnable float m_flDofTiltToGround; // 0x538 float m_TargetFOV; // 0x53c float m_DegreesPerSecond; // 0x540 bool m_bIsOn; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: CPointCamera* m_pNext; // 0x548 }; // Alignment: 9 // Size: 0x518 class CPointCameraVFOV : public CBaseEntity { public: float m_flVerticalFOV; // 0x4f0 float m_flZFar; // 0x4f4 float m_flZNear; // 0x4f8 bool m_bDofEnabled; // 0x4fc private: [[maybe_unused]] uint8_t __pad04fd[0x3]; // 0x4fd public: float m_flDofNearBlurry; // 0x500 float m_flDofNearCrisp; // 0x504 float m_flDofFarCrisp; // 0x508 float m_flDofFarBlurry; // 0x50c float m_flDofTiltToGround; // 0x510 }; // Alignment: 12 // Size: 0x580 class CPointTemplate : public CLogicalEntity { public: CUtlSymbolLarge m_iszWorldName; // 0x4f0 CUtlSymbolLarge m_iszSource2EntityLumpName; // 0x4f8 CUtlSymbolLarge m_iszEntityFilterName; // 0x500 float m_flTimeoutInterval; // 0x508 bool m_bAsynchronouslySpawnEntities; // 0x50c private: [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d public: CEntityIOOutput m_pOutputOnSpawned; // 0x510 PointTemplateClientOnlyEntityBehavior_t m_clientOnlyEntityBehavior; // 0x538 PointTemplateOwnerSpawnGroupType_t m_ownerSpawnGroupType; // 0x53c CUtlVector< uint32 > m_createdSpawnGroupHandles; // 0x540 CUtlVector< CEntityHandle > m_SpawnedEntityHandles; // 0x558 HSCRIPT m_ScriptSpawnCallback; // 0x570 HSCRIPT m_ScriptCallbackScope; // 0x578 }; // Alignment: 4 // Size: 0x520 class CGameGibManager : public CBaseEntity { public: bool m_bAllowNewGibs; // 0x510 private: [[maybe_unused]] uint8_t __pad0511[0x3]; // 0x511 public: int32_t m_iCurrentMaxPieces; // 0x514 int32_t m_iMaxPieces; // 0x518 int32_t m_iLastFrame; // 0x51c }; // Alignment: 3 // Size: 0x510 class CSoundAreaEntityBase : public CBaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: // MNetworkEnable CUtlSymbolLarge m_iszSoundAreaType; // 0x4f8 // MNetworkEnable Vector m_vPos; // 0x500 }; // Alignment: 1 // Size: 0x518 class CSoundAreaEntitySphere : public CSoundAreaEntityBase { public: // MNetworkEnable float m_flRadius; // 0x510 }; // Alignment: 2 // Size: 0x528 class CSoundAreaEntityOrientedBox : public CSoundAreaEntityBase { public: // MNetworkEnable Vector m_vMin; // 0x510 // MNetworkEnable Vector m_vMax; // 0x51c }; // Alignment: 3 // Size: 0x590 class CTeam : public CBaseEntity { public: // MNetworkEnable // MNetworkAlias "m_aPlayers" CNetworkUtlVectorBase< CHandle< CBasePlayerController > > m_aPlayerControllers; // 0x4f0 // MNetworkEnable int32_t m_iScore; // 0x508 // MNetworkEnable char m_szTeamname[129]; // 0x50c }; // Alignment: 1 // Size: 0x540 class CPlayerResource : public CBaseEntity { public: // MNetworkEnable CUtlVectorEmbeddedNetworkVar< PlayerResourceData_t > m_vecPlayerData; // 0x4f8 }; // Alignment: 2 // Size: 0x500 class CInfoGameEventProxy : public CPointEntity { public: CUtlSymbolLarge m_iszEventName; // 0x4f0 float m_flRange; // 0x4f8 }; // Alignment: 2 // Size: 0x4f8 class CProjectedDecal : public CPointEntity { public: int32_t m_nTexture; // 0x4f0 float m_flDistance; // 0x4f4 }; // Alignment: 28 // Size: 0x778 class CBaseModelEntity : public CBaseEntity { public: // MNetworkEnable // MNetworkUserGroup "CRenderComponent" // MNetworkAlias "CRenderComponent" // MNetworkTypeAlias "CRenderComponent" CRenderComponent* m_CRenderComponent; // 0x4f0 // MNetworkEnable RenderMode_t m_nRenderMode; // 0x4f8 // MNetworkEnable RenderFx_t m_nRenderFX; // 0x4f9 bool m_bAllowFadeInView; // 0x4fa // MNetworkEnable // MNetworkChangeCallback "OnColorChanged" Color m_clrRender; // 0x4fb private: [[maybe_unused]] uint8_t __pad04ff[0x1]; // 0x4ff public: // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" CUtlStringToken m_RenderAttributeIDs[4]; // 0x500 // MNetworkEnable // MNetworkChangeCallback "OnRenderAttributesChanged" Vector4D m_RenderAttributeValues[4]; // 0x510 // MNetworkEnable // MNetworkChangeCallback "OnLightGroupChanged" CUtlStringToken m_LightGroup; // 0x550 // MNetworkEnable bool m_bRenderToCubemaps; // 0x554 private: [[maybe_unused]] uint8_t __pad0555[0x3]; // 0x555 public: // MNetworkEnable CCollisionProperty m_Collision; // 0x558 // MNetworkEnable CGlowProperty m_Glow; // 0x608 // MNetworkEnable float m_flGlowBackfaceMult; // 0x658 // MNetworkEnable float m_fadeMinDist; // 0x65c // MNetworkEnable float m_fadeMaxDist; // 0x660 // MNetworkEnable float m_flFadeScale; // 0x664 // MNetworkEnable float m_flShadowStrength; // 0x668 // MNetworkEnable uint8_t m_nObjectCulling; // 0x66c private: [[maybe_unused]] uint8_t __pad066d[0x3]; // 0x66d public: // MNetworkEnable int32_t m_nAddDecal; // 0x670 // MNetworkEnable Vector m_vDecalPosition; // 0x674 // MNetworkEnable Vector m_vDecalForwardAxis; // 0x680 // MNetworkEnable float m_flDecalHealBloodRate; // 0x68c // MNetworkEnable float m_flDecalHealHeightRate; // 0x690 private: [[maybe_unused]] uint8_t __pad0694[0x4]; // 0x694 public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_ConfigEntitiesToPropagateMaterialDecalsTo; // 0x698 // MNetworkEnable // MNetworkPriority "32" // MNetworkUserGroup "Player" CNetworkViewOffsetVector m_vecViewOffset; // 0x6b0 private: [[maybe_unused]] uint8_t __pad0710[0x8]; // 0x710 public: // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" Vector m_vLightingOrigin; // 0x718 // MNetworkEnable // MNetworkChangeCallback "OnLightingOriginChanged" bool m_bFixupLightingOriginToPlayerSide; // 0x724 private: [[maybe_unused]] uint8_t __pad0725[0x3]; // 0x725 public: uint32_t m_nNextModelConfigSerialNumber; // 0x728 private: [[maybe_unused]] uint8_t __pad072c[0x4]; // 0x72c public: // MNetworkEnable CUtlVectorEmbeddedNetworkVar< ActiveModelConfig_t > m_ActiveModelConfigs; // 0x730 }; // Alignment: 0 // Size: 0x778 class CServerOnlyModelEntity : public CBaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x778 class CModelPointEntity : public CBaseModelEntity { public: // No members available }; // Alignment: 7 // Size: 0x548 class CLogicRelay : public CLogicalEntity { public: CEntityIOOutput m_OnTrigger; // 0x4f0 CEntityIOOutput m_OnSpawn; // 0x518 bool m_bDisabled; // 0x540 bool m_bWaitForRefire; // 0x541 bool m_bTriggerOnce; // 0x542 bool m_bFastRetrigger; // 0x543 bool m_bPassthoughCaller; // 0x544 }; // Alignment: 15 // Size: 0xcd8 class CParticleSystem : public CBaseModelEntity { public: // MNetworkEnable char m_szSnapshotFileName[512]; // 0x778 // MNetworkEnable bool m_bActive; // 0x978 // MNetworkEnable bool m_bFrozen; // 0x979 private: [[maybe_unused]] uint8_t __pad097a[0x2]; // 0x97a public: // MNetworkEnable int32_t m_nStopType; // 0x97c // MNetworkEnable bool m_bAnimateDuringGameplayPause; // 0x980 private: [[maybe_unused]] uint8_t __pad0981[0x7]; // 0x981 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x988 // MNetworkEnable float m_flStartTime; // 0x990 // MNetworkEnable float m_flPreSimTime; // 0x994 // MNetworkEnable Vector m_vServerControlPoints[4]; // 0x998 // MNetworkEnable uint8_t m_iServerControlPointAssignments[4]; // 0x9c8 // MNetworkEnable CHandle< CBaseEntity > m_hControlPointEnts[64]; // 0x9cc bool m_bNoSave; // 0xacc bool m_bStartActive; // 0xacd private: [[maybe_unused]] uint8_t __pad0ace[0x2]; // 0xace public: CUtlSymbolLarge m_iszEffectName; // 0xad0 CUtlSymbolLarge m_iszControlPointNames[64]; // 0xad8 }; // Alignment: 16 // Size: 0x5d0 class CPathParticleRope : public CBaseEntity { public: bool m_bStartActive; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_flMaxSimulationTime; // 0x4f4 CUtlSymbolLarge m_iszEffectName; // 0x4f8 CUtlVector< CUtlSymbolLarge > m_PathNodes_Name; // 0x500 // MNetworkEnable float m_flParticleSpacing; // 0x518 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" float m_flSlack; // 0x51c // MNetworkEnable // MNetworkChangeCallback "parametersChanged" float m_flRadius; // 0x520 // MNetworkEnable // MNetworkChangeCallback "parametersChanged" Color m_ColorTint; // 0x524 // MNetworkEnable // MNetworkChangeCallback "effectStateChanged" int32_t m_nEffectState; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_iEffectIndex; // 0x530 // MNetworkEnable CNetworkUtlVectorBase< Vector > m_PathNodes_Position; // 0x538 // MNetworkEnable CNetworkUtlVectorBase< Vector > m_PathNodes_TangentIn; // 0x550 // MNetworkEnable CNetworkUtlVectorBase< Vector > m_PathNodes_TangentOut; // 0x568 // MNetworkEnable CNetworkUtlVectorBase< Vector > m_PathNodes_Color; // 0x580 // MNetworkEnable // MNetworkChangeCallback "pinStateChanged" CNetworkUtlVectorBase< bool > m_PathNodes_PinEnabled; // 0x598 // MNetworkEnable CNetworkUtlVectorBase< float32 > m_PathNodes_RadiusScale; // 0x5b0 }; // Alignment: 1 // Size: 0x780 class CFuncWall : public CBaseModelEntity { public: int32_t m_nState; // 0x778 }; // Alignment: 0 // Size: 0x780 class CFuncWallToggle : public CFuncWall { public: // No members available }; // Alignment: 0 // Size: 0x778 class CFuncVehicleClip : public CBaseModelEntity { public: // No members available }; // Alignment: 0 // Size: 0x778 class CFuncIllusionary : public CBaseModelEntity { public: // No members available }; // Alignment: 1 // Size: 0x780 class CFuncVPhysicsClip : public CBaseModelEntity { public: bool m_bDisabled; // 0x778 }; // Alignment: 3 // Size: 0x790 class CFuncInteractionLayerClip : public CBaseModelEntity { public: bool m_bDisabled; // 0x778 private: [[maybe_unused]] uint8_t __pad0779[0x7]; // 0x779 public: CUtlSymbolLarge m_iszInteractsAs; // 0x780 CUtlSymbolLarge m_iszInteractsWith; // 0x788 }; // Alignment: 0 // Size: 0x4f0 class CPointClientCommand : public CPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CPointServerCommand : public CPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CPointBroadcastClientCommand : public CPointEntity { public: // No members available }; // Alignment: 3 // Size: 0x568 class CCommentaryAuto : public CBaseEntity { public: CEntityIOOutput m_OnCommentaryNewGame; // 0x4f0 CEntityIOOutput m_OnCommentaryMidGame; // 0x518 CEntityIOOutput m_OnCommentaryMultiplayerSpawn; // 0x540 }; // Alignment: 9 // Size: 0x790 class CDynamicLight : public CBaseModelEntity { public: uint8_t m_ActualFlags; // 0x778 // MNetworkEnable uint8_t m_Flags; // 0x779 // MNetworkEnable uint8_t m_LightStyle; // 0x77a bool m_On; // 0x77b // MNetworkEnable float m_Radius; // 0x77c // MNetworkEnable int32_t m_Exponent; // 0x780 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" float m_InnerAngle; // 0x784 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "360" float m_OuterAngle; // 0x788 // MNetworkEnable float m_SpotRadius; // 0x78c }; // Alignment: 3 // Size: 0x788 class CBubbling : public CBaseModelEntity { public: int32_t m_density; // 0x778 int32_t m_frequency; // 0x77c int32_t m_state; // 0x780 }; // Alignment: 2 // Size: 0x500 class CEnvTracer : public CPointEntity { public: Vector m_vecEnd; // 0x4f0 float m_flDelay; // 0x4fc }; // Alignment: 5 // Size: 0x620 class CTestEffect : public CBaseEntity { public: int32_t m_iLoop; // 0x4f0 int32_t m_iBeam; // 0x4f4 CBeam* m_pBeam[24]; // 0x4f8 float m_flBeamTime[24]; // 0x5b8 float m_flStartTime; // 0x618 }; // Alignment: 4 // Size: 0x510 class CBlood : public CPointEntity { public: QAngle m_vecSprayAngles; // 0x4f0 Vector m_vecSprayDir; // 0x4fc float m_flAmount; // 0x508 int32_t m_Color; // 0x50c }; // Alignment: 0 // Size: 0x4f0 class CEnvFunnel : public CBaseEntity { public: // No members available }; // Alignment: 2 // Size: 0x4f8 class CEnvBeverage : public CBaseEntity { public: bool m_CanInDispenser; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: int32_t m_nBeverageType; // 0x4f4 }; // Alignment: 0 // Size: 0x778 class CPrecipitationBlocker : public CBaseModelEntity { public: // No members available }; // Alignment: 1 // Size: 0x770 class CEnvWind : public CBaseEntity { public: // MNetworkEnable CEnvWindShared m_EnvWindShared; // 0x4f0 }; // Alignment: 1 // Size: 0x4f8 class CPhysicsWire : public CBaseEntity { public: int32_t m_nDensity; // 0x4f0 }; // Alignment: 2 // Size: 0x500 class CEnvMuzzleFlash : public CPointEntity { public: float m_flScale; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_iszParentAttachment; // 0x4f8 }; // Alignment: 1 // Size: 0x4f8 class CEnvSplash : public CPointEntity { public: float m_flScale; // 0x4f0 }; // Alignment: 16 // Size: 0x550 class CEnvGunfire : public CPointEntity { public: int32_t m_iMinBurstSize; // 0x4f0 int32_t m_iMaxBurstSize; // 0x4f4 float m_flMinBurstDelay; // 0x4f8 float m_flMaxBurstDelay; // 0x4fc float m_flRateOfFire; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_iszShootSound; // 0x508 CUtlSymbolLarge m_iszTracerType; // 0x510 bool m_bDisabled; // 0x518 private: [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 public: int32_t m_iShotsRemaining; // 0x51c int32_t m_iSpread; // 0x520 Vector m_vecSpread; // 0x524 Vector m_vecTargetPosition; // 0x530 float m_flTargetDist; // 0x53c float m_flBias; // 0x540 bool m_bCollide; // 0x544 private: [[maybe_unused]] uint8_t __pad0545[0x3]; // 0x545 public: CHandle< CBaseEntity > m_hTarget; // 0x548 }; // Alignment: 2 // Size: 0x500 class CEnvViewPunch : public CPointEntity { public: float m_flRadius; // 0x4f0 QAngle m_angViewPunch; // 0x4f4 }; // Alignment: 1 // Size: 0x4f8 class CEnvEntityIgniter : public CBaseEntity { public: float m_flLifetime; // 0x4f0 }; // Alignment: 1 // Size: 0x54d8 class CDebugHistory : public CBaseEntity { public: int32_t m_nNpcEvents; // 0x1f4530 }; // Alignment: 12 // Size: 0x590 class CEnvEntityMaker : public CPointEntity { public: Vector m_vecEntityMins; // 0x4f0 Vector m_vecEntityMaxs; // 0x4fc CHandle< CBaseEntity > m_hCurrentInstance; // 0x508 CHandle< CBaseEntity > m_hCurrentBlocker; // 0x50c Vector m_vecBlockerOrigin; // 0x510 QAngle m_angPostSpawnDirection; // 0x51c float m_flPostSpawnDirectionVariance; // 0x528 float m_flPostSpawnSpeed; // 0x52c bool m_bPostSpawnUseAngles; // 0x530 private: [[maybe_unused]] uint8_t __pad0531[0x7]; // 0x531 public: CUtlSymbolLarge m_iszTemplate; // 0x538 CEntityIOOutput m_pOutputOnSpawned; // 0x540 CEntityIOOutput m_pOutputOnFailedSpawn; // 0x568 }; // Alignment: 0 // Size: 0x4f0 class CInfoInstructorHintTarget : public CPointEntity { public: // No members available }; // Alignment: 24 // Size: 0x560 class CEnvInstructorHint : public CPointEntity { public: CUtlSymbolLarge m_iszName; // 0x4f0 CUtlSymbolLarge m_iszReplace_Key; // 0x4f8 CUtlSymbolLarge m_iszHintTargetEntity; // 0x500 int32_t m_iTimeout; // 0x508 int32_t m_iDisplayLimit; // 0x50c CUtlSymbolLarge m_iszIcon_Onscreen; // 0x510 CUtlSymbolLarge m_iszIcon_Offscreen; // 0x518 CUtlSymbolLarge m_iszCaption; // 0x520 CUtlSymbolLarge m_iszActivatorCaption; // 0x528 Color m_Color; // 0x530 float m_fIconOffset; // 0x534 float m_fRange; // 0x538 uint8_t m_iPulseOption; // 0x53c uint8_t m_iAlphaOption; // 0x53d uint8_t m_iShakeOption; // 0x53e bool m_bStatic; // 0x53f bool m_bNoOffscreen; // 0x540 bool m_bForceCaption; // 0x541 private: [[maybe_unused]] uint8_t __pad0542[0x2]; // 0x542 public: int32_t m_iInstanceType; // 0x544 bool m_bSuppressRest; // 0x548 private: [[maybe_unused]] uint8_t __pad0549[0x7]; // 0x549 public: CUtlSymbolLarge m_iszBinding; // 0x550 bool m_bAllowNoDrawTarget; // 0x558 bool m_bAutoStart; // 0x559 bool m_bLocalPlayerOnly; // 0x55a }; // Alignment: 9 // Size: 0x530 class CEnvInstructorVRHint : public CPointEntity { public: CUtlSymbolLarge m_iszName; // 0x4f0 CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 int32_t m_iTimeout; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_iszCaption; // 0x508 CUtlSymbolLarge m_iszStartSound; // 0x510 int32_t m_iLayoutFileType; // 0x518 private: [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c public: CUtlSymbolLarge m_iszCustomLayoutFile; // 0x520 int32_t m_iAttachType; // 0x528 float m_flHeightOffset; // 0x52c }; // Alignment: 3 // Size: 0x508 class CInstructorEventEntity : public CPointEntity { public: CUtlSymbolLarge m_iszName; // 0x4f0 CUtlSymbolLarge m_iszHintTargetEntity; // 0x4f8 CHandle< CBasePlayer > m_hTargetPlayer; // 0x500 }; // Alignment: 5 // Size: 0x578 class CEnvScreenOverlay : public CPointEntity { public: // MNetworkEnable CUtlSymbolLarge m_iszOverlayNames[10]; // 0x4f0 // MNetworkEnable // MNetworkBitCount "11" // MNetworkMinValue "-1" // MNetworkMaxValue "63" float m_flOverlayTimes[10]; // 0x540 // MNetworkEnable float m_flStartTime; // 0x568 // MNetworkEnable int32_t m_iDesiredOverlay; // 0x56c // MNetworkEnable bool m_bIsActive; // 0x570 }; // Alignment: 2 // Size: 0x4f8 class CEnvZoom : public CPointEntity { public: float m_flSpeed; // 0x4f0 int32_t m_nFOV; // 0x4f4 }; // Alignment: 4 // Size: 0x528 class CEnvFade : public CLogicalEntity { public: // MNetworkEnable Color m_fadeColor; // 0x4f0 float m_Duration; // 0x4f4 float m_HoldDuration; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: CEntityIOOutput m_OnBeginFade; // 0x500 }; // Alignment: 3 // Size: 0x520 class CCredits : public CPointEntity { public: CEntityIOOutput m_OnCreditsDone; // 0x4f0 bool m_bRolledOutroCredits; // 0x518 private: [[maybe_unused]] uint8_t __pad0519[0x3]; // 0x519 public: float m_flLogoLength; // 0x51c }; // Alignment: 10 // Size: 0x540 class CEnvShake : public CPointEntity { public: CUtlSymbolLarge m_limitToEntity; // 0x4f0 float m_Amplitude; // 0x4f8 float m_Frequency; // 0x4fc float m_Duration; // 0x500 float m_Radius; // 0x504 float m_stopTime; // 0x508 float m_nextShake; // 0x50c float m_currentAmp; // 0x510 Vector m_maxForce; // 0x514 private: [[maybe_unused]] uint8_t __pad0520[0x8]; // 0x520 public: CPhysicsShake m_shakeCallback; // 0x528 }; // Alignment: 4 // Size: 0x500 class CEnvTilt : public CPointEntity { public: float m_Duration; // 0x4f0 float m_Radius; // 0x4f4 float m_TiltTime; // 0x4f8 float m_stopTime; // 0x4fc }; // Alignment: 5 // Size: 0x528 class CEnvSpark : public CPointEntity { public: float m_flDelay; // 0x4f0 int32_t m_nMagnitude; // 0x4f4 int32_t m_nTrailLength; // 0x4f8 int32_t m_nType; // 0x4fc CEntityIOOutput m_OnSpark; // 0x500 }; // Alignment: 0 // Size: 0x778 class CShower : public CModelPointEntity { public: // No members available }; // Alignment: 15 // Size: 0x7d0 class CEnvExplosion : public CModelPointEntity { public: int32_t m_iMagnitude; // 0x778 float m_flPlayerDamage; // 0x77c int32_t m_iRadiusOverride; // 0x780 float m_flInnerRadius; // 0x784 int32_t m_spriteScale; // 0x788 float m_flDamageForce; // 0x78c CHandle< CBaseEntity > m_hInflictor; // 0x790 int32_t m_iCustomDamageType; // 0x794 private: [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 public: CUtlSymbolLarge m_iszExplosionType; // 0x7a0 CUtlSymbolLarge m_iszCustomEffectName; // 0x7a8 CUtlSymbolLarge m_iszCustomSoundName; // 0x7b0 Class_T m_iClassIgnore; // 0x7b8 Class_T m_iClassIgnore2; // 0x7bc CUtlSymbolLarge m_iszEntityIgnoreName; // 0x7c0 CHandle< CBaseEntity > m_hEntityIgnore; // 0x7c8 }; // Alignment: 1 // Size: 0x550 class CFilterName : public CBaseFilter { public: CUtlSymbolLarge m_iFilterName; // 0x548 }; // Alignment: 1 // Size: 0x550 class CFilterModel : public CBaseFilter { public: CUtlSymbolLarge m_iFilterModel; // 0x548 }; // Alignment: 1 // Size: 0x550 class CFilterContext : public CBaseFilter { public: CUtlSymbolLarge m_iFilterContext; // 0x548 }; // Alignment: 1 // Size: 0x550 class FilterTeam : public CBaseFilter { public: int32_t m_iFilterTeam; // 0x548 }; // Alignment: 1 // Size: 0x550 class CFilterMassGreater : public CBaseFilter { public: float m_fFilterMass; // 0x548 }; // Alignment: 1 // Size: 0x550 class FilterDamageType : public CBaseFilter { public: int32_t m_iDamageType; // 0x548 }; // Alignment: 3 // Size: 0x558 class FilterHealth : public CBaseFilter { public: bool m_bAdrenalineActive; // 0x548 private: [[maybe_unused]] uint8_t __pad0549[0x3]; // 0x549 public: int32_t m_iHealthMin; // 0x54c int32_t m_iHealthMax; // 0x550 }; // Alignment: 5 // Size: 0x568 class CFilterEnemy : public CBaseFilter { public: CUtlSymbolLarge m_iszEnemyName; // 0x548 float m_flRadius; // 0x550 float m_flOuterRadius; // 0x554 int32_t m_nMaxSquadmatesPerEnemy; // 0x558 private: [[maybe_unused]] uint8_t __pad055c[0x4]; // 0x55c public: CUtlSymbolLarge m_iszPlayerName; // 0x560 }; // Alignment: 19 // Size: 0x808 class CFire : public CBaseModelEntity { public: CHandle< CBaseFire > m_hEffect; // 0x778 CHandle< CBaseEntity > m_hOwner; // 0x77c int32_t m_nFireType; // 0x780 float m_flFuel; // 0x784 float m_flDamageTime; // 0x788 float m_lastDamage; // 0x78c float m_flFireSize; // 0x790 float m_flLastNavUpdateTime; // 0x794 float m_flHeatLevel; // 0x798 float m_flHeatAbsorb; // 0x79c float m_flDamageScale; // 0x7a0 float m_flMaxHeat; // 0x7a4 float m_flLastHeatLevel; // 0x7a8 float m_flAttackTime; // 0x7ac bool m_bEnabled; // 0x7b0 bool m_bStartDisabled; // 0x7b1 bool m_bDidActivate; // 0x7b2 private: [[maybe_unused]] uint8_t __pad07b3[0x5]; // 0x7b3 public: CEntityIOOutput m_OnIgnited; // 0x7b8 CEntityIOOutput m_OnExtinguished; // 0x7e0 }; // Alignment: 3 // Size: 0x500 class CEnvFireSource : public CBaseEntity { public: bool m_bEnabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_radius; // 0x4f4 float m_damage; // 0x4f8 }; // Alignment: 8 // Size: 0x558 class CEnvFireSensor : public CBaseEntity { public: bool m_bEnabled; // 0x4f0 bool m_bHeatAtLevel; // 0x4f1 private: [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 public: float m_radius; // 0x4f4 float m_targetLevel; // 0x4f8 float m_targetTime; // 0x4fc float m_levelTime; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CEntityIOOutput m_OnHeatLevelStart; // 0x508 CEntityIOOutput m_OnHeatLevelEnd; // 0x530 }; // Alignment: 5 // Size: 0x508 class CFuncTimescale : public CBaseEntity { public: float m_flDesiredTimescale; // 0x4f0 float m_flAcceleration; // 0x4f4 float m_flMinBlendRate; // 0x4f8 float m_flBlendDeltaMultiplier; // 0x4fc bool m_isStarted; // 0x500 }; // Alignment: 23 // Size: 0x7e0 class CGameUI : public CBaseEntity { public: float m_flFieldOfView; // 0x4f0 CHandle< CBasePlayerWeapon > m_hSaveWeapon; // 0x4f4 CEntityIOOutput m_playerOn; // 0x4f8 CEntityIOOutput m_playerOff; // 0x520 CEntityIOOutput m_pressedMoveLeft; // 0x548 CEntityIOOutput m_pressedMoveRight; // 0x570 CEntityIOOutput m_pressedForward; // 0x598 CEntityIOOutput m_pressedBack; // 0x5c0 CEntityIOOutput m_pressedAttack; // 0x5e8 CEntityIOOutput m_pressedAttack2; // 0x610 CEntityIOOutput m_unpressedMoveLeft; // 0x638 CEntityIOOutput m_unpressedMoveRight; // 0x660 CEntityIOOutput m_unpressedForward; // 0x688 CEntityIOOutput m_unpressedBack; // 0x6b0 CEntityIOOutput m_unpressedAttack; // 0x6d8 CEntityIOOutput m_unpressedAttack2; // 0x700 CEntityOutputTemplate< float32 > m_xaxis; // 0x728 CEntityOutputTemplate< float32 > m_yaxis; // 0x750 CEntityOutputTemplate< float32 > m_attackaxis; // 0x778 CEntityOutputTemplate< float32 > m_attack2axis; // 0x7a0 bool m_bForceUpdate; // 0x7c8 private: [[maybe_unused]] uint8_t __pad07c9[0x7]; // 0x7c9 public: uint64_t m_nLastButtonState; // 0x7d0 CHandle< CBasePlayer > m_player; // 0x7d8 }; // Alignment: 5 // Size: 0x528 class CGameWeaponManager : public CBaseEntity { public: CUtlSymbolLarge m_iszWeaponName; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f8[0x8]; // 0x4f8 public: int32_t m_iMaxPieces; // 0x500 float m_flAmmoMod; // 0x504 bool m_bExpectingWeapon; // 0x508 private: [[maybe_unused]] uint8_t __pad0509[0x7]; // 0x509 public: CUtlVector< CHandle< CBaseEntity > > m_ManagedNonWeapons; // 0x510 }; // Alignment: 7 // Size: 0x798 class CLightGlow : public CBaseModelEntity { public: // MNetworkEnable uint32_t m_nHorizontalSize; // 0x778 // MNetworkEnable uint32_t m_nVerticalSize; // 0x77c // MNetworkEnable uint32_t m_nMinDist; // 0x780 // MNetworkEnable uint32_t m_nMaxDist; // 0x784 // MNetworkEnable uint32_t m_nOuterMaxDist; // 0x788 // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags float m_flGlowProxySize; // 0x78c // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" float m_flHDRColorScale; // 0x790 }; // Alignment: 3 // Size: 0x528 class CLogicAchievement : public CLogicalEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: CUtlSymbolLarge m_iszAchievementEventID; // 0x4f8 CEntityIOOutput m_OnFired; // 0x500 }; // Alignment: 5 // Size: 0x540 class CLogicGameEventListener : public CLogicalEntity { public: CEntityIOOutput m_OnEventFired; // 0x500 CUtlSymbolLarge m_iszGameEventName; // 0x528 CUtlSymbolLarge m_iszGameEventItem; // 0x530 // MNetworkEnable bool m_bEnabled; // 0x538 bool m_bStartDisabled; // 0x539 }; // Alignment: 9 // Size: 0x520 class CLogicMeasureMovement : public CLogicalEntity { public: CUtlSymbolLarge m_strMeasureTarget; // 0x4f0 CUtlSymbolLarge m_strMeasureReference; // 0x4f8 CUtlSymbolLarge m_strTargetReference; // 0x500 CHandle< CBaseEntity > m_hMeasureTarget; // 0x508 CHandle< CBaseEntity > m_hMeasureReference; // 0x50c CHandle< CBaseEntity > m_hTarget; // 0x510 CHandle< CBaseEntity > m_hTargetReference; // 0x514 float m_flScale; // 0x518 int32_t m_nMeasureType; // 0x51c }; // Alignment: 2 // Size: 0x500 class CLogicNavigation : public CLogicalEntity { public: bool m_isOn; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 public: navproperties_t m_navProperty; // 0x4fc }; // Alignment: 48 // Size: 0x830 class CLogicNPCCounter : public CBaseEntity { public: CEntityIOOutput m_OnMinCountAll; // 0x4f0 CEntityIOOutput m_OnMaxCountAll; // 0x518 CEntityOutputTemplate< float32 > m_OnFactorAll; // 0x540 CEntityOutputTemplate< float32 > m_OnMinPlayerDistAll; // 0x568 CEntityIOOutput m_OnMinCount_1; // 0x590 CEntityIOOutput m_OnMaxCount_1; // 0x5b8 CEntityOutputTemplate< float32 > m_OnFactor_1; // 0x5e0 CEntityOutputTemplate< float32 > m_OnMinPlayerDist_1; // 0x608 CEntityIOOutput m_OnMinCount_2; // 0x630 CEntityIOOutput m_OnMaxCount_2; // 0x658 CEntityOutputTemplate< float32 > m_OnFactor_2; // 0x680 CEntityOutputTemplate< float32 > m_OnMinPlayerDist_2; // 0x6a8 CEntityIOOutput m_OnMinCount_3; // 0x6d0 CEntityIOOutput m_OnMaxCount_3; // 0x6f8 CEntityOutputTemplate< float32 > m_OnFactor_3; // 0x720 CEntityOutputTemplate< float32 > m_OnMinPlayerDist_3; // 0x748 CEntityHandle m_hSource; // 0x770 private: [[maybe_unused]] uint8_t __pad0774[0x4]; // 0x774 public: CUtlSymbolLarge m_iszSourceEntityName; // 0x778 float m_flDistanceMax; // 0x780 bool m_bDisabled; // 0x784 private: [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 public: int32_t m_nMinCountAll; // 0x788 int32_t m_nMaxCountAll; // 0x78c int32_t m_nMinFactorAll; // 0x790 int32_t m_nMaxFactorAll; // 0x794 private: [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 public: CUtlSymbolLarge m_iszNPCClassname_1; // 0x7a0 int32_t m_nNPCState_1; // 0x7a8 bool m_bInvertState_1; // 0x7ac private: [[maybe_unused]] uint8_t __pad07ad[0x3]; // 0x7ad public: int32_t m_nMinCount_1; // 0x7b0 int32_t m_nMaxCount_1; // 0x7b4 int32_t m_nMinFactor_1; // 0x7b8 int32_t m_nMaxFactor_1; // 0x7bc private: [[maybe_unused]] uint8_t __pad07c0[0x4]; // 0x7c0 public: float m_flDefaultDist_1; // 0x7c4 CUtlSymbolLarge m_iszNPCClassname_2; // 0x7c8 int32_t m_nNPCState_2; // 0x7d0 bool m_bInvertState_2; // 0x7d4 private: [[maybe_unused]] uint8_t __pad07d5[0x3]; // 0x7d5 public: int32_t m_nMinCount_2; // 0x7d8 int32_t m_nMaxCount_2; // 0x7dc int32_t m_nMinFactor_2; // 0x7e0 int32_t m_nMaxFactor_2; // 0x7e4 private: [[maybe_unused]] uint8_t __pad07e8[0x4]; // 0x7e8 public: float m_flDefaultDist_2; // 0x7ec CUtlSymbolLarge m_iszNPCClassname_3; // 0x7f0 int32_t m_nNPCState_3; // 0x7f8 bool m_bInvertState_3; // 0x7fc private: [[maybe_unused]] uint8_t __pad07fd[0x3]; // 0x7fd public: int32_t m_nMinCount_3; // 0x800 int32_t m_nMaxCount_3; // 0x804 int32_t m_nMinFactor_3; // 0x808 int32_t m_nMaxFactor_3; // 0x80c private: [[maybe_unused]] uint8_t __pad0810[0x4]; // 0x810 public: float m_flDefaultDist_3; // 0x814 }; // Alignment: 4 // Size: 0x860 class CLogicNPCCounterAABB : public CLogicNPCCounter { public: Vector m_vDistanceOuterMins; // 0x830 Vector m_vDistanceOuterMaxs; // 0x83c Vector m_vOuterMins; // 0x848 Vector m_vOuterMaxs; // 0x854 }; // Alignment: 0 // Size: 0x860 class CLogicNPCCounterOBB : public CLogicNPCCounterAABB { public: // No members available }; // Alignment: 5 // Size: 0x598 class CLogicPlayerProxy : public CLogicalEntity { public: CHandle< CBaseEntity > m_hPlayer; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CEntityIOOutput m_PlayerHasAmmo; // 0x4f8 CEntityIOOutput m_PlayerHasNoAmmo; // 0x520 CEntityIOOutput m_PlayerDied; // 0x548 CEntityOutputTemplate< int32 > m_RequestedPlayerHealth; // 0x570 }; // Alignment: 11 // Size: 0x688 class CLogicAuto : public CBaseEntity { public: CEntityIOOutput m_OnMapSpawn; // 0x4f0 CEntityIOOutput m_OnDemoMapSpawn; // 0x518 CEntityIOOutput m_OnNewGame; // 0x540 CEntityIOOutput m_OnLoadGame; // 0x568 CEntityIOOutput m_OnMapTransition; // 0x590 CEntityIOOutput m_OnBackgroundMap; // 0x5b8 CEntityIOOutput m_OnMultiNewMap; // 0x5e0 CEntityIOOutput m_OnMultiNewRound; // 0x608 CEntityIOOutput m_OnVREnabled; // 0x630 CEntityIOOutput m_OnVRNotEnabled; // 0x658 CUtlSymbolLarge m_globalstate; // 0x680 }; // Alignment: 0 // Size: 0x4f0 class CLogicScript : public CPointEntity { public: // No members available }; // Alignment: 12 // Size: 0x590 class CTimerEntity : public CLogicalEntity { public: CEntityIOOutput m_OnTimer; // 0x4f0 CEntityIOOutput m_OnTimerHigh; // 0x518 CEntityIOOutput m_OnTimerLow; // 0x540 int32_t m_iDisabled; // 0x568 float m_flInitialDelay; // 0x56c float m_flRefireTime; // 0x570 bool m_bUpDownState; // 0x574 private: [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: int32_t m_iUseRandomTime; // 0x578 float m_flLowerRandomBound; // 0x57c float m_flUpperRandomBound; // 0x580 float m_flRemainingTime; // 0x584 bool m_bPaused; // 0x588 }; // Alignment: 4 // Size: 0x528 class CLogicLineToEntity : public CLogicalEntity { public: CEntityOutputTemplate< Vector > m_Line; // 0x4f0 CUtlSymbolLarge m_SourceName; // 0x518 CHandle< CBaseEntity > m_StartEntity; // 0x520 CHandle< CBaseEntity > m_EndEntity; // 0x524 }; // Alignment: 11 // Size: 0x5d0 class CMathRemap : public CLogicalEntity { public: float m_flInMin; // 0x4f0 float m_flInMax; // 0x4f4 float m_flOut1; // 0x4f8 float m_flOut2; // 0x4fc float m_flOldInValue; // 0x500 bool m_bEnabled; // 0x504 private: [[maybe_unused]] uint8_t __pad0505[0x3]; // 0x505 public: CEntityOutputTemplate< float32 > m_OutValue; // 0x508 CEntityIOOutput m_OnRoseAboveMin; // 0x530 CEntityIOOutput m_OnRoseAboveMax; // 0x558 CEntityIOOutput m_OnFellBelowMin; // 0x580 CEntityIOOutput m_OnFellBelowMax; // 0x5a8 }; // Alignment: 5 // Size: 0x528 class CMathColorBlend : public CLogicalEntity { public: float m_flInMin; // 0x4f0 float m_flInMax; // 0x4f4 Color m_OutColor1; // 0x4f8 Color m_OutColor2; // 0x4fc CEntityOutputTemplate< Color > m_OutValue; // 0x500 }; // Alignment: 5 // Size: 0x530 class CEnvGlobal : public CLogicalEntity { public: CEntityOutputTemplate< int32 > m_outCounter; // 0x4f0 CUtlSymbolLarge m_globalstate; // 0x518 int32_t m_triggermode; // 0x520 int32_t m_initialstate; // 0x524 int32_t m_counter; // 0x528 }; // Alignment: 5 // Size: 0x628 class CMultiSource : public CLogicalEntity { public: CHandle< CBaseEntity > m_rgEntities[32]; // 0x4f0 int32_t m_rgTriggered[32]; // 0x570 CEntityIOOutput m_OnTrigger; // 0x5f0 int32_t m_iTotal; // 0x618 private: [[maybe_unused]] uint8_t __pad061c[0x4]; // 0x61c public: CUtlSymbolLarge m_globalstate; // 0x620 }; // Alignment: 11 // Size: 0x5f0 class CMathCounter : public CLogicalEntity { public: float m_flMin; // 0x4f0 float m_flMax; // 0x4f4 bool m_bHitMin; // 0x4f8 bool m_bHitMax; // 0x4f9 bool m_bDisabled; // 0x4fa private: [[maybe_unused]] uint8_t __pad04fb[0x5]; // 0x4fb public: CEntityOutputTemplate< float32 > m_OutValue; // 0x500 CEntityOutputTemplate< float32 > m_OnGetValue; // 0x528 CEntityIOOutput m_OnHitMin; // 0x550 CEntityIOOutput m_OnHitMax; // 0x578 CEntityIOOutput m_OnChangedFromMin; // 0x5a0 CEntityIOOutput m_OnChangedFromMax; // 0x5c8 }; // Alignment: 6 // Size: 0xb40 class CLogicCase : public CLogicalEntity { public: CUtlSymbolLarge m_nCase[32]; // 0x4f0 int32_t m_nShuffleCases; // 0x5f0 int32_t m_nLastShuffleCase; // 0x5f4 uint8_t m_uchShuffleCaseMap[32]; // 0x5f8 CEntityIOOutput m_OnCase[32]; // 0x618 CEntityOutputTemplate< CVariantBase< CVariantDefaultAllocator > > m_OnDefault; // 0xb18 }; // Alignment: 6 // Size: 0x598 class CLogicCompare : public CLogicalEntity { public: float m_flInValue; // 0x4f0 float m_flCompareValue; // 0x4f4 CEntityOutputTemplate< float32 > m_OnLessThan; // 0x4f8 CEntityOutputTemplate< float32 > m_OnEqualTo; // 0x520 CEntityOutputTemplate< float32 > m_OnNotEqualTo; // 0x548 CEntityOutputTemplate< float32 > m_OnGreaterThan; // 0x570 }; // Alignment: 3 // Size: 0x500 class CLogicAutosave : public CLogicalEntity { public: bool m_bForceNewLevelUnit; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: int32_t m_minHitPoints; // 0x4f4 int32_t m_minHitPointsToCommit; // 0x4f8 }; // Alignment: 4 // Size: 0x510 class CLogicActiveAutosave : public CLogicAutosave { public: int32_t m_TriggerHitPoints; // 0x500 float m_flTimeToTrigger; // 0x504 float m_flStartTime; // 0x508 float m_flDangerousTime; // 0x50c }; // Alignment: 6 // Size: 0x508 class CLogicDistanceAutosave : public CLogicalEntity { public: CUtlSymbolLarge m_iszTargetEntity; // 0x4f0 float m_flDistanceToPlayer; // 0x4f8 bool m_bForceNewLevelUnit; // 0x4fc bool m_bCheckCough; // 0x4fd bool m_bThinkDangerous; // 0x4fe private: [[maybe_unused]] uint8_t __pad04ff[0x1]; // 0x4ff public: float m_flDangerousTime; // 0x500 }; // Alignment: 4 // Size: 0x508 class CLogicCollisionPair : public CLogicalEntity { public: CUtlSymbolLarge m_nameAttach1; // 0x4f0 CUtlSymbolLarge m_nameAttach2; // 0x4f8 bool m_disabled; // 0x500 bool m_succeeded; // 0x501 }; // Alignment: 6 // Size: 0x608 class CLogicBranchList : public CLogicalEntity { public: CUtlSymbolLarge m_nLogicBranchNames[16]; // 0x4f0 CUtlVector< CHandle< CBaseEntity > > m_LogicBranchList; // 0x570 CLogicBranchList::LogicBranchListenerLastState_t m_eLastState; // 0x588 private: [[maybe_unused]] uint8_t __pad058c[0x4]; // 0x58c public: CEntityIOOutput m_OnAllTrue; // 0x590 CEntityIOOutput m_OnAllFalse; // 0x5b8 CEntityIOOutput m_OnMixed; // 0x5e0 }; // Alignment: 1 // Size: 0x4f8 class CLogicGameEvent : public CLogicalEntity { public: CUtlSymbolLarge m_iszEventName; // 0x4f0 }; // Alignment: 1 // Size: 0x780 class CRuleEntity : public CBaseModelEntity { public: CUtlSymbolLarge m_iszMaster; // 0x778 }; // Alignment: 1 // Size: 0x788 class CRulePointEntity : public CRuleEntity { public: int32_t m_Score; // 0x780 }; // Alignment: 0 // Size: 0x780 class CRuleBrushEntity : public CRuleEntity { public: // No members available }; // Alignment: 2 // Size: 0x7b8 class CGameText : public CRulePointEntity { public: CUtlSymbolLarge m_iszMessage; // 0x788 hudtextparms_t m_textParms; // 0x790 }; // Alignment: 4 // Size: 0x820 class CGamePlayerZone : public CRuleBrushEntity { public: CEntityIOOutput m_OnPlayerInZone; // 0x780 CEntityIOOutput m_OnPlayerOutZone; // 0x7a8 CEntityOutputTemplate< int32 > m_PlayersInCount; // 0x7d0 CEntityOutputTemplate< int32 > m_PlayersOutCount; // 0x7f8 }; // Alignment: 2 // Size: 0x908 class CGamePlayerEquip : public CRulePointEntity { public: CUtlSymbolLarge m_weaponNames[32]; // 0x788 int32_t m_weaponCount[32]; // 0x888 }; // Alignment: 5 // Size: 0x508 class CMessageEntity : public CPointEntity { public: int32_t m_radius; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_messageText; // 0x4f8 bool m_drawText; // 0x500 bool m_bDeveloperOnly; // 0x501 bool m_bEnabled; // 0x502 }; // Alignment: 5 // Size: 0x7f8 class CTriggerBrush : public CBaseModelEntity { public: CEntityIOOutput m_OnStartTouch; // 0x778 CEntityIOOutput m_OnEndTouch; // 0x7a0 CEntityIOOutput m_OnUse; // 0x7c8 int32_t m_iInputFilter; // 0x7f0 int32_t m_iDontMessageParent; // 0x7f4 }; // Alignment: 8 // Size: 0x540 class CPathKeyFrame : public CLogicalEntity { public: Vector m_Origin; // 0x4f0 QAngle m_Angles; // 0x4fc Quaternion m_qAngle; // 0x508 CUtlSymbolLarge m_iNextKey; // 0x518 float m_flNextTime; // 0x520 private: [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 public: CPathKeyFrame* m_pNextKey; // 0x528 CPathKeyFrame* m_pPrevKey; // 0x530 float m_flSpeed; // 0x538 }; // Alignment: 11 // Size: 0x580 class CBaseMoveBehavior : public CPathKeyFrame { public: int32_t m_iPositionInterpolator; // 0x540 int32_t m_iRotationInterpolator; // 0x544 float m_flAnimStartTime; // 0x548 float m_flAnimEndTime; // 0x54c float m_flAverageSpeedAcrossFrame; // 0x550 private: [[maybe_unused]] uint8_t __pad0554[0x4]; // 0x554 public: CPathKeyFrame* m_pCurrentKeyFrame; // 0x558 CPathKeyFrame* m_pTargetKeyFrame; // 0x560 CPathKeyFrame* m_pPreKeyFrame; // 0x568 CPathKeyFrame* m_pPostKeyFrame; // 0x570 float m_flTimeIntoFrame; // 0x578 int32_t m_iDirection; // 0x57c }; // Alignment: 4 // Size: 0x528 class CPathCorner : public CPointEntity { public: float m_flWait; // 0x4f0 float m_flRadius; // 0x4f4 CEntityIOOutput m_OnPass; // 0x4f8 CUtlSymbolLarge m_MoveActivityName; // 0x520 }; // Alignment: 6 // Size: 0x550 class CPhysForce : public CPointEntity { public: CUtlSymbolLarge m_nameAttach; // 0x4f8 float m_force; // 0x500 float m_forceTime; // 0x504 CHandle< CBaseEntity > m_attachedObject; // 0x508 bool m_wasRestored; // 0x50c private: [[maybe_unused]] uint8_t __pad050d[0x3]; // 0x50d public: CConstantForceController m_integrator; // 0x510 }; // Alignment: 1 // Size: 0x560 class CPhysThruster : public CPhysForce { public: Vector m_localOrigin; // 0x550 }; // Alignment: 1 // Size: 0x560 class CPhysTorque : public CPhysForce { public: Vector m_axis; // 0x550 }; // Alignment: 7 // Size: 0x540 class CPhysMotor : public CLogicalEntity { public: CUtlSymbolLarge m_nameAttach; // 0x4f0 CHandle< CBaseEntity > m_hAttachedObject; // 0x4f8 float m_spinUp; // 0x4fc float m_additionalAcceleration; // 0x500 float m_angularAcceleration; // 0x504 float m_lastTime; // 0x508 private: [[maybe_unused]] uint8_t __pad050c[0x14]; // 0x50c public: CMotorController m_motor; // 0x520 }; // Alignment: 7 // Size: 0x530 class CKeepUpright : public CPointEntity { public: Vector m_worldGoalAxis; // 0x4f8 Vector m_localTestAxis; // 0x504 private: [[maybe_unused]] uint8_t __pad0510[0x8]; // 0x510 public: CUtlSymbolLarge m_nameAttach; // 0x518 CHandle< CBaseEntity > m_attachedObject; // 0x520 float m_angularLimit; // 0x524 bool m_bActive; // 0x528 bool m_bDampAllRotation; // 0x529 }; // Alignment: 8 // Size: 0x548 class CPhysConstraint : public CLogicalEntity { public: CUtlSymbolLarge m_nameAttach1; // 0x4f8 CUtlSymbolLarge m_nameAttach2; // 0x500 CUtlSymbolLarge m_breakSound; // 0x508 float m_forceLimit; // 0x510 float m_torqueLimit; // 0x514 uint32_t m_teleportTick; // 0x518 float m_minTeleportDistance; // 0x51c CEntityIOOutput m_OnBreak; // 0x520 }; // Alignment: 18 // Size: 0x6e8 class CPhysHinge : public CPhysConstraint { public: ConstraintSoundInfo m_soundInfo; // 0x550 CEntityIOOutput m_NotifyMinLimitReached; // 0x5d8 CEntityIOOutput m_NotifyMaxLimitReached; // 0x600 bool m_bAtMinLimit; // 0x628 bool m_bAtMaxLimit; // 0x629 private: [[maybe_unused]] uint8_t __pad062a[0x2]; // 0x62a public: constraint_hingeparams_t m_hinge; // 0x62c float m_hingeFriction; // 0x66c float m_systemLoadScale; // 0x670 bool m_bIsAxisLocal; // 0x674 private: [[maybe_unused]] uint8_t __pad0675[0x3]; // 0x675 public: float m_flMinRotation; // 0x678 float m_flMaxRotation; // 0x67c float m_flInitialRotation; // 0x680 float m_flMotorFrequency; // 0x684 float m_flMotorDampingRatio; // 0x688 float m_flAngleSpeed; // 0x68c float m_flAngleSpeedThreshold; // 0x690 private: [[maybe_unused]] uint8_t __pad0694[0x4]; // 0x694 public: CEntityIOOutput m_OnStartMoving; // 0x698 CEntityIOOutput m_OnStopMoving; // 0x6c0 }; // Alignment: 0 // Size: 0x6e8 class CPhysHingeAlias_phys_hinge_local : public CPhysHinge { public: // No members available }; // Alignment: 1 // Size: 0x550 class CPhysBallSocket : public CPhysConstraint { public: float m_flFriction; // 0x548 }; // Alignment: 10 // Size: 0x600 class CPhysSlideConstraint : public CPhysConstraint { public: Vector m_axisEnd; // 0x550 float m_slideFriction; // 0x55c float m_systemLoadScale; // 0x560 float m_initialOffset; // 0x564 bool m_bEnableLinearConstraint; // 0x568 bool m_bEnableAngularConstraint; // 0x569 private: [[maybe_unused]] uint8_t __pad056a[0x2]; // 0x56a public: float m_flMotorFrequency; // 0x56c float m_flMotorDampingRatio; // 0x570 bool m_bUseEntityPivot; // 0x574 private: [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: ConstraintSoundInfo m_soundInfo; // 0x578 }; // Alignment: 6 // Size: 0x560 class CPhysFixed : public CPhysConstraint { public: float m_flLinearFrequency; // 0x548 float m_flLinearDampingRatio; // 0x54c float m_flAngularFrequency; // 0x550 float m_flAngularDampingRatio; // 0x554 bool m_bEnableLinearConstraint; // 0x558 bool m_bEnableAngularConstraint; // 0x559 }; // Alignment: 4 // Size: 0x578 class CPhysPulley : public CPhysConstraint { public: Vector m_position2; // 0x548 Vector m_offset[2]; // 0x554 float m_addLength; // 0x56c float m_gearRatio; // 0x570 }; // Alignment: 6 // Size: 0x580 class CPhysLength : public CPhysConstraint { public: Vector m_offset[2]; // 0x548 Vector m_vecAttach; // 0x560 float m_addLength; // 0x56c float m_minLength; // 0x570 float m_totalLength; // 0x574 bool m_bEnableCollision; // 0x578 }; // Alignment: 9 // Size: 0x570 class CRagdollConstraint : public CPhysConstraint { public: float m_xmin; // 0x548 float m_xmax; // 0x54c float m_ymin; // 0x550 float m_ymax; // 0x554 float m_zmin; // 0x558 float m_zmax; // 0x55c float m_xfriction; // 0x560 float m_yfriction; // 0x564 float m_zfriction; // 0x568 }; // Alignment: 48 // Size: 0x678 class CGenericConstraint : public CPhysConstraint { public: JointMotion_t m_nLinearMotionX; // 0x550 JointMotion_t m_nLinearMotionY; // 0x554 JointMotion_t m_nLinearMotionZ; // 0x558 float m_flLinearFrequencyX; // 0x55c float m_flLinearFrequencyY; // 0x560 float m_flLinearFrequencyZ; // 0x564 float m_flLinearDampingRatioX; // 0x568 float m_flLinearDampingRatioY; // 0x56c float m_flLinearDampingRatioZ; // 0x570 float m_flMaxLinearImpulseX; // 0x574 float m_flMaxLinearImpulseY; // 0x578 float m_flMaxLinearImpulseZ; // 0x57c float m_flBreakAfterTimeX; // 0x580 float m_flBreakAfterTimeY; // 0x584 float m_flBreakAfterTimeZ; // 0x588 float m_flBreakAfterTimeStartTimeX; // 0x58c float m_flBreakAfterTimeStartTimeY; // 0x590 float m_flBreakAfterTimeStartTimeZ; // 0x594 float m_flBreakAfterTimeThresholdX; // 0x598 float m_flBreakAfterTimeThresholdY; // 0x59c float m_flBreakAfterTimeThresholdZ; // 0x5a0 float m_flNotifyForceX; // 0x5a4 float m_flNotifyForceY; // 0x5a8 float m_flNotifyForceZ; // 0x5ac float m_flNotifyForceMinTimeX; // 0x5b0 float m_flNotifyForceMinTimeY; // 0x5b4 float m_flNotifyForceMinTimeZ; // 0x5b8 float m_flNotifyForceLastTimeX; // 0x5bc float m_flNotifyForceLastTimeY; // 0x5c0 float m_flNotifyForceLastTimeZ; // 0x5c4 bool m_bAxisNotifiedX; // 0x5c8 bool m_bAxisNotifiedY; // 0x5c9 bool m_bAxisNotifiedZ; // 0x5ca private: [[maybe_unused]] uint8_t __pad05cb[0x1]; // 0x5cb public: JointMotion_t m_nAngularMotionX; // 0x5cc JointMotion_t m_nAngularMotionY; // 0x5d0 JointMotion_t m_nAngularMotionZ; // 0x5d4 float m_flAngularFrequencyX; // 0x5d8 float m_flAngularFrequencyY; // 0x5dc float m_flAngularFrequencyZ; // 0x5e0 float m_flAngularDampingRatioX; // 0x5e4 float m_flAngularDampingRatioY; // 0x5e8 float m_flAngularDampingRatioZ; // 0x5ec float m_flMaxAngularImpulseX; // 0x5f0 float m_flMaxAngularImpulseY; // 0x5f4 float m_flMaxAngularImpulseZ; // 0x5f8 private: [[maybe_unused]] uint8_t __pad05fc[0x4]; // 0x5fc public: CEntityIOOutput m_NotifyForceReachedX; // 0x600 CEntityIOOutput m_NotifyForceReachedY; // 0x628 CEntityIOOutput m_NotifyForceReachedZ; // 0x650 }; // Alignment: 0 // Size: 0x590 class CSplineConstraint : public CPhysConstraint { public: // No members available }; // Alignment: 6 // Size: 0x520 class CPhysicsNPCSolver : public CLogicalEntity { public: CPhysicsNPCSolver* m_pNext; // 0x4f8 CHandle< CAI_BaseNPC > m_hNPC; // 0x500 CHandle< CBaseEntity > m_hEntity; // 0x504 private: [[maybe_unused]] uint8_t __pad0508[0x8]; // 0x508 public: float m_separationDuration; // 0x510 float m_cancelTime; // 0x514 bool m_allowIntersection; // 0x518 }; // Alignment: 4 // Size: 0x508 class CPhysicsEntitySolver : public CLogicalEntity { public: CHandle< CBaseEntity > m_hMovingEntity; // 0x4f8 CHandle< CBaseEntity > m_hPhysicsBlocker; // 0x4fc float m_separationDuration; // 0x500 float m_cancelTime; // 0x504 }; // Alignment: 8 // Size: 0x538 class CPhysicsSpring : public CBaseEntity { public: float m_flFrequency; // 0x4f8 float m_flDampingRatio; // 0x4fc float m_flRestLength; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_nameAttachStart; // 0x508 CUtlSymbolLarge m_nameAttachEnd; // 0x510 Vector m_start; // 0x518 Vector m_end; // 0x524 uint32_t m_teleportTick; // 0x530 }; // Alignment: 0 // Size: 0x778 class CSimplePhysicsBrush : public CBaseModelEntity { public: // No members available }; // Alignment: 3 // Size: 0x528 class CPhysConvert : public CLogicalEntity { public: CEntityIOOutput m_OnConvert; // 0x4f0 CUtlSymbolLarge m_swapModel; // 0x518 float m_flMassOverride; // 0x520 }; // Alignment: 7 // Size: 0x518 class CPointPush : public CPointEntity { public: bool m_bEnabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_flMagnitude; // 0x4f4 float m_flRadius; // 0x4f8 float m_flInnerRadius; // 0x4fc float m_flConeOfInfluence; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_iszFilterName; // 0x508 CHandle< CBaseFilter > m_hFilter; // 0x510 }; // Alignment: 0 // Size: 0x4f0 class CSprayCan : public CPointEntity { public: // No members available }; // Alignment: 1 // Size: 0x4f8 class CInfoPlayerStart : public CPointEntity { public: bool m_bDisabled; // 0x4f0 }; // Alignment: 2 // Size: 0x508 class CPointBonusMapsAccessor : public CPointEntity { public: CUtlSymbolLarge m_String_tFileName; // 0x4f0 CUtlSymbolLarge m_String_tMapName; // 0x4f8 }; // Alignment: 7 // Size: 0x540 class CPointEntityFinder : public CBaseEntity { public: CHandle< CBaseEntity > m_hEntity; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_iFilterName; // 0x4f8 CHandle< CBaseFilter > m_hFilter; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_iRefName; // 0x508 CHandle< CBaseEntity > m_hReference; // 0x510 EntFinderMethod_t m_FindMethod; // 0x514 CEntityIOOutput m_OnFoundEntity; // 0x518 }; // Alignment: 3 // Size: 0x500 class CPointHMDAnchor : public CBaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: // MNetworkEnable float m_flEnableTime; // 0x4f4 // MNetworkEnable int32_t m_nPlayerIndex; // 0x4f8 }; // Alignment: 0 // Size: 0x500 class CPointHMDAnchorOverride : public CPointHMDAnchor { public: // No members available }; // Alignment: 44 // Size: 0x6e8 class CPointValueRemapper : public CBaseEntity { public: // MNetworkEnable bool m_bDisabled; // 0x4f0 // MNetworkEnable bool m_bUpdateOnClient; // 0x4f1 private: [[maybe_unused]] uint8_t __pad04f2[0x2]; // 0x4f2 public: // MNetworkEnable ValueRemapperInputType_t m_nInputType; // 0x4f4 CUtlSymbolLarge m_iszRemapLineStartName; // 0x4f8 CUtlSymbolLarge m_iszRemapLineEndName; // 0x500 // MNetworkEnable CHandle< CBaseEntity > m_hRemapLineStart; // 0x508 // MNetworkEnable CHandle< CBaseEntity > m_hRemapLineEnd; // 0x50c // MNetworkEnable float m_flMaximumChangePerSecond; // 0x510 // MNetworkEnable float m_flDisengageDistance; // 0x514 // MNetworkEnable float m_flEngageDistance; // 0x518 // MNetworkEnable bool m_bRequiresUseKey; // 0x51c private: [[maybe_unused]] uint8_t __pad051d[0x3]; // 0x51d public: // MNetworkEnable ValueRemapperOutputType_t m_nOutputType; // 0x520 private: [[maybe_unused]] uint8_t __pad0524[0x4]; // 0x524 public: CUtlSymbolLarge m_iszOutputEntityName; // 0x528 CUtlSymbolLarge m_iszOutputEntity2Name; // 0x530 CUtlSymbolLarge m_iszOutputEntity3Name; // 0x538 CUtlSymbolLarge m_iszOutputEntity4Name; // 0x540 // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseEntity > > m_hOutputEntities; // 0x548 // MNetworkEnable ValueRemapperHapticsType_t m_nHapticsType; // 0x560 // MNetworkEnable ValueRemapperMomentumType_t m_nMomentumType; // 0x564 // MNetworkEnable float m_flMomentumModifier; // 0x568 // MNetworkEnable float m_flSnapValue; // 0x56c float m_flCurrentMomentum; // 0x570 // MNetworkEnable ValueRemapperRatchetType_t m_nRatchetType; // 0x574 float m_flRatchetOffset; // 0x578 // MNetworkEnable float m_flInputOffset; // 0x57c bool m_bEngaged; // 0x580 bool m_bFirstUpdate; // 0x581 private: [[maybe_unused]] uint8_t __pad0582[0x2]; // 0x582 public: float m_flPreviousValue; // 0x584 float m_flPreviousUpdateTickTime; // 0x588 Vector m_vecPreviousTestPoint; // 0x58c CHandle< CBasePlayer > m_hUsingPlayer; // 0x598 float m_flCustomOutputValue; // 0x59c CUtlSymbolLarge m_iszSoundEngage; // 0x5a0 CUtlSymbolLarge m_iszSoundDisengage; // 0x5a8 CUtlSymbolLarge m_iszSoundReachedValueZero; // 0x5b0 CUtlSymbolLarge m_iszSoundReachedValueOne; // 0x5b8 CUtlSymbolLarge m_iszSoundMovingLoop; // 0x5c0 private: [[maybe_unused]] uint8_t __pad05c8[0x8]; // 0x5c8 public: CEntityOutputTemplate< float32 > m_Position; // 0x5d0 CEntityOutputTemplate< float32 > m_PositionDelta; // 0x5f8 CEntityIOOutput m_OnReachedValueZero; // 0x620 CEntityIOOutput m_OnReachedValueOne; // 0x648 CEntityIOOutput m_OnReachedValueCustom; // 0x670 CEntityIOOutput m_OnEngage; // 0x698 CEntityIOOutput m_OnDisengage; // 0x6c0 }; // Alignment: 11 // Size: 0x9d8 class CPointWorldText : public CModelPointEntity { public: // MNetworkEnable char m_messageText[512]; // 0x778 // MNetworkEnable char m_FontName[64]; // 0x978 // MNetworkEnable bool m_bEnabled; // 0x9b8 // MNetworkEnable bool m_bFullbright; // 0x9b9 private: [[maybe_unused]] uint8_t __pad09ba[0x2]; // 0x9ba public: // MNetworkEnable float m_flWorldUnitsPerPx; // 0x9bc // MNetworkEnable float m_flFontSize; // 0x9c0 // MNetworkEnable float m_flDepthOffset; // 0x9c4 // MNetworkEnable Color m_Color; // 0x9c8 // MNetworkEnable PointWorldTextJustifyHorizontal_t m_nJustifyHorizontal; // 0x9cc // MNetworkEnable PointWorldTextJustifyVertical_t m_nJustifyVertical; // 0x9d0 // MNetworkEnable PointWorldTextReorientMode_t m_nReorientMode; // 0x9d4 }; // Alignment: 12 // Size: 0x5b8 class CPointAngleSensor : public CPointEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x7]; // 0x4f1 public: CUtlSymbolLarge m_nLookAtName; // 0x4f8 CHandle< CBaseEntity > m_hTargetEntity; // 0x500 CHandle< CBaseEntity > m_hLookAtEntity; // 0x504 float m_flDuration; // 0x508 float m_flDotTolerance; // 0x50c float m_flFacingTime; // 0x510 bool m_bFired; // 0x514 private: [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 public: CEntityIOOutput m_OnFacingLookat; // 0x518 CEntityIOOutput m_OnNotFacingLookat; // 0x540 CEntityOutputTemplate< Vector > m_TargetDir; // 0x568 CEntityOutputTemplate< float32 > m_FacingPercentage; // 0x590 }; // Alignment: 3 // Size: 0x520 class CPointProximitySensor : public CPointEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 CEntityOutputTemplate< float32 > m_Distance; // 0x4f8 }; // Alignment: 16 // Size: 0x618 class CPointAngularVelocitySensor : public CPointEntity { public: CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 float m_flThreshold; // 0x4f4 int32_t m_nLastCompareResult; // 0x4f8 int32_t m_nLastFireResult; // 0x4fc float m_flFireTime; // 0x500 float m_flFireInterval; // 0x504 float m_flLastAngVelocity; // 0x508 QAngle m_lastOrientation; // 0x50c Vector m_vecAxis; // 0x518 bool m_bUseHelper; // 0x524 private: [[maybe_unused]] uint8_t __pad0525[0x3]; // 0x525 public: CEntityOutputTemplate< float32 > m_AngularVelocity; // 0x528 CEntityIOOutput m_OnLessThan; // 0x550 CEntityIOOutput m_OnLessThanOrEqualTo; // 0x578 CEntityIOOutput m_OnGreaterThan; // 0x5a0 CEntityIOOutput m_OnGreaterThanOrEqualTo; // 0x5c8 CEntityIOOutput m_OnEqualTo; // 0x5f0 }; // Alignment: 6 // Size: 0x538 class CPointVelocitySensor : public CPointEntity { public: CHandle< CBaseEntity > m_hTargetEntity; // 0x4f0 Vector m_vecAxis; // 0x4f4 bool m_bEnabled; // 0x500 private: [[maybe_unused]] uint8_t __pad0501[0x3]; // 0x501 public: float m_fPrevVelocity; // 0x504 float m_flAvgInterval; // 0x508 private: [[maybe_unused]] uint8_t __pad050c[0x4]; // 0x50c public: CEntityOutputTemplate< float32 > m_Velocity; // 0x510 }; // Alignment: 6 // Size: 0x510 class CPointHurt : public CPointEntity { public: int32_t m_nDamage; // 0x4f0 int32_t m_bitsDamageType; // 0x4f4 float m_flRadius; // 0x4f8 float m_flDelay; // 0x4fc CUtlSymbolLarge m_strTarget; // 0x500 CHandle< CBaseEntity > m_pActivator; // 0x508 }; // Alignment: 3 // Size: 0x510 class CPointTeleport : public CBaseEntity { public: Vector m_vSaveOrigin; // 0x4f0 QAngle m_vSaveAngles; // 0x4fc bool m_bTeleportParentedEntities; // 0x508 }; // Alignment: 0 // Size: 0x4f0 class CEnableMotionFixup : public CBaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CFuncPropRespawnZone : public CBaseEntity { public: // No members available }; // Alignment: 3 // Size: 0x500 class CRagdollManager : public CBaseEntity { public: // MNetworkEnable int8_t m_iCurrentMaxRagdollCount; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: int32_t m_iMaxRagdollCount; // 0x4f4 bool m_bSaveImportant; // 0x4f8 }; // Alignment: 3 // Size: 0x788 class CRevertSaved : public CModelPointEntity { public: float m_loadTime; // 0x778 float m_Duration; // 0x77c float m_HoldTime; // 0x780 }; // Alignment: 3 // Size: 0x5c8 class CSceneListManager : public CLogicalEntity { public: CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x4f0 CUtlSymbolLarge m_iszScenes[16]; // 0x508 CHandle< CBaseEntity > m_hScenes[16]; // 0x588 }; // Alignment: 80 // Size: 0x990 class CSceneEntity : public CPointEntity { public: CUtlSymbolLarge m_iszSceneFile; // 0x4f8 CUtlSymbolLarge m_iszResumeSceneFile; // 0x500 CUtlSymbolLarge m_iszTarget1; // 0x508 CUtlSymbolLarge m_iszTarget2; // 0x510 CUtlSymbolLarge m_iszTarget3; // 0x518 CUtlSymbolLarge m_iszTarget4; // 0x520 CUtlSymbolLarge m_iszTarget5; // 0x528 CUtlSymbolLarge m_iszTarget6; // 0x530 CUtlSymbolLarge m_iszTarget7; // 0x538 CUtlSymbolLarge m_iszTarget8; // 0x540 CHandle< CBaseEntity > m_hTarget1; // 0x548 CHandle< CBaseEntity > m_hTarget2; // 0x54c CHandle< CBaseEntity > m_hTarget3; // 0x550 CHandle< CBaseEntity > m_hTarget4; // 0x554 CHandle< CBaseEntity > m_hTarget5; // 0x558 CHandle< CBaseEntity > m_hTarget6; // 0x55c CHandle< CBaseEntity > m_hTarget7; // 0x560 CHandle< CBaseEntity > m_hTarget8; // 0x564 // MNetworkEnable bool m_bIsPlayingBack; // 0x568 // MNetworkEnable bool m_bPaused; // 0x569 // MNetworkEnable bool m_bMultiplayer; // 0x56a // MNetworkEnable bool m_bAutogenerated; // 0x56b // MNetworkEnable float m_flForceClientTime; // 0x56c float m_flCurrentTime; // 0x570 float m_flFrameTime; // 0x574 bool m_bCancelAtNextInterrupt; // 0x578 private: [[maybe_unused]] uint8_t __pad0579[0x3]; // 0x579 public: float m_fPitch; // 0x57c bool m_bAutomated; // 0x580 private: [[maybe_unused]] uint8_t __pad0581[0x3]; // 0x581 public: int32_t m_nAutomatedAction; // 0x584 float m_flAutomationDelay; // 0x588 float m_flAutomationTime; // 0x58c CHandle< CBaseEntity > m_hWaitingForThisResumeScene; // 0x590 bool m_bWaitingForResumeScene; // 0x594 bool m_bPausedViaInput; // 0x595 bool m_bPauseAtNextInterrupt; // 0x596 bool m_bWaitingForActor; // 0x597 bool m_bWaitingForInterrupt; // 0x598 bool m_bInterruptedActorsScenes; // 0x599 bool m_bBreakOnNonIdle; // 0x59a private: [[maybe_unused]] uint8_t __pad059b[0x5]; // 0x59b public: // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseFlex > > m_hActorList; // 0x5a0 CUtlVector< CHandle< CBaseEntity > > m_hRemoveActorList; // 0x5b8 private: [[maybe_unused]] uint8_t __pad05d0[0x8]; // 0x5d0 public: int32_t m_nSceneFlushCounter; // 0x5d8 // MNetworkEnable uint16_t m_nSceneStringIndex; // 0x5dc private: [[maybe_unused]] uint8_t __pad05de[0x2]; // 0x5de public: CEntityIOOutput m_OnStart; // 0x5e0 CEntityIOOutput m_OnCompletion; // 0x608 CEntityIOOutput m_OnCanceled; // 0x630 CEntityIOOutput m_OnPaused; // 0x658 CEntityIOOutput m_OnResumed; // 0x680 CEntityIOOutput m_OnTrigger1; // 0x6a8 CEntityIOOutput m_OnTrigger2; // 0x6d0 CEntityIOOutput m_OnTrigger3; // 0x6f8 CEntityIOOutput m_OnTrigger4; // 0x720 CEntityIOOutput m_OnTrigger5; // 0x748 CEntityIOOutput m_OnTrigger6; // 0x770 CEntityIOOutput m_OnTrigger7; // 0x798 CEntityIOOutput m_OnTrigger8; // 0x7c0 CEntityIOOutput m_OnTrigger9; // 0x7e8 CEntityIOOutput m_OnTrigger10; // 0x810 CEntityIOOutput m_OnTrigger11; // 0x838 CEntityIOOutput m_OnTrigger12; // 0x860 CEntityIOOutput m_OnTrigger13; // 0x888 CEntityIOOutput m_OnTrigger14; // 0x8b0 CEntityIOOutput m_OnTrigger15; // 0x8d8 CEntityIOOutput m_OnTrigger16; // 0x900 CHandle< CSceneEntity > m_hInterruptScene; // 0x928 int32_t m_nInterruptCount; // 0x92c bool m_bSceneMissing; // 0x930 bool m_bInterrupted; // 0x931 bool m_bCompletedEarly; // 0x932 bool m_bInterruptSceneFinished; // 0x933 bool m_bRestoring; // 0x934 bool m_bGenerated; // 0x935 private: [[maybe_unused]] uint8_t __pad0936[0x2]; // 0x936 public: CUtlVector< CHandle< CSceneEntity > > m_hNotifySceneCompletion; // 0x938 CUtlVector< CHandle< CSceneListManager > > m_hListManagers; // 0x950 CUtlSymbolLarge m_iszSoundName; // 0x968 CHandle< CBaseFlex > m_hActor; // 0x970 CHandle< CBaseEntity > m_hActivator; // 0x974 CHandle< CBaseEntity > m_hCamera; // 0x978 int32_t m_BusyActor; // 0x97c SceneOnPlayerDeath_t m_iPlayerDeathBehavior; // 0x980 static int32_t &Get_s_nSceneFlushCounter(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CSceneEntity")->m_static_fields[0]->m_instance);}; }; // Alignment: 59 // Size: 0x820 class CScriptedSequence : public CBaseEntity { public: CUtlSymbolLarge m_iszEntry; // 0x4f0 CUtlSymbolLarge m_iszPreIdle; // 0x4f8 CUtlSymbolLarge m_iszPlay; // 0x500 CUtlSymbolLarge m_iszPostIdle; // 0x508 CUtlSymbolLarge m_iszCustomMove; // 0x510 CUtlSymbolLarge m_iszModifierToAddOnPlay; // 0x518 CUtlSymbolLarge m_iszNextScript; // 0x520 CUtlSymbolLarge m_iszEntity; // 0x528 CUtlSymbolLarge m_iszSyncGroup; // 0x530 int32_t m_nGroundIKPreference; // 0x538 int32_t m_fMoveTo; // 0x53c bool m_bIsPlayingEntry; // 0x540 bool m_bLoopActionSequence; // 0x541 bool m_bAllowCameraMovement; // 0x542 bool m_bSynchPostIdles; // 0x543 bool m_bIgnoreGravity; // 0x544 bool m_bDisableNPCCollisions; // 0x545 bool m_bKeepAnimgraphLockedPost; // 0x546 private: [[maybe_unused]] uint8_t __pad0547[0x1]; // 0x547 public: float m_flRadius; // 0x548 float m_flRepeat; // 0x54c float m_flPlayAnimFadeInTime; // 0x550 float m_flMoveInterpTime; // 0x554 int32_t m_iDelay; // 0x558 bool m_bDelayed; // 0x55c private: [[maybe_unused]] uint8_t __pad055d[0x3]; // 0x55d public: float m_startTime; // 0x560 bool m_bWaitForBeginSequence; // 0x564 private: [[maybe_unused]] uint8_t __pad0565[0x3]; // 0x565 public: int32_t m_saved_effects; // 0x568 int32_t m_savedFlags; // 0x56c int32_t m_savedCollisionGroup; // 0x570 bool m_interruptable; // 0x574 bool m_sequenceStarted; // 0x575 bool m_bPrevAnimatedEveryTick; // 0x576 bool m_bForcedAnimatedEveryTick; // 0x577 CHandle< CBaseEntity > m_hTargetEnt; // 0x578 CHandle< CScriptedSequence > m_hNextCine; // 0x57c bool m_bThinking; // 0x580 bool m_bInitiatedSelfDelete; // 0x581 bool m_bIsTeleportingDueToMoveTo; // 0x582 bool m_bAllowCustomInterruptConditions; // 0x583 CHandle< CBaseEntity > m_hLastFoundEntity; // 0x584 CHandle< CBaseEntity > m_hForcedTarget; // 0x588 bool m_bDontCancelOtherSequences; // 0x58c bool m_bForceSynch; // 0x58d bool m_bTargetWasAsleep; // 0x58e bool m_bPreventUpdateYawOnFinish; // 0x58f bool m_bEnsureOnNavmeshOnFinish; // 0x590 private: [[maybe_unused]] uint8_t __pad0591[0x3]; // 0x591 public: ScriptedOnDeath_t m_onDeathBehavior; // 0x594 ScriptedConflictResponse_t m_ConflictResponse; // 0x598 private: [[maybe_unused]] uint8_t __pad059c[0x4]; // 0x59c public: CEntityIOOutput m_OnBeginSequence; // 0x5a0 CEntityIOOutput m_OnActionStartOrLoop; // 0x5c8 CEntityIOOutput m_OnEndSequence; // 0x5f0 CEntityIOOutput m_OnPostIdleEndSequence; // 0x618 CEntityIOOutput m_OnCancelSequence; // 0x640 CEntityIOOutput m_OnCancelFailedSequence; // 0x668 CEntityIOOutput m_OnScriptEvent[8]; // 0x690 VMatrix m_matInteractionPosition; // 0x7d0 CHandle< CBaseEntity > m_hInteractionRelativeEntity; // 0x810 int32_t m_iPlayerDeathBehavior; // 0x814 float m_flOldIKMasterBlendAmount; // 0x818 }; // Alignment: 8 // Size: 0x538 class CSoundOpvarSetEntity : public CBaseEntity { public: CUtlSymbolLarge m_iszStackName; // 0x4f8 CUtlSymbolLarge m_iszOperatorName; // 0x500 CUtlSymbolLarge m_iszOpvarName; // 0x508 int32_t m_nOpvarType; // 0x510 int32_t m_nOpvarIndex; // 0x514 float m_flOpvarValue; // 0x518 private: [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c public: CUtlSymbolLarge m_OpvarValueString; // 0x520 bool m_bSetOnSpawn; // 0x528 }; // Alignment: 6 // Size: 0x510 class CAISound : public CPointEntity { public: int32_t m_iSoundType; // 0x4f0 int32_t m_iSoundContext; // 0x4f4 int32_t m_iVolume; // 0x4f8 int32_t m_iSoundIndex; // 0x4fc float m_flDuration; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_iszProxyEntityName; // 0x508 }; // Alignment: 1 // Size: 0x4f8 class CSoundStackSave : public CLogicalEntity { public: CUtlSymbolLarge m_iszStackName; // 0x4f0 }; // Alignment: 12 // Size: 0x598 class CSoundEventEntity : public CBaseEntity { public: bool m_bStartOnSpawn; // 0x4f0 bool m_bToLocalPlayer; // 0x4f1 bool m_bStopOnNew; // 0x4f2 bool m_bSaveRestore; // 0x4f3 bool m_bSavedIsPlaying; // 0x4f4 private: [[maybe_unused]] uint8_t __pad04f5[0x3]; // 0x4f5 public: float m_flSavedElapsedTime; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: CUtlSymbolLarge m_iszSourceEntityName; // 0x500 CUtlSymbolLarge m_iszAttachmentName; // 0x508 CEntityOutputTemplate< uint64 > m_onGUIDChanged; // 0x510 CEntityIOOutput m_onSoundFinished; // 0x538 private: [[maybe_unused]] uint8_t __pad0560[0x20]; // 0x560 public: CUtlSymbolLarge m_iszSoundName; // 0x580 private: [[maybe_unused]] uint8_t __pad0588[0x8]; // 0x588 public: CEntityHandle m_hSource; // 0x590 }; // Alignment: 0 // Size: 0x598 class CSoundEventEntityAlias_snd_event_point : public CSoundEventEntity { public: // No members available }; // Alignment: 2 // Size: 0x5b0 class CSoundEventAABBEntity : public CSoundEventEntity { public: Vector m_vMins; // 0x598 Vector m_vMaxs; // 0x5a4 }; // Alignment: 6 // Size: 0x5d8 class CSoundEventPathCornerEntity : public CSoundEventEntity { public: CUtlSymbolLarge m_iszPathCorner; // 0x598 int32_t m_iCountMax; // 0x5a0 float m_flDistanceMax; // 0x5a4 float m_flDistMaxSqr; // 0x5a8 float m_flDotProductMax; // 0x5ac bool bPlaying; // 0x5b0 }; // Alignment: 2 // Size: 0x508 class CSoundEventParameter : public CBaseEntity { public: CUtlSymbolLarge m_iszParamName; // 0x4f8 float m_flFloatValue; // 0x500 }; // Alignment: 0 // Size: 0x580 class CEnvSoundscapeProxyAlias_snd_soundscape_proxy : public CEnvSoundscapeProxy { public: // No members available }; // Alignment: 0 // Size: 0x578 class CEnvSoundscapeAlias_snd_soundscape : public CEnvSoundscape { public: // No members available }; // Alignment: 0 // Size: 0x578 class CEnvSoundscapeTriggerableAlias_snd_soundscape_triggerable : public CEnvSoundscapeTriggerable { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CNullEntity : public CBaseEntity { public: // No members available }; // Alignment: 1 // Size: 0x4f8 class CBaseDMStart : public CPointEntity { public: CUtlSymbolLarge m_Master; // 0x4f0 }; // Alignment: 0 // Size: 0x4f0 class CInfoLandmark : public CPointEntity { public: // No members available }; // Alignment: 14 // Size: 0x7c0 class CSun : public CBaseModelEntity { public: // MNetworkEnable Vector m_vDirection; // 0x778 // MNetworkEnable Color m_clrOverlay; // 0x784 // MNetworkEnable CUtlSymbolLarge m_iszEffectName; // 0x788 // MNetworkEnable CUtlSymbolLarge m_iszSSEffectName; // 0x790 // MNetworkEnable bool m_bOn; // 0x798 // MNetworkEnable bool m_bmaxColor; // 0x799 private: [[maybe_unused]] uint8_t __pad079a[0x2]; // 0x79a public: // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" float m_flSize; // 0x79c // MNetworkEnable // MNetworkMinValue "-360" // MNetworkMaxValue "360" float m_flRotation; // 0x7a0 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" float m_flHazeScale; // 0x7a4 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" float m_flAlphaHaze; // 0x7a8 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" float m_flAlphaHdr; // 0x7ac // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "2" float m_flAlphaScale; // 0x7b0 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "100" float m_flHDRColorScale; // 0x7b4 // MNetworkEnable // MNetworkMinValue "0" // MNetworkMaxValue "1" float m_flFarZScale; // 0x7b8 }; // Alignment: 2 // Size: 0x508 class CTankTargetChange : public CPointEntity { public: CVariantBase< CVariantDefaultAllocator > m_newTarget; // 0x4f0 CUtlSymbolLarge m_newTargetName; // 0x500 }; // Alignment: 7 // Size: 0x530 class CTankTrainAI : public CPointEntity { public: CHandle< CFuncTrackTrain > m_hTrain; // 0x4f0 CHandle< CBaseEntity > m_hTargetEntity; // 0x4f4 int32_t m_soundPlaying; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x14]; // 0x4fc public: CUtlSymbolLarge m_startSoundName; // 0x510 CUtlSymbolLarge m_engineSoundName; // 0x518 CUtlSymbolLarge m_movementSoundName; // 0x520 CUtlSymbolLarge m_targetEntityName; // 0x528 }; // Alignment: 2 // Size: 0x4f8 class CHandleTest : public CBaseEntity { public: // MNetworkEnable CHandle< CBaseEntity > m_Handle; // 0x4f0 // MNetworkEnable bool m_bSendHandle; // 0x4f4 }; // Alignment: 0 // Size: 0x4f0 class CHandleDummy : public CBaseEntity { public: // No members available }; // Alignment: 0 // Size: 0x778 class CFuncTrainControls : public CBaseModelEntity { public: // No members available }; // Alignment: 2 // Size: 0x788 class CTriggerVolume : public CBaseModelEntity { public: CUtlSymbolLarge m_iFilterName; // 0x778 CHandle< CBaseFilter > m_hFilter; // 0x780 }; // Alignment: 0 // Size: 0x4f0 class CInfoTeleportDestination : public CPointEntity { public: // No members available }; // Alignment: 1 // Size: 0x4f8 class CAI_ChangeTarget : public CBaseEntity { public: CUtlSymbolLarge m_iszNewTarget; // 0x4f0 }; // Alignment: 4 // Size: 0x510 class CAI_ChangeHintGroup : public CBaseEntity { public: int32_t m_iSearchType; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_strSearchName; // 0x4f8 CUtlSymbolLarge m_strNewHintGroup; // 0x500 float m_flRadius; // 0x508 }; // Alignment: 0 // Size: 0x4f0 class CLogicProximity : public CPointEntity { public: // No members available }; // Alignment: 0 // Size: 0x4f0 class CInfoSpawnGroupLandmark : public CPointEntity { public: // No members available }; // Alignment: 11 // Size: 0x5f0 class CInfoSpawnGroupLoadUnload : public CLogicalEntity { public: CEntityIOOutput m_OnSpawnGroupLoadStarted; // 0x4f0 CEntityIOOutput m_OnSpawnGroupLoadFinished; // 0x518 CEntityIOOutput m_OnSpawnGroupUnloadStarted; // 0x540 CEntityIOOutput m_OnSpawnGroupUnloadFinished; // 0x568 CUtlSymbolLarge m_iszSpawnGroupName; // 0x590 CUtlSymbolLarge m_iszSpawnGroupFilterName; // 0x598 CUtlSymbolLarge m_iszLandmarkName; // 0x5a0 CUtlString m_sFixedSpawnGroupName; // 0x5a8 float m_flTimeoutInterval; // 0x5b0 bool m_bStreamingStarted; // 0x5b4 bool m_bUnloadingStarted; // 0x5b5 }; // Alignment: 1 // Size: 0x788 class CFuncNavObstruction : public CBaseModelEntity { public: bool m_bDisabled; // 0x780 }; // Alignment: 10 // Size: 0x588 class CAmbientGeneric : public CPointEntity { public: float m_radius; // 0x4f0 float m_flMaxRadius; // 0x4f4 soundlevel_t m_iSoundLevel; // 0x4f8 dynpitchvol_t m_dpv; // 0x4fc bool m_fActive; // 0x560 bool m_fLooping; // 0x561 private: [[maybe_unused]] uint8_t __pad0562[0x6]; // 0x562 public: CUtlSymbolLarge m_iszSound; // 0x568 CUtlSymbolLarge m_sSourceEntName; // 0x570 CHandle< CBaseEntity > m_hSoundSource; // 0x578 CEntityIndex m_nSoundSourceEntIndex; // 0x57c }; // Alignment: 16 // Size: 0x7f8 class CBaseToggle : public CBaseModelEntity { public: TOGGLE_STATE m_toggle_state; // 0x778 float m_flMoveDistance; // 0x77c float m_flWait; // 0x780 float m_flLip; // 0x784 bool m_bAlwaysFireBlockedOutputs; // 0x788 private: [[maybe_unused]] uint8_t __pad0789[0x3]; // 0x789 public: Vector m_vecPosition1; // 0x78c Vector m_vecPosition2; // 0x798 QAngle m_vecMoveAng; // 0x7a4 QAngle m_vecAngle1; // 0x7b0 QAngle m_vecAngle2; // 0x7bc float m_flHeight; // 0x7c8 CHandle< CBaseEntity > m_hActivator; // 0x7cc Vector m_vecFinalDest; // 0x7d0 QAngle m_vecFinalAngle; // 0x7dc int32_t m_movementType; // 0x7e8 private: [[maybe_unused]] uint8_t __pad07ec[0x4]; // 0x7ec public: CUtlSymbolLarge m_sMaster; // 0x7f0 }; // Alignment: 22 // Size: 0x940 class CBaseButton : public CBaseToggle { public: QAngle m_angMoveEntitySpace; // 0x7f8 bool m_fStayPushed; // 0x804 bool m_fRotating; // 0x805 private: [[maybe_unused]] uint8_t __pad0806[0x2]; // 0x806 public: locksound_t m_ls; // 0x808 CUtlSymbolLarge m_sUseSound; // 0x828 CUtlSymbolLarge m_sLockedSound; // 0x830 CUtlSymbolLarge m_sUnlockedSound; // 0x838 bool m_bLocked; // 0x840 private: [[maybe_unused]] uint8_t __pad0841[0x3]; // 0x841 public: float m_flUseLockedTime; // 0x844 bool m_bSolidBsp; // 0x848 private: [[maybe_unused]] uint8_t __pad0849[0x7]; // 0x849 public: CEntityIOOutput m_OnDamaged; // 0x850 CEntityIOOutput m_OnPressed; // 0x878 CEntityIOOutput m_OnUseLocked; // 0x8a0 CEntityIOOutput m_OnIn; // 0x8c8 CEntityIOOutput m_OnOut; // 0x8f0 int32_t m_nState; // 0x918 CEntityHandle m_hConstraint; // 0x91c CEntityHandle m_hConstraintParent; // 0x920 private: [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 public: CUtlSymbolLarge m_sGlowEntity; // 0x928 // MNetworkEnable CHandle< CBaseModelEntity > m_glowEntity; // 0x930 // MNetworkEnable bool m_usable; // 0x934 private: [[maybe_unused]] uint8_t __pad0935[0x3]; // 0x935 public: // MNetworkEnable CUtlSymbolLarge m_szDisplayText; // 0x938 }; // Alignment: 0 // Size: 0x940 class CPhysicalButton : public CBaseButton { public: // No members available }; // Alignment: 0 // Size: 0x940 class CRotButton : public CBaseButton { public: // No members available }; // Alignment: 15 // Size: 0xa48 class CMomentaryRotButton : public CRotButton { public: bool m_bDisabled; // 0x940 private: [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 public: CEntityOutputTemplate< float32 > m_Position; // 0x948 CEntityIOOutput m_OnUnpressed; // 0x970 CEntityIOOutput m_OnFullyOpen; // 0x998 CEntityIOOutput m_OnFullyClosed; // 0x9c0 CEntityIOOutput m_OnReachedPosition; // 0x9e8 int32_t m_lastUsed; // 0xa10 QAngle m_start; // 0xa14 QAngle m_end; // 0xa20 float m_IdealYaw; // 0xa2c CUtlSymbolLarge m_sNoise; // 0xa30 bool m_bUpdateTarget; // 0xa38 private: [[maybe_unused]] uint8_t __pad0a39[0x3]; // 0xa39 public: int32_t m_direction; // 0xa3c float m_returnSpeed; // 0xa40 float m_flStartPosition; // 0xa44 }; // Alignment: 4 // Size: 0x508 class CRagdollMagnet : public CPointEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_radius; // 0x4f4 float m_force; // 0x4f8 Vector m_axis; // 0x4fc }; // Alignment: 26 // Size: 0x9f0 class CBaseDoor : public CBaseToggle { public: QAngle m_angMoveEntitySpace; // 0x808 Vector m_vecMoveDirParentSpace; // 0x814 locksound_t m_ls; // 0x820 bool m_bForceClosed; // 0x840 bool m_bDoorGroup; // 0x841 bool m_bLocked; // 0x842 bool m_bIgnoreDebris; // 0x843 FuncDoorSpawnPos_t m_eSpawnPosition; // 0x844 float m_flBlockDamage; // 0x848 private: [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c public: CUtlSymbolLarge m_NoiseMoving; // 0x850 CUtlSymbolLarge m_NoiseArrived; // 0x858 CUtlSymbolLarge m_NoiseMovingClosed; // 0x860 CUtlSymbolLarge m_NoiseArrivedClosed; // 0x868 CUtlSymbolLarge m_ChainTarget; // 0x870 CEntityIOOutput m_OnBlockedClosing; // 0x878 CEntityIOOutput m_OnBlockedOpening; // 0x8a0 CEntityIOOutput m_OnUnblockedClosing; // 0x8c8 CEntityIOOutput m_OnUnblockedOpening; // 0x8f0 CEntityIOOutput m_OnFullyClosed; // 0x918 CEntityIOOutput m_OnFullyOpen; // 0x940 CEntityIOOutput m_OnClose; // 0x968 CEntityIOOutput m_OnOpen; // 0x990 CEntityIOOutput m_OnLockedUse; // 0x9b8 bool m_bLoopMoveSound; // 0x9e0 private: [[maybe_unused]] uint8_t __pad09e1[0xb]; // 0x9e1 public: bool m_isChaining; // 0x9ec // MNetworkEnable bool m_bIsUsable; // 0x9ed }; // Alignment: 0 // Size: 0x778 class CEntityBlocker : public CBaseModelEntity { public: // No members available }; // Alignment: 10 // Size: 0x7a8 class CEntityDissolve : public CBaseModelEntity { public: // MNetworkEnable float m_flStartTime; // 0x778 // MNetworkEnable float m_flFadeInStart; // 0x77c // MNetworkEnable float m_flFadeInLength; // 0x780 // MNetworkEnable float m_flFadeOutModelStart; // 0x784 // MNetworkEnable float m_flFadeOutModelLength; // 0x788 // MNetworkEnable float m_flFadeOutStart; // 0x78c // MNetworkEnable float m_flFadeOutLength; // 0x790 // MNetworkEnable EntityDisolveType_t m_nDissolveType; // 0x794 // MNetworkEnable Vector m_vDissolverOrigin; // 0x798 // MNetworkEnable uint32_t m_nMagnitude; // 0x7a4 }; // Alignment: 30 // Size: 0x9e0 class CEnvProjectedTexture : public CModelPointEntity { public: // MNetworkEnable CHandle< CBaseEntity > m_hTargetEntity; // 0x778 // MNetworkEnable bool m_bState; // 0x77c // MNetworkEnable bool m_bAlwaysUpdate; // 0x77d private: [[maybe_unused]] uint8_t __pad077e[0x2]; // 0x77e public: // MNetworkEnable float m_flLightFOV; // 0x780 // MNetworkEnable bool m_bEnableShadows; // 0x784 // MNetworkEnable bool m_bSimpleProjection; // 0x785 // MNetworkEnable bool m_bLightOnlyTarget; // 0x786 // MNetworkEnable bool m_bLightWorld; // 0x787 // MNetworkEnable bool m_bCameraSpace; // 0x788 private: [[maybe_unused]] uint8_t __pad0789[0x3]; // 0x789 public: // MNetworkEnable float m_flBrightnessScale; // 0x78c // MNetworkEnable Color m_LightColor; // 0x790 // MNetworkEnable float m_flIntensity; // 0x794 // MNetworkEnable float m_flLinearAttenuation; // 0x798 // MNetworkEnable float m_flQuadraticAttenuation; // 0x79c // MNetworkEnable bool m_bVolumetric; // 0x7a0 private: [[maybe_unused]] uint8_t __pad07a1[0x3]; // 0x7a1 public: // MNetworkEnable float m_flNoiseStrength; // 0x7a4 // MNetworkEnable float m_flFlashlightTime; // 0x7a8 // MNetworkEnable uint32_t m_nNumPlanes; // 0x7ac // MNetworkEnable float m_flPlaneOffset; // 0x7b0 // MNetworkEnable float m_flVolumetricIntensity; // 0x7b4 // MNetworkEnable float m_flColorTransitionTime; // 0x7b8 // MNetworkEnable float m_flAmbient; // 0x7bc // MNetworkEnable char m_SpotlightTextureName[512]; // 0x7c0 // MNetworkEnable int32_t m_nSpotlightTextureFrame; // 0x9c0 // MNetworkEnable uint32_t m_nShadowQuality; // 0x9c4 // MNetworkEnable // MNetworkBitCount "16" // MNetworkMinValue "0" // MNetworkMaxValue "500" // MNetworkEncodeFlags float m_flNearZ; // 0x9c8 // MNetworkEnable // MNetworkBitCount "18" // MNetworkMinValue "0" // MNetworkMaxValue "1500" // MNetworkEncodeFlags float m_flFarZ; // 0x9cc // MNetworkEnable float m_flProjectionSize; // 0x9d0 // MNetworkEnable float m_flRotation; // 0x9d4 // MNetworkEnable bool m_bFlipHorizontal; // 0x9d8 }; // Alignment: 6 // Size: 0x538 class CMessage : public CPointEntity { public: CUtlSymbolLarge m_iszMessage; // 0x4f0 float m_MessageVolume; // 0x4f8 int32_t m_MessageAttenuation; // 0x4fc float m_Radius; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CUtlSymbolLarge m_sNoise; // 0x508 CEntityIOOutput m_OnShowMessage; // 0x510 }; // Alignment: 17 // Size: 0x6b0 class CEnvMicrophone : public CPointEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: CHandle< CBaseEntity > m_hMeasureTarget; // 0x4f4 int32_t m_nSoundMask; // 0x4f8 float m_flSensitivity; // 0x4fc float m_flSmoothFactor; // 0x500 float m_flMaxRange; // 0x504 CUtlSymbolLarge m_iszSpeakerName; // 0x508 CHandle< CBaseEntity > m_hSpeaker; // 0x510 bool m_bAvoidFeedback; // 0x514 private: [[maybe_unused]] uint8_t __pad0515[0x3]; // 0x515 public: int32_t m_iSpeakerDSPPreset; // 0x518 private: [[maybe_unused]] uint8_t __pad051c[0x4]; // 0x51c public: CUtlSymbolLarge m_iszListenFilter; // 0x520 CHandle< CBaseFilter > m_hListenFilter; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c public: CEntityOutputTemplate< float32 > m_SoundLevel; // 0x530 CEntityIOOutput m_OnRoutedSound; // 0x558 CEntityIOOutput m_OnHeardSound; // 0x580 char m_szLastSound[256]; // 0x5a8 int32_t m_iLastRoutedFrame; // 0x6a8 }; // Alignment: 20 // Size: 0x838 class CBreakable : public CBaseModelEntity { public: Materials m_Material; // 0x788 CHandle< CBaseEntity > m_hBreaker; // 0x78c Explosions m_Explosion; // 0x790 private: [[maybe_unused]] uint8_t __pad0794[0x4]; // 0x794 public: CUtlSymbolLarge m_iszSpawnObject; // 0x798 float m_flPressureDelay; // 0x7a0 int32_t m_iMinHealthDmg; // 0x7a4 CUtlSymbolLarge m_iszPropData; // 0x7a8 float m_impactEnergyScale; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: CEntityIOOutput m_OnBreak; // 0x7b8 CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x7e0 float m_flDmgModBullet; // 0x808 float m_flDmgModClub; // 0x80c float m_flDmgModExplosive; // 0x810 float m_flDmgModFire; // 0x814 CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0x818 CUtlSymbolLarge m_iszBasePropData; // 0x820 int32_t m_iInteractions; // 0x828 PerformanceMode_t m_PerformanceMode; // 0x82c CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x830 float m_flLastPhysicsInfluenceTime; // 0x834 }; // Alignment: 11 // Size: 0x8a0 class CFuncMoveLinear : public CBaseToggle { public: QAngle m_angMoveEntitySpace; // 0x7f8 Vector m_vecMoveDirParentSpace; // 0x804 CUtlSymbolLarge m_soundStart; // 0x810 CUtlSymbolLarge m_soundStop; // 0x818 CUtlSymbolLarge m_currentSound; // 0x820 float m_flBlockDamage; // 0x828 float m_flStartPosition; // 0x82c float m_flMoveDistance; // 0x830 private: [[maybe_unused]] uint8_t __pad0834[0xc]; // 0x834 public: CEntityIOOutput m_OnFullyOpen; // 0x840 CEntityIOOutput m_OnFullyClosed; // 0x868 bool m_bCreateNavObstacle; // 0x890 }; // Alignment: 13 // Size: 0x7e0 class CFuncRotating : public CBaseModelEntity { public: QAngle m_vecMoveAng; // 0x778 float m_flFanFriction; // 0x784 float m_flAttenuation; // 0x788 float m_flVolume; // 0x78c float m_flTargetSpeed; // 0x790 float m_flMaxSpeed; // 0x794 float m_flBlockDamage; // 0x798 private: [[maybe_unused]] uint8_t __pad079c[0x4]; // 0x79c public: CUtlSymbolLarge m_NoiseRunning; // 0x7a0 bool m_bReversed; // 0x7a8 private: [[maybe_unused]] uint8_t __pad07a9[0xb]; // 0x7a9 public: QAngle m_angStart; // 0x7b4 bool m_bStopAtStartPos; // 0x7c0 private: [[maybe_unused]] uint8_t __pad07c1[0x3]; // 0x7c1 public: Vector m_vecClientOrigin; // 0x7c4 QAngle m_vecClientAngles; // 0x7d0 }; // Alignment: 1 // Size: 0x780 class CItemGenericTriggerHelper : public CBaseModelEntity { public: CHandle< CItemGeneric > m_hParentItem; // 0x778 }; // Alignment: 1 // Size: 0x780 class CMarkupVolume : public CBaseModelEntity { public: bool m_bEnabled; // 0x778 }; // Alignment: 5 // Size: 0x7b8 class CMarkupVolumeTagged : public CMarkupVolume { public: bool m_bIsGroup; // 0x7b0 bool m_bGroupByPrefab; // 0x7b1 bool m_bGroupByVolume; // 0x7b2 bool m_bGroupOtherGroups; // 0x7b3 bool m_bIsInGroup; // 0x7b4 }; // Alignment: 3 // Size: 0x7d0 class CMarkupVolumeWithRef : public CMarkupVolumeTagged { public: bool m_bUseRef; // 0x7b8 private: [[maybe_unused]] uint8_t __pad07b9[0x3]; // 0x7b9 public: Vector m_vRefPos; // 0x7bc float m_flRefDot; // 0x7c8 }; // Alignment: 6 // Size: 0x798 class CFuncBrush : public CBaseModelEntity { public: BrushSolidities_e m_iSolidity; // 0x778 int32_t m_iDisabled; // 0x77c bool m_bSolidBsp; // 0x780 private: [[maybe_unused]] uint8_t __pad0781[0x7]; // 0x781 public: CUtlSymbolLarge m_iszExcludedClass; // 0x788 bool m_bInvertExclusion; // 0x790 bool m_bScriptedMovement; // 0x791 }; // Alignment: 9 // Size: 0x548 class CPathTrack : public CPointEntity { public: CPathTrack* m_pnext; // 0x4f0 CPathTrack* m_pprevious; // 0x4f8 CPathTrack* m_paltpath; // 0x500 float m_flRadius; // 0x508 float m_length; // 0x50c CUtlSymbolLarge m_altName; // 0x510 int32_t m_nIterVal; // 0x518 TrackOrientationType_t m_eOrientationType; // 0x51c CEntityIOOutput m_OnPass; // 0x520 static int32_t &Get_s_nCurrIterVal(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[0]->m_instance);}; static bool &Get_s_bIsIterating(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CPathTrack")->m_static_fields[1]->m_instance);}; }; // Alignment: 14 // Size: 0x948 class CPhysBox : public CBreakable { public: int32_t m_damageType; // 0x838 float m_massScale; // 0x83c int32_t m_damageToEnableMotion; // 0x840 float m_flForceToEnableMotion; // 0x844 QAngle m_angPreferredCarryAngles; // 0x848 bool m_bNotSolidToWorld; // 0x854 private: [[maybe_unused]] uint8_t __pad0855[0x3]; // 0x855 public: int32_t m_iExploitableByPlayer; // 0x858 float m_flTouchOutputPerEntityDelay; // 0x85c CEntityIOOutput m_OnDamaged; // 0x860 CEntityIOOutput m_OnAwakened; // 0x888 CEntityIOOutput m_OnMotionEnabled; // 0x8b0 CEntityIOOutput m_OnPlayerUse; // 0x8d8 CEntityIOOutput m_OnStartTouch; // 0x900 CHandle< CBasePlayer > m_hCarryingPlayer; // 0x928 }; // Alignment: 9 // Size: 0x540 class CPhysExplosion : public CPointEntity { public: bool m_bExplodeOnSpawn; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_flMagnitude; // 0x4f4 float m_flDamage; // 0x4f8 float m_radius; // 0x4fc CUtlSymbolLarge m_targetEntityName; // 0x500 float m_flInnerRadius; // 0x508 float m_flPushScale; // 0x50c bool m_bConvertToDebrisWhenPossible; // 0x510 private: [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 public: CEntityIOOutput m_OnPushedPlayer; // 0x518 }; // Alignment: 3 // Size: 0x500 class CPhysImpact : public CPointEntity { public: float m_damage; // 0x4f0 float m_distance; // 0x4f4 CUtlSymbolLarge m_directionEntityName; // 0x4f8 }; // Alignment: 21 // Size: 0x7d0 class CRopeKeyframe : public CBaseModelEntity { public: // MNetworkEnable uint16_t m_RopeFlags; // 0x780 private: [[maybe_unused]] uint8_t __pad0782[0x6]; // 0x782 public: CUtlSymbolLarge m_iNextLinkName; // 0x788 // MNetworkEnable int16_t m_Slack; // 0x790 private: [[maybe_unused]] uint8_t __pad0792[0x2]; // 0x792 public: // MNetworkEnable float m_Width; // 0x794 // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0.1" // MNetworkMaxValue "10" float m_TextureScale; // 0x798 // MNetworkEnable uint8_t m_nSegments; // 0x79c // MNetworkEnable bool m_bConstrainBetweenEndpoints; // 0x79d private: [[maybe_unused]] uint8_t __pad079e[0x2]; // 0x79e public: CUtlSymbolLarge m_strRopeMaterialModel; // 0x7a0 // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_iRopeMaterialModelIndex; // 0x7a8 // MNetworkEnable uint8_t m_Subdiv; // 0x7b0 // MNetworkEnable uint8_t m_nChangeCount; // 0x7b1 // MNetworkEnable int16_t m_RopeLength; // 0x7b2 // MNetworkEnable uint8_t m_fLockedPoints; // 0x7b4 bool m_bCreatedFromMapFile; // 0x7b5 private: [[maybe_unused]] uint8_t __pad07b6[0x2]; // 0x7b6 public: // MNetworkEnable float m_flScrollSpeed; // 0x7b8 bool m_bStartPointValid; // 0x7bc bool m_bEndPointValid; // 0x7bd private: [[maybe_unused]] uint8_t __pad07be[0x2]; // 0x7be public: // MNetworkEnable CHandle< CBaseEntity > m_hStartPoint; // 0x7c0 // MNetworkEnable CHandle< CBaseEntity > m_hEndPoint; // 0x7c4 // MNetworkEnable AttachmentHandle_t m_iStartAttachment; // 0x7c8 // MNetworkEnable AttachmentHandle_t m_iEndAttachment; // 0x7c9 }; // Alignment: 4 // Size: 0x1f00 class CSoundEnt : public CPointEntity { public: int32_t m_iFreeSound; // 0x4f0 int32_t m_iActiveSound; // 0x4f4 int32_t m_cLastActiveSounds; // 0x4f8 CSound m_SoundPool[128]; // 0x4fc }; // Alignment: 4 // Size: 0x798 class CSpotlightEnd : public CBaseModelEntity { public: // MNetworkEnable float m_flLightScale; // 0x778 // MNetworkEnable float m_Radius; // 0x77c Vector m_vSpotlightDir; // 0x780 Vector m_vSpotlightOrg; // 0x78c }; // Alignment: 35 // Size: 0x8b0 class CFuncTrackTrain : public CBaseModelEntity { public: CHandle< CPathTrack > m_ppath; // 0x778 float m_length; // 0x77c Vector m_controlMins; // 0x780 Vector m_controlMaxs; // 0x78c Vector m_lastBlockPos; // 0x798 int32_t m_lastBlockTick; // 0x7a4 float m_flVolume; // 0x7a8 float m_flBank; // 0x7ac float m_oldSpeed; // 0x7b0 float m_flBlockDamage; // 0x7b4 float m_height; // 0x7b8 float m_maxSpeed; // 0x7bc float m_dir; // 0x7c0 private: [[maybe_unused]] uint8_t __pad07c4[0x4]; // 0x7c4 public: CUtlSymbolLarge m_iszSoundMove; // 0x7c8 CUtlSymbolLarge m_iszSoundMovePing; // 0x7d0 CUtlSymbolLarge m_iszSoundStart; // 0x7d8 CUtlSymbolLarge m_iszSoundStop; // 0x7e0 CUtlSymbolLarge m_strPathTarget; // 0x7e8 float m_flMoveSoundMinDuration; // 0x7f0 float m_flMoveSoundMaxDuration; // 0x7f4 float m_flNextMoveSoundTime; // 0x7f8 float m_flMoveSoundMinPitch; // 0x7fc float m_flMoveSoundMaxPitch; // 0x800 TrainOrientationType_t m_eOrientationType; // 0x804 TrainVelocityType_t m_eVelocityType; // 0x808 private: [[maybe_unused]] uint8_t __pad080c[0xc]; // 0x80c public: CEntityIOOutput m_OnStart; // 0x818 CEntityIOOutput m_OnNext; // 0x840 CEntityIOOutput m_OnArrivedAtDestinationNode; // 0x868 bool m_bManualSpeedChanges; // 0x890 private: [[maybe_unused]] uint8_t __pad0891[0x3]; // 0x891 public: float m_flDesiredSpeed; // 0x894 float m_flSpeedChangeTime; // 0x898 float m_flAccelSpeed; // 0x89c float m_flDecelSpeed; // 0x8a0 bool m_bAccelToSpeed; // 0x8a4 private: [[maybe_unused]] uint8_t __pad08a5[0x3]; // 0x8a5 public: float m_flNextMPSoundTime; // 0x8a8 }; // Alignment: 11 // Size: 0x920 class CBaseTrigger : public CBaseToggle { public: // MNetworkEnable bool m_bDisabled; // 0x7f8 private: [[maybe_unused]] uint8_t __pad07f9[0x7]; // 0x7f9 public: CUtlSymbolLarge m_iFilterName; // 0x800 CHandle< CBaseFilter > m_hFilter; // 0x808 private: [[maybe_unused]] uint8_t __pad080c[0x4]; // 0x80c public: CEntityIOOutput m_OnStartTouch; // 0x810 CEntityIOOutput m_OnStartTouchAll; // 0x838 CEntityIOOutput m_OnEndTouch; // 0x860 CEntityIOOutput m_OnEndTouchAll; // 0x888 CEntityIOOutput m_OnTouching; // 0x8b0 CEntityIOOutput m_OnNotTouching; // 0x8d8 CUtlVector< CHandle< CBaseEntity > > m_hTouchingEntities; // 0x900 // MNetworkEnable bool m_bClientSidePredicted; // 0x918 }; // Alignment: 1 // Size: 0x948 class CTriggerMultiple : public CBaseTrigger { public: CEntityIOOutput m_OnTrigger; // 0x920 }; // Alignment: 15 // Size: 0xc88 class CTriggerSndSosOpvar : public CBaseTrigger { public: CUtlVector< CHandle< CBaseEntity > > m_hTouchingPlayers; // 0x920 Vector m_flPosition; // 0x938 float m_flCenterSize; // 0x944 float m_flMinVal; // 0x948 float m_flMaxVal; // 0x94c float m_flWait; // 0x950 private: [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 public: CUtlSymbolLarge m_opvarName; // 0x958 CUtlSymbolLarge m_stackName; // 0x960 CUtlSymbolLarge m_operatorName; // 0x968 bool m_bVolIs2D; // 0x970 char m_opvarNameChar[256]; // 0x971 char m_stackNameChar[256]; // 0xa71 char m_operatorNameChar[256]; // 0xb71 private: [[maybe_unused]] uint8_t __pad0c71[0x3]; // 0xc71 public: Vector m_VecNormPos; // 0xc74 float m_flNormCenterSize; // 0xc80 }; // Alignment: 14 // Size: 0x9c0 class CTriggerHurt : public CBaseTrigger { public: float m_flOriginalDamage; // 0x920 float m_flDamage; // 0x924 float m_flDamageCap; // 0x928 float m_flLastDmgTime; // 0x92c float m_flForgivenessDelay; // 0x930 int32_t m_bitsDamageInflict; // 0x934 int32_t m_damageModel; // 0x938 bool m_bNoDmgForce; // 0x93c private: [[maybe_unused]] uint8_t __pad093d[0x3]; // 0x93d public: Vector m_vDamageForce; // 0x940 bool m_thinkAlways; // 0x94c private: [[maybe_unused]] uint8_t __pad094d[0x3]; // 0x94d public: float m_hurtThinkPeriod; // 0x950 private: [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 public: CEntityIOOutput m_OnHurt; // 0x958 CEntityIOOutput m_OnHurtPlayer; // 0x980 CUtlVector< CHandle< CBaseEntity > > m_hurtEntities; // 0x9a8 }; // Alignment: 0 // Size: 0x9c0 class CTriggerHurtGhost : public CTriggerHurt { public: // No members available }; // Alignment: 0 // Size: 0x928 class CTriggerCallback : public CBaseTrigger { public: // No members available }; // Alignment: 12 // Size: 0x9c0 class CTriggerLerpObject : public CBaseTrigger { public: CUtlSymbolLarge m_iszLerpTarget; // 0x920 CHandle< CBaseEntity > m_hLerpTarget; // 0x928 private: [[maybe_unused]] uint8_t __pad092c[0x4]; // 0x92c public: CUtlSymbolLarge m_iszLerpTargetAttachment; // 0x930 AttachmentHandle_t m_hLerpTargetAttachment; // 0x938 private: [[maybe_unused]] uint8_t __pad0939[0x3]; // 0x939 public: float m_flLerpDuration; // 0x93c bool m_bLerpRestoreMoveType; // 0x940 bool m_bSingleLerpObject; // 0x941 private: [[maybe_unused]] uint8_t __pad0942[0x6]; // 0x942 public: CUtlVector< lerpdata_t > m_vecLerpingObjects; // 0x948 CUtlSymbolLarge m_iszLerpEffect; // 0x960 CUtlSymbolLarge m_iszLerpSound; // 0x968 CEntityIOOutput m_OnLerpStarted; // 0x970 CEntityIOOutput m_OnLerpFinished; // 0x998 }; // Alignment: 7 // Size: 0x960 class CChangeLevel : public CBaseTrigger { public: CUtlString m_sMapName; // 0x920 CUtlString m_sLandmarkName; // 0x928 CEntityIOOutput m_OnChangeLevel; // 0x930 bool m_bTouched; // 0x958 bool m_bNoTouch; // 0x959 bool m_bNewChapter; // 0x95a bool m_bOnChangeLevelFired; // 0x95b }; // Alignment: 3 // Size: 0x930 class CTriggerTeleport : public CBaseTrigger { public: CUtlSymbolLarge m_iLandmark; // 0x920 bool m_bUseLandmarkAngles; // 0x928 bool m_bMirrorPlayer; // 0x929 }; // Alignment: 3 // Size: 0x930 class CTriggerAddModifier : public CBaseTrigger { public: CUtlSymbolLarge m_strModifier; // 0x920 float m_flDuration; // 0x928 bool m_bMomentary; // 0x92c }; // Alignment: 1 // Size: 0x928 class CTriggerRemoveModifier : public CBaseTrigger { public: CUtlSymbolLarge m_strModifier; // 0x920 }; // Alignment: 6 // Size: 0x958 class CTriggerFan : public CBaseTrigger { public: Vector m_vFanOrigin; // 0x920 Vector m_vFanEnd; // 0x92c float m_flForce; // 0x938 float m_flRampTime; // 0x93c bool m_bFalloff; // 0x940 private: [[maybe_unused]] uint8_t __pad0941[0x7]; // 0x941 public: CountdownTimer m_RampTimer; // 0x948 }; // Alignment: 2 // Size: 0x948 class CTriggerBuoyancy : public CBaseTrigger { public: CBuoyancyHelper m_BuoyancyHelper; // 0x920 // MNetworkEnable float m_flFluidDensity; // 0x940 }; // Alignment: 1 // Size: 0x2d0 class CFourWheelServerVehicle : public CBaseServerVehicle { public: ViewSmoothingData_t m_ViewSmoothing; // 0x250 }; // Alignment: 2 // Size: 0x788 class CFuncNavBlocker : public CBaseModelEntity { public: bool m_bDisabled; // 0x778 private: [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 public: int32_t m_nBlockedTeamNumber; // 0x77c }; // Alignment: 10 // Size: 0x5a0 class CNavLinkEntity : public CPointEntity { public: CUtlSymbolLarge m_typeName; // 0x4f0 CUtlSymbolLarge m_typeNameReverse; // 0x4f8 int32_t m_nNavLinkId; // 0x500 int32_t m_nNavLinkIdReverse; // 0x504 bool m_bUseEntityOrientation; // 0x508 bool m_bEnabled; // 0x509 private: [[maybe_unused]] uint8_t __pad050a[0x6]; // 0x50a public: CUtlVectorFixedGrowable< CHandle< CAI_BaseNPC > > m_vecNpcUsers; // 0x510 Vector m_vEndpointLocal; // 0x540 private: [[maybe_unused]] uint8_t __pad054c[0x4]; // 0x54c public: CEntityIOOutput m_OnNavLinkStart; // 0x550 CEntityIOOutput m_OnNavLinkFinish; // 0x578 }; // Alignment: 24 // Size: 0x818 class CBeam : public CBaseModelEntity { public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "-25" // MNetworkMaxValue "25" // MNetworkEncodeFlags float m_flFrameRate; // 0x778 // MNetworkEnable float m_flHDRColorScale; // 0x77c float m_flFireTime; // 0x780 float m_flDamage; // 0x784 // MNetworkEnable uint8_t m_nNumBeamEnts; // 0x788 private: [[maybe_unused]] uint8_t __pad0789[0x7]; // 0x789 public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hBaseMaterial; // 0x790 // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_nHaloIndex; // 0x798 // MNetworkEnable BeamType_t m_nBeamType; // 0x7a0 // MNetworkEnable uint32_t m_nBeamFlags; // 0x7a4 // MNetworkEnable CHandle< CBaseEntity > m_hAttachEntity[10]; // 0x7a8 // MNetworkEnable AttachmentHandle_t m_nAttachIndex[10]; // 0x7d0 private: [[maybe_unused]] uint8_t __pad07da[0x2]; // 0x7da public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags float m_fWidth; // 0x7dc // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "102.3" // MNetworkEncodeFlags float m_fEndWidth; // 0x7e0 // MNetworkEnable float m_fFadeLength; // 0x7e4 // MNetworkEnable float m_fHaloScale; // 0x7e8 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags float m_fAmplitude; // 0x7ec // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags float m_fStartFrame; // 0x7f0 // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "100" float m_fSpeed; // 0x7f4 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags // MNetworkPriority "32" float m_flFrame; // 0x7f8 // MNetworkEnable BeamClipStyle_t m_nClipStyle; // 0x7fc // MNetworkEnable bool m_bTurnedOff; // 0x800 private: [[maybe_unused]] uint8_t __pad0801[0x3]; // 0x801 public: // MNetworkEnable // MNetworkEncoder Vector m_vecEndPos; // 0x804 CHandle< CBaseEntity > m_hEndEntity; // 0x810 int32_t m_nDissolveType; // 0x814 }; // Alignment: 12 // Size: 0x828 class CFuncLadder : public CBaseModelEntity { public: // MNetworkEnable // MNetworkEncoder Vector m_vecLadderDir; // 0x778 private: [[maybe_unused]] uint8_t __pad0784[0x4]; // 0x784 public: CUtlVector< CHandle< CInfoLadderDismount > > m_Dismounts; // 0x788 Vector m_vecLocalTop; // 0x7a0 // MNetworkEnable // MNetworkEncoder Vector m_vecPlayerMountPositionTop; // 0x7ac // MNetworkEnable // MNetworkEncoder Vector m_vecPlayerMountPositionBottom; // 0x7b8 // MNetworkEnable float m_flAutoRideSpeed; // 0x7c4 bool m_bDisabled; // 0x7c8 // MNetworkEnable bool m_bFakeLadder; // 0x7c9 bool m_bHasSlack; // 0x7ca private: [[maybe_unused]] uint8_t __pad07cb[0x5]; // 0x7cb public: CUtlSymbolLarge m_surfacePropName; // 0x7d0 CEntityIOOutput m_OnPlayerGotOnLadder; // 0x7d8 CEntityIOOutput m_OnPlayerGotOffLadder; // 0x800 static CUtlVector< CFuncLadder* > &Get_s_Ladders(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CFuncLadder")->m_static_fields[0]->m_instance);}; }; // Alignment: 32 // Size: 0x8d0 class CFuncShatterglass : public CBaseModelEntity { public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialDamaged; // 0x778 CStrongHandle< InfoForResourceTypeIMaterial2 > m_hGlassMaterialUndamaged; // 0x780 CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFace; // 0x788 CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeCaps; // 0x790 CStrongHandle< InfoForResourceTypeIMaterial2 > m_hConcreteMaterialEdgeFins; // 0x798 matrix3x4_t m_matPanelTransform; // 0x7a0 matrix3x4_t m_matPanelTransformWsTemp; // 0x7d0 CUtlVector< uint32 > m_vecShatterGlassShards; // 0x800 Vector2D m_PanelSize; // 0x818 Vector m_vecPanelNormalWs; // 0x820 int32_t m_nNumShardsEverCreated; // 0x82c float m_flLastShatterSoundEmitTime; // 0x830 float m_flLastCleanupTime; // 0x834 float m_flInitAtTime; // 0x838 float m_flGlassThickness; // 0x83c float m_flSpawnInvulnerability; // 0x840 bool m_bBreakSilent; // 0x844 bool m_bBreakShardless; // 0x845 bool m_bBroken; // 0x846 bool m_bHasRateLimitedShards; // 0x847 bool m_bGlassNavIgnore; // 0x848 bool m_bGlassInFrame; // 0x849 bool m_bStartBroken; // 0x84a uint8_t m_iInitialDamageType; // 0x84b private: [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c public: CUtlSymbolLarge m_szDamagePositioningEntityName01; // 0x850 CUtlSymbolLarge m_szDamagePositioningEntityName02; // 0x858 CUtlSymbolLarge m_szDamagePositioningEntityName03; // 0x860 CUtlSymbolLarge m_szDamagePositioningEntityName04; // 0x868 CUtlVector< Vector > m_vInitialDamagePositions; // 0x870 CUtlVector< Vector > m_vExtraDamagePositions; // 0x888 CEntityIOOutput m_OnBroken; // 0x8a0 private: [[maybe_unused]] uint8_t __pad08c8[0x1]; // 0x8c8 public: uint8_t m_iSurfaceType; // 0x8c9 }; // Alignment: 23 // Size: 0x7e8 class CSprite : public CBaseModelEntity { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSpriteMaterial; // 0x778 // MNetworkEnable CHandle< CBaseEntity > m_hAttachedToEntity; // 0x780 // MNetworkEnable AttachmentHandle_t m_nAttachment; // 0x784 private: [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "60" // MNetworkEncodeFlags float m_flSpriteFramerate; // 0x788 // MNetworkEnable // MNetworkBitCount "20" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags float m_flFrame; // 0x78c float m_flDieTime; // 0x790 private: [[maybe_unused]] uint8_t __pad0794[0xc]; // 0x794 public: // MNetworkEnable uint32_t m_nBrightness; // 0x7a0 // MNetworkEnable float m_flBrightnessDuration; // 0x7a4 // MNetworkEnable // MNetworkChangeCallback "OnSpriteScaleChanged" float m_flSpriteScale; // 0x7a8 // MNetworkEnable float m_flScaleDuration; // 0x7ac // MNetworkEnable bool m_bWorldSpaceScale; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b1[0x3]; // 0x7b1 public: // MNetworkEnable // MNetworkBitCount "6" // MNetworkMinValue "0" // MNetworkMaxValue "64" // MNetworkEncodeFlags float m_flGlowProxySize; // 0x7b4 // MNetworkEnable float m_flHDRColorScale; // 0x7b8 float m_flLastTime; // 0x7bc float m_flMaxFrame; // 0x7c0 float m_flStartScale; // 0x7c4 float m_flDestScale; // 0x7c8 float m_flScaleTimeStart; // 0x7cc int32_t m_nStartBrightness; // 0x7d0 int32_t m_nDestBrightness; // 0x7d4 float m_flBrightnessTimeStart; // 0x7d8 int32_t m_nSpriteWidth; // 0x7dc int32_t m_nSpriteHeight; // 0x7e0 }; // Alignment: 0 // Size: 0x7e8 class CSpriteOriented : public CSprite { public: // No members available }; // Alignment: 14 // Size: 0x928 class CBaseClientUIEntity : public CBaseModelEntity { public: // MNetworkEnable bool m_bEnabled; // 0x778 private: [[maybe_unused]] uint8_t __pad0779[0x7]; // 0x779 public: // MNetworkEnable CUtlSymbolLarge m_DialogXMLName; // 0x780 // MNetworkEnable CUtlSymbolLarge m_PanelClassName; // 0x788 // MNetworkEnable CUtlSymbolLarge m_PanelID; // 0x790 CEntityIOOutput m_CustomOutput0; // 0x798 CEntityIOOutput m_CustomOutput1; // 0x7c0 CEntityIOOutput m_CustomOutput2; // 0x7e8 CEntityIOOutput m_CustomOutput3; // 0x810 CEntityIOOutput m_CustomOutput4; // 0x838 CEntityIOOutput m_CustomOutput5; // 0x860 CEntityIOOutput m_CustomOutput6; // 0x888 CEntityIOOutput m_CustomOutput7; // 0x8b0 CEntityIOOutput m_CustomOutput8; // 0x8d8 CEntityIOOutput m_CustomOutput9; // 0x900 }; // Alignment: 2 // Size: 0x930 class CPointClientUIDialog : public CBaseClientUIEntity { public: // MNetworkEnable // MNetworkChangeCallback "OnDialogActivatorChanged" CHandle< CBaseEntity > m_hActivator; // 0x928 bool m_bStartEnabled; // 0x92c }; // Alignment: 23 // Size: 0x980 class CPointClientUIWorldPanel : public CBaseClientUIEntity { public: // MNetworkEnable bool m_bIgnoreInput; // 0x928 // MNetworkEnable bool m_bLit; // 0x929 // MNetworkEnable bool m_bFollowPlayerAcrossTeleport; // 0x92a private: [[maybe_unused]] uint8_t __pad092b[0x1]; // 0x92b public: // MNetworkEnable float m_flWidth; // 0x92c // MNetworkEnable float m_flHeight; // 0x930 // MNetworkEnable float m_flDPI; // 0x934 // MNetworkEnable float m_flInteractDistance; // 0x938 // MNetworkEnable float m_flDepthOffset; // 0x93c // MNetworkEnable uint32_t m_unOwnerContext; // 0x940 // MNetworkEnable uint32_t m_unHorizontalAlign; // 0x944 // MNetworkEnable uint32_t m_unVerticalAlign; // 0x948 // MNetworkEnable uint32_t m_unOrientation; // 0x94c // MNetworkEnable bool m_bAllowInteractionFromAllSceneWorlds; // 0x950 private: [[maybe_unused]] uint8_t __pad0951[0x7]; // 0x951 public: // MNetworkEnable CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x958 // MNetworkEnable bool m_bOpaque; // 0x970 // MNetworkEnable bool m_bNoDepth; // 0x971 // MNetworkEnable bool m_bRenderBackface; // 0x972 // MNetworkEnable bool m_bUseOffScreenIndicator; // 0x973 // MNetworkEnable bool m_bExcludeFromSaveGames; // 0x974 // MNetworkEnable bool m_bGrabbable; // 0x975 // MNetworkEnable bool m_bOnlyRenderToTexture; // 0x976 // MNetworkEnable bool m_bDisableMipGen; // 0x977 // MNetworkEnable int32_t m_nExplicitImageLayout; // 0x978 }; // Alignment: 1 // Size: 0xb80 class CPointClientUIWorldTextPanel : public CPointClientUIWorldPanel { public: // MNetworkEnable char m_messageText[512]; // 0x980 }; // Alignment: 0 // Size: 0x988 class CPointHintUi : public CPointClientUIWorldPanel { public: // No members available }; // Alignment: 10 // Size: 0x568 class CInfoOffscreenPanoramaTexture : public CPointEntity { public: // MNetworkEnable bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: // MNetworkEnable int32_t m_nResolutionX; // 0x4f4 // MNetworkEnable int32_t m_nResolutionY; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04fc[0x4]; // 0x4fc public: // MNetworkEnable CUtlSymbolLarge m_szLayoutFileName; // 0x500 // MNetworkEnable CUtlSymbolLarge m_RenderAttrName; // 0x508 // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_TargetEntities; // 0x510 // MNetworkEnable int32_t m_nTargetChangeCount; // 0x528 private: [[maybe_unused]] uint8_t __pad052c[0x4]; // 0x52c public: // MNetworkEnable CNetworkUtlVectorBase< CUtlSymbolLarge > m_vecCSSClasses; // 0x530 CUtlSymbolLarge m_szTargetsName; // 0x548 CUtlVector< CHandle< CBaseModelEntity > > m_AdditionalTargetEntities; // 0x550 }; // Alignment: 0 // Size: 0x548 class CNodeEnt_InfoHint : public CNodeEnt { public: // No members available }; // Alignment: 0 // Size: 0x548 class CNodeEnt_InfoNodeHint : public CNodeEnt { public: // No members available }; // Alignment: 0 // Size: 0x548 class CNodeEnt_InfoNodeAir : public CNodeEnt { public: // No members available }; // Alignment: 0 // Size: 0x548 class CNodeEnt_InfoNodeAirHint : public CNodeEnt { public: // No members available }; // Alignment: 0 // Size: 0x548 class CNodeEnt_InfoNodeClimb : public CNodeEnt { public: // No members available }; // Alignment: 5 // Size: 0x508 class CAI_LookTarget : public CPointEntity { public: int32_t m_iContext; // 0x4f0 int32_t m_iPriority; // 0x4f4 bool m_bDisabled; // 0x4f8 private: [[maybe_unused]] uint8_t __pad04f9[0x3]; // 0x4f9 public: float m_flTimeNextAvailable; // 0x4fc float m_flMaxDist; // 0x500 }; // Alignment: 0 // Size: 0x4f0 class CAI_NetworkManager : public CPointEntity { public: static CUtlVector< uint32 > &Get_m_SpawnGroupsContributingToNodeList(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_NetworkManager")->m_static_fields[0]->m_instance);}; static CUtlVector< CNodeEnt* > &Get_m_SpawningNodes(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_NetworkManager")->m_static_fields[1]->m_instance);}; // No members available }; // Alignment: 1 // Size: 0x980 class CNpcFootSweep : public CBaseTrigger { public: bool m_bUseCenterPusher; // 0x920 }; // Alignment: 2 // Size: 0x500 class CInfoRemarkable : public CPointEntity { public: int32_t m_iTimesRemarkedUpon; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_szRemarkContext; // 0x4f8 }; // Alignment: 4 // Size: 0x530 class CNPCSpawnDestination : public CPointEntity { public: float m_ReuseDelay; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f4[0x4]; // 0x4f4 public: CUtlSymbolLarge m_RenameNPC; // 0x4f8 float m_TimeNextAvailable; // 0x500 private: [[maybe_unused]] uint8_t __pad0504[0x4]; // 0x504 public: CEntityIOOutput m_OnSpawnNPC; // 0x508 }; // Alignment: 11 // Size: 0x548 class CRallyPoint : public CPointEntity { public: CUtlSymbolLarge m_AssaultPointName; // 0x4f0 CUtlSymbolLarge m_RallySequenceName; // 0x4f8 float m_flAssaultDelay; // 0x500 int32_t m_iPriority; // 0x504 int32_t m_iStrictness; // 0x508 bool m_bForceCrouch; // 0x50c bool m_bIsUrgent; // 0x50d int16_t m_sExclusivity; // 0x50e bool m_bShouldLock; // 0x510 private: [[maybe_unused]] uint8_t __pad0511[0x7]; // 0x511 public: CEntityIOOutput m_OnArrival; // 0x518 CHandle< CBaseEntity > m_hLockedBy; // 0x540 }; // Alignment: 15 // Size: 0x570 class CAssaultPoint : public CPointEntity { public: CUtlSymbolLarge m_AssaultHintGroup; // 0x4f0 CUtlSymbolLarge m_NextAssaultPointName; // 0x4f8 CEntityIOOutput m_OnAssaultClear; // 0x500 float m_flAssaultTimeout; // 0x528 bool m_bClearOnContact; // 0x52c bool m_bAllowDiversion; // 0x52d private: [[maybe_unused]] uint8_t __pad052e[0x2]; // 0x52e public: float m_flAllowDiversionRadius; // 0x530 bool m_bNeverTimeout; // 0x534 private: [[maybe_unused]] uint8_t __pad0535[0x3]; // 0x535 public: int32_t m_iStrictness; // 0x538 bool m_bForceCrouch; // 0x53c bool m_bIsUrgent; // 0x53d bool m_bInputForcedClear; // 0x53e private: [[maybe_unused]] uint8_t __pad053f[0x1]; // 0x53f public: float m_flAssaultPointTolerance; // 0x540 float m_flTimeLastUsed; // 0x544 CEntityIOOutput m_OnArrival; // 0x548 }; // Alignment: 34 // Size: 0x588 class COffscreenParticleTexture : public CPointEntity { public: // MNetworkEnable bool m_bEnabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: // MNetworkEnable float m_flRawInputA; // 0x4f4 // MNetworkEnable float m_flRawInputB; // 0x4f8 // MNetworkEnable float m_flRawInputC; // 0x4fc // MNetworkEnable float m_flRawInputD; // 0x500 // MNetworkEnable float m_flCPValueA; // 0x504 // MNetworkEnable float m_flCPValueB; // 0x508 // MNetworkEnable float m_flCPValueC; // 0x50c // MNetworkEnable float m_flCPValueD; // 0x510 // MNetworkEnable int32_t m_nRemapFuncA; // 0x514 // MNetworkEnable float m_flRemapAParamS; // 0x518 // MNetworkEnable float m_flRemapAParamT; // 0x51c // MNetworkEnable int32_t m_nRemapFuncB; // 0x520 // MNetworkEnable float m_flRemapBParamS; // 0x524 // MNetworkEnable float m_flRemapBParamT; // 0x528 // MNetworkEnable int32_t m_nRemapFuncC; // 0x52c // MNetworkEnable float m_flRemapCParamS; // 0x530 // MNetworkEnable float m_flRemapCParamT; // 0x534 // MNetworkEnable int32_t m_nRemapFuncD; // 0x538 // MNetworkEnable float m_flRemapDParamS; // 0x53c // MNetworkEnable float m_flRemapDParamT; // 0x540 // MNetworkEnable int32_t m_nControlPointA; // 0x544 // MNetworkEnable int32_t m_nControlPointB; // 0x548 // MNetworkEnable int32_t m_nControlPointC; // 0x54c // MNetworkEnable int32_t m_nControlPointD; // 0x550 // MNetworkEnable int32_t m_nResolution; // 0x554 // MNetworkEnable Color m_clearColor; // 0x558 // MNetworkEnable CHandle< CBaseEntity > m_hTargetEntity; // 0x55c // MNetworkEnable CUtlSymbolLarge m_szEffectName; // 0x560 // MNetworkEnable CUtlSymbolLarge m_szMaterialParameterName; // 0x568 float m_flVisibleRangeCheck; // 0x570 bool m_bStartDisabled; // 0x574 private: [[maybe_unused]] uint8_t __pad0575[0x3]; // 0x575 public: CUtlSymbolLarge m_szTargetEntityName; // 0x578 // MNetworkEnable bool m_bPlayerInRange; // 0x580 }; // Alignment: 49 // Size: 0x980 class CBarnLight : public CBaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" bool m_bEnabled; // 0x778 private: [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nColorMode; // 0x77c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" Color m_Color; // 0x780 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flColorTemperature; // 0x784 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flBrightness; // 0x788 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flBrightnessScale; // 0x78c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nDirectLight; // 0x790 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nBakedShadowIndex; // 0x794 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nLuminaireShape; // 0x798 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flLuminaireSize; // 0x79c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flLuminaireAnisotropy; // 0x7a0 private: [[maybe_unused]] uint8_t __pad07a4[0x4]; // 0x7a4 public: // MNetworkEnable // MNetworkChangeCallback "StyleChanged" CUtlString m_LightStyleString; // 0x7a8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flLightStyleStartTime; // 0x7b0 private: [[maybe_unused]] uint8_t __pad07b4[0x4]; // 0x7b4 public: // MNetworkEnable CNetworkUtlVectorBase< CUtlString > m_QueuedLightStyleStrings; // 0x7b8 // MNetworkEnable CNetworkUtlVectorBase< CHandle< CBaseModelEntity > > m_LightStyleTargets; // 0x7d0 CEntityIOOutput m_StyleEvent[4]; // 0x7e8 CUtlString m_StyleRadianceVar; // 0x888 CUtlString m_StyleVar; // 0x890 private: [[maybe_unused]] uint8_t __pad0898[0x20]; // 0x898 public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" CStrongHandle< InfoForResourceTypeCTextureBase > m_hLightCookie; // 0x8b8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flShape; // 0x8c0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flSoftX; // 0x8c4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flSoftY; // 0x8c8 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flSkirt; // 0x8cc // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flSkirtNear; // 0x8d0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" Vector m_vSizeParams; // 0x8d4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" float m_flRange; // 0x8e0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" Vector m_vShear; // 0x8e4 // MNetworkEnable int32_t m_nBakeSpecularToCubemaps; // 0x8f0 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" // MNetworkBitCount "32" Vector m_vBakeSpecularToCubemapsSize; // 0x8f4 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nCastShadows; // 0x900 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nShadowMapSize; // 0x904 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nShadowPriority; // 0x908 // MNetworkEnable int32_t m_nBounceLight; // 0x90c // MNetworkEnable float m_flBounceScale; // 0x910 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nFog; // 0x914 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flFogStrength; // 0x918 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" int32_t m_nFogShadows; // 0x91c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flFogScale; // 0x920 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flFadeSizeStart; // 0x924 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flFadeSizeEnd; // 0x928 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flShadowFadeSizeStart; // 0x92c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flShadowFadeSizeEnd; // 0x930 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" bool m_bPrecomputedFieldsValid; // 0x934 private: [[maybe_unused]] uint8_t __pad0935[0x3]; // 0x935 public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" Vector m_vPrecomputedBoundsMins; // 0x938 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" Vector m_vPrecomputedBoundsMaxs; // 0x944 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" Vector m_vPrecomputedOBBOrigin; // 0x950 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" QAngle m_vPrecomputedOBBAngles; // 0x95c // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" Vector m_vPrecomputedOBBExtent; // 0x968 bool m_bPvsModifyEntity; // 0x974 }; // Alignment: 1 // Size: 0x988 class CRectLight : public CBarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" bool m_bShowLight; // 0x980 }; // Alignment: 3 // Size: 0x990 class COmniLight : public CBarnLight { public: // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flInnerAngle; // 0x980 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" float m_flOuterAngle; // 0x984 // MNetworkEnable // MNetworkChangeCallback "RenderingChanged" bool m_bShowLight; // 0x988 }; // Alignment: 12 // Size: 0x5e0 class CSteamPalConveyorPathNode : public CPointEntity { public: float m_flNodeT; // 0x514 float m_flPathSegmentLength; // 0x518 float m_flPathLengthUpToNode; // 0x51c bool m_bStartNewConveyorSection; // 0x520 bool m_bSendPassOutputs; // 0x521 private: [[maybe_unused]] uint8_t __pad0522[0x6]; // 0x522 public: CEntityOutputTemplate< int32 > m_OnPass; // 0x528 CEntityOutputTemplate< int32 > m_OnPassForward; // 0x550 CEntityOutputTemplate< int32 > m_OnPassBackward; // 0x578 private: [[maybe_unused]] uint8_t __pad05a0[0x18]; // 0x5a0 public: CUtlSymbolLarge m_szParentPathUniqueID; // 0x5b8 int32_t m_nPathIndex; // 0x5c0 Vector m_vInTangentLocal; // 0x5c4 Vector m_vOutTangentLocal; // 0x5d0 }; // Alignment: 1 // Size: 0x780 class CSteamPal_PictureCard : public CBaseModelEntity { public: // MNetworkEnable bool m_bShouldSetPicture; // 0x778 }; // Alignment: 1 // Size: 0x928 class CSteamPal_PaintPowerTrigger : public CBaseTrigger { public: SteamPalPaintType m_PaintType; // 0x920 }; // Alignment: 1 // Size: 0x928 class CSteamPal_PropPaintTrigger : public CBaseTrigger { public: SteamPalPaintType m_PaintType; // 0x920 }; // Alignment: 5 // Size: 0x970 class CInfoOffscreenMovieTexture : public CInfoOffscreenPanoramaTexture { public: // MNetworkEnable char m_MovieName[512]; // 0x568 // MNetworkEnable char m_OverrideSoundEvent[512]; // 0x768 // MNetworkEnable bool m_bRepeat; // 0x968 // MNetworkEnable bool m_bPlaying; // 0x969 private: [[maybe_unused]] uint8_t __pad096a[0x2]; // 0x96a public: // MNetworkEnable float m_flVisibleRangeCheck; // 0x96c }; // Alignment: 5 // Size: 0x7a0 class CFogVolume : public CServerOnlyModelEntity { public: CUtlSymbolLarge m_fogName; // 0x778 CUtlSymbolLarge m_postProcessName; // 0x780 CUtlSymbolLarge m_colorCorrectionName; // 0x788 private: [[maybe_unused]] uint8_t __pad0790[0x8]; // 0x790 public: bool m_bDisabled; // 0x798 bool m_bInFogVolumesList; // 0x799 }; // Alignment: 5 // Size: 0x508 class CInfoDynamicShadowHint : public CPointEntity { public: bool m_bDisabled; // 0x4f0 private: [[maybe_unused]] uint8_t __pad04f1[0x3]; // 0x4f1 public: float m_flRange; // 0x4f4 int32_t m_nImportance; // 0x4f8 int32_t m_nLightChoice; // 0x4fc CHandle< CBaseEntity > m_hLight; // 0x500 static CUtlVector< CInfoDynamicShadowHint* > &Get_m_AllHints(){return *reinterpret_cast*>(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CInfoDynamicShadowHint")->m_static_fields[0]->m_instance);}; }; // Alignment: 2 // Size: 0x520 class CInfoDynamicShadowHintBox : public CInfoDynamicShadowHint { public: Vector m_vBoxMins; // 0x508 Vector m_vBoxMaxs; // 0x514 }; // Alignment: 9 // Size: 0x7c0 class CEnvSky : public CBaseModelEntity { public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" CStrongHandle< InfoForResourceTypeIMaterial2 > m_hSkyMaterial; // 0x778 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" bool m_bStartDisabled; // 0x780 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" Color m_vTintColor; // 0x781 private: [[maybe_unused]] uint8_t __pad0785[0x3]; // 0x785 public: // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" int32_t m_nFogType; // 0x788 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMinStart; // 0x78c // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMinEnd; // 0x790 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMaxStart; // 0x794 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" float m_flFogMaxEnd; // 0x798 // MNetworkEnable // MNetworkChangeCallback "SkyStateChanged" bool m_bEnabled; // 0x79c }; // Alignment: 0 // Size: 0x518 class CTonemapController2Alias_env_tonemap_controller2 : public CTonemapController2 { public: // No members available }; // Alignment: 2 // Size: 0x930 class CTonemapTrigger : public CBaseTrigger { public: CUtlSymbolLarge m_tonemapControllerName; // 0x920 CEntityHandle m_hTonemapController; // 0x928 }; // Alignment: 1 // Size: 0x988 class CFogTrigger : public CBaseTrigger { public: fogparams_t m_fog; // 0x920 }; // Alignment: 1 // Size: 0x780 class CLightEntity : public CBaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CLightComponent" // MNetworkAlias "CLightComponent" // MNetworkTypeAlias "CLightComponent" CLightComponent* m_CLightComponent; // 0x778 }; // Alignment: 0 // Size: 0x780 class CLightSpotEntity : public CLightEntity { public: // No members available }; // Alignment: 0 // Size: 0x780 class CLightOrthoEntity : public CLightEntity { public: // No members available }; // Alignment: 0 // Size: 0x780 class CLightDirectionalEntity : public CLightEntity { public: // No members available }; // Alignment: 0 // Size: 0x780 class CLightEnvironmentEntity : public CLightDirectionalEntity { public: // No members available }; // Alignment: 12 // Size: 0x960 class CPostProcessingVolume : public CBaseTrigger { public: // MNetworkEnable CStrongHandle< InfoForResourceTypeCPostProcessingResource > m_hPostSettings; // 0x930 // MNetworkEnable float m_flFadeDuration; // 0x938 // MNetworkEnable float m_flMinLogExposure; // 0x93c // MNetworkEnable float m_flMaxLogExposure; // 0x940 // MNetworkEnable float m_flMinExposure; // 0x944 // MNetworkEnable float m_flMaxExposure; // 0x948 // MNetworkEnable float m_flExposureCompensation; // 0x94c // MNetworkEnable float m_flExposureFadeSpeedUp; // 0x950 // MNetworkEnable float m_flExposureFadeSpeedDown; // 0x954 // MNetworkEnable float m_flTonemapEVSmoothingRange; // 0x958 // MNetworkEnable bool m_bMaster; // 0x95c // MNetworkEnable bool m_bExposureControl; // 0x95d }; // Alignment: 5 // Size: 0xcf0 class CEnvParticleGlow : public CParticleSystem { public: // MNetworkEnable float m_flAlphaScale; // 0xcd8 // MNetworkEnable float m_flRadiusScale; // 0xcdc // MNetworkEnable float m_flSelfIllumScale; // 0xce0 // MNetworkEnable Color m_ColorTint; // 0xce4 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hTextureOverride; // 0xce8 }; // Alignment: 8 // Size: 0x7b0 class CTextureBasedAnimatable : public CBaseModelEntity { public: // MNetworkEnable bool m_bLoop; // 0x778 private: [[maybe_unused]] uint8_t __pad0779[0x3]; // 0x779 public: // MNetworkEnable float m_flFPS; // 0x77c // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hPositionKeys; // 0x780 // MNetworkEnable CStrongHandle< InfoForResourceTypeCTextureBase > m_hRotationKeys; // 0x788 // MNetworkEnable Vector m_vAnimationBoundsMin; // 0x790 // MNetworkEnable Vector m_vAnimationBoundsMax; // 0x79c // MNetworkEnable float m_flStartTime; // 0x7a8 // MNetworkEnable float m_flStartFrame; // 0x7ac }; // Alignment: 0 // Size: 0x778 class CWorld : public CBaseModelEntity { public: // No members available }; // Alignment: 14 // Size: 0x958 class CBaseAnimating : public CBaseModelEntity { public: // MNetworkEnable // MNetworkUserGroup "CHitboxComponent" // MNetworkAlias "CHitboxComponent" // MNetworkTypeAlias "CHitboxComponent" CHitboxComponent m_CHitboxComponent; // 0x778 private: [[maybe_unused]] uint8_t __pad0798[0x8]; // 0x798 public: // MNetworkEnable // MNetworkChangeCallback "OnRagdollPoseChanged" PhysicsRagdollPose_t* m_pRagdollPose; // 0x7a0 // MNetworkEnable Vector m_vecForce; // 0x7a8 // MNetworkEnable int32_t m_nForceBone; // 0x7b4 // MNetworkEnable bool m_bShouldAnimateDuringGameplayPause; // 0x7b8 // MNetworkEnable bool m_bAnimGraphUpdateEnabled; // 0x7b9 private: [[maybe_unused]] uint8_t __pad07ba[0x2]; // 0x7ba public: float m_flMaxSlopeDistance; // 0x7bc Vector m_vLastSlopeCheckPos; // 0x7c0 private: [[maybe_unused]] uint8_t __pad07cc[0x4]; // 0x7cc public: IChoreoServices* m_pChoreoServices; // 0x7d0 bool m_bAnimGraphDirty; // 0x7d8 private: [[maybe_unused]] uint8_t __pad07d9[0x3]; // 0x7d9 public: float m_flDissolveStartTime; // 0x7dc CEntityIOOutput m_OnIgnite; // 0x7e0 CUtlVector< CUtlString >* m_pSuppressedAnimEventTags; // 0x808 private: [[maybe_unused]] uint8_t __pad0810[0x110]; // 0x810 public: // MNetworkEnable CBaseAnimatingEasings_t m_Easings; // 0x920 }; // Alignment: 0 // Size: 0x958 class CBaseAnimatingOverlay : public CBaseAnimating { public: // No members available }; // Alignment: 4 // Size: 0x998 class CBaseProp : public CBaseAnimating { public: bool m_bModelOverrodeBlockLOS; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: int32_t m_iShapeType; // 0x95c bool m_bConformToCollisionBounds; // 0x960 private: [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 public: matrix3x4_t m_mPreferredCatchTransform; // 0x964 }; // Alignment: 40 // Size: 0xb90 class CBreakableProp : public CBaseProp { public: CEntityIOOutput m_OnBreak; // 0x9a8 CEntityOutputTemplate< float32 > m_OnHealthChanged; // 0x9d0 CEntityIOOutput m_OnTakeDamage; // 0x9f8 float m_impactEnergyScale; // 0xa20 int32_t m_iMinHealthDmg; // 0xa24 QAngle m_preferredCarryAngles; // 0xa28 float m_flPressureDelay; // 0xa34 CHandle< CBaseEntity > m_hBreaker; // 0xa38 PerformanceMode_t m_PerformanceMode; // 0xa3c float m_flDmgModBullet; // 0xa40 float m_flDmgModClub; // 0xa44 float m_flDmgModExplosive; // 0xa48 float m_flDmgModFire; // 0xa4c CUtlSymbolLarge m_iszPhysicsDamageTableName; // 0xa50 CUtlSymbolLarge m_iszBasePropData; // 0xa58 int32_t m_iInteractions; // 0xa60 float m_flPreventDamageBeforeTime; // 0xa64 bool m_bHasBreakPiecesOrCommands; // 0xa68 private: [[maybe_unused]] uint8_t __pad0a69[0x3]; // 0xa69 public: float m_explodeDamage; // 0xa6c float m_explodeRadius; // 0xa70 private: [[maybe_unused]] uint8_t __pad0a74[0x4]; // 0xa74 public: float m_explosionDelay; // 0xa78 private: [[maybe_unused]] uint8_t __pad0a7c[0x4]; // 0xa7c public: CUtlSymbolLarge m_explosionBuildupSound; // 0xa80 CUtlSymbolLarge m_explosionCustomEffect; // 0xa88 CUtlSymbolLarge m_explosionCustomSound; // 0xa90 CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xa98 float m_flLastPhysicsInfluenceTime; // 0xa9c bool m_bOriginalBlockLOS; // 0xaa0 char m_nPhysgunState; // 0xaa1 private: [[maybe_unused]] uint8_t __pad0aa2[0x6]; // 0xaa2 public: CEntityIOOutput m_OnPhysCannonDetach; // 0xaa8 CEntityIOOutput m_OnPhysCannonAnimatePreStarted; // 0xad0 CEntityIOOutput m_OnPhysCannonAnimatePullStarted; // 0xaf8 CEntityIOOutput m_OnPhysCannonAnimatePostStarted; // 0xb20 CEntityIOOutput m_OnPhysCannonPullAnimFinished; // 0xb48 float m_flDefaultFadeScale; // 0xb70 CHandle< CBaseEntity > m_hLastAttacker; // 0xb74 CHandle< CBaseEntity > m_hFlareEnt; // 0xb78 bool m_bUsePuntSound; // 0xb7c private: [[maybe_unused]] uint8_t __pad0b7d[0x3]; // 0xb7d public: CUtlSymbolLarge m_iszPuntSound; // 0xb80 // MNetworkEnable bool m_noGhostCollision; // 0xb88 private: [[maybe_unused]] uint8_t __pad0b89[0x3]; // 0xb89 public: // MNetworkEnable float m_flClothScale; // 0xb8c }; // Alignment: 32 // Size: 0xcb0 class CDynamicProp : public CBreakableProp { public: CEntityIOOutput m_pOutputAnimBegun; // 0xb90 CEntityIOOutput m_pOutputAnimOver; // 0xbb8 CEntityIOOutput m_pOutputAnimLoopCycleOver; // 0xbe0 CEntityIOOutput m_OnAnimReachedStart; // 0xc08 CEntityIOOutput m_OnAnimReachedEnd; // 0xc30 CUtlSymbolLarge m_iszDefaultAnim; // 0xc58 CUtlSymbolLarge m_iszInitialAnim; // 0xc60 HSequence m_hGoalSequence; // 0xc68 int32_t m_iTransitionDirection; // 0xc6c bool m_bAnimateOnServer; // 0xc70 bool m_bRandomizeCycle; // 0xc71 bool m_bHoldAnimation; // 0xc72 bool m_bIsHoldingAnimation; // 0xc73 bool m_bRandomAnimator; // 0xc74 private: [[maybe_unused]] uint8_t __pad0c75[0x3]; // 0xc75 public: float m_flNextRandAnim; // 0xc78 float m_flMinRandAnimDuration; // 0xc7c float m_flMaxRandAnimDuration; // 0xc80 HSequence m_hPendingSequence; // 0xc84 bool m_bStartDisabled; // 0xc88 bool m_bUpdateAttachedChildren; // 0xc89 bool m_bScriptedMovement; // 0xc8a bool m_bFiredStartEndOutput; // 0xc8b // MNetworkEnable bool m_bUseHitboxesForRenderBox; // 0xc8c // MNetworkEnable bool m_bUseAnimGraph; // 0xc8d private: [[maybe_unused]] uint8_t __pad0c8e[0xa]; // 0xc8e public: bool m_bCreateNavObstacle; // 0xc98 bool m_bForceNpcExclude; // 0xc99 bool m_bCreateNonSolid; // 0xc9a bool m_bIsOverrideProp; // 0xc9b int32_t m_iInitialGlowState; // 0xc9c int32_t m_nGlowRange; // 0xca0 int32_t m_nGlowRangeMin; // 0xca4 Color m_glowColor; // 0xca8 }; // Alignment: 0 // Size: 0xcb0 class CDynamicPropAlias_dynamic_prop : public CDynamicProp { public: // No members available }; // Alignment: 0 // Size: 0xcb0 class CDynamicPropAlias_prop_dynamic_override : public CDynamicProp { public: // No members available }; // Alignment: 0 // Size: 0xcb0 class CDynamicPropAlias_cable_dynamic : public CDynamicProp { public: // No members available }; // Alignment: 10 // Size: 0xb48 class CColorCorrectionVolume : public CBaseTrigger { public: // MNetworkEnable bool m_bEnabled; // 0x920 private: [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 public: // MNetworkEnable float m_MaxWeight; // 0x924 // MNetworkEnable float m_FadeDuration; // 0x928 bool m_bStartDisabled; // 0x92c private: [[maybe_unused]] uint8_t __pad092d[0x3]; // 0x92d public: // MNetworkEnable float m_Weight; // 0x930 // MNetworkEnable char m_lookupFilename[512]; // 0x934 float m_LastEnterWeight; // 0xb34 float m_LastEnterTime; // 0xb38 float m_LastExitWeight; // 0xb3c float m_LastExitTime; // 0xb40 }; // Alignment: 30 // Size: 0xa50 class CPointCommentaryNode : public CBaseAnimating { public: CUtlSymbolLarge m_iszPreCommands; // 0x958 CUtlSymbolLarge m_iszPostCommands; // 0x960 // MNetworkEnable CUtlSymbolLarge m_iszCommentaryFile; // 0x968 CUtlSymbolLarge m_iszViewTarget; // 0x970 CHandle< CBaseEntity > m_hViewTarget; // 0x978 CHandle< CBaseEntity > m_hViewTargetAngles; // 0x97c CUtlSymbolLarge m_iszViewPosition; // 0x980 // MNetworkEnable CHandle< CBaseEntity > m_hViewPosition; // 0x988 CHandle< CBaseEntity > m_hViewPositionMover; // 0x98c bool m_bPreventMovement; // 0x990 bool m_bUnderCrosshair; // 0x991 bool m_bUnstoppable; // 0x992 private: [[maybe_unused]] uint8_t __pad0993[0x1]; // 0x993 public: float m_flFinishedTime; // 0x994 Vector m_vecFinishOrigin; // 0x998 QAngle m_vecOriginalAngles; // 0x9a4 QAngle m_vecFinishAngles; // 0x9b0 bool m_bPreventChangesWhileMoving; // 0x9bc bool m_bDisabled; // 0x9bd private: [[maybe_unused]] uint8_t __pad09be[0x2]; // 0x9be public: Vector m_vecTeleportOrigin; // 0x9c0 float m_flAbortedPlaybackAt; // 0x9cc CEntityIOOutput m_pOnCommentaryStarted; // 0x9d0 CEntityIOOutput m_pOnCommentaryStopped; // 0x9f8 // MNetworkEnable bool m_bActive; // 0xa20 private: [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 public: // MNetworkEnable float m_flStartTime; // 0xa24 // MNetworkEnable float m_flStartTimeInCommentary; // 0xa28 private: [[maybe_unused]] uint8_t __pad0a2c[0x4]; // 0xa2c public: // MNetworkEnable CUtlSymbolLarge m_iszTitle; // 0xa30 // MNetworkEnable CUtlSymbolLarge m_iszSpeakers; // 0xa38 // MNetworkEnable int32_t m_iNodeNumber; // 0xa40 // MNetworkEnable int32_t m_iNodeNumberMax; // 0xa44 // MNetworkEnable bool m_bListenedTo; // 0xa48 }; // Alignment: 0 // Size: 0x7e8 class CCommentaryViewPosition : public CSprite { public: // No members available }; // Alignment: 0 // Size: 0x9f0 class CFuncWater : public CBaseDoor { public: // No members available }; // Alignment: 1 // Size: 0x9f8 class CRotDoor : public CBaseDoor { public: bool m_bSolidBsp; // 0x9f0 }; // Alignment: 0 // Size: 0x958 class CItemSoda : public CBaseAnimating { public: // No members available }; // Alignment: 0 // Size: 0x920 class CPrecipitation : public CBaseTrigger { public: // No members available }; // Alignment: 4 // Size: 0x968 class CEnvAirStrikeIndoorEffect : public CBaseAnimating { public: int32_t m_nMode; // 0x958 float m_flHeight; // 0x95c float m_flNextStateTime; // 0x960 int32_t m_nUserSpecifiedHeight; // 0x964 }; // Alignment: 5 // Size: 0x980 class CEnvAirStrikeOutdoorEffect : public CBaseAnimating { public: float m_flNextStateTime; // 0x958 private: [[maybe_unused]] uint8_t __pad095c[0x4]; // 0x95c public: CUtlSymbolLarge m_strModelGroup; // 0x960 CUtlSymbolLarge m_strSequenceName1; // 0x968 CUtlSymbolLarge m_strSequenceName2; // 0x970 int32_t m_nMode; // 0x978 }; // Alignment: 19 // Size: 0x8c0 class CEnvBeam : public CBeam { public: int32_t m_active; // 0x818 private: [[maybe_unused]] uint8_t __pad081c[0x4]; // 0x81c public: CStrongHandle< InfoForResourceTypeIMaterial2 > m_spriteTexture; // 0x820 CUtlSymbolLarge m_iszStartEntity; // 0x828 CUtlSymbolLarge m_iszEndEntity; // 0x830 float m_life; // 0x838 float m_boltWidth; // 0x83c float m_noiseAmplitude; // 0x840 int32_t m_speed; // 0x844 float m_restrike; // 0x848 private: [[maybe_unused]] uint8_t __pad084c[0x4]; // 0x84c public: CUtlSymbolLarge m_iszSpriteName; // 0x850 int32_t m_frameStart; // 0x858 Vector m_vEndPointWorld; // 0x85c Vector m_vEndPointRelative; // 0x868 float m_radius; // 0x874 Touch_t m_TouchType; // 0x878 private: [[maybe_unused]] uint8_t __pad087c[0x4]; // 0x87c public: CUtlSymbolLarge m_iFilterName; // 0x880 CHandle< CBaseEntity > m_hFilter; // 0x888 private: [[maybe_unused]] uint8_t __pad088c[0x4]; // 0x88c public: CUtlSymbolLarge m_iszDecal; // 0x890 CEntityIOOutput m_OnTouchedByEntity; // 0x898 }; // Alignment: 0 // Size: 0x838 class CPushable : public CBreakable { public: // No members available }; // Alignment: 0 // Size: 0x828 class CFuncLadderAlias_func_useableladder : public CFuncLadder { public: // No members available }; // Alignment: 9 // Size: 0x7b8 class CFuncMonitor : public CFuncBrush { public: // MNetworkEnable CUtlString m_targetCamera; // 0x798 // MNetworkEnable int32_t m_nResolutionEnum; // 0x7a0 // MNetworkEnable bool m_bRenderShadows; // 0x7a4 // MNetworkEnable bool m_bUseUniqueColorTarget; // 0x7a5 private: [[maybe_unused]] uint8_t __pad07a6[0x2]; // 0x7a6 public: // MNetworkEnable CUtlString m_brushModelName; // 0x7a8 // MNetworkEnable CHandle< CBaseEntity > m_hTargetCamera; // 0x7b0 // MNetworkEnable bool m_bEnabled; // 0x7b4 // MNetworkEnable bool m_bDraw3DSkybox; // 0x7b5 bool m_bStartEnabled; // 0x7b6 }; // Alignment: 0 // Size: 0x8a0 class CFuncMoveLinearAlias_momentary_door : public CFuncMoveLinear { public: // No members available }; // Alignment: 0 // Size: 0x8a0 class CFuncWaterAnalog : public CFuncMoveLinear { public: // No members available }; // Alignment: 3 // Size: 0x828 class CGunTarget : public CBaseToggle { public: bool m_on; // 0x7f8 private: [[maybe_unused]] uint8_t __pad07f9[0x3]; // 0x7f9 public: CHandle< CBaseEntity > m_hTargetEnt; // 0x7fc CEntityIOOutput m_OnDeath; // 0x800 }; // Alignment: 0 // Size: 0x7b8 class CSimpleMarkupVolumeTagged : public CMarkupVolumeTagged { public: // No members available }; // Alignment: 0 // Size: 0x7b8 class CMarkupVolumeTagged_Nav : public CMarkupVolumeTagged { public: // No members available }; // Alignment: 0 // Size: 0x7d0 class CMarkupVolumeTagged_NavGame : public CMarkupVolumeWithRef { public: // No members available }; // Alignment: 4 // Size: 0x7d0 class CFuncElectrifiedVolume : public CFuncBrush { public: // MNetworkEnable CUtlSymbolLarge m_EffectName; // 0x798 CUtlSymbolLarge m_EffectInterpenetrateName; // 0x7a0 CUtlSymbolLarge m_EffectZapName; // 0x7a8 CUtlSymbolLarge m_iszEffectSource; // 0x7b0 }; // Alignment: 0 // Size: 0x528 class CPathCornerCrash : public CPathCorner { public: // No members available }; // Alignment: 1 // Size: 0x960 class CConstraintAnchor : public CBaseAnimating { public: float m_massScale; // 0x958 }; // Alignment: 0 // Size: 0x998 class CSimplePhysicsProp : public CBaseProp { public: // No members available }; // Alignment: 1 // Size: 0xcb8 class COrnamentProp : public CDynamicProp { public: CUtlSymbolLarge m_initialOwner; // 0xcb0 }; // Alignment: 0 // Size: 0x7d0 class CRopeKeyframeAlias_move_rope : public CRopeKeyframe { public: // No members available }; // Alignment: 0 // Size: 0x990 class CSceneEntityAlias_logic_choreographed_scene : public CSceneEntity { public: // No members available }; // Alignment: 6 // Size: 0xaa8 class CInstancedSceneEntity : public CSceneEntity { public: CHandle< CBaseEntity > m_hOwner; // 0x990 bool m_bHadOwner; // 0x994 private: [[maybe_unused]] uint8_t __pad0995[0x3]; // 0x995 public: float m_flPostSpeakDelay; // 0x998 float m_flPreDelay; // 0x99c char m_szInstanceFilename[260]; // 0x9a0 bool m_bIsBackground; // 0xaa4 }; // Alignment: 3 // Size: 0x948 class CTriggerSoundscape : public CBaseTrigger { public: CHandle< CEnvSoundscapeTriggerable > m_hSoundscape; // 0x920 private: [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 public: CUtlSymbolLarge m_SoundscapeName; // 0x928 CUtlVector< CHandle< CBasePlayer > > m_spectators; // 0x930 }; // Alignment: 0 // Size: 0x7e8 class CSpriteAlias_env_glow : public CSprite { public: // No members available }; // Alignment: 1 // Size: 0x8d8 class CFuncTankTrain : public CFuncTrackTrain { public: CEntityIOOutput m_OnDeath; // 0x8b0 }; // Alignment: 5 // Size: 0x820 class CBasePlatTrain : public CBaseToggle { public: CUtlSymbolLarge m_NoiseMoving; // 0x7f8 CUtlSymbolLarge m_NoiseArrived; // 0x800 private: [[maybe_unused]] uint8_t __pad0808[0x8]; // 0x808 public: float m_volume; // 0x810 float m_flTWidth; // 0x814 float m_flTLength; // 0x818 }; // Alignment: 1 // Size: 0x828 class CFuncPlat : public CBasePlatTrain { public: CUtlSymbolLarge m_sNoise; // 0x820 }; // Alignment: 2 // Size: 0x840 class CFuncPlatRot : public CFuncPlat { public: QAngle m_end; // 0x828 QAngle m_start; // 0x834 }; // Alignment: 6 // Size: 0x840 class CFuncTrain : public CBasePlatTrain { public: CHandle< CBaseEntity > m_hCurrentTarget; // 0x820 bool m_activated; // 0x824 private: [[maybe_unused]] uint8_t __pad0825[0x3]; // 0x825 public: CHandle< CBaseEntity > m_hEnemy; // 0x828 float m_flBlockDamage; // 0x82c float m_flNextBlockTime; // 0x830 private: [[maybe_unused]] uint8_t __pad0834[0x4]; // 0x834 public: CUtlSymbolLarge m_iszLastTarget; // 0x838 }; // Alignment: 9 // Size: 0x880 class CFuncTrackChange : public CFuncPlatRot { public: CPathTrack* m_trackTop; // 0x840 CPathTrack* m_trackBottom; // 0x848 CFuncTrackTrain* m_train; // 0x850 CUtlSymbolLarge m_trackTopName; // 0x858 CUtlSymbolLarge m_trackBottomName; // 0x860 CUtlSymbolLarge m_trainName; // 0x868 TRAIN_CODE m_code; // 0x870 int32_t m_targetState; // 0x874 int32_t m_use; // 0x878 }; // Alignment: 0 // Size: 0x880 class CFuncTrackAuto : public CFuncTrackChange { public: // No members available }; // Alignment: 1 // Size: 0x948 class CTriggerRemove : public CBaseTrigger { public: CEntityIOOutput m_OnRemove; // 0x920 }; // Alignment: 1 // Size: 0x9d0 class CScriptTriggerHurt : public CTriggerHurt { public: Vector m_vExtent; // 0x9c0 }; // Alignment: 1 // Size: 0x958 class CScriptTriggerMultiple : public CTriggerMultiple { public: Vector m_vExtent; // 0x948 }; // Alignment: 0 // Size: 0x948 class CTriggerOnce : public CTriggerMultiple { public: // No members available }; // Alignment: 1 // Size: 0x958 class CScriptTriggerOnce : public CTriggerOnce { public: Vector m_vExtent; // 0x948 }; // Alignment: 15 // Size: 0x9e8 class CTriggerLook : public CTriggerOnce { public: CHandle< CBaseEntity > m_hLookTarget; // 0x948 float m_flFieldOfView; // 0x94c float m_flLookTime; // 0x950 float m_flLookTimeTotal; // 0x954 float m_flLookTimeLast; // 0x958 float m_flTimeoutDuration; // 0x95c bool m_bTimeoutFired; // 0x960 bool m_bIsLooking; // 0x961 bool m_b2DFOV; // 0x962 bool m_bUseVelocity; // 0x963 CHandle< CBaseEntity > m_hActivator; // 0x964 // MNetworkEnable bool m_bTestOcclusion; // 0x968 private: [[maybe_unused]] uint8_t __pad0969[0x7]; // 0x969 public: CEntityIOOutput m_OnTimeout; // 0x970 CEntityIOOutput m_OnStartLook; // 0x998 CEntityIOOutput m_OnEndLook; // 0x9c0 }; // Alignment: 5 // Size: 0x948 class CTriggerPush : public CBaseTrigger { public: QAngle m_angPushEntitySpace; // 0x920 Vector m_vecPushDirEntitySpace; // 0x92c bool m_bTriggerOnStartTouch; // 0x938 private: [[maybe_unused]] uint8_t __pad0939[0x3]; // 0x939 public: float m_flAlternateTicksFix; // 0x93c float m_flPushSpeed; // 0x940 }; // Alignment: 1 // Size: 0x958 class CScriptTriggerPush : public CTriggerPush { public: Vector m_vExtent; // 0x948 }; // Alignment: 1 // Size: 0x928 class CTriggerToggleSave : public CBaseTrigger { public: bool m_bDisabled; // 0x920 }; // Alignment: 3 // Size: 0x930 class CTriggerSave : public CBaseTrigger { public: bool m_bForceNewLevelUnit; // 0x920 private: [[maybe_unused]] uint8_t __pad0921[0x3]; // 0x921 public: float m_fDangerousTimer; // 0x924 int32_t m_minHitPoints; // 0x928 }; // Alignment: 0 // Size: 0x920 class CTriggerGravity : public CBaseTrigger { public: // No members available }; // Alignment: 5 // Size: 0x960 class CTriggerProximity : public CBaseTrigger { public: CHandle< CBaseEntity > m_hMeasureTarget; // 0x920 private: [[maybe_unused]] uint8_t __pad0924[0x4]; // 0x924 public: CUtlSymbolLarge m_iszMeasureTarget; // 0x928 float m_fRadius; // 0x930 int32_t m_nTouchers; // 0x934 CEntityOutputTemplate< float32 > m_NearestEntityDistance; // 0x938 }; // Alignment: 4 // Size: 0x980 class CTriggerImpact : public CTriggerMultiple { public: float m_flMagnitude; // 0x948 float m_flNoise; // 0x94c float m_flViewkick; // 0x950 private: [[maybe_unused]] uint8_t __pad0954[0x4]; // 0x954 public: CEntityOutputTemplate< Vector > m_pOutputForce; // 0x958 }; // Alignment: 0 // Size: 0x920 class CTriggerPlayerMovement : public CBaseTrigger { public: // No members available }; // Alignment: 0 // Size: 0x920 class CServerRagdollTrigger : public CBaseTrigger { public: // No members available }; // Alignment: 2 // Size: 0x950 class CTriggerActiveWeaponDetect : public CBaseTrigger { public: CEntityIOOutput m_OnTouchedActiveWeapon; // 0x920 CUtlSymbolLarge m_iszWeaponClassName; // 0x948 }; // Alignment: 13 // Size: 0x980 class CTriggerPhysics : public CBaseTrigger { public: float m_gravityScale; // 0x930 float m_linearLimit; // 0x934 float m_linearDamping; // 0x938 float m_angularLimit; // 0x93c float m_angularDamping; // 0x940 float m_linearForce; // 0x944 float m_flFrequency; // 0x948 float m_flDampingRatio; // 0x94c Vector m_vecLinearForcePointAt; // 0x950 bool m_bCollapseToForcePoint; // 0x95c private: [[maybe_unused]] uint8_t __pad095d[0x3]; // 0x95d public: Vector m_vecLinearForcePointAtWorld; // 0x960 Vector m_vecLinearForceDirection; // 0x96c bool m_bConvertToDebrisWhenPossible; // 0x978 }; // Alignment: 2 // Size: 0x950 class CTriggerDetectBulletFire : public CBaseTrigger { public: bool m_bPlayerFireOnly; // 0x920 private: [[maybe_unused]] uint8_t __pad0921[0x7]; // 0x921 public: CEntityIOOutput m_OnDetectedBulletFire; // 0x928 }; // Alignment: 1 // Size: 0x980 class CTriggerDetectExplosion : public CBaseTrigger { public: CEntityIOOutput m_OnDetectedExplosion; // 0x958 }; // Alignment: 1 // Size: 0x798 class CScriptNavBlocker : public CFuncNavBlocker { public: Vector m_vExtent; // 0x788 }; // Alignment: 7 // Size: 0x9e8 class CBaseFlex : public CBaseAnimatingOverlay { public: // MNetworkEnable // MNetworkBitCount "12" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags CNetworkUtlVectorBase< float32 > m_flexWeight; // 0x958 // MNetworkEnable // MNetworkEncoder Vector m_vLookTargetPosition; // 0x970 // MNetworkEnable bool m_blinktoggle; // 0x97c private: [[maybe_unused]] uint8_t __pad097d[0x53]; // 0x97d public: float m_flAllowResponsesEndTime; // 0x9d0 float m_flLastFlexAnimationTime; // 0x9d4 uint32_t m_nNextSceneEventId; // 0x9d8 bool m_bUpdateLayerPriorities; // 0x9dc }; // Alignment: 38 // Size: 0xf40 class CBasePropDoor : public CDynamicProp { public: float m_flAutoReturnDelay; // 0xcc0 private: [[maybe_unused]] uint8_t __pad0cc4[0x4]; // 0xcc4 public: CUtlVector< CHandle< CBasePropDoor > > m_hDoorList; // 0xcc8 int32_t m_nHardwareType; // 0xce0 bool m_bNeedsHardware; // 0xce4 private: [[maybe_unused]] uint8_t __pad0ce5[0x3]; // 0xce5 public: // MNetworkEnable DoorState_t m_eDoorState; // 0xce8 // MNetworkEnable bool m_bLocked; // 0xcec private: [[maybe_unused]] uint8_t __pad0ced[0x3]; // 0xced public: // MNetworkEnable Vector m_closedPosition; // 0xcf0 // MNetworkEnable QAngle m_closedAngles; // 0xcfc CHandle< CBaseEntity > m_hBlocker; // 0xd08 bool m_bFirstBlocked; // 0xd0c private: [[maybe_unused]] uint8_t __pad0d0d[0x3]; // 0xd0d public: locksound_t m_ls; // 0xd10 bool m_bForceClosed; // 0xd30 private: [[maybe_unused]] uint8_t __pad0d31[0x3]; // 0xd31 public: Vector m_vecLatchWorldPosition; // 0xd34 CHandle< CBaseEntity > m_hActivator; // 0xd40 private: [[maybe_unused]] uint8_t __pad0d44[0x8]; // 0xd44 public: uint32_t m_sndParamAngularSpeed; // 0xd4c CUtlSymbolLarge m_SoundMoving; // 0xd50 CUtlSymbolLarge m_SoundOpen; // 0xd58 CUtlSymbolLarge m_SoundClose; // 0xd60 CUtlSymbolLarge m_SoundLock; // 0xd68 CUtlSymbolLarge m_SoundUnlock; // 0xd70 CUtlSymbolLarge m_SoundLatch; // 0xd78 CUtlSymbolLarge m_SoundPound; // 0xd80 CUtlSymbolLarge m_SoundJiggle; // 0xd88 CUtlSymbolLarge m_SoundLockedAnim; // 0xd90 int32_t m_numCloseAttempts; // 0xd98 CUtlStringToken m_nPhysicsMaterial; // 0xd9c CUtlSymbolLarge m_SlaveName; // 0xda0 // MNetworkEnable CHandle< CBasePropDoor > m_hMaster; // 0xda8 private: [[maybe_unused]] uint8_t __pad0dac[0x4]; // 0xdac public: CEntityIOOutput m_OnBlockedClosing; // 0xdb0 CEntityIOOutput m_OnBlockedOpening; // 0xdd8 CEntityIOOutput m_OnUnblockedClosing; // 0xe00 CEntityIOOutput m_OnUnblockedOpening; // 0xe28 CEntityIOOutput m_OnFullyClosed; // 0xe50 CEntityIOOutput m_OnFullyOpen; // 0xe78 CEntityIOOutput m_OnClose; // 0xea0 CEntityIOOutput m_OnOpen; // 0xec8 CEntityIOOutput m_OnLockedUse; // 0xef0 CEntityIOOutput m_OnAjarOpen; // 0xf18 }; // Alignment: 5 // Size: 0x840 class CEnvLaser : public CBeam { public: CUtlSymbolLarge m_iszLaserTarget; // 0x818 CSprite* m_pSprite; // 0x820 CUtlSymbolLarge m_iszSpriteName; // 0x828 Vector m_firePosition; // 0x830 float m_flStartFrame; // 0x83c }; // Alignment: 24 // Size: 0xa30 class CFish : public CBaseAnimating { public: CHandle< CFishPool > m_pool; // 0x958 uint32_t m_id; // 0x95c // MNetworkEnable // MNetworkSerializer "fish_pos_x" float m_x; // 0x960 // MNetworkEnable // MNetworkSerializer "fish_pos_y" float m_y; // 0x964 // MNetworkEnable // MNetworkSerializer "fish_pos_z" float m_z; // 0x968 // MNetworkEnable // MNetworkSerializer "angle_normalize_positive" // MNetworkBitCount "7" // MNetworkMinValue "0" // MNetworkMaxValue "360" // MNetworkEncodeFlags float m_angle; // 0x96c float m_angleChange; // 0x970 Vector m_forward; // 0x974 Vector m_perp; // 0x980 // MNetworkEnable // MNetworkEncoder Vector m_poolOrigin; // 0x98c // MNetworkEnable float m_waterLevel; // 0x998 float m_speed; // 0x99c float m_desiredSpeed; // 0x9a0 float m_calmSpeed; // 0x9a4 float m_panicSpeed; // 0x9a8 float m_avoidRange; // 0x9ac CountdownTimer m_turnTimer; // 0x9b0 bool m_turnClockwise; // 0x9c0 private: [[maybe_unused]] uint8_t __pad09c1[0x7]; // 0x9c1 public: CountdownTimer m_goTimer; // 0x9c8 CountdownTimer m_moveTimer; // 0x9d8 CountdownTimer m_panicTimer; // 0x9e8 CountdownTimer m_disperseTimer; // 0x9f8 CountdownTimer m_proximityTimer; // 0xa08 CUtlVector< CFish* > m_visible; // 0xa18 }; // Alignment: 9 // Size: 0x2a18 class CFlexCycler : public CBaseFlex { public: float m_flextime; // 0x9e8 private: [[maybe_unused]] uint8_t __pad09ec[0x4]; // 0x9ec public: float m_flextarget[2048]; // 0x9f0 float m_blinktime; // 0x29f0 float m_looktime; // 0x29f4 Vector m_lookTarget; // 0x29f8 float m_speaktime; // 0x2a04 int32_t m_istalking; // 0x2a08 int32_t m_phoneme; // 0x2a0c HSequence m_hCurrLayerSequence; // 0x2a10 }; // Alignment: 9 // Size: 0x2a60 class CGenericFlexCycler : public CFlexCycler { public: // MNetworkEnable int32_t m_nTestMode; // 0x2a20 int32_t m_nTestIndex; // 0x2a24 CUtlSymbolLarge m_poseParameterName; // 0x2a28 bool m_bDoClientSideAnimation; // 0x2a30 private: [[maybe_unused]] uint8_t __pad2a31[0x7]; // 0x2a31 public: CUtlSymbolLarge m_layerSequence[2]; // 0x2a38 int32_t m_nLayerIndex[2]; // 0x2a48 HSequence m_hBaseSequence[2]; // 0x2a50 int32_t m_nBoneOverrideIndex; // 0x2a58 float m_flLastSimTime; // 0x2a5c }; // Alignment: 8 // Size: 0xa30 class CItem : public CBaseAnimating { public: CEntityIOOutput m_OnPlayerTouch; // 0x960 bool m_bActivateWhenAtRest; // 0x988 private: [[maybe_unused]] uint8_t __pad0989[0x7]; // 0x989 public: CEntityIOOutput m_OnCacheInteraction; // 0x990 CEntityIOOutput m_OnPlayerPickup; // 0x9b8 CEntityIOOutput m_OnGlovePulled; // 0x9e0 Vector m_vOriginalSpawnOrigin; // 0xa08 QAngle m_vOriginalSpawnAngles; // 0xa14 bool m_bPhysStartAsleep; // 0xa20 }; // Alignment: 14 // Size: 0xab8 class CPhysicsCannister : public CBaseFlex { public: Vector m_thrustOrigin; // 0x9f0 private: [[maybe_unused]] uint8_t __pad09fc[0x4]; // 0x9fc public: CThrustController m_thruster; // 0xa00 private: [[maybe_unused]] uint8_t __pad0a28[0x8]; // 0xa28 public: bool m_active; // 0xa30 private: [[maybe_unused]] uint8_t __pad0a31[0x3]; // 0xa31 public: float m_thrustDuration; // 0xa34 float m_damage; // 0xa38 float m_damageRadius; // 0xa3c float m_activateTime; // 0xa40 private: [[maybe_unused]] uint8_t __pad0a44[0x4]; // 0xa44 public: CUtlSymbolLarge m_gasSound; // 0xa48 bool m_bFired; // 0xa50 private: [[maybe_unused]] uint8_t __pad0a51[0x7]; // 0xa51 public: CEntityIOOutput m_onActivate; // 0xa58 CEntityIOOutput m_OnAwakened; // 0xa80 CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xaa8 float m_flLastPhysicsInfluenceTime; // 0xaac CHandle< CBaseEntity > m_hLauncher; // 0xab0 }; // Alignment: 28 // Size: 0xaf8 class CRagdollProp : public CBaseAnimating { public: ragdoll_t m_ragdoll; // 0x960 bool m_bStartDisabled; // 0x998 private: [[maybe_unused]] uint8_t __pad0999[0x7]; // 0x999 public: // MNetworkEnable // MNetworkEncoder CNetworkUtlVectorBase< Vector > m_ragPos; // 0x9a0 // MNetworkEnable // MNetworkEncoder // MNetworkBitCount "13" CNetworkUtlVectorBase< QAngle > m_ragAngles; // 0x9b8 // MNetworkEnable CHandle< CBaseEntity > m_hRagdollSource; // 0x9d0 uint32_t m_lastUpdateTickCount; // 0x9d4 bool m_allAsleep; // 0x9d8 bool m_bFirstCollisionAfterLaunch; // 0x9d9 private: [[maybe_unused]] uint8_t __pad09da[0x2]; // 0x9da public: CHandle< CBaseEntity > m_hDamageEntity; // 0x9dc CHandle< CBaseEntity > m_hKiller; // 0x9e0 CHandle< CBasePlayer > m_hPhysicsAttacker; // 0x9e4 float m_flLastPhysicsInfluenceTime; // 0x9e8 float m_flFadeOutStartTime; // 0x9ec float m_flFadeTime; // 0x9f0 // MNetworkDisable Vector m_vecLastOrigin; // 0x9f4 float m_flAwakeTime; // 0xa00 float m_flLastOriginChangeTime; // 0xa04 int32_t m_nBloodColor; // 0xa08 private: [[maybe_unused]] uint8_t __pad0a0c[0x4]; // 0xa0c public: CUtlSymbolLarge m_strSourceClassName; // 0xa10 bool m_bHasBeenPhysgunned; // 0xa18 bool m_bShouldTeleportPhysics; // 0xa19 private: [[maybe_unused]] uint8_t __pad0a1a[0x2]; // 0xa1a public: // MNetworkEnable // MNetworkBitCount "8" // MNetworkMinValue "0" // MNetworkMaxValue "1" // MNetworkEncodeFlags float m_flBlendWeight; // 0xa1c bool m_bDiscoverable; // 0xa20 private: [[maybe_unused]] uint8_t __pad0a21[0x3]; // 0xa21 public: float m_flDefaultFadeScale; // 0xa24 CUtlVector< Vector > m_ragdollMins; // 0xa28 CUtlVector< Vector > m_ragdollMaxs; // 0xa40 bool m_bShouldDeleteActivationRecord; // 0xa58 private: [[maybe_unused]] uint8_t __pad0a59[0x5f]; // 0xa59 public: bool m_bValidatePoweredRagdollPose; // 0xab8 }; // Alignment: 12 // Size: 0x9e8 class CPhysMagnet : public CBaseAnimating { public: CEntityIOOutput m_OnMagnetAttach; // 0x958 CEntityIOOutput m_OnMagnetDetach; // 0x980 float m_massScale; // 0x9a8 float m_forceLimit; // 0x9ac float m_torqueLimit; // 0x9b0 private: [[maybe_unused]] uint8_t __pad09b4[0x4]; // 0x9b4 public: CUtlVector< magnetted_objects_t > m_MagnettedEntities; // 0x9b8 bool m_bActive; // 0x9d0 bool m_bHasHitSomething; // 0x9d1 private: [[maybe_unused]] uint8_t __pad09d2[0x2]; // 0x9d2 public: float m_flTotalMass; // 0x9d4 float m_flRadius; // 0x9d8 float m_flNextSuckTime; // 0x9dc int32_t m_iMaxObjectsAttached; // 0x9e0 }; // Alignment: 31 // Size: 0xcf8 class CPhysicsProp : public CBreakableProp { public: CEntityIOOutput m_MotionEnabled; // 0xb98 CEntityIOOutput m_OnAwakened; // 0xbc0 CEntityIOOutput m_OnAwake; // 0xbe8 CEntityIOOutput m_OnAsleep; // 0xc10 CEntityIOOutput m_OnPlayerUse; // 0xc38 CEntityIOOutput m_OnPlayerPickup; // 0xc60 CEntityIOOutput m_OnOutOfWorld; // 0xc88 float m_massScale; // 0xcb0 float m_inertiaScale; // 0xcb4 int32_t m_damageType; // 0xcb8 int32_t m_damageToEnableMotion; // 0xcbc float m_flForceToEnableMotion; // 0xcc0 bool m_bThrownByPlayer; // 0xcc4 bool m_bDroppedByPlayer; // 0xcc5 bool m_bTouchedByPlayer; // 0xcc6 bool m_bFirstCollisionAfterLaunch; // 0xcc7 int32_t m_iExploitableByPlayer; // 0xcc8 bool m_bHasBeenAwakened; // 0xccc bool m_bIsOverrideProp; // 0xccd private: [[maybe_unused]] uint8_t __pad0cce[0x2]; // 0xcce public: float m_fNextCheckDisableMotionContactsTime; // 0xcd0 int32_t m_iInitialGlowState; // 0xcd4 int32_t m_nGlowRange; // 0xcd8 int32_t m_nGlowRangeMin; // 0xcdc Color m_glowColor; // 0xce0 bool m_bForceNavIgnore; // 0xce4 bool m_bForceNpcExclude; // 0xce5 bool m_bShouldAutoConvertBackFromDebris; // 0xce6 bool m_bMuteImpactEffects; // 0xce7 private: [[maybe_unused]] uint8_t __pad0ce8[0x4]; // 0xce8 public: bool m_bAcceptDamageFromHeldObjects; // 0xcec // MNetworkEnable bool m_bAwake; // 0xced private: [[maybe_unused]] uint8_t __pad0cee[0x2]; // 0xcee public: int32_t m_nCollisionGroupOverride; // 0xcf0 }; // Alignment: 0 // Size: 0xcf8 class CPhysicsPropOverride : public CPhysicsProp { public: // No members available }; // Alignment: 5 // Size: 0xd30 class CPhysicsPropRespawnable : public CPhysicsProp { public: Vector m_vOriginalSpawnOrigin; // 0xcf8 QAngle m_vOriginalSpawnAngles; // 0xd04 Vector m_vOriginalMins; // 0xd10 Vector m_vOriginalMaxs; // 0xd1c float m_flRespawnDuration; // 0xd28 }; // Alignment: 6 // Size: 0xb20 class CPropVehicle : public CBaseProp { public: CFourWheelVehiclePhysics m_VehiclePhysics; // 0x9a0 uint32_t m_nVehicleType; // 0xaf8 private: [[maybe_unused]] uint8_t __pad0afc[0x4]; // 0xafc public: CUtlSymbolLarge m_vehicleScript; // 0xb00 Vector m_vecSmoothedVelocity; // 0xb08 CHandle< CBasePlayer > m_hPhysicsAttacker; // 0xb14 float m_flLastPhysicsInfluenceTime; // 0xb18 }; // Alignment: 27 // Size: 0xc78 class CPropVehicleDriveable : public CPropVehicle { public: CFourWheelServerVehicle* m_pServerVehicle; // 0xb30 CEntityIOOutput m_playerOn; // 0xb38 CEntityIOOutput m_playerOff; // 0xb60 CEntityIOOutput m_pressedAttack; // 0xb88 CEntityIOOutput m_pressedAttack2; // 0xbb0 CEntityOutputTemplate< float32 > m_attackaxis; // 0xbd8 CEntityOutputTemplate< float32 > m_attack2axis; // 0xc00 // MNetworkEnable CHandle< CBasePlayer > m_hPlayer; // 0xc28 // MNetworkEnable int32_t m_nSpeed; // 0xc2c // MNetworkEnable int16_t m_nRPM; // 0xc30 private: [[maybe_unused]] uint8_t __pad0c32[0x2]; // 0xc32 public: // MNetworkEnable float m_flThrottle; // 0xc34 // MNetworkEnable int32_t m_nBoostTimeLeft; // 0xc38 // MNetworkEnable bool m_bHasBoost; // 0xc3c private: [[maybe_unused]] uint8_t __pad0c3d[0x3]; // 0xc3d public: // MNetworkEnable // MNetworkEncoder Vector m_vecEyeExitEndpoint; // 0xc40 // MNetworkEnable // MNetworkEncoder Vector m_vecGunCrosshair; // 0xc4c // MNetworkEnable bool m_bUnableToFire; // 0xc58 // MNetworkEnable bool m_bHasGun; // 0xc59 // MNetworkEnable bool m_nScannerDisabledWeapons; // 0xc5a // MNetworkEnable bool m_nScannerDisabledVehicle; // 0xc5b private: [[maybe_unused]] uint8_t __pad0c5c[0x4]; // 0xc5c public: CHandle< CBaseEntity > m_hKeepUpright; // 0xc60 bool m_bEngineLocked; // 0xc64 bool m_bLocked; // 0xc65 private: [[maybe_unused]] uint8_t __pad0c66[0x2]; // 0xc66 public: float m_flMinimumSpeedToEnterExit; // 0xc68 // MNetworkEnable bool m_bEnterAnimOn; // 0xc6c // MNetworkEnable bool m_bExitAnimOn; // 0xc6d private: [[maybe_unused]] uint8_t __pad0c6e[0x2]; // 0xc6e public: float m_flTurnOffKeepUpright; // 0xc70 float m_flNoImpactDamageTime; // 0xc74 }; // Alignment: 0 // Size: 0x958 class CWaterBullet : public CBaseAnimating { public: // No members available }; // Alignment: 14 // Size: 0xa90 class CBaseGrenade : public CBaseFlex { public: CEntityIOOutput m_OnPlayerPickup; // 0x9f0 CEntityIOOutput m_OnExplode; // 0xa18 bool m_bHasWarnedAI; // 0xa40 bool m_bIsSmokeGrenade; // 0xa41 // MNetworkEnable bool m_bIsLive; // 0xa42 private: [[maybe_unused]] uint8_t __pad0a43[0x1]; // 0xa43 public: // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "1024" // MNetworkEncodeFlags float m_DmgRadius; // 0xa44 // MNetworkEnable float m_flDetonateTime; // 0xa48 float m_flWarnAITime; // 0xa4c // MNetworkEnable // MNetworkBitCount "10" // MNetworkMinValue "0" // MNetworkMaxValue "256" // MNetworkEncodeFlags float m_flDamage; // 0xa50 private: [[maybe_unused]] uint8_t __pad0a54[0x4]; // 0xa54 public: CUtlSymbolLarge m_iszBounceSound; // 0xa58 CUtlString m_ExplosionSound; // 0xa60 private: [[maybe_unused]] uint8_t __pad0a68[0x4]; // 0xa68 public: // MNetworkEnable CHandle< CBaseEntity > m_hThrower; // 0xa6c private: [[maybe_unused]] uint8_t __pad0a70[0x18]; // 0xa70 public: float m_flNextAttack; // 0xa88 CHandle< CBaseEntity > m_hOriginalThrower; // 0xa8c }; // Alignment: 3 // Size: 0xd60 class CShatterGlassShardPhysics : public CPhysicsProp { public: bool m_bDebris; // 0xcf8 private: [[maybe_unused]] uint8_t __pad0cf9[0x3]; // 0xcf9 public: uint32_t m_hParentShard; // 0xcfc // MNetworkEnable shard_model_desc_t m_ShardDesc; // 0xd00 }; // Alignment: 5 // Size: 0x978 class CNPCAbilityModel : public CBaseAnimating { public: bool m_bDropped; // 0x960 private: [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 public: float m_flUnlockTime; // 0x964 CHandle< CBaseEntity > m_hLocker; // 0x968 CUtlStringToken m_nPrimaryAbilityID; // 0x96c CUtlVector< CUtlStringToken >* m_pVecSecondaryAbilityIDs; // 0x970 }; // Alignment: 4 // Size: 0x9d8 class CPropAnimatingBreakable : public CBaseAnimating { public: int32_t m_nCurrentBreakStage; // 0x958 private: [[maybe_unused]] uint8_t __pad095c[0x4]; // 0x95c public: CEntityIOOutput m_OnTakeDamage; // 0x960 CEntityIOOutput m_OnFinalBreak; // 0x988 CEntityIOOutput m_OnStageAdvanced; // 0x9b0 }; // Alignment: 5 // Size: 0x978 class CSteamPal_BaseSingingEntity : public CBaseAnimating { public: char m_cCurNote; // 0x960 private: [[maybe_unused]] uint8_t __pad0961[0x3]; // 0x961 public: float m_flTimeNotePlayed; // 0x964 int32_t m_nSequenceTrack; // 0x968 bool m_bIsRegistered; // 0x96c private: [[maybe_unused]] uint8_t __pad096d[0x3]; // 0x96d public: float m_flWingLastNotePct; // 0x970 }; // Alignment: 1 // Size: 0x960 class CSteamPal_WritingSurface : public CBaseAnimating { public: // MNetworkEnable bool m_bCanWrite; // 0x958 }; // Alignment: 54 // Size: 0xf50 class CSteamPal_Turret : public CBaseAnimating { public: AttachmentHandle_t m_hTurretLaserAttachment; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: // MNetworkEnable CHandle< CSteamPal_Turret_Wing > m_hWings[2]; // 0x95c // MNetworkEnable CHandle< CSteamPal_Turret_Wing > m_hLeftWing; // 0x964 // MNetworkEnable CHandle< CSteamPal_Turret_Wing > m_hRightWing; // 0x968 // MNetworkEnable bool m_bBeingControlled; // 0x96c // MNetworkEnable bool m_bGyroHintEnabled; // 0x96d private: [[maybe_unused]] uint8_t __pad096e[0x2]; // 0x96e public: // MNetworkEnable float m_flTotalGyroActiveTime; // 0x970 // MNetworkEnable float m_flTotalGyroInactiveTime; // 0x974 // MNetworkEnable float m_flLastGyroActiveTime; // 0x978 ParticleIndex_t m_nLaserSightFX; // 0x97c CEntityIOOutput m_OnLeftWingButton; // 0x980 CEntityIOOutput m_OnRightWingButton; // 0x9a8 CEntityIOOutput m_OnAnyWingButton; // 0x9d0 CEntityIOOutput m_OnLeftFireButton; // 0x9f8 CEntityIOOutput m_OnRightFireButton; // 0xa20 CEntityIOOutput m_OnAnyFireButton; // 0xa48 CEntityIOOutput m_OnTurretExploded; // 0xa70 CEntityIOOutput m_OnToiletControlsUsed; // 0xa98 CEntityIOOutput m_OnPresentingRotationFinished; // 0xac0 Vector m_vLaserSightEnd; // 0xae8 private: [[maybe_unused]] uint8_t __pad0af4[0x4]; // 0xaf4 public: // MNetworkEnable float m_flCurrentAimX; // 0xaf8 // MNetworkEnable float m_flCurrentAimY; // 0xafc // MNetworkEnable CHandle< CBaseAnimating > m_hAmmoModel; // 0xb00 // MNetworkEnable bool m_bRevertFOV; // 0xb04 private: [[maybe_unused]] uint8_t __pad0b05[0x3]; // 0xb05 public: // MNetworkEnable float m_flWingDeployAmount; // 0xb08 // MNetworkEnable CHandle< CSteamPalPointCamera > m_hReturnCamera; // 0xb0c private: [[maybe_unused]] uint8_t __pad0b10[0x400]; // 0xb10 public: CHandle< CSteampal_Turret_Manager > m_hTurretManager; // 0xf10 float m_flMinAimYawLimit; // 0xf14 float m_flMaxAimYawLimit; // 0xf18 float m_flMinAimPitchLimit; // 0xf1c float m_flMaxAimPitchLimit; // 0xf20 bool m_bWingAimEnabled; // 0xf24 bool m_bHorizontalWingAimEnabled; // 0xf25 bool m_bWingsFlipped; // 0xf26 bool m_bTrackPadAimingEnabled; // 0xf27 bool m_bShootingEnabled; // 0xf28 bool m_bLaserSightEnabled; // 0xf29 bool m_bAllowShootingWhileWingsClosed; // 0xf2a bool m_bForceWingsOpen; // 0xf2b bool m_bCameraBeingControlled; // 0xf2c bool m_bShowAmmoCounter; // 0xf2d bool m_bInfiniteAmmo; // 0xf2e private: [[maybe_unused]] uint8_t __pad0f2f[0x1]; // 0xf2f public: int32_t m_nAmmoRemaining; // 0xf30 float m_flAmmoRemaining; // 0xf34 bool m_bExploded; // 0xf38 bool m_bShouldScaleDamageForce; // 0xf39 private: [[maybe_unused]] uint8_t __pad0f3a[0x2]; // 0xf3a public: float m_flAutoAimFactorX; // 0xf3c float m_flAutoAimFactorY; // 0xf40 bool m_bCanTakeDamage; // 0xf44 bool m_bRestrictWingAimForPresentingTurret; // 0xf45 bool m_bToiletControlsEnabled; // 0xf46 bool m_bFiredThisFrame; // 0xf47 bool m_bAutoAimAllowed; // 0xf48 bool m_bTurretHidden; // 0xf49 }; // Alignment: 37 // Size: 0x1220 class CSteamPal_Intro_Toilet : public CSteamPal_Turret { public: // MNetworkEnable float m_flLidSpeed; // 0xf50 // MNetworkEnable float m_flLidPos; // 0xf54 // MNetworkEnable float m_flHandleSpeed; // 0xf58 // MNetworkEnable float m_flHandlePos; // 0xf5c // MNetworkEnable float m_flBidetPlaybackSpeed; // 0xf60 // MNetworkEnable float m_flBidetPlaybackPos; // 0xf64 // MNetworkEnable float m_flCisternSpeed; // 0xf68 // MNetworkEnable float m_flCisternPos; // 0xf6c // MNetworkEnable int32_t m_nWaterLevel; // 0xf70 // MNetworkEnable bool m_bLoadedWithBullets; // 0xf74 // MNetworkEnable bool m_bExclusiveToilet; // 0xf75 private: [[maybe_unused]] uint8_t __pad0f76[0x2]; // 0xf76 public: // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nLidTestState; // 0xf78 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nFlushTestState; // 0xf7c // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nBidet1TestState; // 0xf80 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nBidet2TestState; // 0xf84 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nBidet3TestState; // 0xf88 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nBidet4TestState; // 0xf8c // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nLeftArmTestState; // 0xf90 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nRightArmTestState; // 0xf94 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nHoldWaterTestState; // 0xf98 // MNetworkEnable CSteamPal_Intro_Toilet::TestState_t m_nSeatPressureTestState; // 0xf9c // MNetworkEnable CHandle< CDynamicProp > m_hWaterSpout; // 0xfa0 // MNetworkEnable CHandle< CDynamicProp > m_hPressureTester; // 0xfa4 // MNetworkEnable CHandle< CSteamPal_ToiletTestPanel > m_hTestPanel; // 0xfa8 private: [[maybe_unused]] uint8_t __pad0fac[0x4]; // 0xfac public: CEntityIOOutput m_OnTestFailed; // 0xfb0 CEntityIOOutput m_OnTestsPassed; // 0xfd8 CEntityIOOutput m_OnFlushButton; // 0x1000 CEntityIOOutput m_OnBidetButton; // 0x1028 CEntityIOOutput m_OnPressureButtonPressed; // 0x1050 CEntityIOOutput m_OnPressureButtonReleased; // 0x1078 CEntityIOOutput m_OnPressureTesterDown; // 0x10a0 CEntityIOOutput m_OnLidButton; // 0x10c8 CEntityIOOutput m_OnCisternButton; // 0x10f0 CEntityIOOutput m_OnSpoutStartWater; // 0x1118 CEntityIOOutput m_OnOtherButton; // 0x1140 CEntityIOOutput m_OnHighBidetPressure; // 0x1168 CEntityIOOutput m_OnSmokingToiletBidetCanceled; // 0x1190 }; // Alignment: 34 // Size: 0xfe0 class CSteamPal_ToiletTestPanel : public CPhysicsProp { public: // MNetworkEnable CHandle< CBaseModelEntity > m_hCisternDiagramLight; // 0xcf8 // MNetworkEnable CHandle< CBaseModelEntity > m_hFlushDiagramLight; // 0xcfc // MNetworkEnable CHandle< CBaseModelEntity > m_hSeatPressureDiagramLight; // 0xd00 // MNetworkEnable CHandle< CBaseModelEntity > m_hBidetDiagramLight; // 0xd04 // MNetworkEnable CHandle< CBaseModelEntity > m_hCisternTestLight; // 0xd08 // MNetworkEnable CHandle< CBaseModelEntity > m_hFlushTestLight; // 0xd0c // MNetworkEnable CHandle< CBaseModelEntity > m_hSeatPressureTestLight; // 0xd10 // MNetworkEnable CHandle< CBaseModelEntity > m_hBidetTestLight; // 0xd14 // MNetworkEnable CHandle< CBaseAnimating > m_hCisternGauge; // 0xd18 // MNetworkEnable CHandle< CBaseAnimating > m_hFlushGauge; // 0xd1c // MNetworkEnable CHandle< CBaseAnimating > m_hSeatPressureGauge; // 0xd20 // MNetworkEnable CHandle< CBaseAnimating > m_hBidetGauge; // 0xd24 // MNetworkEnable CHandle< CBaseModelEntity > m_hCisternFunctionLight; // 0xd28 // MNetworkEnable CHandle< CBaseModelEntity > m_hBidetFunctionLight; // 0xd2c // MNetworkEnable CHandle< CBaseModelEntity > m_hFlushFunctionLight; // 0xd30 // MNetworkEnable CHandle< CBaseModelEntity > m_hSeatPressureFunctionLight; // 0xd34 // MNetworkEnable CHandle< CBaseModelEntity > m_hPassFailLight; // 0xd38 // MNetworkEnable CHandle< CBaseAnimating > m_hDigit0; // 0xd3c // MNetworkEnable CHandle< CBaseAnimating > m_hDigit1; // 0xd40 // MNetworkEnable CHandle< CBaseAnimating > m_hDigit2; // 0xd44 // MNetworkEnable CHandle< CBaseAnimating > m_hDigit3; // 0xd48 // MNetworkEnable CHandle< CBaseAnimating > m_hDigit4; // 0xd4c // MNetworkEnable CHandle< CBaseAnimating > m_hDigit5; // 0xd50 // MNetworkEnable int32_t m_nCounterValue; // 0xd54 private: [[maybe_unused]] uint8_t __pad0d58[0x60]; // 0xd58 public: CEntityIOOutput m_OnTestLidPassed; // 0xdb8 CEntityIOOutput m_OnTestCisternPassed; // 0xde0 CEntityIOOutput m_OnTestLeftArmPassed; // 0xe08 CEntityIOOutput m_OnTestRightArmPassed; // 0xe30 CEntityIOOutput m_OnTestBidetPassed; // 0xe58 CEntityIOOutput m_OnTestPressurePassed; // 0xe80 CEntityIOOutput m_OnTestFlushPassed; // 0xea8 CEntityIOOutput m_OnAllTestsPassed; // 0xed0 CEntityIOOutput m_OnTestFailed; // 0xef8 CEntityIOOutput m_OnResetPanel; // 0xf20 }; // Alignment: 4 // Size: 0x968 class CSteamPal_Toilet : public CBaseAnimating { public: AttachmentHandle_t m_hToiletBidetAttachment; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: CEntityHandle m_hSeatHinge; // 0x95c CEntityHandle m_hSeatCoverHinge; // 0x960 CEntityHandle m_hCisternLidConstraint; // 0x964 }; // Alignment: 5 // Size: 0x998 class CSteamPal_Ultra_Toilet_Rocket : public CBaseAnimating { public: AttachmentHandle_t m_nTrailAttachment; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: ParticleIndex_t m_nTrailFX; // 0x95c Vector m_vPrevPos; // 0x960 private: [[maybe_unused]] uint8_t __pad096c[0x24]; // 0x96c public: CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0x990 bool m_bIsLastRocket; // 0x994 }; // Alignment: 23 // Size: 0xb38 class CSteamPal_Ultra_Toilet_Attachment : public CBaseAnimating { public: CEntityIOOutput m_OnLastRocketExploded; // 0x958 CHandle< CSteamPal_Ultra_Toilet > m_hUltraToilet; // 0x980 CHandle< CPhysicsProp > m_hAttachedModels[7]; // 0x984 CUtlString m_hAttachedModelsAnimgraphParams[7]; // 0x9a0 SteamPal_Ultra_Toilet_Gun_t m_UltraGuns[7]; // 0x9d8 CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_LeftRockets; // 0xa80 CUtlVector< CHandle< CSteamPal_Ultra_Toilet_Rocket > > m_RightRockets; // 0xa98 CUtlVector< int32 > m_LeftRocketPathIndexes; // 0xab0 CUtlVector< int32 > m_RightRocketPathIndexes; // 0xac8 int32_t m_nLeftIgnitedRocket; // 0xae0 int32_t m_nRightIgnitedRocket; // 0xae4 bool m_bLauncherIsBroken; // 0xae8 private: [[maybe_unused]] uint8_t __pad0ae9[0x3]; // 0xae9 public: CHandle< CPhysicsProp > m_hRotateRocketModel; // 0xaec bool m_bMinigunShooting; // 0xaf0 bool m_bMinigunWindingUp; // 0xaf1 private: [[maybe_unused]] uint8_t __pad0af2[0x26]; // 0xaf2 public: AttachmentHandle_t m_nSMGHingeAttachment; // 0xb18 private: [[maybe_unused]] uint8_t __pad0b19[0xf]; // 0xb19 public: AttachmentHandle_t m_nRadarHingeAttachment; // 0xb28 AttachmentHandle_t m_nRadarSpinAttachment; // 0xb29 AttachmentHandle_t m_nRadarMuzzleAttachment; // 0xb2a private: [[maybe_unused]] uint8_t __pad0b2b[0x1]; // 0xb2b public: float m_flRadarPitch; // 0xb2c bool m_bUltraHidden; // 0xb30 bool m_bReadyToControl; // 0xb31 private: [[maybe_unused]] uint8_t __pad0b32[0x2]; // 0xb32 public: int32_t m_nCurrentExplodeStage; // 0xb34 }; // Alignment: 6 // Size: 0xff8 class CSteamPal_Ultra_Toilet : public CSteamPal_Turret { public: CEntityIOOutput m_OnUltraIntroStart; // 0xf50 CEntityIOOutput m_OnUltraIntroEnd; // 0xf78 CEntityIOOutput m_OnUltraRotationEnd; // 0xfa0 CEntityIOOutput m_OnUltraTurretShoot; // 0xfc8 float m_flPrevThinkTime; // 0xff0 CHandle< CSteamPal_Ultra_Toilet_Attachment > m_hUltraAttachment; // 0xff4 }; // Alignment: 0 // Size: 0x958 class CSteamPal_Trackball : public CBaseAnimating { public: // No members available }; // Alignment: 0 // Size: 0x958 class CSteamPal_TouchScreen : public CBaseAnimating { public: // No members available }; // Alignment: 20 // Size: 0xe70 class CSteamPal_Desk : public CBaseAnimating { public: // MNetworkEnable bool m_bInputEnabled; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: float m_flStickDeployAmount; // 0x95c float m_flStickDeployVelocity; // 0x960 int32_t m_nDeskState; // 0x964 bool m_bDiscoveryModeComplete; // 0x968 bool m_bDeskHidden; // 0x969 private: [[maybe_unused]] uint8_t __pad096a[0x2ce]; // 0x96a public: CEntityIOOutput m_OnAButton; // 0xc38 CEntityIOOutput m_OnBButton; // 0xc60 CEntityIOOutput m_OnXButton; // 0xc88 CEntityIOOutput m_OnYButton; // 0xcb0 CEntityIOOutput m_OnL4Button; // 0xcd8 CEntityIOOutput m_OnL5Button; // 0xd00 CEntityIOOutput m_OnR4Button; // 0xd28 CEntityIOOutput m_OnR5Button; // 0xd50 CEntityIOOutput m_OnL4ButtonReleased; // 0xd78 CEntityIOOutput m_OnL5ButtonReleased; // 0xda0 CEntityIOOutput m_OnR4ButtonReleased; // 0xdc8 CEntityIOOutput m_OnR5ButtonReleased; // 0xdf0 CEntityIOOutput m_OnHamburgerButton; // 0xe18 CEntityIOOutput m_OnShowPaddles; // 0xe40 }; // Alignment: 6 // Size: 0xd28 class CSteamPal_PaintableProp : public CPhysicsProp { public: CUtlSymbolLarge m_iszSoundName; // 0xcf8 CUtlSymbolLarge m_iszAscentSoundName; // 0xd00 CUtlSymbolLarge m_iszGallerySoundName; // 0xd08 private: [[maybe_unused]] uint8_t __pad0d10[0x8]; // 0xd10 public: bool m_bAlwaysAnimate; // 0xd18 private: [[maybe_unused]] uint8_t __pad0d19[0x3]; // 0xd19 public: SteamPalPaintType m_PaintType; // 0xd1c // MNetworkEnable bool m_bShouldSetPicture; // 0xd20 }; // Alignment: 2 // Size: 0xd30 class CSteamPal_Toaster : public CSteamPal_PaintableProp { public: CHandle< CPhysicsProp > m_hPropToLaunch; // 0xd28 AttachmentHandle_t m_hLauncherAttachment; // 0xd2c }; // Alignment: 3 // Size: 0xd50 class CSteamPal_TouchTarget : public CPhysicsProp { public: CEntityIOOutput m_OnStartTouch; // 0xcf8 CEntityIOOutput m_OnEndTouch; // 0xd20 bool m_bPlayerIsTouching; // 0xd48 }; // Alignment: 4 // Size: 0x970 class CSteamPal_Projectile_Tag_Dart : public CBaseAnimating { public: bool m_bLaunched; // 0x958 private: [[maybe_unused]] uint8_t __pad0959[0x3]; // 0x959 public: ParticleIndex_t m_nAttachedParticle; // 0x95c Vector m_vTouchPos; // 0x960 CHandle< CBaseEntity > m_hWeapon; // 0x96c }; // Alignment: 0 // Size: 0xcf8 class CNPCApplianceProjectile : public CPhysicsProp { public: // No members available }; // Alignment: 1 // Size: 0x2a20 class CFlexExpresserShim : public CFlexCycler { public: CAI_Expresser* m_pExpresser; // 0x2a18 }; // Alignment: 1 // Size: 0x2a30 class CFlexExpresser : public CFlexExpresserShim { public: float m_flThenAnyMaxDist; // 0x2a28 }; // Alignment: 19 // Size: 0xd18 class CDevtestHierarchy : public CDynamicProp { public: Vector m_vRotationAxis; // 0xcb0 float m_flRotationSpeed; // 0xcbc // MNetworkEnable int32_t m_nTestMode; // 0xcc0 CHandle< CBaseEntity > m_hChild; // 0xcc4 // MNetworkEnable CUtlStringToken m_attachName; // 0xcc8 // MNetworkEnable Vector m_vDynamicAttachOffset; // 0xccc // MNetworkEnable int32_t m_nDynamicResetCount; // 0xcd8 int32_t m_nDynamicDetachCount; // 0xcdc // MNetworkEnable bool m_bChildIsDynamic; // 0xce0 // MNetworkEnable bool m_bCreateChildSideChild; // 0xce1 private: [[maybe_unused]] uint8_t __pad0ce2[0x2]; // 0xce2 public: // MNetworkEnable CUtlStringToken m_alternateAttachName; // 0xce4 CHandle< CBaseEntity > m_hAlternateParent; // 0xce8 private: [[maybe_unused]] uint8_t __pad0cec[0x4]; // 0xcec public: CStrongHandle< InfoForResourceTypeCModel > m_hAlternateModel; // 0xcf0 CStrongHandle< InfoForResourceTypeCModel > m_hOriginalModel; // 0xcf8 // MNetworkEnable CStrongHandle< InfoForResourceTypeCModel > m_hClientSideChildModel; // 0xd00 // MNetworkEnable float m_flEntityStartTime; // 0xd08 int32_t m_nTestIndex; // 0xd0c HierarchyType_t m_nCurrType; // 0xd10 int32_t m_nCurrentModel; // 0xd14 }; // Alignment: 0 // Size: 0xcb0 class CDevtestHierarchyChild : public CDynamicProp { public: // No members available }; // Alignment: 0 // Size: 0x958 class CDevtestHierarchy2 : public CBaseAnimating { public: // No members available }; // Alignment: 8 // Size: 0x9a0 class CBasePlayerWeapon : public CBaseAnimating { public: // MNetworkEnable WeaponState_t m_iState; // 0x958 bool m_bRemoveable; // 0x95c private: [[maybe_unused]] uint8_t __pad095d[0x3]; // 0x95d public: // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" float m_flNextPrimaryAttack; // 0x960 // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" float m_flNextSecondaryAttack; // 0x964 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkPriority "32" int32_t m_iClip1; // 0x968 // MNetworkEnable // MNetworkSerializer "minusone" // MNetworkUserGroup "LocalWeaponExclusive" int32_t m_iClip2; // 0x96c // MNetworkEnable // MNetworkUserGroup "LocalWeaponExclusive" int32_t m_pReserveAmmo[2]; // 0x970 CEntityIOOutput m_OnPlayerUse; // 0x978 }; // Alignment: 0 // Size: 0x9e8 class CBaseFlexAlias_funCBaseFlex : public CBaseFlex { public: // No members available }; // Alignment: 0 // Size: 0x2a60 class CGenericFlexCyclerAlias_cycler : public CGenericFlexCycler { public: // No members available }; // Alignment: 2 // Size: 0xa60 class CScriptItem : public CItem { public: CEntityIOOutput m_OnPlayerPickup; // 0xa30 MoveType_t m_MoveTypeOverride; // 0xa58 }; // Alignment: 0 // Size: 0xaf8 class CRagdollPropAlias_physics_prop_ragdoll : public CRagdollProp { public: // No members available }; // Alignment: 6 // Size: 0xb38 class CRagdollPropAttached : public CRagdollProp { public: // MNetworkEnable uint32_t m_boneIndexAttached; // 0xaf8 // MNetworkEnable uint32_t m_ragdollAttachedObjectIndex; // 0xafc // MNetworkEnable // MNetworkEncoder Vector m_attachmentPointBoneSpace; // 0xb00 // MNetworkEnable // MNetworkEncoder Vector m_attachmentPointRagdollSpace; // 0xb0c bool m_bShouldDetach; // 0xb18 private: [[maybe_unused]] uint8_t __pad0b19[0xf]; // 0xb19 public: bool m_bShouldDeleteAttachedActivationRecord; // 0xb28 }; // Alignment: 16 // Size: 0xfd0 class CPropDoorRotating : public CBasePropDoor { public: Vector m_vecAxis; // 0xf40 float m_flDistance; // 0xf4c PropDoorRotatingSpawnPos_t m_eSpawnPosition; // 0xf50 PropDoorRotatingOpenDirection_e m_eOpenDirection; // 0xf54 PropDoorRotatingOpenDirection_e m_eCurrentOpenDirection; // 0xf58 float m_flAjarAngle; // 0xf5c QAngle m_angRotationAjarDeprecated; // 0xf60 QAngle m_angRotationClosed; // 0xf6c QAngle m_angRotationOpenForward; // 0xf78 QAngle m_angRotationOpenBack; // 0xf84 QAngle m_angGoal; // 0xf90 Vector m_vecForwardBoundsMin; // 0xf9c Vector m_vecForwardBoundsMax; // 0xfa8 Vector m_vecBackBoundsMin; // 0xfb4 Vector m_vecBackBoundsMax; // 0xfc0 CHandle< CEntityBlocker > m_hEntityBlocker; // 0xfcc }; // Alignment: 4 // Size: 0xff0 class CPropDoorRotatingBreakable : public CPropDoorRotating { public: bool m_bBreakable; // 0xfd0 bool m_isAbleToCloseAreaPortals; // 0xfd1 private: [[maybe_unused]] uint8_t __pad0fd2[0x2]; // 0xfd2 public: int32_t m_currentDamageState; // 0xfd4 CUtlVector< CUtlSymbolLarge > m_damageStates; // 0xfd8 }; // Alignment: 13 // Size: 0xa58 class CBaseCombatCharacter : public CBaseFlex { public: bool m_bForceServerRagdoll; // 0x9e8 private: [[maybe_unused]] uint8_t __pad09e9[0x3]; // 0x9e9 public: // MNetworkEnable float m_flFieldOfView; // 0x9ec float m_impactEnergyScale; // 0x9f0 HitGroup_t m_LastHitGroup; // 0x9f4 bool m_bApplyStressDamage; // 0x9f8 private: [[maybe_unused]] uint8_t __pad09f9[0x3]; // 0x9f9 public: int32_t m_bloodColor; // 0x9fc private: [[maybe_unused]] uint8_t __pad0a00[0x30]; // 0xa00 public: int32_t m_registeredNavTeam; // 0xa30 int32_t m_navMeshID; // 0xa34 int32_t m_iDamageCount; // 0xa38 private: [[maybe_unused]] uint8_t __pad0a3c[0x4]; // 0xa3c public: CUtlVector< RelationshipOverride_t >* m_pVecRelationships; // 0xa40 CUtlSymbolLarge m_strRelationships; // 0xa48 Hull_t m_eHull; // 0xa50 uint32_t m_nNavHullIdx; // 0xa54 static int32_t &Get_sm_lastInteraction(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CBaseCombatCharacter")->m_static_fields[0]->m_instance);}; }; // Alignment: 32 // Size: 0xba0 class CItemGeneric : public CItem { public: bool m_bHasTriggerRadius; // 0xa38 bool m_bHasPickupRadius; // 0xa39 private: [[maybe_unused]] uint8_t __pad0a3a[0x2]; // 0xa3a public: float m_flPickupRadiusSqr; // 0xa3c float m_flTriggerRadiusSqr; // 0xa40 float m_flLastPickupCheck; // 0xa44 bool m_bPlayerCounterListenerAdded; // 0xa48 bool m_bPlayerInTriggerRadius; // 0xa49 private: [[maybe_unused]] uint8_t __pad0a4a[0x6]; // 0xa4a public: CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hSpawnParticleEffect; // 0xa50 CUtlSymbolLarge m_pAmbientSoundEffect; // 0xa58 bool m_bAutoStartAmbientSound; // 0xa60 private: [[maybe_unused]] uint8_t __pad0a61[0x7]; // 0xa61 public: CUtlSymbolLarge m_pSpawnScriptFunction; // 0xa68 CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hPickupParticleEffect; // 0xa70 CUtlSymbolLarge m_pPickupSoundEffect; // 0xa78 CUtlSymbolLarge m_pPickupScriptFunction; // 0xa80 CStrongHandle< InfoForResourceTypeIParticleSystemDefinition > m_hTimeoutParticleEffect; // 0xa88 CUtlSymbolLarge m_pTimeoutSoundEffect; // 0xa90 CUtlSymbolLarge m_pTimeoutScriptFunction; // 0xa98 CUtlSymbolLarge m_pPickupFilterName; // 0xaa0 CHandle< CBaseFilter > m_hPickupFilter; // 0xaa8 private: [[maybe_unused]] uint8_t __pad0aac[0x4]; // 0xaac public: CEntityIOOutput m_OnPickup; // 0xab0 CEntityIOOutput m_OnTimeout; // 0xad8 CEntityIOOutput m_OnTriggerStartTouch; // 0xb00 CEntityIOOutput m_OnTriggerTouch; // 0xb28 CEntityIOOutput m_OnTriggerEndTouch; // 0xb50 CUtlSymbolLarge m_pAllowPickupScriptFunction; // 0xb78 float m_flPickupRadius; // 0xb80 float m_flTriggerRadius; // 0xb84 CUtlSymbolLarge m_pTriggerSoundEffect; // 0xb88 bool m_bGlowWhenInTrigger; // 0xb90 Color m_glowColor; // 0xb91 bool m_bUseable; // 0xb95 private: [[maybe_unused]] uint8_t __pad0b96[0x2]; // 0xb96 public: CHandle< CItemGenericTriggerHelper > m_hTriggerHelper; // 0xb98 }; // Alignment: 97 // Size: 0xfb8 class CAI_BaseNPC : public CBaseCombatCharacter { public: bool m_bCheckContacts; // 0xa60 bool m_bIsUsingSmallHull; // 0xa61 private: [[maybe_unused]] uint8_t __pad0a62[0x2]; // 0xa62 public: Vector m_vecLastPosition; // 0xa64 float m_flLastPositionTolerance; // 0xa70 AI_Efficiency_t m_Efficiency; // 0xa74 AI_MoveEfficiency_t m_MoveEfficiency; // 0xa78 AI_SleepState_t m_SleepState; // 0xa7c int32_t m_SleepFlags; // 0xa80 float m_flWakeRadius; // 0xa84 bool m_bWakeSquad; // 0xa88 private: [[maybe_unused]] uint8_t __pad0a89[0x3]; // 0xa89 public: int32_t m_nWakeTick; // 0xa8c // MNetworkEnable NPC_STATE m_NPCState; // 0xa90 NPC_STATE m_IdealNPCState; // 0xa94 float m_flLastStateChangeTime; // 0xa98 private: [[maybe_unused]] uint8_t __pad0a9c[0xc]; // 0xa9c public: CAI_ScheduleBits m_Conditions; // 0xaa8 CAI_ScheduleBits m_NonGatherConditions; // 0xac8 CAI_ScheduleBits m_CustomInterruptConditions; // 0xae8 bool m_bForceConditionsGather; // 0xb08 bool m_bConditionsGathered; // 0xb09 bool m_bDoPostRestoreRefindPath; // 0xb0a private: [[maybe_unused]] uint8_t __pad0b0b[0x5]; // 0xb0b public: CAI_BehaviorHost* m_pBehaviorHost; // 0xb10 CAI_EnemyServices* m_pEnemyServices; // 0xb18 CRandStopwatch m_GiveUpOnDeadEnemyTimer; // 0xb20 CSimpleSimTimer m_FailChooseEnemyTimer; // 0xb38 float m_flAcceptableTimeSeenEnemy; // 0xb3c bool m_bSkippedChooseEnemy; // 0xb40 bool m_bIgnoreUnseenEnemies; // 0xb41 private: [[maybe_unused]] uint8_t __pad0b42[0x2]; // 0xb42 public: CHandle< CBaseFilter > m_hEnemyFilter; // 0xb44 CUtlSymbolLarge m_iszEnemyFilterName; // 0xb48 CHandle< CBaseEntity > m_hTargetEnt; // 0xb50 float m_flSoundWaitTime; // 0xb54 int32_t m_nSoundPriority; // 0xb58 bool m_bSuppressFootsteps; // 0xb5c private: [[maybe_unused]] uint8_t __pad0b5d[0x3]; // 0xb5d public: int32_t m_afCapability; // 0xb60 float m_flMoveWaitFinished; // 0xb64 CHandle< CBaseEntity > m_hOpeningDoor; // 0xb68 bool m_bUseAltNpcAvoid; // 0xb6c private: [[maybe_unused]] uint8_t __pad0b6d[0x3]; // 0xb6d public: CUtlVector< UnreachableEnt_t > m_UnreachableEnts; // 0xb70 CHandle< CBaseEntity > m_hPathObstructor; // 0xb88 float m_flJumpMaxRise; // 0xb8c float m_flJumpMaxDrop; // 0xb90 float m_flJumpMaxDist; // 0xb94 float m_flJumpMinDist; // 0xb98 private: [[maybe_unused]] uint8_t __pad0b9c[0x4]; // 0xb9c public: CAI_AnimGraphServices* m_pAnimGraphServices; // 0xba0 bool m_bAnimGraphIsAnimatingDeath; // 0xba8 bool m_bDeferredNavigation; // 0xba9 private: [[maybe_unused]] uint8_t __pad0baa[0x6]; // 0xbaa public: CAI_Scheduler m_Scheduler; // 0xbb0 private: [[maybe_unused]] uint8_t __pad0c20[0x28]; // 0xc20 public: CHandle< CBaseEntity > m_hGoalEnt; // 0xc48 float m_flTimeLastMovement; // 0xc4c CSimpleSimTimer m_CheckOnGroundTimer; // 0xc50 private: [[maybe_unused]] uint8_t __pad0c54[0x4]; // 0xc54 public: CUtlSymbolLarge m_strNavRestrictionVolume; // 0xc58 // MNetworkEnable bool m_bIsMoving; // 0xc60 private: [[maybe_unused]] uint8_t __pad0c61[0x3]; // 0xc61 public: Vector m_vDefaultEyeOffset; // 0xc64 int32_t m_afMemory; // 0xc70 float m_flLastDamageTime; // 0xc74 Vector m_vecLastDamageAttackVector; // 0xc78 float m_flLastPlayerDamageTime; // 0xc84 float m_flLastAttackTime; // 0xc88 private: [[maybe_unused]] uint8_t __pad0c8c[0xc]; // 0xc8c public: CUtlSymbolLarge m_iszSquadName; // 0xc98 CUtlVector< SquadSlotNPCEntry_t > m_vecMySquadSlots; // 0xca0 bool m_bIsBelowHalfHealthBefore; // 0xcb8 // MNetworkEnable bool m_bFadeCorpse; // 0xcb9 // MNetworkEnable bool m_bImportantRagdoll; // 0xcba private: [[maybe_unused]] uint8_t __pad0cbb[0x5]; // 0xcbb public: CTakeDamageInfo m_deathBlowInfo; // 0xcc0 bool m_bDidDeathCleanup; // 0xd60 bool m_bReceivedEnemyDeadNotification; // 0xd61 private: [[maybe_unused]] uint8_t __pad0d62[0x2]; // 0xd62 public: float m_flWaitFinished; // 0xd64 bool m_fNoDamageDecal; // 0xd68 private: [[maybe_unused]] uint8_t __pad0d69[0x7]; // 0xd69 public: CUtlVector< CHandle< CBaseEntity > >* m_pVecAttachments; // 0xd70 CEntityIOOutput m_OnDamaged; // 0xd78 CEntityIOOutput m_OnDeath; // 0xda0 CEntityIOOutput m_OnHalfHealth; // 0xdc8 CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundEnemy; // 0xdf0 CEntityIOOutput m_OnLostEnemy; // 0xe18 CEntityIOOutput m_OnLostPlayer; // 0xe40 CEntityIOOutput m_OnDamagedByPlayer; // 0xe68 CEntityIOOutput m_OnDamagedByPlayerSquad; // 0xe90 CEntityIOOutput m_OnPlayerUse; // 0xeb8 CEntityIOOutput m_OnUse; // 0xee0 CEntityIOOutput m_OnLostEnemyLOS; // 0xf08 CEntityIOOutput m_OnLostPlayerLOS; // 0xf30 CEntityIOOutput m_OnSleep; // 0xf58 CEntityIOOutput m_OnWake; // 0xf80 uint64_t m_nAITraceMask; // 0xfa8 int32_t m_nDebugCurIndex; // 0xfb0 struct { uint8_t m_bInvokingBehaviorIsCurTaskContinuousMove: 1; uint8_t m_bInvokingBehaviorIsValidEnemy: 1; uint8_t m_bInvokingBehaviorBestEnemy: 1; uint8_t m_bInvokingBehaviorShouldIgnoreSound: 1; uint8_t m_bInvokingBehaviorIsInterruptable: 1; uint8_t m_bInvokingBehaviorIsNavigationUrgent: 1; uint8_t m_bInvokingBehaviorOnTakeDamage_React_Alive: 1; uint8_t m_bInvokingBehaviorQueryHearSound: 1; uint8_t m_bInvokingBehaviorOnCalcBaseMove: 1; uint8_t m_bInvokingBehaviorFValidateHintType: 1; uint8_t m_bInvokingBehaviorShouldAlwaysThink: 1; uint8_t m_bInvokingBehaviorAimGun: 1; uint8_t __pad2: 4; // Autoaligned }; // 16 bits static CUtlSymbolLarge &Get_sm_iszPlayerSquad(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[0]->m_instance);}; static int32_t &Get_sm_nDebugBits(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[1]->m_instance);}; static int32_t &Get_sm_nDebugPauseIndex(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_BaseNPC")->m_static_fields[2]->m_instance);}; }; // Alignment: 1 // Size: 0xfc0 class CAI_TestHull : public CAI_BaseNPC { public: TestHullMode_t m_nHullMode; // 0xfb8 static CAI_TestHull* &Get_s_pTestHulls(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fields[0]->m_instance);}; static bool &Get_s_bTestHullAcquired(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_TestHull")->m_static_fields[1]->m_instance);}; }; // Alignment: 63 // Size: 0x1290 class CAI_DefaultNPC : public CAI_BaseNPC { public: CHandle< CBaseModelEntity > m_hFootSweep; // 0xfc0 Class_T m_nClassifyAs; // 0xfc4 bool m_bCurrentlySeePlayer; // 0xfc8 private: [[maybe_unused]] uint8_t __pad0fc9[0x3]; // 0xfc9 public: float m_flIgnoreDangerSoundsUntil; // 0xfcc Vector m_vInterruptSavePosition; // 0xfd0 Vector m_vSavePosition; // 0xfdc float m_flNextFlinchTime; // 0xfe8 float m_flLastHeavyDamageTime; // 0xfec float m_flLastLightDamageTime; // 0xff0 float m_flLastRepeatedDamageTime; // 0xff4 Flinch_DamageClasses_t m_nUpcomingFlinchClass; // 0xff8 Flinch_Direction_t m_nUpcomingFlinchDir; // 0xffc Flinch_Displacement_t m_nUpcomingFlinchDisplacement; // 0x1000 bool m_bFlinchingWithDisplacement; // 0x1004 private: [[maybe_unused]] uint8_t __pad1005[0x3]; // 0x1005 public: CUtlStringToken m_sAnimGraphFlinchFinishedTag; // 0x1008 float m_flDistTooFar; // 0x100c CEntityIOOutput m_OnForcedInteractionStarted; // 0x1010 CEntityIOOutput m_OnForcedInteractionAborted; // 0x1038 CEntityIOOutput m_OnForcedInteractionFinished; // 0x1060 CAI_DynamicInteractions* m_pDynamicInteractions; // 0x1088 private: [[maybe_unused]] uint8_t __pad1090[0x4]; // 0x1090 public: float m_flWaitAtPathCornerResumeTime; // 0x1094 private: [[maybe_unused]] uint8_t __pad1098[0x40]; // 0x1098 public: bool m_bAnimGraphHideUntilScriptStart; // 0x10d8 private: [[maybe_unused]] uint8_t __pad10d9[0x17]; // 0x10d9 public: float m_flOriginalYaw; // 0x10f0 bool m_bLatchedEyeCached; // 0x10f4 private: [[maybe_unused]] uint8_t __pad10f5[0x3]; // 0x10f5 public: Vector m_latchedEyeDirection; // 0x10f8 private: [[maybe_unused]] uint8_t __pad1104[0x4]; // 0x1104 public: // MNetworkEnable CAI_StanceServices* m_pStanceServices; // 0x1108 // MNetworkEnable // MNetworkTypeAlias "CAI_AbilityServices" // MNetworkChangeCallback "AbilityServicesChanged" CAI_AbilityServices* m_pAbilityServices; // 0x1110 float m_flSumDamage; // 0x1118 int32_t m_nDamagesInSum; // 0x111c float m_flLastSawPlayerTime; // 0x1120 private: [[maybe_unused]] uint8_t __pad1124[0x4]; // 0x1124 public: CUtlSymbolLarge m_strHintGroup; // 0x1128 private: [[maybe_unused]] uint8_t __pad1130[0x10]; // 0x1130 public: bool m_bInAScript; // 0x1140 private: [[maybe_unused]] uint8_t __pad1141[0x3]; // 0x1141 public: Interruptability_t m_nScriptedIgnoreConditions; // 0x1144 bool m_bFaceLookTarget; // 0x1148 bool m_bEnableRandomLookAts; // 0x1149 private: [[maybe_unused]] uint8_t __pad114a[0x2]; // 0x114a public: // MNetworkEnable CHandle< CBaseEntity > m_hServerRagdoll; // 0x114c float m_flTempRagdolledAt; // 0x1150 float m_flAutoUnragdollDuration; // 0x1154 float m_flAutoUnragdollTimer; // 0x1158 float m_flUnragdollTimeoutDuration; // 0x115c float m_flUnragdollTimeoutTimer; // 0x1160 Vector m_vecUnragdollLocation; // 0x1164 int32_t m_nSpawnAsRagdoll; // 0x1170 private: [[maybe_unused]] uint8_t __pad1174[0xc]; // 0x1174 public: CUtlVector< attached_item_t > m_vecAttachedItems; // 0x1180 bool m_bAvoidPlayerState; // 0x1198 bool m_bPerformAvoidance; // 0x1199 private: [[maybe_unused]] uint8_t __pad119a[0x2]; // 0x119a public: CHandle< CBaseEntity > m_hItem; // 0x119c CEntityOutputTemplate< CHandle< CBaseEntity > > m_OnFoundPlayer; // 0x11a0 CEntityIOOutput m_OnHearWorld; // 0x11c8 CEntityIOOutput m_OnHearPlayer; // 0x11f0 CEntityIOOutput m_OnHearCombat; // 0x1218 CEntityIOOutput m_OnUnragdollFinished; // 0x1240 CHandle< CBaseEntity > m_hObjectThrownAtMe; // 0x1268 CHandle< CBaseEntity > m_hObjectThrownAtMeThrower; // 0x126c // MNetworkEnable bool m_bPoweredRagdoll; // 0x1270 private: [[maybe_unused]] uint8_t __pad1271[0x3]; // 0x1271 public: // MNetworkEnable RagdollBlendDirection m_iPoweredRagdoll_TransitionDirection; // 0x1274 // MNetworkEnable float m_flPoweredRagdoll_TransitionStartTime; // 0x1278 Vector m_vecRagdollOffset; // 0x127c struct { uint8_t m_bInvokingBehaviorGetReasonableFacingDist: 1; uint8_t m_bInvokingBehaviorCanFlinch: 1; uint8_t m_bInvokingBehaviorCanRunAScriptedNPCInteraction: 1; uint8_t m_bInvokingBehaviorShouldAvoidPlayer: 1; uint8_t m_bInvokingBehaviorTacticalServicesModifyGoal: 1; uint8_t __pad3: 5; // Autoaligned }; // 10 bits }; // Alignment: 30 // Size: 0x1340 class CAI_TrackPather : public CAI_DefaultNPC { public: Vector m_vecDesiredPosition; // 0x1290 Vector m_vecGoalOrientation; // 0x129c CHandle< CPathTrack > m_pCurrentPathTarget; // 0x12a8 CHandle< CPathTrack > m_pDestPathTarget; // 0x12ac CHandle< CPathTrack > m_pLastPathTarget; // 0x12b0 CHandle< CPathTrack > m_pTargetNearestPath; // 0x12b4 CUtlSymbolLarge m_strCurrentPathName; // 0x12b8 CUtlSymbolLarge m_strDestPathName; // 0x12c0 CUtlSymbolLarge m_strLastPathName; // 0x12c8 CUtlSymbolLarge m_strTargetNearestPathName; // 0x12d0 Vector m_vecLastGoalCheckPosition; // 0x12d8 float m_flEnemyPathUpdateTime; // 0x12e4 bool m_bForcedMove; // 0x12e8 bool m_bPatrolling; // 0x12e9 bool m_bPatrolBreakable; // 0x12ea bool m_bLeading; // 0x12eb float m_flTargetDistanceThreshold; // 0x12ec float m_flAvoidDistance; // 0x12f0 float m_flTargetTolerance; // 0x12f4 Vector m_vecSegmentStartPoint; // 0x12f8 Vector m_vecSegmentStartSplinePoint; // 0x1304 bool m_bMovingForward; // 0x1310 bool m_bChooseFarthestPoint; // 0x1311 private: [[maybe_unused]] uint8_t __pad1312[0x2]; // 0x1312 public: float m_flFarthestPathDist; // 0x1314 float m_flPathMaxSpeed; // 0x1318 float m_flTargetDistFromPath; // 0x131c float m_flLeadDistance; // 0x1320 Vector m_vecTargetPathDir; // 0x1324 Vector m_vecTargetPathPoint; // 0x1330 CAI_TrackPather::PauseState_t m_nPauseState; // 0x133c }; // Alignment: 2 // Size: 0x12c8 class CAI_BasePhysicsFlyingBot : public CAI_DefaultNPC { public: CFlightComponent m_flight; // 0x1290 float m_fHeadYaw; // 0x12c0 }; // Alignment: 6 // Size: 0x12f8 class CNPC_Bullseye : public CAI_DefaultNPC { public: CHandle< CBaseEntity > m_hPainPartner; // 0x1290 private: [[maybe_unused]] uint8_t __pad1294[0x4]; // 0x1294 public: CEntityIOOutput m_OnTargeted; // 0x1298 CEntityIOOutput m_OnReleased; // 0x12c0 bool m_bPerfectAccuracy; // 0x12e8 private: [[maybe_unused]] uint8_t __pad12e9[0x3]; // 0x12e9 public: float m_fAutoaimRadius; // 0x12ec float m_flMinDistValidEnemy; // 0x12f0 }; // Alignment: 8 // Size: 0x1358 class CNPC_EnemyFinder : public CAI_DefaultNPC { public: int32_t m_nStartOn; // 0x1290 float m_flMinSearchDist; // 0x1294 float m_flMaxSearchDist; // 0x1298 private: [[maybe_unused]] uint8_t __pad129c[0x4]; // 0x129c public: CAI_FreePass m_PlayerFreePass; // 0x12a0 CSimpleSimTimer m_ChooseEnemyTimer; // 0x1300 bool m_bEnemyStatus; // 0x1304 private: [[maybe_unused]] uint8_t __pad1305[0x3]; // 0x1305 public: CEntityIOOutput m_OnLostEnemies; // 0x1308 CEntityIOOutput m_OnAcquireEnemies; // 0x1330 static CUtlSymbolLarge &Get_SCHED_EFINDER_SEARCH(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CNPC_EnemyFinder")->m_static_fields[0]->m_instance);}; }; // Alignment: 3 // Size: 0x12a0 class CNPC_Proxy : public CAI_DefaultNPC { public: CUtlSymbolLarge m_representedEntityName; // 0x1290 CHandle< CBaseEntity > m_hRepresentedEnt; // 0x1298 int32_t m_nPriority; // 0x129c }; // Alignment: 1 // Size: 0x1298 class CNPC_Appliance : public CAI_DefaultNPC { public: bool m_bDisabled; // 0x1290 }; // Alignment: 24 // Size: 0xbe0 class CBasePlayerController : public CBaseCombatCharacter { public: // MNetworkEnable // MNetworkPriority "1" // MNetworkUserGroup "LocalPlayerExclusive" uint32_t m_nTickBase; // 0xa60 private: [[maybe_unused]] uint8_t __pad0a64[0x2c]; // 0xa64 public: // MNetworkEnable // MNetworkChangeCallback "OnPawnChanged" CHandle< CBasePlayer > m_hPawn; // 0xa90 CSplitScreenSlot m_nSplitScreenSlot; // 0xa94 CHandle< CBasePlayerController > m_hSplitOwner; // 0xa98 private: [[maybe_unused]] uint8_t __pad0a9c[0x4]; // 0xa9c public: CUtlVector< CHandle< CBasePlayerController > > m_hSplitScreenPlayers; // 0xaa0 bool m_bIsHLTV; // 0xab8 private: [[maybe_unused]] uint8_t __pad0ab9[0x3]; // 0xab9 public: PlayerConnectedState m_iConnected; // 0xabc char m_iszPlayerName[128]; // 0xac0 CUtlString m_szNetworkIDString; // 0xb40 int32_t m_nUpdateRate; // 0xb48 float m_fLerpTime; // 0xb4c bool m_bLagCompensation; // 0xb50 bool m_bPredict; // 0xb51 bool m_bAutoKickDisabled; // 0xb52 bool m_bIsLowViolence; // 0xb53 bool m_bGamePaused; // 0xb54 private: [[maybe_unused]] uint8_t __pad0b55[0x4b]; // 0xb55 public: int32_t m_nHighestCommandNumberReceived; // 0xba0 private: [[maybe_unused]] uint8_t __pad0ba4[0x4]; // 0xba4 public: int64_t m_nUsecTimestampLastUserCmdReceived; // 0xba8 private: [[maybe_unused]] uint8_t __pad0bb0[0x10]; // 0xbb0 public: ChatIgnoreType_t m_iIgnoreGlobalChat; // 0xbc0 float m_flLastPlayerTalkTime; // 0xbc4 float m_flLastEntitySteadyState; // 0xbc8 int32_t m_nAvailableEntitySteadyState; // 0xbcc bool m_bHasAnySteadyStateEnts; // 0xbd0 private: [[maybe_unused]] uint8_t __pad0bd1[0x7]; // 0xbd1 public: uint64_t m_steamID; // 0xbd8 }; // Alignment: 28 // Size: 0xda0 class CBasePlayer : public CBasePlayerController { public: // MNetworkEnable CPlayer_WeaponServices* m_pWeaponServices; // 0xbe0 // MNetworkEnable CPlayer_ItemServices* m_pItemServices; // 0xbe8 // MNetworkEnable CPlayer_VehicleServices* m_pVehicleServices; // 0xbf0 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" CPlayer_AutoaimServices* m_pAutoaimServices; // 0xbf8 // MNetworkEnable CPlayer_ObserverServices* m_pObserverServices; // 0xc00 // MNetworkEnable CPlayer_WaterServices* m_pWaterServices; // 0xc08 // MNetworkEnable CPlayer_UseServices* m_pUseServices; // 0xc10 // MNetworkEnable CPlayer_FlashlightServices* m_pFlashlightServices; // 0xc18 // MNetworkEnable CPlayer_CameraServices* m_pCameraServices; // 0xc20 // MNetworkEnable CPlayer_MovementServices* m_pMovementServices; // 0xc28 private: [[maybe_unused]] uint8_t __pad0c30[0x8]; // 0xc30 public: uint64_t m_nButtons; // 0xc38 uint64_t m_afButtonPressed; // 0xc40 uint64_t m_afButtonReleased; // 0xc48 uint64_t m_afButtonLast; // 0xc50 uint64_t m_afButtonDisabled; // 0xc58 uint64_t m_afButtonForced; // 0xc60 private: [[maybe_unused]] uint8_t __pad0c68[0x50]; // 0xc68 public: uint64_t m_nOldButtons; // 0xcb8 int32_t m_nImpulse; // 0xcc0 QAngle v_angle; // 0xcc4 private: [[maybe_unused]] uint8_t __pad0cd0[0x10]; // 0xcd0 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" uint32_t m_iHideHUD; // 0xce0 private: [[maybe_unused]] uint8_t __pad0ce4[0x4]; // 0xce4 public: // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" sky3dparams_t m_skybox3d; // 0xce8 float m_fTimeLastHurt; // 0xd78 // MNetworkEnable // MNetworkUserGroup "LocalPlayerExclusive" float m_flDeathTime; // 0xd7c float m_fNextSuicideTime; // 0xd80 bool m_fInitHUD; // 0xd84 private: [[maybe_unused]] uint8_t __pad0d85[0x3]; // 0xd85 public: float m_flNextDecalTime; // 0xd88 bool deadflag; // 0xd8c private: [[maybe_unused]] uint8_t __pad0d8d[0x3]; // 0xd8d public: CAI_Expresser* m_pExpresser; // 0xd90 }; // Alignment: 14 // Size: 0x12f0 class CAI_BaseActor : public CAI_DefaultNPC { public: bool m_bCanBlink; // 0x1298 private: [[maybe_unused]] uint8_t __pad1299[0x3]; // 0x1299 public: float m_flBlinktime; // 0x129c CUtlSymbolLarge m_iszExpressionScene; // 0x12a0 CHandle< CBaseEntity > m_hExpressionSceneEnt; // 0x12a8 float m_flNextRandomExpressionTime; // 0x12ac CUtlSymbolLarge m_iszExpressionOverride; // 0x12b0 CUtlSymbolLarge m_iszIdleExpression; // 0x12b8 CUtlSymbolLarge m_iszAlertExpression; // 0x12c0 CUtlSymbolLarge m_iszCombatExpression; // 0x12c8 CUtlSymbolLarge m_iszDeathExpression; // 0x12d0 bool m_bRemarkablePolling; // 0x12d8 private: [[maybe_unused]] uint8_t __pad12d9[0x3]; // 0x12d9 public: float m_fNextRemarkPollTime; // 0x12dc bool m_bDontUseSemaphore; // 0x12e0 private: [[maybe_unused]] uint8_t __pad12e1[0x7]; // 0x12e1 public: CAI_Expresser* m_pExpresser; // 0x12e8 }; // Alignment: 15 // Size: 0x1520 class CAI_PlayerAlly : public CAI_BaseActor { public: CRR_Response m_PendingResponse; // 0x12f0 CUtlString m_PendingConcept; // 0x14e0 float m_TimePendingSet; // 0x14e8 CHandle< CBaseEntity > m_hTalkTarget; // 0x14ec float m_flNextRegenTime; // 0x14f0 float m_flTimePlayerStartStare; // 0x14f4 CHandle< CBaseEntity > m_hPotentialSpeechTarget; // 0x14f8 float m_flNextIdleSpeechTime; // 0x14fc int32_t m_iQARandomNumber; // 0x1500 CSimpleSimTimer m_ConceptCategoryTimers[3]; // 0x1504 CHandle< CAI_SpeechFilter > m_hSpeechFilter; // 0x1510 bool m_bGameEndAlly; // 0x1514 bool m_bCanSpeakWhileScripting; // 0x1515 private: [[maybe_unused]] uint8_t __pad1516[0x2]; // 0x1516 public: float m_flTimeLastRegen; // 0x1518 float m_flHealthAccumulator; // 0x151c static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_IDLE(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[0]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_ALERT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[1]->m_instance);}; static CUtlSymbolLarge &Get_SCHED_TALKER_SPEAK_PENDING_COMBAT(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[2]->m_instance);}; static CUtlSymbolLarge &Get_TASK_TALKER_SPEAK_PENDING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[3]->m_instance);}; static ConditionId_t &Get_COND_TALKER_CLIENTUNSEEN(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[4]->m_instance);}; static ConditionId_t &Get_COND_TALKER_PLAYER_DEAD(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[5]->m_instance);}; static ConditionId_t &Get_COND_TALKER_PLAYER_STARING(){return *reinterpret_cast(interfaces::g_schema->FindTypeScopeForModule("server.dll")->FindDeclaredClass("CAI_PlayerAlly")->m_static_fields[6]->m_instance);}; }; // Alignment: 4 // Size: 0x1308 class CGenericActor : public CAI_BaseActor { public: bool m_bWantsTeleportBuffer; // 0x12f0 private: [[maybe_unused]] uint8_t __pad12f1[0x7]; // 0x12f1 public: CUtlSymbolLarge m_strHullName; // 0x12f8 bool m_bActLikeAFlyer; // 0x1300 bool m_bIsFriendlyNPC; // 0x1301 }; // Alignment: 2 // Size: 0x12f8 class CNPC_Furniture : public CAI_BaseActor { public: bool m_bHasAnimatedFace; // 0x12f0 bool m_bFurniturePhysics; // 0x12f1 }; // Alignment: 0 // Size: 0x12f8 class CGhostSpeaker : public CNPC_Furniture { public: // No members available }; // Alignment: 21 // Size: 0xed0 class CSteamPal_Player : public CBasePlayer { public: // MNetworkEnable CHandle< CBaseEntity > m_hCursorHoverEntity; // 0xe28 CHandle< CBaseEntity > m_hCurrentUserTouchEntity; // 0xe2c Vector m_vCurrentUserTouchHitPoint; // 0xe30 Vector m_vCurrentScreenTouchPos; // 0xe3c bool m_bIsUserTouchActive; // 0xe48 private: [[maybe_unused]] uint8_t __pad0e49[0x3]; // 0xe49 public: CHandle< CSteamPal_TouchTarget > m_hCurrentTouchTarget; // 0xe4c bool m_bInFreecam; // 0xe50 private: [[maybe_unused]] uint8_t __pad0e51[0x3]; // 0xe51 public: Vector2D m_flCameraLookRangePitch; // 0xe54 Vector2D m_flCameraLookRangeYaw; // 0xe5c float m_flCameraLookSpeed; // 0xe64 float m_flCameraLookOffsetPitch; // 0xe68 float m_flCameraLookOffsetYaw; // 0xe6c private: [[maybe_unused]] uint8_t __pad0e70[0x8]; // 0xe70 public: Vector2D m_flCameraMoveRangeLR; // 0xe78 Vector2D m_flCameraMoveRangeFB; // 0xe80 float m_flCameraMoveSpeed; // 0xe88 float m_flCameraMoveOffsetLR; // 0xe8c float m_flCameraMoveOffsetFB; // 0xe90 private: [[maybe_unused]] uint8_t __pad0e94[0x1]; // 0xe94 public: // MNetworkEnable bool m_bMotionBlur; // 0xe95 private: [[maybe_unused]] uint8_t __pad0e96[0x2]; // 0xe96 public: // MNetworkEnable CUtlString m_strPlayerName; // 0xe98 // MNetworkEnable uint64_t m_uDamageCaused; // 0xea0 CEntityIOOutput m_OnScreenshotTaken; // 0xea8 };