v2.4.0: removed catalysts from alchemy recipes (lotsa followup needed)
This commit is contained in:
committed by
Evan Debenham
parent
55ba5757da
commit
1c54043354
@@ -174,7 +174,21 @@ public abstract class Recipe {
|
||||
new ExoticPotion.PotionToExotic(),
|
||||
new ExoticScroll.ScrollToExotic(),
|
||||
new ArcaneResin.Recipe(),
|
||||
new Alchemize.Recipe(),
|
||||
new BlizzardBrew.Recipe(),
|
||||
new InfernalBrew.Recipe(),
|
||||
new ShockingBrew.Recipe(),
|
||||
new ElixirOfDragonsBlood.Recipe(),
|
||||
new ElixirOfIcyTouch.Recipe(),
|
||||
new ElixirOfToxicEssence.Recipe(),
|
||||
new ElixirOfMight.Recipe(),
|
||||
new MagicalInfusion.Recipe(),
|
||||
new AquaBlast.Recipe(),
|
||||
new BeaconOfReturning.Recipe(),
|
||||
new FeatherFall.Recipe(),
|
||||
new PhaseShift.Recipe(),
|
||||
new Recycle.Recipe(),
|
||||
new TelekineticGrab.Recipe(),
|
||||
new SummonElemental.Recipe(),
|
||||
new StewedMeat.oneMeat()
|
||||
};
|
||||
|
||||
@@ -183,28 +197,14 @@ public abstract class Recipe {
|
||||
new Bomb.EnhanceBomb(),
|
||||
new AlchemicalCatalyst.Recipe(),
|
||||
new ArcaneCatalyst.Recipe(),
|
||||
new CausticBrew.Recipe(),
|
||||
new ElixirOfArcaneArmor.Recipe(),
|
||||
new ElixirOfAquaticRejuvenation.Recipe(),
|
||||
new ElixirOfDragonsBlood.Recipe(),
|
||||
new ElixirOfIcyTouch.Recipe(),
|
||||
new ElixirOfMight.Recipe(),
|
||||
new ElixirOfHoneyedHealing.Recipe(),
|
||||
new ElixirOfToxicEssence.Recipe(),
|
||||
new BlizzardBrew.Recipe(),
|
||||
new InfernalBrew.Recipe(),
|
||||
new ShockingBrew.Recipe(),
|
||||
new CausticBrew.Recipe(),
|
||||
new AquaBlast.Recipe(),
|
||||
new BeaconOfReturning.Recipe(),
|
||||
new Alchemize.Recipe(),
|
||||
new CurseInfusion.Recipe(),
|
||||
new FeatherFall.Recipe(),
|
||||
new MagicalInfusion.Recipe(),
|
||||
new PhaseShift.Recipe(),
|
||||
new ReclaimTrap.Recipe(),
|
||||
new Recycle.Recipe(),
|
||||
new WildEnergy.Recipe(),
|
||||
new TelekineticGrab.Recipe(),
|
||||
new SummonElemental.Recipe(),
|
||||
new StewedMeat.twoMeat()
|
||||
};
|
||||
|
||||
|
||||
@@ -67,10 +67,10 @@ public class BlizzardBrew extends Brew {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfFrost.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfFrost.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 3;
|
||||
cost = 11;
|
||||
|
||||
output = BlizzardBrew.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -68,10 +68,10 @@ public class InfernalBrew extends Brew {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfLiquidFlame.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfLiquidFlame.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 4;
|
||||
cost = 12;
|
||||
|
||||
output = InfernalBrew.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -63,10 +63,10 @@ public class ShockingBrew extends Brew {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfParalyticGas.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfParalyticGas.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 14;
|
||||
|
||||
output = ShockingBrew.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -58,10 +58,10 @@ public class ElixirOfDragonsBlood extends Elixir {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfDragonsBreath.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfDragonsBreath.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 14;
|
||||
|
||||
output = ElixirOfDragonsBlood.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -55,10 +55,10 @@ public class ElixirOfIcyTouch extends Elixir {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfSnapFreeze.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfSnapFreeze.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 14;
|
||||
|
||||
output = ElixirOfIcyTouch.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -75,10 +75,10 @@ public class ElixirOfMight extends Elixir {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfStrength.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfStrength.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 14;
|
||||
|
||||
output = ElixirOfMight.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -55,10 +55,10 @@ public class ElixirOfToxicEssence extends Elixir {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfToxicGas.class, AlchemicalCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfToxicGas.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 14;
|
||||
|
||||
output = ElixirOfToxicEssence.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -26,7 +26,9 @@ import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.npcs.Shopkeeper;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.stones.Runestone;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
@@ -37,6 +39,8 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndInfoItem;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.windows.WndTradeItem;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Alchemize extends Spell {
|
||||
|
||||
{
|
||||
@@ -56,19 +60,40 @@ public class Alchemize extends Spell {
|
||||
return (int)(40 * (quantity/8f));
|
||||
}
|
||||
|
||||
//TODO also allow alchemical catalyst? Or save that for an elixir/brew?
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
//TODO this can't be simple anymore =S
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 2;
|
||||
|
||||
output = Alchemize.class;
|
||||
outQuantity = 8;
|
||||
@Override
|
||||
public boolean testIngredients(ArrayList<Item> ingredients) {
|
||||
if (ingredients.size() != 2) return false;
|
||||
|
||||
if (ingredients.get(0) instanceof Plant.Seed && ingredients.get(1) instanceof Runestone){
|
||||
return true;
|
||||
}
|
||||
|
||||
if (ingredients.get(0) instanceof Runestone && ingredients.get(1) instanceof Plant.Seed){
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int cost(ArrayList<Item> ingredients) {
|
||||
return 6;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item brew(ArrayList<Item> ingredients) {
|
||||
ingredients.get(0).quantity(ingredients.get(0).quantity()-1);
|
||||
ingredients.get(1).quantity(ingredients.get(1).quantity()-1);
|
||||
return sampleOutput(null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item sampleOutput(ArrayList<Item> ingredients) {
|
||||
return new Alchemize().quantity(8);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static WndBag.ItemSelector itemSelector = new WndBag.ItemSelector() {
|
||||
|
||||
@@ -56,10 +56,10 @@ public class AquaBlast extends TargetedSpell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfStormClouds.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfStormClouds.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 2;
|
||||
cost = 11;
|
||||
|
||||
output = AquaBlast.class;
|
||||
outQuantity = 8;
|
||||
|
||||
@@ -219,10 +219,10 @@ public class BeaconOfReturning extends Spell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{ScrollOfPassage.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{ScrollOfPassage.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 15;
|
||||
|
||||
output = BeaconOfReturning.class;
|
||||
outQuantity = 5;
|
||||
|
||||
@@ -89,10 +89,10 @@ public class FeatherFall extends Spell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfLevitation.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{PotionOfLevitation.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 8;
|
||||
cost = 17;
|
||||
|
||||
output = FeatherFall.class;
|
||||
outQuantity = 2;
|
||||
|
||||
@@ -80,10 +80,10 @@ public class MagicalInfusion extends InventorySpell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{ScrollOfUpgrade.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{ScrollOfUpgrade.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 4;
|
||||
cost = 13;
|
||||
|
||||
output = MagicalInfusion.class;
|
||||
outQuantity = 1;
|
||||
|
||||
@@ -72,10 +72,10 @@ public class PhaseShift extends TargetedSpell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{ScrollOfTeleportation.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{ScrollOfTeleportation.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 4;
|
||||
cost = 13;
|
||||
|
||||
output = PhaseShift.class;
|
||||
outQuantity = 8;
|
||||
|
||||
@@ -99,10 +99,10 @@ public class Recycle extends InventorySpell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{ScrollOfTransmutation.class, ArcaneCatalyst.class};
|
||||
inputs = new Class[]{ScrollOfTransmutation.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
|
||||
cost = 8;
|
||||
cost = 17;
|
||||
|
||||
output = Recycle.class;
|
||||
outQuantity = 12;
|
||||
|
||||
@@ -226,10 +226,10 @@ public class SummonElemental extends Spell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{Embers.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
inputs = new Class[]{Embers.class};
|
||||
inQuantity = new int[]{1};
|
||||
|
||||
cost = 6;
|
||||
cost = 15;
|
||||
|
||||
output = SummonElemental.class;
|
||||
outQuantity = 5;
|
||||
|
||||
@@ -123,10 +123,10 @@ public class TelekineticGrab extends TargetedSpell {
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{LiquidMetal.class, ArcaneCatalyst.class};
|
||||
inQuantity = new int[]{10, 1};
|
||||
inputs = new Class[]{LiquidMetal.class};
|
||||
inQuantity = new int[]{10};
|
||||
|
||||
cost = 2;
|
||||
cost = 11;
|
||||
|
||||
output = TelekineticGrab.class;
|
||||
outQuantity = 6;
|
||||
|
||||
@@ -386,7 +386,7 @@ public class QuickRecipe extends Component {
|
||||
result.add(new QuickRecipe(new ReclaimTrap.Recipe()));
|
||||
result.add(new QuickRecipe(new FeatherFall.Recipe()));
|
||||
result.add(null);
|
||||
result.add(new QuickRecipe(new Alchemize.Recipe()));
|
||||
result.add(new QuickRecipe(new Alchemize.Recipe(), new ArrayList<>(Arrays.asList(new Plant.Seed.PlaceHolder(), new Runestone.PlaceHolder())), new Alchemize().quantity(8)));
|
||||
result.add(new QuickRecipe(new MagicalInfusion.Recipe()));
|
||||
result.add(new QuickRecipe(new CurseInfusion.Recipe()));
|
||||
result.add(new QuickRecipe(new Recycle.Recipe()));
|
||||
|
||||
Reference in New Issue
Block a user