2323
2424enum DamageTypes_t : uint32_t
2525{
26- DMG_GENERIC = 0x0 ,
27- DMG_CRUSH = 0x1 ,
28- DMG_BULLET = 0x2 ,
29- DMG_SLASH = 0x4 ,
30- DMG_BURN = 0x8 ,
31- DMG_VEHICLE = 0x10 ,
32- DMG_FALL = 0x20 ,
33- DMG_BLAST = 0x40 ,
34- DMG_CLUB = 0x80 ,
35- DMG_SHOCK = 0x100 ,
36- DMG_SONIC = 0x200 ,
37- DMG_ENERGYBEAM = 0x400 ,
38- DMG_DROWN = 0x4000 ,
39- DMG_POISON = 0x8000 ,
40- DMG_RADIATION = 0x10000 ,
41- DMG_DROWNRECOVER = 0x20000 ,
42- DMG_ACID = 0x40000 ,
43- DMG_PHYSGUN = 0x100000 ,
44- DMG_DISSOLVE = 0x200000 ,
45- DMG_BLAST_SURFACE = 0x400000 ,
46- DMG_BUCKSHOT = 0x1000000 ,
47- DMG_LASTGENERICFLAG = 0x1000000 ,
48- DMG_HEADSHOT = 0x2000000 ,
49- DMG_DANGERZONE = 0x4000000 ,
26+ DMG_GENERIC = 0 , // 0x0
27+ DMG_CRUSH = 1 << 0 , // 0x1
28+ DMG_BULLET = 1 << 1 , // 0x2
29+ DMG_SLASH = 1 << 2 , // 0x4
30+ DMG_BURN = 1 << 3 , // 0x8
31+ DMG_VEHICLE = 1 << 4 , // 0x10
32+ DMG_FALL = 1 << 5 , // 0x20
33+ DMG_BLAST = 1 << 6 , // 0x40
34+ DMG_CLUB = 1 << 7 , // 0x80
35+ DMG_SHOCK = 1 << 8 , // 0x100
36+ DMG_SONIC = 1 << 9 , // 0x200
37+ DMG_ENERGYBEAM = 1 << 10 , // 0x400
38+ DMG_BUCKSHOT = 1 << 11 , // 0x800
39+ DMG_DROWN = 1 << 14 , // 0x4000
40+ DMG_POISON = 1 << 15 , // 0x8000
41+ DMG_RADIATION = 1 << 16 , // 0x10000
42+ DMG_DROWNRECOVER = 1 << 17 , // 0x20000
43+ DMG_ACID = 1 << 18 , // 0x40000
44+ DMG_PHYSGUN = 1 << 20 , // 0x100000
45+ DMG_DISSOLVE = 1 << 21 , // 0x200000
46+ DMG_BLAST_SURFACE = 1 << 22 , // 0x400000
47+ DMG_HEADSHOT = 1 << 23 , // 0x800000
5048};
5149
5250enum TakeDamageFlags_t : uint32_t
5351{
54- DFLAG_NONE = 0x0 ,
55- DFLAG_SUPPRESS_HEALTH_CHANGES = 0x1 ,
56- DFLAG_SUPPRESS_PHYSICS_FORCE = 0x2 ,
57- DFLAG_SUPPRESS_EFFECTS = 0x4 ,
58- DFLAG_PREVENT_DEATH = 0x8 ,
59- DFLAG_FORCE_DEATH = 0x10 ,
60- DFLAG_ALWAYS_GIB = 0x20 ,
61- DFLAG_NEVER_GIB = 0x40 ,
62- DFLAG_REMOVE_NO_RAGDOLL = 0x80 ,
63- DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 0x100 ,
64- DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 0x200 ,
65- DFLAG_RADIUS_DMG = 0x400 ,
66- DMG_LASTDFLAG = 0x400 ,
67- DFLAG_IGNORE_ARMOR = 0x800 ,
52+ DFLAG_NONE = 0 , // 0x0
53+ DFLAG_SUPPRESS_HEALTH_CHANGES = 1 << 0 , // 0x1
54+ DFLAG_SUPPRESS_PHYSICS_FORCE = 1 << 1 , // 0x2
55+ DFLAG_SUPPRESS_EFFECTS = 1 << 2 , // 0x4
56+ DFLAG_PREVENT_DEATH = 1 << 3 , // 0x8
57+ DFLAG_FORCE_DEATH = 1 << 4 , // 0x10
58+ DFLAG_ALWAYS_GIB = 1 << 5 , // 0x20
59+ DFLAG_NEVER_GIB = 1 << 6 , // 0x40
60+ DFLAG_REMOVE_NO_RAGDOLL = 1 << 7 , // 0x80
61+ DFLAG_SUPPRESS_DAMAGE_MODIFICATION = 1 << 8 , // 0x100
62+ DFLAG_ALWAYS_FIRE_DAMAGE_EVENTS = 1 << 9 , // 0x200
63+ DFLAG_RADIUS_DMG = 1 << 10 , // 0x400
64+ DFLAG_FORCEREDUCEARMOR_DMG = 1 << 11 , // 0x800
65+ DFLAG_SUPPRESS_INTERRUPT_FLINCH = 1 << 12 , // 0x1000
66+ DFLAG_IGNORE_DESTRUCTIBLE_PARTS = 1 << 13 , // 0x2000
67+ DFLAG_IGNORE_ARMOR = 1 << 14 , // 0x4000
68+ DFLAG_SUPPRESS_UTILREMOVE = 1 << 15 , // 0x8000
6869};
6970
7071struct AttackerInfo_t
@@ -73,7 +74,7 @@ struct AttackerInfo_t
7374 bool m_bIsPawn;
7475 bool m_bIsWorld;
7576 CHandle<CCSPlayerPawn> m_hAttackerPawn;
76- uint16_t m_nAttackerPlayerSlot;
77+ int32_t m_nAttackerPlayerSlot;
7778 int m_iTeamChecked;
7879 int m_nTeam;
7980};
@@ -127,25 +128,24 @@ class CTakeDamageInfo
127128 [[maybe_unused]] uint8_t m_nUnknown1[0x2 ]; // 0x66
128129
129130public:
130- float m_flDamageAbsorbed; // 0x68 | 104
131- CGameTrace* m_pTrace; // 0x70 | 112
132- TakeDamageFlags_t m_nDamageFlags; // 0x78 | 120
131+ CGameTrace* m_pTrace; // 0x68 | 104
132+ TakeDamageFlags_t m_nDamageFlags; // 0x70 | 112
133133
134134private:
135- [[maybe_unused]] uint8_t m_sDamageSourceName[0x8 ]; // 0x80 | 128
135+ [[maybe_unused]] uint8_t m_sDamageSourceName[0x8 ]; // 0x78 | 120
136136
137137public:
138- HitGroup_t m_iHitGroupId; // 0x88 | 136
139- int32_t m_nNumObjectsPenetrated; // 0x8c | 140
140- float m_flFriendlyFireDamageReductionRatio; // 0x90 | 144
138+ HitGroup_t m_iHitGroupId; // 0x80 | 128
139+ int32_t m_nNumObjectsPenetrated; // 0x84 | 132
140+ float m_flFriendlyFireDamageReductionRatio; // 0x88 | 136
141141private:
142- uint8_t m_nUnknown2[0x5C ]; // 0x94 | 148
142+ uint8_t m_nUnknown2[0x5C ]; // 0x9c | 140
143143public:
144- void * m_hScriptInstance; // 0xf0 | 240
145- AttackerInfo_t m_AttackerInfo; // 0xf8 | 248
146- bool m_bInTakeDamageFlow; // 0x104 | 268
144+ void * m_hScriptInstance; // 0xe8 | 232
145+ AttackerInfo_t m_AttackerInfo; // 0xf0 | 240
146+ bool m_bInTakeDamageFlow; // 0x104 | 260
147147
148148private:
149- [[maybe_unused]] int32_t m_nUnknown3; // 0x108 | 272
149+ [[maybe_unused]] int32_t m_nUnknown3; // 0x108 | 264
150150};
151- static_assert (sizeof (CTakeDamageInfo) == 280 );
151+ static_assert (sizeof (CTakeDamageInfo) == 272 );
0 commit comments