Remerge S-Monitor back into Invin

This commit is contained in:
NepDisk 2026-02-17 10:52:01 -05:00
parent 4bc810207e
commit df3209281e
5 changed files with 9 additions and 17 deletions

View file

@ -20,4 +20,3 @@ _(LANDMINE)
_(BUBBLESHIELD)
_(FLAMESHIELD)
_(EGGBRICK)
_(SMONITOR)

View file

@ -1263,7 +1263,6 @@ void K_BotItemUsage(botdata_t *bd, const player_t *player)
case KITEM_GROW:
case KITEM_SHRINK:
case KITEM_SUPERRING:
case KITEM_SMONITOR:
K_BotItemGenericTap(bd);
break;
case KITEM_ROCKETSNEAKER:

View file

@ -1410,7 +1410,7 @@ static void K_drawKartItem(void)
if (leveltime & 1)
{
localpatch = K_GetCachedItemPatch(KITEM_SMONITOR, tiny, 0);
localpatch = K_GetCachedItemPatchEx(KITEM_INVINCIBILITY, tiny, 0, K_IsKartItemAlternate(KITEM_INVINCIBILITY));
}
else
localpatch = kp_nodraw;
@ -3527,11 +3527,11 @@ static void K_drawKartPlayerCheck(void)
{
pnum += 4;
}
else if (checkplayer->itemtype == KITEM_INVINCIBILITY || checkplayer->invincibilitytimer)
else if (!K_IsKartItemAlternate(KITEM_INVINCIBILITY) && (checkplayer->itemtype == KITEM_INVINCIBILITY || checkplayer->invincibilitytimer))
{
pnum += 2;
}
else if (checkplayer->itemtype == KITEM_SMONITOR || checkplayer->smonitortimer)
else if (K_IsKartItemAlternate(KITEM_INVINCIBILITY) && (checkplayer->itemtype == KITEM_INVINCIBILITY || checkplayer->smonitortimer))
{
// FIXME: Separate "CHECK" icon(?)
pnum += 2;

View file

@ -358,7 +358,7 @@ static boolean K_DontDoubleMyItems(kartitemtype_e type, UINT8 amount)
|| type == KITEM_INVINCIBILITY || type == KITEM_GROW
|| type == KITEM_BUBBLESHIELD || type == KITEM_FLAMESHIELD
|| type == KITEM_ROCKETSNEAKER || type == KITEM_SHRINK
|| type == KITEM_HYUDORO || type == KITEM_SMONITOR
|| type == KITEM_HYUDORO
|| (type == KITEM_BANANA && amount >= 4)
|| (type == KITEM_ORBINAUT && amount >= 3)
|| (type == KITEM_SNEAKER && amount >= 3)
@ -2066,16 +2066,10 @@ void K_PlayerItemThink(player_t *player, boolean onground)
case KITEM_INVINCIBILITY:
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO) // Doesn't hold your item slot hostage, so you're free to waste it if you have multiple
{
K_DoInvincibility(player, INVINTIME);
K_PlayPowerGloatSound(player->mo);
player->itemamount--;
K_BotResetItemConfirm(player, false);
}
break;
case KITEM_SMONITOR:
if (ATTACK_IS_DOWN && !HOLDING_ITEM && NO_HYUDORO)
{
if (K_IsKartItemAlternate(KITEM_INVINCIBILITY))
K_DoSMonitor(player, SMONITORTIME);
else
K_DoInvincibility(player, INVINTIME);
K_PlayPowerGloatSound(player->mo);
player->itemamount--;
K_BotResetItemConfirm(player, false);

View file

@ -8501,7 +8501,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
K_UpdateMobjItemOverlay(part, mobj->threshold, mobj->movecount);
if ((mobj->threshold == KITEM_INVINCIBILITY) || (mobj->threshold == KITEM_SMONITOR))
if (mobj->threshold == KITEM_INVINCIBILITY)
mobj->color = K_RainbowColor(leveltime);
}
break;