From b15a770f8970551bee385fa34e2822fe0e5982e3 Mon Sep 17 00:00:00 2001 From: James R Date: Sun, 2 Jul 2023 01:20:09 -0700 Subject: [PATCH 1/2] Let UFO Catcher destroy Mines in radius --- src/k_collide.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/k_collide.cpp b/src/k_collide.cpp index 4f920ea1e..98e1ae907 100644 --- a/src/k_collide.cpp +++ b/src/k_collide.cpp @@ -238,8 +238,15 @@ static inline BlockItReturn_t PIT_SSMineSearch(mobj_t *thing) if (grenade->flags2 & MF2_DEBRIS) // don't explode twice return BMIT_ABORT; - if (thing->type != MT_PLAYER) // Don't explode for anything but an actual player. + switch (thing->type) + { + case MT_PLAYER: // Don't explode for anything but an actual player. + case MT_SPECIAL_UFO: // Also UFO catcher + break; + + default: return BMIT_CONTINUE; + } if (thing == grenade->target && grenade->threshold != 0) // Don't blow up at your owner instantly. return BMIT_CONTINUE; From 91170d9287882a953160eb7c75f6e25b264b6cd7 Mon Sep 17 00:00:00 2001 From: James R Date: Sat, 12 Aug 2023 17:05:57 -0700 Subject: [PATCH 2/2] PIT_SSMineExplode: don't do spinout damage to UFO Catcher --- src/k_collide.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/k_collide.cpp b/src/k_collide.cpp index 98e1ae907..74bc74e71 100644 --- a/src/k_collide.cpp +++ b/src/k_collide.cpp @@ -294,6 +294,13 @@ static inline BlockItReturn_t PIT_SSMineExplode(mobj_t *thing) if (PIT_SSMineChecks(thing) == true) return BMIT_CONTINUE; + // Don't do Big Boy Damage to the UFO Catcher with + // lingering spinout damage + if (thing->type == MT_SPECIAL_UFO && explodespin) + { + return BMIT_CONTINUE; + } + P_DamageMobj(thing, grenade, grenade->target, 1, (explodespin ? DMG_NORMAL : DMG_EXPLODE)); lagadded = (thing->hitlag - oldhitlag);