mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Milky Way terrain
`OutRun 48.0` on Terrain block will make that texture add 48 units to driving top speed.
This commit is contained in:
parent
5eeb29d552
commit
d936c7aed9
5 changed files with 35 additions and 10 deletions
|
|
@ -752,6 +752,8 @@ struct player_t
|
|||
|
||||
boolean markedfordeath;
|
||||
|
||||
fixed_t outrun; // Milky Way road effect
|
||||
|
||||
uint8_t public_key[PUBKEYLENGTH];
|
||||
|
||||
#ifdef HWRENDER
|
||||
|
|
|
|||
30
src/k_kart.c
30
src/k_kart.c
|
|
@ -3337,6 +3337,11 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower, boolean dorubberb
|
|||
|
||||
finalspeed = FixedMul(finalspeed, mapobjectscale);
|
||||
|
||||
if (dorubberband == true && K_PlayerUsesBotMovement(player) == true)
|
||||
{
|
||||
finalspeed = FixedMul(finalspeed, player->botvars.rubberband);
|
||||
}
|
||||
|
||||
if (doboostpower == true)
|
||||
{
|
||||
if (mobjValid == true)
|
||||
|
|
@ -3346,11 +3351,12 @@ fixed_t K_GetKartSpeed(player_t *player, boolean doboostpower, boolean dorubberb
|
|||
}
|
||||
|
||||
finalspeed = FixedMul(finalspeed, player->boostpower + player->speedboost);
|
||||
}
|
||||
|
||||
if (dorubberband == true && K_PlayerUsesBotMovement(player) == true)
|
||||
{
|
||||
finalspeed = FixedMul(finalspeed, player->botvars.rubberband);
|
||||
if (mobjValid == true && player->outrun != 0)
|
||||
{
|
||||
// Milky Way's roads
|
||||
finalspeed += FixedMul(player->outrun, K_GrowShrinkSpeedMul(player));
|
||||
}
|
||||
}
|
||||
|
||||
return finalspeed;
|
||||
|
|
@ -3369,18 +3375,22 @@ fixed_t K_GetKartAccel(player_t *player)
|
|||
|
||||
k_accel += 17 * stat; // 121 - 257
|
||||
|
||||
if (K_PodiumSequence() == true)
|
||||
{
|
||||
return FixedMul(k_accel, FRACUNIT / 4);
|
||||
}
|
||||
|
||||
// Marble Garden Top gets 1200% accel
|
||||
if (player->curshield == KSHIELD_TOP)
|
||||
{
|
||||
k_accel *= 12;
|
||||
}
|
||||
|
||||
return FixedMul(k_accel, (FRACUNIT + player->accelboost) / 4);
|
||||
if (K_PodiumSequence() == true)
|
||||
{
|
||||
k_accel = FixedMul(k_accel, FRACUNIT / 4);
|
||||
}
|
||||
else
|
||||
{
|
||||
k_accel = FixedMul(k_accel, (FRACUNIT + player->accelboost) / 4);
|
||||
}
|
||||
|
||||
return k_accel;
|
||||
}
|
||||
|
||||
UINT16 K_GetKartFlashing(player_t *player)
|
||||
|
|
|
|||
|
|
@ -455,6 +455,9 @@ void K_ProcessTerrainEffect(mobj_t *mo)
|
|||
return;
|
||||
}
|
||||
|
||||
// Milky Way road effect
|
||||
player->outrun = terrain->outrun + (48*FRACUNIT);
|
||||
|
||||
// Damage effects
|
||||
if (terrain->damageType > 0)
|
||||
{
|
||||
|
|
@ -1688,6 +1691,10 @@ static void K_ParseTerrainParameter(size_t i, char *param, char *val)
|
|||
{
|
||||
terrain->springStarColor = get_number(val);
|
||||
}
|
||||
else if (stricmp(param, "outrun") == 0 || stricmp(param, "speedIncrease") == 0)
|
||||
{
|
||||
terrain->outrun = FLOAT_TO_FIXED(atof(val));
|
||||
}
|
||||
else if (stricmp(param, "floorClip") == 0)
|
||||
{
|
||||
terrain->floorClip = FLOAT_TO_FIXED(atof(val));
|
||||
|
|
|
|||
|
|
@ -122,6 +122,7 @@ struct terrain_t
|
|||
angle_t speedPadAngle; // Speed pad angle
|
||||
fixed_t springStrength; // Spring strength
|
||||
UINT16 springStarColor; // Spring star color
|
||||
fixed_t outrun; // Raise top speed by this amount, for super fast road.
|
||||
fixed_t floorClip; // Offset for sprites on this ground
|
||||
UINT32 flags; // Flag values (see: terrain_flags_t)
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4609,6 +4609,11 @@ void P_PlayerAfterThink(player_t *player)
|
|||
}
|
||||
#endif
|
||||
|
||||
if (P_IsObjectOnGround(player->mo) == true)
|
||||
{
|
||||
player->outrun = 0;
|
||||
}
|
||||
|
||||
#ifdef SECTORSPECIALSAFTERTHINK
|
||||
if (player->onconveyor != 1 || !P_IsObjectOnGround(player->mo))
|
||||
player->onconveyor = 0;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue