From c5e8ffea91b8051b336bf9323c6509e46a23d036 Mon Sep 17 00:00:00 2001
From: Evan Debenham <Evan.SHPX@gmail.com>
Date: Mon, 4 Aug 2014 22:34:26 -0400
Subject: [PATCH] V0.1.0 Final Commit

Full changelist:
Seeds:
-Blindweed buffed, now cripples as well as blinds
-Sungrass nerfed, heal scales up over time, total heal reduced by combat
-Earthroot nerfed, absorb is now 50%, total shield unchanged
-Icecap buffed, freeze effect now much stronger in water.

Potions:
-Purity buffed, immunity increased to 10 turns, clear effect radius increased
-Frost buffed, freeze effect now much stronger in water.

Scrolls:
-Psionic blast reworked, now rarer, more risky, & much stronger.
-Challenge renamed to Rage, buffed, now amoks nearby enemies
Scroll of Lullaby will be buffed next patch

Etc.:
-Internal android packaging changed, IDs as new program.
-Descriptions updated
-Rough mod indicator added to rankings
---
 .../shatteredpixeldungeon/actors/Char.java    | 27 +++++--------------
 .../actors/blobs/Freezing.java                |  4 +--
 .../actors/buffs/Frost.java                   |  3 ---
 .../actors/buffs/GasesImmunity.java           |  2 +-
 .../actors/mobs/Elemental.java                |  7 +++--
 .../items/potions/PotionOfFrost.java          |  4 +--
 .../items/potions/PotionOfPurity.java         |  2 +-
 .../items/scrolls/ScrollOfPsionicBlast.java   | 13 ++++-----
 .../plants/Blindweed.java                     |  2 +-
 .../shatteredpixeldungeon/plants/Icecap.java  |  3 ++-
 .../plants/Sungrass.java                      |  2 +-
 .../scenes/RankingsScene.java                 |  2 +-
 .../windows/WndRanking.java                   |  2 +-
 13 files changed, 31 insertions(+), 42 deletions(-)

diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java
index 3cb88913e..393ba19f3 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java
@@ -19,28 +19,11 @@ package com.shatteredpixel.shatteredpixeldungeon.actors;
 
 import java.util.HashSet;
 
+import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.*;
 import com.watabou.noosa.audio.Sample;
 import com.shatteredpixel.shatteredpixeldungeon.Assets;
 import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
 import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Amok;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Bleeding;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Cripple;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Light;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Roots;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Shadows;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Speed;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Levitation;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MindVision;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Poison;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Slow;
-import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Terror;
 import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
 import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
 import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary;
