summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-31 17:46:20 +0000
committershennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-05-31 17:46:20 +0000
commit7f6e5c44ff309f0ff04a17e0249631b0acfb4389 (patch)
tree4fba0a18c20a43fc71362380c0e80aaa0d883e7f
parent09f8a1dfa523f9574aa7f4003fb32cb39f18f29c (diff)
downloadhercules-7f6e5c44ff309f0ff04a17e0249631b0acfb4389.tar.gz
hercules-7f6e5c44ff309f0ff04a17e0249631b0acfb4389.tar.bz2
hercules-7f6e5c44ff309f0ff04a17e0249631b0acfb4389.tar.xz
hercules-7f6e5c44ff309f0ff04a17e0249631b0acfb4389.zip
Fixed bugreport:5804 Instances no longer leave "broken" timers behind. Instances also will destroy themselves upon @reloadscript since they break at that.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16183 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/instance.c3
-rw-r--r--src/map/npc.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/src/map/instance.c b/src/map/instance.c
index 44b735518..9d0b8246e 100644
--- a/src/map/instance.c
+++ b/src/map/instance.c
@@ -323,6 +323,9 @@ void instance_del_map(int m)
map_removemapdb(&map[m]);
memset(&map[m], 0x00, sizeof(map[0]));
+
+ /* for it is default and makes it not try to delete a non-existent timer since we did not delete this entry. */
+ map[m].mob_delete_timer = INVALID_TIMER;
}
/*--------------------------------------
diff --git a/src/map/npc.c b/src/map/npc.c
index 3cd588b73..93f9691db 100644
--- a/src/map/npc.c
+++ b/src/map/npc.c
@@ -3508,6 +3508,8 @@ int npc_reload(void) {
"\t-'"CL_WHITE"%d"CL_RESET"' Mobs Not Cached\n",
npc_id - npc_new_min, npc_warp, npc_shop, npc_script, npc_mob, npc_cache_mob, npc_delay_mob);
+ do_final_instance();
+
for( i = 0; i < ARRAYLENGTH(instance); ++i )
instance_init(instance[i].instance_id);