diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-06-27 00:25:03 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-06-27 00:25:03 +0200 |
commit | cb335c32740d0af87ae693e4ea3833236354d080 (patch) | |
tree | bdc481aef7249fbcb090ed26010b2168380f21f3 | |
parent | f20fa7aeb59240b3425e2e4f52324e3aea63e564 (diff) |
Core/Spells: Implemented SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS
-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 9c083d9fae0..d8e841dcbba 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -13772,6 +13772,9 @@ SpellInfo const* Unit::GetCastSpellInfo(SpellInfo const* spellInfo, TriggerCastF if (auraEffect->GetSpellInfo()->HasAttribute(SPELL_ATTR8_IGNORE_SPELLCAST_OVERRIDE_COST)) triggerFlag |= TRIGGERED_IGNORE_POWER_AND_REAGENT_COST; + if (auraEffect->GetSpellInfo()->HasAttribute(SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS)) + triggerFlag |= TRIGGERED_IGNORE_SHAPESHIFT; + return newInfo; } } diff --git a/src/server/game/Miscellaneous/SharedDefines.h b/src/server/game/Miscellaneous/SharedDefines.h index 05cf577e5f7..babba2adba3 100644 --- a/src/server/game/Miscellaneous/SharedDefines.h +++ b/src/server/game/Miscellaneous/SharedDefines.h @@ -842,7 +842,7 @@ enum SpellAttr11 : uint32 SPELL_ATTR11_UNK6 = 0x00000040, // TITLE Unknown attribute 6@Attr11 SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL = 0x00000080, // TITLE Ignore Caster's spell level DESCRIPTION Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5 SPELL_ATTR11_UNK8 = 0x00000100, // TITLE Unknown attribute 8@Attr11 - SPELL_ATTR11_UNK9 = 0x00000200, // TITLE Unknown attribute 9@Attr11 + SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS = 0x00000200, // TITLE Ignore Spellcast Override Shapeshift Requirements SPELL_ATTR11_UNK10 = 0x00000400, // TITLE Unknown attribute 10@Attr11 SPELL_ATTR11_NOT_USABLE_IN_INSTANCES = 0x00000800, // TITLE Not in Instances SPELL_ATTR11_UNK12 = 0x00001000, // TITLE Unknown attribute 12@Attr11 diff --git a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp index c99a81d6213..0b46ee533fe 100644 --- a/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp +++ b/src/server/game/Miscellaneous/enuminfo_SharedDefines.cpp @@ -1702,7 +1702,7 @@ TC_API_EXPORT EnumText EnumUtils<SpellAttr11>::ToString(SpellAttr11 value) case SPELL_ATTR11_UNK6: return { "SPELL_ATTR11_UNK6", "Unknown attribute 6@Attr11", "" }; case SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL: return { "SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL", "Ignore Caster's spell level", "Spell_C_GetSpellRank returns SpellLevels->MaxLevel * 5 instead of std::min(SpellLevels->MaxLevel, caster->Level) * 5" }; case SPELL_ATTR11_UNK8: return { "SPELL_ATTR11_UNK8", "Unknown attribute 8@Attr11", "" }; - case SPELL_ATTR11_UNK9: return { "SPELL_ATTR11_UNK9", "Unknown attribute 9@Attr11", "" }; + case SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS: return { "SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS", "Ignore Spellcast Override Shapeshift Requirements", "" }; case SPELL_ATTR11_UNK10: return { "SPELL_ATTR11_UNK10", "Unknown attribute 10@Attr11", "" }; case SPELL_ATTR11_NOT_USABLE_IN_INSTANCES: return { "SPELL_ATTR11_NOT_USABLE_IN_INSTANCES", "Not in Instances", "" }; case SPELL_ATTR11_UNK12: return { "SPELL_ATTR11_UNK12", "Unknown attribute 12@Attr11", "" }; @@ -1746,7 +1746,7 @@ TC_API_EXPORT SpellAttr11 EnumUtils<SpellAttr11>::FromIndex(size_t index) case 6: return SPELL_ATTR11_UNK6; case 7: return SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL; case 8: return SPELL_ATTR11_UNK8; - case 9: return SPELL_ATTR11_UNK9; + case 9: return SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS; case 10: return SPELL_ATTR11_UNK10; case 11: return SPELL_ATTR11_NOT_USABLE_IN_INSTANCES; case 12: return SPELL_ATTR11_UNK12; @@ -1787,7 +1787,7 @@ TC_API_EXPORT size_t EnumUtils<SpellAttr11>::ToIndex(SpellAttr11 value) case SPELL_ATTR11_UNK6: return 6; case SPELL_ATTR11_RANK_IGNORES_CASTER_LEVEL: return 7; case SPELL_ATTR11_UNK8: return 8; - case SPELL_ATTR11_UNK9: return 9; + case SPELL_ATTR11_IGNORE_SPELLCAST_OVERRIDE_SHAPESHIFT_REQUIREMENTS: return 9; case SPELL_ATTR11_UNK10: return 10; case SPELL_ATTR11_NOT_USABLE_IN_INSTANCES: return 11; case SPELL_ATTR11_UNK12: return 12; |