I tried adding this into Unit::RemoveNoStackAurasDueToAura
if( is_sspt && spellProto->SpellFamilyName == SPELLFAMILY_SHAMAN && i_spellProto->SpellFamilyName == SPELLFAMILY_SHAMAN && spellProto->SpellIconID == 1712 && i_spellProto->SpellIconID == 1712 )
{
// cannot remove higher rank
if (spellmgr.IsRankSpellDueToSpell(spellProto, i_spellId))
if(CompareAuraRanks(spellId, effIndex, i_spellId, i_effIndex) < 0)
return false;
// Its a parent aura (create this aura in ApplyModifier)
if ((*i).second->IsInUse())
{
sLog.outError("Aura (Spell %u Effect %u) is in process but attempt removed at aura (Spell %u Effect %u) adding, need add stack rule for Unit::RemoveNoStackAurasDueToAura", i->second->GetId(), i->second->GetEffIndex(),Aur->GetId(), Aur->GetEffIndex());
continue;
}
RemoveAurasDueToSpell(i_spellId);
if( m_Auras.empty() )
break;
else
next = m_Auras.begin();
}
But no success, it still stacks without a problem.