v1.2.0: balance changes to brews

This commit is contained in:
Evan Debenham 2022-03-04 15:54:19 -05:00
parent 057ecd5407
commit 6cf179092e
6 changed files with 38 additions and 14 deletions

View File

@ -665,13 +665,13 @@ items.potions.brews.causticbrew.name=caustic brew
items.potions.brews.causticbrew.desc=This brew will spread corrosive ooze in a wide area around the location it shatters in. Anything caught by the ooze will slowly melt if it can't wash it off in water. items.potions.brews.causticbrew.desc=This brew will spread corrosive ooze in a wide area around the location it shatters in. Anything caught by the ooze will slowly melt if it can't wash it off in water.
items.potions.brews.blizzardbrew.name=blizzard brew items.potions.brews.blizzardbrew.name=blizzard brew
items.potions.brews.blizzardbrew.desc=When shattered, this brew will unleash a swirling blizzard which spreads like a gas. items.potions.brews.blizzardbrew.desc=When shattered, this brew will unleash a swirling blizzard which quickly spreads like a gas.
items.potions.brews.infernalbrew.name=infernal brew items.potions.brews.infernalbrew.name=infernal brew
items.potions.brews.infernalbrew.desc=When shattered, this brew will unleash a raging inferno which spreads like a gas. items.potions.brews.infernalbrew.desc=When shattered, this brew will unleash a raging inferno which quickly spreads like a gas.
items.potions.brews.shockingbrew.name=shocking brew items.potions.brews.shockingbrew.name=shocking brew
items.potions.brews.shockingbrew.desc=When shattered, this brew will unleash an electrical storm in an area around the location it breaks at. items.potions.brews.shockingbrew.desc=When shattered, this brew will unleash an electrical storm in an wide area around the location it breaks at.

View File

@ -89,10 +89,14 @@ public class Ooze extends Buff {
@Override @Override
public boolean act() { public boolean act() {
if (target.isAlive()) { if (target.isAlive()) {
if (Dungeon.depth > 4) if (Dungeon.depth > 5) {
target.damage( Dungeon.depth/5, this ); target.damage(1 + Dungeon.depth / 5, this);
else if (Random.Int(2) == 0) } else if (Dungeon.depth == 5){
target.damage( 1, this ); target.damage(1, this); //1 dmg per turn vs Goo
} else if (Random.Int(2) == 0) {
target.damage(1, this); //0.5 dmg per turn in sewers
}
if (!target.isAlive() && target == Dungeon.hero) { if (!target.isAlive() && target == Dungeon.hero) {
Dungeon.fail( getClass() ); Dungeon.fail( getClass() );
GLog.n( Messages.get(this, "ondeath") ); GLog.n( Messages.get(this, "ondeath") );

View File

@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfFrost;
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.PathFinder;
public class BlizzardBrew extends Brew { public class BlizzardBrew extends Brew {
@ -44,8 +45,17 @@ public class BlizzardBrew extends Brew {
Sample.INSTANCE.play( Assets.Sounds.SHATTER ); Sample.INSTANCE.play( Assets.Sounds.SHATTER );
Sample.INSTANCE.play( Assets.Sounds.GAS ); Sample.INSTANCE.play( Assets.Sounds.GAS );
} }
GameScene.add( Blob.seed( cell, 1000, Blizzard.class ) ); int centerVolume = 120;
for (int i : PathFinder.NEIGHBOURS8){
if (!Dungeon.level.solid[cell+i]){
GameScene.add( Blob.seed( cell+i, 120, Blizzard.class ) );
} else {
centerVolume += 120;
}
}
GameScene.add( Blob.seed( cell, centerVolume, Blizzard.class ) );
} }
@Override @Override
@ -60,7 +70,7 @@ public class BlizzardBrew extends Brew {
inputs = new Class[]{PotionOfFrost.class, AlchemicalCatalyst.class}; inputs = new Class[]{PotionOfFrost.class, AlchemicalCatalyst.class};
inQuantity = new int[]{1, 1}; inQuantity = new int[]{1, 1};
cost = 4; cost = 3;
output = BlizzardBrew.class; output = BlizzardBrew.class;
outQuantity = 1; outQuantity = 1;

View File

@ -74,7 +74,7 @@ public class CausticBrew extends Brew {
inputs = new Class[]{PotionOfToxicGas.class, GooBlob.class}; inputs = new Class[]{PotionOfToxicGas.class, GooBlob.class};
inQuantity = new int[]{1, 1}; inQuantity = new int[]{1, 1};
cost = 3; cost = 2;
output = CausticBrew.class; output = CausticBrew.class;
outQuantity = 1; outQuantity = 1;

View File

@ -30,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfLiquidFlam
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.watabou.noosa.audio.Sample; import com.watabou.noosa.audio.Sample;
import com.watabou.utils.PathFinder;
public class InfernalBrew extends Brew { public class InfernalBrew extends Brew {
@ -45,8 +46,17 @@ public class InfernalBrew extends Brew {
Sample.INSTANCE.play( Assets.Sounds.SHATTER ); Sample.INSTANCE.play( Assets.Sounds.SHATTER );
Sample.INSTANCE.play( Assets.Sounds.GAS ); Sample.INSTANCE.play( Assets.Sounds.GAS );
} }
int centerVolume = 120;
for (int i : PathFinder.NEIGHBOURS8){
if (!Dungeon.level.solid[cell+i]){
GameScene.add( Blob.seed( cell+i, 120, Inferno.class ) );
} else {
centerVolume += 120;
}
}
GameScene.add( Blob.seed( cell, 1000, Inferno.class ) ); GameScene.add( Blob.seed( cell, centerVolume, Inferno.class ) );
} }
@Override @Override
@ -61,7 +71,7 @@ public class InfernalBrew extends Brew {
inputs = new Class[]{PotionOfLiquidFlame.class, AlchemicalCatalyst.class}; inputs = new Class[]{PotionOfLiquidFlame.class, AlchemicalCatalyst.class};
inQuantity = new int[]{1, 1}; inQuantity = new int[]{1, 1};
cost = 5; cost = 4;
output = InfernalBrew.class; output = InfernalBrew.class;
outQuantity = 1; outQuantity = 1;

View File

@ -46,7 +46,7 @@ public class ShockingBrew extends Brew {
Sample.INSTANCE.play( Assets.Sounds.SHATTER ); Sample.INSTANCE.play( Assets.Sounds.SHATTER );
Sample.INSTANCE.play(Assets.Sounds.LIGHTNING); Sample.INSTANCE.play(Assets.Sounds.LIGHTNING);
} }
PathFinder.buildDistanceMap( cell, BArray.not( Dungeon.level.solid, null ), 2 ); PathFinder.buildDistanceMap( cell, BArray.not( Dungeon.level.solid, null ), 3 );
for (int i = 0; i < PathFinder.distance.length; i++) { for (int i = 0; i < PathFinder.distance.length; i++) {
if (PathFinder.distance[i] < Integer.MAX_VALUE) { if (PathFinder.distance[i] < Integer.MAX_VALUE) {
GameScene.add(Blob.seed(i, 20, Electricity.class)); GameScene.add(Blob.seed(i, 20, Electricity.class));