v2.4.0: plants are now triggered before traps when time freeze ends

this is mainly so that fadeleaf teleportation resolves before traps
This commit is contained in:
Evan Debenham
2024-05-05 13:01:21 -04:00
parent 6f95424996
commit 995d84e53a
2 changed files with 16 additions and 18 deletions
@@ -363,14 +363,14 @@ public class TimekeepersHourglass extends Artifact {
public void triggerPresses(){ public void triggerPresses(){
for (int cell : presses){ for (int cell : presses){
Trap t = Dungeon.level.traps.get(cell);
if (t != null){
t.trigger();
}
Plant p = Dungeon.level.plants.get(cell); Plant p = Dungeon.level.plants.get(cell);
if (p != null){ if (p != null){
p.trigger(); p.trigger();
} }
Trap t = Dungeon.level.traps.get(cell);
if (t != null){
t.trigger();
}
} }
presses = new ArrayList<>(); presses = new ArrayList<>();
@@ -378,15 +378,14 @@ public class TimekeepersHourglass extends Artifact {
public void disarmPresses(){ public void disarmPresses(){
for (int cell : presses){ for (int cell : presses){
Trap t = Dungeon.level.traps.get(cell);
if (t != null && t.disarmedByActivation) {
t.disarm();
}
Plant p = Dungeon.level.plants.get(cell); Plant p = Dungeon.level.plants.get(cell);
if (p != null && !(p instanceof Rotberry)) { if (p != null && !(p instanceof Rotberry)) {
Dungeon.level.uproot(cell); Dungeon.level.uproot(cell);
} }
Trap t = Dungeon.level.traps.get(cell);
if (t != null && t.disarmedByActivation) {
t.disarm();
}
} }
presses = new ArrayList<>(); presses = new ArrayList<>();
@@ -123,14 +123,14 @@ public class Swiftthistle extends Plant {
public void triggerPresses(){ public void triggerPresses(){
for (int cell : presses){ for (int cell : presses){
Trap t = Dungeon.level.traps.get(cell);
if (t != null){
t.trigger();
}
Plant p = Dungeon.level.plants.get(cell); Plant p = Dungeon.level.plants.get(cell);
if (p != null){ if (p != null){
p.trigger(); p.trigger();
} }
Trap t = Dungeon.level.traps.get(cell);
if (t != null){
t.trigger();
}
} }
presses = new ArrayList<>(); presses = new ArrayList<>();
@@ -138,15 +138,14 @@ public class Swiftthistle extends Plant {
public void disarmPresses(){ public void disarmPresses(){
for (int cell : presses){ for (int cell : presses){
Trap t = Dungeon.level.traps.get(cell);
if (t != null && t.disarmedByActivation) {
t.disarm();
}
Plant p = Dungeon.level.plants.get(cell); Plant p = Dungeon.level.plants.get(cell);
if (p != null && !(p instanceof Rotberry)) { if (p != null && !(p instanceof Rotberry)) {
Dungeon.level.uproot(cell); Dungeon.level.uproot(cell);
} }
Trap t = Dungeon.level.traps.get(cell);
if (t != null && t.disarmedByActivation) {
t.disarm();
}
} }
presses = new ArrayList<>(); presses = new ArrayList<>();