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