From 6127cacf5e1a0ba997aaf3b8c58dd1730658043d Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Mon, 5 Oct 2020 11:29:03 -0400 Subject: [PATCH] v0.9.0: final commit --- build.gradle | 4 +- .../ShatteredPixelDungeon.java | 4 +- .../scenes/ChangesScene.java | 3 +- .../scenes/WelcomeScene.java | 2 +- .../ui/changelist/v0_8_X_Changes.java | 129 +++++++----------- .../ui/changelist/v0_9_X_Changes.java | 124 +++++++++++++++++ 6 files changed, 179 insertions(+), 87 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java diff --git a/build.gradle b/build.gradle index f958cc992..c0b4da671 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ allprojects { appName = 'Shattered Pixel Dungeon' appPackageName = 'com.shatteredpixel.shatteredpixeldungeon' - appVersionCode = 464 - appVersionName = '0.8.2d' + appVersionCode = 480 + appVersionName = '0.9.0' appJavaCompatibility = JavaVersion.VERSION_1_8 diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java index 62ee2b884..761d24c6b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ShatteredPixelDungeon.java @@ -37,7 +37,9 @@ public class ShatteredPixelDungeon extends Game { public static final int v0_8_0b = 414; public static final int v0_8_1a = 422; - public static final int v0_8_2 = 447; + public static final int v0_8_2d = 463; + + public static final int v0_9_0 = 479; public ShatteredPixelDungeon( PlatformSupport platform ) { super( sceneClass == null ? WelcomeScene.class : sceneClass, platform ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java index 969de1280..4262c7515 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/ChangesScene.java @@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.changelist.v0_5_X_Changes; import com.shatteredpixel.shatteredpixeldungeon.ui.changelist.v0_6_X_Changes; import com.shatteredpixel.shatteredpixeldungeon.ui.changelist.v0_7_X_Changes; import com.shatteredpixel.shatteredpixeldungeon.ui.changelist.v0_8_X_Changes; +import com.shatteredpixel.shatteredpixeldungeon.ui.changelist.v0_9_X_Changes; import com.watabou.noosa.Camera; import com.watabou.noosa.NinePatch; import com.watabou.noosa.audio.Music; @@ -88,7 +89,7 @@ public class ChangesScene extends PixelScene { switch (changesSelected){ case 0: default: - //TODO + v0_9_X_Changes.addAllChanges(changeInfos); break; case 1: v0_8_X_Changes.addAllChanges(changeInfos); 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 4e2fba387..641114478 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/scenes/WelcomeScene.java @@ -41,7 +41,7 @@ import java.util.ArrayList; public class WelcomeScene extends PixelScene { - private static final int LATEST_UPDATE = ShatteredPixelDungeon.v0_8_2; + private static final int LATEST_UPDATE = ShatteredPixelDungeon.v0_9_0; @Override public void create() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_8_X_Changes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_8_X_Changes.java index cbbb0a7f4..65049563b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_8_X_Changes.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_8_X_Changes.java @@ -74,81 +74,6 @@ public class v0_8_X_Changes { changes.hardlight(Window.TITLE_COLOR); changeInfos.add(changes); - changes = new ChangeInfo("v0.8.2c&d", false, null); - changes.hardlight(Window.TITLE_COLOR); - changeInfos.add(changes); - - changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), - "_Balance Changes:_\n" + - "_-_ Bleed from gripping/flashing traps reduced, but they are also affected less by armor.\n" + - "_-_ All effects which cancel invisibility and time freeze now fully resolve before they cancel invis/freeze.\n" + - "_-_ Swarm intelligence no longer triggers from allies, and no longer affects magically slept enemies.\n" + - "_-_ Evil eyes are no longer immune to terror\n\n" + - "_Smaller Tweaks:_\n" + - "_-_ The dried rose can no longer be sold if it contains a weapon or armor\n" + - "_-_ Tweaked item visibility in furrowed grass\n" + - "_-_ Adjusted sizing for inventory and message windows\n" + - "_-_ Items now automatically get added to bags if room is made for them by dropping/using something else\n" + - "_-_ Shortened game log text from well of awareness\n" + - "_-_ Slightly tweaked the sprites of tipped vs. untipped darts\n" + - "_-_ Torches now play a burning sound when ignited")); - - changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), - "Fixed (caused by v0.8.2):\n" + - "_-_ Various rare crash bugs\n" + - "_-_ Back button on hero select not appearing when it should\n" + - "_-_ Enchanted Mage's Staff not showing its enchantment name\n\n" + - "Fixed (existed prior to v0.8.2):\n" + - "_-_ Sniper shot incorrectly capping at 2.5x damage instead of 3x\n" + - "_-_ Golden Lotus having twice at much HP as intended\n" + - "_-_ Various rare crash bugs\n" + - "_-_ Lots of minor visual errors\n" + - "_-_ Particle effects rarely not appearing\n" + - "_-_ Visual errors with Goo's charge up particles\n" + - "_-_ DM-201s rarely tossing grenades though walls\n" + - "_-_ Various rare errors with blacksmith reforging\n" + - "_-_ Various minor errors with cursed wands and chaos elementals\n" + - "_-_ Terrored enemies not fleeing in some cases\n" + - "_-_ Various minor errors with the Tengu fight\n" + - "_-_ Acidic scorpios not always dropping potions of experience\n" + - "_-_ Some immovable enemies not knocking items away")); - - changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), - "Fixed (caused by v0.8.2c):\n" + - "_-_ Evil eyes unintentionally dealing 0 damage\n" + - "_-_ Piranhas dodging less than intended\n" + - "_-_ Rare crash/freeze bugs caused by changes to container functionality\n\n" + - "Fixed (caused by v0.8.2):\n" + - "_-_ Wand of fireblast opening doors out of its reach\n\n" + - "Fixed (existed prior to v0.8.2):\n" + - "_-_ Various rare crash bugs\n" + - "_-_ Various minor visual errors")); - - changes = new ChangeInfo("v0.8.2a&b", false, null); - changes.hardlight(Window.TITLE_COLOR); - changeInfos.add(changes); - - changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), - "I've made a few small tweaks to the new player experience:\n" + - "_-_ Snakes now give new players a hint about surprise attacks after 3 misses, down from 5\n" + - "_-_ Accelerated the rate that guidebook pages drop on early floors\n" + - "_-_ The regular main menu is now only accessible after starting your first game\n\n" + - "_-_ Enemies now cannot spawn near to the player, even if they are out of the player's view\n\n" + - "_-_ Sped up loading times on Android when the game is relaunched\n\n" + - "_-_ Updated translations and translator credits")); - - changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), - "Fixed (caused by v0.8.2):\n" + - "_-_ Various crash and freeze bugs\n" + - "_-_ Various text errors in the new settings window\n" + - "_-_ Item names not showing correctly when languages are swapped while ingame\n" + - "_-_ Clobber knockback not closing doors\n\n" + - "Fixed (existed prior to v0.8.2):\n" + - "_-_ Pickaxe not getting bloodied by killing bats in rare cases\n" + - "_-_ Dried rose ghost healing not respecting level lock limits\n" + - "_-_ Enemy respawn timer being reset by saving/loading the game\n" + - "_-_ Wraiths refusing to spawn over traps despite not being able to activate them")); - changes = new ChangeInfo(Messages.get(ChangesScene.class, "new"), false, null); changes.hardlight(Window.TITLE_COLOR); changeInfos.add(changes); @@ -194,18 +119,40 @@ public class v0_8_X_Changes { "_-_ Journal sync is now supported by Google Play Games functionality")); changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), - "_-_ New sound effects have been added for sheep and the talisman of foresight\n" + - "_-_ The SFX for discovering secrets has been remastered\n\n" + + "_New Player Experience:_\n" + + "_-_ Snakes now give hints about surprise attacks after 3 misses, down from 5\n" + + "_-_ Accelerated the rate that guidebook pages drop on early floors\n" + + "_-_ The regular main menu is now only accessible after starting your first game\n" + + "_-_ Entrance doors on floor 2 are now only hidden the first time\n\n" + + "_Balance:_\n" + + "_-_ Bleed from gripping/flashing traps reduced, but they are also affected less by armor.\n" + + "_-_ All effects which cancel invisibility and time freeze now fully resolve before they cancel invis/freeze.\n" + + "_-_ Swarm intelligence no longer triggers from allies, and no longer affects magically slept enemies.\n" + + "_-_ Evil eyes are no longer immune to terror\n" + "_-_ Thrown potions no longer cleanse ooze/fire from enemies\n" + - "_-_ Strength Potions, Upgrade Scrolls, and items which use them are now considered unique and are immune to burn/freeze\n\n" + + "_-_ Strength Potions, Upgrade Scrolls, and items which use them are now considered unique and are immune to burn/freeze\n" + + "_-_ Enemies now cannot spawn near to the player, even if they are out of the player's view\n" + + "_-_ Ranged traps will now prefer to shoot visible targets over invisible ones")); + + changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), + "_Audio:_\n" + + "_-_ New sound effects have been added for sheep and the talisman of foresight\n" + + "_-_ The SFX for discovering secrets has been remastered\n" + + "_-_ Torches now play a burning sound\n\n" + + "_Quality of Life:_\n" + + "_-_ The dried rose can no longer be sold if it contains a weapon or armor\n" + + "_-_ Tweaked item visibility in furrowed grass\n" + + "_-_ Adjusted sizing for inventory and message windows\n" + + "_-_ Items now automatically get added to bags if room is made for them by dropping/using something else\n" + "_-_ Questgivers now appear in landmarks when they are seen\n" + "_-_ Shops now appear in landmarks\n" + "_-_ Items for sale now show their price when being examined\n" + - "_-_ Stackable unique items can now be sold to shops\n" + - "_-_ Entrance doors on floor 2 are now only hidden the first time, not every time before Goo is beaten\n" + - "_-_ Ranged traps will now prefer to shoot visible targets over invisible ones\n\n" + + "_-_ Stackable unique items can now be sold\n" + + "_-_ Shortened text from well of awareness\n" + + "_-_ Tweaked the sprites of tipped vs. untipped darts\n\n" + + "_Translations:_\n" + "_-_ Added a new language: Ukranian!\n" + - "_-_ Updated translations")); + "_-_ Updated translations and translator credits")); changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), "Fixed:\n" + @@ -227,6 +174,24 @@ public class v0_8_X_Changes { "_-_ Tengu placing traps over plants\n" + "_-_ Items not being IDed in rankings in rare cases")); + changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), + "Fixed:\n" + + "_-_ Sniper shot incorrectly capping at 2.5x damage instead of 3x\n" + + "_-_ Golden Lotus having twice at much HP as intended\n" + + "_-_ Pickaxe not getting bloodied by killing bats in rare cases\n" + + "_-_ Dried rose ghost healing not respecting level lock limits\n" + + "_-_ Enemy respawn timer being reset by saving/loading the game\n" + + "_-_ Wraiths refusing to spawn over traps despite not being able to activate them\n" + + "_-_ Particle effects rarely not appearing\n" + + "_-_ Visual errors with Goo's charge up particles\n" + + "_-_ DM-201s rarely tossing grenades though walls\n" + + "_-_ Various rare errors with blacksmith reforging\n" + + "_-_ Various minor errors with cursed wands and chaos elementals\n" + + "_-_ Terrored enemies not fleeing in some cases\n" + + "_-_ Various minor errors with the Tengu fight\n" + + "_-_ Acidic scorpios not always dropping potions of experience\n" + + "_-_ Some immovable enemies not knocking items away")); + changes = new ChangeInfo(Messages.get(ChangesScene.class, "buffs"), false, null); changes.hardlight(CharSprite.POSITIVE); changeInfos.add(changes); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java new file mode 100644 index 000000000..ce221ea59 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/changelist/v0_9_X_Changes.java @@ -0,0 +1,124 @@ +/* + * Pixel Dungeon + * Copyright (C) 2012-2015 Oleg Dolya + * + * Shattered Pixel Dungeon + * Copyright (C) 2014-2020 Evan Debenham + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + */ + +package com.shatteredpixel.shatteredpixeldungeon.ui.changelist; + +import com.shatteredpixel.shatteredpixeldungeon.Assets; +import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFrost; +import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.scenes.ChangesScene; +import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; +import com.shatteredpixel.shatteredpixeldungeon.ui.Icons; +import com.shatteredpixel.shatteredpixeldungeon.ui.Window; +import com.watabou.noosa.Image; + +import java.util.ArrayList; + +public class v0_9_X_Changes { + + public static void addAllChanges( ArrayList changeInfos ){ + add_v0_9_0_Changes(changeInfos); + } + + public static void add_v0_9_0_Changes( ArrayList changeInfos ) { + + ChangeInfo changes = new ChangeInfo("v0.9.0", 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), "Developer Commentary", + "_-_ Released October 5th, 2020\n" + + "_-_ 61 days after Shattered v0.8.2\n" + + "_-_ 173 days after Shattered v0.8.0\n" + + "\n" + + "Dev commentary will be added here in the future.")); + + changes.addButton(new ChangeButton(Icons.get(Icons.TALENT), "Hero Talents!", + "_A new gameplay system has been added!_\n\n" + + "As you play the game and level up, you now unlock points to spend on hero talents. These talents have a range of effects, from stat adjustments to triggered effects to full on abilities!\n\n" + + "Talents are split into tiers, and to start only the first tier is available, which covers levels 1 to 6. More talents will be added soon!\n\n" + + "Previously I would have spent many more months on v0.9.0 and released the entire system in one update, but I'm changing up my strategy and splitting these big updates into smaller parts.")); + + changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_ON), "Hostile Champions!", + "A new challenge has been added: _Hostile Champions!_\n\n" + + "Unlike most other challenges, this one focuses on amping up the difficulty of the dungeon, rather than removing tools from the player. Give it a try if you've unlocked challenges, and you might find some particularly nasty enemies in the dungeon!")); + + changes.addButton(new ChangeButton(Icons.get(Icons.BADGES), "Badge Visuals", + "The badges screen now shows which badges are locked, rather than just using a generic 'locked badge' visual.\n\n" + + "Badges now have different border colors based on their difficulty (bronze, silver, gold, platinum, diamond), and are ordered based on these colors.")); + + changes = new ChangeInfo(Messages.get(ChangesScene.class, "changes"), false, null); + changes.hardlight(CharSprite.WARNING); + changeInfos.add(changes); + + changes.addButton(new ChangeButton(new Image(Assets.Sprites.WARRIOR, 0, 15, 12, 15), "Hero balance adjustments", + "The _Warrior, Mage, and Huntress_ are getting some balance tweaks to offset their new talents:\n\n" + + "The _Warrior and Mage_ no longer have innate on-eat effects, these are replaced by their food-based talents.\n\n" + + "The _Warrior's_ base max shielding has been reduced from 2 to 1, to compensate for his shielding talent.\n\n" + + "The _Mage_ no longer has an innate wand identification effect, this is replaced by his wand identification talent.\n\n" + + "The _Huntress'_ studded gloves have had their base damage reduced to 1-5 from 1-6, to compensate for her damage-dealing talent.")); + + changes.addButton(new ChangeButton(Icons.get(Icons.CHALLENGE_OFF), "Existing Challenges", + "Some existing challenges have been tweaked to reduce the number of items that they remove from the game:\n\n" + + "_On Diet_ no longer restricts food, but instead causes all food to be 1/3 as effective at satiating hunger.\n\n" + + "_Faith Is My Armor_ no longer restricts the hero to cloth armor, but instead heavily reduces the blocking power of all armor above cloth.\n\n" + + "_Pharmacophobia_ no longer removes health potions, but instead makes them poisonous to the player.")); + + changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"), + "_-_ Unidentified scrolls can now be used to make runestones! You won't know what stones you'll get until you brew the scroll, but the scroll will be retroactively identified.\n\n" + + "_-_ Reduced hero unlock requirements.\n\n" + + "_-_ Added HP numbers to the player's health bar.\n" + + "_-_ Tweaked some interface visuals to be more rounded.\n\n" + + "_-_ Spider webs are now flammable, and can be shot through by fireblast.\n" + + "_-_ The reclaim trap spell can no longer be dropped when a trap is stored in it. This prevents an exploit.\n" + + "_-_ Items gained from secret mazes are now known to be uncursed.")); + + changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"), + "Fixed:\n" + + "_-_ Various visual errors\n" + + "_-_ Various rare crash bugs\n" + + "_-_ Various rare game freeze bugs\n" + + "_-_ Back button closing the game in hero select\n" + + "_-_ Issues with touch input on Android 11 when gestures are enabled\n" + + "_-_ Crystal mimics escaping when they are still visible\n" + + "_-_ Shadows buff being cancelled by enemies seen via mind vision\n" + + "_-_ Aqua blast occasionally not stunning\n" + + "_-_ Errors with turn spending when talisman is used\n" + + "_-_ Newborn elemental not dropping its quest item for overlevelled heroes\n" + + "_-_ Spinners shooting webs though walls\n" + + "_-_ Elastic enchantment closing doors when used with spirit bow\n" + + "_-_ Shopkeepers buying items worth 0 gold\n" + + "_-_ Duplicate artifacts in rare cases\n" + + "_-_ Custom names not applying to Mage's staff\n" + + "_-_ Ring of might not reducing max HP when degraded\n" + + "_-_ Rare bugs involving ripper demon leaping\n" + + "_-_ Hero unable to cleanse fire with chill when immune to it, and vice-versa\n" + + "_-_ DM-201's attacking while stunned")); + + changes.addButton(new ChangeButton(new WandOfFrost(), + "This is actually a bugfix, but I'm listing it separately for clarity. In v0.8.2 the _wand of frost_ is listed as losing 6.67% damage per turn of chill, to a max of -50%. This is not what was implemented however, and the wand instead lost 3.33% per turn to a max of -30%. This has now been corrected and the wand performs as listed in the 0.8.2 changelog.")); + + } +}