diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 94f3baed558..9d29d1f4f7f 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1030,32 +1030,8 @@ Unit* Creature::SelectVictim() { Unit* target = nullptr; - ThreatManager& mgr = GetThreatManager(); - - if (mgr.CanHaveThreatList()) - { - target = mgr.SelectVictim(); - while (!target) - { - Unit* newTarget = nullptr; - // nothing found to attack - try to find something we're in combat with (but don't have a threat entry for yet) and start attacking it - for (auto const& pair : GetCombatManager().GetPvECombatRefs()) - { - newTarget = pair.second->GetOther(this); - if (!mgr.IsThreatenedBy(newTarget, true)) - { - mgr.AddThreat(newTarget, 0.0f, nullptr, true, true); - ASSERT(mgr.IsThreatenedBy(newTarget, true), "%s tried to add combatant %s to threat list, but this failed - potential infinite loop", GetName().c_str(), newTarget->GetName().c_str()); // prevent potential infinite loop - break; - } - else - newTarget = nullptr; - } - if (!newTarget) - break; - target = mgr.SelectVictim(); - } - } + if (CanHaveThreatList()) + target = GetThreatManager().SelectVictim(); else if (!HasReactState(REACT_PASSIVE)) { // We're a player pet, probably @@ -1095,15 +1071,6 @@ Unit* Creature::SelectVictim() if (GetVehicle()) return nullptr; - // search nearby enemy before enter evade mode - if (HasReactState(REACT_AGGRESSIVE)) - { - target = SelectNearestTargetInAttackDistance(m_CombatDistance ? m_CombatDistance : ATTACK_DISTANCE); - - if (target && _IsTargetAcceptable(target) && CanCreatureAttack(target)) - return target; - } - Unit::AuraEffectList const& iAuras = GetAuraEffectsByType(SPELL_AURA_MOD_INVISIBILITY); if (!iAuras.empty()) {