From 7e1101635b9c0599d4b19ba2b51a8a88bb0e0e53 Mon Sep 17 00:00:00 2001
From: Evan Debenham <Evan@ShatteredPixel.com>
Date: Tue, 15 Sep 2020 18:21:32 -0400
Subject: [PATCH] v0.9.0: implemented two more talents for the warrior

---
 .../main/assets/messages/actors/actors.properties  |  8 ++++----
 .../shatteredpixeldungeon/actors/hero/Talent.java  |  6 +++---
 .../shatteredpixeldungeon/items/BrokenSeal.java    |  3 ++-
 .../items/potions/Potion.java                      | 14 ++++++++++++--
 .../items/potions/PotionOfExperience.java          |  2 +-
 .../items/potions/PotionOfFrost.java               |  2 +-
 .../items/potions/PotionOfHaste.java               |  2 +-
 .../items/potions/PotionOfHealing.java             |  2 +-
 .../items/potions/PotionOfInvisibility.java        |  2 +-
 .../items/potions/PotionOfLevitation.java          |  4 ++--
 .../items/potions/PotionOfLiquidFlame.java         |  2 +-
 .../items/potions/PotionOfMindVision.java          |  2 +-
 .../items/potions/PotionOfParalyticGas.java        |  2 +-
 .../items/potions/PotionOfPurity.java              |  6 +++---
 .../items/potions/PotionOfStrength.java            |  2 +-
 .../items/potions/PotionOfToxicGas.java            |  2 +-
 .../items/potions/brews/InfernalBrew.java          |  2 --
 .../items/potions/elixirs/ElixirOfMight.java       |  2 +-
 .../potions/exotic/PotionOfAdrenalineSurge.java    |  2 +-
 .../items/potions/exotic/PotionOfCleansing.java    |  4 ++--
 .../items/potions/exotic/PotionOfCorrosiveGas.java |  2 +-
 .../potions/exotic/PotionOfDragonsBreath.java      |  4 ++--
 .../items/potions/exotic/PotionOfEarthenArmor.java |  2 +-
 .../items/potions/exotic/PotionOfHolyFuror.java    |  2 +-
 .../items/potions/exotic/PotionOfMagicalSight.java |  2 +-
 .../items/potions/exotic/PotionOfShielding.java    |  2 +-
 .../items/potions/exotic/PotionOfShroudingFog.java |  2 +-
 .../items/potions/exotic/PotionOfSnapFreeze.java   |  2 +-
 .../items/potions/exotic/PotionOfStamina.java      |  2 +-
 .../items/potions/exotic/PotionOfStormClouds.java  |  2 +-
 30 files changed, 51 insertions(+), 42 deletions(-)

diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties
index 5d329eda1..dfc6cd6e7 100644
--- a/core/src/main/assets/messages/actors/actors.properties
+++ b/core/src/main/assets/messages/actors/actors.properties
@@ -300,10 +300,10 @@ actors.hero.talent.hearty_meal.title=hearty meal
 actors.hero.talent.hearty_meal.desc=_+1:_ Eating at below 50% health heals the Warrior for _4 HP_.\n\n_+2:_ Eating at below 50% health heals the Warrior for _6 HP_.
 actors.hero.talent.armsmasters_intuition.title=armsmaster's intuition
 actors.hero.talent.armsmasters_intuition.desc=_+1:_ The Warrior identifies weapons and armor _2x faster_.\n\n_+2:_ The Warrior identifies weapons and armor _when he equips them_.
