summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-03-11 23:02:24 +0100
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-03-14 22:35:09 +0100
commit49d0ce1c60455e4971c7bf9c80f4b92ce49f377f (patch)
tree030b63bc9c675935aff274b71a6289b0dce0d2c8 /src/map
parent492c7bc03c5a40957677f2d98c7d61961dfa6113 (diff)
downloadhercules-49d0ce1c60455e4971c7bf9c80f4b92ce49f377f.tar.gz
hercules-49d0ce1c60455e4971c7bf9c80f4b92ce49f377f.tar.bz2
hercules-49d0ce1c60455e4971c7bf9c80f4b92ce49f377f.tar.xz
hercules-49d0ce1c60455e4971c7bf9c80f4b92ce49f377f.zip
Remove skill_is_item_skill() function and use map_session_data->autocast.type instead
Diffstat (limited to 'src/map')
-rw-r--r--src/map/clif.c2
-rw-r--r--src/map/skill.c23
-rw-r--r--src/map/skill.h1
-rw-r--r--src/map/unit.c4
4 files changed, 6 insertions, 24 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 66533a6fc..1a99a07f3 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -6766,7 +6766,7 @@ static void clif_item_skill(struct map_session_data *sd, uint16 skill_id, uint16
struct PACKET_ZC_AUTORUN_SKILL *p = WFIFOP(fd, 0);
int type = skill->get_inf(skill_id);
- if (sd->state.itemskill_castonself == 1 && skill->is_item_skill(sd, skill_id, skill_lv))
+ if (sd->state.itemskill_castonself == 1 && sd->autocast.type == AUTOCAST_ITEM)
type = INF_SELF_SKILL;
p->packetType = HEADER_ZC_AUTORUN_SKILL;
diff --git a/src/map/skill.c b/src/map/skill.c
index d21a19742..14bc9460e 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -14048,22 +14048,6 @@ static bool skill_is_combo(int skill_id)
return false;
}
-/**
- * Checks if a skill is casted by an item (itemskill() script command).
- *
- * @param sd The charcater's session data.
- * @param skill_id The skill's ID.
- * @param skill_lv The skill's level.
- * @return true if skill is casted by an item, otherwise false.
- */
-static bool skill_is_item_skill(struct map_session_data *sd, int skill_id, int skill_lv)
-{
- nullpo_retr(false, sd);
-
- return (sd->skillitem == skill_id && sd->skillitemlv == skill_lv
- && sd->itemskill_id == skill_id && sd->itemskill_lv == skill_lv);
-}
-
static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 skill_id, uint16 skill_lv)
{
struct status_data *st;
@@ -14079,7 +14063,7 @@ static int skill_check_condition_castbegin(struct map_session_data *sd, uint16 s
return 0;
if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 0)
- && skill->is_item_skill(sd, skill_id, skill_lv)) {
+ && sd->autocast.type == AUTOCAST_ITEM) {
return 1;
}
@@ -15068,7 +15052,7 @@ static int skill_check_condition_castend(struct map_session_data *sd, uint16 ski
return 0;
if ((sd->state.itemskill_conditions_checked == 1 || sd->state.itemskill_check_conditions == 0)
- && skill->is_item_skill(sd, skill_id, skill_lv)) {
+ && sd->autocast.type == AUTOCAST_ITEM) {
return 1;
}
@@ -15273,7 +15257,7 @@ static int skill_consume_requirement(struct map_session_data *sd, uint16 skill_i
nullpo_ret(sd);
- if (sd->state.itemskill_check_conditions == 0 && skill->is_item_skill(sd, skill_id, skill_lv))
+ if (sd->state.itemskill_check_conditions == 0 && sd->autocast.type == AUTOCAST_ITEM)
return 1;
req = skill->get_requirement(sd,skill_id,skill_lv);
@@ -21672,7 +21656,6 @@ void skill_defaults(void)
skill->cast_fix_sc = skill_castfix_sc;
skill->vf_cast_fix = skill_vfcastfix;
skill->delay_fix = skill_delay_fix;
- skill->is_item_skill = skill_is_item_skill;
skill->check_condition_castbegin = skill_check_condition_castbegin;
skill->check_condition_castend = skill_check_condition_castend;
skill->consume_requirement = skill_consume_requirement;
diff --git a/src/map/skill.h b/src/map/skill.h
index 731044876..65195dc75 100644
--- a/src/map/skill.h
+++ b/src/map/skill.h
@@ -2029,7 +2029,6 @@ struct skill_interface {
int (*cast_fix_sc) ( struct block_list *bl, int time);
int (*vf_cast_fix) ( struct block_list *bl, double time, uint16 skill_id, uint16 skill_lv);
int (*delay_fix) ( struct block_list *bl, uint16 skill_id, uint16 skill_lv);
- bool (*is_item_skill) (struct map_session_data *sd, int skill_id, int skill_lv);
int (*check_condition_castbegin) (struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
int (*check_condition_castend) (struct map_session_data *sd, uint16 skill_id, uint16 skill_lv);
int (*consume_requirement) (struct map_session_data *sd, uint16 skill_id, uint16 skill_lv, short type);
diff --git a/src/map/unit.c b/src/map/unit.c
index c1da2c72b..ab6f345ed 100644
--- a/src/map/unit.c
+++ b/src/map/unit.c
@@ -1707,7 +1707,7 @@ static int unit_skilluse_id2(struct block_list *src, int target_id, uint16 skill
if (!ud->state.running) //need TK_RUN or WUGDASH handler to be done before that, see bugreport:6026
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);// even though this is not how official works but this will do the trick. bugreport:6829
- if (sd != NULL && sd->state.itemskill_no_casttime == 1 && skill->is_item_skill(sd, skill_id, skill_lv))
+ if (sd != NULL && sd->state.itemskill_no_casttime == 1 && sd->autocast.type == AUTOCAST_ITEM)
casttime = 0;
// in official this is triggered even if no cast time.
@@ -1915,7 +1915,7 @@ static int unit_skilluse_pos2(struct block_list *src, short skill_x, short skill
unit->stop_walking(src, STOPWALKING_FLAG_FIXPOS);
- if (sd != NULL && sd->state.itemskill_no_casttime == 1 && skill->is_item_skill(sd, skill_id, skill_lv))
+ if (sd != NULL && sd->state.itemskill_no_casttime == 1 && sd->autocast.type == AUTOCAST_ITEM)
casttime = 0;
// in official this is triggered even if no cast time.