From c483ae2c231c5569d73d37149fee5cde0d8e983b Mon Sep 17 00:00:00 2001 From: Anuken Date: Sat, 5 Sep 2020 15:03:13 -0400 Subject: [PATCH] Fixed certain teams not attacking other units --- core/assets/scripts/global.js | 1 + core/src/mindustry/entities/Units.java | 15 +++++++++++++-- .../src/mindustry/tools/ScriptMainGenerator.java | 7 +++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/core/assets/scripts/global.js b/core/assets/scripts/global.js index 3074cebde7..5377350e3d 100755 --- a/core/assets/scripts/global.js +++ b/core/assets/scripts/global.js @@ -79,6 +79,7 @@ importPackage(Packages.mindustry.maps) importPackage(Packages.mindustry.maps.filters) importPackage(Packages.mindustry.maps.generators) importPackage(Packages.mindustry.maps.planet) +importPackage(Packages.mindustry.net) importPackage(Packages.mindustry.type) importPackage(Packages.mindustry.ui) importPackage(Packages.mindustry.ui.dialogs) diff --git a/core/src/mindustry/entities/Units.java b/core/src/mindustry/entities/Units.java index 23e3c56db4..c93ecaffce 100644 --- a/core/src/mindustry/entities/Units.java +++ b/core/src/mindustry/entities/Units.java @@ -251,9 +251,20 @@ public class Units{ /** Iterates over all units that are enemies of this team. */ public static void nearbyEnemies(Team team, float x, float y, float width, float height, Cons cons){ - for(Team enemy : state.teams.enemiesOf(team)){ - nearby(enemy, x, y, width, height, cons); + if(team.active()){ + for(Team enemy : state.teams.enemiesOf(team)){ + nearby(enemy, x, y, width, height, cons); + } + }else{ + //inactive teams have no cache, check everything + //TODO cache all teams with units OR blocks + for(Team other : Team.all){ + if(other != team && teamIndex.count(other) > 0){ + nearby(other, x, y, width, height, cons); + } + } } + } /** Iterates over all units that are enemies of this team. */ diff --git a/tools/src/mindustry/tools/ScriptMainGenerator.java b/tools/src/mindustry/tools/ScriptMainGenerator.java index 06b76360d9..66a5233e29 100644 --- a/tools/src/mindustry/tools/ScriptMainGenerator.java +++ b/tools/src/mindustry/tools/ScriptMainGenerator.java @@ -11,6 +11,7 @@ import arc.struct.*; import arc.util.*; import mindustry.game.*; import mindustry.gen.*; +import mindustry.net.*; import java.io.*; import java.lang.reflect.*; @@ -41,6 +42,8 @@ public class ScriptMainGenerator{ classes.removeAll(type -> type.isSynthetic() || type.isAnonymousClass() || type.getCanonicalName() == null || Modifier.isPrivate(type.getModifiers()) || blacklist.contains(s -> type.getName().startsWith(base + "." + s + ".")) || nameBlacklist.contains(type.getSimpleName())); + classes.add(NetConnection.class); + classes.distinct(); classes.sortComparing(Class::getName); ObjectSet used = ObjectSet.with(); @@ -53,12 +56,12 @@ public class ScriptMainGenerator{ used.add(type.getPackage().getName()); } + Log.info("Imported @ packages.", used.size); + for(Class type : EventType.class.getClasses()){ result.append("const ").append(type.getSimpleName()).append(" = ").append("Packages.").append(type.getName().replace('$', '.')).append("\n"); } - //Log.info(result); - new Fi("core/assets/scripts/global.js").writeString(result.toString()); }