From 728d0185d6a0757eb6fe5893b2551d5c47ba9450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Sun, 28 Mar 2021 18:48:55 +0200 Subject: [PATCH] Revert "fix(Core/Creature): Respawning mobs missing aggro "grace period" (#4893)" This reverts commit e06d30e686b60d89031edcdc271d8b2bbe280936. --- src/server/game/Entities/Creature/Creature.cpp | 8 +------- src/server/game/Entities/Creature/Creature.h | 1 - 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index 24dee9f9de..94584ef260 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -1791,7 +1791,7 @@ void Creature::Respawn(bool force) //Re-initialize reactstate that could be altered by movementgenerators InitializeReactState(); } - m_respawnedTime = time(nullptr); + // xinef: relocate notifier, fixes npc appearing in corpse position after forced respawn (instead of spawn) m_last_notify_position.Relocate(-5000.0f, -5000.0f, -5000.0f, 0.0f); UpdateObjectVisibility(false); @@ -2276,12 +2276,6 @@ bool Creature::CanCreatureAttack(Unit const* victim, bool skipDistCheck) const if (victim->GetTypeId() == TYPEID_UNIT && victim->ToCreature()->IsInEvadeMode()) return false; - // cannot attack if is during 5 second grace period, unless being attacked - if ((time(nullptr) - m_respawnedTime) < 5 && victim->getAttackers().empty()) - { - return false; - } - if (!IS_PLAYER_GUID(GetCharmerOrOwnerGUID())) { if (GetMap()->IsDungeon()) diff --git a/src/server/game/Entities/Creature/Creature.h b/src/server/game/Entities/Creature/Creature.h index d4dcbc3f56..124074ffc4 100644 --- a/src/server/game/Entities/Creature/Creature.h +++ b/src/server/game/Entities/Creature/Creature.h @@ -769,7 +769,6 @@ protected: /// Timers time_t m_corpseRemoveTime; // (msecs)timer for death or corpse disappearance time_t m_respawnTime; // (secs) time of next respawn - time_t m_respawnedTime; // (secs) time when creature respawned uint32 m_respawnDelay; // (secs) delay between corpse disappearance and respawning uint32 m_corpseDelay; // (secs) delay between death and corpse disappearance float m_wanderDistance;