diff options
author | Haru <haru@dotalux.com> | 2013-08-19 22:38:24 +0200 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2013-08-19 22:38:24 +0200 |
commit | ac131bf1baa9a8f9a87176beadf1ce4ebd8abb01 (patch) | |
tree | f8fa7fef8b3b3771e58ceaf7fd2e21ea0283c8d8 | |
parent | e642dc4aa08a7276a5c92ca564f80ded5f0d272f (diff) | |
download | hercules-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.c | 7 |
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; |