diff options
-rw-r--r-- | db/constants.conf | 1 | ||||
-rw-r--r-- | db/sc_config.conf | 8 | ||||
-rw-r--r-- | src/map/status.c | 3 | ||||
-rw-r--r-- | src/map/status.h | 1 |
4 files changed, 13 insertions, 0 deletions
diff --git a/db/constants.conf b/db/constants.conf index 399556732..b3ed813ad 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -1420,6 +1420,7 @@ constants_db: { SC_POPECOOKIE: 670 SC_VITALIZE_POTION: 671 SC_SKF_MATK: 672 + SC_SKF_ATK: 673 comment__: "Emotes" e_gasp: 0 diff --git a/db/sc_config.conf b/db/sc_config.conf index ae472e53e..959744267 100644 --- a/db/sc_config.conf +++ b/db/sc_config.conf @@ -3697,3 +3697,11 @@ SC_SKF_MATK: { } Icon: "SI_SKF_MATK" } +SC_SKF_ATK: { + Flags: { + NoDispelReset: true + NoClearanceReset: true + Buff: true + } + Icon: "SI_SKF_ATK" +} diff --git a/src/map/status.c b/src/map/status.c index aaf295222..f6615b94d 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -887,6 +887,7 @@ static void initChangeTables(void) status->dbs->ChangeFlagTable[SC_POPECOOKIE] |= SCB_BASE | SCB_BATK | SCB_MATK; status->dbs->ChangeFlagTable[SC_VITALIZE_POTION] |= SCB_BATK | SCB_MATK; status->dbs->ChangeFlagTable[SC_SKF_MATK] |= SCB_MATK; + status->dbs->ChangeFlagTable[SC_SKF_ATK] |= SCB_BATK; // Cash Items status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] |= SCB_STR; @@ -4899,6 +4900,8 @@ static int status_calc_batk(struct block_list *bl, struct status_change *sc, int batk += batk * sc->data[SC_2011RWC]->val2 / 100; if (sc->data[SC_STEAMPACK]) batk += sc->data[SC_STEAMPACK]->val1; + if (sc->data[SC_SKF_ATK] != NULL) + batk += sc->data[SC_SKF_ATK]->val1; if (sc->data[SC_SHRIMP]) batk += batk * sc->data[SC_SHRIMP]->val2 / 100; diff --git a/src/map/status.h b/src/map/status.h index 7266d6ec3..5f0d51b26 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -857,6 +857,7 @@ typedef enum sc_type { SC_POPECOOKIE, SC_VITALIZE_POTION, SC_SKF_MATK, + SC_SKF_ATK, #ifndef SC_MAX SC_MAX, //Automatically updated max, used in for's to check we are within bounds. #endif |