aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/game/Miscellaneous/SharedDefines.h37
-rw-r--r--src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp129
-rw-r--r--src/server/game/Spells/SpellInfo.cpp1
-rw-r--r--src/server/game/Spells/SpellInfo.h2
4 files changed, 169 insertions, 0 deletions
diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h
index da0958df094..1f085b56dd6 100644
--- a/src/server/game/Miscellaneous/SharedDefines.h
+++ b/src/server/game/Miscellaneous/SharedDefines.h
@@ -1013,6 +1013,43 @@ enum SpellAttr14 : uint32
SPELL_ATTR14_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr14
};
+// EnumUtils: DESCRIBE THIS
+enum SpellAttr15 : uint32
+{
+ SPELL_ATTR15_UNK0 = 0x00000001, // TITLE Unknown attribute 0@Attr15
+ SPELL_ATTR15_UNK1 = 0x00000002, // TITLE Unknown attribute 1@Attr15
+ SPELL_ATTR15_UNK2 = 0x00000004, // TITLE Unknown attribute 2@Attr15
+ SPELL_ATTR15_UNK3 = 0x00000008, // TITLE Unknown attribute 3@Attr15
+ SPELL_ATTR15_UNK4 = 0x00000010, // TITLE Unknown attribute 4@Attr15
+ SPELL_ATTR15_UNK5 = 0x00000020, // TITLE Unknown attribute 5@Attr15
+ SPELL_ATTR15_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr15
+ SPELL_ATTR15_UNK7 = 0x00000080, // TITLE Unknown attribute 7@Attr15
+ SPELL_ATTR15_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr15
+ SPELL_ATTR15_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr15
+ SPELL_ATTR15_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr15
+ SPELL_ATTR15_UNK11 = 0x00000800, // TITLE Unknown attribute 11@Attr15
+ SPELL_ATTR15_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr15
+ SPELL_ATTR15_UNK13 = 0x00002000, // TITLE Unknown attribute 13@Attr15
+ SPELL_ATTR15_UNK14 = 0x00004000, // TITLE Unknown attribute 14@Attr15
+ SPELL_ATTR15_UNK15 = 0x00008000, // TITLE Unknown attribute 15@Attr15
+ SPELL_ATTR15_UNK16 = 0x00010000, // TITLE Unknown attribute 16@Attr15
+ SPELL_ATTR15_UNK17 = 0x00020000, // TITLE Unknown attribute 17@Attr15
+ SPELL_ATTR15_UNK18 = 0x00040000, // TITLE Unknown attribute 18@Attr15
+ SPELL_ATTR15_UNK19 = 0x00080000, // TITLE Unknown attribute 19@Attr15
+ SPELL_ATTR15_UNK20 = 0x00100000, // TITLE Unknown attribute 20@Attr15
+ SPELL_ATTR15_UNK21 = 0x00200000, // TITLE Unknown attribute 21@Attr15
+ SPELL_ATTR15_UNK22 = 0x00400000, // TITLE Unknown attribute 22@Attr15
+ SPELL_ATTR15_UNK23 = 0x00800000, // TITLE Unknown attribute 23@Attr15
+ SPELL_ATTR15_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr15
+ SPELL_ATTR15_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr15
+ SPELL_ATTR15_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr15
+ SPELL_ATTR15_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr15
+ SPELL_ATTR15_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr15
+ SPELL_ATTR15_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr15
+ SPELL_ATTR15_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr15
+ SPELL_ATTR15_UNK31 = 0x80000000 // TITLE Unknown attribute 31@Attr15
+};
+
#define MIN_SPECIALIZATION_LEVEL 10
#define MAX_SPECIALIZATIONS 5
#define PET_SPEC_OVERRIDE_CLASS_INDEX MAX_CLASSES
diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
index 070e30749f5..1ec8bd8aea6 100644
--- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
+++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp
@@ -2207,6 +2207,135 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr14>::ToIndex(SpellAttr14 value)
}
}
+/*******************************************************************\
+|* data for enum 'SpellAttr15' in 'SharedDefines.h' auto-generated *|
+\*******************************************************************/
+template <>
+TC_API_EXPORT EnumText EnumUtils<SpellAttr15>::ToString(SpellAttr15 value)
+{
+ switch (value)
+ {
+ case SPELL_ATTR15_UNK0: return { "SPELL_ATTR15_UNK0", "Unknown attribute 0@Attr15", "" };
+ case SPELL_ATTR15_UNK1: return { "SPELL_ATTR15_UNK1", "Unknown attribute 1@Attr15", "" };
+ case SPELL_ATTR15_UNK2: return { "SPELL_ATTR15_UNK2", "Unknown attribute 2@Attr15", "" };
+ case SPELL_ATTR15_UNK3: return { "SPELL_ATTR15_UNK3", "Unknown attribute 3@Attr15", "" };
+ case SPELL_ATTR15_UNK4: return { "SPELL_ATTR15_UNK4", "Unknown attribute 4@Attr15", "" };
+ case SPELL_ATTR15_UNK5: return { "SPELL_ATTR15_UNK5", "Unknown attribute 5@Attr15", "" };
+ case SPELL_ATTR15_UNK6: return { "SPELL_ATTR15_UNK6", "Unknown attribute 6@Attr15", "" };
+ case SPELL_ATTR15_UNK7: return { "SPELL_ATTR15_UNK7", "Unknown attribute 7@Attr15", "" };
+ case SPELL_ATTR15_UNK8: return { "SPELL_ATTR15_UNK8", "Unknown attribute 8@Attr15", "" };
+ case SPELL_ATTR15_UNK9: return { "SPELL_ATTR15_UNK9", "Unknown attribute 9@Attr15", "" };
+ case SPELL_ATTR15_UNK10: return { "SPELL_ATTR15_UNK10", "Unknown attribute 10@Attr15", "" };
+ case SPELL_ATTR15_UNK11: return { "SPELL_ATTR15_UNK11", "Unknown attribute 11@Attr15", "" };
+ case SPELL_ATTR15_UNK12: return { "SPELL_ATTR15_UNK12", "Unknown attribute 12@Attr15", "" };
+ case SPELL_ATTR15_UNK13: return { "SPELL_ATTR15_UNK13", "Unknown attribute 13@Attr15", "" };
+ case SPELL_ATTR15_UNK14: return { "SPELL_ATTR15_UNK14", "Unknown attribute 14@Attr15", "" };
+ case SPELL_ATTR15_UNK15: return { "SPELL_ATTR15_UNK15", "Unknown attribute 15@Attr15", "" };
+ case SPELL_ATTR15_UNK16: return { "SPELL_ATTR15_UNK16", "Unknown attribute 16@Attr15", "" };
+ case SPELL_ATTR15_UNK17: return { "SPELL_ATTR15_UNK17", "Unknown attribute 17@Attr15", "" };
+ case SPELL_ATTR15_UNK18: return { "SPELL_ATTR15_UNK18", "Unknown attribute 18@Attr15", "" };
+ case SPELL_ATTR15_UNK19: return { "SPELL_ATTR15_UNK19", "Unknown attribute 19@Attr15", "" };
+ case SPELL_ATTR15_UNK20: return { "SPELL_ATTR15_UNK20", "Unknown attribute 20@Attr15", "" };
+ case SPELL_ATTR15_UNK21: return { "SPELL_ATTR15_UNK21", "Unknown attribute 21@Attr15", "" };
+ case SPELL_ATTR15_UNK22: return { "SPELL_ATTR15_UNK22", "Unknown attribute 22@Attr15", "" };
+ case SPELL_ATTR15_UNK23: return { "SPELL_ATTR15_UNK23", "Unknown attribute 23@Attr15", "" };
+ case SPELL_ATTR15_UNK24: return { "SPELL_ATTR15_UNK24", "Unknown attribute 24@Attr15", "" };
+ case SPELL_ATTR15_UNK25: return { "SPELL_ATTR15_UNK25", "Unknown attribute 25@Attr15", "" };
+ case SPELL_ATTR15_UNK26: return { "SPELL_ATTR15_UNK26", "Unknown attribute 26@Attr15", "" };
+ case SPELL_ATTR15_UNK27: return { "SPELL_ATTR15_UNK27", "Unknown attribute 27@Attr15", "" };
+ case SPELL_ATTR15_UNK28: return { "SPELL_ATTR15_UNK28", "Unknown attribute 28@Attr15", "" };
+ case SPELL_ATTR15_UNK29: return { "SPELL_ATTR15_UNK29", "Unknown attribute 29@Attr15", "" };
+ case SPELL_ATTR15_UNK30: return { "SPELL_ATTR15_UNK30", "Unknown attribute 30@Attr15", "" };
+ case SPELL_ATTR15_UNK31: return { "SPELL_ATTR15_UNK31", "Unknown attribute 31@Attr15", "" };
+ default: throw std::out_of_range("value");
+ }
+}
+
+template <>
+TC_API_EXPORT size_t EnumUtils<SpellAttr15>::Count() { return 32; }
+
+template <>
+TC_API_EXPORT SpellAttr15 EnumUtils<SpellAttr15>::FromIndex(size_t index)
+{
+ switch (index)
+ {
+ case 0: return SPELL_ATTR15_UNK0;
+ case 1: return SPELL_ATTR15_UNK1;
+ case 2: return SPELL_ATTR15_UNK2;
+ case 3: return SPELL_ATTR15_UNK3;
+ case 4: return SPELL_ATTR15_UNK4;
+ case 5: return SPELL_ATTR15_UNK5;
+ case 6: return SPELL_ATTR15_UNK6;
+ case 7: return SPELL_ATTR15_UNK7;
+ case 8: return SPELL_ATTR15_UNK8;
+ case 9: return SPELL_ATTR15_UNK9;
+ case 10: return SPELL_ATTR15_UNK10;
+ case 11: return SPELL_ATTR15_UNK11;
+ case 12: return SPELL_ATTR15_UNK12;
+ case 13: return SPELL_ATTR15_UNK13;
+ case 14: return SPELL_ATTR15_UNK14;
+ case 15: return SPELL_ATTR15_UNK15;
+ case 16: return SPELL_ATTR15_UNK16;
+ case 17: return SPELL_ATTR15_UNK17;
+ case 18: return SPELL_ATTR15_UNK18;
+ case 19: return SPELL_ATTR15_UNK19;
+ case 20: return SPELL_ATTR15_UNK20;
+ case 21: return SPELL_ATTR15_UNK21;
+ case 22: return SPELL_ATTR15_UNK22;
+ case 23: return SPELL_ATTR15_UNK23;
+ case 24: return SPELL_ATTR15_UNK24;
+ case 25: return SPELL_ATTR15_UNK25;
+ case 26: return SPELL_ATTR15_UNK26;
+ case 27: return SPELL_ATTR15_UNK27;
+ case 28: return SPELL_ATTR15_UNK28;
+ case 29: return SPELL_ATTR15_UNK29;
+ case 30: return SPELL_ATTR15_UNK30;
+ case 31: return SPELL_ATTR15_UNK31;
+ default: throw std::out_of_range("index");
+ }
+}
+
+template <>
+TC_API_EXPORT size_t EnumUtils<SpellAttr15>::ToIndex(SpellAttr15 value)
+{
+ switch (value)
+ {
+ case SPELL_ATTR15_UNK0: return 0;
+ case SPELL_ATTR15_UNK1: return 1;
+ case SPELL_ATTR15_UNK2: return 2;
+ case SPELL_ATTR15_UNK3: return 3;
+ case SPELL_ATTR15_UNK4: return 4;
+ case SPELL_ATTR15_UNK5: return 5;
+ case SPELL_ATTR15_UNK6: return 6;
+ case SPELL_ATTR15_UNK7: return 7;
+ case SPELL_ATTR15_UNK8: return 8;
+ case SPELL_ATTR15_UNK9: return 9;
+ case SPELL_ATTR15_UNK10: return 10;
+ case SPELL_ATTR15_UNK11: return 11;
+ case SPELL_ATTR15_UNK12: return 12;
+ case SPELL_ATTR15_UNK13: return 13;
+ case SPELL_ATTR15_UNK14: return 14;
+ case SPELL_ATTR15_UNK15: return 15;
+ case SPELL_ATTR15_UNK16: return 16;
+ case SPELL_ATTR15_UNK17: return 17;
+ case SPELL_ATTR15_UNK18: return 18;
+ case SPELL_ATTR15_UNK19: return 19;
+ case SPELL_ATTR15_UNK20: return 20;
+ case SPELL_ATTR15_UNK21: return 21;
+ case SPELL_ATTR15_UNK22: return 22;
+ case SPELL_ATTR15_UNK23: return 23;
+ case SPELL_ATTR15_UNK24: return 24;
+ case SPELL_ATTR15_UNK25: return 25;
+ case SPELL_ATTR15_UNK26: return 26;
+ case SPELL_ATTR15_UNK27: return 27;
+ case SPELL_ATTR15_UNK28: return 28;
+ case SPELL_ATTR15_UNK29: return 29;
+ case SPELL_ATTR15_UNK30: return 30;
+ case SPELL_ATTR15_UNK31: return 31;
+ default: throw std::out_of_range("value");
+ }
+}
+
/***********************************************************************\
|* data for enum 'SpellCastResult' in 'SharedDefines.h' auto-generated *|
\***********************************************************************/
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp
index ca73425d66b..8c438808f2f 100644
--- a/src/server/game/Spells/SpellInfo.cpp
+++ b/src/server/game/Spells/SpellInfo.cpp
@@ -1215,6 +1215,7 @@ SpellInfo::SpellInfo(SpellNameEntry const* spellName, ::Difficulty difficulty, S
AttributesEx12 = _misc->Attributes[12];
AttributesEx13 = _misc->Attributes[13];
AttributesEx14 = _misc->Attributes[14];
+ AttributesEx15 = _misc->Attributes[15];
CastTimeEntry = sSpellCastTimesStore.LookupEntry(_misc->CastingTimeIndex);
DurationEntry = sSpellDurationStore.LookupEntry(_misc->DurationIndex);
RangeEntry = sSpellRangeStore.LookupEntry(_misc->RangeIndex);
diff --git a/src/server/game/Spells/SpellInfo.h b/src/server/game/Spells/SpellInfo.h
index f9f911d963d..5b62fa383a3 100644
--- a/src/server/game/Spells/SpellInfo.h
+++ b/src/server/game/Spells/SpellInfo.h
@@ -340,6 +340,7 @@ class TC_GAME_API SpellInfo
uint32 AttributesEx12 = 0;
uint32 AttributesEx13 = 0;
uint32 AttributesEx14 = 0;
+ uint32 AttributesEx15 = 0;
uint32 AttributesCu = 0;
std::bitset<MAX_SPELL_EFFECTS> NegativeEffects;
uint64 Stances = 0;
@@ -461,6 +462,7 @@ class TC_GAME_API SpellInfo
bool HasAttribute(SpellAttr12 attribute) const { return !!(AttributesEx12 & attribute); }
bool HasAttribute(SpellAttr13 attribute) const { return !!(AttributesEx13 & attribute); }
bool HasAttribute(SpellAttr14 attribute) const { return !!(AttributesEx14 & attribute); }
+ bool HasAttribute(SpellAttr15 attribute) const { return !!(AttributesEx15 & attribute); }
bool HasAttribute(SpellCustomAttributes customAttribute) const { return !!(AttributesCu & customAttribute); }
bool CanBeInterrupted(WorldObject const* interruptCaster, Unit const* interruptTarget, bool ignoreImmunity = false) const;