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.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index e6032394b..b960ef119 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -2141,6 +2141,14 @@ int skill_attack(int attack_type, struct block_list* src, struct block_list *dsr
sd = BL_CAST(BL_PC, src);
tsd = BL_CAST(BL_PC, bl);
+ // To block skills that aren't called via battle_check_target [Panikon]
+ // issue: 8203
+ if( sd
+ && ( (bl->type == BL_MOB && pc_has_permission(sd, PC_PERM_DISABLE_PVM))
+ || (bl->type == BL_PC && pc_has_permission(sd, PC_PERM_DISABLE_PVP)) )
+ )
+ return 0;
+
sstatus = status->get_status_data(src);
tstatus = status->get_status_data(bl);
sc = status->get_sc(bl);