From 0184c86aadef43ef211d8886ad82f314dc35f2bf Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 17 Aug 2018 20:32:05 -0400 Subject: [PATCH] v0.7.0: added 3 initial elixirs --- core/src/main/assets/items.png | Bin 16745 -> 16857 bytes .../actors/buffs/EarthImbue.java | 1 + .../actors/buffs/FireImbue.java | 1 + .../actors/buffs/ToxicImbue.java | 1 + .../shatteredpixeldungeon/items/Recipe.java | 8 ++- .../items/potions/Potion.java | 6 +- .../items/potions/elixirs/Elixir.java | 35 ++++++++++ .../potions/elixirs/ElixirOfDragonsBlood.java | 66 ++++++++++++++++++ .../potions/elixirs/ElixirOfEarthenPower.java | 63 +++++++++++++++++ .../potions/elixirs/ElixirOfToxicEssence.java | 64 +++++++++++++++++ .../sprites/ItemSpriteSheet.java | 19 +++-- .../messages/items/items.properties | 13 ++++ 12 files changed, 270 insertions(+), 7 deletions(-) create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/Elixir.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfDragonsBlood.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfEarthenPower.java create mode 100644 core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfToxicEssence.java diff --git a/core/src/main/assets/items.png b/core/src/main/assets/items.png index 35ac6d847703f35acdfb133978886f62763da40b..71d4d1f91cf06ef897700748e648f1c26c79d1f4 100644 GIT binary patch literal 16857 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 literal 16745 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 + */ + +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; + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfDragonsBlood.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfDragonsBlood.java new file mode 100644 index 000000000..8e6aaa15d --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfDragonsBlood.java @@ -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 + */ + +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; + } + + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfEarthenPower.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfEarthenPower.java new file mode 100644 index 000000000..346319c78 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfEarthenPower.java @@ -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 + */ + +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; + } + + } +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfToxicEssence.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfToxicEssence.java new file mode 100644 index 000000000..ca7e3e602 --- /dev/null +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfToxicEssence.java @@ -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 + */ + +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; + } + + } + +} diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java index 0a8793145..1554a8068 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/sprites/ItemSpriteSheet.java @@ -514,8 +514,18 @@ public class ItemSpriteSheet { for (int i = SEEDS; i < SEEDS+16; i++) assignItemRect(i, 10, 10); } + + 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, 25); //16 slots + 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){ diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index 4065e4dcc..fe2d289c6 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -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