diff --git a/core/src/main/assets/consumable_icons.png b/core/src/main/assets/consumable_icons.png index 6db333710..901c5c544 100644 Binary files a/core/src/main/assets/consumable_icons.png and b/core/src/main/assets/consumable_icons.png differ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java index 0b7bf3775..e1da6ddeb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/HeroClass.java @@ -26,9 +26,11 @@ import com.shatteredpixel.shatteredpixeldungeon.Badges; import com.shatteredpixel.shatteredpixeldungeon.Challenges; import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.items.BrokenSeal; +import com.shatteredpixel.shatteredpixeldungeon.items.Generator; import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.armor.ClothArmor; import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.CloakOfShadows; +import com.shatteredpixel.shatteredpixeldungeon.items.artifacts.UnstableSpellbook; import com.shatteredpixel.shatteredpixeldungeon.items.bags.PotionBandolier; import com.shatteredpixel.shatteredpixeldungeon.items.bags.ScrollHolder; import com.shatteredpixel.shatteredpixeldungeon.items.bags.VelvetPouch; @@ -36,6 +38,18 @@ import com.shatteredpixel.shatteredpixeldungeon.items.food.Food; import com.shatteredpixel.shatteredpixeldungeon.items.food.SmallRation; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfHealing; import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfMindVision; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfAdrenalineSurge; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCleansing; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfCorrosiveGas; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfDragonsBreath; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfEarthenArmor; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfHolyFuror; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfMagicalSight; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfShielding; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfShroudingFog; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfSnapFreeze; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfStamina; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.PotionOfStormClouds; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfMagicMapping; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfUpgrade; import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfMagicMissile; @@ -100,6 +114,17 @@ public enum HeroClass { if (Dungeon.isChallenged(Challenges.NO_FOOD)){ new SmallRation().collect(); } + + new UnstableSpellbook().identify().collect(); + + /*new Firebomb().collect(); + new Flashbang().collect(); + new FrostBomb().collect(); + new HealingBomb().collect(); + new HolyBomb().collect(); + new Noisemaker().collect(); + new ShockBomb().collect(); + new WoollyBomb().collect();*/ } @@ -130,6 +155,23 @@ public enum HeroClass { new PotionBandolier().collect(); Dungeon.LimitedDrops.POTION_BANDOLIER.drop(); new PotionOfHealing().identify(); + + for (int j = 0; j < 100; j++){ + Generator.random(Generator.Category.POTION).identify().collect(); + } + + new PotionOfAdrenalineSurge().quantity(5).identify().collect(); + new PotionOfCleansing().quantity(5).identify().collect(); + new PotionOfCorrosiveGas().quantity(5).identify().collect(); + new PotionOfDragonsBreath().quantity(5).identify().collect(); + new PotionOfEarthenArmor().quantity(5).identify().collect(); + new PotionOfHolyFuror().quantity(5).identify().collect(); + new PotionOfMagicalSight().quantity(5).identify().collect(); + new PotionOfShielding().quantity(5).identify().collect(); + new PotionOfShroudingFog().quantity(5).identify().collect(); + new PotionOfSnapFreeze().quantity(5).identify().collect(); + new PotionOfStamina().quantity(5).identify().collect(); + new PotionOfStormClouds().quantity(5).identify().collect(); } private static void initMage( Hero hero ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfAdrenalineSurge.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfAdrenalineSurge.java index 646e3ba8a..654ecc988 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfAdrenalineSurge.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfAdrenalineSurge.java @@ -27,6 +27,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfAdrenalineSurge extends ExoticPotion { + { + initials = 10; + } + @Override public void apply(Hero hero) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCleansing.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCleansing.java index 4c2ca941a..3328f4771 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCleansing.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCleansing.java @@ -33,6 +33,10 @@ import com.watabou.noosa.audio.Sample; public class PotionOfCleansing extends ExoticPotion { + { + initials = 9; + } + @Override public void apply( Hero hero ) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCorrosiveGas.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCorrosiveGas.java index f19082c88..6c59d8c4b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCorrosiveGas.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfCorrosiveGas.java @@ -30,6 +30,10 @@ import com.watabou.noosa.audio.Sample; public class PotionOfCorrosiveGas extends ExoticPotion { + { + initials = 11; + } + @Override public void shatter( int cell ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfDragonsBreath.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfDragonsBreath.java index f03c336e5..591ccadc9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfDragonsBreath.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfDragonsBreath.java @@ -43,6 +43,10 @@ import java.util.HashSet; public class PotionOfDragonsBreath extends ExoticPotion { + { + initials = 6; + } + //a lot of this is copy-paste from wand of fireblast //the actual affected cells diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfEarthenArmor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfEarthenArmor.java index 448f45566..25c4b7bc6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfEarthenArmor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfEarthenArmor.java @@ -27,6 +27,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfEarthenArmor extends ExoticPotion { + { + initials = 8; + } + @Override public void apply( Hero hero ) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfHolyFuror.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfHolyFuror.java index fee5c6082..efb1e77d4 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfHolyFuror.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfHolyFuror.java @@ -27,6 +27,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfHolyFuror extends ExoticPotion { + { + initials = 0; + } + @Override public void apply( Hero hero ) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfMagicalSight.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfMagicalSight.java index 4c7785878..67536e133 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfMagicalSight.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfMagicalSight.java @@ -28,6 +28,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfMagicalSight extends ExoticPotion { + { + initials = 7; + } + @Override public void apply(Hero hero) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShielding.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShielding.java index 57888e066..ca500502d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShielding.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShielding.java @@ -27,6 +27,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfShielding extends ExoticPotion { + { + initials = 3; + } + @Override public void apply(Hero hero) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShroudingFog.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShroudingFog.java index b95227dd5..f56164462 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShroudingFog.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfShroudingFog.java @@ -30,6 +30,10 @@ import com.watabou.noosa.audio.Sample; public class PotionOfShroudingFog extends ExoticPotion { + { + initials = 4; + } + @Override public void shatter( int cell ) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfSnapFreeze.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfSnapFreeze.java index c4a3199f9..cc942ced7 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfSnapFreeze.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfSnapFreeze.java @@ -34,6 +34,10 @@ import com.watabou.utils.PathFinder; public class PotionOfSnapFreeze extends ExoticPotion { + { + initials = 1; + } + @Override public void shatter(int cell) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStamina.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStamina.java index eb4ebdfec..6163a3d3a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStamina.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStamina.java @@ -27,6 +27,10 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero; public class PotionOfStamina extends ExoticPotion { + { + initials = 2; + } + @Override public void apply(Hero hero) { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStormClouds.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStormClouds.java index 1a894b5fc..217bc070a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStormClouds.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/exotic/PotionOfStormClouds.java @@ -30,6 +30,10 @@ import com.watabou.noosa.audio.Sample; public class PotionOfStormClouds extends ExoticPotion { + { + initials = 5; + } + @Override public void shatter(int cell) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAffection.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAffection.java index c8d169162..82b858fcd 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAffection.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAffection.java @@ -32,6 +32,10 @@ import com.watabou.noosa.audio.Sample; public class ScrollOfAffection extends ExoticScroll { + { + initials = 1; + } + @Override public void doRead() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAntiMagic.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAntiMagic.java index b6b5f6c0a..cb54c00d6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAntiMagic.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfAntiMagic.java @@ -26,6 +26,11 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MagicImmune; public class ScrollOfAntiMagic extends ExoticScroll { + + { + initials = 7; + } + @Override public void doRead() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfConfusion.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfConfusion.java index e31c648db..8970b0adc 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfConfusion.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfConfusion.java @@ -33,6 +33,9 @@ import com.watabou.noosa.audio.Sample; public class ScrollOfConfusion extends ExoticScroll { + { + initials = 5; + } @Override public void doRead() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfDistortion.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfDistortion.java index ee1943104..501189bd3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfDistortion.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfDistortion.java @@ -31,6 +31,10 @@ import com.watabou.noosa.Game; public class ScrollOfDistortion extends ExoticScroll { + { + initials = 10; + } + @Override public void doRead() { //FIXME this doesn't handle various edge-cases. especially as it can trigger in boss rooms! diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfEnchantment.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfEnchantment.java index e1bea5dea..b75e96c51 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfEnchantment.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfEnchantment.java @@ -30,6 +30,11 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag; import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions; public class ScrollOfEnchantment extends ExoticScroll { + + { + initials = 11; + } + @Override public void doRead() { setKnown(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfForesight.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfForesight.java index f64855414..215e342ab 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfForesight.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfForesight.java @@ -35,6 +35,11 @@ import com.watabou.utils.Random; import java.util.HashSet; public class ScrollOfForesight extends ExoticScroll { + + { + initials = 0; + } + @Override public void doRead() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfPetrification.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfPetrification.java index 102806d85..22e285a38 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfPetrification.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/exotic/ScrollOfPetrification.java @@ -31,6 +31,11 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Flare; import com.watabou.noosa.audio.Sample; public class ScrollOfPetrification extends ExoticScroll { + + { + initials = 9; + } + @Override public void doRead() { new Flare( 5, 32 ).color( 0xFF0000, true ).show( curUser.sprite, 2f ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java index 41634ac16..9e69ce07e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/ui/ItemSlot.java @@ -28,7 +28,9 @@ import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor; import com.shatteredpixel.shatteredpixeldungeon.items.keys.Key; import com.shatteredpixel.shatteredpixeldungeon.items.keys.SkeletonKey; import com.shatteredpixel.shatteredpixeldungeon.items.potions.Potion; +import com.shatteredpixel.shatteredpixeldungeon.items.potions.exotic.ExoticPotion; import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.Scroll; +import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.exotic.ExoticScroll; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.Weapon; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.melee.MeleeWeapon; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; @@ -248,7 +250,20 @@ public class ItemSlot extends Button { if (iconInt != null && iconVisible) { bottomRightIcon = new Image(Assets.CONS_ICONS); int left = iconInt*7; - int top = item instanceof Potion ? 0 : 8; + int top; + if (item instanceof Potion){ + if (item instanceof ExoticPotion){ + top = 8; + } else { + top = 0; + } + } else { + if (item instanceof ExoticScroll){ + top = 24; + } else { + top = 16; + } + } bottomRightIcon.frame(left, top, 7, 8); add(bottomRightIcon); }