From e8e29910b358adc4ee0b179adb0e09efc612488d Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 6 May 2016 19:00:56 -0400 Subject: [PATCH] v0.3.5a: balance changes to warrior --- .../actors/buffs/Berserk.java | 4 ++-- .../shatteredpixeldungeon/actors/buffs/Combo.java | 14 +++++++++----- .../shatteredpixeldungeon/items/BrokenSeal.java | 2 +- .../messages/actors/actors.properties | 2 +- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Berserk.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Berserk.java index 680b54cf1..34188f58c 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Berserk.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Berserk.java @@ -17,7 +17,7 @@ public class Berserk extends Buff { } private State state = State.NORMAL; - private static final int EXHAUSTION_START = 30; + private static final int EXHAUSTION_START = 40; private int exhaustion; private static final float LEVEL_RECOVER_START = 3f; @@ -77,7 +77,7 @@ public class Berserk extends Buff { bonus = (50 - exhaustion) / 50f; } else { float percentMissing = 1f - target.HP/(float)target.HT; - bonus = 1f + (percentMissing * percentMissing); + bonus = 1f + (float)Math.pow(percentMissing, 3); } return Math.round(dmg * bonus); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java index c23ed2502..a1521812e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/Combo.java @@ -197,18 +197,21 @@ public class Combo extends Buff implements ActionIndicator.Action { //variance in damage dealt switch(type){ case CLOBBER: - dmg = Math.round(dmg*0.5f); + dmg = Math.round(dmg*0.6f); break; case CLEAVE: - dmg = Math.round(dmg*1.4f); + dmg = Math.round(dmg*1.5f); break; case SLAM: + //rolls 2 times, takes the highest roll + int dmgReroll = target.damageRoll(); + if (dmgReroll > dmg) dmg = dmgReroll; dmg = Math.round(dmg*1.6f); break; case CRUSH: //rolls 4 times, takes the highest roll for (int i = 1; i < 4; i++) { - int dmgReroll = target.damageRoll(); + dmgReroll = target.damageRoll(); if (dmgReroll > dmg) dmg = dmgReroll; } dmg = Math.round(dmg*2.5f); @@ -249,7 +252,7 @@ public class Combo extends Buff implements ActionIndicator.Action { } } } - Buff.prolong(enemy, Paralysis.class, Random.NormalIntRange(0, 2)); + Buff.prolong(enemy, Paralysis.class, Random.NormalIntRange(1, 4)); } break; case SLAM: @@ -279,8 +282,9 @@ public class Combo extends Buff implements ActionIndicator.Action { switch(type){ case CLEAVE: if (!enemy.isAlive()) { - //combo isn't reset, but rather increments with a cleave kill + //combo isn't reset, but rather increments with a cleave kill, and grants more time. hit(); + comboTime = 10f; } else { detach(); ActionIndicator.clearAction(Combo.this); diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java b/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java index e12cc3f7a..4a799cf92 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java +++ b/src/com/shatteredpixel/shatteredpixeldungeon/items/BrokenSeal.java @@ -90,7 +90,7 @@ public class BrokenSeal extends Item { if (armor == null) detach(); else if (armor.isEquipped((Hero)target)) { if (target.SHLD < maxShield()){ - partialShield += 1/(30*Math.pow(0.9f, (maxShield() - target.SHLD - 1))); + partialShield += 1/(35*Math.pow(0.885f, (maxShield() - target.SHLD - 1))); } } while (partialShield >= 1){ diff --git a/src/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties b/src/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties index 776fc17b0..c174b385e 100644 --- a/src/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties +++ b/src/com/shatteredpixel/shatteredpixeldungeon/messages/actors/actors.properties @@ -80,7 +80,7 @@ actors.buffs.combo.bad_target=You must target an enemy in attack range. actors.buffs.combo.clobber_prompt=Select a target to Clobber\nStuns and knocks back actors.buffs.combo.clobber_desc=_Clobber_ is currently available. This attack _knocks an enemy back and stuns them,_ but deals reduced damage. It's excellent for buying a little time during a fight. actors.buffs.combo.cleave_prompt=Select a target to Cleave\nIf it kills, preserves combo -actors.buffs.combo.cleave_desc=_Cleave_ is currently available. This attack deals increased damage, and _if it kills an enemy, it will increase combo instead of resetting it._ It's great for building combo when fighting multiple enemies. +actors.buffs.combo.cleave_desc=_Cleave_ is currently available. This attack deals increased damage, and _if it kills an enemy, it will preserve combo instead of resetting it._ It's great for building combo when fighting multiple enemies. actors.buffs.combo.slam_prompt=Select a target to Slam\nShields you based on damage actors.buffs.combo.slam_desc=_Slam_ is currently available. This attack deals increased damage, and _grants you shielding_ proportional to the damage you deal. It's great for finishing a fight, letting you carry over endurance to the next one. actors.buffs.combo.crush_prompt=Select a target to Crush\nDeals lots of damage