From c2e7fc730554fc9dcd572969a4c1d0e0910ac846 Mon Sep 17 00:00:00 2001 From: FlavioJS Date: Mon, 23 Feb 2009 16:36:58 +0000 Subject: * Made mob_timer_delete check the deletetimer in the mob. * Added missing delete_timer's every time deletetimer is being set. (except when allocating) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13544 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/skill.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/map/skill.c') diff --git a/src/map/skill.c b/src/map/skill.c index 9d03be3d9..a1fe80c06 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6002,6 +6002,8 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk if (md) { md->master_id = src->id; md->special_state.ai = skillid==AM_SPHEREMINE?2:3; + if( md->deletetimer != INVALID_TIMER ) + delete_timer(md->deletetimer, mob_timer_delete); md->deletetimer = add_timer (gettick() + skill_get_time(skillid,skilllv), mob_timer_delete, md->bl.id, 0); mob_spawn (md); //Now it is ready for spawning. } @@ -6104,7 +6106,11 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk TBL_MOB* md = mob_once_spawn_sub(src, src->m, x, y, "--ja--",(skilllv < 2 ? 1084+rand()%2 : 1078+rand()%6),""); if (!md) break; if ((i = skill_get_time(skillid, skilllv)) > 0) + { + if( md->deletetimer != INVALID_TIMER ) + delete_timer(md->deletetimer, mob_timer_delete); md->deletetimer = add_timer (tick + i, mob_timer_delete, md->bl.id, 0); + } mob_spawn (md); } } -- cgit v1.2.3-60-g2f50