From 030542890e401c1e9018f47103b30d1cbcfbf5dc Mon Sep 17 00:00:00 2001 From: Anuken Date: Wed, 16 Sep 2020 16:04:11 -0400 Subject: [PATCH] Bugfixes --- core/assets-raw/sprites/ui/pack.json | 1 - core/src/mindustry/ai/types/RepairAI.java | 4 ++-- core/src/mindustry/content/Blocks.java | 6 +++--- core/src/mindustry/core/World.java | 12 ++++++++++++ core/src/mindustry/editor/EditorTile.java | 6 +++++- core/src/mindustry/maps/Map.java | 2 +- core/src/mindustry/maps/Maps.java | 1 + core/src/mindustry/ui/fragments/ChatFragment.java | 2 +- 8 files changed, 25 insertions(+), 9 deletions(-) diff --git a/core/assets-raw/sprites/ui/pack.json b/core/assets-raw/sprites/ui/pack.json index 01f4ffedac..fcd452dd9f 100644 --- a/core/assets-raw/sprites/ui/pack.json +++ b/core/assets-raw/sprites/ui/pack.json @@ -4,6 +4,5 @@ flattenPaths: true, maxWidth: 4096, maxHeight: 4096, - minHeight: 2048, fast: true } diff --git a/core/src/mindustry/ai/types/RepairAI.java b/core/src/mindustry/ai/types/RepairAI.java index a90eba3e56..136cbc821b 100644 --- a/core/src/mindustry/ai/types/RepairAI.java +++ b/core/src/mindustry/ai/types/RepairAI.java @@ -12,8 +12,8 @@ public class RepairAI extends AIController{ boolean shoot = false; if(target != null){ - if(!target.within(unit, unit.type().range)){ - moveTo(target, unit.type().range * 0.9f); + if(!target.within(unit, unit.type().range * 0.8f)){ + moveTo(target, unit.type().range * 0.8f); }else{ unit.aim(target); shoot = true; diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 1617e6dbd9..b3a670a54a 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -327,7 +327,7 @@ public class Blocks implements ContentList{ duneWall = new StaticWall("dune-wall"){{ variants = 2; - basalt.asFloor().wall = this; + basalt.asFloor().wall = darksandWater.asFloor().wall = darksandTaintedWater.asFloor().wall = this; }}; sandWall = new StaticWall("sand-wall"){{ @@ -1645,7 +1645,7 @@ public class Blocks implements ContentList{ }}; spectre = new ItemTurret("spectre"){{ - requirements(Category.turret, with(Items.copper, 350, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250)); + requirements(Category.turret, with(Items.copper, 900, Items.graphite, 300, Items.surgealloy, 250, Items.plastanium, 175, Items.thorium, 250)); ammo( Items.graphite, Bullets.standardDenseBig, Items.pyratite, Bullets.standardIncendiaryBig, @@ -1671,7 +1671,7 @@ public class Blocks implements ContentList{ }}; meltdown = new LaserTurret("meltdown"){{ - requirements(Category.turret, with(Items.copper, 250, Items.lead, 350, Items.graphite, 300, Items.surgealloy, 325, Items.silicon, 325)); + requirements(Category.turret, with(Items.copper, 1200, Items.lead, 350, Items.graphite, 300, Items.surgealloy, 325, Items.silicon, 325)); shootEffect = Fx.shootBigSmoke2; shootCone = 40f; recoilAmount = 4f; diff --git a/core/src/mindustry/core/World.java b/core/src/mindustry/core/World.java index 2ec1b4dec6..68d41a171d 100644 --- a/core/src/mindustry/core/World.java +++ b/core/src/mindustry/core/World.java @@ -33,11 +33,17 @@ public class World{ public @NonNull Tiles tiles = new Tiles(0, 0); private boolean generating, invalidMap; + private ObjectMap customMapLoaders = new ObjectMap<>(); public World(){ } + /** Adds a custom handler function for loading a custom map - usually a generated one. */ + public void addMapLoader(Map map, Runnable loader){ + customMapLoaders.put(map, loader); + } + public boolean isInvalidMap(){ return invalidMap; } @@ -270,6 +276,12 @@ public class World{ } public void loadMap(Map map, Rules checkRules){ + //load using custom loader if possible + if(customMapLoaders.containsKey(map)){ + customMapLoaders.get(map).run(); + return; + } + try{ SaveIO.load(map.file, new FilterContext(map)); }catch(Throwable e){ diff --git a/core/src/mindustry/editor/EditorTile.java b/core/src/mindustry/editor/EditorTile.java index 62d9677434..63803d5db8 100644 --- a/core/src/mindustry/editor/EditorTile.java +++ b/core/src/mindustry/editor/EditorTile.java @@ -2,7 +2,6 @@ package mindustry.editor; import arc.func.*; import arc.util.ArcAnnotate.*; -import arc.util.*; import mindustry.content.*; import mindustry.editor.DrawOperation.*; import mindustry.game.*; @@ -47,6 +46,11 @@ public class EditorTile extends Tile{ return; } + //if(this.block == type && (build == null || build.rotation == rotation)){ + // ui.editor.editor.renderer().updatePoint(x, y); + // return; + //} + if(rotation != 0) op(OpType.rotation, (byte)rotation); if(team() != Team.derelict) op(OpType.team, (byte)team().id); op(OpType.block, block.id); diff --git a/core/src/mindustry/maps/Map.java b/core/src/mindustry/maps/Map.java index e47e369140..c5237178b3 100644 --- a/core/src/mindustry/maps/Map.java +++ b/core/src/mindustry/maps/Map.java @@ -130,7 +130,7 @@ public class Map implements Comparable, Publishable{ } public String tag(String name){ - return tags.containsKey(name) && !tags.get(name).trim().isEmpty() ? tags.get(name) : Core.bundle.get("unknown"); + return tags.containsKey(name) && !tags.get(name).trim().isEmpty() ? tags.get(name) : Core.bundle.get("unknown", "unknown"); } public boolean hasTag(String name){ diff --git a/core/src/mindustry/maps/Maps.java b/core/src/mindustry/maps/Maps.java index 44f8c8db6f..54c3856d7d 100644 --- a/core/src/mindustry/maps/Maps.java +++ b/core/src/mindustry/maps/Maps.java @@ -59,6 +59,7 @@ public class Maps{ /** @return the next map to shuffle to. May be null, in which case the server should be stopped. */ public @Nullable Map getNextMap(Gamemode mode, @Nullable Map previous){ + if(shuffler != null) return shuffler.next(mode, previous); return shuffleMode.next(mode, previous); } diff --git a/core/src/mindustry/ui/fragments/ChatFragment.java b/core/src/mindustry/ui/fragments/ChatFragment.java index e07c5dc310..d26a886e2c 100644 --- a/core/src/mindustry/ui/fragments/ChatFragment.java +++ b/core/src/mindustry/ui/fragments/ChatFragment.java @@ -57,7 +57,7 @@ public class ChatFragment extends Table{ } } - return net.active(); + return net.active() && ui.hudfrag.shown(); }); update(() -> {