diff options
| author | Shauren <shauren.trinity@gmail.com> | 2016-08-23 16:00:44 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2016-08-23 16:00:44 +0200 |
| commit | 4a13ec2fcb82f3618f47843901efb8b75162b5ec (patch) | |
| tree | 5d5a42ce1113a559f37cee3cc7253e8eb0e69e56 /src/server/game/Spells/SpellInfo.cpp | |
| parent | f7cdc78f80d1c38b258619e89e988ff72976e290 (diff) | |
Core/Spells: Defined known shapeshift flags
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
| -rw-r--r-- | src/server/game/Spells/SpellInfo.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/src/server/game/Spells/SpellInfo.cpp b/src/server/game/Spells/SpellInfo.cpp index 3aca613f817..b2ab5a8a57e 100644 --- a/src/server/game/Spells/SpellInfo.cpp +++ b/src/server/game/Spells/SpellInfo.cpp @@ -1652,12 +1652,12 @@ SpellCastResult SpellInfo::CheckShapeshift(uint32 form) const TC_LOG_ERROR("spells", "GetErrorAtShapeshiftedCast: unknown shapeshift %u", form); return SPELL_CAST_OK; } - actAsShifted = !(shapeInfo->Flags & 1); // shapeshift acts as normal form for spells + actAsShifted = !(shapeInfo->Flags & SHAPESHIFT_FORM_IS_NOT_A_SHAPESHIFT); } if (actAsShifted) { - if (Attributes & SPELL_ATTR0_NOT_SHAPESHIFT) // not while shapeshifted + if (Attributes & SPELL_ATTR0_NOT_SHAPESHIFT || (shapeInfo && shapeInfo->Flags & SHAPESHIFT_FORM_PREVENT_USING_OWN_SKILLS)) // not while shapeshifted return SPELL_FAILED_NOT_SHAPESHIFT; else if (Stances != 0) // needs other shapeshift return SPELL_FAILED_ONLY_SHAPESHIFT; @@ -1669,15 +1669,6 @@ SpellCastResult SpellInfo::CheckShapeshift(uint32 form) const return SPELL_FAILED_ONLY_SHAPESHIFT; } - // Check if stance disables cast of not-stance spells - // Example: cannot cast any other spells in zombie or ghoul form - /// @todo Find a way to disable use of these spells clientside - if (shapeInfo && shapeInfo->Flags & 0x400) - { - if (!(stanceMask & Stances)) - return SPELL_FAILED_ONLY_SHAPESHIFT; - } - return SPELL_CAST_OK; } |
