CommonLibVR
Loading...
Searching...
No Matches
Effect.h
Go to the documentation of this file.
1#pragma once
2
4#include "RE/T/TESCondition.h"
5
6namespace 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
27 ~Effect() = default;
28
30
31 bool IsMatch(EffectSetting* a_base, float a_mag, std::uint32_t a_area, std::uint32_t a_dur, float a_cost);
32 float GetMagnitude() const;
33 std::uint32_t GetArea() const;
34 std::uint32_t GetDuration() const;
35 bool IsHostile() const;
36
37 // members
38 EffectItem effectItem; // 00 - EFIT
39 std::uint32_t pad0C; // 0C
41 float cost; // 18
42 std::uint32_t pad1C; // 1C
44 private:
46 };
47 static_assert(sizeof(Effect) == 0x28);
48}
#define KEEP_FOR_RE()
Definition PCH.h:517
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:40
EffectItem effectItem
Definition Effect.h:38
std::uint32_t pad0C
Definition Effect.h:39
std::uint32_t pad1C
Definition Effect.h:42
TESCondition conditions
Definition Effect.h:43
float GetMagnitude() const
bool IsHostile() const
float cost
Definition Effect.h:41
std::uint32_t GetDuration() const
TES_HEAP_REDEFINE_NEW()
bool IsMatch(EffectSetting *a_base, float a_mag, std::uint32_t a_area, std::uint32_t a_dur, float a_cost)