From e78574ca5f632e68b1b806dbc17e71f32a599a71 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 7 Dec 2018 14:06:04 -0500 Subject: [PATCH] v0.7.1: balance adjustments: - tomahawk damage scaling reduced to +2/+2, from +2/+3 - throwing hammer damage scaling increased to +2/+5 from +2/+4 - damage multipliers for sniper abilities now include strength bonus (this is a nerf to flurry and snapshot) - thrown weapons now get a 50% accuracy bonus when used at range - removed sniper accuracy bonus --- .../shatteredpixeldungeon/actors/hero/Hero.java | 5 ++--- .../items/weapon/SpiritBow.java | 16 +++++++++------- .../items/weapon/missiles/ThrowingHammer.java | 2 +- .../items/weapon/missiles/Tomahawk.java | 2 +- .../messages/actors/actors.properties | 2 +- .../messages/items/items.properties | 2 +- 6 files changed, 15 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index b64b077f5..2575b1174 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -313,9 +313,8 @@ public class Hero extends Char { if (wep instanceof MissileWeapon){ if (Dungeon.level.adjacent( pos, target.pos )) { accuracy *= 0.5f; - } else if (subClass == HeroSubClass.SNIPER){ - //+10% accuracy per tile of distance - accuracy *= .9f + (.1f * Dungeon.level.distance( pos, target.pos)); + } else { + accuracy *= 1.5f; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/SpiritBow.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/SpiritBow.java index da45248d9..c5f52b482 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/SpiritBow.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/SpiritBow.java @@ -138,6 +138,14 @@ public class SpiritBow extends Weapon { @Override public int damageRoll(Char owner) { int damage = augment.damageFactor(super.damageRoll(owner)); + + if (owner instanceof Hero) { + int exStr = ((Hero)owner).STR() - STRReq(); + if (exStr > 0) { + damage += Random.IntRange( 0, exStr ); + } + } + if (sniperSpecial){ switch (augment){ case NONE: @@ -149,13 +157,7 @@ public class SpiritBow extends Weapon { case DAMAGE: int distance = Dungeon.level.distance(owner.pos, targetPos) - 1; damage = Math.round(damage * (1f + 0.1f * distance)); - } - } - - if (owner instanceof Hero) { - int exStr = ((Hero)owner).STR() - STRReq(); - if (exStr > 0) { - damage += Random.IntRange( 0, exStr ); + break; } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java index 204b8e0ac..129a560be 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/ThrowingHammer.java @@ -42,6 +42,6 @@ public class ThrowingHammer extends MissileWeapon { @Override public int max(int lvl) { return 4 * tier + //20 base, down from 25 - (tier-1) * lvl; //+4 per level, down from +5 + (tier) * lvl; //scaling unchanged } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java index e68bfa252..ccef88f9a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/missiles/Tomahawk.java @@ -44,7 +44,7 @@ public class Tomahawk extends MissileWeapon { @Override public int max(int lvl) { return Math.round(3.75f * tier) + //15 base, down from 20 - (tier-1)*lvl; //+3 per level, down from +4 + (tier-2)*lvl; //+2 per level, down from +4 } @Override diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties index 326d34c89..5d128bad3 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties @@ -333,7 +333,7 @@ actors.hero.herosubclass.assassin_desc=While invisible the _Assassin_ prepares a actors.hero.herosubclass.freerunner=freerunner actors.hero.herosubclass.freerunner_desc=The _Freerunner_ builds momentum as he runs. Momentum increases his movement speed and evasion, but it quickly fades when he isn't moving. actors.hero.herosubclass.sniper=sniper -actors.hero.herosubclass.sniper_desc=The _Sniper_ is a master of ranged combat. She gains increased vision, her ranged attacks pierce armor, and her ranged attacks gain bonus accuracy based on attack distance. After striking with a thrown weapon, she can follow up with a special attack from her bow. +actors.hero.herosubclass.sniper_desc=The _Sniper_ is a master of ranged combat. She gains increased vision and her ranged attacks pierce armor. After striking with a thrown weapon, she can follow up with a special attack from her bow. actors.hero.herosubclass.warden=warden actors.hero.herosubclass.warden_desc=The _Warden_ has a strong connection to nature which allows her to see through tall grass and command furrowed grass to sprout around plants she grows. Plants she tramples will also give bonus effects, tipped darts gain 2x durability, and grass will give her an armor boost when she stands in it. diff --git a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties index 8583cc516..4dc4c30bf 100644 --- a/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties +++ b/core/src/main/resources/com/shatteredpixel/shatteredpixeldungeon/messages/items/items.properties @@ -1385,7 +1385,7 @@ items.weapon.missiles.javelin.name=javelin items.weapon.missiles.javelin.desc=These larger throwing spears are weighted to keep the spike at their tip foremost as they sail through the air. items.weapon.missiles.missileweapon.stats=This _tier-%1$d_ thrown weapon deals _%2$d-%3$d damage_ and requires _%4$d strength_ to use properly. -items.weapon.missiles.missileweapon.distance=This weapon is designed to be used at a distance, it is much less accurate at melee range. +items.weapon.missiles.missileweapon.distance=This weapon is designed to be used at a distance, it is more accurate against distant enemies, but also much less accurate at melee range. items.weapon.missiles.missileweapon.durability=Thrown weapons will wear out and break as they are used. items.weapon.missiles.missileweapon.uses_left=This stack of weapons has _%d/%d_ uses left before one breaks. items.weapon.missiles.missileweapon.unlimited_uses=_But these are of such high quality that they will effectively last forever._