VoltMod
C++23 framework for CS2 server plugins
Loading...
Searching...
No Matches
DamageLayout.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include <cstddef>
4
#include <cstdint>
5
#include <entityhandle.h>
6
#include <gametrace.h>
7
#include <mathlib/vector.h>
8
9
namespace
VoltMod
10
{
11
12
/** CTakeDamageInfo as of server build 2000908, from CS2Fixes. Only the leading fields are named;
13
* the engine's constructor fills the rest. */
14
struct
EngineDamageInfo
15
{
16
void
*
VTable
;
17
Vector
Force
;
18
Vector
Position
;
19
Vector
ReportedPosition
;
20
Vector
Direction
;
21
CEntityHandle
Inflictor
;
22
CEntityHandle
Attacker
;
23
CEntityHandle
Ability
;
24
float
Damage
;
25
float
TotalledDamage
;
26
int32_t
DamageType
;
27
uint8_t
Rest
[200];
28
};
29
static_assert
(
offsetof
(
EngineDamageInfo
, Inflictor) == 0x38);
30
static_assert
(
offsetof
(
EngineDamageInfo
,
Damage
) == 0x44);
31
static_assert
(
offsetof
(
EngineDamageInfo
, DamageType) == 0x4C);
32
static_assert
(
sizeof
(
EngineDamageInfo
) == 280);
33
34
/** CTakeDamageResult as of server build 2000908, from CS2Fixes. */
35
struct
EngineDamageResult
36
{
37
EngineDamageInfo
*
OriginatingInfo
;
38
uint8_t
DestructibleHitGroupRequests
[16];
39
int32_t
HealthLost
;
40
int32_t
HealthBefore
;
41
float
DamageDealt
;
42
float
PreModifiedDamage
;
43
Vector
DamagePosition
;
44
int32_t
TotalledHealthLost
;
45
float
TotalledDamageDealt
;
46
float
TotalledPreModifiedDamage
;
47
float
NewDamageAccumulatorValue
;
48
uint64_t
DamageFlags
;
49
bool
WasDamageSuppressed
;
50
bool
SuppressFlinch
;
51
HitGroup_t
OverrideFlinchHitGroup
;
52
uint8_t
Unknown
[8];
53
};
54
static_assert
(
offsetof
(
EngineDamageResult
, DamageFlags) == 72);
55
static_assert
(
sizeof
(
EngineDamageResult
) == 96);
56
57
}
// namespace VoltMod
VoltMod::Damage
Every entity's damage, from CBaseEntity::TakeDamageOld, and a way to deal it.
Definition
Damage.hpp:80
VoltMod
Definition
Options.hpp:13
VoltMod::ReadFile
static std::string ReadFile(const std::filesystem::path &path)
Definition
Loader.cpp:56
VoltMod::Vector
::Vector Vector
Definition
Math.hpp:11
VoltMod::EngineDamageInfo
Definition
DamageLayout.hpp:15
VoltMod::EngineDamageInfo::Damage
float Damage
Definition
DamageLayout.hpp:24
VoltMod::EngineDamageInfo::DamageType
int32_t DamageType
Definition
DamageLayout.hpp:26
VoltMod::EngineDamageInfo::VTable
void * VTable
Definition
DamageLayout.hpp:16
VoltMod::EngineDamageInfo::Rest
uint8_t Rest[200]
Definition
DamageLayout.hpp:27
VoltMod::EngineDamageInfo::ReportedPosition
Vector ReportedPosition
Definition
DamageLayout.hpp:19
VoltMod::EngineDamageInfo::Direction
Vector Direction
Definition
DamageLayout.hpp:20
VoltMod::EngineDamageInfo::Ability
CEntityHandle Ability
Definition
DamageLayout.hpp:23
VoltMod::EngineDamageInfo::Attacker
CEntityHandle Attacker
Definition
DamageLayout.hpp:22
VoltMod::EngineDamageInfo::Position
Vector Position
Definition
DamageLayout.hpp:18
VoltMod::EngineDamageInfo::Force
Vector Force
Definition
DamageLayout.hpp:17
VoltMod::EngineDamageInfo::Inflictor
CEntityHandle Inflictor
Definition
DamageLayout.hpp:21
VoltMod::EngineDamageInfo::TotalledDamage
float TotalledDamage
Definition
DamageLayout.hpp:25
VoltMod::EngineDamageResult
Definition
DamageLayout.hpp:36
VoltMod::EngineDamageResult::TotalledHealthLost
int32_t TotalledHealthLost
Definition
DamageLayout.hpp:44
VoltMod::EngineDamageResult::NewDamageAccumulatorValue
float NewDamageAccumulatorValue
Definition
DamageLayout.hpp:47
VoltMod::EngineDamageResult::DestructibleHitGroupRequests
uint8_t DestructibleHitGroupRequests[16]
Definition
DamageLayout.hpp:38
VoltMod::EngineDamageResult::Unknown
uint8_t Unknown[8]
Definition
DamageLayout.hpp:52
VoltMod::EngineDamageResult::SuppressFlinch
bool SuppressFlinch
Definition
DamageLayout.hpp:50
VoltMod::EngineDamageResult::HealthLost
int32_t HealthLost
Definition
DamageLayout.hpp:39
VoltMod::EngineDamageResult::TotalledDamageDealt
float TotalledDamageDealt
Definition
DamageLayout.hpp:45
VoltMod::EngineDamageResult::DamageFlags
uint64_t DamageFlags
Definition
DamageLayout.hpp:48
VoltMod::EngineDamageResult::DamageDealt
float DamageDealt
Definition
DamageLayout.hpp:41
VoltMod::EngineDamageResult::PreModifiedDamage
float PreModifiedDamage
Definition
DamageLayout.hpp:42
VoltMod::EngineDamageResult::DamagePosition
Vector DamagePosition
Definition
DamageLayout.hpp:43
VoltMod::EngineDamageResult::TotalledPreModifiedDamage
float TotalledPreModifiedDamage
Definition
DamageLayout.hpp:46
VoltMod::EngineDamageResult::OriginatingInfo
EngineDamageInfo * OriginatingInfo
Definition
DamageLayout.hpp:37
VoltMod::EngineDamageResult::OverrideFlinchHitGroup
HitGroup_t OverrideFlinchHitGroup
Definition
DamageLayout.hpp:51
VoltMod::EngineDamageResult::HealthBefore
int32_t HealthBefore
Definition
DamageLayout.hpp:40
VoltMod::EngineDamageResult::WasDamageSuppressed
bool WasDamageSuppressed
Definition
DamageLayout.hpp:49
src
Hooks
DamageLayout.hpp
Generated by
1.9.8