-actors.hero.talent.test_warrior_3.title=test talent
-actors.hero.talent.test_warrior_3.desc=_+1:_ Whenever he identifies a potion, the warrior heals for _3 HP_.\n\n_+2:_ Whenever he identifies a potion, the warrior heals for _5 HP_.
-actors.hero.talent.test_warrior_4.title=iron will
-actors.hero.talent.test_warrior_4.desc=_+1:_ The max shield provided by the warrior's seal is _increased by 1_.\n\n_+2:_ The max shield provided by the warrior's seal is _increased by 2_.
+actors.hero.talent.test_subject.title=test subject
+actors.hero.talent.test_subject.desc=_+1:_ Whenever he identifies a potion by using it, the warrior heals for _3 HP_.\n\n_+2:_ Whenever he identifies a potion by using it, the warrior heals for _5 HP_.
+actors.hero.talent.iron_will.title=iron will
+actors.hero.talent.iron_will.desc=_+1:_ The max shield provided by the warrior's seal is _increased by 1_.\n\n_+2:_ The max shield provided by the warrior's seal is _increased by 2_.
 actors.hero.talent.energizing_meal.title=energizing meal
 actors.hero.talent.energizing_meal.desc=_+1:_ Eating at below 50% health grants the Mage _4 turns of wand recharging_.\n\n_+2:_ Eating at below 50% health grants the Mage _6 turns of wand recharging_.
 actors.hero.talent.scholars_intuition.title=scholar's intuition
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java
index 0f1aaf90e..9ee82dd8f 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java
@@ -45,8 +45,8 @@ public enum Talent {
 
 	HEARTY_MEAL(0),
 	ARMSMASTERS_INTUITION(1),
-	TEST_WARRIOR_3(2),
-	TEST_WARRIOR_4(3),
+	TEST_SUBJECT(2),
+	IRON_WILL(3),
 
 	ENERGIZING_MEAL(16),
 	SCHOLARS_INTUITION(17),
@@ -179,7 +179,7 @@ public enum Talent {
 		//tier 1
 		switch (hero.heroClass){
 			case WARRIOR: default:
-				Collections.addAll(tierTalents, HEARTY_MEAL, ARMSMASTERS_INTUITION, TEST_WARRIOR_3, TEST_WARRIOR_4);
+				Collections.addAll(tierTalents, HEARTY_MEAL, ARMSMASTERS_INTUITION, TEST_SUBJECT, IRON_WILL);
 				break;
 			case MAGE:
 				Collections.addAll(tierTalents, ENERGIZING_MEAL, SCHOLARS_INTUITION, TEST_MAGE_3, TEST_MAGE_4);
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java
index 2d95bb4d8..78c2934fa 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java
@@ -25,6 +25,7 @@ import com.shatteredpixel.shatteredpixeldungeon.Assets;
 import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
 import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.ShieldBuff;
 import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
+import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
 import com.shatteredpixel.shatteredpixeldungeon.items.armor.Armor;
 import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
 import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
@@ -135,7 +136,7 @@ public class BrokenSeal extends Item {
 
 		public synchronized int maxShield() {
 			if (armor != null && armor.isEquipped((Hero)target)) {
-				return 1 + armor.tier + armor.level();
+				return armor.tier + armor.level() + ((Hero) target).pointsInTalent(Talent.IRON_WILL);
 			} else {
 				return 0;
 			}
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java
index 1b92010da..bd95791f0 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/Potion.java
@@ -33,6 +33,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
 import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
 import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Ooze;
 import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
+import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
+import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
 import com.shatteredpixel.shatteredpixeldungeon.effects.Splash;
 import com.shatteredpixel.shatteredpixeldungeon.items.Generator;
 import com.shatteredpixel.shatteredpixeldungeon.items.Item;
@@ -67,8 +69,8 @@ import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
 import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
 import com.shatteredpixel.shatteredpixeldungeon.utils.GLog;
 import com.shatteredpixel.shatteredpixeldungeon.windows.WndBag;
-import com.shatteredpixel.shatteredpixeldungeon.windows.WndUseItem;
 import com.shatteredpixel.shatteredpixeldungeon.windows.WndOptions;
+import com.shatteredpixel.shatteredpixeldungeon.windows.WndUseItem;
 import com.watabou.noosa.audio.Sample;
 import com.watabou.utils.Bundle;
 import com.watabou.utils.Random;
@@ -367,7 +369,15 @@ public class Potion extends Item {
 	@Override
 	public Item identify() {
 
-		setKnown();
+		if (!isKnown()) {
+			setKnown();
+			//3/5 HP healed
+			Hero hero = Dungeon.hero;
+			if (hero.hasTalent(Talent.TEST_SUBJECT)) {
+				hero.HP = Math.min(hero.HP + 1 + (2 * hero.pointsInTalent(Talent.TEST_SUBJECT)), hero.HT);
+				hero.sprite.emitter().burst(Speck.factory(Speck.HEALING), hero.pointsInTalent(Talent.TEST_SUBJECT));
+			}
+		}
 		return super.identify();
 	}
 	
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfExperience.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfExperience.java
index 4a418a36a..67f1b5d16 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfExperience.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfExperience.java
@@ -34,7 +34,7 @@ public class PotionOfExperience extends Potion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		hero.earnExp( hero.maxExp(), getClass() );
 	}
 	
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
index cacadee08..cc0e183aa 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
@@ -40,7 +40,7 @@ public class PotionOfFrost extends Potion {
 	public void shatter( int cell ) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHaste.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHaste.java
index 714480fb9..efbc931ed 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHaste.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHaste.java
@@ -36,7 +36,7 @@ public class PotionOfHaste extends Potion {
 	
 	@Override
 	public void apply(Hero hero) {
-		setKnown();
+		identify();
 		
 		GLog.w( Messages.get(this, "energetic") );
 		Buff.prolong( hero, Haste.class, Haste.DURATION);
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHealing.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHealing.java
index cad9b409a..c87a10cba 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHealing.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfHealing.java
@@ -50,7 +50,7 @@ public class PotionOfHealing extends Potion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		cure( hero );
 		heal( hero );
 	}
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfInvisibility.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfInvisibility.java
index cf882a680..4aaa6491d 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfInvisibility.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfInvisibility.java
@@ -38,7 +38,7 @@ public class PotionOfInvisibility extends Potion {
 
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		Buff.affect( hero, Invisibility.class, Invisibility.DURATION );
 		GLog.i( Messages.get(this, "invisible") );
 		Sample.INSTANCE.play( Assets.Sounds.MELD );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLevitation.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLevitation.java
index c12e7f364..d9bdcc3bb 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLevitation.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLevitation.java
@@ -44,7 +44,7 @@ public class PotionOfLevitation extends Potion {
 	public void shatter( int cell ) {
 
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
@@ -56,7 +56,7 @@ public class PotionOfLevitation extends Potion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		Buff.affect( hero, Levitation.class, Levitation.DURATION );
 		GLog.i( Messages.get(this, "float") );
 	}
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLiquidFlame.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLiquidFlame.java
index 5e44a0265..0eaa1d85a 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLiquidFlame.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfLiquidFlame.java
@@ -40,7 +40,7 @@ public class PotionOfLiquidFlame extends Potion {
 	public void shatter( int cell ) {
 
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfMindVision.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfMindVision.java
index e538a7db8..0ebc648a0 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfMindVision.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfMindVision.java
@@ -37,7 +37,7 @@ public class PotionOfMindVision extends Potion {
 
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		Buff.affect( hero, MindVision.class, MindVision.DURATION );
 		Dungeon.observe();
 		
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfParalyticGas.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfParalyticGas.java
index 4cee64a80..3f5593820 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfParalyticGas.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfParalyticGas.java
@@ -39,7 +39,7 @@ public class PotionOfParalyticGas extends Potion {
 	public void shatter( int cell ) {
 
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
index 40f827e0f..5eb87d515 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
@@ -90,8 +90,8 @@ public class PotionOfPurity extends Potion {
 		if (Dungeon.level.heroFOV[cell]) {
 			splash(cell);
 			Sample.INSTANCE.play(Assets.Sounds.SHATTER);
-			
-			setKnown();
+
+			identify();
 			GLog.i(Messages.get(this, "freshness"));
 		}
 		
@@ -101,7 +101,7 @@ public class PotionOfPurity extends Potion {
 	public void apply( Hero hero ) {
 		GLog.w( Messages.get(this, "protected") );
 		Buff.prolong( hero, BlobImmunity.class, BlobImmunity.DURATION );
-		setKnown();
+		identify();
 	}
 	
 	@Override
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfStrength.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfStrength.java
index cfc93bc09..b14fd6106 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfStrength.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfStrength.java
@@ -38,7 +38,7 @@ public class PotionOfStrength extends Potion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		
 		hero.STR++;
 		hero.sprite.showStatus( CharSprite.POSITIVE, Messages.get(this, "msg_1") );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfToxicGas.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfToxicGas.java
index 29c329e56..96323bf5c 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfToxicGas.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfToxicGas.java
@@ -39,7 +39,7 @@ public class PotionOfToxicGas extends Potion {
 	public void shatter( int cell ) {
 
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/brews/InfernalBrew.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/brews/InfernalBrew.java
index e77b936b9..35d648ba8 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/brews/InfernalBrew.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/brews/InfernalBrew.java
@@ -41,8 +41,6 @@ public class InfernalBrew extends Brew {
 	public void shatter(int cell) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
-			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
 			Sample.INSTANCE.play( Assets.Sounds.GAS );
diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfMight.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfMight.java
index e8627431b..57528214c 100644
--- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfMight.java
+++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/potions/elixirs/ElixirOfMight.java
@@ -45,7 +45,7 @@ public class ElixirOfMight extends Elixir {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		
 		hero.STR++;
 		
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 3c3ff06bc..437d11a18 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
@@ -36,7 +36,7 @@ public class PotionOfAdrenalineSurge extends ExoticPotion {
 	
 	@Override
 	public void apply(Hero hero) {
-		setKnown();
+		identify();
 		Buff.affect(hero, AdrenalineSurge.class).reset(2, 800f);
 	}
 	
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 98c8b99bc..8bc6bd5bc 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
@@ -40,7 +40,7 @@ public class PotionOfCleansing extends ExoticPotion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		
 		cleanse( hero );
 	}
@@ -53,7 +53,7 @@ public class PotionOfCleansing extends ExoticPotion {
 			if (Dungeon.level.heroFOV[cell]) {
 				Sample.INSTANCE.play(Assets.Sounds.SHATTER);
 				splash(cell);
-				setKnown();
+				identify();
 			}
 			
 			if (Actor.findChar(cell) != null){
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 623739974..801f306b6 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
@@ -39,7 +39,7 @@ public class PotionOfCorrosiveGas extends ExoticPotion {
 	public void shatter( int cell ) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
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 79f2161b4..54e62e9a9 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
@@ -66,10 +66,10 @@ public class PotionOfDragonsBreath extends ExoticPotion {
 		public void onSelect(final Integer cell) {
 
 			if (cell == null && !isKnown()){
-				setKnown();
+				identify();
 				detach(curUser.belongings.backpack);
 			} else if (cell != null) {
-				setKnown();
+				identify();
 				Sample.INSTANCE.play( Assets.Sounds.DRINK );
 				curUser.sprite.operate(curUser.pos, new Callback() {
 					@Override
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 c74555af4..7b5f8962d 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
@@ -34,7 +34,7 @@ public class PotionOfEarthenArmor extends ExoticPotion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		
 		Buff.affect(hero, Barkskin.class).set( 2 + hero.lvl/3, 50 );
 	}
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 8c3205e47..81ab01a00 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
@@ -34,7 +34,7 @@ public class PotionOfHolyFuror extends ExoticPotion {
 	
 	@Override
 	public void apply( Hero hero ) {
-		setKnown();
+		identify();
 		Buff.prolong(hero, Bless.class, Bless.DURATION*4f);
 	}
 	
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 2117c3888..63d3022be 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
@@ -35,7 +35,7 @@ public class PotionOfMagicalSight extends ExoticPotion {
 	
 	@Override
 	public void apply(Hero hero) {
-		setKnown();
+		identify();
 		Buff.affect(hero, MagicalSight.class, MagicalSight.DURATION);
 		Dungeon.observe();
 		
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 e57cbd123..1a21aa80d 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
@@ -37,7 +37,7 @@ public class PotionOfShielding extends ExoticPotion {
 	
 	@Override
 	public void apply(Hero hero) {
-		setKnown();
+		identify();
 
 		if (Dungeon.isChallenged(Challenges.NO_HEALING)){
 			PotionOfHealing.pharmacophobiaProc(hero);
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 cffdf0fbb..b8c51b585 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
@@ -39,7 +39,7 @@ public class PotionOfShroudingFog extends ExoticPotion {
 	public void shatter( int cell ) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
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 f60f96a90..3a3ea9466 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
@@ -43,7 +43,7 @@ public class PotionOfSnapFreeze extends ExoticPotion {
 	public void shatter(int cell) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );
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 53e7bf6ff..d6546bdbb 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
@@ -34,7 +34,7 @@ public class PotionOfStamina extends ExoticPotion {
 	
 	@Override
 	public void apply(Hero hero) {
-		setKnown();
+		identify();
 		
 		Buff.affect(hero, Stamina.class, Stamina.DURATION);
 	}
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 e2879a670..3dc423a25 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
@@ -39,7 +39,7 @@ public class PotionOfStormClouds extends ExoticPotion {
 	public void shatter(int cell) {
 		
 		if (Dungeon.level.heroFOV[cell]) {
-			setKnown();
+			identify();
 			
 			splash( cell );
 			Sample.INSTANCE.play( Assets.Sounds.SHATTER );