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
This commit is contained in:
Evan Debenham 2014-08-04 22:34:26 -04:00
parent 36b4b82454
commit c5e8ffea91
13 changed files with 31 additions and 42 deletions

View File

@ -19,28 +19,11 @@ package com.shatteredpixel.shatteredpixeldungeon.actors;
import java.util.HashSet; import java.util.HashSet;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.*;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.ResultDescriptions; 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.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass; import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroSubClass;
import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary; import com.shatteredpixel.shatteredpixeldungeon.actors.mobs.Bestiary;
@ -246,8 +229,12 @@ public abstract class Char extends Actor {
if (HP <= 0) { if (HP <= 0) {
return; return;
} }
if (this.buff(Frost.class) != null){
Buff.detach( this, Frost.class ); Buff.detach( this, Frost.class );
if (Level.water[this.pos]) {
Buff.prolong(this, Paralysis.class, 1f);
}
}
Class<?> srcClass = src.getClass(); Class<?> srcClass = src.getClass();
if (immunities().contains( srcClass )) { if (immunities().contains( srcClass )) {

View File

@ -36,8 +36,8 @@ public class Freezing {
Char ch = Actor.findChar( cell ); Char ch = Actor.findChar( cell );
if (ch != null) { if (ch != null) {
if (Level.water[ch.pos] && !ch.flying){ if (Level.water[ch.pos]){
Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(3.0f, 4.5f)); Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(5f, 7.5f));
} else { } else {
Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(1.0f, 1.5f)); Buff.prolong(ch, Frost.class, Frost.duration(ch) * Random.Float(1.0f, 1.5f));
} }

View File

@ -38,13 +38,10 @@ public class Frost extends FlavourBuff {
target.paralysed = true; target.paralysed = true;
Burning.detach( target, Burning.class ); Burning.detach( target, Burning.class );
if (target instanceof Elemental)
target.damage(Random.IntRange(0, 15), this);
if (target instanceof Hero) { if (target instanceof Hero) {
Hero hero = (Hero)target; Hero hero = (Hero)target;
Item item = hero.belongings.randomUnequipped(); Item item = hero.belongings.randomUnequipped();
if (item instanceof MysteryMeat) { if (item instanceof MysteryMeat) {
item = item.detach( hero.belongings.backpack ); item = item.detach( hero.belongings.backpack );
FrozenCarpaccio carpaccio = new FrozenCarpaccio(); FrozenCarpaccio carpaccio = new FrozenCarpaccio();
if (!carpaccio.collect( hero.belongings.backpack )) { if (!carpaccio.collect( hero.belongings.backpack )) {

View File

@ -24,7 +24,7 @@ import com.shatteredpixel.shatteredpixeldungeon.ui.BuffIndicator;
public class GasesImmunity extends FlavourBuff { public class GasesImmunity extends FlavourBuff {
public static final float DURATION = 15f; public static final float DURATION = 10f;
@Override @Override
public int icon() { public int icon() {

View File

@ -25,9 +25,9 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Burning;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Frost;
import com.shatteredpixel.shatteredpixeldungeon.effects.Speck; import com.shatteredpixel.shatteredpixeldungeon.effects.Speck;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlame; 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.wands.WandOfFirebolt;
import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Fire; import com.shatteredpixel.shatteredpixeldungeon.items.weapon.enchantments.Fire;
import com.shatteredpixel.shatteredpixeldungeon.levels.Level;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ElementalSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ElementalSprite;
import com.watabou.utils.Random; import com.watabou.utils.Random;
@ -82,7 +82,10 @@ public class Elemental extends Mob {
} }
} else { } else {
if (buff instanceof Frost) { 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 ); super.add( buff );
} }

View File

@ -57,8 +57,8 @@ public class PotionOfFrost extends Potion {
public String desc() { public String desc() {
return return
"Upon exposure to open air this chemical will evaporate into a freezing cloud, causing " + "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." + "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."; "The freezing effect is much stronger if the environment is wet.";
} }
@Override @Override

View File

@ -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_FRESHNESS = "You feel uncommon freshness in the air.";
private static final String TXT_NO_SMELL = "You've stopped sensing any smells!"; 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"; name = "Potion of Purification";

View File

@ -17,6 +17,7 @@
*/ */
package com.shatteredpixel.shatteredpixeldungeon.items.scrolls; package com.shatteredpixel.shatteredpixeldungeon.items.scrolls;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Paralysis;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.shatteredpixel.shatteredpixeldungeon.Assets; import com.shatteredpixel.shatteredpixeldungeon.Assets;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon; import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
@ -44,13 +45,13 @@ public class ScrollOfPsionicBlast extends Scroll {
for (Mob mob : Dungeon.level.mobs.toArray( new Mob[0] )) { for (Mob mob : Dungeon.level.mobs.toArray( new Mob[0] )) {
if (Level.fieldOfView[mob.pos]) { if (Level.fieldOfView[mob.pos]) {
Buff.prolong( mob, Blindness.class, Random.Int( 3, 6 ) );
mob.damage(mob.HT, this ); mob.damage(mob.HT, this );
} }
} }
curUser.damage(Random.IntRange(curUser.HT/3, (int)(curUser.HT*0.99)), this); curUser.damage(Random.IntRange(curUser.HT/3, (int)(curUser.HT*0.85)), this);
Buff.prolong( curUser, Blindness.class, Random.Int( 3, 6 ) ); Buff.prolong( curUser, Paralysis.class, Random.Int( 2, 4 ) );
Buff.prolong( curUser, Blindness.class, Random.Int( 4, 8 ) );
Dungeon.observe(); Dungeon.observe();
setKnown(); setKnown();
@ -61,9 +62,9 @@ public class ScrollOfPsionicBlast extends Scroll {
@Override @Override
public String desc() { public String desc() {
return return
"This scroll contains destructive energy, that can be psionically channeled to tear apart" + "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" + "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."; "blind, temporarily stun, and massively harm the reader.";
} }
@Override @Override

View File

@ -33,7 +33,7 @@ import com.watabou.utils.Random;
public class Blindweed extends Plant { public class Blindweed extends Plant {
private static final String TXT_DESC = 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."; "The flash is strong enough to disorient for several seconds.";
{ {

View File

@ -30,7 +30,8 @@ import com.watabou.utils.PathFinder;
public class Icecap extends Plant { public class Icecap extends Plant {
private static final String TXT_DESC = 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; image = 1;

View File

@ -31,7 +31,7 @@ import com.watabou.utils.Bundle;
public class Sungrass extends Plant { 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; image = 4;

View File

@ -38,7 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndRanking;
public class RankingsScene extends PixelScene { 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_TOTAL = "Total games played: %d";
private static final String TXT_NO_GAMES = "No games have been played yet."; private static final String TXT_NO_GAMES = "No games have been played yet.";

View File

@ -141,7 +141,7 @@ public class WndRanking extends WndTabbed {
private static final int GAP = 4; 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_HEALTH = "Health";
private static final String TXT_STR = "Strength"; private static final String TXT_STR = "Strength";