← back apex · 3
Fresh Apex Legends dump. Signatures, RecvTables, DataMap, WeaponSettings. Netvar table pointer stashed at `0x9118140` — convars catalog reference at the bottom.

## Signatures

```cpp
struct signatures {
    inline static constexpr uintptr_t CHLClient               = 0x283ef48;
    inline static constexpr uintptr_t ClientState             = 0x1e56690;
    inline static constexpr uintptr_t EntityList              = 0x641a428;
    inline static constexpr uintptr_t InputSystem             = 0x1f0f700;
    inline static constexpr uintptr_t LevelName               = 0x1e56864;
    inline static constexpr uintptr_t LocalPlayer             = 0x26abff8;
    inline static constexpr uintptr_t ModelNames              = 0x1e7f9c0;
    inline static constexpr uintptr_t NameList                = 0x8e99ab0;
    inline static constexpr uintptr_t NetworkVarTablePtr      = 0x9118140;
    inline static constexpr uintptr_t SignonState             = 0x1e5674c;
    inline static constexpr uintptr_t ViewMatrix              = 0x11a390;
    inline static constexpr uintptr_t ViewRender              = 0x3f30868;
    inline static constexpr uintptr_t WeaponNames             = 0x3f33108;
    inline static constexpr uintptr_t WeaponSettingsMeta_base = 0x1b40;
    inline static constexpr uintptr_t camera_origin           = 0x1fbc;
    inline static constexpr uintptr_t cinput                  = 0x25727a0;
    inline static constexpr uintptr_t commandNumber           = 0x1e7f49c;
    inline static constexpr uintptr_t highlightSetting        = 0x6b87500;
    inline static constexpr uintptr_t lastVisibleTime         = 0x1a84;
    inline static constexpr uintptr_t localplayerHandle       = 0x253a070;
    inline static constexpr uintptr_t m_vecAbsOrigin          = 0x16c;
    inline static constexpr uintptr_t m_viewangle             = 0x25f8;
    inline static constexpr uintptr_t netChannel              = 0x1e566f0;
    inline static constexpr uintptr_t observerList            = 0x641c448;
    inline static constexpr uintptr_t observer_index          = 0x974;
    inline static constexpr uintptr_t studioHdr               = 0x1010;
};
```

## Buttons

```cpp
struct buttons {
    inline static constexpr uintptr_t attack              = 0x3f331a8;
    inline static constexpr uintptr_t backward            = 0x3f33ba0;
    inline static constexpr uintptr_t break_             = 0x3f33b58;
    inline static constexpr uintptr_t camin               = 0x9042520;
    inline static constexpr uintptr_t camout              = 0x8e9ac60;
    inline static constexpr uintptr_t campitchdown        = 0x8e9ac40;
    inline static constexpr uintptr_t campitchup          = 0x9042538;
    inline static constexpr uintptr_t camyawleft          = 0x8e9b510;
    inline static constexpr uintptr_t camyawright         = 0x8e9ac50;
    inline static constexpr uintptr_t commandermousemove  = 0x3f33128;
    inline static constexpr uintptr_t dodge               = 0x3f33aa0;
    inline static constexpr uintptr_t duck                = 0x3f33b38;
    inline static constexpr uintptr_t forward             = 0x3f33b78;
    inline static constexpr uintptr_t graph               = 0x3f33988;
    inline static constexpr uintptr_t jump                = 0x3f33a40;
    inline static constexpr uintptr_t klook               = 0x3f33148;
    inline static constexpr uintptr_t left                = 0x3f33a10;
    inline static constexpr uintptr_t lookdown            = 0x3f33a58;
    inline static constexpr uintptr_t lookup              = 0x3f33b48;
    inline static constexpr uintptr_t melee               = 0x3f33138;
    inline static constexpr uintptr_t movedown            = 0x3f339f0;
    inline static constexpr uintptr_t moveleft            = 0x3f33b68;
    inline static constexpr uintptr_t moveright           = 0x3f33b90;
    inline static constexpr uintptr_t moveup              = 0x3f33158;
    inline static constexpr uintptr_t offhand0            = 0x3f33168;
    inline static constexpr uintptr_t offhand1            = 0x3f33a00;
    inline static constexpr uintptr_t offhand2            = 0x3f33a90;
    inline static constexpr uintptr_t offhand3            = 0x3f33ad0;
    inline static constexpr uintptr_t offhand4            = 0x3f33b08;
    inline static constexpr uintptr_t pause_menu          = 0x3f33a20;
    inline static constexpr uintptr_t ping                = 0x3f33178;
    inline static constexpr uintptr_t reload              = 0x3f339a8;
    inline static constexpr uintptr_t right               = 0x3f33a30;
    inline static constexpr uintptr_t scriptCommand3      = 0x3f33978;
    inline static constexpr uintptr_t speed               = 0x3f33110;
    inline static constexpr uintptr_t strafe              = 0x3f339c0;
    inline static constexpr uintptr_t toggle_duck         = 0x3f33968;
    inline static constexpr uintptr_t toggle_zoom         = 0x3f33998;
    inline static constexpr uintptr_t use                 = 0x3f33ab0;
    inline static constexpr uintptr_t useAndReload        = 0x3f33b18;
    inline static constexpr uintptr_t use_alt             = 0x3f33958;
    inline static constexpr uintptr_t use_long            = 0x3f33b28;
    inline static constexpr uintptr_t variableScopeToggle = 0x3f339d8;
    inline static constexpr uintptr_t walk                = 0x3f33ae8;
    inline static constexpr uintptr_t weaponCycle         = 0x3f33a68;
    inline static constexpr uintptr_t weapon_discard      = 0x3f33af8;
    inline static constexpr uintptr_t zoom                = 0x3f33ac0;
};
```

## Base entity

```cpp
struct base_entity {
    inline static constexpr uintptr_t collision                  = 0x3b8;
    inline static constexpr uintptr_t collision_group            = 0x438;
    inline static constexpr uintptr_t cell_x                     = 0x48;
    inline static constexpr uintptr_t cell_y                     = 0x4c;
    inline static constexpr uintptr_t cell_z                     = 0x50;
    inline static constexpr uintptr_t clr_render                 = 0x80;
    inline static constexpr uintptr_t effects                    = 0x40;
    inline static constexpr uintptr_t fade_dist                  = 0x764;
    inline static constexpr uintptr_t local_angles               = 0x380;
    inline static constexpr uintptr_t local_origin               = 0x54;
    inline static constexpr uintptr_t model_index                = 0x60;
    inline static constexpr uintptr_t owner_entity               = 0x394;
    inline static constexpr uintptr_t team_num                   = 0x330;
    inline static constexpr uintptr_t name                       = 0x481;
    inline static constexpr uintptr_t signifier_name             = 0x478;
    inline static constexpr uintptr_t script_name_index          = 0x588;
    inline static constexpr uintptr_t networked_flags            = 0x2d0;
    inline static constexpr uintptr_t parent_attachment          = 0x20;
    inline static constexpr uintptr_t parent_attachment_model    = 0x758;
    inline static constexpr uintptr_t render_fx                  = 0x399;
    inline static constexpr uintptr_t render_mode                = 0x3a9;
    inline static constexpr uintptr_t render_with_view_models    = 0x398;
    inline static constexpr uintptr_t should_render_cloaked      = 0x3ac;
    inline static constexpr uintptr_t take_damage                = 0x6bc;
    inline static constexpr uintptr_t invulnerable_count         = 0x6c0;
    inline static constexpr uintptr_t highlight_settings         = 0x0;
    inline static constexpr uintptr_t highlight_generic_contexts = 0x295;
    inline static constexpr uintptr_t visibility_flags           = 0x328;
    inline static constexpr uintptr_t phase_shift_flags          = 0x6b8;
    inline static constexpr uintptr_t pass_through_flags         = 0x34c;
    inline static constexpr uintptr_t pass_through_direction     = 0x354;
    inline static constexpr uintptr_t pass_through_thickness     = 0x350;
    inline static constexpr uintptr_t death_velocity             = 0x358;
    inline static constexpr uintptr_t abs_origin                 = 0x16c;   // vecAbsOrigin
    inline static constexpr uintptr_t abs_velocity               = 0x160;
    inline static constexpr uintptr_t velocity                   = 0x374;
    inline static constexpr uintptr_t ang_velocity               = 0x148;
    inline static constexpr uintptr_t flags                      = 0xc8;
    inline static constexpr uintptr_t ground_entity              = 0x31c;
    inline static constexpr uintptr_t max_speed                  = 0x324;
    inline static constexpr uintptr_t exclusive_use_ent          = 0x620;
    inline static constexpr uintptr_t hold_use_prompt            = 0x610;
    inline static constexpr uintptr_t press_use_prompt           = 0x618;
    inline static constexpr uintptr_t usable_type                = 0x44;
    inline static constexpr uintptr_t usable_priority            = 0x828;
    inline static constexpr uintptr_t usable_fov                 = 0x830;
    inline static constexpr uintptr_t usable_distance_override   = 0x82c;
    inline static constexpr uintptr_t coordinate_frame           = 0x7d0;   // source native
    inline static constexpr uintptr_t rgfl_coordinate_frame      = 0x7d0;
};
```

