aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellDefines.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-02-09 23:46:29 +0100
committerShauren <shauren.trinity@gmail.com>2022-02-09 23:46:29 +0100
commit3844c79adb749432b0f41b9b1aecde7287b9f765 (patch)
treedc8eb61e14c50dfd3173cfcf24e0030c37a92595 /src/server/game/Spells/SpellDefines.h
parent5c417bec984c383702619ae05e867512100cb3e9 (diff)
Core/Spells: Load entire proc flags array from db2
Diffstat (limited to 'src/server/game/Spells/SpellDefines.h')
-rw-r--r--src/server/game/Spells/SpellDefines.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/server/game/Spells/SpellDefines.h b/src/server/game/Spells/SpellDefines.h
index e9e683d36bc..f651339e1f8 100644
--- a/src/server/game/Spells/SpellDefines.h
+++ b/src/server/game/Spells/SpellDefines.h
@@ -19,6 +19,7 @@
#define TRINITY_SPELLDEFINES_H
#include "Define.h"
+#include "FlagsArray.h"
#include "EnumFlag.h"
#include "ObjectGuid.h"
#include "Optional.h"
@@ -34,6 +35,8 @@ class Spell;
class Unit;
class WorldObject;
enum Difficulty : uint8;
+enum ProcFlags : uint32;
+enum ProcFlags2 : int32;
namespace UF
{
@@ -484,4 +487,26 @@ struct SpellCastVisual
operator WorldPackets::Spells::SpellCastVisual() const;
};
+class ProcFlagsInit : public FlagsArray<int32, 2>
+{
+public:
+ constexpr ProcFlagsInit(ProcFlags procFlags = {}, ProcFlags2 procFlags2 = {})
+ {
+ _storage[0] = int32(procFlags);
+ _storage[1] = int32(procFlags2);
+ }
+
+ constexpr ProcFlagsInit& operator|=(ProcFlags procFlags)
+ {
+ _storage[0] |= int32(procFlags);
+ return *this;
+ }
+
+ constexpr ProcFlagsInit& operator|=(ProcFlags2 procFlags2)
+ {
+ _storage[1] |= int32(procFlags2);
+ return *this;
+ }
+};
+
#endif