fix(Core/Item): Luffa removing more than one bleed (#7752)
This commit is contained in:
@@ -5304,8 +5304,18 @@ void Spell::EffectDispelMechanic(SpellEffIndex effIndex)
|
|||||||
if (!aura->GetApplicationOfTarget(unitTarget->GetGUID()))
|
if (!aura->GetApplicationOfTarget(unitTarget->GetGUID()))
|
||||||
continue;
|
continue;
|
||||||
if (roll_chance_i(aura->CalcDispelChance(unitTarget, !unitTarget->IsFriendlyTo(m_caster))))
|
if (roll_chance_i(aura->CalcDispelChance(unitTarget, !unitTarget->IsFriendlyTo(m_caster))))
|
||||||
|
{
|
||||||
if ((aura->GetSpellInfo()->GetAllEffectsMechanicMask() & (1 << mechanic)))
|
if ((aura->GetSpellInfo()->GetAllEffectsMechanicMask() & (1 << mechanic)))
|
||||||
|
{
|
||||||
dispel_list.push(std::make_pair(aura->GetId(), aura->GetCasterGUID()));
|
dispel_list.push(std::make_pair(aura->GetId(), aura->GetCasterGUID()));
|
||||||
|
|
||||||
|
// spell only removes 1 bleed effect do not continue
|
||||||
|
if (m_spellInfo->Effects[effIndex].BasePoints == 1)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (; dispel_list.size(); dispel_list.pop())
|
for (; dispel_list.size(); dispel_list.pop())
|
||||||
|
|||||||
@@ -7336,6 +7336,12 @@ void SpellMgr::LoadDbcDataCorrections()
|
|||||||
spellInfo->EffectImplicitTargetB[EFFECT_0] = 0;
|
spellInfo->EffectImplicitTargetB[EFFECT_0] = 0;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Item: Luffa removes only 1 bleed effect
|
||||||
|
ApplySpellFix({ 23595 }, [](SpellEntry* spellInfo)
|
||||||
|
{
|
||||||
|
spellInfo->EffectBasePoints[EFFECT_0] = 1;
|
||||||
|
});
|
||||||
|
|
||||||
for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i)
|
for (uint32 i = 0; i < sSpellStore.GetNumRows(); ++i)
|
||||||
{
|
{
|
||||||
SpellEntry* spellInfo = (SpellEntry*)sSpellStore.LookupEntry(i);
|
SpellEntry* spellInfo = (SpellEntry*)sSpellStore.LookupEntry(i);
|
||||||
|
|||||||
Reference in New Issue
Block a user