From ef5478279b9387da51b3328a37d4a09a3d56eacc Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 20 Oct 2018 11:48:59 -0400 Subject: [PATCH] Fixed 2 crashes --- core/src/io/anuke/mindustry/ai/Pathfinder.java | 3 ++- core/src/io/anuke/mindustry/game/Teams.java | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/core/src/io/anuke/mindustry/ai/Pathfinder.java b/core/src/io/anuke/mindustry/ai/Pathfinder.java index b47040647f..7f9c77970c 100644 --- a/core/src/io/anuke/mindustry/ai/Pathfinder.java +++ b/core/src/io/anuke/mindustry/ai/Pathfinder.java @@ -14,6 +14,7 @@ import io.anuke.mindustry.world.meta.BlockFlag; import io.anuke.ucore.core.Events; import io.anuke.ucore.core.Timers; import io.anuke.ucore.util.Geometry; +import io.anuke.ucore.util.Structs; import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.world; @@ -82,7 +83,7 @@ public class Pathfinder{ } public float getValueforTeam(Team team, int x, int y){ - return paths == null || team.ordinal() >= paths.length ? 0 : paths[team.ordinal()].weights[x][y]; + return paths == null || team.ordinal() >= paths.length ? 0 : Structs.inBounds(x, y, paths[team.ordinal()].weights) ? paths[team.ordinal()].weights[x][y] : 0; } private boolean passable(Tile tile, Team team){ diff --git a/core/src/io/anuke/mindustry/game/Teams.java b/core/src/io/anuke/mindustry/game/Teams.java index 1a3683d3a9..7b004b37d2 100644 --- a/core/src/io/anuke/mindustry/game/Teams.java +++ b/core/src/io/anuke/mindustry/game/Teams.java @@ -19,8 +19,6 @@ public class Teams{ * @param enemies The array of enemies of this team. Any team not in this array is considered neutral. */ public void add(Team team, Team... enemies){ - if(map[team.ordinal()] != null) throw new RuntimeException("Can't define team information twice!"); - map[team.ordinal()] = new TeamData(team, EnumSet.of(enemies)); }