From f931ef7bcb70d2134d71cf86c804bc6301001fd2 Mon Sep 17 00:00:00 2001 From: Akkadius Date: Tue, 28 Mar 2017 02:45:07 -0500 Subject: [PATCH] [Performance] Disabled enraged timer checks for NPC's that do not actually have enrage as a special attack --- changelog.txt | 7 ++++--- zone/npc.cpp | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/changelog.txt b/changelog.txt index 7873e9c15..e155cf06e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,8 +3,9 @@ EQEMu Changelog (Started on Sept 24, 2003 15:50) == 03/28/2017 == Akkadius: [Performance] Fixed a large overhead issue where every single NPC in a zone was checking to depop themselves as a swarm pet every 3ms regardless of being a swarm pet or not. Swarm pets now check to depop only when their timer is up -Akkadius: [Performance] Removed Clients constantly calculating light amount on equipment every 600ms, instead clients will update - light when changing equipment or entering a zone +Akkadius: [Performance] Removed a timer where clients would constantly calculate light amount on equipment every 600ms, instead + clients will update light when changing equipment or entering a zone +Akkadius: [Performance] Disabled enraged timer checks for NPC's that do not actually have enrage as a special attack == 03/27/2017 == Akkadius: [Performance] Reworked how client to NPC aggro checks are made @@ -26,7 +27,7 @@ Akkadius: [Performance] Reduced CPU footprint in cases where a client is checkin - When zones have many players, with many NPC's, this adds up quickly == 03/12/2017 == -Akkadius: +Akkadius: [Performance] - Implemented range rules for packets and other functions RULE_INT ( Range, Say, 135 ) RULE_INT ( Range, Emote, 135 ) diff --git a/zone/npc.cpp b/zone/npc.cpp index 142dc3120..4dd65b1d4 100644 --- a/zone/npc.cpp +++ b/zone/npc.cpp @@ -717,6 +717,11 @@ bool NPC::Process() if (enraged_timer.Check()){ ProcessEnrage(); + + /* Don't keep running the check every second if we don't have enrage */ + if (!GetSpecialAbility(SPECATK_ENRAGE)) { + enraged_timer.Disable(); + } } //Handle assists...