mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Add K_SetTireGrease, spawn spring grease VFX and set tiregrease
This commit is contained in:
parent
0baad7b863
commit
905592003d
4 changed files with 24 additions and 35 deletions
35
src/k_kart.c
35
src/k_kart.c
|
|
@ -10511,21 +10511,7 @@ static void K_KartSpindash(player_t *player)
|
||||||
P_InstaThrust(player->mo, player->mo->angle, thrust);
|
P_InstaThrust(player->mo, player->mo->angle, thrust);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!player->tiregrease)
|
K_SetTireGrease(player, 2*TICRATE);
|
||||||
{
|
|
||||||
UINT8 i;
|
|
||||||
for (i = 0; i < 2; i++)
|
|
||||||
{
|
|
||||||
mobj_t *grease;
|
|
||||||
grease = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_TIREGREASE);
|
|
||||||
P_SetTarget(&grease->target, player->mo);
|
|
||||||
grease->angle = K_MomentumAngle(player->mo);
|
|
||||||
grease->extravalue1 = i;
|
|
||||||
K_ReduceVFX(grease, player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
player->tiregrease = 2*TICRATE;
|
|
||||||
|
|
||||||
player->spindash = 0;
|
player->spindash = 0;
|
||||||
S_ReducedVFXSound(player->mo, sfx_s23c, player);
|
S_ReducedVFXSound(player->mo, sfx_s23c, player);
|
||||||
|
|
@ -12479,4 +12465,23 @@ boolean K_Cooperative(void)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void K_SetTireGrease(player_t *player, tic_t tics)
|
||||||
|
{
|
||||||
|
if (!player->tiregrease)
|
||||||
|
{
|
||||||
|
UINT8 i;
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
{
|
||||||
|
mobj_t *grease;
|
||||||
|
grease = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_TIREGREASE);
|
||||||
|
P_SetTarget(&grease->target, player->mo);
|
||||||
|
grease->angle = K_MomentumAngle(player->mo);
|
||||||
|
grease->extravalue1 = i;
|
||||||
|
K_ReduceVFX(grease, player);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
player->tiregrease = tics;
|
||||||
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,8 @@ boolean K_Cooperative(void);
|
||||||
// lat: used for when the player is in some weird state where it wouldn't be wise for it to be overwritten by another object that does similarly wacky shit.
|
// lat: used for when the player is in some weird state where it wouldn't be wise for it to be overwritten by another object that does similarly wacky shit.
|
||||||
boolean K_isPlayerInSpecialState(player_t *p);
|
boolean K_isPlayerInSpecialState(player_t *p);
|
||||||
|
|
||||||
|
void K_SetTireGrease(player_t *player, tic_t tics);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
} // extern "C"
|
} // extern "C"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ void P_ExitPlayerOrbit(player_t *player)
|
||||||
}
|
}
|
||||||
|
|
||||||
// tiregrease gives less friction, extends momentum
|
// tiregrease gives less friction, extends momentum
|
||||||
player->tiregrease = TICRATE;
|
K_SetTireGrease(player, TICRATE);
|
||||||
|
|
||||||
P_HaltPlayerOrbit(player);
|
P_HaltPlayerOrbit(player);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
20
src/p_map.c
20
src/p_map.c
|
|
@ -323,25 +323,7 @@ P_DoSpringEx
|
||||||
object->player->springstars = max(abs(vertispeed), horizspeed) / FRACUNIT / 2;
|
object->player->springstars = max(abs(vertispeed), horizspeed) / FRACUNIT / 2;
|
||||||
object->player->springcolor = starcolor;
|
object->player->springcolor = starcolor;
|
||||||
|
|
||||||
// Less friction when hitting springs
|
K_SetTireGrease(object->player, max(object->player->tiregrease, greasetics));
|
||||||
if (!object->player->tiregrease)
|
|
||||||
{
|
|
||||||
UINT8 i;
|
|
||||||
for (i = 0; i < 2; i++)
|
|
||||||
{
|
|
||||||
mobj_t *grease;
|
|
||||||
grease = P_SpawnMobj(object->x, object->y, object->z, MT_TIREGREASE);
|
|
||||||
P_SetTarget(&grease->target, object);
|
|
||||||
grease->angle = K_MomentumAngle(object);
|
|
||||||
grease->extravalue1 = i;
|
|
||||||
K_ReduceVFX(grease, object->player);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (object->player->tiregrease < greasetics)
|
|
||||||
{
|
|
||||||
object->player->tiregrease = greasetics;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue