diff options
-rw-r--r-- | src/map/script.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/map/script.c b/src/map/script.c index fe5502aa7..a3c976b73 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -11010,7 +11010,7 @@ static BUILDIN(itemskill) sd->state.itemskill_check_conditions = ((flag & ISF_CHECKCONDITIONS) == ISF_CHECKCONDITIONS) ? 1 : 0; // Unset in pc_itemskill_clear(). - if (sd->state.itemskill_check_conditions == 0) { + if (sd->state.itemskill_check_conditions == 1) { if (skill->check_condition_castbegin(sd, sd->skillitem, sd->skillitemlv) == 0 || skill->check_condition_castend(sd, sd->skillitem, sd->skillitemlv) == 0) { pc->itemskill_clear(sd); diff --git a/src/map/skill.c b/src/map/skill.c index 03f52905d..fca28608c 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -14024,7 +14024,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s if (sd->chat_id != 0) return 0; - if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 1) + if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 0) && skill->is_item_skill(sd, skill_id, skill_lv)) { return 1; } @@ -15013,7 +15013,7 @@ static int skill_check_condition_castend(struct map_session_data *sd, uint16 ski if (sd->chat_id != 0) return 0; - if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 1) + if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 0) && skill->is_item_skill(sd, skill_id, skill_lv)) { return 1; } @@ -15219,7 +15219,7 @@ static int skill_consume_requirement(struct map_session_data *sd, uint16 skill_i nullpo_ret(sd); - if (sd->state.itemskill_check_conditions == 1 && skill->is_item_skill(sd, skill_id, skill_lv)) + if (sd->state.itemskill_check_conditions == 0 && skill->is_item_skill(sd, skill_id, skill_lv)) return 1; req = skill->get_requirement(sd,skill_id,skill_lv); |