summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
authorKenpachi Developer <Kenpachi.Developer@gmx.de>2020-03-09 20:57:22 +0100
committerKenpachi Developer <Kenpachi.Developer@gmx.de>2020-03-14 19:49:18 +0100
commit2c26eec424e0d4f614c7ff73ad2c5402da669338 (patch)
treeae9ca9a3a3a7126b0c43eaaa1d2c934887ecab78 /src/map
parent61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f (diff)
downloadhercules-2c26eec424e0d4f614c7ff73ad2c5402da669338.tar.gz
hercules-2c26eec424e0d4f614c7ff73ad2c5402da669338.tar.bz2
hercules-2c26eec424e0d4f614c7ff73ad2c5402da669338.tar.xz
hercules-2c26eec424e0d4f614c7ff73ad2c5402da669338.zip
Add SC_SKF_CAST status change
Diffstat (limited to 'src/map')
-rw-r--r--src/map/skill.c4
-rw-r--r--src/map/status.c1
-rw-r--r--src/map/status.h1
3 files changed, 6 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index ee23704bb..396aae491 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -15726,6 +15726,8 @@ static int skill_castfix_sc(struct block_list *bl, int time)
}
if (sc->data[SC_POEMBRAGI])
time -= time * sc->data[SC_POEMBRAGI]->val2 / 100;
+ if (sc->data[SC_SKF_CAST] != NULL)
+ time -= time * sc->data[SC_SKF_CAST]->val1 / 100;
if (sc->data[SC_IZAYOI])
time -= time * 50 / 100;
}
@@ -15827,6 +15829,8 @@ static int skill_vfcastfix(struct block_list *bl, double time, uint16 skill_id,
}
if (sc->data[SC_MYSTICSCROLL])
VARCAST_REDUCTION(sc->data[SC_MYSTICSCROLL]->val1);
+ if (sc->data[SC_SKF_CAST] != NULL)
+ VARCAST_REDUCTION(sc->data[SC_SKF_CAST]->val1);
// Fixed cast reduction bonuses
if( sc->data[SC__LAZINESS] )
diff --git a/src/map/status.c b/src/map/status.c
index 167851e38..a55ad071e 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -889,6 +889,7 @@ static void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_SKF_MATK] |= SCB_MATK;
status->dbs->ChangeFlagTable[SC_SKF_ATK] |= SCB_BATK;
status->dbs->ChangeFlagTable[SC_SKF_ASPD] |= SCB_ASPD;
+ status->dbs->ChangeFlagTable[SC_SKF_CAST] |= SCB_NONE;
// Cash Items
status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] |= SCB_STR;
diff --git a/src/map/status.h b/src/map/status.h
index f396d6fc0..d113735f4 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -859,6 +859,7 @@ typedef enum sc_type {
SC_SKF_MATK,
SC_SKF_ATK,
SC_SKF_ASPD,
+ SC_SKF_CAST,
#ifndef SC_MAX
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
#endif