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);
|
||||
}
|
||||
|
||||
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 = 2*TICRATE;
|
||||
K_SetTireGrease(player, 2*TICRATE);
|
||||
|
||||
player->spindash = 0;
|
||||
S_ReducedVFXSound(player->mo, sfx_s23c, player);
|
||||
|
|
@ -12479,4 +12465,23 @@ boolean K_Cooperative(void)
|
|||
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.
|
||||
boolean K_isPlayerInSpecialState(player_t *p);
|
||||
|
||||
void K_SetTireGrease(player_t *player, tic_t tics);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ void P_ExitPlayerOrbit(player_t *player)
|
|||
}
|
||||
|
||||
// tiregrease gives less friction, extends momentum
|
||||
player->tiregrease = TICRATE;
|
||||
K_SetTireGrease(player, TICRATE);
|
||||
|
||||
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->springcolor = starcolor;
|
||||
|
||||
// Less friction when hitting springs
|
||||
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;
|
||||
}
|
||||
K_SetTireGrease(object->player, max(object->player->tiregrease, greasetics));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue