aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortreeston <treeston.mmoc@gmail.com>2015-09-06 22:48:23 +0200
committertreeston <treeston.mmoc@gmail.com>2015-09-07 19:04:44 +0200
commitd42a4980631ddaf0a4dbf7f93ef87408c3238f84 (patch)
tree6b160420431ad769cb19190cefb5a036b1ba69d8 /src
parenta32793ffd371db0f64d30e8a5dbfd4a58d09ae45 (diff)
Allow mounting while under transformations that can be cast while mounted.
Closes #12042. Credit to @SeTM for base code used.
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index d02a22d43f4..0978adc1814 100644
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -13171,6 +13171,10 @@ bool Unit::IsInFeralForm() const
bool Unit::IsInDisallowedMountForm() const
{
+ if (SpellInfo const* transformSpellInfo = sSpellMgr->GetSpellInfo(getTransForm()))
+ if (transformSpellInfo->HasAttribute(SPELL_ATTR0_CASTABLE_WHILE_MOUNTED))
+ return false;
+
if (ShapeshiftForm form = GetShapeshiftForm())
{
SpellShapeshiftEntry const* shapeshift = sSpellShapeshiftStore.LookupEntry(form);