diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java index 965094a2b..9885394ad 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/Armor.java @@ -356,12 +356,12 @@ public class Armor extends EquipableItem { public int STRReq(int lvl){ lvl = Math.max(0, lvl); - int effectiveTier = tier; + float effectiveTier = tier; if (glyph != null) effectiveTier += glyph.tierSTRAdjust(); effectiveTier = Math.max(0, effectiveTier); //strength req decreases at +1,+3,+6,+10,etc. - return (8 + effectiveTier * 2) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2; + return (8 + Math.round(effectiveTier * 2)) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2; } @Override @@ -468,7 +468,7 @@ public class Armor extends EquipableItem { return 0; } - public int tierSTRAdjust(){ + public float tierSTRAdjust(){ return 0; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java index 14109a0aa..e9bbbb593 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/ClassArmor.java @@ -140,12 +140,12 @@ abstract public class ClassArmor extends Armor { @Override public int STRReq(int lvl) { lvl = Math.max(0, lvl); - int effectiveTier = armorTier; + float effectiveTier = armorTier; if (glyph != null) effectiveTier += glyph.tierSTRAdjust(); effectiveTier = Math.max(0, effectiveTier); //strength req decreases at +1,+3,+6,+10,etc. - return (8 + effectiveTier * 2) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2; + return (8 + Math.round(effectiveTier * 2)) - (int)(Math.sqrt(8 * lvl + 1) - 1)/2; } @Override 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 9ffa6ae68..6f28e1c5c 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 @@ -30,13 +30,13 @@ public class Stone extends Armor.Glyph { @Override public int proc(Armor armor, Char attacker, Char defender, int damage) { - //no proc effect + //no proc effect, see armor.DrMin return damage; } @Override - public int tierSTRAdjust() { - return 1; + public float tierSTRAdjust() { + return 1.5f; } @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Swiftness.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Swiftness.java index 2bc00a376..c0c17cbb6 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Swiftness.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/armor/glyphs/Swiftness.java @@ -40,7 +40,7 @@ public class Swiftness extends Armor.Glyph { } @Override - public int tierSTRAdjust() { + public float tierSTRAdjust() { return -1; } 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 206b73c89..f0f87934f 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 @@ -70,10 +70,6 @@ public class WandOfFireblast extends DamageWand { @Override protected void onZap( Ballistica bolt ) { - if (Level.flamable[bolt.sourcePos]){ - GameScene.add( Blob.seed( bolt.sourcePos, 2, Fire.class ) ); - } - for( int cell : affectedCells){ GameScene.add( Blob.seed( cell, 1+chargesPerCast(), Fire.class ) ); Char ch = Actor.findChar( cell ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java index 4cd14c9c5..1ecc65a24 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java @@ -146,7 +146,7 @@ abstract public class Weapon extends KindOfWeapon { if (this instanceof MissileWeapon) { int bonus = RingOfSharpshooting.getBonus(hero, RingOfSharpshooting.Aim.class); - ACC *= (float)(Math.pow(1.1, bonus)); + ACC *= (float)(Math.pow(1.2, bonus)); } return encumbrance > 0 ? (float)(ACC / Math.pow( 1.5, encumbrance )) : ACC; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java index 32dc2d0d1..5eb29c9a8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Grim.java @@ -41,8 +41,8 @@ public class Grim extends Weapon.Enchantment { int enemyHealth = defender.HP - damage; if (enemyHealth == 0) return damage; //no point in proccing if they're already dead. - //scales from 0 - 20% based on how low hp the enemy is, plus 1% per level - int chance = Math.round(((defender.HT - enemyHealth) / (float)defender.HT)*20 + level); + //scales from 0 - 30% based on how low hp the enemy is, plus 1% per level + int chance = Math.round(((defender.HT - enemyHealth) / (float)defender.HT)*30 + level); if (Random.Int( 100 ) < chance) { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Glaive.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Glaive.java index 4a39dbce7..6689c16f9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Glaive.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Glaive.java @@ -32,12 +32,6 @@ public class Glaive extends MeleeWeapon { RCH = 2; //extra reach } - @Override - public int min(int lvl) { - return tier + //base unchanged - lvl*2; //+2 per level, up from +1 - } - @Override public int max(int lvl) { return Math.round(6.67f*(tier+1)) + //40 base, up from 30 diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java index 200dcbc2a..ecca758a9 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RunicBlade.java @@ -30,12 +30,12 @@ public class RunicBlade extends MeleeWeapon { tier = 4; } - //Essentially it's a tier 4 weapon, with tier 3 base max damage, and slightly more than tier 5 scaling. - //equal to tier 4 in damage at +4 + //Essentially it's a tier 4 weapon, with tier 3 base max damage, and tier 5 scaling. + //equal to tier 4 in damage at +5 @Override public int max(int lvl) { - return 5*(tier) + //20 base, down from 25 - Math.round(lvl*(tier+2.25f)); //+6.25 per level, up from +5 + return 5*(tier) + //20 base, down from 25 + Math.round(lvl*(tier+2)); //+6 per level, up from +5 } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java index ddb706a74..74550715a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Spear.java @@ -32,12 +32,6 @@ public class Spear extends MeleeWeapon { RCH = 2; //extra reach } - @Override - public int min(int lvl) { - return tier + //base unchanged - lvl*2; //+2 per level, up from +1 - } - @Override public int max(int lvl) { return Math.round(6.67f*(tier+1)) + //20 base, up from 15