## Highlight settings

```cpp
struct highlight_settings {
    inline static constexpr uintptr_t team_index       = 0x1d8;
    inline static constexpr uintptr_t team_bits        = 0x1e8;
    inline static constexpr uintptr_t generic_contexts = 0x295;
    inline static constexpr uintptr_t focused          = 0x29d;
    inline static constexpr uintptr_t fade_duration    = 0x2a0;
    inline static constexpr uintptr_t fade_parity      = 0x2a8;
};
```

## Base animating

```cpp
struct base_animating {
    inline static constexpr uintptr_t sequence_transitioner  = 0xb48;
    inline static constexpr uintptr_t anim_active            = 0x99c;
    inline static constexpr uintptr_t anim_collision_enabled = 0x99f;
    inline static constexpr uintptr_t anim_model_index       = 0x14;
    inline static constexpr uintptr_t anim_network_flags     = 0x998;
    inline static constexpr uintptr_t anim_playback_rate     = 0x10;
    inline static constexpr uintptr_t anim_frozen            = 0x1e;
    inline static constexpr uintptr_t anim_relative_data     = 0x9a4;
    inline static constexpr uintptr_t body                   = 0xd84;
    inline static constexpr uintptr_t skin                   = 0xd78;
    inline static constexpr uintptr_t skin_mod               = 0xd7c;
    inline static constexpr uintptr_t model_scale            = 0xe38;
    inline static constexpr uintptr_t force_bone             = 0xdc8;
    inline static constexpr uintptr_t camo_index             = 0xd88;
    inline static constexpr uintptr_t pose_parameter         = 0x2c;
    inline static constexpr uintptr_t est_ik_offset          = 0x8c;
    inline static constexpr uintptr_t sequence_finished      = 0xe2c;
    inline static constexpr uintptr_t item_flavor_guid       = 0xd6c;
    inline static constexpr uintptr_t locked_anim_delta_yaw  = 0xe30;
    inline static constexpr uintptr_t predicted_anim_event   = 0xa98;
    inline static constexpr uintptr_t vec_force              = 0x20;
    inline static constexpr uintptr_t client_side_ragdoll    = 0x1f;
    inline static constexpr uintptr_t pass_damage_to_parent  = 0x6c4;
};
```

## Base combat character

```cpp
struct base_combat_character {
    inline static constexpr uintptr_t shield_health              = 0x190;
    inline static constexpr uintptr_t shield_health_max          = 0x194;
    inline static constexpr uintptr_t view_offset_x              = 0x34;
    inline static constexpr uintptr_t view_offset_y              = 0x38;
    inline static constexpr uintptr_t view_offset_z              = 0x3c;
    inline static constexpr uintptr_t team_member_index          = 0x338;
    inline static constexpr uintptr_t squad_id                   = 0x33c;
    inline static constexpr uintptr_t death_velocity             = 0x358;
    inline static constexpr uintptr_t selected_weapons           = 0x19e0;
    inline static constexpr uintptr_t latest_primary_weapons     = 0x19e4;
    inline static constexpr uintptr_t latest_primary_zero_or_one = 0x19ec;
    inline static constexpr uintptr_t latest_non_offhand_weapons = 0x19f4;
    inline static constexpr uintptr_t last_cycle_slot            = 0x19fc;
    inline static constexpr uintptr_t last_fired_time            = 0x1950;
    inline static constexpr uintptr_t last_fired_weapon          = 0x1954;
    inline static constexpr uintptr_t weapon_permission          = 0x1a04;
    inline static constexpr uintptr_t weapon_delay_enable_time   = 0x1a08;
    inline static constexpr uintptr_t weapon_disabled_flags      = 0x1a69;
    inline static constexpr uintptr_t weapon_slot_locked_flags   = 0x1a6a;
    inline static constexpr uintptr_t weapon_type_disabled_flags = 0x1a6c;
    inline static constexpr uintptr_t akimbo_state               = 0x1a80;
    inline static constexpr uintptr_t akimbo_should_alt_fire     = 0x1a81;
    inline static constexpr uintptr_t context_action             = 0x1a94;
    inline static constexpr uintptr_t phase_shift_type           = 0x1ac0;
    inline static constexpr uintptr_t phase_shift_time_start     = 0x1ac4;
    inline static constexpr uintptr_t phase_shift_time_end       = 0x1ac8;
    inline static constexpr uintptr_t cloak_end_time             = 0x1bc;
    inline static constexpr uintptr_t cloak_fade_in_end_time     = 0x1c0;
    inline static constexpr uintptr_t cloak_fade_out_start_time  = 0x1c4;
    inline static constexpr uintptr_t cloak_fade_in_duration     = 0x1c8;
    inline static constexpr uintptr_t cloak_flicker_amount       = 0x1cc;
    inline static constexpr uintptr_t cloak_flicker_end_time     = 0x1d0;
    inline static constexpr uintptr_t target_info_ping_value     = 0x1c60;
    inline static constexpr uintptr_t player_overheating         = 0x1930;
    inline static constexpr uintptr_t player_overheat_value      = 0x1934;
    inline static constexpr uintptr_t shared_energy              = 0x195c;
    inline static constexpr uintptr_t shared_energy_max          = 0x1960;
    inline static constexpr uintptr_t shared_energy_regen_rate   = 0x196c;
    inline static constexpr uintptr_t minimap_data               = 0x848;
    inline static constexpr uintptr_t name_visibility_flags      = 0x898;
};
```

## Player

The main class — everything hangs off this. `m_iHealth` / `m_iMaxHealth` inherited from `base_combat_character`. Zoom base frac at `0x1cd8` is what you want for scope aim smoothing.

