v0.9.3: the unstable spellbook now greys out scrolls already added to it

This commit is contained in:
Evan Debenham
2021-05-09 12:42:42 -04:00
parent 1463afcaf2
commit 82ce389a48
2 changed files with 15 additions and 3 deletions
@@ -239,6 +239,17 @@ public class UnstableSpellbook extends Artifact {
return super.upgrade(); return super.upgrade();
} }
public static boolean canUseScroll( Item item ){
if (item instanceof Scroll){
if (!(curItem instanceof UnstableSpellbook)){
return true;
} else {
return item.isIdentified() && ((UnstableSpellbook) curItem).scrolls.contains(item.getClass());
}
}
return false;
}
@Override @Override
public String desc() { public String desc() {
String desc = super.desc(); String desc = super.desc();
@@ -328,8 +339,9 @@ public class UnstableSpellbook extends Artifact {
} }
} }
GLog.w( Messages.get(UnstableSpellbook.class, "unable_scroll") ); GLog.w( Messages.get(UnstableSpellbook.class, "unable_scroll") );
} else if (item instanceof Scroll && !item.isIdentified()) } else if (item instanceof Scroll && !item.isIdentified()) {
GLog.w( Messages.get(UnstableSpellbook.class, "unknown_scroll") ); GLog.w( Messages.get(UnstableSpellbook.class, "unknown_scroll") );
}
} }
}; };
} }
@@ -33,6 +33,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe; import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.SandalsOfNature;
import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.UnstableSpellbook;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag; import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster; import com.shatteredpixel.shatteredpixeldungeon.items.bags.MagicalHolster;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.PotionBandolier; import com.shatteredpixel.shatteredpixeldungeon.items.bags.PotionBandolier;
@@ -40,7 +41,6 @@ import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder;
import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch; import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch;
import com.shatteredpixel.shatteredpixeldungeon.items.food.Food; import com.shatteredpixel.shatteredpixeldungeon.items.food.Food;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion; import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfRemoveCurse;
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfTransmutation;
import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle; import com.shatteredpixel.shatteredpixeldungeon.items.spells.Recycle;
@@ -443,7 +443,7 @@ public class WndBag extends WndTabbed {
mode == Mode.SEED && SandalsOfNature.canUseSeed(item) || mode == Mode.SEED && SandalsOfNature.canUseSeed(item) ||
mode == Mode.FOOD && (item instanceof Food) || mode == Mode.FOOD && (item instanceof Food) ||
mode == Mode.POTION && (item instanceof Potion) || mode == Mode.POTION && (item instanceof Potion) ||
mode == Mode.SCROLL && (item instanceof Scroll) || mode == Mode.SCROLL && UnstableSpellbook.canUseScroll(item) ||
mode == Mode.INTUITIONABLE && StoneOfIntuition.isIntuitionable(item) || mode == Mode.INTUITIONABLE && StoneOfIntuition.isIntuitionable(item) ||
mode == Mode.EQUIPMENT && (item instanceof EquipableItem || item instanceof Wand) || mode == Mode.EQUIPMENT && (item instanceof EquipableItem || item instanceof Wand) ||
mode == Mode.ALCHEMY && Recipe.usableInRecipe(item) || mode == Mode.ALCHEMY && Recipe.usableInRecipe(item) ||