diff --git a/core/assets/bundles/bundle.properties b/core/assets/bundles/bundle.properties index b744533c53..3db581844c 100644 --- a/core/assets/bundles/bundle.properties +++ b/core/assets/bundles/bundle.properties @@ -508,6 +508,13 @@ error.io = Network I/O error. error.any = Unknown network error. error.bloom = Failed to initialize bloom.\nYour device may not support it. +sectors.unexplored = [lightgray]Unexplored +sectors.resources = Resources: +sectors.production = Production: +sectors.stored = Stored: +sectors.resume = Resume +sectors.launch = Launch + #NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway sector.groundZero.name = Ground Zero sector.craters.name = The Craters @@ -644,6 +651,7 @@ unit.powerunits = power units unit.degrees = degrees unit.seconds = seconds unit.persecond = /sec +unit.perminute = /min unit.timesspeed = x speed unit.percent = % unit.items = items diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 6c2e445822..d9232a34d1 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -222,12 +222,12 @@ public class Blocks implements ContentList{ }}; ignarock = new Floor("ignarock"){{ - attributes.set(Attribute.water, -0.1f); + attributes.set(Attribute.water, -0.25f); }}; hotrock = new Floor("hotrock"){{ attributes.set(Attribute.heat, 0.5f); - attributes.set(Attribute.water, -0.2f); + attributes.set(Attribute.water, -0.5f); blendGroup = ignarock; emitLight = true; @@ -237,7 +237,7 @@ public class Blocks implements ContentList{ magmarock = new Floor("magmarock"){{ attributes.set(Attribute.heat, 0.75f); - attributes.set(Attribute.water, -0.5f); + attributes.set(Attribute.water, -0.75f); updateEffect = Fx.magmasmoke; blendGroup = ignarock; @@ -1679,7 +1679,7 @@ public class Blocks implements ContentList{ activeSoundVolume = 2f; shootType = new ContinuousLaserBulletType(70){{ - length = 220f; + length = 200f; hitEffect = Fx.hitMeltdown; drawSize = 420f; diff --git a/core/src/mindustry/entities/comp/PlayerComp.java b/core/src/mindustry/entities/comp/PlayerComp.java index ea215fe5a0..8b35ac83d8 100644 --- a/core/src/mindustry/entities/comp/PlayerComp.java +++ b/core/src/mindustry/entities/comp/PlayerComp.java @@ -38,7 +38,8 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra transient @Nullable NetConnection con; @ReadOnly Team team = Team.sharded; - @SyncLocal boolean admin, typing, shooting, boosting; + @SyncLocal boolean typing, shooting, boosting; + boolean admin; @SyncLocal float mouseX, mouseY; String name = "noname"; Color color = new Color(); diff --git a/core/src/mindustry/entities/comp/UnitComp.java b/core/src/mindustry/entities/comp/UnitComp.java index f54e32f05b..1eb509c785 100644 --- a/core/src/mindustry/entities/comp/UnitComp.java +++ b/core/src/mindustry/entities/comp/UnitComp.java @@ -239,7 +239,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I } //simulate falling down - if(dead){ + if(dead || health <= 0){ //less drag when dead drag = 0.01f; diff --git a/core/src/mindustry/input/DesktopInput.java b/core/src/mindustry/input/DesktopInput.java index 9b02aba3be..a2da05df4d 100644 --- a/core/src/mindustry/input/DesktopInput.java +++ b/core/src/mindustry/input/DesktopInput.java @@ -340,8 +340,6 @@ public class DesktopInput extends InputHandler{ table.row(); table.left().margin(0f).defaults().size(48f).left(); - //TODO localize these - table.button(Icon.paste, Styles.clearPartiali, () -> { ui.schematics.show(); }).tooltip("@schematics"); diff --git a/core/src/mindustry/ui/dialogs/PlanetDialog.java b/core/src/mindustry/ui/dialogs/PlanetDialog.java index 7d03210041..197bc29200 100644 --- a/core/src/mindustry/ui/dialogs/PlanetDialog.java +++ b/core/src/mindustry/ui/dialogs/PlanetDialog.java @@ -290,7 +290,6 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ selectAlpha = Mathf.lerpDelta(selectAlpha, Mathf.num(planets.zoom < 1.9f), 0.1f); } - //TODO localize void updateSelected(){ Sector sector = selected; @@ -305,16 +304,18 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ stable.add("[accent]" + (sector.preset == null ? sector.id : sector.preset.localizedName)).row(); stable.image().color(Pal.accent).fillX().height(3f).pad(3f).row(); - stable.add(sector.save != null ? sector.save.getPlayTime() : "[lightgray]Unexplored").row(); + stable.add(sector.save != null ? sector.save.getPlayTime() : "@sectors.unexplored").row(); if(sector.hasBase() && sector.hasWaves()){ + //TODO localize when finalized + //these mechanics are likely to change and as such are not added to the bundle stable.add("[scarlet]Under attack!"); stable.row(); stable.add("[accent]" + Mathf.ceil(sectorDestructionTurns - (sector.getSecondsPassed() * 60) / turnDuration) + " turn(s)\nuntil destruction"); stable.row(); } - stable.add("Resources:").row(); + stable.add("@sectors.resources").row(); stable.table(t -> { t.left(); int idx = 0; @@ -327,7 +328,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ //production if(sector.hasBase() && sector.save.meta.hasProduction){ - stable.add("Production:").row(); + stable.add("@sectors.production").row(); stable.table(t -> { t.left(); @@ -335,7 +336,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ int total = (int)(stat.mean * 60); if(total > 1){ t.image(item.icon(Cicon.small)).padRight(3); - t.add(UI.formatAmount(total) + " /min").color(Color.lightGray); + t.add(UI.formatAmount(total) + " " + Core.bundle.get("unit.perminute")).color(Color.lightGray); t.row(); } }); @@ -344,7 +345,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ //stored resources if(sector.hasBase() && sector.save.meta.secinfo.coreItems.size > 0){ - stable.add("Stored:").row(); + stable.add("@sectors.stored").row(); stable.table(t -> { t.left(); @@ -367,7 +368,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{ stable.row(); if((sector.hasBase() && mode == look) || canLaunch(sector) || (sector.preset != null && sector.preset.alwaysUnlocked)){ - stable.button(sector.hasBase() ? "Resume" : "Launch", Styles.transt, () -> { + stable.button(sector.hasBase() ? "@sectors.resume" : "@sectors.launch", Styles.transt, () -> { boolean shouldHide = true; diff --git a/core/src/mindustry/world/meta/StatUnit.java b/core/src/mindustry/world/meta/StatUnit.java index 5136280e8a..4cdc6a6182 100644 --- a/core/src/mindustry/world/meta/StatUnit.java +++ b/core/src/mindustry/world/meta/StatUnit.java @@ -17,6 +17,7 @@ public enum StatUnit{ degrees, seconds, perSecond, + perMinute, timesSpeed(false), percent(false), none, diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 366f9b1d4e..280bcfa615 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -749,7 +749,7 @@ public class ServerControl implements ApplicationListener{ boolean add = arg[0].equals("add"); PlayerInfo target; - Player playert = Groups.player.find(p -> p.name().equalsIgnoreCase(arg[1])); + Player playert = Groups.player.find(p -> p.name.equalsIgnoreCase(arg[1])); if(playert != null){ target = playert.getInfo(); }else{ @@ -763,7 +763,7 @@ public class ServerControl implements ApplicationListener{ }else{ netServer.admins.unAdminPlayer(target.id); } - if(playert != null) playert.admin(add); + if(playert != null) playert.admin = add; info("Changed admin status of player: &ly@", target.lastName); }else{ err("Nobody with that name or ID could be found. If adding an admin by name, make sure they're online; otherwise, use their UUID.");