summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt2
-rw-r--r--src/map/npc.c7
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();