diff --git a/core/src/main/assets/messages/actors/actors.properties b/core/src/main/assets/messages/actors/actors.properties index 239d8d41d..50cf768dc 100644 --- a/core/src/main/assets/messages/actors/actors.properties +++ b/core/src/main/assets/messages/actors/actors.properties @@ -331,7 +331,7 @@ actors.hero.talent.restored_willpower.desc=_+1:_ Drinking a potion of healing in actors.hero.talent.runic_transference.title=runic transference actors.hero.talent.runic_transference.desc=_+1:_ The Warrior's broken seal can transfer _common glyphs_ in the same way it transfers an upgrade.\n\n_+2:_ The Warrior's broken seal can transfer _common and uncommon glyphs_ in the same way it transfers an upgrade. actors.hero.talent.lethal_momentum.title=lethal momentum -actors.hero.talent.lethal_momentum.desc=_+1:_ When the Warrior kills an enemy, his next attack within _1 turn_ is instantaneous.\n\n_+2:_ When the Warrior kills an enemy, his next attack within _3 turns_ is instantaneous. +actors.hero.talent.lethal_momentum.desc=_+1:_ When the Warrior kills an enemy, the killing blow has a _67% chance_ to be instantaneous.\n\n_+2:_ When the Warrior kills an enemy, the killing blow has a _100% chance_ to be instantaneous. actors.hero.talent.improvised_projectiles.title=improvised projectiles actors.hero.talent.improvised_projectiles.desc=_+1:_ The Warrior can blind an enemy for _2 turns_ by throwing any item that isn’t a thrown weapon at them. This has a 30 turn cooldown.\n\n_+2:_ The Warrior can blind an enemy for _3 turns_ by throwing any item that isn’t a thrown weapon at them. This has a 30 turn cooldown. diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index b024b3ac9..8b6ee36e2 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -527,6 +527,11 @@ public class Hero extends Char { } public float attackDelay() { + if (buff(Talent.LethalMomentumTracker.class) != null){ + buff(Talent.LethalMomentumTracker.class).detach(); + return 0; + } + if (belongings.weapon != null) { return belongings.weapon.speedFactor( this ); 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 d26822785..5213b08ad 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 @@ -107,6 +107,7 @@ public enum Talent { DURABLE_PROJECTILES(56); public static class ImprovisedProjectileCooldown extends FlavourBuff{}; + public static class LethalMomentumTracker extends FlavourBuff{}; public static class RejuvenatingStepsCooldown extends FlavourBuff{}; int icon; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java index 073374814..f87abac49 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java @@ -670,6 +670,12 @@ public abstract class Mob extends Char { if (alignment == Alignment.ENEMY){ rollToDropLoot(); + + if (cause == Dungeon.hero + && Dungeon.hero.hasTalent(Talent.LETHAL_MOMENTUM) + && Random.Float() < 0.34f + 0.33f* Dungeon.hero.pointsInTalent(Talent.LETHAL_MOMENTUM)){ + Buff.affect(Dungeon.hero, Talent.LethalMomentumTracker.class, 1f); + } } if (Dungeon.hero.isAlive() && !Dungeon.level.heroFOV[pos]) {