Core/Spells: Fixed players being able to mount with all transform auras
Closes #11852
This commit is contained in:
1 parent
9568829dbf
commit
e51976e17a
5 files changed
+64
-9
No files matched your search
@@ -13051,9 +13051,35 @@ bool Unit::IsInFeralForm() const
|
||||
|
||||
bool Unit::IsInDisallowedMountForm() const
|
||||
{
|
||||
ShapeshiftForm form = GetShapeshiftForm();
|
||||
return form != FORM_NONE && form != FORM_BATTLESTANCE && form != FORM_BERSERKERSTANCE && form != FORM_DEFENSIVESTANCE &&
|
||||
form != FORM_SHADOW && form != FORM_STEALTH && form != FORM_UNDEAD;
|
||||
if (ShapeshiftForm form = GetShapeshiftForm())
|
||||
{
|
||||
SpellShapeshiftEntry const* shapeshift = sSpellShapeshiftStore.LookupEntry(form);
|
||||
if (!shapeshift)
|
||||
return true;
|
||||
|
||||
if (!(shapeshift->flags1 & 0x1))
|
||||
return true;
|
||||
}
|
||||
|
||||
if (GetDisplayId() == GetNativeDisplayId())
|
||||
return false;
|
||||
|
||||
CreatureDisplayInfoEntry const* display = sCreatureDisplayInfoStore.LookupEntry(GetDisplayId());
|
||||
if (!display)
|
||||
return true;
|
||||
|
||||
CreatureDisplayInfoExtraEntry const* displayExtra = sCreatureDisplayInfoExtraStore.LookupEntry(display->ExtraId);
|
||||
if (!displayExtra)
|
||||
return true;
|
||||
|
||||
CreatureModelDataEntry const* model = sCreatureModelDataStore.LookupEntry(display->ModelId);
|
||||
ChrRacesEntry const* race = sChrRacesStore.LookupEntry(displayExtra->Race);
|
||||
|
||||
if (model && !(model->Flags & 0x80))
|
||||
if (race && !(race->Flags & 0x4))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*#######################################
|
||||
|
||||
Reference in new issue
Block a user