stacking pt.4.5: Ring Adjustments
Rings are now capped for all modes to around chao's max duration. Ringboost affect on chaintimer has been capped to prevent them from desynching too much due to ring chaining nerf
This commit is contained in:
parent
0ae44e0fa0
commit
64eb425b78
2 changed files with 13 additions and 1 deletions
|
|
@ -7109,9 +7109,15 @@ static void K_HandleRingDeincrement(player_t *player, boolean chainnerf)
|
|||
|
||||
finalringtimer += subring;
|
||||
}
|
||||
|
||||
if (player->ringboost - finalringtimer > player->chaintimer)
|
||||
{
|
||||
// Cap this to prevent displacement between chaintimer and ringtimer.
|
||||
player->chaintimer = min(player->ringboost, (TICRATE - TICRATE/4));
|
||||
}
|
||||
}
|
||||
|
||||
player->ringboost = max(0, K_ChainOrDeincrementTime(player, player->ringboost, finalringtimer));
|
||||
player->ringboost = max(player->chaintimer ? 1: 0, player->ringboost - finalringtimer);
|
||||
}
|
||||
|
||||
/** \brief Decreases various kart timers and powers per frame. Called in P_PlayerThink in p_user.c
|
||||
|
|
|
|||
|
|
@ -3583,6 +3583,9 @@ void A_AttractChase(mobj_t *actor)
|
|||
actor->target->player->ringboost += K_GetKartRingPower(actor->target->player, true) + 3;
|
||||
S_StartSoundAtVolume(actor->target, sfx_s1b5, actor->target->player->ringvolume);
|
||||
|
||||
if (actor->target->player->ringboost > (4*TICRATE + TICRATE/2))
|
||||
actor->target->player->ringboost = (4*TICRATE + TICRATE/2);
|
||||
|
||||
actor->target->player->ringvolume -= RINGVOLUMEUSEPENALTY;
|
||||
|
||||
P_KillMobj(actor, actor->target, actor->target, DMG_NORMAL);
|
||||
|
|
@ -3607,6 +3610,9 @@ void A_AttractChase(mobj_t *actor)
|
|||
if (!P_GivePlayerRings(actor->target->player, 1)) // returns 0 if addition failed
|
||||
actor->target->player->ringboost += K_GetKartRingPower(actor->target->player, true) + 3;
|
||||
|
||||
if (actor->target->player->ringboost > (4*TICRATE + TICRATE/2))
|
||||
actor->target->player->ringboost = (4*TICRATE + TICRATE/2);
|
||||
|
||||
if (actor->cvmem) // caching
|
||||
S_StartSound(actor->target, sfx_s1c5);
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue