diff --git a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java index 3844fc3915..86439d478a 100644 --- a/core/src/mindustry/entities/abilities/EnergyFieldAbility.java +++ b/core/src/mindustry/entities/abilities/EnergyFieldAbility.java @@ -10,6 +10,7 @@ import arc.util.*; import mindustry.*; import mindustry.content.*; import mindustry.entities.*; +import mindustry.game.*; import mindustry.gen.*; import mindustry.graphics.*; import mindustry.type.*; @@ -105,11 +106,15 @@ public class EnergyFieldAbility extends Ability{ }); if(hitBuildings){ - Units.nearbyBuildings(rx, ry, range, all::add); + Units.nearbyBuildings(rx, ry, range, b -> { + if(b.team != Team.derelict || state.rules.coreCapture){ + all.add(b); + } + }); } all.sort(h -> h.dst2(rx, ry)); - int len = Math.min(all.size, maxTargets); + int len = Math.min(all.size, maxTargets);// for(int i = 0; i < len; i++){ Healthc other = all.get(i); diff --git a/core/src/mindustry/game/Gamemode.java b/core/src/mindustry/game/Gamemode.java index 6e9dffc06e..950859c7e5 100644 --- a/core/src/mindustry/game/Gamemode.java +++ b/core/src/mindustry/game/Gamemode.java @@ -5,8 +5,6 @@ import arc.func.*; import arc.util.*; import mindustry.maps.*; -import static mindustry.Vars.*; - /** Defines preset rule sets. */ public enum Gamemode{ survival(rules -> { @@ -25,7 +23,7 @@ public enum Gamemode{ rules.waveSpacing = 2f * Time.toMinutes; rules.teams.get(rules.waveTeam).infiniteResources = true; - }, map -> map.teams.contains(state.rules.waveTeam.id)), + }, map -> map.teams.size > 1), pvp(rules -> { rules.pvp = true; rules.enemyCoreBuildRadius = 600f;