@@ -136,52 +136,60 @@ class CTakeDamageInfo
136136public:
137137 void * m_hScriptInstance; // 0xe0 | 224
138138 AttackerInfo_t m_AttackerInfo; // 0xe8 | 232
139- CUtlVector <int > m_nDestructibleHitGroupsToForceDestroy; // 0x100 | 256
140- bool m_bInTakeDamageFlow; // 0x118 | 280
139+ CUtlLeanVector <int > m_DestructibleHitGroupRequests; // 0x100 | 256 CUtlLeanVector<DestructiblePartDamageRequest_t>
140+ bool m_bInTakeDamageFlow; // 0x110 | 272
141141
142142private:
143143 [[maybe_unused]] int32_t m_nUnknown4; // 0x11c | 284
144144};
145- static_assert (sizeof (CTakeDamageInfo) == 288 );
145+ static_assert (sizeof (CTakeDamageInfo) == 280 );
146146
147147struct CTakeDamageResult
148148{
149+ public:
149150 CTakeDamageInfo* m_pOriginatingInfo;
151+ CUtlLeanVector<int > m_DestructibleHitGroupRequests; // CUtlLeanVector<DestructiblePartDamageRequest_t>
150152 int32_t m_nHealthLost;
151153 int32_t m_nHealthBefore;
152- int32_t m_nDamageDealt ;
154+ float m_flDamageDealt ;
153155 float m_flPreModifiedDamage;
154156 int32_t m_nTotalledHealthLost;
155- int32_t m_nTotalledDamageDealt ;
157+ float m_flTotalledDamageDealt ;
156158 float m_flTotalledPreModifiedDamage;
159+ float m_flNewDamageAccumulatorValue;
160+ TakeDamageFlags_t m_nDamageFlags;
157161 bool m_bWasDamageSuppressed;
158162 bool m_bSuppressFlinch;
159163 HitGroup_t m_nOverrideFlinchHitGroup;
160164
165+ private:
166+ [[maybe_unused]] uint8_t m_nUnknown0[0x8 ];
167+
168+ public:
161169 void CopyFrom (CTakeDamageInfo* pInfo)
162170 {
163171 m_pOriginatingInfo = pInfo;
164172 m_nHealthLost = static_cast <int32_t >(pInfo->m_flDamage );
165173 m_nHealthBefore = 0 ;
166- m_nDamageDealt = static_cast < int32_t >( pInfo->m_flDamage ) ;
174+ m_flDamageDealt = pInfo->m_flDamage ;
167175 m_flPreModifiedDamage = pInfo->m_flDamage ;
168176 m_nTotalledHealthLost = static_cast <int32_t >(pInfo->m_flDamage );
169- m_nTotalledDamageDealt = static_cast < int32_t >( pInfo->m_flDamage ) ;
177+ m_flTotalledDamageDealt = pInfo->m_flDamage ;
170178 m_bWasDamageSuppressed = false ;
171179 }
172180
173181 CTakeDamageResult () = delete ;
174182
175- constexpr CTakeDamageResult (float damage) :
183+ CTakeDamageResult (float damage) :
176184 m_pOriginatingInfo (nullptr ),
177185 m_nHealthLost (static_cast <int32_t >(damage)),
178186 m_nHealthBefore (0 ),
179- m_nDamageDealt( static_cast < int32_t >( damage) ),
187+ m_flDamageDealt ( damage),
180188 m_flPreModifiedDamage (damage),
181189 m_nTotalledHealthLost (static_cast <int32_t >(damage)),
182- m_nTotalledDamageDealt( static_cast < int32_t >( damage) ),
190+ m_flTotalledDamageDealt ( damage),
183191 m_bWasDamageSuppressed (false )
184192 {
185193 }
186194};
187- static_assert (sizeof (CTakeDamageResult) == 48 );
195+ static_assert (sizeof (CTakeDamageResult) == 80 );
0 commit comments