diff options
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/npc.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f6dceae4e..8f8041da4 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -5,6 +5,8 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/02/06
+ * Fixed startnpctimer starting multiple timers instead of failing when the
+ npc timer is already running. [Skotlex]
* Venom Splasher update: [Skotlex]
- always hits (but splash damage targets can still avoid it)
- Being hit does not cancels it,
diff --git a/src/map/npc.c b/src/map/npc.c index e02b31741..9d6d25cbb 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -640,6 +640,13 @@ int npc_timerevent_start(struct npc_data *nd, int rid) return 1;
}
}
+ //Check if timer is already started.
+ if (sd) {
+ if (sd->npc_timer_id != -1)
+ return 0;
+ } else if (nd->u.scr.timerid != -1)
+ return 0;
+
ted = ers_alloc(timer_event_ers, struct timer_event_data);
ted->next = j;
nd->u.scr.timertick=ted->otick=gettick();
|