diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/npc.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f0efb1fbf..a066ac439 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2010/08/20 + * Made it so global events don't get executed in duplicates to prevent unnecessary reprocessing of events that only need to be run once. + This potentially reduces the total number of global events by hundreds, even thousands. [Paradox924X] * Added a few missing updates to the last packet update to properly support player clones and disguising. [Skotlex] 2010/08/19 * Rev. 14384 Follow up to r14383, changed use of clif_font_area to clif_font, seems Skotlex forgot them. [L0ne_W0lf] diff --git a/src/map/npc.c b/src/map/npc.c index 8db2036a2..bce543dd8 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -282,7 +282,7 @@ int npc_event_doall_sub(DBKey key, void* data, va_list ap) rid = va_arg(ap, int); p = strchr(p, ':'); // match only the event name - if( p && strcmpi(name, p) == 0 ) + if( p && strcmpi(name, p) == 0 && !ev->nd->src_id ) // Do not run on duplicates. [Paradox924X] { if(rid) // a player may only have 1 script running at the same time npc_event_sub(map_id2sd(rid),ev,key.str); |