From ec648f4202cd5f117b19ff8db0129afe2629214a Mon Sep 17 00:00:00 2001 From: NepDisk Date: Fri, 18 Jul 2025 17:32:21 -0400 Subject: [PATCH] Revert 'Fix bubbleshield crash in battle mode' This reverts commit 8826b627a6f4913029a0bfd16452522fa1a5cbd0. --- src/p_inter.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/p_inter.c b/src/p_inter.c index a9811dd03..bfb5f7143 100644 --- a/src/p_inter.c +++ b/src/p_inter.c @@ -2232,28 +2232,22 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da } // We successfully damaged them! Give 'em some bumpers! - if (source && source != player->mo && (source->player || (source->target && source->target->player))) + if (source && source != player->mo && (source->player || source->target && source->target->player)) { - player_t *attacker = source->player ? source->player : NULL; - - // Fix for bubble shield hit having no hit em!!!!!! - if (!attacker && (source->target && source->target->player)) - attacker = source->target->player; - if (gametyperules & GTR_BUMPERS) { - K_BattleAwardHit(attacker, player, inflictor, 1); + K_BattleAwardHit(source->player, player, inflictor, 1); if (damagetype & DMG_STEAL) { - K_TakeBumpersFromPlayer(attacker, player, 1); + K_TakeBumpersFromPlayer(source->player, player, 1); } - else if (damagetype & DMG_KARMA) + else if (damage & DMG_KARMA) { - attacker->karmapoints++; - if (attacker->karmapoints >= 2) + source->player->karmapoints++; + if (source->player->karmapoints >= 2) { - K_TakeBumpersFromPlayer(attacker, player, 1); + K_TakeBumpersFromPlayer(source->player, player, 1); } else { @@ -2266,7 +2260,13 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da } } - K_TryHurtSoundExchange(target, attacker->mo); + // Fix for bubble shield hit having no hit em!!!!!! + { + mobj_t *attacker = source->player ? source : NULL; + if (!attacker && source->target && source->target->player) + attacker = source->target; + K_TryHurtSoundExchange(target, attacker); + } } else { @@ -2367,6 +2367,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da K_KartPainEnergyFling(player); break; case DMG_VOLTAGE: + painsound = false; case DMG_NORMAL: default: K_SpinPlayer(player, inflictor, source, KSPIN_SPINOUT);