CommonLibSSE (powerof3)
TESHitEvent.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/N/NiSmartPointer.h"
4 
5 namespace RE
6 {
7  class TESObjectREFR;
8 
9  struct TESHitEvent
10  {
11  public:
12  enum class Flag
13  {
14  kNone = 0,
15  kPowerAttack = 1 << 0,
16  kSneakAttack = 1 << 1,
17  kBashAttack = 1 << 2,
18  kHitBlocked = 1 << 3
19  };
20 
22  TESHitEvent(TESObjectREFR* a_target, TESObjectREFR* a_aggressor, FormID a_weapon, FormID a_projectile, Flag a_flags);
23  ~TESHitEvent() = default;
24 
25  // members
28  FormID source; // 10
31  std::uint8_t pad19; // 19
32  std::uint16_t pad1A; // 1A
33  std::uint32_t pad1C; // 1C
34  };
35  static_assert(sizeof(TESHitEvent) == 0x20);
36 }
Definition: NiSmartPointer.h:9
Definition: TESObjectREFR.h:114
Definition: AbsorbEffect.h:6
std::uint32_t FormID
Definition: BSCoreTypes.h:5
Definition: TESHitEvent.h:10
std::uint8_t pad19
Definition: TESHitEvent.h:31
TESHitEvent(TESObjectREFR *a_target, TESObjectREFR *a_aggressor, FormID a_weapon, FormID a_projectile, Flag a_flags)
~TESHitEvent()=default
REX::EnumSet< Flag, std::uint8_t > flags
Definition: TESHitEvent.h:30
std::uint32_t pad1C
Definition: TESHitEvent.h:33
Flag
Definition: TESHitEvent.h:13
NiPointer< TESObjectREFR > target
Definition: TESHitEvent.h:26
FormID projectile
Definition: TESHitEvent.h:29
std::uint16_t pad1A
Definition: TESHitEvent.h:32
FormID source
Definition: TESHitEvent.h:28
NiPointer< TESObjectREFR > cause
Definition: TESHitEvent.h:27