```cpp
struct player {
    inline static constexpr uintptr_t health                     = 0x320;
    inline static constexpr uintptr_t max_health                 = 0x470;
    inline static constexpr uintptr_t life_state                 = 0x698;
    inline static constexpr uintptr_t abs_origin                 = 0x4;      // vecAbsOrigin
    inline static constexpr uintptr_t vec_velocity               = 0x374;
    inline static constexpr uintptr_t ground_entity              = 0x31c;
    inline static constexpr uintptr_t flags                      = 0xc8;
    inline static constexpr uintptr_t buttons                    = 0x2a74;   // nButtons
    inline static constexpr uintptr_t buttons_pressed            = 0x2a6c;
    inline static constexpr uintptr_t buttons_released           = 0x2a70;
    inline static constexpr uintptr_t buttons_last               = 0x2a68;

    inline static constexpr uintptr_t local_data                 = 0x1e78;   // m_Local
    inline static constexpr uintptr_t player_state               = 0x2588;   // pl
    inline static constexpr uintptr_t shared                     = 0x4578;   // m_Shared

    inline static constexpr uintptr_t stand_hull_min             = 0x2ae4;
    inline static constexpr uintptr_t stand_hull_max             = 0x2af0;
    inline static constexpr uintptr_t duck_hull_min              = 0x2afc;
    inline static constexpr uintptr_t duck_hull_max              = 0x2b08;
    inline static constexpr uintptr_t duck_state                 = 0x2ad8;
    inline static constexpr uintptr_t can_stand                  = 0x2ae1;
    inline static constexpr uintptr_t lean_state                 = 0x2adc;

    inline static constexpr uintptr_t is_sprinting               = 0x2a8c;
    inline static constexpr uintptr_t is_walking                 = 0x2a8d;
    inline static constexpr uintptr_t auto_sprint_forced         = 0x2a88;
    inline static constexpr uintptr_t last_sprint_press_time     = 0x2a98;
    inline static constexpr uintptr_t sprint_started_time        = 0x2aa4;
    inline static constexpr uintptr_t sprint_ended_time          = 0x2aac;
    inline static constexpr uintptr_t movement_disabled_count    = 0x2a90;

    inline static constexpr uintptr_t up_dir                     = 0x2b18;
    inline static constexpr uintptr_t traversal_state            = 0x2b9c;
    inline static constexpr uintptr_t traversal_type             = 0x2ba0;
    inline static constexpr uintptr_t wall_hanging               = 0x2c29;
    inline static constexpr uintptr_t wall_climb_set_up          = 0x2c28;

    inline static constexpr uintptr_t view_models                = 0x2e0c;
    inline static constexpr uintptr_t anim_view_entity           = 0x2e60;
    inline static constexpr uintptr_t view_offset_entity         = 0x2e20;
    inline static constexpr uintptr_t turret                     = 0x2e08;

    inline static constexpr uintptr_t inventory                  = 0x1978;
    inline static constexpr uintptr_t ammo_pool_capacity         = 0x260c;
    inline static constexpr uintptr_t selected_offhands          = 0x19f6;
    inline static constexpr uintptr_t pilot_class_index          = 0x45c8;

    inline static constexpr uintptr_t zooming                    = 0x1cd1;
    inline static constexpr uintptr_t zoom_toggle_on_start_time  = 0x1cd4;
    inline static constexpr uintptr_t zoom_base_frac             = 0x1cd8;
    inline static constexpr uintptr_t zoom_base_time             = 0x1cdc;
    inline static constexpr uintptr_t zoom_full_start_time       = 0x1ce0;

    inline static constexpr uintptr_t grapple                    = 0x2d30;
    inline static constexpr uintptr_t grapple_active             = 0x2db8;
    inline static constexpr uintptr_t grapple_detach_time        = 0x2dbc;
    inline static constexpr uintptr_t grapple_hook               = 0x3804;
    inline static constexpr uintptr_t pet_titan                  = 0x3808;

    inline static constexpr uintptr_t active_zipline             = 0x2f4c;
    inline static constexpr uintptr_t zipline_state              = 0x2f5c;

    inline static constexpr uintptr_t skydive_state              = 0x48c4;
    inline static constexpr uintptr_t skydive_is_diving          = 0x48e0;
    inline static constexpr uintptr_t skydive_speed              = 0x48e4;
    inline static constexpr uintptr_t skydive_dive_angle         = 0x48dc;
    inline static constexpr uintptr_t skydive_player_pitch       = 0x48fc;
    inline static constexpr uintptr_t skydive_player_yaw         = 0x4900;
    inline static constexpr uintptr_t skydive_from_skyward       = 0x493d;

    inline static constexpr uintptr_t skyward_launch_state       = 0x4954;
    inline static constexpr uintptr_t skyward_offset             = 0x4988;
    inline static constexpr uintptr_t skyward_weapons_enabled    = 0x49a8;

    inline static constexpr uintptr_t glide_meter                = 0x3050;
    inline static constexpr uintptr_t extra_shield_health        = 0x3028;
    inline static constexpr uintptr_t extra_shield_tier          = 0x302c;
    inline static constexpr uintptr_t temp_shield_health         = 0x3024;
    inline static constexpr uintptr_t shadow_shield_active       = 0x3020;

    inline static constexpr uintptr_t bleedout_state             = 0x27d8;
    inline static constexpr uintptr_t bleedout_start_time        = 0x27dc;
    inline static constexpr uintptr_t drag_revive_state          = 0x4a40;
    inline static constexpr uintptr_t drag_revive_outro_start    = 0x4a44;
    inline static constexpr uintptr_t revive_target              = 0x4a48;

    inline static constexpr uintptr_t death_time                 = 0x36ec;
    inline static constexpr uintptr_t ragdoll_creation_origin    = 0x36f0;
    inline static constexpr uintptr_t ragdoll_creation_yaw       = 0x36fc;

    inline static constexpr uintptr_t player_flags               = 0x3344;
    inline static constexpr uintptr_t player_move_speed_scale    = 0x3350;
    inline static constexpr uintptr_t last_dodge_time            = 0x3738;
    inline static constexpr uintptr_t last_move_input_time       = 0x3c9c;
    inline static constexpr uintptr_t last_time_killed_other     = 0x4b88;

    inline static constexpr uintptr_t launch_count               = 0x31d8;
    inline static constexpr uintptr_t launcher_air_control       = 0x31dc;
    inline static constexpr uintptr_t last_launch_trigger        = 0x31d0;

    inline static constexpr uintptr_t armor_type                 = 0x4860;
    inline static constexpr uintptr_t helmet_type                = 0x485c;
    inline static constexpr uintptr_t controller_mode_active     = 0x4868;
    inline static constexpr uintptr_t device_form                = 0x4870;
    inline static constexpr uintptr_t has_mic                    = 0x334c;
    inline static constexpr uintptr_t communications_blocked     = 0x334e;
    inline static constexpr uintptr_t hardware                   = 0x2618;
    inline static constexpr uintptr_t platform_user_id           = 0x2620;
    inline static constexpr uintptr_t nucleus_id                 = 0x2628;
    inline static constexpr uintptr_t cross_play_chat            = 0x2630;
    inline static constexpr uintptr_t xp                         = 0x3830;
    inline static constexpr uintptr_t skill_mu                   = 0x3838;
    inline static constexpr uintptr_t has_match_admin_role       = 0x383c;

    // engine/native
    inline static constexpr uintptr_t skyCameraHandle            = 0x84;     // source native (m_hSkyCamera)
    inline static constexpr uintptr_t maxspeed                   = 0x324;    // source native
    inline static constexpr uintptr_t observer_target            = 0x0;
};
```

## Local player state

Big m_Local struct — camera / jetpack / punch / audio. Keep this handy for movement and view-punch reads.

