From 74facb367c45addee5b7ea16ffcedf4e8fe8f1be Mon Sep 17 00:00:00 2001 From: Cgbd Date: Wed, 5 Apr 2017 00:13:03 +0200 Subject: [PATCH] Fix Huhuran's wyvern sting and poison bolt target selection --- src/game/Spells/Spell.cpp | 17 +++++++++++------ .../temple_of_ahnqiraj/boss_huhuran.cpp | 7 ++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/game/Spells/Spell.cpp b/src/game/Spells/Spell.cpp index c88eabd23..3020223f0 100644 --- a/src/game/Spells/Spell.cpp +++ b/src/game/Spells/Spell.cpp @@ -1727,13 +1727,9 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& case 28542: // Life Drain (Naxx, Sapphiron) unMaxTargets = 2; break; - case 26180: // Wyvern Sting (AQ40, Princess Huhuran) case 28796: // Poison Bolt Volley (Naxx, Faerlina) unMaxTargets = 10; break; - case 25991: // Poison Bolt Volley (AQ40, Princess Huhuran) - unMaxTargets = 15; - break; } break; } @@ -1769,11 +1765,20 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& switch (m_spellInfo->SpellFamilyName) { case SPELLFAMILY_GENERIC: + { + switch (m_spellInfo->Id) + { + case 26052: // Poison Bolt Volley (AQ40, Princess Huhuran) + SelectClosestTargets = true; + break; + } + break; + } + case SPELLFAMILY_HUNTER: { switch (m_spellInfo->Id) { case 26180: // Wyvern Sting (AQ40, Princess Huhuran) - case 25991: // Poison Bolt Volley (AQ40, Princess Huhuran) SelectClosestTargets = true; break; } @@ -2019,7 +2024,7 @@ void Spell::SetTargetMap(SpellEffectIndex effIndex, uint32 targetMode, UnitList& targetUnitMap.erase(itr); } } - if (SelectClosestTargets && targetUnitMap.size() > unMaxTargets) + if (SelectClosestTargets && unMaxTargets && targetUnitMap.size() > unMaxTargets) { targetUnitMap.sort(TargetDistanceOrderNear(m_caster)); UnitList::iterator itr = targetUnitMap.begin(); diff --git a/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_huhuran.cpp b/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_huhuran.cpp index 5451b6604..6e60a440c 100644 --- a/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_huhuran.cpp +++ b/src/scripts/kalimdor/silithus/temple_of_ahnqiraj/boss_huhuran.cpp @@ -92,11 +92,8 @@ struct boss_huhuranAI : public ScriptedAI // Wyvern Timer if (Wyvern_Timer < diff) { - if (Unit *target = m_creature->SelectAttackingTarget(ATTACKING_TARGET_RANDOM, 0, SPELL_WYVERNSTING, SELECT_FLAG_IN_MELEE_RANGE)) - { - if (DoCastSpellIfCan(target, SPELL_WYVERNSTING) == CAST_OK) - Wyvern_Timer = urand(15000, 32000); - } + if (DoCastSpellIfCan(m_creature->getVictim(), SPELL_WYVERNSTING) == CAST_OK) + Wyvern_Timer = urand(15000, 32000); } else Wyvern_Timer -= diff;