From d53ed802262c5b73cf163729eafdaa4282fabf08 Mon Sep 17 00:00:00 2001 From: aleos89 Date: Thu, 18 Feb 2016 09:41:58 -0500 Subject: [PATCH] Updated Prestige effect * Prestige's status is now refreshed when casted again. * Prestige is now removed by Banding. --- src/map/status.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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