summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/status.c')
-rw-r--r--src/map/status.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/map/status.c b/src/map/status.c
index d721e7eb1..039315659 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -5553,6 +5553,11 @@ unsigned short status_calc_speed(struct block_list *bl, struct status_change *sc
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( sd && sd->bonus.speed_rate + sd->bonus.speed_add_rate > 0 ) // permanent item-based speedup
val = max( val, sd->bonus.speed_rate + sd->bonus.speed_add_rate );
}
@@ -7225,12 +7230,6 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t
if (sc->data[SC_QUAGMIRE] || sc->data[SC_DEC_AGI])
return 0;
break;
- case SC_QUAGMIRE:
- case SC_DEC_AGI:
- case SC_DONTFORGETME:
- if (sc->data[SC_MOVHASTE_POTION]) // Doesn't affect by Quagmire, Decrease Agi, Slow Grace [Frost]
- return 0;
- break;
case SC_MAGNIFICAT:
if (sc->data[SC_OFFERTORIUM] || sc->option&OPTION_MADOGEAR) // Mado is immune to magnificat
return 0;