|
@@ -7418,6 +7418,8 @@ static int16 status_calc_flee(struct block_list *bl, status_change *sc, int32 fl
|
|
|
flee -= sc->getSCE(SC_WATER_BARRIER)->val2;
|
|
|
if( sc->getSCE(SC_C_MARKER) )
|
|
|
flee -= sc->getSCE(SC_C_MARKER)->val3;
|
|
|
+ if( sc->getSCE(SC_WILD_WALK) != nullptr )
|
|
|
+ flee += sc->getSCE(SC_WILD_WALK)->val3;
|
|
|
#ifdef RENEWAL
|
|
|
if( sc->getSCE(SC_SPEARQUICKEN) )
|
|
|
flee += 2 * sc->getSCE(SC_SPEARQUICKEN)->val1;
|
|
@@ -7951,6 +7953,8 @@ static uint16 status_calc_speed(struct block_list *bl, status_change *sc, int32
|
|
|
if( sc->getSCE(SC_JAWAII_SERENADE) ){
|
|
|
val = max( val, 25 );
|
|
|
}
|
|
|
+ if( sc->getSCE(SC_WILD_WALK) != nullptr )
|
|
|
+ val = max( val, sc->getSCE(SC_WILD_WALK)->val2 );
|
|
|
|
|
|
// !FIXME: official items use a single bonus for this [ultramage]
|
|
|
if( sd && sd->bonus.speed_rate + sd->bonus.speed_add_rate < 0 ) // Permanent item-based speedup
|
|
@@ -12629,6 +12633,10 @@ int32 status_change_start(struct block_list* src, struct block_list* bl,enum sc_
|
|
|
tick_time = status_get_sc_interval(type);
|
|
|
val4 = tick - tick_time; // Remaining time
|
|
|
break;
|
|
|
+ case SC_WILD_WALK:
|
|
|
+ val2 = (1 + val1 / 2) * 25;
|
|
|
+ val3 = 50 + 50 * val1;
|
|
|
+ break;
|
|
|
|
|
|
default:
|
|
|
if (calc_flag.none() && scdb->skill_id == 0 && scdb->icon == EFST_BLANK && scdb->opt1 == OPT1_NONE && scdb->opt2 == OPT2_NONE && scdb->state.none() && scdb->flag.none() && scdb->endonstart.empty() && scdb->endreturn.empty() && scdb->fail.empty() && scdb->endonend.empty()) {
|