mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge up to master
This commit is contained in:
parent
5aa6af4f97
commit
1457a16bd5
2 changed files with 14 additions and 8 deletions
18
src/k_kart.c
18
src/k_kart.c
|
|
@ -3107,6 +3107,9 @@ fixed_t K_PlayerTripwireSpeedThreshold(const player_t *player)
|
|||
if (specialstageinfo.valid)
|
||||
required_speed = 3 * K_GetKartSpeed(player, false, false) / 2; // 150%
|
||||
|
||||
if (modeattacking && !(gametyperules & GTR_CATCHER))
|
||||
required_speed = 4 * K_GetKartSpeed(player, false, false);
|
||||
|
||||
UINT32 distance = K_GetItemRouletteDistance(player, 8);
|
||||
|
||||
if (gametype == GT_RACE && M_NotFreePlay() && !modeattacking)
|
||||
|
|
@ -13996,7 +13999,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
{
|
||||
player->lastringboost = player->ringboost;
|
||||
UINT32 award = 5*player->ringboxaward + 10;
|
||||
award = 23 * award / 20; // 115% Payout Increase
|
||||
|
||||
if (!modeattacking)
|
||||
award = 23 * award / 20; // 115% Payout Increase
|
||||
if (!K_ThunderDome())
|
||||
award = 3 * award / 2;
|
||||
|
||||
|
|
@ -14052,15 +14057,13 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
|||
UINT8 maxtotal = accelPower*9 + weightPower*9;
|
||||
|
||||
// Scale from base payout at 9/1 to max payout at 1/9.
|
||||
award = Easing_InCubic(FRACUNIT*total/maxtotal, 13*award/10, 18*award/10);
|
||||
award = Easing_InCubic(FRACUNIT*total/maxtotal, 10*award/10, 17*award/10);
|
||||
|
||||
// And, because we don't have to give a damn about sandbagging, up the stakes the longer we progress!
|
||||
if (gametyperules & GTR_CIRCUIT)
|
||||
{
|
||||
UINT8 maxgrade = 10;
|
||||
UINT8 margin = min(player->gradingpointnum, maxgrade);
|
||||
|
||||
award = Easing_Linear(FRACUNIT * margin / maxgrade, award, 2*award);
|
||||
if (K_GetNumGradingPoints())
|
||||
award = Easing_Linear(FRACUNIT * player->gradingpointnum / K_GetNumGradingPoints(), award, 3*award/2);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -16461,6 +16464,9 @@ UINT16 K_GetEXP(player_t *player)
|
|||
|
||||
UINT16 exp = FixedRescale(player->gradingfactor, factormin, factormax, Easing_Linear, targetminexp, targetmaxexp)>>FRACBITS;
|
||||
|
||||
if (modeattacking)
|
||||
exp = 100 * player->gradingpointnum / numgradingpoints;
|
||||
|
||||
// CONS_Printf("Player %s numgradingpoints=%d gradingpoint=%d targetminexp=%d targetmaxexp=%d factor=%.2f factormin=%.2f factormax=%.2f exp=%d\n",
|
||||
// player_names[player - players], numgradingpoints, player->gradingpointnum, targetminexp, targetmaxexp, FIXED_TO_FLOAT(player->gradingfactor), FIXED_TO_FLOAT(factormin), FIXED_TO_FLOAT(factormax), exp);
|
||||
|
||||
|
|
|
|||
|
|
@ -2048,14 +2048,14 @@ static void K_HandleLapIncrement(player_t *player)
|
|||
tic_t starthaste = starttime - leveltime; // How much time we had left to cross
|
||||
starthaste = TIMEATTACK_START - starthaste; // How much time we wasted before crossing
|
||||
|
||||
tic_t leniency = TICRATE*2; // How long we can take to cross with no penalty to amp payout
|
||||
tic_t leniency = TICRATE*4; // How long we can take to cross with no penalty to amp payout
|
||||
|
||||
if (starthaste <= leniency)
|
||||
starthaste = 0;
|
||||
else
|
||||
starthaste -= leniency;
|
||||
|
||||
fixed_t ampreward = Easing_OutQuart(starthaste*FRACUNIT/TIMEATTACK_START, 100*FRACUNIT, 0);
|
||||
fixed_t ampreward = Easing_OutQuart(starthaste*FRACUNIT/TIMEATTACK_START, 60*FRACUNIT, 0);
|
||||
K_SpawnAmps(player, ampreward/FRACUNIT, player->mo);
|
||||
|
||||
// And reset our time to 0.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue