Atolls tutorial finalized & moved into bundles

This commit is contained in:
Anuken
2026-01-12 23:26:22 -05:00
parent a86761fea6
commit 6313a2b5cc
6 changed files with 20 additions and 2 deletions

View File

@@ -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.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[]. 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 = 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.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[]. onset.research = Open the :tree: tech tree.\nResearch, then place a :turbine-condenser: [accent]turbine condenser[] on the vent.\nThis will generate [accent]power[].

Binary file not shown.

Binary file not shown.

View File

@@ -274,7 +274,7 @@ public class CommandAI extends AIController{
if( if(
(hasStance(UnitStance.patrol) && !hasStance(UnitStance.pursueTarget) && target != null && unit.within(target, unit.type.range - 2f) && !unit.type.circleTarget) || (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.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; move = false;
} }
@@ -343,6 +343,10 @@ public class CommandAI extends AIController{
vecOut.set(vecMovePos); vecOut.set(vecMovePos);
} }
if(command == UnitCommand.loopPayloadCommand){
alwaysArrive = true;
}
if(move){ if(move){
if(unit.type.circleTarget && attackTarget != null){ if(unit.type.circleTarget && attackTarget != null){
target = attackTarget; target = attackTarget;

View File

@@ -441,7 +441,7 @@ public class FloorRenderer{
vidx += spriteSize; vidx += spriteSize;
//fixes graphical artifacting due to low precision positions/UVs. TODO: test for issues //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; x -= grow;
y -= grow; y -= grow;
width += grow*2f; width += grow*2f;

View File

@@ -47,6 +47,7 @@ public class MapLocales extends ObjectMap<String, StringMap> implements JsonSeri
public String getProperty(String key){ public String getProperty(String key){
if(!containsProperty(currentLocale(), key)){ if(!containsProperty(currentLocale(), key)){
if(containsProperty("en", key)) return get("en").get(key); if(containsProperty("en", key)) return get("en").get(key);
if(bundle.has(key)) return bundle.get(key);
return "???" + key + "???"; return "???" + key + "???";
} }
return get(currentLocale()).get(key); return get(currentLocale()).get(key);