```cpp
struct local {
    inline static constexpr uintptr_t hide_hud                   = 0x14;
    inline static constexpr uintptr_t super_jumps_used           = 0x18;
    inline static constexpr uintptr_t last_mantle_boost_time     = 0x24;
    inline static constexpr uintptr_t jump_press_time            = 0x28;
    inline static constexpr uintptr_t prev_jump_press_time       = 0x2c;
    inline static constexpr uintptr_t jetpack_activate_time      = 0x30;
    inline static constexpr uintptr_t jetpack_deactivate_time    = 0x34;
    inline static constexpr uintptr_t suit_power                 = 0x38;
    inline static constexpr uintptr_t suit_jump_power            = 0x3c;
    inline static constexpr uintptr_t suit_grapple_power         = 0x40;
    inline static constexpr uintptr_t fall_velocity              = 0x44;
    inline static constexpr uintptr_t step_size                  = 0x48;
    inline static constexpr uintptr_t predictable_flags          = 0x50;
    inline static constexpr uintptr_t bits_active_devices        = 0x54;
    inline static constexpr uintptr_t force_stance               = 0x58;
    inline static constexpr uintptr_t force_slide                = 0x5c;
    inline static constexpr uintptr_t bDrawViewmodel             = 0x5f;
    inline static constexpr uintptr_t bAllowAutoMovement         = 0x60;
    inline static constexpr uintptr_t accel_scale                = 0x64;
    inline static constexpr uintptr_t power_regen_rate_scale     = 0x68;
    inline static constexpr uintptr_t dodge_power_delay_scale    = 0x6c;
    inline static constexpr uintptr_t objective_index            = 0x1d8;
    inline static constexpr uintptr_t objective_entity           = 0x1dc;
    inline static constexpr uintptr_t objective_end_time         = 0x1e0;
    inline static constexpr uintptr_t cinematic_event_flags      = 0x1e4;
    inline static constexpr uintptr_t forced_dialogue_only       = 0x1e8;
    inline static constexpr uintptr_t titan_build_time           = 0x1ec;
    inline static constexpr uintptr_t titan_bubble_shield_time   = 0x1f0;
    inline static constexpr uintptr_t titan_embark_enabled       = 0x1f4;
    inline static constexpr uintptr_t titan_disembark_enabled    = 0x1f5;
    inline static constexpr uintptr_t voice_pack_index           = 0x1f8;

    // player anim data
    inline static constexpr uintptr_t anim_stationary_feet_yaw   = 0x1fc;
    inline static constexpr uintptr_t anim_jumping               = 0x200;
    inline static constexpr uintptr_t anim_jump_start_time       = 0x204;
    inline static constexpr uintptr_t anim_first_jump_frame      = 0x208;
    inline static constexpr uintptr_t anim_dodging               = 0x209;
    inline static constexpr uintptr_t anim_jump_activity         = 0x20a;
    inline static constexpr uintptr_t anim_landing               = 0x20c;
    inline static constexpr uintptr_t anim_should_land           = 0x20d;
    inline static constexpr uintptr_t anim_land_start_time       = 0x210;
    inline static constexpr uintptr_t anim_in_air_walk           = 0x214;
    inline static constexpr uintptr_t anim_prev_yaw              = 0x218;
    inline static constexpr uintptr_t anim_melee_parity          = 0x21c;
    inline static constexpr uintptr_t anim_melee_start_time      = 0x220;

    // local gravity
    inline static constexpr uintptr_t gravity_line_start         = 0x2a0;
    inline static constexpr uintptr_t gravity_line_end           = 0x2ac;
    inline static constexpr uintptr_t gravity_entity             = 0x2b8;
    inline static constexpr uintptr_t gravity_line_start_ent     = 0x2bc;
    inline static constexpr uintptr_t gravity_line_end_ent       = 0x2c0;
    inline static constexpr uintptr_t gravity_type               = 0x290;
    inline static constexpr uintptr_t gravity_strength           = 0x28c;

    // world / physics
    inline static constexpr uintptr_t ground_normal              = 0x2d4;
    inline static constexpr uintptr_t use_ent                    = 0x2e4;
    inline static constexpr uintptr_t continuous_use_blocked     = 0x2e0;
    inline static constexpr uintptr_t wallrun_from_jetpack       = 0x2d0;

    // audio / skybox — source native
    inline static constexpr uintptr_t sky_camera                 = 0x84;
    inline static constexpr uintptr_t audio_soundscape_index     = 0x138;
    inline static constexpr uintptr_t audio_local_bits           = 0x13c;
    inline static constexpr uintptr_t audio_ent_index            = 0x140;
    inline static constexpr uintptr_t attacked_count             = 0x164;
    inline static constexpr uintptr_t last_attacker              = 0x160;
    inline static constexpr uintptr_t skybox_scale               = 0x88;
    inline static constexpr uintptr_t skybox_use_world_fog       = 0x8c;
};
```

## View model

```cpp
struct base_view_model {
    inline static constexpr uintptr_t model_index                = 0x60;
    inline static constexpr uintptr_t body                       = 0xd84;
    inline static constexpr uintptr_t model_scale                = 0xe38;
    inline static constexpr uintptr_t anim_model_index           = 0x14;
    inline static constexpr uintptr_t anim_playback_rate         = 0x10;
    inline static constexpr uintptr_t anim_start_time            = 0x8;
    inline static constexpr uintptr_t anim_start_cycle           = 0xc;
    inline static constexpr uintptr_t anim_sequence              = 0x1c;
    inline static constexpr uintptr_t anim_frozen                = 0x1e;
    inline static constexpr uintptr_t sequence_finished          = 0xe2c;
    inline static constexpr uintptr_t reset_events_start_time    = 0xd90;
    inline static constexpr uintptr_t fire_deferred_stops_time   = 0xd98;
    inline static constexpr uintptr_t weapon                     = 0x1f54;
    inline static constexpr uintptr_t view_model_owner           = 0x19b0;
    inline static constexpr uintptr_t projectile_is_visible      = 0x19b4;
    inline static constexpr uintptr_t is_ads_transition          = 0x1f51;
    inline static constexpr uintptr_t block_event_layer          = 0x1f50;
    inline static constexpr uintptr_t attack_event_start_time    = 0x1f5c;
    inline static constexpr uintptr_t event_sound_fade_start     = 0x1f60;
    inline static constexpr uintptr_t next_fidget_time           = 0x1f64;
    inline static constexpr uintptr_t tracer_attachments         = 0x1f58;
    inline static constexpr uintptr_t tracer_attachments_scoped  = 0x1f5a;
    inline static constexpr uintptr_t overlay_event_parity       = 0x1701;
    inline static constexpr uintptr_t effects                    = 0x40;
    inline static constexpr uintptr_t clr_render                 = 0x80;
    inline static constexpr uintptr_t render_mode                = 0x3a9;
};
```

## Weapon (C_WeaponX)

Runtime weapon state. Ammo, fire timings, mods, scripted values, sustained-discharge tracking.

