aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Spells/SpellInfo.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2016-08-23 16:00:44 +0200
committerShauren <shauren.trinity@gmail.com>2016-08-23 16:00:44 +0200
commit4a13ec2fcb82f3618f47843901efb8b75162b5ec (patch)
tree5d5a42ce1113a559f37cee3cc7253e8eb0e69e56 /src/server/game/Spells/SpellInfo.cpp
parentf7cdc78f80d1c38b258619e89e988ff72976e290 (diff)
Core/Spells: Defined known shapeshift flags
Diffstat (limited to 'src/server/game/Spells/SpellInfo.cpp')
-rw-r--r--src/server/game/Spells/SpellInfo.cpp13
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;
}