summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJedzkie <jedzkie13@rocketmail.com>2015-11-22 20:15:03 +0800
committerJedzkie <jedzkie13@rocketmail.com>2015-11-22 20:15:03 +0800
commitc9bdd5a97ed8c8bd25982a136150c99e2526583c (patch)
tree330417b4883af7e2e5376a7daeeafcfcea942db5 /src
parentdca66cc5af483d3bb5e6df0b58cd8c06617ebdde (diff)
downloadhercules-c9bdd5a97ed8c8bd25982a136150c99e2526583c.tar.gz
hercules-c9bdd5a97ed8c8bd25982a136150c99e2526583c.tar.bz2
hercules-c9bdd5a97ed8c8bd25982a136150c99e2526583c.tar.xz
hercules-c9bdd5a97ed8c8bd25982a136150c99e2526583c.zip
ItemDB Update:
- Fix some item behaviors based on Official Servers. • Str_Dish10 (Healing percent) • Citron • Meat Skewer • Mre_B • Mre_C • Spray Of Flowers • Strawberry Cake • Pineapple Juice • Spicy Sandwich • Grilled Corn - Implemented the follow SC: • SC_FOOD_CRITICALSUCCESSVALUE (Based on Aegis VAR_CRITICALSUCCESSVALUE)
Diffstat (limited to 'src')
-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;