diff options
| author | mik1893 <michele.roscelli@gmail.com> | 2015-06-29 19:53:28 +0200 |
|---|---|---|
| committer | mik1893 <michele.roscelli@gmail.com> | 2015-06-29 19:53:28 +0200 |
| commit | aacd8feb61e5b596c4af7dc3d2f530b944437424 (patch) | |
| tree | 7fcab2898d20889d7ea01f73b55ad782cee81b60 /src | |
| parent | c8df10dbc00c10fc81535e2904a3092465d654e4 (diff) | |
| parent | 00788c6f0111f237c82706a5a3c21985dc66efdb (diff) | |
Merge pull request #14969 from chaodhib/taunt_threat_fixes
[Spell] Fix bugged amount of threat given by Taunt
Diffstat (limited to 'src')
| -rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 3829e12b790..965b2463139 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -3100,19 +3100,18 @@ void Spell::EffectTaunt(SpellEffIndex /*effIndex*/) if (m_spellInfo->Id == 62124) m_caster->CastSpell(unitTarget, 67485, true); - // Also use this effect to set the taunter's threat to the taunted creature's highest value - if (unitTarget->getThreatManager().getCurrentVictim()) + if (!unitTarget->getThreatManager().getOnlineContainer().empty()) { + // Also use this effect to set the taunter's threat to the taunted creature's highest value float myThreat = unitTarget->getThreatManager().getThreat(m_caster); - float itsThreat = unitTarget->getThreatManager().getCurrentVictim()->getThreat(); - if (itsThreat > myThreat) - unitTarget->getThreatManager().addThreat(m_caster, itsThreat - myThreat); - } + float topThreat = unitTarget->getThreatManager().getOnlineContainer().getMostHated()->getThreat(); + if (topThreat > myThreat) + unitTarget->getThreatManager().doAddThreat(m_caster, topThreat - myThreat); - //Set aggro victim to caster - if (!unitTarget->getThreatManager().getOnlineContainer().empty()) + //Set aggro victim to caster if (HostileReference* forcedVictim = unitTarget->getThreatManager().getOnlineContainer().getReferenceByTarget(m_caster)) unitTarget->getThreatManager().setCurrentVictim(forcedVictim); + } if (unitTarget->ToCreature()->IsAIEnabled && !unitTarget->ToCreature()->HasReactState(REACT_PASSIVE)) unitTarget->ToCreature()->AI()->AttackStart(m_caster); |
