summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/status.c5
-rw-r--r--src/map/status.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c
index a55ad071e..691aabd30 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -890,6 +890,7 @@ static void initChangeTables(void)
status->dbs->ChangeFlagTable[SC_SKF_ATK] |= SCB_BATK;
status->dbs->ChangeFlagTable[SC_SKF_ASPD] |= SCB_ASPD;
status->dbs->ChangeFlagTable[SC_SKF_CAST] |= SCB_NONE;
+ status->dbs->ChangeFlagTable[SC_ALMIGHTY] |= SCB_BATK | SCB_MATK;
// Cash Items
status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] |= SCB_STR;
@@ -4904,6 +4905,8 @@ static int status_calc_batk(struct block_list *bl, struct status_change *sc, int
batk += sc->data[SC_STEAMPACK]->val1;
if (sc->data[SC_SKF_ATK] != NULL)
batk += sc->data[SC_SKF_ATK]->val1;
+ if (sc->data[SC_ALMIGHTY] != NULL)
+ batk += sc->data[SC_ALMIGHTY]->val1;
if (sc->data[SC_SHRIMP])
batk += batk * sc->data[SC_SHRIMP]->val2 / 100;
@@ -5107,6 +5110,8 @@ static int status_calc_matk(struct block_list *bl, struct status_change *sc, int
matk += sc->data[SC_MAGIC_CANDY]->val1;
if (sc->data[SC_SKF_MATK] != NULL)
matk += sc->data[SC_SKF_MATK]->val1;
+ if (sc->data[SC_ALMIGHTY] != NULL)
+ matk += sc->data[SC_ALMIGHTY]->val2;
return cap_value(matk, battle_config.matk_min, battle_config.matk_max);
}
diff --git a/src/map/status.h b/src/map/status.h
index d113735f4..d5cb3da75 100644
--- a/src/map/status.h
+++ b/src/map/status.h
@@ -860,6 +860,7 @@ typedef enum sc_type {
SC_SKF_ATK,
SC_SKF_ASPD,
SC_SKF_CAST,
+ SC_ALMIGHTY,
#ifndef SC_MAX
SC_MAX, //Automatically updated max, used in for's to check we are within bounds.
#endif