From 4bedc9753b8f566dde93235ef0ccf3238dbc1d6c Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 27 Nov 2025 13:46:25 -0500 Subject: [PATCH] v3.3.0: fixed a couple visual quirks with randomize window --- .../scenes/HeroSelectScene.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java index 88d35862f..2123ee58e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/HeroSelectScene.java @@ -626,6 +626,8 @@ public class HeroSelectScene extends PixelScene { private ArrayList buttons; private ArrayList spacers; + protected StyledButton challengeButton; + @Override protected void createChildren() { @@ -793,7 +795,7 @@ public class HeroSelectScene extends PixelScene { add(dailyButton); buttons.add(dailyButton); - StyledButton challengeButton = new StyledButton(Chrome.Type.BLANK, Messages.get(WndChallenges.class, "title"), 6){ + challengeButton = new StyledButton(Chrome.Type.BLANK, Messages.get(WndChallenges.class, "title"), 6){ @Override protected void onClick() { if (!Badges.isUnlocked(Badges.Badge.VICTORY) && !DeviceCompat.isDebug()){ @@ -915,14 +917,6 @@ public class HeroSelectScene extends PixelScene { protected void onClick() { super.onClick(); hide(); - if (chkHero.checked()){ - HeroClass randomCls; - do { - randomCls = Random.oneOf(HeroClass.values()); - } while (!randomCls.isUnlocked()); - setSelectedHero(randomCls); - GamesInProgress.randomizedClass = true; - } if (chkChals.checked()){ int chals = optChals.getSelectedValue(); @@ -936,8 +930,20 @@ public class HeroSelectScene extends PixelScene { mask += chalMasks.remove(0); } SPDSettings.challenges(mask); + challengeButton.icon(Icons.get(SPDSettings.challenges() > 0 ? Icons.CHALLENGE_COLOR : Icons.CHALLENGE_GREY)); ShatteredPixelDungeon.scene().addToFront(new WndChallenges(mask, false)); } + + if (chkHero.checked()){ + HeroClass randomCls; + do { + randomCls = Random.oneOf(HeroClass.values()); + } while (!randomCls.isUnlocked()); + setSelectedHero(randomCls); + GamesInProgress.randomizedClass = true; + } else { + setSelectedHero(GamesInProgress.selectedClass); + } } }; btnConfirm.setRect(0, 64, 60, 16);