v2.5.0: upgrade window now shows uses left and re-shows on un-ided item

This commit is contained in:
Evan Debenham
2024-08-25 11:12:08 -04:00
parent 46eec8265a
commit 7b7a4656d1
2 changed files with 15 additions and 2 deletions

View File

@@ -351,6 +351,7 @@ windows.wndtradeitem.sell_all=Sell all for %dg
windows.wndupgrade.title=Upgrade an Item
windows.wndupgrade.desc=Upgrading an item permanently improves it:
windows.wndupgrade.remaining=You have _%d_ upgrade items left.
windows.wndupgrade.unided=You don't know the properties of this item, its un-upgraded state is shown here.
windows.wndupgrade.unknown_ring=You don't know what this ring's effect is, and so have no idea what upgrading it will do.
windows.wndupgrade.cursed=Upgrading this item also has a 33% chance to cleanse its curse.

View File

@@ -79,8 +79,20 @@ public class WndUpgrade extends Window {
title.setRect(0, 0, WIDTH, 0);
add(title);
int quantity = upgrader.quantity();
Item moreUpgradeItem = Dungeon.hero.belongings.getItem(upgrader.getClass());
if (moreUpgradeItem != upgrader){
quantity += moreUpgradeItem.quantity();
}
String mainText = Messages.get(this, "desc");
if (quantity > 1){
mainText += "\n" + Messages.get(this, "remaining", quantity);
}
RenderedTextBlock message = PixelScene.renderTextBlock( 6 );
message.text( Messages.get(this, "desc"), WIDTH);
message.text( mainText, WIDTH);
message.setPos(0, title.bottom()+GAP);
add(message);
@@ -405,7 +417,7 @@ public class WndUpgrade extends Window {
hide();
if (moreUpgradeItem != null && toUpgrade.isIdentified()){
if (moreUpgradeItem != null){
GameScene.show(new WndUpgrade(moreUpgradeItem, upgraded, false));
}
}