summaryrefslogtreecommitdiff
path: root/src/csgo/csgoplayer.h
blob: ecf84c32abfd6f968a08d11b3d7539542d9246c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
//|_   _   _.     _  ._  |_   _.  _ |
//| | (/_ (_| \/ (/_ | | | | (_| (_ |<

#pragma once
#include "csgoentity.h"

class CSGOPLAYER : public CSGOENTITY {
public:
  CSGOPLAYER( U32 base ) : CSGOENTITY( base ) {}
  CSGOPLAYER( const CSGOENTITY& other ) : CSGOENTITY( other.base ) {}
  CSGOPLAYER() = default;
  
  // this doesnt need to be a part of the aimbot.
  VEC3 get_bone_pos( I32 bone_id ) {
    return VEC3{
      csgop->read<F32>( m_dwBoneMatrix( ) + 0x30 * bone_id + 0x0c ),
      csgop->read<F32>( m_dwBoneMatrix( ) + 0x30 * bone_id + 0x1c ),
      csgop->read<F32>( m_dwBoneMatrix( ) + 0x30 * bone_id + 0x2c )
    };
  }

  NETVAR( m_bSpottedByMask , "DT_BaseEntity", I32       );

  NETVAR( m_aimPunchAngle  , "DT_BasePlayer", VEC3      );
  NETVAR( m_hActiveWeapon  , "DT_BasePlayer", U32       );
  NETVAR( m_iHealth        , "DT_BasePlayer", I32       );
  NETVAR( m_vecOrigin      , "DT_BasePlayer", VEC3      );

  NETVAR( m_clrRender      , "DT_CSPlayer"  , BYTECOLOR );
  NETVAR( m_flFlashMaxAlpha, "DT_CSPlayer"  , F32       );
  NETVAR( m_iShotsFired    , "DT_CSPlayer"  , I32       );
  NETVAR( m_iTeamNum       , "DT_CSPlayer"  , I32       );
  NETVAR( m_lifeState      , "DT_CSPlayer"  , I32       );

  OFFSET( m_vecViewOffset  , "m_vecViewOffset[0]", "DT_CSPlayer", VEC3, 0 );
};