control tweaks, give boost values

This commit is contained in:
minenice55 2026-01-27 03:21:42 -05:00
parent d2062ae680
commit d068c1dfc5
3 changed files with 26 additions and 17 deletions

View file

@ -550,8 +550,8 @@ consvar_t cv_kartstacking_ring_handleboost = CVAR_INIT ("vanillaboost_ring_handl
consvar_t cv_kartstacking_ring_stackable = CVAR_INIT ("vanillaboost_ring_stackable", "On", CV_NETVAR|CV_CHEAT|CV_GUARD, CV_OnOff, NULL);
consvar_t cv_kartstacking_ssmt_speedboost = CVAR_INIT ("vanillaboost_ssmt_speedboost", "0.1", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_ssmt_accelboost = CVAR_INIT ("vanillaboost_ssmt_accelboost", "65535.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_ssmt_handleboost = CVAR_INIT ("vanillaboost_ssmt_handleboost", "0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_ssmt_accelboost = CVAR_INIT ("vanillaboost_ssmt_accelboost", "10.0", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_ssmt_handleboost = CVAR_INIT ("vanillaboost_ssmt_handleboost", "0.25", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_slope_decay = CVAR_INIT ("vanillaboost_slope_decay", "0.004", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);
consvar_t cv_kartstacking_slope_brakemod = CVAR_INIT ("vanillaboost_slope_brakemod", "0.01", CV_NETVAR|CV_CHEAT|CV_FLOAT|CV_GUARD, CV_Unsigned, NULL);

View file

@ -1540,14 +1540,17 @@ void G_BuildTiccmd(ticcmd_t *cmd, INT32 realtics, UINT8 ssplayer)
forward += (value * MAXPLMOVE) / JOYAXISRANGE;
}
if (player->sneakertimer)
if (player->sneakertimer || player->ssmtboost)
forward = MAXPLMOVE; // 50
value = G_PlayerInputAnalog(forplayer, gc_brake, false, DEADZONE_BUTTON);
if (value != 0)
{
cmd->buttons |= BT_BRAKE;
forward -= (value * 25) / JOYAXISRANGE;
if (!(player->pflags & PF_CHARGINGSSMT))
{
forward -= (value * 25) / JOYAXISRANGE;
}
}
// But forward/backward IS used for aiming.

View file

@ -357,6 +357,10 @@ void K_RegisterKartStuff(void)
CV_RegisterVar(&cv_kartstacking_ring_handleboost);
CV_RegisterVar(&cv_kartstacking_ring_stackable);
CV_RegisterVar(&cv_kartstacking_ssmt_speedboost);
CV_RegisterVar(&cv_kartstacking_ssmt_accelboost);
CV_RegisterVar(&cv_kartstacking_ssmt_handleboost);
CV_RegisterVar(&cv_kartstacking_slope_decay);
CV_RegisterVar(&cv_kartstacking_slope_brakemod);
CV_RegisterVar(&cv_kartstacking_slope_speedboost_max);
@ -1050,11 +1054,6 @@ static void K_UpdateOffroad(player_t *player)
offroadstrength *= 2;
}
}
else if (player->pflags & PF_CHARGINGSSMT)
{
offroad = offroad/2;
offroadstrength = offroadstrength/2;
}
player->offroad += offroad;
}
@ -2174,7 +2173,7 @@ boolean K_ApplyOffroad(const player_t *player)
if (player->hyudorotimer || sneakertimer ||
(cv_kartbubble_boost_offroadignore.value && player->bubbleboost) ||
player->ssmtboost)
player->ssmtboost || (player->pflags & PF_CHARGINGSSMT))
return false;
return true;
}
@ -3108,7 +3107,7 @@ SINT8 K_GetForwardMove(const player_t *player)
player->flipovertimer) // pw_introcam?
{
forwardmove = 0;
if (player->sneakertimer || player->ssmtboost)
if (player->sneakertimer)
forwardmove = MAXPLMOVE;
}
@ -9632,14 +9631,18 @@ static void K_KartSlipdash(player_t *player, boolean onground)
static void K_StandStillMiniTurbo(player_t *player, boolean onground)
{
if (player->speed <= 8*player->mo->scale && onground)
if (player->speed <= 12*player->mo->scale && onground && leveltime > starttime)
{
if (player->cmd.buttons & BT_ACCELERATE|BT_BRAKE)
if ((player->cmd.buttons & BT_ACCELERATE) && (player->cmd.buttons & BT_BRAKE))
{
player->pflags |= PF_CHARGINGSSMT;
player->forcedtopspeed = 8*FRACUNIT;
player->forcedtopspeed = 12*FRACUNIT;
player->ssmtcharge += 1;
K_SpawnDashDustRelease(player, true);
if (leveltime % 8 == 0)
{
K_SpawnDashDustRelease(player, true);
S_StartSound(player->mo, sfx_s224);
}
if (player->ssmtcharge >= 3*TICRATE/2)
{
K_SpawnBoostTrail(player);
@ -9653,7 +9656,10 @@ static void K_StandStillMiniTurbo(player_t *player, boolean onground)
player->forcedtopspeed = 0;
if (player->ssmtcharge >= 3*TICRATE/2)
{
player->ssmtboost = TICRATE;
player->outruntime = TICRATE/4;
player->ssmtboost = TICRATE/2;
player->tiregrease = TICRATE;
S_StartSound(player->mo, sfx_s23c);
}
player->ssmtcharge = 0;
@ -11117,7 +11123,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
// Quick Turning
// You can't turn your kart when you're not moving.
// So now it's time to burn some rubber!
if (player->speed < 2 && leveltime > starttime && (player->cmd.buttons & BT_ACCELERATE|BT_BRAKE) && player->cmd.turning != 0)
if (player->speed < 2 && leveltime > starttime && (player->cmd.buttons & BT_ACCELERATE) && (player->cmd.buttons & BT_BRAKE) && player->cmd.turning != 0)
{
if (leveltime % 8 == 0)
S_StartSound(player->mo, sfx_s224);