summaryrefslogtreecommitdiff
path: root/src/map
diff options
context:
space:
mode:
Diffstat (limited to 'src/map')
-rw-r--r--src/map/status.c4
-rw-r--r--src/map/status.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c
index 5d1e7f4ef..f7c336f55 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -802,6 +802,7 @@ void initChangeTables(void) {
status->dbs->IconChangeTable[SC_SPL_MATK] = SI_SPL_MATK;
status->dbs->IconChangeTable[SC_PLUSATTACKPOWER] = SI_PLUSATTACKPOWER;
status->dbs->IconChangeTable[SC_PLUSMAGICPOWER] = SI_PLUSMAGICPOWER;
+ status->dbs->IconChangeTable[SC_FOOD_CRITICALSUCCESSVALUE] = SI_FOOD_CRITICALSUCCESSVALUE;
// Cash Items
status->dbs->IconChangeTable[SC_FOOD_STR_CASH] = SI_FOOD_STR_CASH;
@@ -993,6 +994,7 @@ void initChangeTables(void) {
status->dbs->ChangeFlagTable[SC_TARGET_ASPD] |= SCB_MAXSP;
status->dbs->ChangeFlagTable[SC_ATKER_ASPD] |= SCB_MAXHP | SCB_ALL;
status->dbs->ChangeFlagTable[SC_ATKER_MOVESPEED] |= SCB_MAXSP | SCB_ALL;
+ status->dbs->ChangeFlagTable[SC_FOOD_CRITICALSUCCESSVALUE] |= SCB_CRI;
// Cash Items
status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] = SCB_STR;
@@ -4839,6 +4841,8 @@ signed short status_calc_critical(struct block_list *bl, struct status_change *s
if (sc->data[SC_CRITICALPERCENT])
critical += sc->data[SC_CRITICALPERCENT]->val2;
+ if (sc->data[SC_FOOD_CRITICALSUCCESSVALUE])
+ critical += sc->data[SC_FOOD_CRITICALSUCCESSVALUE]->val1;
if (sc->data[SC_EXPLOSIONSPIRITS])
critical += sc->data[SC_EXPLOSIONSPIRITS]->val2;
if (sc->data[SC_FORTUNE])
diff --git a/src/map/status.h b/src/map/status.h
index e784eade8..99916c291 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -773,6 +773,8 @@ typedef enum sc_type {
SC_ATKER_ASPD,
SC_ATKER_MOVESPEED,
+
+ SC_FOOD_CRITICALSUCCESSVALUE, // 610
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
} sc_type;