From f6c8dd655a0977a654136b0a13404c5f521be252 Mon Sep 17 00:00:00 2001 From: James R Date: Wed, 8 Mar 2023 18:11:50 -0800 Subject: [PATCH] Do not kill player because of damage outside of GTR_BUMPERS Removes more Karma Bomb crap. --- src/p_inter.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index ede06be36..ea14261b4 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2145,9 +2145,6 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da const boolean hardhit = (type == DMG_EXPLODE || type == DMG_KARMA || type == DMG_TUMBLE); // This damage type can do evil stuff like ALWAYS combo INT16 ringburst = 5; - // Do not die from damage outside of bumpers health system - damage = 0; - // Check if the player is allowed to be damaged! // If not, then spawn the instashield effect instead. if (!force) @@ -2227,28 +2224,27 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da } } - // We successfully damaged them! Give 'em some bumpers! - if (type != DMG_STING && type != DMG_STUMBLE) + if (gametyperules & GTR_BUMPERS) { - damage = 1; - if (damagetype & DMG_STEAL) { + // Steals 2 bumpers damage = 2; + } + } + else + { + // Do not die from damage outside of bumpers health system + damage = 0; + } - if (type == DMG_KARMA) - { - damage = K_Bumpers(player); - } - } - else - { - if (type == DMG_KARMA) - { - // Take half of their bumpers for karma comeback damage - damage = max(1, K_Bumpers(player) / 2); - } - } + if (type == DMG_STING || type == DMG_STUMBLE) + { + damage = 0; + } + else + { + // We successfully damaged them! Give 'em some bumpers! if (source && source != player->mo && source->player) {