summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 758aa6fd2..f106ebd57 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -609,7 +609,8 @@ int skill_additional_effect (struct block_list* src, struct block_list *bl, int
case CR_GRANDCROSS:
case NPC_GRANDDARKNESS:
- if(tstatus->race == RC_UNDEAD || tstatus->race == RC_DEMON)
+ //Chance to cause blind status vs demon and undead element, but not against players
+ if(!dstsd && (battle_check_undead(tstatus->race,tstatus->def_ele) || tstatus->race == RC_DEMON))
sc_start(bl,SC_BLIND,100,skilllv,skill_get_time2(skillid,skilllv));
break;
@@ -6817,7 +6818,8 @@ int skill_unit_onplace_timer (struct skill_unit *src, struct block_list *bl, uns
break;
case UNT_EVILLAND:
- if (tstatus->race!=RC_UNDEAD && tstatus->race!=RC_DEMON)
+ //Will heal demon and undead element monsters, but not players.
+ if (bl->type != BL_PC && !battle_check_undead(tstatus->race, tstatus->def_ele) && tstatus->race!=RC_DEMON)
{ //Damage enemies
if(battle_check_target(&src->bl,bl,BCT_ENEMY)>0)
skill_attack(BF_MISC, ss, &src->bl, bl, sg->skill_id, sg->skill_lv, tick, 0);