diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Recipe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Recipe.java index 6ab2f71d1..37a3c3eb3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Recipe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/Recipe.java @@ -105,6 +105,7 @@ public abstract class Recipe { //TODO is this right? for (Item ingredient : ingredients){ + if (!ingredient.isIdentified()) return false; for (int i = 0; i < inputs.length; i++){ if (ingredient.getClass() == inputs[i]){ needed[i] -= ingredient.quantity(); @@ -239,8 +240,7 @@ public abstract class Recipe { } public static boolean usableInRecipe(Item item){ - return item.isIdentified() - && !item.cursed + return !item.cursed && (!(item instanceof EquipableItem) || item instanceof Dart || item instanceof AlchemistsToolkit) && !(item instanceof Wand); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Bomb.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Bomb.java index f51863b1b..485db3e7f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Bomb.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/bombs/Bomb.java @@ -348,6 +348,7 @@ public class Bomb extends Item { boolean ingredient = false; for (Item i : ingredients){ + if (!i.isIdentified()) return false; if (i.getClass().equals(Bomb.class)){ bomb = true; } else if (validIngredients.containsKey(i.getClass())){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java index bd1c8ce06..7ec9a9234 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/Scroll.java @@ -333,6 +333,7 @@ public abstract class Scroll extends Item { @Override public boolean testIngredients(ArrayList ingredients) { if (ingredients.size() != 1 + || !ingredients.get(0).isIdentified() || !(ingredients.get(0) instanceof Scroll) || !stones.containsKey(ingredients.get(0).getClass())){ return false; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickRecipe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickRecipe.java index e68a6dc68..e241da163 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickRecipe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/QuickRecipe.java @@ -108,7 +108,8 @@ public class QuickRecipe extends Component { ArrayList similar = Dungeon.hero.belongings.getAllSimilar(in); int quantity = 0; for (Item sim : similar) { - if (sim.isIdentified()) quantity += sim.quantity(); + //if we are looking for a specific item, it must be IDed + if (sim.getClass() != in.getClass() || sim.isIdentified()) quantity += sim.quantity(); } if (quantity < in.quantity()) { @@ -255,6 +256,7 @@ public class QuickRecipe extends Component { for (Class cls : Generator.Category.SCROLL.classes){ try{ Scroll scroll = (Scroll) cls.newInstance(); + if (!scroll.isKnown()) scroll.anonymize(); ArrayList in = new ArrayList(Arrays.asList(scroll)); result.add(new QuickRecipe( r, in, r.sampleOutput(in))); } catch (Exception e){