v2.0.0: adjusted time freeze, now directly triggers plants/traps
This commit is contained in:
+16
-3
@@ -36,6 +36,7 @@ import com.shatteredpixel.shatteredpixeldungeon.items.Item;
|
|||||||
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
|
import com.shatteredpixel.shatteredpixeldungeon.items.rings.RingOfEnergy;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;
|
import com.shatteredpixel.shatteredpixeldungeon.levels.traps.Trap;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
|
import com.shatteredpixel.shatteredpixeldungeon.plants.Plant;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.ItemSprite;
|
||||||
@@ -357,8 +358,16 @@ public class TimekeepersHourglass extends Artifact {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void triggerPresses(){
|
public void triggerPresses(){
|
||||||
for (int cell : presses)
|
for (int cell : presses){
|
||||||
Dungeon.level.pressCell(cell);
|
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<>();
|
presses = new ArrayList<>();
|
||||||
}
|
}
|
||||||
@@ -366,7 +375,11 @@ public class TimekeepersHourglass extends Artifact {
|
|||||||
public void disarmPressedTraps(){
|
public void disarmPressedTraps(){
|
||||||
for (int cell : presses){
|
for (int cell : presses){
|
||||||
Trap t = Dungeon.level.traps.get(cell);
|
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<>();
|
presses = new ArrayList<>();
|
||||||
|
|||||||
+13
-2
@@ -123,7 +123,14 @@ public class Swiftthistle extends Plant {
|
|||||||
|
|
||||||
public void triggerPresses(){
|
public void triggerPresses(){
|
||||||
for (int cell : presses){
|
for (int cell : presses){
|
||||||
Dungeon.level.pressCell(cell);
|
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<>();
|
presses = new ArrayList<>();
|
||||||
@@ -132,7 +139,11 @@ public class Swiftthistle extends Plant {
|
|||||||
public void disarmPressedTraps(){
|
public void disarmPressedTraps(){
|
||||||
for (int cell : presses){
|
for (int cell : presses){
|
||||||
Trap t = Dungeon.level.traps.get(cell);
|
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<>();
|
presses = new ArrayList<>();
|
||||||
|
|||||||
Reference in New Issue
Block a user