From 9dfcb4b80e91cfcc9b0e17a1d0797a03d8011f44 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 13 Jul 2025 17:59:26 -0400 Subject: [PATCH] v3.2.0: tweaks to improve gameplay for pacifist ascent: - first enemy kill now always notifies, indicating badge failure - ratmog now sets rats to neutral, preventing killing during ascent --- .../actors/buffs/AscensionChallenge.java | 6 ++++-- .../shatteredpixeldungeon/actors/mobs/Rat.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/AscensionChallenge.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/AscensionChallenge.java index b025cfac5..c69ef17ec 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/AscensionChallenge.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/AscensionChallenge.java @@ -192,9 +192,11 @@ public class AscensionChallenge extends Buff { } else { chal.stacks -= 1; } - chal.stacksLowered = true; chal.stacks = Math.max(0, chal.stacks); - if (chal.stacks < 8f && (int)(chal.stacks/2) != (int)(oldStacks/2f)){ + if (!chal.stacksLowered) { + chal.stacksLowered = true; + GLog.p(Messages.get(AscensionChallenge.class, "weaken")); + } else if (chal.stacks < 8f && (int)(chal.stacks/2) != (int)(oldStacks/2f)){ GLog.p(Messages.get(AscensionChallenge.class, "weaken")); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java index f9d323d7d..037b7d358 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Rat.java @@ -42,7 +42,7 @@ public class Rat extends Mob { @Override protected boolean act() { if (Dungeon.level.heroFOV[pos] && Dungeon.hero.armorAbility instanceof Ratmogrify){ - alignment = Alignment.ALLY; + alignment = Alignment.NEUTRAL; if (state == SLEEPING) state = WANDERING; } return super.act();