From 7f69acd466c97a6d435185941aba92be70f060b8 Mon Sep 17 00:00:00 2001 From: Kitzunu <24550914+Kitzunu@users.noreply.github.com> Date: Fri, 29 Oct 2021 15:33:14 +0200 Subject: [PATCH] fix(Core/Unit): remove wrong CombatStop() when charming (#8733) --- src/server/game/Entities/Unit/Unit.cpp | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index b916203d7..7d52ee5c4 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -9759,7 +9759,7 @@ bool Unit::AttackStop() m_attacking = nullptr; // Clear our target - SetTarget(); + SetTarget(ObjectGuid::Empty); ClearUnitState(UNIT_STATE_MELEE_ATTACKING); @@ -17588,17 +17588,6 @@ bool Unit::SetCharmedBy(Unit* charmer, CharmType type, AuraApplication const* au else if (GetTypeId() == TYPEID_PLAYER) RemoveAurasByType(SPELL_AURA_MOD_SHAPESHIFT); - _charmThreatInfo.clear(); - - // Xinef: move invalid threat / hostile references to offline lists - ThreatContainer::StorageType threatList = getThreatMgr().getThreatList(); - for (ThreatContainer::StorageType::const_iterator itr = threatList.begin(); itr != threatList.end(); ++itr) - if (Unit* target = (*itr)->getTarget()) - _charmThreatInfo[target->GetGUID()] = (*itr)->getThreat() - (*itr)->getTempThreatModifier(); - - CombatStop(); - DeleteThreatList(); - if (Creature* creature = ToCreature()) creature->RefreshSwimmingFlag(); @@ -17640,10 +17629,7 @@ void Unit::RemoveCharmedBy(Unit* charmer) RestoreFaction(); CastStop(); - - CombatStop(); - getHostileRefMgr().deleteReferences(); - DeleteThreatList(); + AttackStop(); // xinef: update speed after charming UpdateSpeed(MOVE_RUN, false);