diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java index ee6a939a5..73cb0e076 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/items/artifacts/TimekeepersHourglass.java @@ -36,6 +36,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item; import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy; import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; +import com.shatteredpixel.shatteredpixeldungeon.plants.Plant; import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite; @@ -357,8 +358,16 @@ public class TimekeepersHourglass extends Artifact { } public void triggerPresses(){ - for (int cell : presses) - Dungeon.level.pressCell(cell); + for (int cell : presses){ + Trap t = Dungeon.level.traps.get(cell); + if (t != null){ + t.trigger(); + } + Plant p = Dungeon.level.plants.get(cell); + if (p != null){ + p.trigger(); + } + } presses = new ArrayList<>(); } @@ -366,7 +375,11 @@ public class TimekeepersHourglass extends Artifact { public void disarmPressedTraps(){ for (int cell : presses){ Trap t = Dungeon.level.traps.get(cell); - if (t != null && t.disarmedByActivation) t.disarm(); + if (t != null && t.disarmedByActivation) { + t.disarm(); + } + + Dungeon.level.uproot(cell); } presses = new ArrayList<>(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java index f389fcf7f..ddb9d4ab3 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/plants/Swiftthistle.java @@ -121,18 +121,29 @@ public class Swiftthistle extends Plant { } } - public void triggerPresses() { - for (int cell : presses) { - Dungeon.level.pressCell(cell); + public void triggerPresses(){ + for (int cell : presses){ + Trap t = Dungeon.level.traps.get(cell); + if (t != null){ + t.trigger(); + } + Plant p = Dungeon.level.plants.get(cell); + if (p != null){ + p.trigger(); + } } - + presses = new ArrayList<>(); } public void disarmPressedTraps(){ for (int cell : presses){ Trap t = Dungeon.level.traps.get(cell); - if (t != null && t.disarmedByActivation) t.disarm(); + if (t != null && t.disarmedByActivation) { + t.disarm(); + } + + Dungeon.level.uproot(cell); } presses = new ArrayList<>();