diff options
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 37 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 129 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 1 | ||||
-rw-r--r-- | src/server/game/Spells/SpellInfo.h | 2 |
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; |