v0.7.0: basic implementation on 6 more brews/elixirs
This commit is contained in:
parent
a98f85f8b6
commit
c2b6518faf
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
@ -27,11 +27,17 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.Blandfruit;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.Feast;
|
import com.shatteredpixel.shatteredpixeldungeon.items.food.Feast;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.StewedMeat;
|
import com.shatteredpixel.shatteredpixeldungeon.items.food.StewedMeat;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.BlizzardBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.FrigidBrew;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.FrigidBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.FrostfireBrew;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.FrostfireBrew;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.InfernalBrew;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.ShockingBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.WickedBrew;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.brews.WickedBrew;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfDragonsBlood;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfDragonsBlood;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfEarthenPower;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfEarthenPower;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfHoneyedHealing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfRestoration;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfSurgingVitality;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfToxicEssence;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfToxicEssence;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
||||||
|
@ -145,9 +151,15 @@ public abstract class Recipe {
|
||||||
new ElixirOfDragonsBlood.Recipe(),
|
new ElixirOfDragonsBlood.Recipe(),
|
||||||
new ElixirOfEarthenPower.Recipe(),
|
new ElixirOfEarthenPower.Recipe(),
|
||||||
new ElixirOfToxicEssence.Recipe(),
|
new ElixirOfToxicEssence.Recipe(),
|
||||||
|
new ElixirOfHoneyedHealing.Recipe(),
|
||||||
|
new ElixirOfRestoration.Recipe(),
|
||||||
|
new ElixirOfSurgingVitality.Recipe(),
|
||||||
new FrigidBrew.Recipe(),
|
new FrigidBrew.Recipe(),
|
||||||
new FrostfireBrew.Recipe(),
|
new FrostfireBrew.Recipe(),
|
||||||
new WickedBrew.Recipe(),
|
new WickedBrew.Recipe(),
|
||||||
|
new BlizzardBrew.Recipe(),
|
||||||
|
new InfernalBrew.Recipe(),
|
||||||
|
new ShockingBrew.Recipe(),
|
||||||
new StewedMeat.twoMeat()
|
new StewedMeat.twoMeat()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -40,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.ItemStatusHandler;
|
import com.shatteredpixel.shatteredpixeldungeon.items.ItemStatusHandler;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
|
import com.shatteredpixel.shatteredpixeldungeon.items.Recipe;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
import com.shatteredpixel.shatteredpixeldungeon.items.bags.Bag;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfHoneyedHealing;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCleansing;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCleansing;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCorrosiveGas;
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCorrosiveGas;
|
||||||
|
@ -140,7 +141,12 @@ public class Potion extends Item {
|
||||||
static{
|
static{
|
||||||
canThrowPots.add(PotionOfPurity.class);
|
canThrowPots.add(PotionOfPurity.class);
|
||||||
canThrowPots.add(PotionOfLevitation.class);
|
canThrowPots.add(PotionOfLevitation.class);
|
||||||
|
|
||||||
|
//exotic
|
||||||
canThrowPots.add(PotionOfCleansing.class);
|
canThrowPots.add(PotionOfCleansing.class);
|
||||||
|
|
||||||
|
//elixirs
|
||||||
|
canThrowPots.add(ElixirOfHoneyedHealing.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static ItemStatusHandler<Potion> handler;
|
protected static ItemStatusHandler<Potion> handler;
|
||||||
|
|
|
@ -46,7 +46,7 @@ public class PotionOfHealing extends Potion {
|
||||||
//starts out healing 30 hp, equalizes with hero health total at level 11
|
//starts out healing 30 hp, equalizes with hero health total at level 11
|
||||||
Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0);
|
Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0);
|
||||||
cure( hero );
|
cure( hero );
|
||||||
GLog.p( Messages.get(this, "heal") );
|
GLog.p( Messages.get(this, "heal") ); //TODO make the healing buff more visible
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void cure( Char ch ) {
|
public static void cure( Char ch ) {
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.brews;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfFrost;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfSnapFreeze;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
|
||||||
|
public class BlizzardBrew extends Brew {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.BREW_BLIZZARD;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void shatter(int cell) {
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfSnapFreeze.class, PotionOfFrost.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 1;
|
||||||
|
|
||||||
|
output = BlizzardBrew.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.brews;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfDragonsBreath;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
|
||||||
|
public class InfernalBrew extends Brew {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.BREW_INFERNAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void shatter(int cell) {
|
||||||
|
//TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfDragonsBreath.class, PotionOfLiquidFlame.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 1;
|
||||||
|
|
||||||
|
output = InfernalBrew.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.brews;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Blob;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.blobs.Electricity;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfParalyticGas;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfStormClouds;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
|
||||||
|
import com.watabou.noosa.audio.Sample;
|
||||||
|
import com.watabou.utils.PathFinder;
|
||||||
|
|
||||||
|
public class ShockingBrew extends Brew {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.BREW_SHOCKING;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void shatter(int cell) {
|
||||||
|
if (Dungeon.level.heroFOV[cell]) {
|
||||||
|
splash( cell );
|
||||||
|
Sample.INSTANCE.play( Assets.SND_SHATTER );
|
||||||
|
}
|
||||||
|
PathFinder.buildDistanceMap( cell, BArray.not( Dungeon.level.solid, null ), 2 );
|
||||||
|
for (int i = 0; i < PathFinder.distance.length; i++) {
|
||||||
|
if (PathFinder.distance[i] < Integer.MAX_VALUE) {
|
||||||
|
GameScene.add(Blob.seed(i, 10, Electricity.class));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Sample.INSTANCE.play(Assets.SND_LIGHTNING);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfParalyticGas.class, PotionOfStormClouds.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 1;
|
||||||
|
|
||||||
|
output = ShockingBrew.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,81 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Healing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.Honeypot;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
import com.watabou.noosa.audio.Sample;
|
||||||
|
|
||||||
|
public class ElixirOfHoneyedHealing extends Elixir {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.ELIXIR_HONEY;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply(Hero hero) {
|
||||||
|
Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0);
|
||||||
|
hero.buff(Hunger.class).satisfy(Hunger.STARVING/5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void shatter(int cell) {
|
||||||
|
if (Dungeon.level.heroFOV[cell]) {
|
||||||
|
Sample.INSTANCE.play( Assets.SND_SHATTER );
|
||||||
|
splash( cell );
|
||||||
|
}
|
||||||
|
|
||||||
|
Char ch = Actor.findChar(cell);
|
||||||
|
if (ch != null){
|
||||||
|
Buff.affect( ch, Healing.class ).setHeal((int)(0.8f*ch.HT + 14), 0.25f, 0);
|
||||||
|
if (ch.alignment != curUser.alignment){
|
||||||
|
//TODO this is effectively a free kill against enemies, do we want that?
|
||||||
|
Buff.affect(ch, Charm.class, 999f).object = curUser.id();
|
||||||
|
//TODO specific bee interactions?
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfHealing.class, Honeypot.ShatteredPot.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 2;
|
||||||
|
|
||||||
|
output = ElixirOfHoneyedHealing.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Healing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCleansing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
|
||||||
|
public class ElixirOfRestoration extends Elixir {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.ELIXIR_RESTO;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply(Hero hero) {
|
||||||
|
Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0);
|
||||||
|
PotionOfCleansing.cleanse(hero);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfHealing.class, PotionOfCleansing.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 2;
|
||||||
|
|
||||||
|
output = ElixirOfRestoration.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
/*
|
||||||
|
* Pixel Dungeon
|
||||||
|
* Copyright (C) 2012-2015 Oleg Dolya
|
||||||
|
*
|
||||||
|
* Shattered Pixel Dungeon
|
||||||
|
* Copyright (C) 2014-2018 Evan Debenham
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs;
|
||||||
|
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Barrier;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Healing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfShielding;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||||
|
|
||||||
|
public class ElixirOfSurgingVitality extends Elixir {
|
||||||
|
|
||||||
|
{
|
||||||
|
image = ItemSpriteSheet.ELIXIR_SURGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void apply(Hero hero) {
|
||||||
|
Buff.affect( hero, Healing.class ).setHeal((int)(0.8f*hero.HT + 14), 0.25f, 0);
|
||||||
|
Buff.affect(hero, Barrier.class).set((int)(0.6f*hero.HT + 10));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||||
|
|
||||||
|
{
|
||||||
|
inputs = new Class[]{PotionOfHealing.class, PotionOfShielding.class};
|
||||||
|
inQuantity = new int[]{1, 1};
|
||||||
|
|
||||||
|
cost = 2;
|
||||||
|
|
||||||
|
output = ElixirOfSurgingVitality.class;
|
||||||
|
outQuantity = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -519,20 +519,36 @@ public class ItemSpriteSheet {
|
||||||
public static final int ELIXIR_DRAGON = ELIXIRS+0;
|
public static final int ELIXIR_DRAGON = ELIXIRS+0;
|
||||||
public static final int ELIXIR_TOXIC = ELIXIRS+1;
|
public static final int ELIXIR_TOXIC = ELIXIRS+1;
|
||||||
public static final int ELIXIR_EARTH = ELIXIRS+2;
|
public static final int ELIXIR_EARTH = ELIXIRS+2;
|
||||||
|
|
||||||
|
public static final int ELIXIR_RESTO = ELIXIRS+5;
|
||||||
|
public static final int ELIXIR_SURGE = ELIXIRS+6;
|
||||||
|
public static final int ELIXIR_HONEY = ELIXIRS+7;
|
||||||
static{
|
static{
|
||||||
assignItemRect(ELIXIR_DRAGON, 10, 14);
|
assignItemRect(ELIXIR_DRAGON, 10, 14);
|
||||||
assignItemRect(ELIXIR_TOXIC, 10, 14);
|
assignItemRect(ELIXIR_TOXIC, 10, 14);
|
||||||
assignItemRect(ELIXIR_EARTH, 10, 14);
|
assignItemRect(ELIXIR_EARTH, 10, 14);
|
||||||
|
|
||||||
|
assignItemRect(ELIXIR_RESTO, 10, 14);
|
||||||
|
assignItemRect(ELIXIR_SURGE, 10, 14);
|
||||||
|
assignItemRect(ELIXIR_HONEY, 10, 14);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final int BREWS = xy(1, 26); //16 slots
|
private static final int BREWS = xy(1, 26); //16 slots
|
||||||
public static final int BREW_WICKED = BREWS+0;
|
public static final int BREW_WICKED = BREWS+0;
|
||||||
public static final int BREW_FRIGID = BREWS+1;
|
public static final int BREW_FRIGID = BREWS+1;
|
||||||
public static final int BREW_FROSTFIRE= BREWS+2;
|
public static final int BREW_FROSTFIRE= BREWS+2;
|
||||||
|
|
||||||
|
public static final int BREW_INFERNAL = BREWS+5;
|
||||||
|
public static final int BREW_BLIZZARD = BREWS+6;
|
||||||
|
public static final int BREW_SHOCKING = BREWS+7;
|
||||||
static{
|
static{
|
||||||
assignItemRect(BREW_WICKED, 10, 14);
|
assignItemRect(BREW_WICKED, 10, 14);
|
||||||
assignItemRect(BREW_FRIGID, 10, 14);
|
assignItemRect(BREW_FRIGID, 10, 14);
|
||||||
assignItemRect(BREW_FROSTFIRE, 10, 14);
|
assignItemRect(BREW_FROSTFIRE, 10, 14);
|
||||||
|
|
||||||
|
assignItemRect(BREW_INFERNAL, 10, 14);
|
||||||
|
assignItemRect(BREW_BLIZZARD, 10, 14);
|
||||||
|
assignItemRect(BREW_SHOCKING, 10, 14);
|
||||||
}
|
}
|
||||||
//16 free slots
|
//16 free slots
|
||||||
|
|
||||||
|
|
|
@ -553,12 +553,21 @@ items.potions.potionoftoxicgas.desc=Uncorking or shattering this pressurized gla
|
||||||
|
|
||||||
|
|
||||||
###brews
|
###brews
|
||||||
|
items.potions.brews.blizzardbrew.name=blizzard brew
|
||||||
|
items.potions.brews.blizzardbrew.desc=TODO
|
||||||
|
|
||||||
items.potions.brews.frigidbrew.name=frigid brew
|
items.potions.brews.frigidbrew.name=frigid brew
|
||||||
items.potions.brews.frigidbrew.desc=TODO
|
items.potions.brews.frigidbrew.desc=TODO
|
||||||
|
|
||||||
items.potions.brews.frostfirebrew.name=frostfire brew
|
items.potions.brews.frostfirebrew.name=frostfire brew
|
||||||
items.potions.brews.frostfirebrew.desc=TODO
|
items.potions.brews.frostfirebrew.desc=TODO
|
||||||
|
|
||||||
|
items.potions.brews.infernalbrew.name=infernal brew
|
||||||
|
items.potions.brews.infernalbrew.desc=TODO
|
||||||
|
|
||||||
|
items.potions.brews.shockingbrew.name=shocking brew
|
||||||
|
items.potions.brews.shockingbrew.desc=TODO
|
||||||
|
|
||||||
items.potions.brews.wickedbrew.name=wicked brew
|
items.potions.brews.wickedbrew.name=wicked brew
|
||||||
items.potions.brews.wickedbrew.desc=TODO
|
items.potions.brews.wickedbrew.desc=TODO
|
||||||
|
|
||||||
|
@ -568,12 +577,20 @@ items.potions.brews.wickedbrew.desc=TODO
|
||||||
items.potions.elixirs.elixirofdragonsblood.name=elixir of dragon's blood
|
items.potions.elixirs.elixirofdragonsblood.name=elixir of dragon's blood
|
||||||
items.potions.elixirs.elixirofdragonsblood.desc=TODO
|
items.potions.elixirs.elixirofdragonsblood.desc=TODO
|
||||||
|
|
||||||
items.potions.elixirs.elixiroftoxicessence.name=elixir of toxic essence
|
|
||||||
items.potions.elixirs.elixiroftoxicessence.desc=TODO
|
|
||||||
|
|
||||||
items.potions.elixirs.elixirofearthenpower.name=elixir of earthen power
|
items.potions.elixirs.elixirofearthenpower.name=elixir of earthen power
|
||||||
items.potions.elixirs.elixirofearthenpower.desc=TODO
|
items.potions.elixirs.elixirofearthenpower.desc=TODO
|
||||||
|
|
||||||
|
items.potions.elixirs.elixirofhoneyedhealing.name=elixir of honeyed healing
|
||||||
|
items.potions.elixirs.elixirofhoneyedhealing.desc=TODO
|
||||||
|
|
||||||
|
items.potions.elixirs.elixirofrestoration.name=elixir of restoration
|
||||||
|
items.potions.elixirs.elixirofrestoration.desc=TODO
|
||||||
|
|
||||||
|
items.potions.elixirs.elixirofsurgingvitality.name=elixir of surging vitality
|
||||||
|
items.potions.elixirs.elixirofsurgingvitality.desc=TODO
|
||||||
|
|
||||||
|
items.potions.elixirs.elixiroftoxicessence.name=elixir of toxic essence
|
||||||
|
items.potions.elixirs.elixiroftoxicessence.desc=TODO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user