summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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