From b2b941bcc9f6e6b0c2c49d9191f6062448262fd4 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 22 Jul 2025 00:44:01 -0700 Subject: [PATCH 1/3] Nerf Dimension Blue Spheres, 30 ring boost -> 10, each sphere awards 1 ring --- src/objects/ivoball.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/objects/ivoball.cpp b/src/objects/ivoball.cpp index 2dd5a0581..3bb38ff14 100644 --- a/src/objects/ivoball.cpp +++ b/src/objects/ivoball.cpp @@ -96,7 +96,8 @@ struct IvoBall : Mobj renderflags |= RF_DONTDRAW; timer(kCooldown); - toucher->player->ringboost += 30; + toucher->player->ringboost += 10; + K_AwardPlayerRings(toucher->player, 1, false); if (P_IsDisplayPlayer(toucher->player)) { From fcf2dc19094384e47dcb57ee3e3d20cfebf2fcb6 Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 1 Aug 2025 01:08:28 -0700 Subject: [PATCH 2/3] Mach Spheres: do not award rings in stun --- src/objects/ivoball.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/objects/ivoball.cpp b/src/objects/ivoball.cpp index 3bb38ff14..53001f6c7 100644 --- a/src/objects/ivoball.cpp +++ b/src/objects/ivoball.cpp @@ -97,7 +97,11 @@ struct IvoBall : Mobj timer(kCooldown); toucher->player->ringboost += 10; - K_AwardPlayerRings(toucher->player, 1, false); + + if (P_CanPickupItem(toucher->player, PICKUP_RINGORSPHERE)) + { + K_AwardPlayerRings(toucher->player, 1, false); + } if (P_IsDisplayPlayer(toucher->player)) { From 1754ff0782bada79318b52a8b7490850ace4dccd Mon Sep 17 00:00:00 2001 From: James R Date: Fri, 1 Aug 2025 01:10:12 -0700 Subject: [PATCH 3/3] Mach Spheres: do not collect in stun --- src/objects/ivoball.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/objects/ivoball.cpp b/src/objects/ivoball.cpp index 53001f6c7..99461dff4 100644 --- a/src/objects/ivoball.cpp +++ b/src/objects/ivoball.cpp @@ -93,15 +93,16 @@ struct IvoBall : Mobj return; } + if (!P_CanPickupItem(toucher->player, PICKUP_RINGORSPHERE)) + { + return; + } + renderflags |= RF_DONTDRAW; timer(kCooldown); toucher->player->ringboost += 10; - - if (P_CanPickupItem(toucher->player, PICKUP_RINGORSPHERE)) - { - K_AwardPlayerRings(toucher->player, 1, false); - } + K_AwardPlayerRings(toucher->player, 1, false); if (P_IsDisplayPlayer(toucher->player)) {