Description: When Deathbringer's Will (and probably other items) procs the player it transformed, but when the aura expire the transformation (visual only) remains.
Current behavior: The transformation remains after the aura expire
Expected behavior: The transformation must expire with the the aura.
Steps to reproduce the problem:
Branch(es): 3.3.5
TC rev. hash/commit: rev. 3b27a06265e4
This bug appears after rev. 9d639c55b186f14de806bcc92c231585bc2f590b
Because if a unit has a shapeshift aura and a transform aura, and there is not a model id in this shapeshift (example spellid 71: Defensive Stance), it can not change to the native displayId after the transform aura and expire.
Modify Unit::RestoreDisplayId() in Unit.cpp can fix this problem.
Find
// transform aura was found
if (handledAura)
handledAura->HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true);
else if (!shapeshiftAura.empty()) // we've found shapeshift
{
// only one such aura possible at a time
if (uint32 modelId = GetModelForForm(GetShapeshiftForm(), shapeshiftAura.front()->GetId()))
SetDisplayId(modelId);
}
// no auras found - set modelid to default
else
SetDisplayId(GetNativeDisplayId());
Change to
// transform aura was found
if (handledAura)
handledAura->HandleEffect(this, AURA_EFFECT_HANDLE_SEND_FOR_CLIENT, true);
else if (!shapeshiftAura.empty()) // we've found shapeshift
{
// only one such aura possible at a time
if (uint32 modelId = GetModelForForm(GetShapeshiftForm(), shapeshiftAura.front()->GetId()))
SetDisplayId(modelId);
else
SetDisplayId(GetNativeDisplayId());
}
// no auras found - set modelid to default
else
SetDisplayId(GetNativeDisplayId());
But I want to be a Taunka rogue!
Most helpful comment
But I want to be a Taunka rogue!