From e7d28a753692c2c5515497bac987dea9ac5531e7 Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sun, 14 Sep 2025 11:56:39 -0400 Subject: [PATCH 1/5] When markedfordeath phase through objects Unless its funny --- src/p_map.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/p_map.c b/src/p_map.c index 580f0438e..36eb9e109 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -651,6 +651,12 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) return BMIT_CONTINUE; // force no collide } + if (g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP)) + return BMIT_CONTINUE; + + if (thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP)) + return BMIT_CONTINUE; + // Blend-Eye internal noclip if ((thing->type == MT_BLENDEYE_GLASS || thing->type == MT_BLENDEYE_SHIELD || thing->type == MT_BLENDEYE_EGGBEATER) && (g_tm.thing->type == MT_BLENDEYE_MAIN || g_tm.thing->type == MT_BLENDEYE_EYE || g_tm.thing->type == MT_BLENDEYE_PUYO)) From cd0d734d33d53cf998d58a647eeb8e5ac01ecc7f Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sun, 14 Sep 2025 12:01:30 -0400 Subject: [PATCH 2/5] Oops, invert conditional --- src/p_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index 36eb9e109..ea6ca0373 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -651,10 +651,10 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) return BMIT_CONTINUE; // force no collide } - if (g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP)) + if (!(g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP))) return BMIT_CONTINUE; - if (thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP)) + if (!(thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP))) return BMIT_CONTINUE; // Blend-Eye internal noclip From 52072170a82949d30f76dabdd56d9f4b1d7d9797 Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sun, 14 Sep 2025 12:03:41 -0400 Subject: [PATCH 3/5] Bounce off players too --- src/p_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index ea6ca0373..9ab2f9db6 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -651,10 +651,10 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) return BMIT_CONTINUE; // force no collide } - if (!(g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP))) + if (!(g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP || thing->type == MT_PLAYER))) return BMIT_CONTINUE; - if (!(thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP))) + if (!(thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP || g_tm.thing->type == MT_PLAYER))) return BMIT_CONTINUE; // Blend-Eye internal noclip From 6cb1683e20a2dfeaca5d2b8cf8739a5e8c7750ec Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sun, 14 Sep 2025 12:14:02 -0400 Subject: [PATCH 4/5] oops, conditionals again --- src/p_map.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/p_map.c b/src/p_map.c index 9ab2f9db6..f486def99 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -651,10 +651,10 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) return BMIT_CONTINUE; // force no collide } - if (!(g_tm.thing->player && g_tm.thing->player->markedfordeath && (K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP || thing->type == MT_PLAYER))) + if (g_tm.thing->player && g_tm.thing->player->markedfordeath && !(K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP || thing->type == MT_PLAYER)) return BMIT_CONTINUE; - if (!(thing->player && thing->player->markedfordeath && (K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP || g_tm.thing->type == MT_PLAYER))) + if (thing->player && thing->player->markedfordeath && !(K_IsMissileOrKartItem(g_tm.thing) || g_tm.thing->type == MT_INSTAWHIP || g_tm.thing->type == MT_PLAYER)) return BMIT_CONTINUE; // Blend-Eye internal noclip From 6d19244ebdf6e18edc36b91e87ed7a01c3dfe83c Mon Sep 17 00:00:00 2001 From: Ashnal Date: Sun, 14 Sep 2025 12:18:34 -0400 Subject: [PATCH 5/5] Informative comment --- src/p_map.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/p_map.c b/src/p_map.c index f486def99..2a5e30205 100644 --- a/src/p_map.c +++ b/src/p_map.c @@ -651,6 +651,7 @@ static BlockItReturn_t PIT_CheckThing(mobj_t *thing) return BMIT_CONTINUE; // force no collide } + // markedfordeath players will phase through most things, unless its funny if (g_tm.thing->player && g_tm.thing->player->markedfordeath && !(K_IsMissileOrKartItem(thing) || thing->type == MT_INSTAWHIP || thing->type == MT_PLAYER)) return BMIT_CONTINUE;