From ff81da62dc3a6c5ec4e997097225d8820b0ad272 Mon Sep 17 00:00:00 2001 From: KeiKun Date: Fri, 1 Jan 2021 19:49:32 +0800 Subject: [PATCH] Fixed haste effect which should ignore certain statuses. --- src/map/status.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/map/status.c b/src/map/status.c index f17a252e88c..c82be41b047 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5875,10 +5875,6 @@ static unsigned short status_calc_speed(struct block_list *bl, struct status_cha val = max(val, sc->data[SC_STOMACHACHE]->val2); if (sc->data[SC_MARSHOFABYSS]) // It stacks to other statuses so always put this at the end. val = max(50, val + 10 * sc->data[SC_MARSHOFABYSS]->val1); - if (sc->data[SC_MOVHASTE_POTION]) { // Doesn't affect the movement speed by Quagmire, Decrease Agi, Slow Grace [Frost] - if (sc->data[SC_DEC_AGI] || sc->data[SC_QUAGMIRE] || sc->data[SC_DONTFORGETME]) - return 0; - } if (sc->data[SC_CATNIPPOWDER]) val = max(val, sc->data[SC_CATNIPPOWDER]->val3); @@ -7571,6 +7567,12 @@ static int status_change_start_sub(struct block_list *src, struct block_list *bl undead_flag = battle->check_undead(st->race, st->def_ele); // Check for inmunities / sc fails switch (type) { + case SC_DEC_AGI: + case SC_QUAGMIRE: + case SC_DONTFORGETME: + if (sc->data[SC_MOVHASTE_POTION]) + return 0 + break; case SC_DRUMBATTLE: case SC_NIBELUNGEN: case SC_INTOABYSS: