summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2013-08-19 22:38:24 +0200
committerHaru <haru@dotalux.com>2013-08-19 22:38:24 +0200
commitac131bf1baa9a8f9a87176beadf1ce4ebd8abb01 (patch)
treef8fa7fef8b3b3771e58ceaf7fd2e21ea0283c8d8
parente642dc4aa08a7276a5c92ca564f80ded5f0d272f (diff)
downloadhercules-ac131bf1baa9a8f9a87176beadf1ce4ebd8abb01.tar.gz
hercules-ac131bf1baa9a8f9a87176beadf1ce4ebd8abb01.tar.bz2
hercules-ac131bf1baa9a8f9a87176beadf1ce4ebd8abb01.tar.xz
hercules-ac131bf1baa9a8f9a87176beadf1ce4ebd8abb01.zip
Fixed a crash in case a clone uses SO_ELEMENTAL_SHIELD
Signed-off-by: Haru <haru@dotalux.com>
-rw-r--r--src/map/skill.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index fb8bbad3d..1b732baaa 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -8966,11 +8966,12 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, ui
break;
case SO_ELEMENTAL_SHIELD:
- if( !sd->ed ) break;
+ if( sd == NULL || !sd->ed )
+ break;
elemental->delete(sd->ed, 0);
- if( sd == NULL || sd->status.party_id == 0 || flag&1 )
+ if( sd->status.party_id == 0 || flag&1 )
skill->unitsetting(src,MG_SAFETYWALL,skill_lv,bl->x,bl->y,0);
- else if( sd )
+ else
party_foreachsamemap(skill->area_sub, sd, skill->get_splash(skill_id, skill_lv), src, skill_id, skill_lv, tick, flag|BCT_PARTY|1, skill->castend_nodamage_id);
break;