|
@@ -3540,6 +3540,8 @@ static signed char status_calc_def(struct block_list *bl, struct status_change *
|
|
def += def * sc->data[SC_INCDEFRATE].val1/100;
|
|
def += def * sc->data[SC_INCDEFRATE].val1/100;
|
|
if(sc->data[SC_STONE].timer!=-1 && sc->opt1 == OPT1_STONE)
|
|
if(sc->data[SC_STONE].timer!=-1 && sc->opt1 == OPT1_STONE)
|
|
def >>=1;
|
|
def >>=1;
|
|
|
|
+ if(sc->data[SC_FREEZE].timer!=-1)
|
|
|
|
+ def >>=1;
|
|
if(sc->data[SC_SIGNUMCRUCIS].timer!=-1)
|
|
if(sc->data[SC_SIGNUMCRUCIS].timer!=-1)
|
|
def -= def * sc->data[SC_SIGNUMCRUCIS].val2/100;
|
|
def -= def * sc->data[SC_SIGNUMCRUCIS].val2/100;
|
|
if(sc->data[SC_CONCENTRATION].timer!=-1)
|
|
if(sc->data[SC_CONCENTRATION].timer!=-1)
|
|
@@ -3605,6 +3607,8 @@ static signed char status_calc_mdef(struct block_list *bl, struct status_change
|
|
return 90;
|
|
return 90;
|
|
if(sc->data[SC_STONE].timer!=-1 && sc->opt1 == OPT1_STONE)
|
|
if(sc->data[SC_STONE].timer!=-1 && sc->opt1 == OPT1_STONE)
|
|
mdef += 25*mdef/100;
|
|
mdef += 25*mdef/100;
|
|
|
|
+ if(sc->data[SC_FREEZE].timer!=-1)
|
|
|
|
+ mdef += 25*mdef/100;
|
|
if(sc->data[SC_ENDURE].timer!=-1 && sc->data[SC_ENDURE].val4 == 0)
|
|
if(sc->data[SC_ENDURE].timer!=-1 && sc->data[SC_ENDURE].val4 == 0)
|
|
mdef += sc->data[SC_ENDURE].val1;
|
|
mdef += sc->data[SC_ENDURE].val1;
|
|
|
|
|