diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index 0b265172c..1136328e1 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -355,7 +355,7 @@ actors.hero.abilities.warrior.endure.name=endure actors.hero.abilities.warrior.endure$enduretracker.name=Endurance actors.hero.abilities.warrior.endure$enduretracker.desc=The Warrior is now dealing bonus damage based on the damage he endured.\n\nBonus Damage: %1$d\nHits Left: %2$d actors.hero.abilities.warrior.endure.short_desc=The Warrior _Endures_, skipping several turns but gaining high damage resistance. He then deals bonus damage based on what he endured. -actors.hero.abilities.warrior.endure.desc=The Warrior endures for 3 turns, taking half damage from all sources. This reduction is applied before damage resisting effects like armor.\n\nAfter enduring, the warrior's next hit within 10 turns gains bonus damage. This bonus damage is equal to one fourth of all the damage inflicted on him while enduring, before any damage reduction effects!\n\nIf the warrior has any combo, using this ability increases its remaining time by 3 turns. +actors.hero.abilities.warrior.endure.desc=The Warrior endures for 3 turns, taking half damage from all sources. This reduction is applied before damage resisting effects like armor.\n\nAfter enduring, the warrior's next hit within 10 turns gains bonus damage. This bonus damage is equal to one third of all the damage inflicted on him while enduring, before any damage reduction effects!\n\nIf the warrior has any combo, using this ability increases its remaining time by 3 turns. actors.hero.abilities.mage.elementalblast.name=elemental blast actors.hero.abilities.mage.elementalblast.short_desc=The Mage emits an _Elemental Blast_ from his staff, covering a large area around him in an effect that varies based on the wand in his staff. @@ -537,12 +537,12 @@ actors.hero.talent.body_slam.desc=_+1:_ When the Warrior lands after jumping, al 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 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. +actors.hero.talent.double_jump.desc=_+1:_ If the Warrior performs a second leap within 5 turns, that leap has a _20% reduced_ charge cost.\n\n_+2:_ If the Warrior performs a second leap within 5 turns, that leap has a _36% reduced_ charge cost.\n\n_+3:_ If the Warrior performs a second leap within 5 turns, that leap has a _50% reduced_ charge cost.\n\n_+4:_ If the Warrior performs a second leap within 5 turns, that leap has a _60% reduced_ charge cost. actors.hero.talent.expanding_wave.title=expanding wave actors.hero.talent.expanding_wave.desc=_+1:_ Shockwave's range is increased to _6 tiles_ from 5, and its width is increased to _75 degrees_ from 60.\n\n_+2:_ Shockwave's range is increased to _7 tiles_ from 5, and its width is increased to _90 degrees_ from 60.\n\n_+3:_ Shockwave's range is increased to _8 tiles_ from 5, and its width is increased to _105 degrees_ from 60.\n\n_+4:_ Shockwave's range is increased to _9 tiles_ from 5, and its width is increased to _120 degrees_ from 60. actors.hero.talent.striking_wave.title=striking wave -actors.hero.talent.striking_wave.desc=_+1:_ Shockwave has a _25% chance_ to also use on-hit effects like enchantments and combo.\n\n_+2:_ Shockwave has a _50% chance_ to also use on-hit effects like enchantments and combo.\n\n_+3:_ Shockwave has a _75% chance_ to also use on-hit effects like enchantments and combo.\n\n_+4:_ Shockwave has a _100% chance_ to also use on-hit effects like enchantments and combo. +actors.hero.talent.striking_wave.desc=_+1:_ Shockwave has a _30% chance_ to also use on-hit effects like enchantments and combo.\n\n_+2:_ Shockwave has a _60% chance_ to also use on-hit effects like enchantments and combo.\n\n_+3:_ Shockwave has a _90% chance_ to also use on-hit effects like enchantments and combo.\n\n_+4:_ Shockwave has a _100% chance_ to also use on-hit effects like enchantments and combo, and it triggers enchantments _20% more often_. 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. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java index 56dc1f7ff..7e24c2d63 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Talent.java @@ -156,6 +156,7 @@ public enum Talent { public String desc() { return Messages.get(this, "desc", dispTurns(visualcooldown())); } }; public static class LethalMomentumTracker extends FlavourBuff{}; + public static class StrikingWaveTracker extends FlavourBuff{}; public static class WandPreservationCounter extends CounterBuff{}; public static class EmpoweredStrikeTracker extends FlavourBuff{}; public static class BountyHunterTracker extends FlavourBuff{}; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Endure.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Endure.java index 4c556d8af..283b93357 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Endure.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Endure.java @@ -100,7 +100,7 @@ public class Endure extends ArmorAbility { public int adjustDamageTaken(int damage){ if (enduring) { - damageBonus += damage/4; + damageBonus += damage/3; return damage/2; } return damage; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/HeroicLeap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/HeroicLeap.java index 0878cfb23..07bb4c717 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/HeroicLeap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/HeroicLeap.java @@ -57,8 +57,8 @@ public class HeroicLeap extends ArmorAbility { public float chargeUse( Hero hero ) { float chargeUse = super.chargeUse(hero); if (hero.buff(DoubleJumpTracker.class) != null){ - //reduced charge use by 24%/42%/56%/67% - chargeUse *= Math.pow(0.76, hero.pointsInTalent(Talent.DOUBLE_JUMP)); + //reduced charge use by 20%/36%/50%/60% + chargeUse *= Math.pow(0.795, hero.pointsInTalent(Talent.DOUBLE_JUMP)); } return chargeUse; } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Shockwave.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Shockwave.java index f590494eb..fa5e0f1a2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Shockwave.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/warrior/Shockwave.java @@ -108,10 +108,14 @@ public class Shockwave extends ArmorAbility { if (ch != null && ch.alignment != hero.alignment){ int scalingStr = hero.STR()-10; int damage = Random.NormalIntRange(5 + scalingStr, 10 + 2*scalingStr); - damage = Math.round(damage * (1f + 0.15f*hero.pointsInTalent(Talent.SHOCK_FORCE))); + damage = Math.round(damage * (1f + 0.2f*hero.pointsInTalent(Talent.SHOCK_FORCE))); damage -= ch.drRoll(); - if (Random.Int(4) < hero.pointsInTalent(Talent.STRIKING_WAVE)){ + if (hero.pointsInTalent(Talent.STRIKING_WAVE) == 4){ + Buff.affect(hero, Talent.StrikingWaveTracker.class, 0f); + } + + if (Random.Int(10) < 3*hero.pointsInTalent(Talent.STRIKING_WAVE)){ damage = hero.attackProc(ch, damage); ch.damage(damage, hero); if (hero.subClass == HeroSubClass.GLADIATOR){ diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java index 75d6bcb0b..3cf2c3450 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/weapon/Weapon.java @@ -361,6 +361,10 @@ abstract public class Weapon extends KindOfWeapon { && ((Hero)attacker).pointsInTalent(Talent.SPIRIT_BLADES) == 4){ multi += 0.1f; } + if (attacker.buff(Talent.StrikingWaveTracker.class) != null + && ((Hero)attacker).pointsInTalent(Talent.STRIKING_WAVE) == 4){ + multi += 0.2f; + } return multi; }