mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Merge branch 'limit-bubble-launch' into 'master'
Apply scam limits to bubble shield launch, not just flight See merge request kart-krew-dev/ring-racers-internal!2824
This commit is contained in:
commit
7c497ea7ce
1 changed files with 17 additions and 9 deletions
26
src/k_kart.c
26
src/k_kart.c
|
|
@ -8163,6 +8163,17 @@ static void K_DeleteHnextList(player_t *player)
|
|||
}
|
||||
}
|
||||
|
||||
static fixed_t K_BubbleSpeedCap(player_t *player)
|
||||
{
|
||||
fixed_t scam = K_PlayerScamPercentage(player, BUBBLESCAM);
|
||||
fixed_t basespeed = K_GetKartSpeed(player, false, false);
|
||||
|
||||
fixed_t targetspeed = 4 * basespeed;
|
||||
targetspeed -= FixedMul(scam, targetspeed);
|
||||
|
||||
return targetspeed;
|
||||
}
|
||||
|
||||
void K_DropHnextList(player_t *player)
|
||||
{
|
||||
mobj_t *work = player->mo, *nextwork, *dropwork;
|
||||
|
|
@ -10855,15 +10866,8 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
|||
}
|
||||
else
|
||||
{
|
||||
fixed_t scam = K_PlayerScamPercentage(player, BUBBLESCAM);
|
||||
fixed_t speed = R_PointToDist2(0, 0, player->mo->momx, player->mo->momy);
|
||||
fixed_t basespeed = K_GetKartSpeed(player, false, false);
|
||||
|
||||
fixed_t targetspeed = 4 * basespeed;
|
||||
targetspeed -= FixedMul(scam, targetspeed);
|
||||
|
||||
// CONS_Printf("spd %d tspd %d psp %d\n", speed, targetspeed, scam);
|
||||
|
||||
fixed_t targetspeed = K_BubbleSpeedCap(player);
|
||||
fixed_t div = 12*FRACUNIT; // bigger number slower drag
|
||||
|
||||
if (speed > targetspeed)
|
||||
|
|
@ -14113,7 +14117,11 @@ boolean K_FastFallBounce(player_t *player)
|
|||
// speed makes your sustained speed heavily gamespeed dependent.
|
||||
fixed_t minspeed = 12*K_GetKartSpeed(player, false, false)/10;
|
||||
fixed_t fallspeed = abs(player->fastfall);
|
||||
P_InstaThrust(player->mo, player->mo->angle, 11*max(minspeed, fallspeed)/10);
|
||||
|
||||
fixed_t interspeed = 11*max(minspeed, fallspeed)/10;
|
||||
interspeed = min(interspeed, K_BubbleSpeedCap(player) + K_GetKartSpeed(player, false, false)/5);
|
||||
|
||||
P_InstaThrust(player->mo, player->mo->angle, interspeed);
|
||||
|
||||
player->ignoreAirtimeLeniency = max(player->ignoreAirtimeLeniency, TICRATE);
|
||||
player->bubbledrag = true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue