CommonLibSSE NG
Effect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/M/MemoryManager.h"
4 #include "RE/T/TESCondition.h"
5 
6 namespace RE
7 {
8  class EffectSetting;
9 
10  struct Effect
11  {
12  public:
13  struct EffectItem // EFIT
14  {
15  public:
17  ~EffectItem() = default;
18 
19  // members
20  float magnitude; // 0
21  std::uint32_t area; // 4
22  std::uint32_t duration; // 8
23  };
24  static_assert(sizeof(EffectItem) == 0xC);
25 
26  Effect();
27  ~Effect() = default;
28 
30 
31  float GetMagnitude() const;
32  std::uint32_t GetArea() const;
33  std::uint32_t GetDuration() const;
34  bool IsHostile() const;
35 
36  // members
37  EffectItem effectItem; // 00 - EFIT
38  std::uint32_t pad0C; // 0C
39  EffectSetting* baseEffect; // 10 - EFID
40  float cost; // 18
41  std::uint32_t pad1C; // 1C
42  TESCondition conditions; // 20 - CTDA
43  };
44  static_assert(sizeof(Effect) == 0x28);
45 }
Definition: EffectSetting.h:24
Definition: TESCondition.h:992
Definition: AbsorbEffect.h:6
Definition: Effect.h:14
float magnitude
Definition: Effect.h:20
std::uint32_t area
Definition: Effect.h:21
std::uint32_t duration
Definition: Effect.h:22
Definition: Effect.h:11
std::uint32_t GetArea() const
~Effect()=default
EffectSetting * baseEffect
Definition: Effect.h:39
EffectItem effectItem
Definition: Effect.h:37
std::uint32_t pad0C
Definition: Effect.h:38
std::uint32_t pad1C
Definition: Effect.h:41
TESCondition conditions
Definition: Effect.h:42
float GetMagnitude() const
bool IsHostile() const
float cost
Definition: Effect.h:40
std::uint32_t GetDuration() const
TES_HEAP_REDEFINE_NEW()