aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionKill.java9
-rw-r--r--src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionKill.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionKill.java
index b11cce84..70ec68d6 100755
--- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionKill.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/actions/ActionKill.java
@@ -4,6 +4,7 @@ import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import kr.syeyoung.dungeonsguide.dungeon.DungeonActionManager;
import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint;
+import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonSecret;
import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom;
import kr.syeyoung.dungeonsguide.utils.RenderUtils;
import lombok.Data;
@@ -34,6 +35,14 @@ public class ActionKill extends AbstractAction {
@Override
public boolean isComplete(DungeonRoom dungeonRoom) {
+ Vec3 spawn = new Vec3(target.getBlockPos(dungeonRoom));
+ for (Integer killed : DungeonActionManager.getKilleds()) {
+ if (DungeonActionManager.getSpawnLocation().get(killed) == null) continue;
+ if (DungeonActionManager.getSpawnLocation().get(killed).squareDistanceTo(spawn) < 100) {
+ return true;
+ }
+ }
+
return killed;
}
diff --git a/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java b/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
index 680fd1a2..dcea61ca 100644
--- a/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
+++ b/src/main/java/kr/syeyoung/dungeonsguide/pathfinding/NodeProcessorDungeonRoom.java
@@ -68,6 +68,8 @@ public class NodeProcessorDungeonRoom extends NodeProcessor {
|| state.getBlock() == Blocks.vine || state.getBlock() == Blocks.ladder
|| state.getBlock() == Blocks.standing_sign || state.getBlock() == Blocks.wall_sign
|| state.getBlock() == Blocks.trapdoor || state.getBlock() == Blocks.iron_trapdoor
+ || state.getBlock() == Blocks.wooden_button || state.getBlock() == Blocks.stone_button
+ || state.getBlock() == Blocks.fire
|| (state == Blocks.stone.getStateFromMeta(2));
}
}