v2.5.0: trinket selection window now force-reshows itself
This commit is contained in:
@@ -21,8 +21,11 @@
|
||||
|
||||
package com.shatteredpixel.shatteredpixeldungeon.items.trinkets;
|
||||
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Statistics;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
@@ -38,9 +41,11 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.ItemButton;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RedButton;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.RenderedTextBlock;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ui.Window;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.IconTitle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndInfoItem;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndSadGhost;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
import com.watabou.utils.Bundle;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -79,6 +84,10 @@ public class TrinketCatalyst extends Item {
|
||||
|
||||
private ArrayList<Trinket> rolledTrinkets = new ArrayList<>();
|
||||
|
||||
public boolean hasRolledTrinkets(){
|
||||
return !rolledTrinkets.isEmpty();
|
||||
}
|
||||
|
||||
private static final String ROLLED_TRINKETS = "rolled_trinkets";
|
||||
|
||||
@Override
|
||||
@@ -217,7 +226,26 @@ public class TrinketCatalyst extends Item {
|
||||
cata.detach(Dungeon.hero.belongings.backpack);
|
||||
Catalog.countUse(cata.getClass());
|
||||
result.identify();
|
||||
((AlchemyScene)ShatteredPixelDungeon.scene()).craftItem(null, result);
|
||||
if (ShatteredPixelDungeon.scene() instanceof AlchemyScene) {
|
||||
((AlchemyScene) ShatteredPixelDungeon.scene()).craftItem(null, result);
|
||||
} else {
|
||||
Sample.INSTANCE.play( Assets.Sounds.PUFF );
|
||||
|
||||
if (result.doPickUp(Dungeon.hero)){
|
||||
GLog.p( Messages.capitalize(Messages.get(Hero.class, "you_now_have", item.name())) );
|
||||
} else {
|
||||
Dungeon.level.drop(result, Dungeon.hero.pos);
|
||||
}
|
||||
|
||||
Statistics.itemsCrafted++;
|
||||
Badges.validateItemsCrafted();
|
||||
|
||||
try {
|
||||
Dungeon.saveAll();
|
||||
} catch (IOException e) {
|
||||
ShatteredPixelDungeon.reportException(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -514,6 +514,11 @@ public class AlchemyScene extends PixelScene {
|
||||
align(btnGuide);
|
||||
add(btnGuide);
|
||||
|
||||
TrinketCatalyst cata = Dungeon.hero.belongings.getItem(TrinketCatalyst.class);
|
||||
if (cata != null && cata.hasRolledTrinkets()){
|
||||
addToFront(new TrinketCatalyst.WndTrinket(cata));
|
||||
}
|
||||
|
||||
fadeIn();
|
||||
|
||||
try {
|
||||
|
||||
@@ -60,9 +60,9 @@ import com.shatteredpixel.shatteredpixeldungeon.items.journal.Guidebook;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTeleportation;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.DimensionalSundial;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.trinkets.TrinketCatalyst;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Bestiary;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Catalog;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Document;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Journal;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.journal.Notes;
|
||||
@@ -610,6 +610,11 @@ public class GameScene extends PixelScene {
|
||||
GameScene.flashForDocument(Document.ADVENTURERS_GUIDE, Document.GUIDE_DIEING);
|
||||
}
|
||||
|
||||
TrinketCatalyst cata = Dungeon.hero.belongings.getItem(TrinketCatalyst.class);
|
||||
if (cata != null && cata.hasRolledTrinkets()){
|
||||
addToFront(new TrinketCatalyst.WndTrinket(cata));
|
||||
}
|
||||
|
||||
if (!invVisible) toggleInvPane();
|
||||
fadeIn();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user