From ea3d9db28508a3c73f737de0f44d13d8984f7082 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 12 Jul 2024 12:10:20 -0400 Subject: [PATCH] v2.5.0: Various dmg numbers buffs to duelist abilities, and 1 nerf: Lunge Ability: - Rapier dmg boost up to roughly +100% from +80% - Katana dmg boost up to roughly +67% from +50% Cleave Ability: - Shortsword base dmg boost up to +4 from +3 - Sword base dmg boost up to +5 from +4 - Longsword base dmg boost up to +6 from +4 - Greatsword base dmg boost up to +7 from +5 Spike Ability: - Spear dmg boost up to roughly +80% from +60% - Glaive dmg boost up to roughly +55% from +45% - Whip's lash ability damage boost removed, was roughly +20% - Greataxe's Retribution ability base dmg boost up to +15 from +12 --- .../items/weapon/melee/Glaive.java | 8 ++++---- .../items/weapon/melee/Greataxe.java | 8 ++++---- .../items/weapon/melee/Greatsword.java | 8 ++++---- .../items/weapon/melee/Katana.java | 8 ++++---- .../items/weapon/melee/Longsword.java | 8 ++++---- .../items/weapon/melee/Rapier.java | 8 ++++---- .../items/weapon/melee/Shortsword.java | 8 ++++---- .../items/weapon/melee/Spear.java | 8 ++++---- .../items/weapon/melee/Sword.java | 8 ++++---- .../items/weapon/melee/Whip.java | 13 +++++-------- 10 files changed, 41 insertions(+), 44 deletions(-) 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 ae4629141..2afe0c182 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 @@ -51,19 +51,19 @@ public class Glaive extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(12+2*lvl) damage, roughly +55% base damage, +45% scaling - int dmgBoost = augment.damageFactor(12 + 2*buffedLvl()); + //+(12+2.5*lvl) damage, roughly +55% base damage, +55% scaling + int dmgBoost = augment.damageFactor(12 + Math.round(2.5f*buffedLvl())); Spear.spikeAbility(hero, target, 1, dmgBoost, this); } public String upgradeAbilityStat(int level){ - int dmgBoost = 12 + 2*level; + int dmgBoost = 12 + Math.round(2.5f*level); return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 12 + 2*buffedLvl() : 12; + int dmgBoost = levelKnown ? 12 + Math.round(2.5f*buffedLvl()) : 12; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { 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 4aaf4a79f..71f773ec9 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 @@ -95,8 +95,8 @@ public class Greataxe extends MeleeWeapon { beforeAbilityUsed(hero, enemy); AttackIndicator.target(enemy); - //+(12+(2*lvl)) damage, roughly +50% base damage, +55% scaling - int dmgBoost = augment.damageFactor(12 + 2*buffedLvl()); + //+(15+(2*lvl)) damage, roughly +60% base damage, +55% scaling + int dmgBoost = augment.damageFactor(15 + 2*buffedLvl()); if (hero.attack(enemy, 1, dmgBoost, Char.INFINITE_ACCURACY)){ Sample.INSTANCE.play(Assets.Sounds.HIT_STRONG); @@ -116,7 +116,7 @@ public class Greataxe extends MeleeWeapon { @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 12 + 2*buffedLvl() : 12; + int dmgBoost = levelKnown ? 15 + 2*buffedLvl() : 15; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -125,7 +125,7 @@ public class Greataxe extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 12 + 2*level; + int dmgBoost = 15 + 2*level; return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java index 37824e84d..e70a4c209 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Greatsword.java @@ -53,14 +53,14 @@ public class Greatsword extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(5+lvl) damage, roughly +30% base dmg, +30% scaling - int dmgBoost = augment.damageFactor(5 + buffedLvl()); + //+(7+lvl) damage, roughly +40% base dmg, +30% scaling + int dmgBoost = augment.damageFactor(7 + buffedLvl()); Sword.cleaveAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 5 + buffedLvl() : 5; + int dmgBoost = levelKnown ? 7 + buffedLvl() : 7; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -69,7 +69,7 @@ public class Greatsword extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 5 + level; + int dmgBoost = 7 + level; return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Katana.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Katana.java index 4944b6d4c..63bcca115 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Katana.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Katana.java @@ -55,14 +55,14 @@ public class Katana extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(6+1.5*lvl) damage, roughly +50% damage - int dmgBoost = augment.damageFactor(6 + Math.round(1.5f*buffedLvl())); + //+(8+2*lvl) damage, roughly +67% damage + int dmgBoost = augment.damageFactor(8 + Math.round(2f*buffedLvl())); Rapier.lungeAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 6 + Math.round(1.5f*buffedLvl()) : 6; + int dmgBoost = levelKnown ? 8 + Math.round(2f*buffedLvl()) : 8; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -71,7 +71,7 @@ public class Katana extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 6 + Math.round(1.5f*level); + int dmgBoost = 8 + Math.round(2f*level); return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java index 66a748b5c..33f1d5e45 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Longsword.java @@ -53,14 +53,14 @@ public class Longsword extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(4+lvl) damage, roughly +30% base dmg, +33% scaling - int dmgBoost = augment.damageFactor(4 + buffedLvl()); + //+(6+lvl) damage, roughly +40% base dmg, +33% scaling + int dmgBoost = augment.damageFactor(6 + buffedLvl()); Sword.cleaveAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 4 + buffedLvl() : 4; + int dmgBoost = levelKnown ? 6 + buffedLvl() : 6; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -69,7 +69,7 @@ public class Longsword extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 4 + level; + int dmgBoost = 6 + level; return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Rapier.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Rapier.java index b5917904f..d7f497461 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Rapier.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Rapier.java @@ -68,14 +68,14 @@ public class Rapier extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(4+lvl) damage, roughly +90% base damage, +67% scaling - int dmgBoost = augment.damageFactor(4 + buffedLvl()); + //+(5+1.5*lvl) damage, roughly +111% base damage, +100% scaling + int dmgBoost = augment.damageFactor(5 + Math.round(1.5f*buffedLvl())); lungeAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 4+buffedLvl() : 4; + int dmgBoost = levelKnown ? 5 + Math.round(1.5f*buffedLvl()) : 5; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -84,7 +84,7 @@ public class Rapier extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 4 + level; + int dmgBoost = 5 + Math.round(1.5f*level); return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java index 7e0cac850..da45a6230 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Shortsword.java @@ -53,14 +53,14 @@ public class Shortsword extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(3+lvl) damage, roughly +35% base dmg, +50% scaling - int dmgBoost = augment.damageFactor(3 + buffedLvl()); + //+(4+lvl) damage, roughly +50% base dmg, +50% scaling + int dmgBoost = augment.damageFactor(4 + buffedLvl()); Sword.cleaveAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 3 + buffedLvl() : 3; + int dmgBoost = levelKnown ? 4 + buffedLvl() : 4; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -69,7 +69,7 @@ public class Shortsword extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 3 + level; + int dmgBoost = 4 + level; return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } } 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 53d8eb1ab..f515d17b1 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 @@ -62,14 +62,14 @@ public class Spear extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(7+1.5*lvl) damage, roughly +65% base damage, +60% scaling - int dmgBoost = augment.damageFactor(7 + Math.round(1.5f*buffedLvl())); + //+(9+2*lvl) damage, roughly +83% base damage, +80% scaling + int dmgBoost = augment.damageFactor(9 + Math.round(2f*buffedLvl())); Spear.spikeAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 7 + Math.round(1.5f*buffedLvl()) : 7; + int dmgBoost = levelKnown ? 9 + Math.round(2f*buffedLvl()) : 9; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -78,7 +78,7 @@ public class Spear extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 7 + Math.round(1.5f*level); + int dmgBoost = 9 + Math.round(2f*level); return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java index bc8e2fce4..388d07632 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Sword.java @@ -63,14 +63,14 @@ public class Sword extends MeleeWeapon { @Override protected void duelistAbility(Hero hero, Integer target) { - //+(4+lvl) damage, roughly +35% base dmg, +40% scaling - int dmgBoost = augment.damageFactor(4 + buffedLvl()); + //+(5+lvl) damage, roughly +45% base dmg, +40% scaling + int dmgBoost = augment.damageFactor(5 + buffedLvl()); Sword.cleaveAbility(hero, target, 1, dmgBoost, this); } @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 4 + buffedLvl() : 4; + int dmgBoost = levelKnown ? 5 + buffedLvl() : 5; if (levelKnown){ return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); } else { @@ -79,7 +79,7 @@ public class Sword extends MeleeWeapon { } public String upgradeAbilityStat(int level){ - int dmgBoost = 4 + level; + int dmgBoost = 5 + level; return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java index 56755c3fa..428b1ce5f 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/melee/Whip.java @@ -82,10 +82,9 @@ public class Whip extends MeleeWeapon { @Override public void call() { beforeAbilityUsed(hero, finalClosest); - //+(2+0.5*lvl) damage, roughly +20% base damage, +25% scaling - int dmgBoost = augment.damageFactor(2 + Math.round(0.5f*buffedLvl())); for (Char ch : targets) { - hero.attack(ch, 1, dmgBoost, Char.INFINITE_ACCURACY); + //ability does no extra damage + hero.attack(ch, 1, 0, Char.INFINITE_ACCURACY); if (!ch.isAlive()){ onAbilityKill(hero, ch); } @@ -99,16 +98,14 @@ public class Whip extends MeleeWeapon { @Override public String abilityInfo() { - int dmgBoost = levelKnown ? 2 + Math.round(0.5f*buffedLvl()) : 2; if (levelKnown){ - return Messages.get(this, "ability_desc", augment.damageFactor(min()+dmgBoost), augment.damageFactor(max()+dmgBoost)); + return Messages.get(this, "ability_desc", augment.damageFactor(min()), augment.damageFactor(max())); } else { - return Messages.get(this, "typical_ability_desc", min(0)+dmgBoost, max(0)+dmgBoost); + return Messages.get(this, "typical_ability_desc", min(0), max(0)); } } public String upgradeAbilityStat(int level){ - int dmgBoost = 2 + Math.round(0.5f*level); - return augment.damageFactor(min(level)+dmgBoost) + "-" + augment.damageFactor(max(level)+dmgBoost); + return augment.damageFactor(min(level)) + "-" + augment.damageFactor(max(level)); } }