diff options
Diffstat (limited to 'src/map')
-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; |