diff options
-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 9f7ec7b15..525beac6f 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -3320,12 +3320,13 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case SA_MONOCELL: if (dstmd) { - if ( dstmd->status.mode&MD_BOSS ) + int class_; + if ( sd && dstmd->status.mode&MD_BOSS ) { clif_skill_fail(sd,skillid,0,0); break; } - int class_ = skillid==SA_MONOCELL?1002:mob_get_random_id(2, 1, 0); + class_ = skillid==SA_MONOCELL?1002:mob_get_random_id(2, 1, 0); clif_skill_nodamage(src,bl,skillid,skilllv,1); mob_class_change(dstmd,class_); if( tsc && dstmd->status.mode&MD_BOSS ) @@ -3339,7 +3340,7 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in } break; case SA_DEATH: - if ( dstmd && dstmd->status.mode&MD_BOSS ) + if ( sd && dstmd && dstmd->status.mode&MD_BOSS ) { clif_skill_fail(sd,skillid,0,0); break; |