From afec876f0124cda16bab2e78b6d27a674bcc467b Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 17 Feb 2023 16:34:11 -0800 Subject: [PATCH] Add exception to let Lightning Shield destroy SPB --- src/k_collide.c | 9 ++++++--- src/p_inter.c | 7 +++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/k_collide.c b/src/k_collide.c index af6b1130f..33834e88f 100644 --- a/src/k_collide.c +++ b/src/k_collide.c @@ -632,10 +632,13 @@ static inline BlockItReturn_t PIT_LightningShieldAttack(mobj_t *thing) return BMIT_CONTINUE; } - if (!(thing->flags & MF_SHOOTABLE) || (thing->flags & MF_SCENERY)) + if (thing->type != MT_SPB) { - // Not shootable - return BMIT_CONTINUE; + if (!(thing->flags & MF_SHOOTABLE) || (thing->flags & MF_SCENERY)) + { + // Not shootable + return BMIT_CONTINUE; + } } if (thing->player && thing->player->spectator) diff --git a/src/p_inter.c b/src/p_inter.c index 64f96100a..8a13e5f8c 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2058,8 +2058,11 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da if (!force) { - if (!(target->flags & MF_SHOOTABLE)) - return false; // shouldn't happen... + if (!(target->type == MT_SPB && (damagetype & DMG_TYPEMASK) == DMG_VOLTAGE)) + { + if (!(target->flags & MF_SHOOTABLE)) + return false; // shouldn't happen... + } if (!(damagetype & DMG_DEATHMASK) && (target->eflags & MFE_PAUSED)) return false;