v0.7.0: balance adjustments:

- Arcane and Shrapnel bomb costs increased to 10
- Rarity of teleport and magic mapping swapped.
- Aquatic rejuvenation duration up to 3x HT, from 2x HT
- Caustic brew AOE increased to 5x5, from 3x3
- Reclaim trap duration to 15 turns from 10, quantity reduced to 3 from 4
- Curse infusion quantity up to 4 from 3
- Recycle buffed to 6 uses, from 5
- Aqua blast chance to fill a cell with water increased to 80% from 50%
- Blizzard brew now stacks freeze duration more quickly
- Shocking brew and shock bomb duration up to 20 from 10
- Phase shift quantity up to 6 from 5
- Scroll of foresight buff now increases search radius by 1
This commit is contained in:
Evan Debenham 2018-10-11 02:19:59 -04:00
parent 4d3440a649
commit f733799ee3
15 changed files with 33 additions and 26 deletions

View File

@ -54,6 +54,7 @@ public class Blizzard extends Blob {
}
Freezing.freeze(cell);
Freezing.freeze(cell);
}
}

View File

@ -1519,6 +1519,10 @@ public class Hero extends Char {
int distance = heroClass == HeroClass.ROGUE ? 2 : 1;
boolean foresight = buff(Foresight.class) != null;
if (foresight) distance++;
int cx = pos % Dungeon.level.width();
int cy = pos / Dungeon.level.width();
int ax = cx - distance;
@ -1541,8 +1545,6 @@ public class Hero extends Char {
TalismanOfForesight.Foresight talisman = buff( TalismanOfForesight.Foresight.class );
boolean cursed = talisman != null && talisman.isCursed();
boolean foresight = buff(Foresight.class) != null;
for (int y = ay; y <= by; y++) {
for (int x = ax, p = ax + y * Dungeon.level.width(); x <= bx; x++, p++) {

View File

@ -265,13 +265,13 @@ public class Generator {
ScrollOfUpgrade.class, //3 drop every chapter, see Dungeon.souNeeded()
ScrollOfIdentify.class,
ScrollOfRemoveCurse.class,
ScrollOfMagicMapping.class,
ScrollOfMirrorImage.class,
ScrollOfRecharging.class,
ScrollOfTeleportation.class,
ScrollOfLullaby.class,
ScrollOfMagicMapping.class,
ScrollOfRage.class,
ScrollOfRetribution.class,
ScrollOfTeleportation.class,
ScrollOfTerror.class,
ScrollOfTransmutation.class
};

View File

@ -338,8 +338,8 @@ public class Bomb extends Item {
bombCosts.put(RegrowthBomb.class, 6);
bombCosts.put(HolyBomb.class, 6);
bombCosts.put(ArcaneBomb.class, 8);
bombCosts.put(ShrapnelBomb.class, 8);
bombCosts.put(ArcaneBomb.class, 10);
bombCosts.put(ShrapnelBomb.class, 10);
}
@Override

View File

@ -44,7 +44,7 @@ public class ShockBomb extends Bomb {
PathFinder.buildDistanceMap( cell, BArray.not( Dungeon.level.solid, null ), 2 );
for (int i = 0; i < PathFinder.distance.length; i++) {
if (PathFinder.distance[i] < Integer.MAX_VALUE) {
GameScene.add(Blob.seed(i, 10, Electricity.class));
GameScene.add(Blob.seed(i, 20, Electricity.class));
}
}
Sample.INSTANCE.play(Assets.SND_LIGHTNING);

View File

@ -21,6 +21,7 @@
package com.shatteredpixel.shatteredpixeldungeon.items.potions.brews;
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
import com.shatteredpixel.shatteredpixeldungeon.actors.Actor;
import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
@ -29,6 +30,7 @@ import com.shatteredpixel.shatteredpixeldungeon.effects.Splash;
import com.shatteredpixel.shatteredpixeldungeon.items.potions.PotionOfToxicGas;
import com.shatteredpixel.shatteredpixeldungeon.items.quest.GooBlob;
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSpriteSheet;
import com.shatteredpixel.shatteredpixeldungeon.utils.BArray;
import com.watabou.utils.PathFinder;
public class CausticBrew extends Brew {
@ -40,15 +42,17 @@ public class CausticBrew extends Brew {
@Override
public void shatter(int cell) {
for (int offset : PathFinder.NEIGHBOURS9){
Splash.at( cell + offset, 0x000000, 5);
Char ch = Actor.findChar(cell + offset);
if (ch != null){
Buff.affect(ch, Ooze.class).set( 20f );
PathFinder.buildDistanceMap( cell, BArray.not( Dungeon.level.solid, null ), 2 );
for (int i = 0; i < PathFinder.distance.length; i++) {
if (PathFinder.distance[i] < Integer.MAX_VALUE) {
Splash.at( i, 0x000000, 5);
Char ch = Actor.findChar(i);
if (ch != null){
Buff.affect(ch, Ooze.class).set( 20f );
}
}
}
}

View File

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

View File

@ -43,7 +43,7 @@ public class ElixirOfAquaticRejuvenation extends Elixir {
@Override
public void apply(Hero hero) {
Buff.affect(hero, AquaHealing.class).set(hero.HT * 2);
Buff.affect(hero, AquaHealing.class).set(hero.HT * 3);
}
public static class AquaHealing extends Buff {

View File

@ -52,7 +52,7 @@ public class AquaBlast extends TargetedSpell {
Splash.at(cell, 0x00AAFF, 10);
for (int i : PathFinder.NEIGHBOURS9){
if (i == 0 || Random.Int(2) == 0){
if (i == 0 || Random.Int(5) != 0){
int terr = Dungeon.level.map[cell + i];
if (terr == Terrain.EMPTY || terr == Terrain.GRASS ||
terr == Terrain.EMBERS || terr == Terrain.EMPTY_SP ||

View File

@ -71,7 +71,7 @@ public class CurseInfusion extends InventorySpell {
cost = 1;
output = CurseInfusion.class;
outQuantity = 3;
outQuantity = 4;
}
}

View File

@ -85,7 +85,7 @@ public class PhaseShift extends TargetedSpell {
cost = 6;
output = PhaseShift.class;
outQuantity = 5;
outQuantity = 6;
}
}

View File

@ -48,8 +48,8 @@ public class ReclaimTrap extends TargetedSpell {
t.disarm();
ScrollOfRecharging.charge(hero);
Buff.affect(hero, Recharging.class, 10f);
Buff.affect(hero, ArtifactRecharge.class).set( 10 );
Buff.affect(hero, Recharging.class, 15f);
Buff.affect(hero, ArtifactRecharge.class).set( 15 );
} else {
GLog.w(Messages.get(this, "no_trap"));
@ -65,7 +65,7 @@ public class ReclaimTrap extends TargetedSpell {
cost = 8;
output = ReclaimTrap.class;
outQuantity = 4;
outQuantity = 3;
}
}

View File

@ -78,7 +78,7 @@ public class Recycle extends InventorySpell {
cost = 8;
output = Recycle.class;
outQuantity = 5;
outQuantity = 6;
}
}

View File

@ -135,7 +135,7 @@ actors.buffs.fireimbue.name=Imbued with Fire
actors.buffs.fireimbue.desc=You are imbued with the power of fire!\n\nAll physical attacks will have a chance to light enemies ablaze. Additionally, you are completely immune to the effects of fire.\n\nTurns of fire imbue remaining: %s.
actors.buffs.foresight.name=Foresight
actors.buffs.foresight.desc=Your senses are heightened, allowing you to immediately notice anything out of place.\n\nWhile under the effect of foresight, anything that enters your search radius is immediately discovered.\n\nTurns of foresight remaining: %s.
actors.buffs.foresight.desc=Your senses are heightened, allowing you to immediately notice anything out of place.\n\nWhile under the effect of foresight your search radius is increased, and anything that enters your search radius is immediately discovered.\n\nTurns of foresight remaining: %s.
actors.buffs.frost.name=Frozen
actors.buffs.frost.freezes=%s freezes!

View File

@ -886,7 +886,7 @@ items.scrolls.exotic.scrollofenchantment.cancel=cancel
items.scrolls.exotic.scrollofenchantment.desc=This scroll will infuse a weapon or armor with powerful magical energy. The reader even has some degree of control over which magic is imbued.
items.scrolls.exotic.scrollofforesight.name=scroll of foresight
items.scrolls.exotic.scrollofforesight.desc=When this scroll is read, detail of nearby terrain will be constantly fed to the reader's mind in crystal clarity. For the duration of this effect, searching will not be necessary, as the reader will automatically detect everything within their search radius.
items.scrolls.exotic.scrollofforesight.desc=When this scroll is read, the detail of nearby terrain will be constantly fed to the reader's mind in crystal clarity. For the duration of this effect, searching will not be necessary, as the reader will automatically detect everything within an enhanced search radius.
items.scrolls.exotic.scrollofmysticalenergy.name=scroll of mystical energy
items.scrolls.exotic.scrollofmysticalenergy.desc=The raw magical power bound up in this parchment will, when released, charge a user's equipped artifacts over time.