```cpp
struct weapon {
    inline static constexpr uintptr_t weapon_owner                = 0x15f0;
    inline static constexpr uintptr_t world_model_index_override  = 0x1604;
    inline static constexpr uintptr_t world_model_index           = 0x1608;
    inline static constexpr uintptr_t holster_model_index         = 0x160c;
    inline static constexpr uintptr_t dropped_model_index         = 0x1610;
    inline static constexpr uintptr_t ideal_sequence              = 0x1614;
    inline static constexpr uintptr_t ideal_activity              = 0x1616;
    inline static constexpr uintptr_t weapon_activity             = 0x1618;
    inline static constexpr uintptr_t active_state                = 0x161c;
    inline static constexpr uintptr_t ammo_in_clip                = 0x1620;
    inline static constexpr uintptr_t ammo_in_stockpile           = 0x1624;
    inline static constexpr uintptr_t lifetime_shots              = 0x162c;
    inline static constexpr uintptr_t idle_time                   = 0x1630;
    inline static constexpr uintptr_t weap_state                  = 0x1634;
    inline static constexpr uintptr_t discarded                   = 0x1639;
    inline static constexpr uintptr_t in_reload                   = 0x163a;
    inline static constexpr uintptr_t toss_release                = 0x1640;
    inline static constexpr uintptr_t offhand_switch_slot         = 0x1644;
    inline static constexpr uintptr_t energize_state              = 0x1648;
    inline static constexpr uintptr_t last_energize_state         = 0x1649;
    inline static constexpr uintptr_t energized_end_time          = 0x1650;
    inline static constexpr uintptr_t heat_value                  = 0x1654;
    inline static constexpr uintptr_t heat_on_last_fire           = 0x1658;
    inline static constexpr uintptr_t fully_heated                = 0x165c;
    inline static constexpr uintptr_t custom_activity             = 0x165e;
    inline static constexpr uintptr_t custom_activity_sequence    = 0x1660;
    inline static constexpr uintptr_t custom_activity_owner       = 0x1664;
    inline static constexpr uintptr_t custom_activity_end_time    = 0x1668;
    inline static constexpr uintptr_t custom_activity_flags       = 0x166c;
    inline static constexpr uintptr_t skin_override               = 0x1768;
    inline static constexpr uintptr_t skin_override_is_valid      = 0x176c;
    inline static constexpr uintptr_t charge_time                 = 0x1114;
    inline static constexpr uintptr_t charge_end_time             = 0x1774;
    inline static constexpr uintptr_t charge_start_time           = 0x1770;
    inline static constexpr uintptr_t charge_cooldown_end         = 0x1788;
    inline static constexpr uintptr_t last_charge_frac            = 0x1778;
    inline static constexpr uintptr_t last_charge_level           = 0x1790;
    inline static constexpr uintptr_t last_fully_charged          = 0x1794;
    inline static constexpr uintptr_t burst_fire_count            = 0x17a0;
    inline static constexpr uintptr_t burst_fire_index            = 0x17a4;
    inline static constexpr uintptr_t shot_count                  = 0x17ac;
    inline static constexpr uintptr_t shot_index_for_spread       = 0x17a8;
    inline static constexpr uintptr_t mod_bitfield_current        = 0x17d4;
    inline static constexpr uintptr_t mod_bitfield_from_player    = 0x17bc;
    inline static constexpr uintptr_t mod_bitfield_internal       = 0x17c8;
    inline static constexpr uintptr_t mod_bitfield_disabled       = 0x17e0;
    inline static constexpr uintptr_t pending_mod_index           = 0x182c;
    inline static constexpr uintptr_t has_pending_mod             = 0x1830;
    inline static constexpr uintptr_t cur_shared_energy_cost      = 0x1834;
    inline static constexpr uintptr_t grapple_needs_dryfire       = 0x1838;
    inline static constexpr uintptr_t script_float_0              = 0x183c;
    inline static constexpr uintptr_t script_vector               = 0x1860;
    inline static constexpr uintptr_t player_data                 = 0x1670;
    inline static constexpr uintptr_t sustained_discharge_end     = 0x17b0;
    inline static constexpr uintptr_t sustained_discharge_primary = 0x17b8;
    inline static constexpr uintptr_t sustained_laser_spread      = 0x17b4;
    inline static constexpr uintptr_t next_primary_attack_time    = 0x15fc;
    inline static constexpr uintptr_t last_primary_attack_time    = 0x15f4;
    inline static constexpr uintptr_t attack_time_this_frame      = 0x1600;
    inline static constexpr uintptr_t next_ready_time             = 0x15f8;
    inline static constexpr uintptr_t weapon_activelyFiring       = 0x3254;
    inline static constexpr uintptr_t weapon_is_charging          = 0x178d;
    inline static constexpr uintptr_t is_removeable               = 0x3144;
    inline static constexpr uintptr_t emissive_event_data         = 0x1878;

    inline static constexpr uintptr_t next_think_tick             = 0x46c;   // source native
    inline static constexpr uintptr_t sequence_transitioner       = 0xb48;   // source native
};
```

## Weapon (per-player data)

The `player_data` block attached to `weapon` above — spread, kick, zoom-fov, charm, chargeanim.

```cpp
struct weapon_player_data {
    inline static constexpr uintptr_t move_spread              = 0x8;
    inline static constexpr uintptr_t spread_start_time        = 0xc;
    inline static constexpr uintptr_t spread_start_frac_hip    = 0x10;
    inline static constexpr uintptr_t spread_start_frac_ads    = 0x14;
    inline static constexpr uintptr_t kick_spread_hipfire      = 0x18;
    inline static constexpr uintptr_t kick_spread_ads          = 0x1c;
    inline static constexpr uintptr_t kick_time                = 0x20;
    inline static constexpr uintptr_t kick_scale_base_pitch    = 0x24;
    inline static constexpr uintptr_t kick_scale_base_yaw      = 0x28;
    inline static constexpr uintptr_t kick_pattern_scale_base  = 0x2c;
    inline static constexpr uintptr_t kick_heat_base_time      = 0x30;
    inline static constexpr uintptr_t kick_heat_base_value     = 0x34;
    inline static constexpr uintptr_t semi_trigger_hold_time   = 0x38;
    inline static constexpr uintptr_t fast_holster_scale       = 0x3c;
    inline static constexpr uintptr_t semi_trigger_down        = 0x40;
    inline static constexpr uintptr_t pending_trigger_pull     = 0x41;
    inline static constexpr uintptr_t secondary_attack_req     = 0x42;
    inline static constexpr uintptr_t charge_debounce          = 0x43;
    inline static constexpr uintptr_t semi_needs_rechamber     = 0x44;
    inline static constexpr uintptr_t pending_reload_attempt   = 0x45;
    inline static constexpr uintptr_t offhand_hybrid_normal    = 0x46;
    inline static constexpr uintptr_t pending_hybrid_toss      = 0x47;
    inline static constexpr uintptr_t fast_holster             = 0x48;
    inline static constexpr uintptr_t did_first_deploy         = 0x49;
    inline static constexpr uintptr_t should_catch             = 0x4a;
    inline static constexpr uintptr_t clip_model_hidden        = 0x4b;
    inline static constexpr uintptr_t seg_reload_end_seq_req   = 0x4c;
    inline static constexpr uintptr_t reload_started_empty     = 0x4d;
    inline static constexpr uintptr_t seg_started_one_handed   = 0x4e;
    inline static constexpr uintptr_t seg_started_akimbo       = 0x4f;
    inline static constexpr uintptr_t seg_can_restart_loop     = 0x50;
    inline static constexpr uintptr_t seg_loop_fire_locked     = 0x51;
    inline static constexpr uintptr_t realtime_mod_cmds        = 0x52;
    inline static constexpr uintptr_t realtime_mod_head        = 0x5a;
    inline static constexpr uintptr_t realtime_mod_count       = 0x5b;
    inline static constexpr uintptr_t realtime_mod_can_ads     = 0x5c;
    inline static constexpr uintptr_t custom_act_model_idx     = 0x60;
    inline static constexpr uintptr_t custom_act_attach_id     = 0x64;
    inline static constexpr uintptr_t fire_rate_start_time     = 0x68;
    inline static constexpr uintptr_t fire_rate_start_frac     = 0x6c;
    inline static constexpr uintptr_t fire_rate_stop_time      = 0x70;
    inline static constexpr uintptr_t fire_rate_stop_frac      = 0x74;
    inline static constexpr uintptr_t charge_anim_index        = 0x78;
    inline static constexpr uintptr_t charge_anim_index_old    = 0x7c;
    inline static constexpr uintptr_t proscreen_owner          = 0x80;
    inline static constexpr uintptr_t proscreen_int0           = 0x84;
    inline static constexpr uintptr_t proscreen_int1           = 0x88;
    inline static constexpr uintptr_t proscreen_int2           = 0x8c;
    inline static constexpr uintptr_t proscreen_float0         = 0x90;
    inline static constexpr uintptr_t proscreen_float1         = 0x94;
    inline static constexpr uintptr_t proscreen_float2         = 0x98;
    inline static constexpr uintptr_t reload_milestone         = 0x9c;
    inline static constexpr uintptr_t rechamber_milestone      = 0xa0;
    inline static constexpr uintptr_t cooldown_milestone       = 0xa4;
    inline static constexpr uintptr_t prev_seq_weight          = 0xa8;
    inline static constexpr uintptr_t full_reload_start        = 0xac;
    inline static constexpr uintptr_t script_time_0            = 0xb0;
    inline static constexpr uintptr_t script_time_1            = 0xb4;
    inline static constexpr uintptr_t script_flags_0           = 0xb8;
    inline static constexpr uintptr_t script_int0              = 0xbc;
    inline static constexpr uintptr_t script_int1              = 0xbe;
    inline static constexpr uintptr_t cur_zoom_fov             = 0xc0;
    inline static constexpr uintptr_t target_zoom_fov          = 0xc4;
    inline static constexpr uintptr_t zoom_fov_lerp_time       = 0xc8;
    inline static constexpr uintptr_t zoom_fov_lerp_end_time   = 0xcc;
    inline static constexpr uintptr_t latest_dryfire_time      = 0xd0;
    inline static constexpr uintptr_t req_attack_end_time      = 0xd4;
    inline static constexpr uintptr_t current_alt_fire_anim    = 0xd8;
    inline static constexpr uintptr_t legendary_model_idx      = 0xdc;
    inline static constexpr uintptr_t charm_model_idx          = 0xe0;
    inline static constexpr uintptr_t charm_attachment         = 0xe4;
    inline static constexpr uintptr_t charm_item_flavor_guid   = 0xe8;
    inline static constexpr uintptr_t akimbo_disabled          = 0xec;
};
```

