diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-05-15 14:58:37 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2024-05-28 17:02:28 +0200 |
commit | 89b0e5fa9b20b21c73b1333cb22a89d0d1cc6b4d (patch) | |
tree | 9f8cd29d08277a5a474d6ff97451451caf9e7da4 | |
parent | d871cff67c41a91c5e839cbf9bfda5bc911f53a9 (diff) |
Core/Spells: Implemented SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT
(cherry picked from commit 48bc24697f58f95a5ff07e0884ef03d27a303f73)
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 3 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/SharedDefines.h | 2 | ||||
-rw-r--r-- | src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp | 6 |
3 files changed, 7 insertions, 4 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 36a8ae32026..45e85c5677b 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -3135,6 +3135,9 @@ bool Unit::IsMovementPreventedByCasting() const bool Unit::CanCastSpellWhileMoving(SpellInfo const* spellInfo) const { + if (spellInfo->HasAttribute(SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT)) + return false; + if (HasAuraTypeWithAffectMask(SPELL_AURA_CAST_WHILE_WALKING, spellInfo)) return true; diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 3d1c4477592..1357fa0c69f 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -936,7 +936,7 @@ enum SpellAttr13 : uint32 SPELL_ATTR13_UNK24 = 0x01000000, // TITLE Unknown attribute 24@Attr13 SPELL_ATTR13_UNK25 = 0x02000000, // TITLE Unknown attribute 25@Attr13 SPELL_ATTR13_UNK26 = 0x04000000, // TITLE Unknown attribute 26@Attr13 - SPELL_ATTR13_UNK27 = 0x08000000, // TITLE Unknown attribute 27@Attr13 + SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT = 0x08000000, // TITLE Do Not Allow "Disable Movement Interrupt" SPELL_ATTR13_UNK28 = 0x10000000, // TITLE Unknown attribute 28@Attr13 SPELL_ATTR13_UNK29 = 0x20000000, // TITLE Unknown attribute 29@Attr13 SPELL_ATTR13_UNK30 = 0x40000000, // TITLE Unknown attribute 30@Attr13 diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index 6204cbb70d7..6563def0dd0 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -1981,7 +1981,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr13>::ToString(SpellAttr13 value) case SPELL_ATTR13_UNK24: return { "SPELL_ATTR13_UNK24", "Unknown attribute 24@Attr13", "" }; case SPELL_ATTR13_UNK25: return { "SPELL_ATTR13_UNK25", "Unknown attribute 25@Attr13", "" }; case SPELL_ATTR13_UNK26: return { "SPELL_ATTR13_UNK26", "Unknown attribute 26@Attr13", "" }; - case SPELL_ATTR13_UNK27: return { "SPELL_ATTR13_UNK27", "Unknown attribute 27@Attr13", "" }; + case SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT: return { "SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT", "Do Not Allow \042Disable Movement Interrupt\042", "" }; case SPELL_ATTR13_UNK28: return { "SPELL_ATTR13_UNK28", "Unknown attribute 28@Attr13", "" }; case SPELL_ATTR13_UNK29: return { "SPELL_ATTR13_UNK29", "Unknown attribute 29@Attr13", "" }; case SPELL_ATTR13_UNK30: return { "SPELL_ATTR13_UNK30", "Unknown attribute 30@Attr13", "" }; @@ -2025,7 +2025,7 @@ TC_API_EXPORT SpellAttr13 EnumUtils<SpellAttr13>::FromIndex(size_t index) case 24: return SPELL_ATTR13_UNK24; case 25: return SPELL_ATTR13_UNK25; case 26: return SPELL_ATTR13_UNK26; - case 27: return SPELL_ATTR13_UNK27; + case 27: return SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT; case 28: return SPELL_ATTR13_UNK28; case 29: return SPELL_ATTR13_UNK29; case 30: return SPELL_ATTR13_UNK30; @@ -2066,7 +2066,7 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr13>::ToIndex(SpellAttr13 value) case SPELL_ATTR13_UNK24: return 24; case SPELL_ATTR13_UNK25: return 25; case SPELL_ATTR13_UNK26: return 26; - case SPELL_ATTR13_UNK27: return 27; + case SPELL_ATTR13_DO_NOT_ALLOW_DISABLE_MOVEMENT_INTERRUPT: return 27; case SPELL_ATTR13_UNK28: return 28; case SPELL_ATTR13_UNK29: return 29; case SPELL_ATTR13_UNK30: return 30; |