diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MonkEnergy.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MonkEnergy.java index 9a17644ff..e5fe1126e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MonkEnergy.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/buffs/MonkEnergy.java @@ -608,7 +608,10 @@ public class MonkEnergy extends Buff implements ActionIndicator.Action { Buff.affect(hero, MeditateResistance.class, 5f); } - hero.spendAndNext(5f); + //we process this as 5x wait actions instead of one 5 tick action to prevent + // effects like time freeze from eating the whole action duration + for (int i = 0; i < 5; i++) hero.spendConstant(Actor.TICK); + hero.next(); Buff.affect(hero, MonkEnergy.class).abilityUsed(this); } 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 b91e09dfd..640ca5a7a 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 @@ -726,7 +726,7 @@ public class Hero extends Char { } @Override - protected void spendConstant(float time) { + public void spendConstant(float time) { justMoved = false; super.spendConstant(time); }