Apply tiregrease exception to offroad TERRAIN

This commit is contained in:
James R 2023-01-05 19:20:43 -08:00
parent 16ac11d76e
commit 4adc25eb74

View file

@ -1045,10 +1045,6 @@ static fixed_t K_CheckOffroadCollide(mobj_t *mo)
I_Assert(mo != NULL);
I_Assert(!P_MobjWasRemoved(mo));
// If tiregrease is active, don't
if (mo->player && mo->player->tiregrease)
return 0;
for (node = mo->touching_sectorlist; node; node = node->m_sectorlist_next)
{
if (!node->m_sector)
@ -1103,14 +1099,18 @@ static void K_UpdateOffroad(player_t *player)
terrain_t *terrain = player->mo->terrain;
fixed_t offroadstrength = 0;
// TODO: Make this use actual special touch code.
if (terrain != NULL && terrain->offroad > 0)
// If tiregrease is active, don't
if (player->tiregrease == 0)
{
offroadstrength = (terrain->offroad << FRACBITS);
}
else
{
offroadstrength = K_CheckOffroadCollide(player->mo);
// TODO: Make this use actual special touch code.
if (terrain != NULL && terrain->offroad > 0)
{
offroadstrength = (terrain->offroad << FRACBITS);
}
else
{
offroadstrength = K_CheckOffroadCollide(player->mo);
}
}
// If you are in offroad, a timer starts.