From 5a946e11c2214cc3275997be535ac9deb49d1d28 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 26 May 2020 19:42:15 -0400 Subject: [PATCH] v0.8.1: Various nerfs to weapons and enchants: - Chilling and Shocking proc rate reduced - Shocking no longer harms allies - Sai blocking reduced to 0 from 0-2 - Roundshield base dmg/block reduced to 3-10/0-4 from 3-12/0-5 - Greataxe base dmg reduced to 5-40 from 5-50 - Greatshield base block reduced to 0-6 from 0-10 - Gauntlet blocking reduced to 0 from 0-4 --- core/src/main/assets/messages/items/items.properties | 6 +++--- .../items/weapon/enchantments/Chilling.java | 10 +++++----- .../items/weapon/enchantments/Shocking.java | 12 +++++++----- .../items/weapon/melee/Gauntlet.java | 6 +----- .../items/weapon/melee/Greataxe.java | 2 +- .../items/weapon/melee/Greatshield.java | 2 +- .../items/weapon/melee/RoundShield.java | 7 ++++--- .../items/weapon/melee/Sai.java | 4 ---- 8 files changed, 22 insertions(+), 27 deletions(-) diff --git a/core/src/main/assets/messages/items/items.properties b/core/src/main/assets/messages/items/items.properties index bc8ee5664..41bfda569 100644 --- a/core/src/main/assets/messages/items/items.properties +++ b/core/src/main/assets/messages/items/items.properties @@ -1345,7 +1345,7 @@ items.weapon.melee.flail.stats_desc=This is a rather inaccurate weapon.\nThis we items.weapon.melee.flail.desc=A spiked ball attached to a handle by a length of chain. Very unwieldy, but devastating if it lands a solid hit. items.weapon.melee.gauntlet.name=stone gauntlet -items.weapon.melee.gauntlet.stats_desc=This is a very fast weapon.\nThis weapon blocks 0-4 damage. +items.weapon.melee.gauntlet.stats_desc=This is a very fast weapon. items.weapon.melee.gauntlet.desc=This massive gauntlet is made of crimson fabric with heavy magical stone layered on top. The fabric tightens around you, making the thick stone plates almost like a second skin. Swinging such a heavy weapon requires strength, but adds tremendous force to your blows. items.weapon.melee.glaive.name=glaive @@ -1420,8 +1420,8 @@ items.weapon.melee.runicblade.stats_desc=This weapon benefits more from upgrades items.weapon.melee.runicblade.desc=A mysterious weapon from a distant land, with a bright blue blade. items.weapon.melee.sai.name=sai -items.weapon.melee.sai.stats_desc=This is a very fast weapon.\nThis weapon blocks 0-2 damage. -items.weapon.melee.sai.desc=Two thin blades meant to be wielded in one hand each. Excellent for parrying and swift cuts alike. +items.weapon.melee.sai.stats_desc=This is a very fast weapon. +items.weapon.melee.sai.desc=Two thin blades meant to be wielded in one hand each. Excellent for tearing down enemy with a flurry of cuts. items.weapon.melee.scimitar.name=scimitar items.weapon.melee.scimitar.stats_desc=This is a rather fast weapon. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Chilling.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Chilling.java index e9ae213d7..682f1b581 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Chilling.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Chilling.java @@ -36,12 +36,12 @@ public class Chilling extends Weapon.Enchantment { @Override public int proc( Weapon weapon, Char attacker, Char defender, int damage ) { - // lvl 0 - 33% - // lvl 1 - 50% - // lvl 2 - 60% + // lvl 0 - 25% + // lvl 1 - 40% + // lvl 2 - 50% int level = Math.max( 0, weapon.buffedLvl() ); - - if (Random.Int( level + 3 ) >= 2) { + + if (Random.Int( level + 4 ) >= 3) { //adds 3 turns of chill per proc, with a cap of 6 turns float durationToAdd = 3f; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java index 1a3c95e28..4bac409a2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/enchantments/Shocking.java @@ -42,12 +42,12 @@ public class Shocking extends Weapon.Enchantment { @Override public int proc( Weapon weapon, Char attacker, Char defender, int damage ) { - // lvl 0 - 33% - // lvl 1 - 50% - // lvl 2 - 60% + // lvl 0 - 25% + // lvl 1 - 40% + // lvl 2 - 50% int level = Math.max( 0, weapon.buffedLvl() ); - if (Random.Int( level + 3 ) >= 2) { + if (Random.Int( level + 4 ) >= 3) { affected.clear(); arcs.clear(); @@ -56,7 +56,9 @@ public class Shocking extends Weapon.Enchantment { affected.remove(defender); //defender isn't hurt by lightning for (Char ch : affected) { - ch.damage(Math.round(damage*0.4f), this); + if (ch.alignment != attacker.alignment) { + ch.damage(Math.round(damage * 0.4f), this); + } } attacker.sprite.parent.addToFront( new Lightning( arcs, null ) ); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java index c5d32f215..a52b3c023 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Gauntlet.java @@ -38,9 +38,5 @@ public class Gauntlet extends MeleeWeapon { return Math.round(2.5f*(tier+1)) + //15 base, down from 30 lvl*Math.round(0.5f*(tier+1)); //+3 per level, down from +6 } - - @Override - public int defenseFactor( Char owner ) { - return 4; //4 extra defence - } + } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java index 4c4510d6c..477c6e377 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greataxe.java @@ -33,7 +33,7 @@ public class Greataxe extends MeleeWeapon { @Override public int max(int lvl) { - return 5*(tier+5) + //50 base, up from 30 + return 5*(tier+3) + //40 base, up from 30 lvl*(tier+1); //scaling unchanged } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatshield.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatshield.java index b054ed8d4..c62d93ece 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatshield.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatshield.java @@ -41,7 +41,7 @@ public class Greatshield extends MeleeWeapon { @Override public int defenseFactor( Char owner ) { - return 10+3*buffedLvl(); //10 extra defence, plus 3 per level; + return 6+3*buffedLvl(); //6 extra defence, plus 3 per level; } public String statsInfo(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RoundShield.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RoundShield.java index fd50ead58..371c377e2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RoundShield.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/RoundShield.java @@ -35,13 +35,14 @@ public class RoundShield extends MeleeWeapon { @Override public int max(int lvl) { - return 3*(tier+1) + //12 base, down from 20 - lvl*(tier-1); //+2 per level, down from +4 + return Math.round(2.5f*(tier+1)) + //10 base, down from 20 + lvl*(tier-1); //+2 per level, down from +4 } + @Override public int defenseFactor( Char owner ) { - return 5+2*buffedLvl(); //5 extra defence, plus 2 per level; + return 4+2*buffedLvl(); //4 extra defence, plus 2 per level; } public String statsInfo(){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java index 45eb92e59..ea43bca6e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sai.java @@ -39,8 +39,4 @@ public class Sai extends MeleeWeapon { lvl*Math.round(0.5f*(tier+1)); //+2 per level, down from +4 } - @Override - public int defenseFactor( Char owner ) { - return 2; //2 extra defence - } }