v3.0.0: updated version, changelog, and welcome message for BETA-1.0!
This commit is contained in:
@@ -17,8 +17,8 @@ allprojects {
|
|||||||
appName = 'Shattered Pixel Dungeon'
|
appName = 'Shattered Pixel Dungeon'
|
||||||
appPackageName = 'com.shatteredpixel.shatteredpixeldungeon'
|
appPackageName = 'com.shatteredpixel.shatteredpixeldungeon'
|
||||||
|
|
||||||
appVersionCode = 812
|
appVersionCode = 813
|
||||||
appVersionName = '3.0.0-ALPHA-1.1'
|
appVersionName = '3.0.0-BETA-1.0'
|
||||||
|
|
||||||
appJavaCompatibility = JavaVersion.VERSION_1_8
|
appJavaCompatibility = JavaVersion.VERSION_1_8
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ import java.util.Collections;
|
|||||||
|
|
||||||
public class WelcomeScene extends PixelScene {
|
public class WelcomeScene extends PixelScene {
|
||||||
|
|
||||||
private static final int LATEST_UPDATE = 804;
|
private static final int LATEST_UPDATE = 813;
|
||||||
|
|
||||||
//used so that the game does not keep showing the window forever if cleaning fails
|
//used so that the game does not keep showing the window forever if cleaning fails
|
||||||
private static boolean triedCleaningTemp = false;
|
private static boolean triedCleaningTemp = false;
|
||||||
@@ -202,9 +202,9 @@ public class WelcomeScene extends PixelScene {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
message = "Greetings Alpha testers, the Cleric is now fully playable and so the alpha for v3.0 is ending soon!\n\n" +
|
message = "Greetings Beta testers, and welcome to an early beta for the Cleric!\n\n" +
|
||||||
"I may do further alphas after the holidays as the Paladin, Trinity, and Power of Many come online.\n\n" +
|
"The new hero is fully playable, but with only one subclass and one armor ability currently. I'm going to be taking things a bit easy over the holdiays, so expect things to start filling out in the new year!\n\n" +
|
||||||
"As always, read the changelog for full change details, and let me know if you encounter any bugs!";
|
"As always, read the changelog for full change details, and let me know what you think of the new hero!";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
message = Messages.get(this, "what_msg");
|
message = Messages.get(this, "what_msg");
|
||||||
|
|||||||
@@ -23,17 +23,12 @@ package com.shatteredpixel.shatteredpixeldungeon.ui.changelist;
|
|||||||
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.cleric.AscendedForm;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.spells.BlessSpell;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.HolyTome;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.ChangesScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.ChangesScene;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.HeroSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.HeroIcon;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.Icons;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||||
import com.watabou.noosa.Image;
|
import com.watabou.noosa.Image;
|
||||||
@@ -60,97 +55,10 @@ public class v3_X_Changes {
|
|||||||
|
|
||||||
public static void add_v3_0_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
public static void add_v3_0_Changes( ArrayList<ChangeInfo> changeInfos ) {
|
||||||
|
|
||||||
ChangeInfo changes = new ChangeInfo("v3.0", true, "");
|
ChangeInfo changes = new ChangeInfo("v3.0-BETA", true, "");
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
changes.hardlight(Window.TITLE_COLOR);
|
||||||
changeInfos.add(changes);
|
changeInfos.add(changes);
|
||||||
|
|
||||||
changes = new ChangeInfo("ALPHA-1.1", false, null);
|
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
|
||||||
changeInfos.add(changes);
|
|
||||||
|
|
||||||
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 ALPHA:**\n" +
|
|
||||||
"**-** Crashes when attempting to end an ascension run with the Cleric.\n" +
|
|
||||||
"**-** Flash spell not allowing the player to target many locations they should be."));
|
|
||||||
|
|
||||||
changes = new ChangeInfo("ALPHA-1.0", false, null);
|
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
|
||||||
changeInfos.add(changes);
|
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Alpha Info",
|
|
||||||
"The Alpha for v3.0 is now winding down! I expect to release v3.0-BETA-1.0 in another few days! Please let me know if you encounter any issues so I can get them fixed before then.\n\n" +
|
|
||||||
"I am considering doing further alphas as v3.0 continues development after the holidays, giving you guys early peeks at the Paladin and the other two armor abilities. Said alphas will last for a day or two."));
|
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(new HeroIcon(new AscendedForm()), "Ascended Form",
|
|
||||||
"_Ascended Form and all of its talents have been added to the alpha!_\n\n" +
|
|
||||||
"The Cleric projects holy energy from themselves, assuming an extended radiant form for 10 turns. While in this form the Cleric can cast new spells, gains 2 attack range, 30 shielding, and any additional spells they cast will grant 10 shielding per holy tome charge used.\\n\\nThe shielding from ascended form and its spells does not decay normally, but will immediately fade once ascended form ends. The ability can be re-used to refresh ascended form's duration."));
|
|
||||||
|
|
||||||
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"),
|
|
||||||
"The Cleric can now be played past floor 20, allowing runs with them to be completed!\n\n" +
|
|
||||||
"**Bless** has been scaled back when used on allies, now grants 6/10 turns of bless and 10/15 healing, down from 10/15 and 15/25.\n\n" +
|
|
||||||
"Now that other characters trigger **illuminate** (bugfix from ALPHA-0.6), it creates an unfortunate anti-synergy with priest's illuminate bonus. To fix this, other characters now deal +10 bonus magic damage when triggering illuminate with Priest. To prevent this stacking with **Searing Light**, that talent now only triggers from the Cleric's attacks."));
|
|
||||||
|
|
||||||
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 ALPHA:**\n" +
|
|
||||||
"**-** Minor visual errors in spell window\n" +
|
|
||||||
"**-** Minor textual errors"));
|
|
||||||
|
|
||||||
changes = new ChangeInfo("ALPHA-0.6 & 0.7", false, null);
|
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
|
||||||
changeInfos.add(changes);
|
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(new HeroIcon(HeroSubClass.PRIEST), "Priest Spells",
|
|
||||||
"I've added two new Priest spells! These are both focused more on utility and synergy.\n\n" +
|
|
||||||
"**Hallowed Ground** creates an area of terrain that's cumbersome to enemies and beneficial to the Priest and their allies. Allies are healed, the Priest get shielding, enemies get briefly rooted and slowed, and grass grows randomly.\n\n" +
|
|
||||||
"**Mnemonic Prayer** extends the duration of buffs on allies, or debuffs on enemies. It also re-applies illuminated if the target was illuminated previously.\n\n" +
|
|
||||||
"I've also lessened the blur on the Cleric's splash art again, it's almost full-detail!\n\n" +
|
|
||||||
"With these additions the base Cleric and Priest are now finished! I'm going to implement an armor ability over the next few days and then we'll be ready for beta!"));
|
|
||||||
|
|
||||||
changes.addButton(new ChangeButton(Icons.get(Icons.PREFS), Messages.get(ChangesScene.class, "misc"),
|
|
||||||
"**-** Retroactively renamed the alphas to \"ALPHA-0.X\"\n\n" +
|
|
||||||
"I've made a few changes to talent/spell names and icons for better consistency:\n" +
|
|
||||||
"**-** Detect Magic renamed to Holy Intuition\n" +
|
|
||||||
"**-** Recall Glyph renamed to Recall Inscription\n" +
|
|
||||||
"**-** Adjusted icons for Cleric food talents\n" +
|
|
||||||
"**-** Only talents that grant new spells use the 'yellow + blue' color scheme\n" +
|
|
||||||
"**-** Adjusted icons for Sucker Punch and Followup Strike"));
|
|
||||||
|
|
||||||
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 ALPHA:**\n" +
|
|
||||||
"**-** Holy Intuition (Detect Curse) not working on wands\n" +
|
|
||||||
"**-** Allies not properly triggering illuminated from guiding light\n" +
|
|
||||||
"**-** Shield of Light duration stacking with multiple casts instead of resetting\n\n" +
|
|
||||||
"**Existed Prior to ALPHA:**\n" +
|
|
||||||
"**-** Various minor textual errors"));
|
|
||||||
|
|
||||||
changes = new ChangeInfo("ALPHA-0.2 - 0.5", false, null);
|
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
|
||||||
changeInfos.add(changes);
|
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(new HeroIcon(BlessSpell.INSTANCE), "Spell Additions & Changes",
|
|
||||||
"I've added a new talent/spell in this alpha release!:\n\n" +
|
|
||||||
"**Bless** is a T2 spell/talent that applies the bless buff to the Cleric or another character, and applies either healing or shielding, depending on the target. I decided on another cheaper spell for T2 since recall glyph is being made more expensive.\n\n" +
|
|
||||||
"Expect more talents/spells for the Priest very soon, possibly tomorrow!\n\n" +
|
|
||||||
"I'm also making a few balance changes to existing spells based on early feedback:\n" +
|
|
||||||
"**- Recall Glyph** charge cost increased by 1 across the board.\n" +
|
|
||||||
"**- Divine Sense** duration down to 30 from 50.\n" +
|
|
||||||
"**- Divine Sense** charge cost up to 2 from 1, as was already stated in the UI."));
|
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(new HolyTome(),
|
|
||||||
"Thanks a bunch for your early feedback!\n\n" +
|
|
||||||
"Aside from bug reports, the most consistent bit of feedback I've heard is that the holy tome's charging mechanic doesn't feel great. I originally concepted it as charging based on exp gain to accommodate some of my early spell designs that involved self-healing. However, once I got into more specific designs I ended up not making these sorts of spells anyway, as while healing is obviously part of the divine caster archetype, it’s also really powerful and boring.\n\n" +
|
|
||||||
"So at this point it’s become pretty clear to me that the existing tome recharge mechanic is a holdover from earlier design iterations, and I’m trying out scrapping it entirely. The tome now recharges based on time, roughly 33% slower than the Rogue’s Cloak of Shadows, and we’ll refine things from there. This should be a buff to recharging speed overall, although it may not feel that way after floor 10 as I’m also fixing a bug that caused Holy Lance to not consume charges."));
|
|
||||||
|
|
||||||
changes.addButton(new ChangeButton(new Image(Assets.Sprites.SPINNER, 144, 0, 16, 16), Messages.get(ChangesScene.class, "bugfixes"),
|
|
||||||
"Fixed the following bugs:\n" +
|
|
||||||
"**Existed Prior to ALPHA:**\n" +
|
|
||||||
"**-** Holiday pasty names not appearing in catalogs\n" +
|
|
||||||
"**-** Duration of greater haste not being preserved on save/load\n" +
|
|
||||||
"**-** Various minor textual errors"));
|
|
||||||
|
|
||||||
changes = new ChangeInfo(Messages.get(ChangesScene.class, "new"), false, null);
|
changes = new ChangeInfo(Messages.get(ChangesScene.class, "new"), false, null);
|
||||||
changes.hardlight(Window.TITLE_COLOR);
|
changes.hardlight(Window.TITLE_COLOR);
|
||||||
changeInfos.add(changes);
|
changeInfos.add(changes);
|
||||||
@@ -160,12 +68,19 @@ public class v3_X_Changes {
|
|||||||
"_-_ ... days after Shattered v2.5.0\n\n" +
|
"_-_ ... days after Shattered v2.5.0\n\n" +
|
||||||
"Dev commentary will be added here in the future."));*/
|
"Dev commentary will be added here in the future."));*/
|
||||||
|
|
||||||
/*changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Alpha Info",
|
changes.addButton( new ChangeButton(Icons.get(Icons.SHPX), "Beta Info",
|
||||||
"Hey Alpha testers! This alpha is in a less complete state than normal, here's info about what's currently incomplete game-content wise:\n" +
|
"Hey Beta testers! The Beta for v3.0.0 is in an earlier state than a beta normally is, so expect it to last for a little while. Here's roughly what needs to be done before release:\n" +
|
||||||
"**-** The Cleric is missing one T2 Talent\n" +
|
"\n" +
|
||||||
"**-** The Priest is missing two of their T3 talents\n" +
|
"For the Cleric themselves:\n" +
|
||||||
"**-** The Paladin is not implemented\n" +
|
"**-** Implement the **Paladin Subclass**, and **Trinity and Power of Many** armor abilities.\n" +
|
||||||
"**-** No armor abilities are implemented, and so I've capped Cleric runs at floor 20 for now."));*/
|
"**-** Make refinements and balance adjustments as needed based on feedback and analytics data.\n" +
|
||||||
|
"**-** Finalize Cleric visuals, currently many in-game visuals are WIP.\n" +
|
||||||
|
"\n" +
|
||||||
|
"And for other things:\n" +
|
||||||
|
"**-** Make various miscellaneous bugfixes and small tweaks, I've got a list to get through.\n" +
|
||||||
|
"**-** Further interface improvements to the games in progress scene\n" +
|
||||||
|
"**-** Visual improvements to art in the title screen and hero select.\n\n" +
|
||||||
|
"I'm taking a bit of a break over the holidays, so expect these items to get getting cleared early in the new year."));
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.CLERIC, 1), "The Cleric!",
|
changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.CLERIC, 1), "The Cleric!",
|
||||||
"**Shattered Pixel Dungeon has another new hero, making for six total!!**\n" +
|
"**Shattered Pixel Dungeon has another new hero, making for six total!!**\n" +
|
||||||
@@ -174,7 +89,7 @@ public class v3_X_Changes {
|
|||||||
"\n" +
|
"\n" +
|
||||||
"Much like how the Duelist can use a bunch of weapon abilities, I want the Cleric to be an ability-centric hero focused on Magic. Unlike the Duelist, these abilities are tied into the hero and their talents, instead of equipment items.\n" +
|
"Much like how the Duelist can use a bunch of weapon abilities, I want the Cleric to be an ability-centric hero focused on Magic. Unlike the Duelist, these abilities are tied into the hero and their talents, instead of equipment items.\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"**Note that while the base Cleric is playable, they are not yet fully implemented!** Some visuals are placeholders and not all talents are functional."));
|
"**Note that while the Cleric is playable, they are not yet fully implemented!** Some visuals are placeholders and not all subclasses and armor abilities are implement."));
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.CLERIC, 4), "Cleric Subclasses",
|
changes.addButton( new ChangeButton(HeroSprite.avatar(HeroClass.CLERIC, 4), "Cleric Subclasses",
|
||||||
"**The Cleric has two subclasses, each with their own emphasis!**\n" +
|
"**The Cleric has two subclasses, each with their own emphasis!**\n" +
|
||||||
@@ -213,6 +128,7 @@ public class v3_X_Changes {
|
|||||||
"**-** Blast Wave no longer knocks back characters if they are killed over a pit\n" +
|
"**-** Blast Wave no longer knocks back characters if they are killed over a pit\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"**Misc.:**\n" +
|
"**Misc.:**\n" +
|
||||||
|
"**-** Adjusted icons for Sucker Punch and Followup Strike\n" +
|
||||||
"**-** Camera no longer re-centers on hero when adding custom notes\n" +
|
"**-** Camera no longer re-centers on hero when adding custom notes\n" +
|
||||||
"**-** Improved the game's monochrome Android icon\n" +
|
"**-** Improved the game's monochrome Android icon\n" +
|
||||||
"**-** Improved text clarity in a few cases\n" +
|
"**-** Improved text clarity in a few cases\n" +
|
||||||
@@ -236,6 +152,7 @@ public class v3_X_Changes {
|
|||||||
"**-** Very rare cases where spawned high grass could interfere with the floor 20 shop\n" +
|
"**-** Very rare cases where spawned high grass could interfere with the floor 20 shop\n" +
|
||||||
"**-** Certain effects not having on-death or rankings messages\n" +
|
"**-** Certain effects not having on-death or rankings messages\n" +
|
||||||
"**-** Specific cases where cursed wand effects would forget they were spawned by wondrous resin\n" +
|
"**-** Specific cases where cursed wand effects would forget they were spawned by wondrous resin\n" +
|
||||||
|
"**-** Duration of greater haste not being preserved on save/load\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"**Misc.:**\n" +
|
"**Misc.:**\n" +
|
||||||
"**-** Various minor textual errors\n" +
|
"**-** Various minor textual errors\n" +
|
||||||
@@ -246,7 +163,7 @@ public class v3_X_Changes {
|
|||||||
changeInfos.add(changes);
|
changeInfos.add(changes);
|
||||||
|
|
||||||
changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.SOMETHING), "Nothing yet!",
|
changes.addButton( new ChangeButton(new ItemSprite(ItemSpriteSheet.SOMETHING), "Nothing yet!",
|
||||||
"While there are no other balance changes in v3.0 currently, I do plan to go over some balance numbers and make adjustments here later in the beta."));
|
"While there are no other balance changes in v3.0 currently, I do plan to go over some balance numbers from v2.5.4 and make adjustments here during the beta."));
|
||||||
|
|
||||||
changes = new ChangeInfo(Messages.get(ChangesScene.class, "nerfs"), false, null);
|
changes = new ChangeInfo(Messages.get(ChangesScene.class, "nerfs"), false, null);
|
||||||
changes.hardlight(CharSprite.NEGATIVE);
|
changes.hardlight(CharSprite.NEGATIVE);
|
||||||
|
|||||||
Reference in New Issue
Block a user