v0.9.3: balance tweaks to warrior abilities:

- impact wave scaling down, but now has a chance to inflict vulnerable
- shrug it off now caps at 25% incominb dmg, from 33%
- sustained retribution now deals 15% more total dmg per point, up from 10%
This commit is contained in:
Evan Debenham
2021-05-27 20:26:53 -04:00
parent e22b12c6d3
commit bbbd161099
3 changed files with 12 additions and 6 deletions
@@ -518,7 +518,7 @@ actors.hero.talent.enhanced_combo.desc=_+1:_ When the Gladiator's combo is 7 or
actors.hero.talent.body_slam.title=body slam
actors.hero.talent.body_slam.desc=_+1:_ When the Warrior lands after jumping, all adjacent enemies take _25%_ of his damage blocking power in damage.\n\n_+2:_ When the Warrior lands after jumping, all adjacent enemies take _50%_ of his damage blocking power in damage.\n\n_+3:_ When the Warrior lands after jumping, all adjacent enemies take _75%_ of his damage blocking power in damage.\n\n_+4:_ When the Warrior lands after jumping, all adjacent enemies take _100%_ of his damage blocking power in damage.
actors.hero.talent.impact_wave.title=impact wave
actors.hero.talent.impact_wave.desc=_+1:_ When the Warrior lands after jumping, all adjacent enemies are knocked _2 tiles_ back.\n\n_+2:_ When the Warrior lands after jumping, all adjacent enemies are knocked _4 tiles_ back.\n\n_+3:_ When the Warrior lands after jumping, all adjacent enemies are knocked _6 tiles_ back.\n\n_+4:_ When the Warrior lands after jumping, all adjacent enemies are knocked _8 tiles_ back.
actors.hero.talent.impact_wave.desc=_+1:_ When the Warrior lands after jumping, all adjacent enemies are knocked _2 tiles_ back and have a _25% chance_ of becoming vulnerable for 3 turns.\n\n_+2:_ When the Warrior lands after jumping, all adjacent enemies are knocked _3 tiles_ back and have a _50% chance_ of becoming vulnerable for 3 turns.\n\n_+3:_ When the Warrior lands after jumping, all adjacent enemies are knocked _4 tiles_ back and have a _75% chance_ of becoming vulnerable for 3 turns.\n\n_+4:_ When the Warrior lands after jumping, all adjacent enemies are knocked _5 tiles_ back and have a _100% chance_ of becoming vulnerable for 3 turns.
actors.hero.talent.double_jump.title=double jump
actors.hero.talent.double_jump.desc=_+1:_ If the Warrior performs a second leap within 5 turns, that leap has a _24% reduced_ charge cost.\n\n_+2:_ If the Warrior performs a second leap within 5 turns, that leap has a _42% reduced_ charge cost.\n\n_+3:_ If the Warrior performs a second leap within 5 turns, that leap has a _56% reduced_ charge cost.\n\n_+4:_ If the Warrior performs a second leap within 5 turns, that leap has a _67% reduced_ charge cost.
@@ -530,9 +530,9 @@ actors.hero.talent.shock_force.title=shock force
actors.hero.talent.shock_force.desc=_+1:_ Shockwave deals _20% more damage_ and has a _25% chance_ to stun instead of cripple.\n\n_+2:_ Shockwave deals _50% more damage_ and has a _50% chance_ to stun instead of cripple.\n\n_+3:_ Shockwave deals _60% more damage_ and has a _75% chance_ to stun instead of cripple.\n\n_+4:_ Shockwave deals _80% more damage_ and has a _100% chance_ to stun instead of cripple.
actors.hero.talent.sustained_retribution.title=sustained retribution
actors.hero.talent.sustained_retribution.desc=_+1:_ The Warrior deals _55% bonus damage_ over _2 hits_, instead of 100% over 1 hit.\n\n_+2:_ The Warrior deals _40% bonus damage_ over _3 hits_, instead of 100% over 1 hit.\n\n_+3:_ The Warrior deals _33% bonus damage_ over _4 hits_, instead of 100% over 1 hit.\n\n_+4:_ The Warrior deals _28% bonus damage_ over _5 hits_, instead of 100% over 1 hit.
actors.hero.talent.sustained_retribution.desc=_+1:_ The Warrior deals _115% bonus damage_ spread over _2 hits_, instead of 100% bonus damage in 1 hit.\n\n_+2:_ The Warrior deals _130% bonus damage_ spread over _3 hits_, instead of 100% bonus damage in 1 hit.\n\n_+3:_ The Warrior deals _145% bonus damage_ spread over _4 hits_, instead of 100% bonus damage in 1 hit.\n\n_+4:_ The Warrior deals _160% bonus damage_ spread over _5 hits_, instead of 100% bonus damage in 1 hit.
actors.hero.talent.shrug_it_off.title=shrug it off
actors.hero.talent.shrug_it_off.desc=_+1:_ The Warrior cannot take more than _76% of his max HP_ in damage while enduring.\n\n_+2:_ The Warrior cannot take more than _58% of his max HP_ in damage while enduring.\n\n_+3:_ The Warrior cannot take more than _44% of his max HP_ in damage while enduring.\n\n_+4:_ The Warrior cannot take more than _33% of his max HP_ in damage while enduring.
actors.hero.talent.shrug_it_off.desc=_+1:_ The Warrior cannot take more than _71% of his max HP_ in damage while enduring.\n\n_+2:_ The Warrior cannot take more than _50% of his max HP_ in damage while enduring.\n\n_+3:_ The Warrior cannot take more than _35% of his max HP_ in damage while enduring.\n\n_+4:_ The Warrior cannot take more than _25% of his max HP_ in damage while enduring.
actors.hero.talent.even_the_odds.title=even the odds
actors.hero.talent.even_the_odds.desc=_+1:_ The Warrior deals an additional _5% bonus damage_ for every enemy within 2 tiles when enduring ends.\n\n_+2:_ The Warrior deals an additional _10% bonus damage_ for every enemy within 2 tiles when enduring ends.\n\n_+3:_ The Warrior deals an additional _15% bonus damage_ for every enemy within 2 tiles when enduring ends.\n\n_+4:_ The Warrior deals an additional _20% bonus damage_ for every enemy within 2 tiles when enduring ends.
@@ -93,7 +93,7 @@ public class Endure extends ArmorAbility {
public void setup(Hero hero){
enduring = true;
maxDmgTaken = (int) (hero.HT * Math.pow(0.76f, hero.pointsInTalent(Talent.SHRUG_IT_OFF)));
maxDmgTaken = (int) (hero.HT * Math.pow(0.707f, hero.pointsInTalent(Talent.SHRUG_IT_OFF)));
damageBonus = 0;
hitsLeft = 0;
}
@@ -122,7 +122,7 @@ public class Endure extends ArmorAbility {
}
enduring = false;
damageBonus *= 1f + 0.1f*Dungeon.hero.pointsInTalent(Talent.SUSTAINED_RETRIBUTION);
damageBonus *= 1f + 0.15f*Dungeon.hero.pointsInTalent(Talent.SUSTAINED_RETRIBUTION);
int nearby = 0;
for (Char ch : Actor.chars()){
@@ -27,6 +27,8 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.Char;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Buff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.FlavourBuff;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Invisibility;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Vulnerable;
import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Weakness;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Hero;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.Talent;
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.abilities.ArmorAbility;
@@ -38,6 +40,7 @@ import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
import com.watabou.noosa.Camera;
import com.watabou.utils.Callback;
import com.watabou.utils.PathFinder;
import com.watabou.utils.Random;
public class HeroicLeap extends ArmorAbility {
@@ -97,8 +100,11 @@ public class HeroicLeap extends ArmorAbility {
}
if (mob.pos == hero.pos + i && hero.hasTalent(Talent.IMPACT_WAVE)){
Ballistica trajectory = new Ballistica(mob.pos, mob.pos + i, Ballistica.MAGIC_BOLT);
int strength = 2*hero.pointsInTalent(Talent.IMPACT_WAVE);
int strength = 1+hero.pointsInTalent(Talent.IMPACT_WAVE);
WandOfBlastWave.throwChar(mob, trajectory, strength, true);
if (Random.Int(4) < hero.pointsInTalent(Talent.IMPACT_WAVE)){
Buff.prolong(mob, Vulnerable.class, 3f);
}
}
}
}