summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/map/status.c b/src/map/status.c
index eb7f3eff2..32fd92d98 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -419,8 +419,9 @@ int status_check_skilluse(struct block_list *src, struct block_list *target, int
default: return 0;
}
}
- if (skill_num)
- { //Skills blocked through status changes...
+ if (skill_num && //Do not block item-casted skills.
+ (src->type != BL_PC || ((TBL_PC*)src)->skillitem != skill_num)
+ ) { //Skills blocked through status changes...
if (!flag && ( //Blocked only from using the skill (stuff like autospell may still go through
(sc->data[SC_MARIONETTE].timer != -1 && skill_num != CG_MARIONETTE) ||
(sc->data[SC_MARIONETTE2].timer != -1 && skill_num == CG_MARIONETTE) ||