From 61d10a7e2c8c12ed431d1e6bf66a7d8d176cd13f Mon Sep 17 00:00:00 2001 From: Kenpachi Developer Date: Mon, 9 Mar 2020 20:28:24 +0100 Subject: Add SC_SKF_ASPD status change --- src/map/status.c | 5 +++++ src/map/status.h | 1 + 2 files changed, 6 insertions(+) (limited to 'src') 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 -- cgit v1.2.3-70-g09d2