diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png new file mode 100644 index 0000000000..55b158a772 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-1.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-1.png new file mode 100644 index 0000000000..ec888dd9c3 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-2.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-2.png new file mode 100644 index 0000000000..2dc64d4657 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-3.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-3.png new file mode 100644 index 0000000000..086915a1f1 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-1-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png new file mode 100644 index 0000000000..12a7f74198 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-1.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-1.png new file mode 100644 index 0000000000..fc232cd074 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-2.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-2.png new file mode 100644 index 0000000000..5c5c031884 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-3.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-3.png new file mode 100644 index 0000000000..4caa3d231a Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-2-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png new file mode 100644 index 0000000000..847ac502d4 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-1.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-1.png new file mode 100644 index 0000000000..06755ed438 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-2.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-2.png new file mode 100644 index 0000000000..818d0dc61e Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-3.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-3.png new file mode 100644 index 0000000000..5cfd971499 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-3-3.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png new file mode 100644 index 0000000000..226ea15100 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-0.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-1.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-1.png new file mode 100644 index 0000000000..9c03796c18 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-1.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-2.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-2.png new file mode 100644 index 0000000000..cad7f9e213 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-2.png differ diff --git a/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-3.png b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-3.png new file mode 100644 index 0000000000..6842c71975 Binary files /dev/null and b/core/assets-raw/sprites/blocks/distribution/conveyors/armored-conveyor-4-3.png differ diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index dbb8103280..ef4bfb08e5 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -51,6 +51,7 @@ minimap = Minimap close = Close website = Website quit = Quit +save.quit = Save & Quit maps = Maps maps.browse = Browse Maps continue = Continue @@ -861,8 +862,6 @@ block.solar-panel.name = Solar Panel block.solar-panel-large.name = Large Solar Panel block.oil-extractor.name = Oil Extractor block.command-center.name = Command Center -block.rally-point.name = Rally Point -block.rally-point.description = A marker for units to group up around. Requires issuing the 'Rally' command on the command center to use. block.draug-factory.name = Draug Miner Drone Factory block.spirit-factory.name = Spirit Repair Drone Factory block.phantom-factory.name = Phantom Builder Drone Factory diff --git a/core/src/io/anuke/mindustry/content/TechTree.java b/core/src/io/anuke/mindustry/content/TechTree.java index 0c325b47a1..cef721908d 100644 --- a/core/src/io/anuke/mindustry/content/TechTree.java +++ b/core/src/io/anuke/mindustry/content/TechTree.java @@ -45,6 +45,10 @@ public class TechTree implements ContentList{ }); }); + + node(armoredConveyor, () -> { + + }); }); }); }); diff --git a/core/src/io/anuke/mindustry/core/NetServer.java b/core/src/io/anuke/mindustry/core/NetServer.java index a5c89e6305..de84a6fd25 100644 --- a/core/src/io/anuke/mindustry/core/NetServer.java +++ b/core/src/io/anuke/mindustry/core/NetServer.java @@ -258,7 +258,7 @@ public class NetServer implements ApplicationListener{ boolean checkPass(){ if(votes >= votesRequired() && target.isAdded() && target.con.isConnected()){ - Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] {0}[orange] will be banned from the server for {1} minutes.", target.name, (int)(kickDuration/60))); + Call.sendMessage(Strings.format("[orange]Vote passed.[scarlet] {0}[orange] will be banned from the server for {1} minutes.", target.name, (kickDuration/60))); target.getInfo().lastKicked = Time.millis() + kickDuration*1000; playerGroup.all().each(p -> p.uuid != null && p.uuid.equals(target.uuid), p -> p.con.kick(KickReason.vote)); map[0] = null; @@ -330,7 +330,8 @@ public class NetServer implements ApplicationListener{ if(currentlyKicking[0] == null){ player.sendMessage("[scarlet]Nobody is being voted on."); }else{ - if(currentlyKicking[0].voted.contains(player.uuid) || currentlyKicking[0].voted.contains(admins.getInfo(player.uuid).lastIP)){ + //hosts can vote all they want + if(player.uuid != null && (currentlyKicking[0].voted.contains(player.uuid) || currentlyKicking[0].voted.contains(admins.getInfo(player.uuid).lastIP))){ player.sendMessage("[scarlet]You've already voted. Sit down."); return; } diff --git a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java index 4937287922..bcda92faa6 100644 --- a/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java +++ b/core/src/io/anuke/mindustry/ui/dialogs/PausedDialog.java @@ -72,7 +72,7 @@ public class PausedDialog extends FloatingDialog{ cont.row(); - cont.addButton("$quit", this::showQuitConfirm).colspan(2).width(dw + 10f); + cont.addButton("$quit", this::showQuitConfirm).colspan(2).width(dw + 10f).update(s -> s.setText(control.saves.getCurrent() != null ? "$save.quit" : "$quit")); }else{ cont.defaults().size(120f).pad(5); @@ -91,7 +91,7 @@ public class PausedDialog extends FloatingDialog{ cont.addRowImageTextButton("$hostserver.mobile", Icon.host, ui.host::show).disabled(b -> net.active()); - cont.addRowImageTextButton("$quit", Icon.quit, this::showQuitConfirm); + cont.addRowImageTextButton("$quit", Icon.quit, this::showQuitConfirm).update(s -> s.setText(control.saves.getCurrent() != null ? "$save.quit" : "$quit")); } } diff --git a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java index 0f1b31c3ad..63c4828f7e 100644 --- a/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java +++ b/core/src/io/anuke/mindustry/ui/fragments/BlockInventoryFragment.java @@ -149,7 +149,7 @@ public class BlockInventoryFragment extends Fragment{ image.addListener(new InputListener(){ @Override public boolean touchDown(InputEvent event, float x, float y, int pointer, KeyCode button){ - if(!canPick.get() || !tile.entity.items.has(item)) return false; + if(!canPick.get() || tile == null || tile.entity == null || tile.entity.items == null || !tile.entity.items.has(item)) return false; int amount = Math.min(1, player.maxAccepted(item)); if(amount > 0){ Call.requestItem(player, tile, item, amount);