From a6c9f9276ab66604a671929e73de3bb4218f4502 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 21 Aug 2024 17:43:57 -0400 Subject: [PATCH] v2.5.0: updated version, changelog, and welcome scene for alpha-1 --- build.gradle | 4 +- .../scenes/WelcomeScene.java | 4 + .../ui/changelist/v2_X_Changes.java | 208 +++++++++++++++++- 3 files changed, 213 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index 431753575..1ca6d541d 100644 --- a/build.gradle +++ b/build.gradle @@ -20,8 +20,8 @@ allprojects { appName = 'Shattered Pixel Dungeon' appPackageName = 'com.shatteredpixel.shatteredpixeldungeon' - appVersionCode = 783 - appVersionName = '2.5.0-ALPHA-0' + appVersionCode = 784 + appVersionName = '2.5.0-ALPHA-1' appJavaCompatibility = JavaVersion.VERSION_1_8 diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java index fce4be389..ee3bc44a0 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java @@ -202,6 +202,10 @@ public class WelcomeScene extends PixelScene { } + message = "Greeting alpha testers! After a bit of a wait, v2.5 is finally ready for testing!\n\n" + + "This update is almost content complete, so I expect things to move to beta pretty quickly.\n\n" + + "As always, check the changes scene for full details on whats new, and please let me know if you run into any issues!"; + } else { message = Messages.get(this, "what_msg"); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java index 574200e38..e79e0a39f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v2_X_Changes.java @@ -46,7 +46,8 @@ import java.util.ArrayList; public class v2_X_Changes { public static void addAllChanges( ArrayList changeInfos ){ - add_Coming_Soon(changeInfos); + //add_Coming_Soon(changeInfos); + add_v2_5_Changes(changeInfos); add_v2_4_Changes(changeInfos); add_v2_3_Changes(changeInfos); add_v2_2_Changes(changeInfos); @@ -78,6 +79,211 @@ public class v2_X_Changes { } + public static void add_v2_5_Changes( ArrayList changeInfos ) { + + ChangeInfo changes = new ChangeInfo("v2.5-ALPHA", true, ""); + changes.hardlight(Window.TITLE_COLOR); + changeInfos.add(changes); + + changes = new ChangeInfo(Messages.get(ChangesScene.class, "new"), false, null); + changes.hardlight(Window.TITLE_COLOR); + changeInfos.add(changes); + + changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Alpha To-Do", + "v2.5.0 is mostly ready, but there are a few things left that I'd like to do:\n\n" + + "_-_ There are currently 2 more trinkets that are concepted but not implemented. v2.5.0 is otherwise pretty light on new content so I would like to get them done for this update.\n" + + "_-_ The new loading screens still need a few small adjustments. In particular I want to experiment with a panning effect for portrait users.\n" + + "_-_ I want to add a little 'congratulations' window to the main game after the player gets their first win. I expect this will be very quick to add.\n" + + "_-_ And, of course, I'll be implementing fixes for any issues that crop up during the alpha and beta.")); + + changes.addButton( new ChangeButton(Icons.JOURNAL.get(), "Journal Overhaul!", + "_The game's Journal interface has been completely overhauled!_\n" + + "\n" + + "The Notes section has an entirely new grid-based UI with new icons, and _support for custom notes!_ Custom notes feature user-enterable text and can be tied to a floor, specific item, item type, or just be plain text.\n" + + "\n" + + "The Catalogs section has also been moved to a grid UI, and has been massively expanded with _almost 500 entries!_ The catalogs now contain almost every item in the game, and a bestiary featuring almost every character, plant, and trap! There are also _9 new badges_ which can be unlocked by filling the catalogs out!\n" + + "\n" + + "You can also now _view badges directly from the journal_, both the ones for your current run and overall badges.\n" + + "\n" + + "The guidebook tabs are unchanged, and the lore tab has been merged into the catalogs.")); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.SALT_CUBE), "New Trinkets!", + "_Two new trinkets have been added!_ Bringing the total to 15 trinkets.\n" + + "\n" + + "_I plan to add 2 more trinkets before release_\n" + + "\n" + + "The _salt cube_ extends the duration that food keeps you full, but also reduces HP regeneration.\n" + + "The _vial of blood_ increases the healing granted by major healing sources, but also slows that healing down.")); + + changes.addButton( new ChangeButton(Icons.DISPLAY_LAND.get(), "Region Splash Arts!", + "_New splash arts have been added to the game's loading screens!_\n" + + "\n" + + "There's one for each of the five regions, once again made by Aleksandar Komitov!\n" + + "\n" + + "Loading times have not been increased, but the first loading screen of each region now pauses to display that region's story text. This gives an opportunity to appreciate the art without making players wait longer on every loading screen.")); + + changes = new ChangeInfo(Messages.get(ChangesScene.class, "changes"), false, null); + changes.hardlight(CharSprite.WARNING); + changeInfos.add(changes); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.SCROLL_TIWAZ), "Interface Improvements", + "In addition to the journal overhaul, there are several smaller UI changes and additions in this update too:\n" + + "\n" + + "_Scrolls of Upgrade_ now have a preview window that appears when they are used, that summarizes how the stats of an item will change when upgraded.\n" + + "\n" + + "The main menu _Badges Screen_ has been replaced with a new journal screen, containing the catalogs and guidebooks as well as unlocked badges.\n" + + "\n" + + "The _Alchemy Screen_ has been adjusted, primarily for desktop users. The guidebook button is now more visible, and shows the guidebook to the side when used on desktop.\n" + + "\n" + + "The game now displays a little congratulations message after your first win, and clarity on what winning the game unlocks has been improved.")); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.WAND_MAGIC_MISSILE), "Cursed Wand Expansion", + "Cursed wand effects have been massively expanded! There are now 16 new effects bringing the total number of effects up to 32. These include simple common effects like shooting bubbles and new super rare effects like a giant supernova explosion!\n" + + "\n" + + "A few existing cursed effects have also been changed:\n" + + "_-_ Reduced healing from the uncommon health transfer effect by 50%\n" + + "_-_ The uncommon 'shock and recharge' effect is now a lightning bolt, does more damage to a target and grants less wand recharge\n" + + "_-_ The rare inter-floor teleport effect now caps at sending the player back 10 floors")); + + changes.addButton( new ChangeButton(Icons.BACKPACK_LRG.get(), "Inventory Management Improvements", + "I've made various smaller changes to make inventory management a bit easier:\n" + + "\n" + + "_-_ The potion bandolier can now store the waterskin, and the scroll holder can now store arcane styli\n" + + "_-_ Dark dungeon levels no longer contain a torch, but also reduce vision by 3/8, down from 4/8\n" + + "_-_ Reduced the chance for multiple equipment drops from slimes, skeletons, guards, DM-200s, and golems\n" + + "_-_ Increased the base drop rate of equipment from DM-200s and golems to compensate\n" + + "_-_ Stones of Intuition now always get 2 uses each, even if the first guess is incorrect\n" + + "_-_ Converting a potion or scroll into alchemical energy now also identifies it")); + + changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), + "_Highlights:_\n" + + "_-_ Enemies are now less willing to follow the hero's movement path when approaching from a distance\n" + + "_-_ Bomb explosions no longer destroy any type of equipment, not just upgraded ones\n" + + "_-_ Improved the quality of loot from tormented spirits\n" + + "_-_ Traps which choose targets now have a max range of 8 tiles (or 6 on dark floors)\n" + + "_-_ Burn and Ooze now end the moment water is entered, but still always do at least 1 turn of damage\n" + + "_-_ Improved visibility of the ambitious imp", + + "_Items:_\n" + + "_-_ Rapier's lunge ability no longer triggers weapon ability use effects when it is aimed at empty space\n" + + "_-_ Warrior's broken seal now includes glyph info in its description\n" + + "_-_ Added a cancel confirmation window to scrolls of enchantment\n" + + "_-_ Armor now always takes 1 turn to equip, instead of 2 turns multiplied by movement speed\n" + + "_-_ Minor visual changes to hourglass stasis effect\n" + + "_-_ Potion of Storm Clouds no longer triggers traps when thrown", + + "_Misc:_\n" + + "_-_ The game now remembers which monitor it was set to fullscreen on in multi-monitor setups\n" + + "_-_ Single wraiths can now spawn adjacent to their spawning cell if it is blocked\n" + + "_-_ Added a little game log text when shopkeepers flee\n" + + "_-_ Reduced the maximum size of some trap-filled rooms\n" + + "_-_ Updated internal code libraries\n" + + "_-_ Made slight tweaks to tutorial functionality")); + + changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), + "Fixed the following bugs:\n" + + "_Highlights:_\n" + + "_-_ Hall of Heroes pages 5-10 not syncing via Google Play Games on Google Play version\n" + + "_-_ Incorrect behaviour when game is force-closed from trinket selection window\n" + + "_-_ Scroll of remove curse not being consumed when freeing tormented spirits\n" + + "\n" + + "_Items:_\n" + + "_-_ Wondrous resin applying its effect to chaos elementals\n" + + "_-_ Parchment scrap incorrectly affecting level layouts on some floors\n" + + "_-_ Auto-aim not working correctly with cursed wands\n" + + "_-_ Aqua brew always knocking hero up and left when thrown on self\n" + + "_-_ Bomb fuses not being visually cleared when boss levels are reset by unblessed ankhs\n" + + "_-_ Exotic crystals and Parchment Scrap trinkets affecting levelgen in some cases\n" + + "_-_ Helpful darts dealing damage to allies in rare cases", + + "_Characters:_\n" + + "_-_ Final boss not immediately advancing to its final phase in some cases\n" + + "_-_ Sad Ghost rarely spawning inside of walls\n" + + "_-_ Deferred damage on dwarf king being delayed on save/load\n" + + "_-_ Ally position swapping working when allies are paralyzed\n" + + "_-_ DM-300's exposed wire shielding mechanic and the vertigo debuff interacting incorrectly\n" + + "_-_ Brutes not being affected by terror in specific cases\n" + + "_-_ Sleeping enemies not being alerted by allies in some cases\n" + + "_-_ Enemies not properly prioritizing targets based on distance\n" + + "_-_ Various situational errors when enemies are transmogrified over chasms\n" + + "\n" + + "_Misc:_\n" + + "_-_ Various minor visual and textual errors\n" + + "_-_ Surface victory badges not being added to the rankings screen\n" + + "_-_ Earthroot and living rock armor not applying to bone explosion damage\n" + + "_-_ Very rare cases of players getting outside of boss arenas")); + + changes = new ChangeInfo(Messages.get(ChangesScene.class, "buffs"), false, null); + changes.hardlight(CharSprite.POSITIVE); + changeInfos.add(changes); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.CLOVER), "Trinket Buffs", + "I'm handing out buffs to several trinkets that are underperforming:\n" + + "\n" + + "_- 13 Leaf Clover_ upgrade cost up, but it now only affect the hero's damage rolls. It no longer applies to armor or enemy attacks. This should preserve the intended chaos of the effect without making enemies way more dangerous.\n" + + "_- Dimensional Sundial_ upgrade cost up, but it now slightly reduces enemy spawn rates during daytime. 'nighttime' has also been adjusted to be 8pm-8am, from 9pm-7am.\n" + + "_- Wondrous Resin_'s bonus cursed wand effects are now always neutral or positive.\n" + + "_- Mimic Tooth_ now boosts loot from all mimics.")); + + changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.DUELIST, 1), "Duelist Buffs", + "The Duelist is doing much better balance-wise since v2.4.0, but there are various specific abilities that are getting boosts this update:\n" + + "\n" + + "Weapon Abilities:\n" + + "_- Lunge, Cleave, Spike, Retribution, and Brawler's Stance_ abilities all now deal more bonus damage\n" + + "_- Crossbow's Charge Shot_ ability can now also cause a melee attack to knock back, or an untipped dart attack to deal bonus damage. Tipped dart benefits unchanged.\n" + + "\n" + + "Talents:\n" + + "_- Liquid Evasion_ talent evasion at +1 reduced to 3x from 4x, but the talent now also grants bonus accuracy on the next attack. \n" + + "_- Lethal Haste_ talent now grants instant movement, instead of haste.\n" + + "_- Swift Equip_ talent's second use at +2 no longer has a 5 turn timer.\n" + + "_- Deadly Followup_ talent damage per level up to +10% from +8%.\n" + + "_- Precise Assault_ accuracy bonus increased to 2x/5x/inf., up from 2x/4x/8x.\n" + + "_- Expose Weakness_ talent now applies weakness as well as vulnerable.")); + + changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.DUELIST, 4), "Monk Buffs", + "v2.4.0's Duelist buffs were mainly focused on weapon abilities, which mainly benefit the Champion, so it makes sense that the Monk has fallen a little behind. I'm giving out several buffs and mechanics changes to boost the Monk back up, which should improve every ability she has, except meditate.\n" + + "\n" + + "_-_ Removed ability cooldowns entirely, except for flurry which has a 1 turn cooldown\n" + + "_- Flurry_ damage increased by 50%\n" + + "_- Focus_ now works on magic attack and has infinite duration\n" + + "_- Dash_ range increased by 33%\n" + + "_- Dragon Kick_ damage doubled\n" + + "\n" + + "_- Unencumbered Spirit_ energy gain changed to 50%/75%/100% from 40%/80%/120%\n" + + "_- Combined Energy_ is now more permissive and reduces charge use by 1, instead of 50%")); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.UNSTABLE_SPELL), "Other Buffs", + "_- Wand Preservation_ talent now always succeeds, no longer grants arcane resin on failure, and is limited to 1 use at +1, and 1 use per level at +2. \n" + + "_- Rogue's foresight_ talent trigger chance increased to 75% at +1 and 100% at +2, up from 60% and 90%.\n" + + "_- Hold Fast_ talent now grants 1-2 armor per level, up from 0-2.\n" + + "\n" + + "_- Ring of Energy_ charge rate boost up to 17.5% per level, from 15%.\n" + + "_- Unstable Brew_ now guarantees an appropriate potion effect when thrown or drank, instead of making it more likely.\n" + + "_- Unstable Spell_ now guarantees an appropriate scroll effect based on nearby enemies, instead of making it more likely.\n")); + + changes = new ChangeInfo(Messages.get(ChangesScene.class, "nerfs"), false, null); + changes.hardlight(CharSprite.NEGATIVE); + changeInfos.add(changes); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.MOSSY_CLUMP), "Mossy Clump & Grassy Floors", + "The Mossy Clump is still far and away the strongest trinket, despite several nerfs since adding it. At this point it's clear the value of that trinket is more reflective of how powerful grassy floors are, rather than the trinket itself.\n" + + "\n" + + "So, I'm nerfing the drop-rate of dew from grassy floors by 50%, meaning that they will generate 2x as much dew as a regular floor on average, down from 4x. Seed drops from these floor are unaffected.\n" + + "\n" + + "This reduces the bonus dew granted by the mossy clump by 67%, which should hopefully bring it more in-line with other trinket. I've also reduced the upgrade cost of the mossy clump to compensate.")); + + changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.WHIP), "Item Nerfs", + "_- Whip's Lash Ability_ bonus damage reduced to 0%, from +20%. Ability still guarantees a hit on every target.\n" + + "\n" + + "_- Ring of Haste_ bonus speed per level reduced to 17.5% from 20%.\n" + + "\n" + + "_Elixir of Featherfall_ adjusted:\n" + + "_-_ Output quantity reduced to 1 from 2\n" + + "_-_ Recipe energy cost reduced to 10 from 16\n" + + "_-_ Falling into a chasm now reduces effect duration by 10 turns instead of ending it. Total duration unchanged at 50 turns.")); + + } + public static void add_v2_4_Changes( ArrayList changeInfos ) { ChangeInfo changes = new ChangeInfo("v2.4", true, "");