Add K_UpdateDamageFlashing, refactor Battle 0-flashing tics

Instead of setting flashing tics to 0 in Battle, simply
don't update the value in damage contexts (if Battle).
This commit is contained in:
James R 2024-01-11 22:01:35 -08:00
parent a217178951
commit 3856fbf1c6
3 changed files with 14 additions and 8 deletions

View file

@ -3550,11 +3550,6 @@ UINT16 K_GetKartFlashing(const player_t *player)
{ {
UINT16 tics = flashingtics; UINT16 tics = flashingtics;
if (gametyperules & GTR_BUMPERS)
{
return 0;
}
if (player == NULL) if (player == NULL)
{ {
return tics; return tics;
@ -3564,6 +3559,16 @@ UINT16 K_GetKartFlashing(const player_t *player)
return tics; return tics;
} }
void K_UpdateDamageFlashing(player_t *player, UINT16 tics)
{
if (gametyperules & GTR_BUMPERS)
{
return;
}
player->flashing = tics;
}
boolean K_PlayerShrinkCheat(const player_t *player) boolean K_PlayerShrinkCheat(const player_t *player)
{ {
return ( return (
@ -8391,9 +8396,9 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
if (player->spinouttimer != 0) if (player->spinouttimer != 0)
{ {
if (( player->spinouttype & KSPIN_IFRAMES ) == 0) if (( player->spinouttype & KSPIN_IFRAMES ) == 0)
player->flashing = 0; K_UpdateDamageFlashing(player, 0);
else else
player->flashing = K_GetKartFlashing(player); K_UpdateDamageFlashing(player, K_GetKartFlashing(player));
} }
if (player->spinouttimer) if (player->spinouttimer)

View file

@ -192,6 +192,7 @@ fixed_t K_GetKartSpeedFromStat(UINT8 kartspeed);
fixed_t K_GetKartSpeed(const player_t *player, boolean doboostpower, boolean dorubberbanding); fixed_t K_GetKartSpeed(const player_t *player, boolean doboostpower, boolean dorubberbanding);
fixed_t K_GetKartAccel(const player_t *player); fixed_t K_GetKartAccel(const player_t *player);
UINT16 K_GetKartFlashing(const player_t *player); UINT16 K_GetKartFlashing(const player_t *player);
void K_UpdateDamageFlashing(player_t *player, UINT16 tics);
boolean K_PlayerShrinkCheat(const player_t *player); boolean K_PlayerShrinkCheat(const player_t *player);
void K_UpdateShrinkCheat(player_t *player); void K_UpdateShrinkCheat(player_t *player);
boolean K_KartKickstart(const player_t *player); boolean K_KartKickstart(const player_t *player);

View file

@ -3333,7 +3333,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
if (type != DMG_STUMBLE && type != DMG_WHUMBLE) if (type != DMG_STUMBLE && type != DMG_WHUMBLE)
{ {
if (type != DMG_STING) if (type != DMG_STING)
player->flashing = K_GetKartFlashing(player); K_UpdateDamageFlashing(player, K_GetKartFlashing(player));
player->ringburst += ringburst; player->ringburst += ringburst;