From b427185fac832b68895f2ae1ad397507edd7baa6 Mon Sep 17 00:00:00 2001 From: Anuken Date: Fri, 7 Dec 2018 19:32:44 -0500 Subject: [PATCH] 'Added' attack mode / Core inventory sharing --- core/src/io/anuke/mindustry/game/GameMode.java | 1 - core/src/io/anuke/mindustry/input/MobileInput.java | 10 +++++----- .../mindustry/world/blocks/storage/CoreBlock.java | 10 ++++++++++ .../mindustry/world/blocks/storage/StorageBlock.java | 2 +- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/core/src/io/anuke/mindustry/game/GameMode.java b/core/src/io/anuke/mindustry/game/GameMode.java index 0e7de8475f..cd4057012a 100644 --- a/core/src/io/anuke/mindustry/game/GameMode.java +++ b/core/src/io/anuke/mindustry/game/GameMode.java @@ -13,7 +13,6 @@ public enum GameMode{ }}, attack{{ disableWaves = true; - hidden = true; enemyCheat = true; }}, victory{{ diff --git a/core/src/io/anuke/mindustry/input/MobileInput.java b/core/src/io/anuke/mindustry/input/MobileInput.java index 314d20819e..9379b8c917 100644 --- a/core/src/io/anuke/mindustry/input/MobileInput.java +++ b/core/src/io/anuke/mindustry/input/MobileInput.java @@ -221,11 +221,6 @@ public class MobileInput extends InputHandler implements GestureListener{ } }).update(l -> l.setChecked(mode == breaking)); - //rotate button - table.addImageButton("icon-arrow", "clear-partial", 16 * 2f, () -> rotation = Mathf.mod(rotation + 1, 4)) - .update(i -> i.getImage().setRotationOrigin(rotation * 90, Align.center)) - .visible(() -> recipe != null && recipe.result.rotate); - //cancel button table.addImageButton("icon-cancel", "clear-partial", 16 * 2f, () -> { player.clearBuilding(); @@ -233,6 +228,11 @@ public class MobileInput extends InputHandler implements GestureListener{ recipe = null; }).visible(() -> player.isBuilding() || recipe != null || mode == breaking); + //rotate button + table.addImageButton("icon-arrow", "clear-partial", 16 * 2f, () -> rotation = Mathf.mod(rotation + 1, 4)) + .update(i -> i.getImage().setRotationOrigin(rotation * 90, Align.center)) + .visible(() -> recipe != null && recipe.result.rotate); + //confirm button table.addImageButton("icon-check", "clear-partial", 16 * 2f, () -> { for(PlaceRequest request : selection){ 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 3c6abdf84f..33f98fd2ce 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/CoreBlock.java @@ -82,6 +82,11 @@ public class CoreBlock extends StorageBlock{ if(entity != null) entity.solid = solid; } + @Override + public int getMaximumAccepted(Tile tile, Item item){ + return itemCapacity * state.teams.get(tile.getTeam()).cores.size; + } + @Override public void onProximityUpdate(Tile tile) { for(Tile other : state.teams.get(tile.getTeam()).cores){ @@ -100,6 +105,11 @@ public class CoreBlock extends StorageBlock{ @Override public void removed(Tile tile){ state.teams.get(tile.getTeam()).cores.remove(tile); + + int max = itemCapacity * state.teams.get(tile.getTeam()).cores.size; + for(Item item : content.items()){ + tile.entity.items.set(item, Math.min(tile.entity.items.get(item), max)); + } } @Override diff --git a/core/src/io/anuke/mindustry/world/blocks/storage/StorageBlock.java b/core/src/io/anuke/mindustry/world/blocks/storage/StorageBlock.java index 530e49171c..324c86008a 100644 --- a/core/src/io/anuke/mindustry/world/blocks/storage/StorageBlock.java +++ b/core/src/io/anuke/mindustry/world/blocks/storage/StorageBlock.java @@ -15,7 +15,7 @@ public abstract class StorageBlock extends Block{ @Override public boolean acceptItem(Item item, Tile tile, Tile source){ - return tile.entity.items.get(item) < itemCapacity; + return tile.entity.items.get(item) < getMaximumAccepted(tile, item); } @Override