From 1dea49c7f44dc9c33f8d204809a830be58a75ba2 Mon Sep 17 00:00:00 2001 From: shennetsind Date: Sat, 21 Jul 2012 01:26:05 +0000 Subject: Fixed bugreport:5968 mvp tombs should now unload w/o spiking cpu / lag / whatever. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16460 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/mob.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/map/mob.c b/src/map/mob.c index 1dacdd5ab..6b0e8ace2 100644 --- a/src/map/mob.c +++ b/src/map/mob.c @@ -172,8 +172,26 @@ void mvptomb_destroy(struct mob_data *md) { struct npc_data *nd = md->tomb_npc; - if (nd) - npc_unload(nd,true); + if (nd) { + int m, i; + + m = nd->bl.m; + + clif_clearunit_area(&nd->bl,CLR_OUTSIGHT); + + map_delblock(&nd->bl); + + ARR_FIND( 0, map[m].npc_num, i, map[m].npc[i] == nd ); + if( !(i == map[m].npc_num) ) { + map[m].npc_num--; + map[m].npc[i] = map[m].npc[map[m].npc_num]; + map[m].npc[map[m].npc_num] = NULL; + } + + map_deliddb(&nd->bl); + + aFree(nd); + } md->tomb_npc = NULL; } -- cgit v1.2.3-70-g09d2