diff --git a/core/assets/maps/craters.mmap b/core/assets/maps/craters.mmap index 81b3e3c29f..8d6686f4cf 100644 Binary files a/core/assets/maps/craters.mmap and b/core/assets/maps/craters.mmap differ diff --git a/core/assets/maps/groundZero.mmap b/core/assets/maps/groundZero.mmap index 4edf31be3e..94c691a8f2 100644 Binary files a/core/assets/maps/groundZero.mmap and b/core/assets/maps/groundZero.mmap differ diff --git a/core/assets/maps/test.mmap b/core/assets/maps/test.mmap deleted file mode 100644 index 486ceae3f9..0000000000 Binary files a/core/assets/maps/test.mmap and /dev/null differ diff --git a/core/src/io/anuke/mindustry/content/Blocks.java b/core/src/io/anuke/mindustry/content/Blocks.java index 811152f180..b1676b21ab 100644 --- a/core/src/io/anuke/mindustry/content/Blocks.java +++ b/core/src/io/anuke/mindustry/content/Blocks.java @@ -1052,7 +1052,7 @@ public class Blocks implements ContentList{ range = 90f; shootCone = 15f; ammoUseEffect = Fx.shellEjectSmall; - health = 110; + health = 150; inaccuracy = 2f; rotatespeed = 10f; }}; diff --git a/core/src/io/anuke/mindustry/content/Zones.java b/core/src/io/anuke/mindustry/content/Zones.java index 6e6eca1c1a..37d5e16993 100644 --- a/core/src/io/anuke/mindustry/content/Zones.java +++ b/core/src/io/anuke/mindustry/content/Zones.java @@ -21,7 +21,7 @@ public class Zones implements ContentList{ deployCost = ItemStack.with(Items.copper, 60); startingItems = ItemStack.with(Items.copper, 50); alwaysUnlocked = true; - conditionWave = 5; + conditionWave = 10; launchPeriod = 5; rules = () -> new Rules(){{ waves = true; @@ -63,14 +63,14 @@ public class Zones implements ContentList{ craters = new Zone("craters", new MapGenerator("craters", 1).dist(0)){{ deployCost = ItemStack.with(Items.copper, 200); startingItems = ItemStack.with(Items.copper, 200); - conditionWave = 15; + conditionWave = 10; itemRequirements = ItemStack.with(Items.copper, 2000); zoneRequirements = new Zone[]{groundZero}; blockRequirements = new Block[]{Blocks.router}; rules = () -> new Rules(){{ waves = true; waveTimer = true; - waveSpacing = 60 * 60; + waveSpacing = 60 * 60 * 1.5f; spawns = Array.with( new SpawnGroup(UnitTypes.dagger){{ unitScaling = 2; @@ -112,13 +112,13 @@ public class Zones implements ContentList{ .decor(new Decoration(Blocks.snow, Blocks.sporeCluster, 0.02))){{ deployCost = ItemStack.with(Items.copper, 500); startingItems = ItemStack.with(Items.copper, 400); - conditionWave = 15; + conditionWave = 10; zoneRequirements = new Zone[]{craters}; itemRequirements = ItemStack.with(Items.copper, 4000, Items.lead, 2000); rules = () -> new Rules(){{ waves = true; waveTimer = true; - waveSpacing = 60 * 60; + waveSpacing = 60 * 60 * 1.5f; spawns = Array.with( new SpawnGroup(UnitTypes.titan){{ unitScaling = 3; diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index a938df21a3..1128efc470 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -329,7 +329,7 @@ public class NetServer implements ApplicationListener{ player.y = prevy; //set interpolator target to *new* position so it moves toward it - player.getInterpolator().read(player.x, player.y, newx, newy, sent, rotation, baseRotation); + player.getInterpolator().read(player.x, player.y, newx, newy, rotation, baseRotation); player.velocity().set(xVelocity, yVelocity); //only for visual calculation purposes, doesn't actually update the player connection.lastRecievedClientSnapshot = snapshotID; diff --git a/core/src/io/anuke/mindustry/entities/type/Player.java b/core/src/io/anuke/mindustry/entities/type/Player.java index 69181c989a..df332cd260 100644 --- a/core/src/io/anuke/mindustry/entities/type/Player.java +++ b/core/src/io/anuke/mindustry/entities/type/Player.java @@ -11,10 +11,7 @@ import io.anuke.arc.math.Mathf; import io.anuke.arc.math.geom.Geometry; import io.anuke.arc.math.geom.Rectangle; import io.anuke.arc.math.geom.Vector2; -import io.anuke.arc.util.Align; -import io.anuke.arc.util.Interval; -import io.anuke.arc.util.Pack; -import io.anuke.arc.util.Time; +import io.anuke.arc.util.*; import io.anuke.arc.util.pooling.Pools; import io.anuke.mindustry.content.Fx; import io.anuke.mindustry.content.Mechs; @@ -410,6 +407,7 @@ public class Player extends Unit implements BuilderTrait, ShooterTrait{ Draw.reset(); Pools.free(layout); font.getData().setScale(1f); + font.setColor(Color.WHITE); font.setUseIntegerPositions(ints); } diff --git a/core/src/io/anuke/mindustry/net/NetworkIO.java b/core/src/io/anuke/mindustry/net/NetworkIO.java index 5d1312db55..04375e7a15 100644 --- a/core/src/io/anuke/mindustry/net/NetworkIO.java +++ b/core/src/io/anuke/mindustry/net/NetworkIO.java @@ -44,6 +44,7 @@ public class NetworkIO{ stream.writeInt(player.id); player.write(stream); + world.spawner.write(stream); SaveIO.getSaveWriter().writeMap(stream); stream.write(Team.all.length); @@ -105,6 +106,7 @@ public class NetworkIO{ world.beginMapLoad(); //map + world.spawner.read(stream); SaveIO.getSaveWriter().readMap(stream); world.setMap(new Map(map, 0, 0)); diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index b84c0e8e6d..dbbbebe360 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -40,7 +40,7 @@ public class PausedDialog extends FloatingDialog{ cont.addButton("$back", this::hide).colspan(2).width(dw*2 + 20f); cont.row(); - cont.addButton("$database", ui.database::show); + cont.addButton("techtree", ui.tech::show); cont.addButton("$settings", ui.settings::show); if(!world.isZone()){ diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java index 06e538783f..47579f1de3 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -20,6 +20,7 @@ import io.anuke.mindustry.graphics.Palette; import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.net.Net; import io.anuke.mindustry.type.Item; +import io.anuke.mindustry.type.ItemType; import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.meta.BlockFlag; @@ -58,7 +59,7 @@ public class CoreBlock extends StorageBlock{ @Override public int getMaximumAccepted(Tile tile, Item item){ - return itemCapacity * state.teams.get(tile.getTeam()).cores.size; + return item.type == ItemType.material ? itemCapacity * state.teams.get(tile.getTeam()).cores.size : 0; } @Override