diff options
author | Kenpachi Developer <Kenpachi.Developer@gmx.de> | 2020-03-09 20:28:24 +0100 |
---|---|---|
committer | Kenpachi Developer <Kenpachi.Developer@gmx.de> | 2020-03-14 19:48:36 +0100 |
commit | 61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f (patch) | |
tree | d52234db088b618c6287de2df91ec1be482c13e6 | |
parent | b198861ca00993af846a2156ce41de2375510775 (diff) | |
download | hercules-61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f.tar.gz hercules-61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f.tar.bz2 hercules-61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f.tar.xz hercules-61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f.zip |
Add SC_SKF_ASPD status change
-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 b3ed813ad..f26257660 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -1421,6 +1421,7 @@ constants_db: { SC_VITALIZE_POTION: 671 SC_SKF_MATK: 672 SC_SKF_ATK: 673 + SC_SKF_ASPD: 674 comment__: "Emotes" e_gasp: 0 diff --git a/db/sc_config.conf b/db/sc_config.conf index 959744267..6315d9cb2 100644 --- a/db/sc_config.conf +++ b/db/sc_config.conf @@ -3705,3 +3705,11 @@ SC_SKF_ATK: { } Icon: "SI_SKF_ATK" } +SC_SKF_ASPD: { + Flags: { + NoDispelReset: true + NoClearanceReset: true + Buff: true + } + Icon: "SI_SKF_ASPD" +} diff --git a/src/map/status.c b/src/map/status.c index f6615b94d..167851e38 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -888,6 +888,7 @@ static void initChangeTables(void) 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; + status->dbs->ChangeFlagTable[SC_SKF_ASPD] |= SCB_ASPD; // Cash Items status->dbs->ChangeFlagTable[SC_FOOD_STR_CASH] |= SCB_STR; @@ -5929,6 +5930,8 @@ static short status_calc_aspd(struct block_list *bl, struct status_change *sc, s bonus += sc->data[SC_BATTLESCROLL]->val1; if (sc->data[SC_STEAMPACK]) bonus += sc->data[SC_STEAMPACK]->val2; + if (sc->data[SC_SKF_ASPD] != NULL) + bonus += sc->data[SC_SKF_ASPD]->val1; } return (bonus + pots); @@ -6096,6 +6099,8 @@ static short status_calc_aspd_rate(struct block_list *bl, struct status_change * aspd_rate += sc->data[SC_BATTLESCROLL]->val1 * 10; if (sc->data[SC_STEAMPACK]) aspd_rate += sc->data[SC_STEAMPACK]->val2 * 10; + if (sc->data[SC_SKF_ASPD] != NULL) + aspd_rate -= sc->data[SC_SKF_ASPD]->val1 * 10; return (short)cap_value(aspd_rate,0,SHRT_MAX); } diff --git a/src/map/status.h b/src/map/status.h index 5f0d51b26..f396d6fc0 100644 --- a/src/map/status.h +++ b/src/map/status.h @@ -858,6 +858,7 @@ typedef enum sc_type { SC_VITALIZE_POTION, SC_SKF_MATK, SC_SKF_ATK, + SC_SKF_ASPD, #ifndef SC_MAX SC_MAX, //Automatically updated max, used in for's to check we are within bounds. #endif |