## Grenades / projectiles

```cpp
struct base_grenade {
    inline static constexpr uintptr_t dmg_radius        = 0x2fc4;
    inline static constexpr uintptr_t status_flags      = 0x2fd8;
    inline static constexpr uintptr_t does_explode      = 0x2fdc;
    inline static constexpr uintptr_t take_damage       = 0x6bc;
    inline static constexpr uintptr_t invulnerable_cnt  = 0x6c0;
    inline static constexpr uintptr_t creation_time     = 0x2fc8;   // CBaseGrenade
    inline static constexpr uintptr_t creation_origin   = 0x2fcc;
    inline static constexpr uintptr_t damage            = 0x3060;
    inline static constexpr uintptr_t thrower           = 0x3064;
    inline static constexpr uintptr_t use_mask_ability  = 0x2fdd;
    inline static constexpr uintptr_t velocity          = 0x374;
    inline static constexpr uintptr_t parent_attachment = 0x20;
    inline static constexpr uintptr_t zipline_end_pos   = 0x3040;
};

struct missile {
    inline static constexpr uintptr_t specific_target     = 0x3014;
    inline static constexpr uintptr_t target_position     = 0x3024;
    inline static constexpr uintptr_t use_target_position = 0x3030;
};

struct crossbow_bolt {
    inline static constexpr uintptr_t bounce_count       = 0x2fb0;
    inline static constexpr uintptr_t max_bounce_count   = 0x2fb4;
    inline static constexpr uintptr_t does_grow          = 0x2fb8;
    inline static constexpr uintptr_t grow_start_size    = 0x2fc0;
    inline static constexpr uintptr_t grow_stage1_tick   = 0x2fc4;
    inline static constexpr uintptr_t grow_stage1_size   = 0x2fc8;
    inline static constexpr uintptr_t grow_stage2_tick   = 0x2fcc;
    inline static constexpr uintptr_t grow_stage2_size   = 0x2fd0;
    inline static constexpr uintptr_t grow_final_tick    = 0x2fd4;
    inline static constexpr uintptr_t grow_final_size    = 0x2fd8;
};
```

## Vehicle (driver-exclusive)

```cpp
struct vehicle_driver {
    inline static constexpr uintptr_t gravity_lift_active   = 0x1d11;
    inline static constexpr uintptr_t gravity_lift_enter    = 0x1d14;
    inline static constexpr uintptr_t gravity_lift_exit     = 0x1d18;
    inline static constexpr uintptr_t hover_max_speed       = 0x1e60;
    inline static constexpr uintptr_t hover_accel           = 0x1e64;
    inline static constexpr uintptr_t hover_decel           = 0x1e70;
    inline static constexpr uintptr_t hover_decel_braking   = 0x1e7c;
    inline static constexpr uintptr_t hover_air_accel       = 0x1e80;
    inline static constexpr uintptr_t hover_air_start_time  = 0x1ec4;
    inline static constexpr uintptr_t hover_boost_min       = 0x1e84;
    inline static constexpr uintptr_t hover_boost_max       = 0x1e88;
    inline static constexpr uintptr_t hover_boost_cooldown  = 0x1e8c;
    inline static constexpr uintptr_t hover_boost_partial   = 0x1e90;
    inline static constexpr uintptr_t hover_boost_regen     = 0x1e94;
    inline static constexpr uintptr_t hover_boost_time      = 0x1e98;
    inline static constexpr uintptr_t hover_used_boost      = 0x1e9c;
    inline static constexpr uintptr_t hover_boost_collision = 0x1ea0;
    inline static constexpr uintptr_t hover_is_boosting     = 0x1ea4;
    inline static constexpr uintptr_t hover_is_gliding      = 0x1ea5;
    inline static constexpr uintptr_t hover_jump_to_exit    = 0x1eac;
    inline static constexpr uintptr_t hover_jump_speed      = 0x1eb0;
    inline static constexpr uintptr_t hover_jump_cost       = 0x1eb4;
    inline static constexpr uintptr_t hover_glide_duration  = 0x1ec8;
    inline static constexpr uintptr_t hover_glide_last_end  = 0x1ecc;
    inline static constexpr uintptr_t input_held_post_jump  = 0x1ed0;
    inline static constexpr uintptr_t hover_smooth_tilt     = 0x1ed4;
    inline static constexpr uintptr_t hover_smooth_yaw      = 0x1eec;
    inline static constexpr uintptr_t driver_in_freelook    = 0x1ef4;
    inline static constexpr uintptr_t look_ahead_accel      = 0x1ef8;
    inline static constexpr uintptr_t debug_fly_mode        = 0x1f18;
    inline static constexpr uintptr_t phys_push             = 0x1f54;
};
```

## Turret

```cpp
struct turret {
    inline static constexpr uintptr_t driver              = 0x194c;
    inline static constexpr uintptr_t driver_detach_time  = 0x197c;
    inline static constexpr uintptr_t driver_state        = 0x1980;
    inline static constexpr uintptr_t force_aim_pitch     = 0x1974;
    inline static constexpr uintptr_t force_aim_yaw       = 0x1978;
    inline static constexpr uintptr_t settings_index      = 0x1938;
    inline static constexpr uintptr_t turret_weapon       = 0x1984;
    inline static constexpr uintptr_t title               = 0x1990;
    inline static constexpr uintptr_t aim_angle           = 0x1950;   // datamap
    inline static constexpr uintptr_t max_cone_angle      = 0x1968;
    inline static constexpr uintptr_t min_cone_angle      = 0x195c;
    inline static constexpr uintptr_t health              = 0x320;
    inline static constexpr uintptr_t max_health          = 0x470;
    inline static constexpr uintptr_t overlay_evt_parity  = 0x1701;
};
```

## Death box / loot

```cpp
struct death_box {
    inline static constexpr uintptr_t custom_owner_name = 0x1670;
    inline static constexpr uintptr_t script_net_data   = 0x69c;
    inline static constexpr uintptr_t life_state        = 0x698;
    inline static constexpr uintptr_t model_index       = 0x60;
    inline static constexpr uintptr_t skin              = 0xd78;
    inline static constexpr uintptr_t skin_mod          = 0xd7c;
    inline static constexpr uintptr_t owner_entity      = 0x394;
    inline static constexpr uintptr_t exclusive_use     = 0x620;
    inline static constexpr uintptr_t team_num          = 0x330;
    inline static constexpr uintptr_t hold_use_prompt   = 0x610;
    inline static constexpr uintptr_t press_use_prompt  = 0x618;
    inline static constexpr uintptr_t local_origin      = 0x54;
    inline static constexpr uintptr_t local_angles      = 0x380;
};

struct loot_grabber {
    inline static constexpr uintptr_t impact_effect_id  = 0x1670;
    inline static constexpr uintptr_t grabber_type      = 0x1672;
    inline static constexpr uintptr_t loot_being_grabbed= 0x1678;
    inline static constexpr uintptr_t loot_grab_dist    = 0x167c;
    inline static constexpr uintptr_t item_count        = 0x1676;
    inline static constexpr uintptr_t ammo_type         = 0x1675;
    inline static constexpr uintptr_t special_item_idx  = 0x162c;
    inline static constexpr uintptr_t item_respawn_end  = 0x15f4;
    inline static constexpr uintptr_t item_respawn_dur  = 0x15f0;
    inline static constexpr uintptr_t minimap_data      = 0x848;
};
```

