From 0eca88efc69becc591428fbb6b9fddd9237afd3d Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 26 Feb 2007 04:09:58 +0000 Subject: - indent cleanups - Fixed Self Destruction causing double-free'd errors and triggering twice when a self-destruct cast makes other objects trigger self destruct as well git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9924 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/chrif.c | 4 +--- src/map/map.c | 2 ++ src/map/skill.c | 2 ++ 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/map') diff --git a/src/map/chrif.c b/src/map/chrif.c index 404685339..190038805 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -1076,7 +1076,6 @@ int chrif_disconnectplayer(int fd){ case 3: //server overpopulated clif_authfail_fd(sd->fd, 4); - break; case 4: //out of time payd for .. (avail) @@ -1087,8 +1086,7 @@ int chrif_disconnectplayer(int fd){ clif_authfail_fd(sd->fd, 15); break; } - -return 0; + return 0; } /*========================================== diff --git a/src/map/map.c b/src/map/map.c index 02d3bbdeb..1ea7498f5 100644 --- a/src/map/map.c +++ b/src/map/map.c @@ -1695,6 +1695,8 @@ int map_quit(struct map_session_data *sd) { unit_remove_map(&sd->bl, 0); if (sd->pd && sd->pd->bl.prev != NULL) unit_remove_map(&sd->pd->bl, 0); + if (sd->hd && sd->hd->bl.prev != NULL) + unit_remove_map(&sd->hd->bl, 0); } } diff --git a/src/map/skill.c b/src/map/skill.c index a1e7a3e01..5e5cee3ac 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -4096,10 +4096,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in i = ((!md || md->special_state.ai == 2) && !map_flag_vs(src->m))? BCT_ENEMY:BCT_ALL; clif_skill_nodamage(src, src, skillid, -1, 1); + map_delblock(src); //Required to prevent chain-self-destructions hitting back. map_foreachinrange(skill_area_sub, bl, skill_get_splash(skillid, skilllv), BL_CHAR, src, skillid, skilllv, tick, flag|i, skill_castend_damage_id); + map_addblock(src); status_damage(src, src, sstatus->max_hp,0,0,1); break; -- cgit v1.2.3-70-g09d2