diff --git a/src/main/java/com/toofifty/easygiantsfoundry/HeatActionSolver.java b/src/main/java/com/toofifty/easygiantsfoundry/HeatActionSolver.java index 0478f40..b40a11a 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/HeatActionSolver.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/HeatActionSolver.java @@ -121,15 +121,6 @@ public class HeatActionSolver }; - // index 1 is stage, ordinal order - // index 2 [0] = lava [1] = waterfall - // in units of tiles - public static final int[][] DISTANCE_TO_STAGE = new int[][] { - new int[] {4, 14}, - new int[] {7, 9}, - new int[] {12, 10} - }; - // index is stage, ordinal order public static final int[] TOOL_TICK_CYCLE = new int[] { 5, @@ -368,9 +359,15 @@ public class HeatActionSolver private static int solveTravelTicks(boolean isRunning, Stage stage, boolean isLava) { - final int index1 = stage.ordinal(); - final int index2 = isLava ? 0 : 1; - final int distance = DISTANCE_TO_STAGE[index1][index2]; + final int distance; + if (isLava) + { + distance = stage.getDistanceToLava(); + } + else + { + distance = stage.getDistanceToWaterfall(); + } if (isRunning) { diff --git a/src/main/java/com/toofifty/easygiantsfoundry/enums/Stage.java b/src/main/java/com/toofifty/easygiantsfoundry/enums/Stage.java index 35b670c..72a194e 100644 --- a/src/main/java/com/toofifty/easygiantsfoundry/enums/Stage.java +++ b/src/main/java/com/toofifty/easygiantsfoundry/enums/Stage.java @@ -7,15 +7,18 @@ import lombok.Getter; @AllArgsConstructor public enum Stage { - TRIP_HAMMER("Hammer", Heat.HIGH, 20, -25), - GRINDSTONE("Grind", Heat.MED, 10, 15), - POLISHING_WHEEL("Polish", Heat.LOW, 10, -17); + TRIP_HAMMER("Hammer", Heat.HIGH, 20, -25, 4, 14), + GRINDSTONE("Grind", Heat.MED, 10, 15, 7, 19), + POLISHING_WHEEL("Polish", Heat.LOW, 10, -17, 12, 10); private final String name; private final Heat heat; private final int progressPerAction; private final int heatChange; + private final int distanceToLava; + private final int distanceToWaterfall; + public boolean isHeating() { return heatChange > 0; @@ -25,4 +28,5 @@ public enum Stage { return heatChange < 0; } + }