v0.7.1b: various item balance changes

This commit is contained in:
Evan Debenham 2018-12-29 20:07:47 -05:00
parent f840e5b2f0
commit fe2025e334
8 changed files with 21 additions and 20 deletions

View File

@ -55,7 +55,7 @@ public class Bleeding extends Buff {
level = bundle.getFloat( LEVEL );
}
public void set( int level ) {
public void set( float level ) {
this.level = Math.max(this.level, level);
}

View File

@ -39,7 +39,7 @@ public class Potential extends Glyph {
int level = Math.max( 0, armor.level() );
if (defender instanceof Hero) {
int wands = ((Hero) defender).belongings.charge(0.1f + level*0.05f);
int wands = ((Hero) defender).belongings.charge(0.12f + level*0.06f);
if (wands > 0) {
defender.sprite.centerEmitter().burst(EnergyParticle.FACTORY, wands * (level + 2));
}

View File

@ -44,8 +44,8 @@ public class Stone extends Armor.Glyph {
hitChance = 1f - (evasion/accuracy)/2f;
}
//60% of dodge chance is applied as damage reduction
hitChance = (2f + 3f*hitChance)/5f;
//75% of dodge chance is applied as damage reduction
hitChance = (1f + 3f*hitChance)/4f;
damage = (int)Math.ceil(damage * hitChance);

View File

@ -48,9 +48,9 @@ public class RingOfElements extends Ring {
public String statsInfo() {
if (isIdentified()){
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (1f - Math.pow(0.875f, soloBonus()))));
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (1f - Math.pow(0.84f, soloBonus()))));
} else {
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(12.5f));
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(16f));
}
}
@ -77,6 +77,7 @@ public class RingOfElements extends Ring {
RESISTS.add( ToxicGas.class );
RESISTS.add( Electricity.class );
//FIXME currently this affects all attacks, not just longranged magic
RESISTS.add( Shaman.class );
RESISTS.add( Warlock.class );
RESISTS.add( Eye.class );
@ -88,7 +89,7 @@ public class RingOfElements extends Ring {
for (Class c : RESISTS){
if (c.isAssignableFrom(effect)){
return (float)Math.pow(0.875, getBonus(target, Resistance.class));
return (float)Math.pow(0.84, getBonus(target, Resistance.class));
}
}

View File

@ -30,9 +30,9 @@ public class RingOfEnergy extends Ring {
public String statsInfo() {
if (isIdentified()){
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (Math.pow(1.2f, soloBonus()) - 1f)));
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (Math.pow(1.25f, soloBonus()) - 1f)));
} else {
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(20f));
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(25f));
}
}
@ -42,7 +42,7 @@ public class RingOfEnergy extends Ring {
}
public static float wandChargeMultiplier( Char target ){
return (float)Math.pow(1.2, getBonus(target, Energy.class));
return (float)Math.pow(1.25, getBonus(target, Energy.class));
}
public class Energy extends RingBuff {

View File

@ -40,9 +40,9 @@ public class RingOfWealth extends Ring {
public String statsInfo() {
if (isIdentified()){
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (Math.pow(1.15f, soloBonus()) - 1f)));
return Messages.get(this, "stats", new DecimalFormat("#.##").format(100f * (Math.pow(1.2f, soloBonus()) - 1f)));
} else {
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(15f));
return Messages.get(this, "typical_stats", new DecimalFormat("#.##").format(20f));
}
}
@ -52,7 +52,7 @@ public class RingOfWealth extends Ring {
}
public static float dropChanceMultiplier( Char target ){
return (float)Math.pow(1.15, getBonus(target, Wealth.class));
return (float)Math.pow(1.2, getBonus(target, Wealth.class));
}
public static ArrayList<Item> tryRareDrop(Char target, int tries ){

View File

@ -53,14 +53,14 @@ public class WandOfFireblast extends DamageWand {
collisionProperties = Ballistica.STOP_TERRAIN;
}
//1x/1.5x/2.25x damage
//1x/2x/3x damage
public int min(int lvl){
return (int)Math.round((1+lvl) * Math.pow(1.5f, chargesPerCast()-1));
return (1+lvl) * chargesPerCast();
}
//1x/1.5x/2.25x damage
//1x/2x/3x damage
public int max(int lvl){
return (int)Math.round((5+3*lvl) * Math.pow(1.5f, chargesPerCast()-1));
return (6+2*lvl) * chargesPerCast();
}
//the actual affected cells
@ -143,8 +143,8 @@ public class WandOfFireblast extends DamageWand {
affectedCells = new HashSet<>();
visualCells = new HashSet<>();
// 4/6/9 distance
int maxDist = (int)(4 * Math.pow(1.5,(chargesPerCast()-1)));
// 4/6/8 distance
int maxDist = 2 + 2*chargesPerCast();
int dist = Math.min(bolt.dist, maxDist);
for (int i = 0; i < PathFinder.CIRCLE8.length; i++){

View File

@ -43,7 +43,7 @@ public class Vorpal extends Weapon.Enchantment {
if (Random.Int( level + 3 ) >= 2) {
Buff.affect(defender, Bleeding.class).set(damage/4);
Buff.affect(defender, Bleeding.class).set(damage/5f);
Splash.at( defender.sprite.center(), -PointF.PI / 2, PointF.PI / 6,
defender.sprite.blood(), 10 );