From cbd15650f155f11acf49d03363fb65ee291dbee8 Mon Sep 17 00:00:00 2001 From: ultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec> Date: Sun, 20 Jan 2008 12:36:28 +0000 Subject: [PATCH] Fixed yet another status code crash, this time when a stonecursed mob with high maxhp changes class to a Poring (see bugreport:621) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12097 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/status.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/map/status.c b/src/map/status.c index ce33bceeb9..32d8bfacb9 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -6780,7 +6780,14 @@ int status_change_timer(int tid, unsigned int tick, int id, int data) } if(--(sce->val3) > 0) { if(++(sce->val4)%5 == 0 && status->hp > status->max_hp/4) + { + bool flag; + map_freeblock_lock(); status_zap(bl, sce->val2, 0); + flag = !sc->data[type]; + map_freeblock_unlock(); + if (flag) return 0; //target died, SC cancelled already. + } sc_timer_next(1000+tick,status_change_timer, bl->id, data ); return 0; }