## Door

```cpp
struct prop_door {
    inline static constexpr uintptr_t closed_angle             = 0x16a0;
    inline static constexpr uintptr_t angle                    = 0x16a4;
    inline static constexpr uintptr_t start_angle              = 0x16a8;
    inline static constexpr uintptr_t start_angle_vel          = 0x16ac;
    inline static constexpr uintptr_t start_move_time          = 0x16b0;
    inline static constexpr uintptr_t is_locked                = 0x16b4;
    inline static constexpr uintptr_t is_reinforced            = 0x16b5;
    inline static constexpr uintptr_t opposite_door            = 0x16b8;
    inline static constexpr uintptr_t interacting_player       = 0x1708;
    inline static constexpr uintptr_t interacting_wants_open   = 0x170c;
};
```

## Grapple

```cpp
struct grapple_data {
    inline static constexpr uintptr_t vel                 = 0x8;
    inline static constexpr uintptr_t point_count         = 0x44;
    inline static constexpr uintptr_t attached            = 0x48;
    inline static constexpr uintptr_t pulling             = 0x49;
    inline static constexpr uintptr_t swinging            = 0x4a;
    inline static constexpr uintptr_t retracting          = 0x4b;
    inline static constexpr uintptr_t forced_retracting   = 0x4c;
    inline static constexpr uintptr_t grace_finished      = 0x4d;
    inline static constexpr uintptr_t used_power          = 0x50;
    inline static constexpr uintptr_t activate_time       = 0x54;
    inline static constexpr uintptr_t pull_time           = 0x58;
    inline static constexpr uintptr_t attach_time         = 0x5c;
    inline static constexpr uintptr_t melee_target        = 0x60;
    inline static constexpr uintptr_t auto_aim_target     = 0x64;
    inline static constexpr uintptr_t has_good_velocity   = 0x68;
    inline static constexpr uintptr_t last_good_vel_time  = 0x6c;
    inline static constexpr uintptr_t swing_detach_speed  = 0x70;
    inline static constexpr uintptr_t swing_hold_time     = 0x74;
    inline static constexpr uintptr_t points_head         = 0x14;   // points[0]
};

struct grapple_hook {
    inline static constexpr uintptr_t zipline         = 0x15f0;
    inline static constexpr uintptr_t model_index     = 0x60;
    inline static constexpr uintptr_t owner_entity    = 0x394;
    inline static constexpr uintptr_t local_origin    = 0x54;
    inline static constexpr uintptr_t local_angles    = 0x380;
    inline static constexpr uintptr_t visibility_flag = 0x328;
};
```

## Team

```cpp
struct team {
    inline static constexpr uintptr_t score             = 0x970;
    inline static constexpr uintptr_t score2            = 0x974;
    inline static constexpr uintptr_t custom_value      = 0x978;
    inline static constexpr uintptr_t team_num          = 0x97c;
    inline static constexpr uintptr_t name              = 0x9a0;
    inline static constexpr uintptr_t player_array      = 0x0;
};
```

## World

```cpp
struct world {
    inline static constexpr uintptr_t world_mins             = 0x970;
    inline static constexpr uintptr_t world_maxs             = 0x97c;
    inline static constexpr uintptr_t world_flags            = 0x9ac;
    inline static constexpr uintptr_t death_field_active     = 0x9b8;
    inline static constexpr uintptr_t death_field_origin     = 0x9f8;
    inline static constexpr uintptr_t death_field_r_start    = 0xcf8;
    inline static constexpr uintptr_t death_field_r_end      = 0xdf8;
    inline static constexpr uintptr_t death_field_t_start    = 0xef8;
    inline static constexpr uintptr_t death_field_t_end      = 0xff8;
    inline static constexpr uintptr_t status_effects_gen     = 0x9a4;
    inline static constexpr uintptr_t civil_teams_mask_a     = 0x1100;
    inline static constexpr uintptr_t civil_teams_mask_b     = 0x1110;
    inline static constexpr uintptr_t rabid_teams_mask       = 0x1128;
    inline static constexpr uintptr_t start_dark             = 0x988;
};
```

## Fire / bullet path

`ammo_regen_takes_from_stockpile`, `damage_flags`, spread + kick tables, view-kick pattern — pulled out of `weaponSettings` for convenience.

