From b966e8b9426dfab90dfc2cf1938887b7edcf2176 Mon Sep 17 00:00:00 2001 From: Antonio Martinez Date: Sat, 30 Aug 2025 18:51:01 -0400 Subject: [PATCH] Spindash warning when hit and out of rings --- src/k_hud_track.cpp | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/src/k_hud_track.cpp b/src/k_hud_track.cpp index a898ec2a6..d056b7313 100644 --- a/src/k_hud_track.cpp +++ b/src/k_hud_track.cpp @@ -482,18 +482,32 @@ std::optional object_tooltip(const mobj_t* mobj) .offset3d(0, 0, 32 * mobj->scale * P_MobjFlip(mobj)); } - if (mobj->player == stplyr && K_ApplyOffroad(stplyr) && stplyr->offroad >= FRACUNIT && !stplyr->spindash && stplyr->curshield != KSHIELD_TOP - && stplyr->boostpower < FRACUNIT && stplyr->speed < 2*K_GetKartSpeed(stplyr, false, false)/3) + boolean offroadwarning = K_ApplyOffroad(stplyr) && stplyr->offroad >= FRACUNIT && !stplyr->spindash && stplyr->curshield != KSHIELD_TOP + && stplyr->boostpower < FRACUNIT && stplyr->speed < 2*K_GetKartSpeed(stplyr, false, false)/3; + + boolean hitwarning = stplyr->flashing && stplyr->rings <= 0 && stplyr->speed < K_GetKartSpeed(stplyr, false, false)/2 + && P_IsObjectOnGround(mobj) && !P_PlayerInPain(stplyr); + + boolean hasboost = (stplyr->itemamount && + ( + stplyr->itemtype == KITEM_SNEAKER || stplyr->itemtype == KITEM_INVINCIBILITY || stplyr->itemtype == KITEM_ROCKETSNEAKER + || stplyr->itemtype == KITEM_FLAMESHIELD || stplyr->itemtype == KITEM_GROW + ) + ) || stplyr->rocketsneakertimer; + + if (mobj->player == stplyr && (offroadwarning || hitwarning)) { - if ((stplyr->itemamount && - (stplyr->itemtype == KITEM_SNEAKER || stplyr->itemtype == KITEM_INVINCIBILITY || stplyr->itemtype == KITEM_ROCKETSNEAKER - || stplyr->itemtype == KITEM_FLAMESHIELD || stplyr->itemtype == KITEM_GROW) - ) || stplyr->rocketsneakertimer) - return Tooltip( - TextElement( - TextElement().parse("BOOST ").font(splitfont)) - ) - .offset3d(0, 0, 64 * mobj->scale * P_MobjFlip(mobj)); + if (offroadwarning) + { + if (hasboost) + { + return Tooltip( + TextElement( + TextElement().parse("BOOST ").font(splitfont)) + ) + .offset3d(0, 0, 64 * mobj->scale * P_MobjFlip(mobj)); + } + } return Tooltip( TextElement(