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
This commit is contained in:
Evan Debenham
2025-07-13 17:59:26 -04:00
parent 4be2a6e51f
commit 9dfcb4b80e
2 changed files with 5 additions and 3 deletions
@@ -192,9 +192,11 @@ public class AscensionChallenge extends Buff {
} else { } else {
chal.stacks -= 1; chal.stacks -= 1;
} }
chal.stacksLowered = true;
chal.stacks = Math.max(0, chal.stacks); 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")); GLog.p(Messages.get(AscensionChallenge.class, "weaken"));
} }
@@ -42,7 +42,7 @@ public class Rat extends Mob {
@Override @Override
protected boolean act() { protected boolean act() {
if (Dungeon.level.heroFOV[pos] && Dungeon.hero.armorAbility instanceof Ratmogrify){ if (Dungeon.level.heroFOV[pos] && Dungeon.hero.armorAbility instanceof Ratmogrify){
alignment = Alignment.ALLY; alignment = Alignment.NEUTRAL;
if (state == SLEEPING) state = WANDERING; if (state == SLEEPING) state = WANDERING;
} }
return super.act(); return super.act();