diff options
author | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-31 17:46:20 +0000 |
---|---|---|
committer | shennetsind <shennetsind@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2012-05-31 17:46:20 +0000 |
commit | 7f6e5c44ff309f0ff04a17e0249631b0acfb4389 (patch) | |
tree | 4fba0a18c20a43fc71362380c0e80aaa0d883e7f | |
parent | 09f8a1dfa523f9574aa7f4003fb32cb39f18f29c (diff) | |
download | hercules-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.c | 3 | ||||
-rw-r--r-- | src/map/npc.c | 2 |
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); |