Skip to content

Instantly share code, notes, and snippets.

@Rushor
Created May 7, 2020 21:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rushor/dfc40442926acf9c597f164798e46a20 to your computer and use it in GitHub Desktop.
Save Rushor/dfc40442926acf9c597f164798e46a20 to your computer and use it in GitHub Desktop.
diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp
index 5b3824a887..231af67d5a 100644
--- a/src/server/scripts/World/npcs_special.cpp
+++ b/src/server/scripts/World/npcs_special.cpp
@@ -1585,6 +1585,7 @@ public:
}
EventMap _events;
+ uint32 ResetHealthTimer;
std::unordered_map<uint64, time_t> _damageTimes;
void Reset() override
@@ -1593,6 +1594,7 @@ public:
_events.Reset();
_damageTimes.clear();
+ ResetHealthTimer = 5 * IN_MILLISECONDS;
if (me->GetEntry() != NPC_ADVANCED_TARGET_DUMMY && me->GetEntry() != NPC_TARGET_DUMMY)
_events.ScheduleEvent(EVENT_TD_CHECK_COMBAT, 1 * IN_MILLISECONDS);
else
@@ -1611,13 +1613,20 @@ public:
{
me->AddThreat(doneBy, float(damage)); // just to create threat reference
_damageTimes[doneBy->GetGUID()] = time(NULL);
- damage = 0;
}
void UpdateAI(uint32 diff) override
{
+ if (ResetHealthTimer <= diff)
+ {
+ me->SetHealth(me->GetMaxHealth());
+ ResetHealthTimer = 5 * IN_MILLISECONDS;
+ }
+ else
+ ResetHealthTimer -= diff;
UPDATE `creature_template` SET `Health_mod`=1721.76 WHERE `scriptname` LIKE '%npc_training_dummy%'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment