Core/Auras: only apply shapeshift aura passives when changing forms
Closes #14845 Closes #17617
This commit is contained in:
1 parent
4e61ff8c9c
commit
b6f3457458
1 file changed
+8
-4
@@ -1764,7 +1764,12 @@ void AuraEffect::HandleAuraModShapeshift(AuraApplication const* aurApp, uint8 mo
|
||||
if (aurApp->GetRemoveMode())
|
||||
return;
|
||||
|
||||
ShapeshiftForm prevForm = target->GetShapeshiftForm();
|
||||
target->SetShapeshiftForm(form);
|
||||
// add the shapeshift aura's boosts
|
||||
if (prevForm != form)
|
||||
HandleShapeshiftBoosts(target, true);
|
||||
|
||||
if (modelid > 0)
|
||||
{
|
||||
SpellInfo const* transformSpellInfo = sSpellMgr->GetSpellInfo(target->getTransForm());
|
||||
@@ -1835,11 +1840,10 @@ void AuraEffect::HandleAuraModShapeshift(AuraApplication const* aurApp, uint8 mo
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// adding/removing linked auras
|
||||
// add/remove the shapeshift aura's boosts
|
||||
HandleShapeshiftBoosts(target, apply);
|
||||
// remove the shapeshift aura's boosts
|
||||
HandleShapeshiftBoosts(target, false);
|
||||
}
|
||||
|
||||
if (target->GetTypeId() == TYPEID_PLAYER)
|
||||
target->ToPlayer()->InitDataForForm();
|
||||
|
||||
Reference in new issue
Block a user