```cpp
struct weapon_settings {
    inline static constexpr uintptr_t printname                   = 0x3b0;
    inline static constexpr uintptr_t shortprintname              = 0x3b8;
    inline static constexpr uintptr_t description                 = 0x3c0;
    inline static constexpr uintptr_t longdesc                    = 0x3c8;
    inline static constexpr uintptr_t body_skin                   = 0x440;

    inline static constexpr uintptr_t ammo_display                = 0x378;
    inline static constexpr uintptr_t ammo_pool_type              = 0x364;
    inline static constexpr uintptr_t ammo_stockpile_max          = 0x91c;
    inline static constexpr uintptr_t ammo_clip_size              = 0x920;
    inline static constexpr uintptr_t ammo_clip_reload_max        = 0x914;
    inline static constexpr uintptr_t ammo_default_total          = 0x918;
    inline static constexpr uintptr_t ammo_per_shot               = 0x910;
    inline static constexpr uintptr_t ammo_min_to_fire            = 0x4b4;

    inline static constexpr uintptr_t projectiles_per_shot        = 0x1c4;
    inline static constexpr uintptr_t projectile_launch_speed     = 0xda0;
    inline static constexpr uintptr_t projectile_lifetime         = 0xcd0;
    inline static constexpr uintptr_t projectile_gravity_scale    = 0xda8;

    inline static constexpr uintptr_t damage_flags                = 0x1088;
    inline static constexpr uintptr_t damage_near_value           = 0x1090;
    inline static constexpr uintptr_t damage_far_value            = 0x1094;
    inline static constexpr uintptr_t damage_very_far_value       = 0x1098;
    inline static constexpr uintptr_t damage_near_distance        = 0x10cc;
    inline static constexpr uintptr_t damage_far_distance         = 0x10d0;
    inline static constexpr uintptr_t damage_very_far_distance    = 0x10d4;
    inline static constexpr uintptr_t damage_headshot_scale       = 0x10a4;
    inline static constexpr uintptr_t damage_leg_scale            = 0x10ac;
    inline static constexpr uintptr_t damage_shield_scale         = 0x10b4;
    inline static constexpr uintptr_t damage_unshielded_scale     = 0x10b0;
    inline static constexpr uintptr_t critical_hit                = 0x10c4;
    inline static constexpr uintptr_t critical_hit_damage_scale   = 0x10c8;

    inline static constexpr uintptr_t fire_rate                   = 0x1270;
    inline static constexpr uintptr_t fire_mode                   = 0x126c;
    inline static constexpr uintptr_t fire_duration               = 0x1284;
    inline static constexpr uintptr_t burst_fire_count            = 0x128c;
    inline static constexpr uintptr_t burst_fire_delay            = 0x1290;
    inline static constexpr uintptr_t reload_time                 = 0x12b0;
    inline static constexpr uintptr_t reloadempty_time            = 0x12c8;
    inline static constexpr uintptr_t deploy_time                 = 0x1220;
    inline static constexpr uintptr_t holster_time                = 0x121c;
    inline static constexpr uintptr_t lower_time                  = 0x1230;
    inline static constexpr uintptr_t raise_time                  = 0x1234;

    inline static constexpr uintptr_t spread_stand_hip            = 0x77c;
    inline static constexpr uintptr_t spread_stand_hip_run        = 0x780;
    inline static constexpr uintptr_t spread_stand_hip_sprint     = 0x784;
    inline static constexpr uintptr_t spread_stand_ads            = 0x788;
    inline static constexpr uintptr_t spread_crouch_hip           = 0x78c;
    inline static constexpr uintptr_t spread_crouch_ads           = 0x790;
    inline static constexpr uintptr_t spread_air_hip              = 0x794;
    inline static constexpr uintptr_t spread_air_hip_moving       = 0x798;
    inline static constexpr uintptr_t spread_air_ads              = 0x79c;
    inline static constexpr uintptr_t spread_air_ads_moving       = 0x7a0;
    inline static constexpr uintptr_t spread_decay_delay          = 0x7fc;
    inline static constexpr uintptr_t spread_decay_rate           = 0x7f8;

    inline static constexpr uintptr_t viewkick_pattern            = 0x928;
    inline static constexpr uintptr_t viewkick_pitch_base         = 0x974;
    inline static constexpr uintptr_t viewkick_pitch_random       = 0x978;
    inline static constexpr uintptr_t viewkick_yaw_base           = 0x9fc;
    inline static constexpr uintptr_t viewkick_yaw_random         = 0xa00;
    inline static constexpr uintptr_t viewkick_scale_max_hip      = 0x9b4;
    inline static constexpr uintptr_t viewkick_scale_max_ads      = 0x9bc;
    inline static constexpr uintptr_t viewkick_pc_pitch_scale     = 0x9e0;
    inline static constexpr uintptr_t viewkick_pc_yaw_scale       = 0x9dc;

    inline static constexpr uintptr_t zoom_fov                    = 0xd50;
    inline static constexpr uintptr_t zoom_fov_viewmodel          = 0xd48;
    inline static constexpr uintptr_t zoom_time_in                = 0x1068;
    inline static constexpr uintptr_t zoom_time_out               = 0x1064;
    inline static constexpr uintptr_t zoom_toggle_fov             = 0xd4c;
    inline static constexpr uintptr_t zoom_toggle_lerp_time       = 0xd54;
    inline static constexpr uintptr_t ads_move_speed_scale        = 0xcb8;
    inline static constexpr uintptr_t move_speed_modifier         = 0xc90;

    inline static constexpr uintptr_t viewmodel_offset_hip        = 0x854;
    inline static constexpr uintptr_t viewmodel_offset_ads        = 0x860;
    inline static constexpr uintptr_t viewmodel_ads_centerpoint   = 0x878;
    inline static constexpr uintptr_t viewmodel_offset_zoom_start = 0x86c;
    inline static constexpr uintptr_t viewmodel_offset_zoom_end   = 0x870;
    inline static constexpr uintptr_t viewmodel_offset_offhand    = 0x874;

    inline static constexpr uintptr_t bullet_trace_test_enable    = 0x0;    // convar-side
    inline static constexpr uintptr_t viewmodel                   = 0x1458;
    inline static constexpr uintptr_t playermodel                 = 0x1450;
    inline static constexpr uintptr_t projectilemodel             = 0x1350;
    inline static constexpr uintptr_t holstermodel                = 0x1448;
    inline static constexpr uintptr_t hud_icon                    = 0x13f8;
    inline static constexpr uintptr_t menu_image                  = 0xa90;
    inline static constexpr uintptr_t menu_icon                   = 0xa98;
    inline static constexpr uintptr_t tracer_effect               = 0x14d0;
    inline static constexpr uintptr_t tracer_effect_first_person  = 0x14c8;
    inline static constexpr uintptr_t impact_effect_table         = 0x1490;
    inline static constexpr uintptr_t impact_effect_table_aliases = 0x1488;
    inline static constexpr uintptr_t bounce_effect_table         = 0x1480;
    inline static constexpr uintptr_t explosion_damage            = 0x10e0;
    inline static constexpr uintptr_t explosion_inner_radius      = 0x10f4;
    inline static constexpr uintptr_t explosionradius             = 0x10f8;
    inline static constexpr uintptr_t explosion_shake_amplitude   = 0xdf0;
    inline static constexpr uintptr_t explosion_shake_duration    = 0xdf8;
    inline static constexpr uintptr_t explosion_shake_frequency   = 0xdf4;
    inline static constexpr uintptr_t explosion_shake_radius      = 0xdec;

    inline static constexpr uintptr_t custom_bool_0               = 0xbf8;
    inline static constexpr uintptr_t custom_int_0                = 0xc00;
    inline static constexpr uintptr_t custom_float_0              = 0xc20;
};
```

## Common convars

The dump has ~1500 total — these are the ones you'll actually poke. Full list available on request.

```cpp
struct convars {
    inline static constexpr uintptr_t sv_cheats              = 0x1eca6c0;
    inline static constexpr uintptr_t cl_showfps             = 0x2581df0;
    inline static constexpr uintptr_t cl_showpos             = 0x257c370;
    inline static constexpr uintptr_t cl_showfps_altframetime= 0x257eb50;
    inline static constexpr uintptr_t cl_mouseenable         = 0x2576da0;
    inline static constexpr uintptr_t cl_predict             = 0x1e55d00;
    inline static constexpr uintptr_t cl_predictweapons      = 0x257f6f0;
    inline static constexpr uintptr_t cl_interpolate         = 0x25343b0;
    inline static constexpr uintptr_t cl_interp_all          = 0x25347a0;
    inline static constexpr uintptr_t cl_smooth              = 0x253cb30;
    inline static constexpr uintptr_t cl_smoothtime          = 0x253da30;
    inline static constexpr uintptr_t cl_updaterate_mp       = 0x1e564d0;
    inline static constexpr uintptr_t cl_pdump               = 0x2581bb0;
    inline static constexpr uintptr_t cl_showFiredBullets    = 0x2524060;
    inline static constexpr uintptr_t hidehud                = 0x25772b0;
    inline static constexpr uintptr_t mouse_sensitivity      = 0x25766e0;
    inline static constexpr uintptr_t r_drawworld            = 0x1bb31e0;
    inline static constexpr uintptr_t r_drawentities         = 0x1ba8790;
    inline static constexpr uintptr_t r_drawviewmodel        = 0x26a07a0;
    inline static constexpr uintptr_t r_drawtracers          = 0x256ed20;
    inline static constexpr uintptr_t r_drawvgui             = 0x1efdb40;
    inline static constexpr uintptr_t r_lightmap             = 0x1bb3950;
    inline static constexpr uintptr_t r_fullbright           = 0x1bb1480;
    inline static constexpr uintptr_t r_farz                 = 0x25648f0;
    inline static constexpr uintptr_t r_nearz                = 0x253edc0;
    inline static constexpr uintptr_t fps_max                = 0x1effb20;
    inline static constexpr uintptr_t fps_max_use_refresh    = 0x1efe670;
    inline static constexpr uintptr_t fov_disableAbilityScal = 0x253bb50;
    inline static constexpr uintptr_t cl_fovScale            = 0x1f0c8b0;
    inline static constexpr uintptr_t player_setting_autospr = 0x2572620;
    inline static constexpr uintptr_t viewmodel_selfshadow   = 0x1f20f80;
    inline static constexpr uintptr_t reticle_color          = 0x2580f80;
    inline static constexpr uintptr_t crossPlay_Enabled      = 0x1ec9260;
    inline static constexpr uintptr_t StreamMicDisabled      = 0x1bb5330;
    inline static constexpr uintptr_t voice_enabled          = 0x1bb5a70;
    inline static constexpr uintptr_t hostname               = 0x1baf9b0;
    inline static constexpr uintptr_t match_datacenter       = 0x1bb4800;
    inline static constexpr uintptr_t match_myDatacenter     = 0x1bb29d0;
    inline static constexpr uintptr_t sv_gravity             = 0x26e47f0;
    inline static constexpr uintptr_t sv_maxspeed            = 0x26e0060;
    inline static constexpr uintptr_t sv_maxvelocity         = 0x26e5f30;
    inline static constexpr uintptr_t sv_airaccelerate       = 0x26dca10;
    inline static constexpr uintptr_t sv_infinite_ammo       = 0x26f7810;
    inline static constexpr uintptr_t sv_footsteps           = 0x26e3490;
};
```