diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index cddd60498f..4ca589abed 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -2158,6 +2158,19 @@ gz.zone2 = Anything built in the radius is destroyed when a wave starts. gz.zone3 = A wave will begin now.\nGet ready. gz.finish = Build more turrets, mine more resources,\nand defend against all the waves to [accent]capture the sector[]. +atolls.dropunits = After picking up ground units, command :mega:[accent]Mega[] units to this location. +atolls.unitpayload.command = Select the  [accent]Unload Payload[] command. +atolls.unitpayload.drop = While this command is active, the [accent]Mega[] units will drop the units they are carrying. +atolls.unitpayload.warn = Use the ground units to attack the enemy base. + +atolls.selectunits = Enter command mode. Select the :mega:[accent]Mega[] units. +atolls.loadunits = Select the  [accent]Load Units[] command. +atolls.loadunitsabove = Move the :mega:[accent]Mega[] units above ground units to pick them up. +atolls.noairunit = This base is too well-fortified to destroy with air units. +atolls.nonavalunit = Naval units cannot access this base. +atolls.groundunit = In order to destroy this base, [accent]Mega[] units\nmust be used to carry ground units over terrain. +atolls.producemegas = Produce :mega:[accent]Mega[] units for this purpose. + onset.mine = Click to mine :beryllium: [accent]beryllium[] from walls.\n\nUse [accent][[WASD] to move. onset.mine.mobile = Tap to mine :beryllium: [accent]beryllium[] from walls. onset.research = Open the :tree: tech tree.\nResearch, then place a :turbine-condenser: [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[]. diff --git a/core/assets/maps/atolls.msav b/core/assets/maps/atolls.msav index 7179c010c5..b5aa96c417 100644 Binary files a/core/assets/maps/atolls.msav and b/core/assets/maps/atolls.msav differ diff --git a/core/assets/maps/sunkenPier.msav b/core/assets/maps/sunkenPier.msav index 7f7322526f..6a7c10b29f 100644 Binary files a/core/assets/maps/sunkenPier.msav and b/core/assets/maps/sunkenPier.msav differ diff --git a/core/src/mindustry/ai/types/CommandAI.java b/core/src/mindustry/ai/types/CommandAI.java index c0b52edf8a..8753df6de8 100644 --- a/core/src/mindustry/ai/types/CommandAI.java +++ b/core/src/mindustry/ai/types/CommandAI.java @@ -274,7 +274,7 @@ public class CommandAI extends AIController{ if( (hasStance(UnitStance.patrol) && !hasStance(UnitStance.pursueTarget) && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget) || (command == UnitCommand.enterPayloadCommand && unit.within(targetPos, 4f) || (targetBuild != null && unit.within(targetBuild, targetBuild.block.size * tilesize/2f * 0.9f))) || - (command == UnitCommand.loopPayloadCommand && unit.within(targetPos, 10f)) + (command == UnitCommand.loopPayloadCommand && unit.within(vecMovePos, 10f)) ){ move = false; } @@ -343,6 +343,10 @@ public class CommandAI extends AIController{ vecOut.set(vecMovePos); } + if(command == UnitCommand.loopPayloadCommand){ + alwaysArrive = true; + } + if(move){ if(unit.type.circleTarget && attackTarget != null){ target = attackTarget; diff --git a/core/src/mindustry/graphics/FloorRenderer.java b/core/src/mindustry/graphics/FloorRenderer.java index 0873c62fd4..ca0329f144 100644 --- a/core/src/mindustry/graphics/FloorRenderer.java +++ b/core/src/mindustry/graphics/FloorRenderer.java @@ -441,7 +441,7 @@ public class FloorRenderer{ vidx += spriteSize; //fixes graphical artifacting due to low precision positions/UVs. TODO: test for issues - final float grow = 0.01f; + final float grow = 0.03f; x -= grow; y -= grow; width += grow*2f; diff --git a/core/src/mindustry/type/MapLocales.java b/core/src/mindustry/type/MapLocales.java index a49869d177..45dc7731d1 100644 --- a/core/src/mindustry/type/MapLocales.java +++ b/core/src/mindustry/type/MapLocales.java @@ -47,6 +47,7 @@ public class MapLocales extends ObjectMap implements JsonSeri public String getProperty(String key){ if(!containsProperty(currentLocale(), key)){ if(containsProperty("en", key)) return get("en").get(key); + if(bundle.has(key)) return bundle.get(key); return "???" + key + "???"; } return get(currentLocale()).get(key);