CommonLibSSE (Parapets fork)
BGSAttackData.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSFixedString.h"
4 #include "RE/F/FormTypes.h"
5 #include "RE/N/NiRefObject.h"
6 #include "RE/N/NiSmartPointer.h"
7 
8 namespace RE
9 {
10  struct AttackData // ATKD
11  {
12  public:
13  enum class AttackFlag
14  {
15  kNone = 0,
16  kIgnoreWeapon = 1 << 0,
17  kBashAttack = 1 << 1,
18  kPowerAttack = 1 << 2,
19  kChargeAttack = 1 << 3,
20  kRotatingAttack = 1 << 4,
21  kContinuousAttack = 1 << 5,
22  kOverrideData = 1 << 31
23  };
24 
25  // members
26  float damageMult; // 00
27  float attackChance; // 04
30  float attackAngle; // 14
31  float strikeAngle; // 18
32  float staggerOffset; // 1C
34  float knockDown; // 28
35  float recoveryTime; // 2C
36  float staminaMult; // 30
37  std::uint32_t pad34; // 34
38  };
39  static_assert(sizeof(AttackData) == 0x38);
40 
42 
43  class BGSAttackData : public NiRefObject
44  {
45  public:
46  inline static constexpr auto RTTI = RTTI_BGSAttackData;
47 
48  ~BGSAttackData() override; // 00
49 
50  [[nodiscard]] bool IsLeftAttack() const;
51 
52  // members
53  BSFixedString event; // 10 - ATKE
54  AttackData data; // 18 - ATKD
55  };
56  static_assert(sizeof(BGSAttackData) == 0x50);
57 }
Definition: BGSAttackData.h:44
BSFixedString event
Definition: BGSAttackData.h:53
~BGSAttackData() override
static constexpr auto RTTI
Definition: BGSAttackData.h:46
AttackData data
Definition: BGSAttackData.h:54
bool IsLeftAttack() const
Definition: BGSKeyword.h:10
Definition: NiRefObject.h:8
Definition: SpellItem.h:16
Definition: AbsorbEffect.h:6
NiSmartPointer(Actor)
constexpr REL::ID RTTI_BGSAttackData
Definition: Offsets_RTTI.h:1261
Definition: BGSAttackData.h:11
SpellItem * attackSpell
Definition: BGSAttackData.h:28
float damageMult
Definition: BGSAttackData.h:26
float attackChance
Definition: BGSAttackData.h:27
float strikeAngle
Definition: BGSAttackData.h:31
BGSKeyword * attackType
Definition: BGSAttackData.h:33
float staggerOffset
Definition: BGSAttackData.h:32
float staminaMult
Definition: BGSAttackData.h:36
float recoveryTime
Definition: BGSAttackData.h:35
stl::enumeration< AttackFlag, std::uint32_t > flags
Definition: BGSAttackData.h:29
std::uint32_t pad34
Definition: BGSAttackData.h:37
float attackAngle
Definition: BGSAttackData.h:30
float knockDown
Definition: BGSAttackData.h:34
AttackFlag
Definition: BGSAttackData.h:14