CommonLibVR
HitData.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
RE/B/BSPointerHandle.h
"
4
#include "
RE/F/FormTypes.h
"
5
#include "
RE/N/NiPoint3.h
"
6
#include "
RE/N/NiSmartPointer.h
"
7
8
namespace
RE
9
{
10
class
BGSAttackData;
11
class
InventoryEntryData;
12
class
MagicItem;
13
class
TESObjectWEAP;
14
class
VATSCommand;
15
16
class
HitData
17
{
18
public
:
19
enum class
Flag
20
{
21
kBlocked
= 1 << 0,
22
kBlockWithWeapon
= 1 << 1,
23
kBlockCandidate
= 1 << 2,
24
kCritical
= 1 << 3,
25
kCriticalOnDeath
= 1 << 4,
26
kFatal
= 1 << 5,
27
kDismemberLimb
= 1 << 6,
28
kExplodeLimb
= 1 << 7,
29
kCrippleLimb
= 1 << 8,
30
kDisarm
= 1 << 9,
31
kDisableWeapon
= 1 << 10,
32
kSneakAttack
= 1 << 11,
33
kIgnoreCritical
= 1 << 12,
34
kPredictDamage
= 1 << 13,
35
//kPredictBaseDamage = 1 << 14,
36
kBash
= 1 << 14,
37
kTimedBash
= 1 << 15,
38
kPowerAttack
= 1 << 16,
39
kMeleeAttack
= 1 << 18,
40
kRicochet
= 1 << 19,
41
kExplosion
= 1 << 20
42
};
43
44
void
Populate
(
Actor
* a_aggressor,
Actor
* a_target,
InventoryEntryData
* a_weapon)
45
{
46
using
func_t = decltype(&
HitData::Populate
);
47
static
REL::Relocation<func_t>
func(
RELOCATION_ID
(42832, 44001));
48
return
func(
this
, a_aggressor, a_target, a_weapon);
49
}
50
51
// members
52
NiPoint3
hitPosition
;
// 00
53
NiPoint3
hitDirection
;
// 0C
54
ActorHandle
aggressor
;
// 18
55
ActorHandle
target
;
// 1C
56
ObjectRefHandle
sourceRef
;
// 20
57
std::uint32_t
pad24
;
// 24
58
NiPointer<BGSAttackData>
attackData
;
// 28
59
TESObjectWEAP
*
weapon
;
// 30
60
MagicItem
*
criticalEffect
;
// 38
61
SpellItem
*
attackDataSpell
;
// 40
62
VATSCommand
*
VATSCommand
;
// 48
63
float
totalDamage
;
// 50
64
float
physicalDamage
;
// 54
65
float
targetedLimbDamage
;
// 58
66
float
percentBlocked
;
// 5C
67
float
resistedPhysicalDamage
;
// 60
68
float
resistedTypedDamage
;
// 64
69
float
stagger
;
// 68
70
float
sneakAttackBonus
;
// 6C
71
float
bonusHealthDamageMult
;
// 70
72
float
pushBack
;
// 74
73
float
reflectedDamage
;
// 78
74
float
criticalDamageMult
;
// 7C
75
stl::enumeration<Flag, std::uint32_t>
flags
;
// 80
76
std::uint32_t
equipIndex
;
// 84
77
ActorValue
skill
;
// 88
78
std::uint32_t
damageLimb
;
// 8C
79
private
:
80
KEEP_FOR_RE
()
81
};
82
static_assert(
sizeof
(
HitData
) == 0x90);
83
}
BSPointerHandle.h
FormTypes.h
NiPoint3.h
NiSmartPointer.h
KEEP_FOR_RE
#define KEEP_FOR_RE()
Definition:
PCH.h:713
RELOCATION_ID
#define RELOCATION_ID(SE, AE)
Definition:
PCH.h:702
REL::Relocation
Definition:
Relocation.h:210
RE::Actor
Definition:
Actor.h:133
RE::BSPointerHandle< Actor >
RE::HitData
Definition:
HitData.h:17
RE::HitData::bonusHealthDamageMult
float bonusHealthDamageMult
Definition:
HitData.h:71
RE::HitData::Flag
Flag
Definition:
HitData.h:20
RE::HitData::Flag::kCriticalOnDeath
@ kCriticalOnDeath
RE::HitData::Flag::kExplosion
@ kExplosion
RE::HitData::Flag::kMeleeAttack
@ kMeleeAttack
RE::HitData::Flag::kPredictDamage
@ kPredictDamage
RE::HitData::Flag::kBlockCandidate
@ kBlockCandidate
RE::HitData::Flag::kDisableWeapon
@ kDisableWeapon
RE::HitData::Flag::kExplodeLimb
@ kExplodeLimb
RE::HitData::Flag::kCritical
@ kCritical
RE::HitData::Flag::kRicochet
@ kRicochet
RE::HitData::Flag::kSneakAttack
@ kSneakAttack
RE::HitData::Flag::kBlocked
@ kBlocked
RE::HitData::Flag::kDismemberLimb
@ kDismemberLimb
RE::HitData::Flag::kBlockWithWeapon
@ kBlockWithWeapon
RE::HitData::Flag::kIgnoreCritical
@ kIgnoreCritical
RE::HitData::Flag::kDisarm
@ kDisarm
RE::HitData::Flag::kPowerAttack
@ kPowerAttack
RE::HitData::Flag::kTimedBash
@ kTimedBash
RE::HitData::Flag::kFatal
@ kFatal
RE::HitData::Flag::kBash
@ kBash
RE::HitData::Flag::kCrippleLimb
@ kCrippleLimb
RE::HitData::percentBlocked
float percentBlocked
Definition:
HitData.h:66
RE::HitData::criticalDamageMult
float criticalDamageMult
Definition:
HitData.h:74
RE::HitData::pushBack
float pushBack
Definition:
HitData.h:72
RE::HitData::resistedPhysicalDamage
float resistedPhysicalDamage
Definition:
HitData.h:67
RE::HitData::VATSCommand
VATSCommand * VATSCommand
Definition:
HitData.h:62
RE::HitData::attackDataSpell
SpellItem * attackDataSpell
Definition:
HitData.h:61
RE::HitData::stagger
float stagger
Definition:
HitData.h:69
RE::HitData::reflectedDamage
float reflectedDamage
Definition:
HitData.h:73
RE::HitData::damageLimb
std::uint32_t damageLimb
Definition:
HitData.h:78
RE::HitData::resistedTypedDamage
float resistedTypedDamage
Definition:
HitData.h:68
RE::HitData::skill
ActorValue skill
Definition:
HitData.h:77
RE::HitData::aggressor
ActorHandle aggressor
Definition:
HitData.h:54
RE::HitData::sourceRef
ObjectRefHandle sourceRef
Definition:
HitData.h:56
RE::HitData::criticalEffect
MagicItem * criticalEffect
Definition:
HitData.h:60
RE::HitData::flags
stl::enumeration< Flag, std::uint32_t > flags
Definition:
HitData.h:75
RE::HitData::hitPosition
NiPoint3 hitPosition
Definition:
HitData.h:52
RE::HitData::Populate
void Populate(Actor *a_aggressor, Actor *a_target, InventoryEntryData *a_weapon)
Definition:
HitData.h:44
RE::HitData::equipIndex
std::uint32_t equipIndex
Definition:
HitData.h:76
RE::HitData::pad24
std::uint32_t pad24
Definition:
HitData.h:57
RE::HitData::sneakAttackBonus
float sneakAttackBonus
Definition:
HitData.h:70
RE::HitData::weapon
TESObjectWEAP * weapon
Definition:
HitData.h:59
RE::HitData::targetedLimbDamage
float targetedLimbDamage
Definition:
HitData.h:65
RE::HitData::attackData
NiPointer< BGSAttackData > attackData
Definition:
HitData.h:58
RE::HitData::hitDirection
NiPoint3 hitDirection
Definition:
HitData.h:53
RE::HitData::totalDamage
float totalDamage
Definition:
HitData.h:63
RE::HitData::target
ActorHandle target
Definition:
HitData.h:55
RE::HitData::physicalDamage
float physicalDamage
Definition:
HitData.h:64
RE::InventoryEntryData
Definition:
InventoryEntryData.h:15
RE::MagicItem
Definition:
MagicItem.h:30
RE::NiPoint3
Definition:
NiPoint3.h:6
RE::NiPointer
Definition:
NiSmartPointer.h:9
RE::SpellItem
Definition:
SpellItem.h:16
RE::TESObjectWEAP
Definition:
TESObjectWEAP.h:79
RE::VATSCommand
Definition:
VATS.h:20
SKSE::stl::enumeration< Flag, std::uint32_t >
RE
Definition:
AbsorbEffect.h:6
RE::ActorValue
ActorValue
Definition:
ActorValues.h:6
CommonLibVR
include
RE
H
HitData.h
Generated by
1.9.1