diff options
-rw-r--r-- | db/constants.conf | 1 | ||||
-rw-r--r-- | db/sc_config.conf | 8 | ||||
-rw-r--r-- | src/map/status.c | 5 | ||||
-rw-r--r-- | src/map/status.h | 1 |
4 files changed, 15 insertions, 0 deletions
diff --git a/db/constants.conf b/db/constants.conf index 1577523c8..9b11a43e9 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -1423,6 +1423,7 @@ constants_db: { SC_SKF_ATK: 673 SC_SKF_ASPD: 674 SC_SKF_CAST: 675 + SC_ALMIGHTY: 676 comment__: "Emotes" e_gasp: 0 diff --git a/db/sc_config.conf b/db/sc_config.conf index ed8506aab..11f8579e5 100644 --- a/db/sc_config.conf +++ b/db/sc_config.conf @@ -3721,3 +3721,11 @@ SC_SKF_CAST: { } Icon: "SI_SKF_CAST" } +SC_ALMIGHTY: { + Flags: { + NoDeathReset: true + NoDispelReset: true + NoClearanceReset: true + } + Icon: "SI_ALMIGHTY" +} 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 |