Merge up to master

This commit is contained in:
Antonio Martinez 2025-07-25 03:34:28 -04:00 committed by AJ Martinez
parent 5aa6af4f97
commit 1457a16bd5
2 changed files with 14 additions and 8 deletions

View file

@ -3107,6 +3107,9 @@ fixed_t K_PlayerTripwireSpeedThreshold(const player_t *player)
if (specialstageinfo.valid) if (specialstageinfo.valid)
required_speed = 3 * K_GetKartSpeed(player, false, false) / 2; // 150% 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); UINT32 distance = K_GetItemRouletteDistance(player, 8);
if (gametype == GT_RACE && M_NotFreePlay() && !modeattacking) if (gametype == GT_RACE && M_NotFreePlay() && !modeattacking)
@ -13996,7 +13999,9 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
{ {
player->lastringboost = player->ringboost; player->lastringboost = player->ringboost;
UINT32 award = 5*player->ringboxaward + 10; 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()) if (!K_ThunderDome())
award = 3 * award / 2; award = 3 * award / 2;
@ -14052,15 +14057,13 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
UINT8 maxtotal = accelPower*9 + weightPower*9; UINT8 maxtotal = accelPower*9 + weightPower*9;
// Scale from base payout at 9/1 to max payout at 1/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! // And, because we don't have to give a damn about sandbagging, up the stakes the longer we progress!
if (gametyperules & GTR_CIRCUIT) if (gametyperules & GTR_CIRCUIT)
{ {
UINT8 maxgrade = 10; if (K_GetNumGradingPoints())
UINT8 margin = min(player->gradingpointnum, maxgrade); award = Easing_Linear(FRACUNIT * player->gradingpointnum / K_GetNumGradingPoints(), award, 3*award/2);
award = Easing_Linear(FRACUNIT * margin / maxgrade, award, 2*award);
} }
} }
else else
@ -16461,6 +16464,9 @@ UINT16 K_GetEXP(player_t *player)
UINT16 exp = FixedRescale(player->gradingfactor, factormin, factormax, Easing_Linear, targetminexp, targetmaxexp)>>FRACBITS; 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", // 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); // player_names[player - players], numgradingpoints, player->gradingpointnum, targetminexp, targetmaxexp, FIXED_TO_FLOAT(player->gradingfactor), FIXED_TO_FLOAT(factormin), FIXED_TO_FLOAT(factormax), exp);

View file

@ -2048,14 +2048,14 @@ static void K_HandleLapIncrement(player_t *player)
tic_t starthaste = starttime - leveltime; // How much time we had left to cross tic_t starthaste = starttime - leveltime; // How much time we had left to cross
starthaste = TIMEATTACK_START - starthaste; // How much time we wasted before crossing 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) if (starthaste <= leniency)
starthaste = 0; starthaste = 0;
else else
starthaste -= leniency; 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); K_SpawnAmps(player, ampreward/FRACUNIT, player->mo);
// And reset our time to 0. // And reset our time to 0.