v3.3.0: condensed the changelog for v3.2.X

This commit is contained in:
Evan Debenham
2025-10-14 15:24:27 -04:00
parent aa32a58dbd
commit 491377a32d

View File

@@ -38,14 +38,13 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
import com.shatteredpixel.shatteredpixeldungeon.ui.TalentIcon;
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
import com.watabou.noosa.Image;
import com.watabou.utils.DeviceCompat;
import java.util.ArrayList;
public class v3_X_Changes {
public static void addAllChanges( ArrayList<ChangeInfo> changeInfos ){
add_Coming_Soon(changeInfos);
//add_Coming_Soon(changeInfos);
add_v3_2_Changes(changeInfos);
add_v3_1_Changes(changeInfos);
add_v3_0_Changes(changeInfos);
@@ -57,27 +56,17 @@ public class v3_X_Changes {
changes.hardlight(0xCCCCCC);
changeInfos.add(changes);
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Overview and ETA",
"The next major Shattered update will v3.3 (I may change the name to v4.0 but it's unlikely). This update will include an overhaul to the Ambitious Imp quest in the metropolis!\n" +
"\n" +
"The blacksmith quest overhaul ended up taking quite a bit of time, and so I expect v3.3 will as well. I will write some blog posts as I make progress though, so hopefully you'll hear from me as things start to take shape in October or November.\n" +
"\n" +
"**Please keep in mind that while I always try to keep to the ETAs I provide, they are just estimates. If you don't hear from me by the ETA, it means I'm still busy with the update!**"));
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "...",
"..."));
changes.addButton( new ChangeButton(Icons.get(Icons.CHANGES), "Patches & Old Android and Java",
"There will be a higher than normal number of patches to v3.2. Firstly to address balance concerns arising from all the item changes (rather than waiting and doing them next update), and then to make various game library updates and technical changes.\n" +
"\n" +
"As mentioned previously, one of the consequences of these library updates and technical changes will be removing support for Android 4.0-4.4, and Java 8-10. Dropping support for these is unfortunately necessary in order to meet an impending requirement by Google."));
changes.addButton( new ChangeButton(Icons.get(Icons.CHANGES), "...",
"..."));
changes.addButton( new ChangeButton(new Image(new ImpSprite()), "City Quest Overhaul!",
"The major content improvements coming in v3.3 will be an overhaul to the Ambitious Imp's quest in the Metropolis. This quest is one of the last major leftovers from the original Pixel Dungeon and badly needs some modernization.\n" +
"\n" +
"Just like the Blacksmith quest overhaul, this new quest will send you to a new sub-region of the dungeon with some unique gameplay. Rather than digging, you'll be attempting to infiltrate a dwarven vault full of danger and treasure!"));
changes.addButton( new ChangeButton(new Image(new ImpSprite()), "...",
"..."));
changes.addButton( new ChangeButton(Icons.get(Icons.PREFS), "Other Changes",
"I will want to keep v3.3 mainly focused on the new quest, but there will be room for smaller changes too! Mainly this will be balance changes, but there might be room for a few smaller design improvements or additions too.\n" +
"\n" +
"Also, I can't make any promises yet, but I am hoping to move forward with more visual improvements, including in-game spritework improvements, whose development has largely been on hiatus since last year."));
changes.addButton( new ChangeButton(Icons.get(Icons.PREFS), "...",
"..."));
}
public static void add_v3_2_Changes( ArrayList<ChangeInfo> changeInfos ) {
@@ -86,223 +75,6 @@ public class v3_X_Changes {
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes = new ChangeInfo("v3.2.5", false, null);
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Dev Commentary",
"v3.2.5 has a couple more small interface improvements and a bunch of little fixes. This should hopefully be the final patch for v3.2 as I move on to early work on the next update!"));
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY), "Interface Changes",
"Two additions have been made to the game's UI:\n" +
"**-** The Boss health bar is now larger on full size UI, taking advantage of the bigger space.\n" +
"**-** The main menu now has a button to hide the interface, letting players look at the new background.\n" +
"\n" +
"Further tweaks have been made to the game's UI:\n" +
"**-** Health bars now display shielding in addition to HP, instead of on top of it.\n" +
"**-** The Hero status pane can now extend to the right to avoid cutouts on the top-left of the display, if there is room to do so.\n" +
"**-** Improved how the hero buff bar handles large cutouts like the dynamic island\n" +
"**-** Further increased the permissiveness of what cutouts the game tries to render around\n" +
"**-** Brightened the background of the game version indicator to make it look less like an empty health bar.\n" +
"**-** Fixed cases where Shattered would attempt to draw into cutouts when they weren't properly reported by the device."));
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"),
"**-** Updated code libraries used to build Shattered's macOS distribution. This should fix the game taking unreasonably long to launch on some newer macs, but also means Shattered now requires at least macOS 10.12 Sierra, up from 10.10 Yosemite.\n" +
"\n" +
"**-** DM-300's rockfall attack now deals 6-12 damage (10-20 with badder bosses). This is for consistency with the rockfall attack done by the gnoll geomancer, and to prevent specific exploits where DM-300 couldn't damage hiding inorganic allies.\n" +
"\n" +
"**-** Levelling up the dried rose while the ghost hero is summoned now heals it for the same amount that the upgrade increases max HP."));
changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"),
"Fixed the following bugs:\n" +
"**Caused by v3.2.X:**\n" +
"**-** Thrown weapon merging prioritizing properties on weapons already stuck to enemies, instead of incoming ones\n" +
"**-** Thrown weapons not being properly set to ID-ready by wells of awareness when hero has the shard of oblivion\n" +
"**-** Rats attacking the hero when they should be neutral in specific cases\n" +
"**-** Picking up throwing clubs and hammers taking time if done during time freeze\n" +
"**-** Various minor visual/textual errors\n" +
"**-** Various rare crash errors",
"**Existed Prior to v3.2.0:**\n" +
"**-** Specific cases where bits of hidden walls could be seen through the fog of war\n" +
"**-** Specific errors with inter-floor teleports\n" +
"**-** DM-201s retaliating to corruption dmg\n" +
"**-** Crossbow's charged shot melee not triggering in some cases\n" +
"**-** Tab cycling not working correctly with inventory window\n" +
"**-** Golden bees not preferring potential targets affected by aggression debuff\n" +
"**-** Aggression debuff effect persisting on downed ghouls once they revive\n" +
"**-** Radiance stunning enemies are they are killed by it triggering illuminate\n" +
"**-** Prison guards being able to pull large characters into enclosed spaces\n" +
"**-** Various minor visual/textual errors"));
changes = new ChangeInfo("v3.2.4", false, null);
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Dev Commentary",
"Hey Folks, here's what is hopefully the last patch with major changes following v3.2, but it's a doozy!\n" +
"\n" +
"In addition to more mobile improvements, there's also a just recently finished overhaul to the title screen background!\n" +
"\n" +
"Note that both of the big new things in this update are likely to have a few quirks. If something seems out of place please let me know! I do expect to do one or two more patches after v3.2.4 to fix any minor issues that crop up."));
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY_LAND), "New Title Screen Background!",
"**Shattered Pixel Dungeon has a new title screen background, with art by Aleksandar Komitov!**\n" +
"\n" +
"This new background is meant to both extend the classis archs, and tie the title screens more directly to the region splash arts! It features randomly selected floating fully rendered chunks of dungeon in front of an arch back-layer.\n" +
"\n" +
"Currently the background most strongly ties into the sewers region, but we have plans to add more variants in the future, one for each dungeon region!"));
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY_PORT), "Mobile Layout Changes",
"**Shattered's in-game screen now renders in true fullscreen on most mobile devices!**\n" +
"\n" +
"The status bar at the top of the in-game UI has been modified to work around small and medium sized hole punches and rounded corners on modern displays! This includes the dynamic island on modern iPhones. Thanks to these adjustments it's now possible for the UI to move up and for the game to display in true fullscreen during gameplay! Devices with larger cutouts like full-sized notches will unfortunately still have a dark bar on the top, as there isn't room for the UI.\n" +
"\n" +
"This also comes with a few other benefits for all mobile players. The XP bar has been moved and is now much more visible, and the hero buff bar now supports two rows, rather than compressing as heavily when there are many buffs at once."));
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), "v3.2.4 Beta Tweaks",
"During v3.2.4's short beta I got a lot of good feedback about the new UI, and have made the following tweaks to address feedback before full release:\n" +
"\n" +
"**-** The HP bar can now shrink and/or reposition slightly if it would otherwise be cut off by a display cutout. The HP bar should shrink by about 20% at most.\n" +
"**-** Adjusted buff bar layout logic to reduce cases of top row getting slightly cut off by display cutouts on Android.\n" +
"**-** The menu pane on the right will now move to the left if there is room to do so and it would otherwise be cut off by a display cutout.\n" +
"**-** Slightly increased the permissiveness for what cutouts the game will try to render into. This should let the game render in true fullscreen on some devices with hole punches that it couldn't previously.\n" +
"**-** Improved how buff bar layout handles iOS dynamic island at smaller scale values.\n" +
"**-** Renamed the mobile fullscreen setting to 'hide navigation bar' or 'hide gesture bar'"));
changes = new ChangeInfo("v3.2.2 & v3.2.3", false, null);
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Dev Commentary",
"These are the first of those 'technical improvements' patches I mentioned previously. Several changes have been made to modernize some aspects of Shattered Pixel Dungeon on Android, as well as a few smaller changes on iOS and internal changes on other platforms.\n" +
"\n" +
"I expect to be releasing one more major patch for v3.2 with further improvements, plus whatever else is needed for handling tech fixes."));
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"),
"**Mobile UI Changes:**\n" +
"**-** Shattered's menu screens now render in true edge-to-edge fullscreen on Android 9+ and iOS devices.\n" +
"**-** Android now defaults to device orientation instead of forced portrait, but there is a 'force landscape' setting.\n" +
"**-** 'Fullscreen' (hiding the nav bar or gesture bar) now defaults to on, and is forced on if no nav or gesture bar is present.\n" +
"**-** Fully removed Android Power Saver setting, which was already hidden for Android 4.4+ devices anyway.\n" +
"\n" +
"**Other Changes:**\n" +
"**-** Updated various internal code libraries.\n" +
"**-** Shattered Pixel Dungeon now requires Android 5.0+, up from 4.0+.\n" +
"**-** Sharing Gameplay Data now requires Android 6.0+, up from 4.1+.\n" +
"**-** Desktop JAR build now requires Java 11+, up from 8+.\n" +
"**-** Slightly adjusted the visuals at the end of the prison region."));
changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"),
"Fixed the following bugs:\n" +
"**Caused by v3.2.1:**\n" +
"**-** Text resolution on mac retina displays being reduced to 0.25x from 0.5x instead of increased to 1x (sorry!)\n" +
"**-** Thrown clubs and hammers giving hero extra turns in rare cases\n" +
"**-** Rare crash bugs\n" +
"\n" +
"**Caused by v3.2.0:**\n" +
"**-** Potential exploits relating to explosive curse and thrown weapons\n" +
"**-** Liquid metal stating upgrades increase cost by 33% when it is actually 35%\n" +
"**-** Hero rarely dodging while affected by stone glyph.\n" +
"**-** Minor textual errors",
"**Existed prior to v3.2.0:**\n" +
"**-** Upgrade window not accounting for metamorphed runic transference talent\n" +
"**-** Keyboard on iOS not showing return key on multiline text windows\n" +
"**-** UI layout issues with long custom seeds\n" +
"**-** On-equip ID talents not setting items to be ready to be IDed by Oblivion Shard\n" +
"**-** 'Taking the Mick' badge not unlocking if the final boss was killed via pickaxe's explosive curse\n" +
"**-** Shield of Light not applying to skeleton bone explosion\n" +
"**-** Paralysis resist not functioning correctly over multiple applications of paralysis\n" +
"**-** Transmogrified statues not always clearing their journal landmark entry on death"));
changes = new ChangeInfo("v3.2.1", false, null);
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.THROWING_HAMMER), "Thrown Weapon Changes",
"Thrown weapons are doing very well overall since the changes in v3.2.0! In general balance is working well and thrown weapons are competitive with same-tier melee weapons. While they're still a lot less popular, people are actually upgrading thrown weapons now, which means I can make some changes based on balance data!\n" +
"\n" +
"**Buffs:**\n" +
"**- Throwing Clubs and Hammers** have a new upside: they can now be picked up from the ground instantly!\n" +
"**- Kunai** base durability up to 8 from 5.\n" +
"**- Kunai** damage scaling up to 1-3 from 1-2. (this is actually a bug fix but I'm listing it here for clarity)\n" +
"**- Force Cube** base damage back up to 5-25 from 5-20/"
,
"**Nerfs:**\n" +
"**- Bolas** cripple duration down to 5 from 10.\n" +
"**- Heavy Boomerang** damage scaling down to 1-3 from 1-4.\n" +
"**- Heavy Boomerang** circle back delay up to 4 from 3. This should make them a bit less spammable.\n" +
"\n" +
"Lastly, I've received quite a few complaints relating to the nerfs to shurikens, tomahawks, and the shared upgrades talent in v3.2.0. I made these nerfs pre-emptively because I expected these three would benefit massively from upgraded thrown weapons having more quantity. Unfortunately that looks to be correct; all three of these are still doing quite well and there is no room to restore some of their previous power."));
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"),
"I've made some changes to two of the new **Battlemage** staff on-hit effects, as they didn't end up as powerful as I wanted:\n" +
"**- Fireblast** on-hit damage scaling increased to 2-4 from 1-2\n" +
"**- Blast Wave** on-hit base damage up to 8-12 from 6-12\n" +
"**- Blast Wave** on-hit damage scaling up to 2-3 from 1-2\n" +
"**- Blast Wave** knockback at sides of explosion up very slightly, which should make it a bit easier to knock enemies to the side and into walls.\n" +
"\n" +
"And one other change:\n" +
"**-** 'Enchanting' vfx now follows the hero as they move"));
changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"),
"Fixed the following bugs:\n" +
"**Caused by v3.2.0:**\n" +
"**-** Free guiding light cooldown debuff stating that the cooldown is 100 turns, not 50\n" +
"**-** New hit/miss icons not working correctly with circling back boomerangs\n" +
"**-** Rare crash on launch bugs on iOS (hopefully)\n" +
"\n" +
"**Existed prior to v3.2.0:**\n" +
"**-** Liquid Agility evasion buff ending after enemies take their turn, instead of after the hero takes their turn.\n" +
"**-** Game text rendering at 1/2 resolution on mac retina displays\n" +
"**-** Revive via unblessed ankh resetting Duelist's weapon charge\n" +
"**-** Scroll empower buff overriding itself with weaker values in some cases\n" +
"**-** Noisemaker bombs being collectable after activation in some cases\n" +
"**-** Camera follow on enemies working when they aren't visible\n" +
"**-** Some specific Chinese characters not rendering on iOS and Desktop"));
if (DeviceCompat.isAndroid()){
//5.0 lollipop
if (DeviceCompat.getPlatformVersion() < 21){
String androidVersion;
switch (DeviceCompat.getPlatformVersion()){
default: case 14: case 15: androidVersion = "4.0"; break;
case 16: androidVersion = "4.1"; break;
case 17: androidVersion = "4.2"; break;
case 18: androidVersion = "4.3"; break;
case 19: case 20: androidVersion = "4.4"; break;
}
changes.addButton(new ChangeButton(Icons.get(Icons.WARNING), "Ending Android 4.0-4.4 Support",
"Unless any immediate issues pop up, v3.2.1 will be the last Shattered Pixel Dungeon update that supports Android versions below 5.0. This includes Android " + androidVersion + ", which your device is currently using.\n" +
"\n" +
"I am making this change as the latest versions of certain code libraries no longer support Android versions below 5.0, and updating to these version is becoming mandatory.\n" +
"\n" +
"Future updates to Shattered Pixel Dungeon will not be compatible with your device. Of course you can continue playing Shattered v3.2.1 indefinitely."));
}
} else if (DeviceCompat.isDesktop()) {
int javaVersion = Integer.parseInt(System.getProperty("java.version").split("\\.")[0]);
//version is reported as "1.X" before java 9
if (javaVersion == 1) {
javaVersion = Integer.parseInt(System.getProperty("java.version").split("\\.")[1]);
}
if (javaVersion < 11) {
changes.addButton(new ChangeButton(Icons.get(Icons.WARNING), "Ending Java 8-10 Support",
"Unless any immediate issues pop up, v3.2.1 will be the last Shattered Pixel Dungeon update that supports Java versions below 11 on the JAR distribution. This includes Java " + javaVersion + ", which your device is currently using.\n" +
"\n" +
"I am making this change as upcoming versions of Shattered's development tools are dropping support Java versions below 11.\n" +
"\n" +
"Future updates to Shattered Pixel Dungeon will not be compatible with your version of Java. Of course you can continue playing Shattered v3.2.1 indefinitely.\n" +
"\n" +
"If your operating system is supported by Java 11+, you can continue playing future updates by updating to a newer version of Java. You can also try switching to the native desktop builds of Shattered, which currently come bundled with Java 16."));
}
}
changes = new ChangeInfo(Messages.get(ChangesScene.class, "new"), false, null);
changes.hardlight(Window.TITLE_COLOR);
changeInfos.add(changes);
@@ -323,10 +95,20 @@ public class v3_X_Changes {
"**-** Thrown weapon default damage scaling per upgrade reduced to 1-tier, down from 2-tier.\n" +
"**-** Sets can be enchanted, cursed, augmented, unidentified, etc.\n" +
"**-** Sets can spawn with natural upgrades, enchants, or curses.\n" +
"**-** Liquid Metal functionality has been significantly changed to work with these new set mechanics.\n" +
"**-** A few special rooms now have a chance to spawn higher value thrown weapon sets.\n" +
"\n" +
"Note that darts are not affected by these changes, they effectively all belong to the same set and still cannot be upgraded."));
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY_LAND), "New Title Background and Text Banners!",
"(v3.2.4) **Shattered Pixel Dungeon has a new title screen background, with art by Aleksandar Komitov!**\n" +
"\n" +
"This new background is meant to both extend the classis archs, and tie the title screens more directly to the region splash arts! It features randomly selected floating fully rendered chunks of dungeon in front of an arch back-layer.\n" +
"\n" +
"Currently the background most strongly ties into the sewers region, but we have plans to add more variants in the future, one for each dungeon region!\n" +
"\n" +
"**New visuals have also been added for the 'boss slain' and 'game over' text banners!** They should now match the newer text visuals in the title screen. This also includes some detail adjustments such as centering the sword in 'boss slain' vertically instead of horizontally."));
changes.addButton(new ChangeButton(Icons.get(Icons.BUFFS), "Hit and Miss Icons",
"**Pretty much every effect that changes accuracy or evasion now has an icon that shows up when that effect is the reason an attack hit or missed!**\n" +
"\n" +
@@ -334,23 +116,24 @@ public class v3_X_Changes {
"\n" +
"There are 12 different hit icons and 11 miss icons in total."));
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY), "Text Banners",
"**New visuals have been added for the 'boss slain' and 'game over' text banners!**\n" +
"\n" +
"They should now match the newer text visuals in the title screen. This also includes some detail adjustments such as centering the sword in 'boss slain' vertically instead of horizontally."));
changes = new ChangeInfo(Messages.get(ChangesScene.class, "changes"), false, null);
changes.hardlight(CharSprite.WARNING);
changeInfos.add(changes);
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.LIQUID_METAL), "Liquid Metal",
"Liquid metal has also been changed to go along with the general changes to thrown weapons:\n" +
changes.addButton(new ChangeButton(Icons.get(Icons.DISPLAY_PORT), "Interface Changes",
"**Shattered's menu screens** (v3.2.2) **and in-game UI** (v3.2.4) **now render in true fullscreen on most mobile devices!**\n" +
"\n" +
"**-** Recipe adjusted, now takes one known uncursed thrown weapon set and always costs 3 energy.\n" +
"**-** Liquid metal can now replace missing/broken thrown weapons from a set (up to the usual cap of 3)\n" +
"**-** Liquid metal scaling per upgrade down to 1.33x from 2x.\n" +
"The status bar at the top of the in-game UI has been modified to work around small and medium sized hole punches and rounded corners on modern displays! This includes the dynamic island on modern iPhones. Thanks to these adjustments it's now possible for the UI to move up and for the game to display in true fullscreen during gameplay! Devices with larger cutouts like full-sized notches will unfortunately still have a dark bar on the top, as there isn't room for the UI.\n" +
"\n" +
"The upgrade scaling change works out to be a slight nerf, as thrown weapon durability scaling per upgrade was also reduced to 1.5x from 3x. However, I expect durability and repairing to be much more of a factor now, as previously upgraded thrown weapons would reach infinite durability very quickly."));
"This also comes with a few other benefits for all mobile players. The XP bar has been moved and is now much more visible, and the hero buff bar now supports two rows, rather than compressing as heavily when there are many buffs at once."
,
"(v3.2.2) There are also a few other misc UI changes on mobile:\n" +
"**-** Android now defaults to device orientation instead of forced portrait, but there is a 'force landscape' setting.\n" +
"**-** Hiding the nav bar or gesture bar (formerly called 'fullscreen') now defaults to on, and is forced on if no system nav or gesture bar is present.\n" +
"**-** Fully removed Android Power Saver setting, which was already hidden for Android 4.4+ devices anyway.\n\n" +
"(v3.2.5) And a couple other changes:\n" +
"**-** The Boss health bar is now larger on full size UI, taking advantage of the bigger space.\n" +
"**-** Health bars now display shielding in addition to HP, instead of on top of it."));
changes.addButton(new ChangeButton(new TalentIcon(Talent.SURVIVALISTS_INTUITION), "Survivalist's Intuition",
"Now that thrown weapons can be identified, there is design space for the Huntress to have a non-generic identification talent:\n" +
@@ -381,7 +164,22 @@ public class v3_X_Changes {
"**-** Made tweaks to tunnel and maze rooms to reduce the chance of them generating certain shapes\n" +
"**-** Made piranha description text more helpful\n" +
"**-** Updated code libraries on iOS (Android and Desktop lib updates will come in a patch later)\n" +
"**-** Added dev commentary for v2.2.0"));
"**-** Added dev commentary for v2.2.0"
,
"**v3.2.1:**\n" +
"**-** 'Enchanting' vfx now follows the hero as they move\n" +
"\n" +
"**v3.2.2:**\n" +
"**-** Updated various internal code libraries.\n" +
"**-** Shattered Pixel Dungeon now requires Android 5.0+, up from 4.0+.\n" +
"**-** Sharing Gameplay Data now requires Android 6.0+, up from 4.1+.\n" +
"**-** Desktop JAR build now requires Java 11+, up from 8+.\n" +
"**-** Slightly adjusted the visuals at the end of the prison region.\n" +
"\n" +
"**v3.2.5:**\n" +
"**-** Updated macOS code libraries to fix game launch speed on newer macs. This also means Shattered now requires at least macOS 10.12 Sierra, up from 10.10 Yosemite.\n" +
"**-** DM-300's rockfall attack now deals 6-12 damage (10-20 with badder bosses). This is for consistency with other rockfall effects, and to prevent exploits where DM-300 couldn't damage hiding inorganic allies.\n" +
"**-** Levelling up the dried rose while the ghost hero is summoned now heals them slightly."));
changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"),
"Fixed the following bugs:\n" +
@@ -395,18 +193,51 @@ public class v3_X_Changes {
"**Misc:**\n" +
"**-** Cases where status text would stack on itself incorrectly\n" +
"**-** Language selection menu using the wrong name for Indonesian\n" +
"**-** Minor visual and textual bugs"));
"**-** Minor visual and textual bugs"
,
"**v3.2.1:**\n" +
"**-** Liquid Agility evasion buff ending after enemies take their turn, instead of after the hero takes their turn.\n" +
"**-** Game text rendering at 1/2 resolution on mac retina displays\n" +
"**-** Revive via unblessed ankh resetting Duelist's weapon charge\n" +
"**-** Scroll empower buff overriding itself with weaker values in some cases\n" +
"**-** Noisemaker bombs being collectable after activation in some cases\n" +
"**-** Camera follow on enemies working when they aren't visible\n" +
"**-** Some specific Chinese characters not rendering on iOS and Desktop"
,
"**v3.2.2 & v3.2.3:**\n" +
"**-** Upgrade window not accounting for metamorphed runic transference talent\n" +
"**-** Keyboard on iOS not showing return key on multiline text windows\n" +
"**-** UI layout issues with long custom seeds\n" +
"**-** On-equip ID talents not setting items to be ready to be IDed by Oblivion Shard\n" +
"**-** 'Taking the Mick' badge not unlocking if the final boss was killed via pickaxe's explosive curse\n" +
"**-** Shield of Light not applying to skeleton bone explosion\n" +
"**-** Paralysis resist not functioning correctly over multiple applications of paralysis\n" +
"**-** Transmogrified statues not always clearing their journal landmark entry on death"
,
"**v3.2.5:**\n" +
"**-** Specific cases where bits of hidden walls could be seen through the fog of war\n" +
"**-** Specific errors with inter-floor teleports\n" +
"**-** DM-201s retaliating to corruption dmg\n" +
"**-** Crossbow's charged shot melee not triggering in some cases\n" +
"**-** Tab cycling not working correctly with inventory window\n" +
"**-** Golden bees not preferring potential targets affected by aggression debuff\n" +
"**-** Aggression debuff effect persisting on downed ghouls once they revive\n" +
"**-** Radiance stunning enemies are they are killed by it triggering illuminate\n" +
"**-** Prison guards being able to pull large characters into enclosed spaces\n" +
"**-** Various minor visual/textual errors"));
changes = new ChangeInfo(Messages.get(ChangesScene.class, "buffs"), false, null);
changes.hardlight(CharSprite.POSITIVE);
changeInfos.add(changes);
changes.addButton(new ChangeButton(new TalentIcon(Talent.PROJECTILE_MOMENTUM), "Thrown Weapon Talent Buffs",
changes.addButton(new ChangeButton(new ItemSprite(ItemSpriteSheet.THROWING_HAMMER), "Thrown Weapon Buffs",
"Some talents that interact with thrown weapons are getting buffs as part of the thrown weapon changes:\n" +
"\n" +
"**- Projectile Momentum** accuracy boost up substantially, to +50/100/150% at +1/2/3, from +20/40/60% at +1/2/3.\n" +
"**- Shared Enchantments** no longer prevents multiple enchantment triggers. Both enchants can now trigger if the thrown weapon and the Huntress' bow are both enchanted.\n" +
"\n" +
"**- Shared Enchantments** no longer prevents multiple enchantment triggers. Both enchants can now trigger if the thrown weapon and the Huntress' bow are both enchanted."));
"**v3.2.1:**\n" +
"**- Throwing Clubs and Hammers** have a new upside: they can now be picked up from the ground instantly!\n" +
"**- Kunai** base durability up to 8 from 5."));
changes.addButton(new ChangeButton(HeroSprite.avatar(HeroClass.CLERIC, 6), "Cleric & Priest Buffs",
"Firstly, a quick buff to the Cleric's worst performing T2 spell:\n" +
@@ -430,7 +261,9 @@ public class v3_X_Changes {
"**- Staff of Fireblast** effect reworked, now has a chance to explode away flames, dealing damage to enemies.\n" +
"**- Staff of Lightning** effect reworked, now has a chance to charge the Mage, granting lightning immunity and extra arcing reach.\n" +
"**- Staff of Blast Wave** effect reworked, now consumes paralysis to deal big bonus damage.\n" +
"**- Staff of Warding** mildly changed, now heals level 2 and 3 wards in addition to sentries."));
"**- Staff of Warding** mildly changed, now heals level 2 and 3 wards in addition to sentries.\n" +
"\n" +
"**-** (v3.2.1) **Blast Wave** knockback at sides of explosion up very slightly, which should make it a bit easier to knock enemies to the side and into walls."));
changes = new ChangeInfo(Messages.get(ChangesScene.class, "nerfs"), false, null);
changes.hardlight(CharSprite.NEGATIVE);
@@ -445,7 +278,11 @@ public class v3_X_Changes {
"**- Heavy Boomerang** durability down to 5 from 8\n" +
"**- Tomahawk** damage scaling down to 1-3 from 1-4\n" +
"**- Tomahawk** bleed % down to 33% from 60%, but it is now a separate roll that ignores enemy armor\n" +
"**- Force Cube** base damage down to 10-20 from 10-25"));
"\n" +
"**v3.2.1:**\n" +
"**- Bolas** cripple duration down to 5 from 10\n" +
"**- Heavy Boomerang** damage scaling down to 1-3 from 1-4\n" +
"**- Heavy Boomerang** circle back delay up to 4 from 3. This should make them a bit less spammable."));
changes.addButton(new ChangeButton(new TalentIcon(Talent.SHARED_UPGRADES), "Thrown Weapon Talent Nerfs",
"Some talents are also getting nerfed as part of the thrown weapon changes:\n" +