summaryrefslogtreecommitdiff
path: root/src/map/pc.c
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-01-26 21:52:43 +0100
committerHaru <haru@dotalux.com>2020-02-09 23:55:30 +0100
commit7b003f2028906218bb6cff68e5e97ec47ad6681e (patch)
treeb7e6da8dd38bfc407acf629909d2316adf8ac016 /src/map/pc.c
parent26eae1d9e811f3171078c675f233be1c0faa4109 (diff)
downloadhercules-7b003f2028906218bb6cff68e5e97ec47ad6681e.tar.gz
hercules-7b003f2028906218bb6cff68e5e97ec47ad6681e.tar.bz2
hercules-7b003f2028906218bb6cff68e5e97ec47ad6681e.tar.xz
hercules-7b003f2028906218bb6cff68e5e97ec47ad6681e.zip
Added pc_itemskill_clear() function.
Diffstat (limited to 'src/map/pc.c')
-rw-r--r--src/map/pc.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/map/pc.c b/src/map/pc.c
index a404d93e7..c96e957c7 100644
--- a/src/map/pc.c
+++ b/src/map/pc.c
@@ -5321,6 +5321,26 @@ static int pc_useitem(struct map_session_data *sd, int n)
return 1;
}
+/**
+ * Sets state flags and helper variables, used by itemskill() script command, to 0.
+ *
+ * @param sd The character's session data.
+ * @return 0 if parameter sd is NULL, otherwise 1.
+ */
+static int pc_itemskill_clear(struct map_session_data *sd)
+{
+ nullpo_ret(sd);
+
+ sd->itemskill_id = 0;
+ sd->itemskill_lv = 0;
+ sd->state.itemskill_conditions_checked = 0;
+ sd->state.itemskill_no_conditions = 0;
+ sd->state.itemskill_no_casttime = 0;
+ sd->state.itemskill_castonself = 0;
+
+ return 1;
+}
+
/*==========================================
* Add item on cart for given index.
* Return:
@@ -12662,6 +12682,7 @@ void pc_defaults(void)
pc->unequipitem_pos = pc_unequipitem_pos;
pc->checkitem = pc_checkitem;
pc->useitem = pc_useitem;
+ pc->itemskill_clear = pc_itemskill_clear;
pc->skillatk_bonus = pc_skillatk_bonus;
pc->skillheal_bonus = pc_skillheal_bonus;