v0.7.0: added 3 initial elixirs
This commit is contained in:
parent
4688324c6e
commit
0184c86aad
Binary file not shown.
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
@ -32,6 +32,7 @@ public class EarthImbue extends FlavourBuff {
|
|||
|
||||
{
|
||||
type = buffType.POSITIVE;
|
||||
announced = true;
|
||||
}
|
||||
|
||||
public static final float DURATION = 30f;
|
||||
|
|
|
@ -36,6 +36,7 @@ public class FireImbue extends Buff {
|
|||
|
||||
{
|
||||
type = buffType.POSITIVE;
|
||||
announced = true;
|
||||
}
|
||||
|
||||
public static final float DURATION = 30f;
|
||||
|
|
|
@ -33,6 +33,7 @@ public class ToxicImbue extends Buff {
|
|||
|
||||
{
|
||||
type = buffType.POSITIVE;
|
||||
announced = true;
|
||||
}
|
||||
|
||||
public static final float DURATION = 30f;
|
||||
|
|
|
@ -25,6 +25,9 @@ import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.items.bombs.Bomb;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.food.Blandfruit;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfDragonsBlood;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfEarthenPower;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.elixirs.ElixirOfToxicEssence;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll;
|
||||
|
@ -121,7 +124,10 @@ public abstract class Recipe {
|
|||
|
||||
private static Recipe[] twoIngredientRecipes = new Recipe[]{
|
||||
new Blandfruit.CookFruit(),
|
||||
new TippedDart.TipDart()
|
||||
new TippedDart.TipDart(),
|
||||
new ElixirOfDragonsBlood.Recipe(),
|
||||
new ElixirOfEarthenPower.Recipe(),
|
||||
new ElixirOfToxicEssence.Recipe()
|
||||
};
|
||||
|
||||
private static Recipe[] threeIngredientRecipes = new Recipe[]{
|
||||
|
|
|
@ -380,13 +380,17 @@ public class Potion extends Item {
|
|||
return handler.known().size() == potions.length;
|
||||
}
|
||||
|
||||
protected int splashColor(){
|
||||
return ItemSprite.pick( image, 8, 10 );
|
||||
}
|
||||
|
||||
protected void splash( int cell ) {
|
||||
|
||||
Fire fire = (Fire)Dungeon.level.blobs.get( Fire.class );
|
||||
if (fire != null)
|
||||
fire.clear( cell );
|
||||
|
||||
final int color = ItemSprite.pick( image, 8, 10 );
|
||||
final int color = splashColor();
|
||||
|
||||
Char ch = Actor.findChar(cell);
|
||||
if (ch != null) {
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* 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.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion;
|
||||
|
||||
public abstract class Elixir extends Potion {
|
||||
|
||||
public abstract void apply( Hero hero );
|
||||
|
||||
@Override
|
||||
public boolean isKnown() {
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* 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.actors.buffs.Buff;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FireImbue;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.FlameParticle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
|
||||
public class ElixirOfDragonsBlood extends Elixir {
|
||||
|
||||
{
|
||||
//TODO finish visuals
|
||||
image = ItemSpriteSheet.ELIXIR_DRAGON;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Hero hero) {
|
||||
Buff.affect(hero, FireImbue.class).set(FireImbue.DURATION);
|
||||
Sample.INSTANCE.play( Assets.SND_BURNING );
|
||||
hero.sprite.emitter().burst(FlameParticle.FACTORY, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int splashColor() {
|
||||
return 0xFFFF002A;
|
||||
}
|
||||
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfLiquidFlame.class, PotionOfPurity.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
|
||||
cost = 2;
|
||||
|
||||
output = ElixirOfDragonsBlood.class;
|
||||
outQuantity = 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
/*
|
||||
* 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.EarthImbue;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.EarthParticle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHaste;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfParalyticGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
|
||||
public class ElixirOfEarthenPower extends Elixir {
|
||||
|
||||
{
|
||||
//TODO finish visuals
|
||||
image = ItemSpriteSheet.ELIXIR_EARTH;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Hero hero) {
|
||||
Buff.affect(hero, EarthImbue.class, EarthImbue.DURATION);
|
||||
hero.sprite.emitter().burst(EarthParticle.FACTORY, 5);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int splashColor() {
|
||||
return 0xFF603913;
|
||||
}
|
||||
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfParalyticGas.class, PotionOfHaste.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
|
||||
cost = 2;
|
||||
|
||||
output = ElixirOfEarthenPower.class;
|
||||
outQuantity = 1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,64 @@
|
|||
/*
|
||||
* 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.ToxicImbue;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.effects.particles.PoisonParticle;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfPurity;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfToxicGas;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
|
||||
|
||||
public class ElixirOfToxicEssence extends Elixir {
|
||||
|
||||
{
|
||||
//TODO finish visuals
|
||||
image = ItemSpriteSheet.ELIXIR_TOXIC;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void apply(Hero hero) {
|
||||
Buff.affect(hero, ToxicImbue.class).set(ToxicImbue.DURATION);
|
||||
hero.sprite.emitter().burst(PoisonParticle.SPLASH, 10);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected int splashColor() {
|
||||
return 0xFF00B34A;
|
||||
}
|
||||
|
||||
public static class Recipe extends com.shatteredpixel.shatteredpixeldungeon.items.Recipe.SimpleRecipe {
|
||||
|
||||
{
|
||||
inputs = new Class[]{PotionOfToxicGas.class, PotionOfPurity.class};
|
||||
inQuantity = new int[]{1, 1};
|
||||
|
||||
cost = 2;
|
||||
|
||||
output = ElixirOfToxicEssence.class;
|
||||
outQuantity = 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -515,7 +515,17 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(i, 10, 10);
|
||||
}
|
||||
|
||||
private static final int FOOD = xy(1, 25); //16 slots
|
||||
private static final int ELIXIRS = xy(1, 25); //16 slots
|
||||
public static final int ELIXIR_DRAGON = ELIXIRS+0;
|
||||
public static final int ELIXIR_TOXIC = ELIXIRS+1;
|
||||
public static final int ELIXIR_EARTH = ELIXIRS+2;
|
||||
static{
|
||||
assignItemRect(ELIXIR_DRAGON, 10, 14);
|
||||
assignItemRect(ELIXIR_TOXIC, 10, 14);
|
||||
assignItemRect(ELIXIR_EARTH, 10, 14);
|
||||
}
|
||||
|
||||
private static final int FOOD = xy(1, 28); //16 slots
|
||||
public static final int MEAT = FOOD+0;
|
||||
public static final int STEAK = FOOD+1;
|
||||
public static final int OVERPRICED = FOOD+2;
|
||||
|
@ -539,7 +549,7 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(BLAND_CHUNKS,14, 6);
|
||||
}
|
||||
|
||||
private static final int QUEST = xy(1, 26); //32 slots
|
||||
private static final int QUEST = xy(1, 29); //32 slots
|
||||
public static final int SKULL = QUEST+0;
|
||||
public static final int DUST = QUEST+1;
|
||||
public static final int CANDLE = QUEST+2;
|
||||
|
@ -555,10 +565,9 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(PICKAXE, 14, 14);
|
||||
assignItemRect(ORE, 15, 15);
|
||||
assignItemRect(TOKEN, 12, 12);
|
||||
|
||||
}
|
||||
|
||||
private static final int BAGS = xy(1, 28); //16 slots
|
||||
private static final int BAGS = xy(1, 31); //16 slots
|
||||
public static final int VIAL = BAGS+0;
|
||||
public static final int POUCH = BAGS+1;
|
||||
public static final int HOLDER = BAGS+2;
|
||||
|
@ -572,7 +581,7 @@ public class ItemSpriteSheet {
|
|||
assignItemRect(HOLSTER, 15, 16);
|
||||
}
|
||||
|
||||
//64 free slots
|
||||
//16 free slots
|
||||
|
||||
|
||||
private static void assignItemRect( int item, int width, int height){
|
||||
|
|
|
@ -546,6 +546,19 @@ items.potions.potionoftoxicgas.desc=Uncorking or shattering this pressurized gla
|
|||
|
||||
|
||||
|
||||
###elixirs
|
||||
items.potions.elixirs.elixirofdragonsblood.name=elixir of dragon's blood
|
||||
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.desc=TODO
|
||||
|
||||
|
||||
|
||||
|
||||
###exotic potions
|
||||
items.potions.exotic.exoticpotion.turquoise=exotic turquoise potion
|
||||
items.potions.exotic.exoticpotion.crimson=exotic crimson potion
|
||||
|
|
Loading…
Reference in New Issue
Block a user