From 92cd95311c113305f0e410b729ff8f914ebc6b42 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 13 Jan 2024 13:07:02 -0800 Subject: [PATCH] Add P_IsKartItem: true for anything the player can hold or throw (except shield overlays) --- src/p_mobj.c | 33 +++++++++++++++++++++++++++++++++ src/p_mobj.h | 1 + 2 files changed, 34 insertions(+) diff --git a/src/p_mobj.c b/src/p_mobj.c index f1d393afc..517434f17 100644 --- a/src/p_mobj.c +++ b/src/p_mobj.c @@ -5317,6 +5317,39 @@ cont: // Kartitem stuff. +// These are held/thrown by players. +boolean P_IsKartItem(INT32 type) +{ + switch (type) + { + case MT_POGOSPRING: + case MT_EGGMANITEM: + case MT_EGGMANITEM_SHIELD: + case MT_BANANA: + case MT_BANANA_SHIELD: + case MT_ORBINAUT: + case MT_ORBINAUT_SHIELD: + case MT_JAWZ: + case MT_JAWZ_SHIELD: + case MT_SSMINE: + case MT_SSMINE_SHIELD: + case MT_LANDMINE: + case MT_DROPTARGET: + case MT_DROPTARGET_SHIELD: + case MT_BALLHOG: + case MT_SPB: + case MT_BUBBLESHIELDTRAP: + case MT_GARDENTOP: + case MT_HYUDORO: + case MT_SINK: + case MT_GACHABOM: + return true; + + default: + return false; + } +} + // This item is never attached to a player -- it can DIE // unconditionally in death sectors. boolean P_IsKartFieldItem(INT32 type) diff --git a/src/p_mobj.h b/src/p_mobj.h index dabdafe51..1e429aa26 100644 --- a/src/p_mobj.h +++ b/src/p_mobj.h @@ -540,6 +540,7 @@ void P_InitCachedActions(void); void P_RunCachedActions(void); void P_AddCachedAction(mobj_t *mobj, INT32 statenum); +boolean P_IsKartItem(INT32 type); boolean P_IsKartFieldItem(INT32 type); boolean K_IsMissileOrKartItem(mobj_t *mo); boolean P_CanDeleteKartItem(INT32 type);