CommonLibSSE (Parapets fork)
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  void Copy(const Effect* a_other);
32  void SetDuration(std::int32_t a_duration);
33  void SetMagnitude(float a_magnitude);
34 
35  // members
36  EffectItem effectItem; // 00 - EFIT
37  std::uint32_t pad0C; // 0C
38  EffectSetting* baseEffect; // 10 - EFID
39  float cost; // 18
40  std::uint32_t pad1C; // 1C
41  TESCondition conditions; // 20 - CTDA
42  };
43  static_assert(sizeof(Effect) == 0x28);
44 }
Definition: EffectSetting.h:24
Definition: TESCondition.h:989
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
void Copy(const Effect *a_other)
void SetMagnitude(float a_magnitude)
~Effect()=default
EffectSetting * baseEffect
Definition: Effect.h:38
EffectItem effectItem
Definition: Effect.h:36
std::uint32_t pad0C
Definition: Effect.h:37
std::uint32_t pad1C
Definition: Effect.h:40
TESCondition conditions
Definition: Effect.h:41
float cost
Definition: Effect.h:39
TES_HEAP_REDEFINE_NEW()
void SetDuration(std::int32_t a_duration)