diff --git a/src/game/Object/Unit.cpp b/src/game/Object/Unit.cpp index fd911ecb..1ad68abf 100644 --- a/src/game/Object/Unit.cpp +++ b/src/game/Object/Unit.cpp @@ -4219,6 +4219,9 @@ void Unit::RemoveAllAurasOnEvade() RemoveSpellAuraHolder(iter->second, AURA_REMOVE_BY_DEFAULT); iter = m_spellAuraHolders.begin(); } + + if ((GetTypeId() == TYPEID_UNIT) && HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED)) + { RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); } } void Unit::DelaySpellAuraHolder(uint32 spellId, int32 delaytime, ObjectGuid casterGuid) @@ -6619,9 +6622,6 @@ void Unit::ClearInCombat() if (cThis->GetCreatureInfo()->UnitFlags & UNIT_FLAG_OOC_NOT_ATTACKABLE && !(cThis->GetTemporaryFactionFlags() & TEMPFACTION_TOGGLE_OOC_NOT_ATTACK)) { SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_OOC_NOT_ATTACKABLE); } - if (cThis->HasFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED)) - { RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); } - clearUnitState(UNIT_STAT_ATTACK_PLAYER); } } diff --git a/src/game/WorldHandlers/Map.cpp b/src/game/WorldHandlers/Map.cpp index db624ddf..d2a7ef2a 100644 --- a/src/game/WorldHandlers/Map.cpp +++ b/src/game/WorldHandlers/Map.cpp @@ -566,8 +566,6 @@ void Map::Update(const uint32& t_diff) for (std::vector::iterator it = _removeList.begin(); it != _removeList.end(); ++it) { - if ((*it)->IsTappedBy(plr)) - { (*it)->RemoveFlag(UNIT_DYNAMIC_FLAGS, UNIT_DYNFLAG_TAPPED); } (*it)->RemoveAurasByCaster(plr->GetObjectGuid()); (*it)->_removeAttacker(plr); (*it)->GetHostileRefManager().deleteReference(plr); @@ -577,7 +575,6 @@ void Map::Update(const uint32& t_diff) VisitNearbyCellsOf(*it, grid_object_update, world_object_update); } } - } // non-player active objects