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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/map/status.c b/src/map/status.c
index f0c5b0368..9310e1b57 100644
--- a/src/map/status.c
+++ b/src/map/status.c
@@ -487,6 +487,7 @@ void initChangeTables(void)
StatusChangeFlagTable[SC_INCATKRATE] |= SCB_BATK|SCB_WATK;
StatusChangeFlagTable[SC_INCMATKRATE] |= SCB_MATK;
StatusChangeFlagTable[SC_INCDEFRATE] |= SCB_DEF;
+ StatusChangeFlagTable[SC_INCMDEFRATE] |= SCB_MDEF;
StatusChangeFlagTable[SC_INCBASEATK] |= SCB_BATK;
StatusChangeFlagTable[SC_STRFOOD] |= SCB_STR;
StatusChangeFlagTable[SC_AGIFOOD] |= SCB_AGI;
@@ -3662,6 +3663,8 @@ static signed char status_calc_mdef(struct block_list *bl, struct status_change
mdef += 25*mdef/100;
if(sc->data[SC_ENDURE].timer!=-1 && sc->data[SC_ENDURE].val4 == 0)
mdef += sc->data[SC_ENDURE].val1;
+ if(sc->data[SC_INCMDEFRATE].timer!=-1)
+ mdef += mdef * sc->data[SC_INCMDEFRATE].val1/100;
return (char)cap_value(mdef,0,CHAR_MAX);
}