diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-26 04:09:58 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2007-02-26 04:09:58 +0000 |
commit | 0eca88efc69becc591428fbb6b9fddd9237afd3d (patch) | |
tree | b1784b3698c04668520e4b22ea265034b765db76 | |
parent | 7c4b730c6d8a0201512148fcb795c0f666bfe8c8 (diff) | |
download | hercules-0eca88efc69becc591428fbb6b9fddd9237afd3d.tar.gz hercules-0eca88efc69becc591428fbb6b9fddd9237afd3d.tar.bz2 hercules-0eca88efc69becc591428fbb6b9fddd9237afd3d.tar.xz hercules-0eca88efc69becc591428fbb6b9fddd9237afd3d.zip |
- 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
-rw-r--r-- | src/map/chrif.c | 4 | ||||
-rw-r--r-- | src/map/map.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 2 |
3 files changed, 5 insertions, 3 deletions
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; |