@@ -246,8 +229,12 @@ public abstract class Char extends Actor {
 		if (HP <= 0) {
 			return;
 		}
-		
-		Buff.detach( this, Frost.class );
+		if (this.buff(Frost.class) != null){
+            Buff.detach( this, Frost.class );
+            if (Level.water[this.pos]) {
+                Buff.prolong(this, Paralysis.class, 1f);
+            }
+        }
 		
 		Class<?> srcClass = src.getClass();
 		if (immunities().contains( srcClass )) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/Freezing.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/Freezing.java
index 04e0c5fd7..1673634cf 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/Freezing.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/blobs/Freezing.java
@@ -36,8 +36,8 @@ public class Freezing {
 		
 		Char ch = Actor.findChar( cell ); 
 		if (ch != null) {
-            if (Level.water[ch.pos] && !ch.flying){
-                Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(3.0f, 4.5f));
+            if (Level.water[ch.pos]){
+                Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(5f, 7.5f));
             } else {
                 Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(1.0f, 1.5f));
             }
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Frost.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Frost.java
index 5eceb7d90..d23bd3c45 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Frost.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Frost.java
@@ -38,13 +38,10 @@ public class Frost extends FlavourBuff {
 			
 			target.paralysed = true;
 			Burning.detach( target, Burning.class );
-            if (target instanceof Elemental)
-			    target.damage(Random.IntRange(0, 15), this);
 			if (target instanceof Hero) {
 				Hero hero = (Hero)target;
 				Item item = hero.belongings.randomUnequipped();
 				if (item instanceof MysteryMeat) {
-					
 					item = item.detach( hero.belongings.backpack );
 					FrozenCarpaccio carpaccio = new FrozenCarpaccio(); 
 					if (!carpaccio.collect( hero.belongings.backpack )) {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/GasesImmunity.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/GasesImmunity.java
index e337197a6..fc550e703 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/GasesImmunity.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/GasesImmunity.java
@@ -24,7 +24,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
 
 public class GasesImmunity extends FlavourBuff {
 	
-	public static final float DURATION	= 15f;
+	public static final float DURATION	= 10f;
 	
 	@Override
 	public int icon() {
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java
index ec29b94ad..a6a853b2a 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Elemental.java
@@ -25,9 +25,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
 import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
 import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
 import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame;
-import com.shatteredpixel.shatteredpixeldungeon.items.scrolls.ScrollOfPsionicBlast;
 import com.shatteredpixel.shatteredpixeldungeon.items.wands.WandOfFirebolt;
 import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Fire;
+import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
 import com.shatteredpixel.shatteredpixeldungeon.sprites.ElementalSprite;
 import com.watabou.utils.Random;
 
@@ -82,7 +82,10 @@ public class Elemental extends Mob {
 			}
 		} else {
 			if (buff instanceof Frost) {
-				damage( Random.NormalIntRange( 1, HT * 2 / 3 ), buff );
+                if (Level.water[this.pos])
+                    damage(Random.NormalIntRange( HT / 2, HT ), buff);
+                else
+				    damage( Random.NormalIntRange( 1, HT * 2 / 3 ), buff );
 			}
 			super.add( buff );
 		}
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
index b55a7fb59..b203c80ef 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfFrost.java
@@ -57,8 +57,8 @@ public class PotionOfFrost extends Potion {
 	public String desc() {
 		return 
 			"Upon exposure to open air this chemical will evaporate into a freezing cloud, causing " +
-			"any creature that contacts it to be frozen in place unable to act and move." +
-            "The freezing effect is enhanced if the creature is already wet.";
+			"any creature that contacts it to be frozen in place unable to act and move. " +
+            "The freezing effect is much stronger if the environment is wet.";
 	}
 	
 	@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
index 0721d4a36..1bc7381f2 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/potions/PotionOfPurity.java
@@ -38,7 +38,7 @@ public class PotionOfPurity extends Potion {
 	private static final String TXT_FRESHNESS	= "You feel uncommon freshness in the air.";
 	private static final String TXT_NO_SMELL	= "You've stopped sensing any smells!";
 	
-	private static final int DISTANCE	= 2;
+	private static final int DISTANCE	= 5;
 	
 	{
 		name = "Potion of Purification";
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfPsionicBlast.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfPsionicBlast.java
index 4b27ad62b..d333f28ce 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfPsionicBlast.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/scrolls/ScrollOfPsionicBlast.java
@@ -17,6 +17,7 @@
  */
 package com.shatteredpixel.shatteredpixeldungeon.items.scrolls;
 
+import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
 import com.watabou.noosa.audio.Sample;
 import com.shatteredpixel.shatteredpixeldungeon.Assets;
 import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
@@ -44,13 +45,13 @@ public class ScrollOfPsionicBlast extends Scroll {
 		
 		for (Mob mob : Dungeon.level.mobs.toArray( new Mob[0] )) {
 			if (Level.fieldOfView[mob.pos]) {
-				Buff.prolong( mob, Blindness.class, Random.Int( 3, 6 ) );
 				mob.damage(mob.HT, this );
 			}
 		}
 
-		curUser.damage(Random.IntRange(curUser.HT/3, (int)(curUser.HT*0.99)), this);
-		Buff.prolong( curUser, Blindness.class, Random.Int( 3, 6 ) );
+		curUser.damage(Random.IntRange(curUser.HT/3, (int)(curUser.HT*0.85)), this);
+        Buff.prolong( curUser, Paralysis.class, Random.Int( 2, 4 ) );
+		Buff.prolong( curUser, Blindness.class, Random.Int( 4, 8 ) );
 		Dungeon.observe();
 		
 		setKnown();
@@ -61,9 +62,9 @@ public class ScrollOfPsionicBlast extends Scroll {
 	@Override
 	public String desc() {
 		return
-			"This scroll contains destructive energy, that can be psionically channeled to tear apart" +
-			"the minds of all visible creatures. The power unleashed by the scroll will also temporarily" +
-			"blind and massively harm the reader. if the reader is already injured they will likely die.";
+			"This scroll contains destructive energy that can be psionically channeled to tear apart " +
+			"the minds of all visible creatures. The power unleashed by the scroll will also temporarily " +
+			"blind, temporarily stun, and massively harm the reader.";
 	}
 	
 	@Override
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java
index 432202b6b..9afdc6160 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Blindweed.java
@@ -33,7 +33,7 @@ import com.watabou.utils.Random;
 public class Blindweed extends Plant {
 
 	private static final String TXT_DESC = 
-		"Upon being touched a Blindweed perishes in a bright flash of light." +
+		"Upon being touched a Blindweed perishes in a bright flash of light. " +
         "The flash is strong enough to disorient for several seconds.";
 	
 	{
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java
index e5822081b..8f7fd76ad 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Icecap.java
@@ -30,7 +30,8 @@ import com.watabou.utils.PathFinder;
 public class Icecap extends Plant {
 
 	private static final String TXT_DESC = 
-		"Upon touching an Icecap excretes a pollen, which freezes everything in its vicinity.";
+		"Upon being touched, an Icecap lets out a puff of freexing pollen. " +
+        "The freezing effect is much stronger if the environment is wet.";
 	
 	{
 		image = 1;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java
index 28d28561d..0ec8cfcba 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/plants/Sungrass.java
@@ -31,7 +31,7 @@ import com.watabou.utils.Bundle;
 
 public class Sungrass extends Plant {
 
-	private static final String TXT_DESC = "Sungrass is renowned for its sap's healing properties.";
+	private static final String TXT_DESC = "Sungrass is renowned for its sap's show but effective healing properties.";
 	
 	{
 		image = 4;
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
index 82f08e3f3..f4b6c0fc2 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/scenes/RankingsScene.java
@@ -38,7 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndRanking;
 
 public class RankingsScene extends PixelScene {
 	
-	private static final String TXT_TITLE		= "Top Rankings";
+	private static final String TXT_TITLE		= "Top Rankings (SHATTERED)";
 	private static final String TXT_TOTAL		= "Total games played: %d";
 	private static final String TXT_NO_GAMES	= "No games have been played yet.";
 	
diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
index 06ff237e3..ac3655fc5 100644
--- a/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
+++ b/src/com/shatteredpixel/shatteredpixeldungeon/windows/WndRanking.java
@@ -141,7 +141,7 @@ public class WndRanking extends WndTabbed {
 		
 		private static final int GAP	= 4;
 		
-		private static final String TXT_TITLE		= "Level %d %s";
+		private static final String TXT_TITLE		= "(SH)Level %d %s";
 		
 		private static final String TXT_HEALTH	= "Health";
 		private static final String TXT_STR		= "Strength";