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";