diff --git a/src/map/status.c b/src/map/status.c index f018eb9e62..9d74116d95 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -5918,7 +5918,7 @@ static defType status_calc_def(struct block_list *bl, struct status_change *sc, if( sc->data[SC_SHIELDSPELL_REF] && sc->data[SC_SHIELDSPELL_REF]->val1 == 2 ) def += sc->data[SC_SHIELDSPELL_REF]->val2; if( sc->data[SC_PRESTIGE] ) - def += sc->data[SC_PRESTIGE]->val1; + def += sc->data[SC_PRESTIGE]->val3; if( sc->data[SC_BANDING] && sc->data[SC_BANDING]->val2 > 1 ) def += (5 + sc->data[SC_BANDING]->val1) * sc->data[SC_BANDING]->val2 / 10; if( sc->data[SC_ECHOSONG] ) @@ -8462,6 +8462,9 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty if( type != SC_SHIELDSPELL_REF ) status_change_end(bl, SC_SHIELDSPELL_REF, INVALID_TIMER); break; + case SC_BANDING: + status_change_end(bl, SC_PRESTIGE, INVALID_TIMER); + break; case SC_GT_ENERGYGAIN: case SC_GT_CHANGE: case SC_GT_REVITALIZE: @@ -9882,7 +9885,7 @@ int status_change_start(struct block_list* src, struct block_list* bl,enum sc_ty break; case SC_PRESTIGE: val2 = (status->int_ + status->luk) * val1 / 20 * status_get_lv(bl) / 200 + val1; // Chance to evade magic damage. - val1 = ((val1 * 15) + (10 * (sd?pc_checkskill(sd,CR_DEFENDER):skill_get_max(CR_DEFENDER)))) * status_get_lv(bl) / 100; // Defence added + val3 = ((val1 * 15) + (10 * (sd?pc_checkskill(sd,CR_DEFENDER):skill_get_max(CR_DEFENDER)))) * status_get_lv(bl) / 100; // Defence added break; case SC_BANDING: tick_time = 5000; // [GodLesZ] tick time