diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Bleeding.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Bleeding.java index 03a3a27c9..fdfe07450 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Bleeding.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Bleeding.java @@ -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); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Potential.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Potential.java index 1d1b97876..79656f1f3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Potential.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Potential.java @@ -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)); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java index a9937a04e..d0eeb0d2a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Stone.java @@ -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); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfElements.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfElements.java index 7c9401dea..649ac3d94 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfElements.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfElements.java @@ -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)); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java index 40e62bfe8..28026e529 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfEnergy.java @@ -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 { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfWealth.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfWealth.java index 4ea0165ac..257a85787 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfWealth.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/rings/RingOfWealth.java @@ -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 tryRareDrop(Char target, int tries ){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java index f364372f7..957720014 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/wands/WandOfFireblast.java @@ -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++){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vorpal.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vorpal.java index 5d25bfa08..e4fe44abb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vorpal.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Vorpal.java @@ -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 );