diff --git a/annotations/src/main/java/mindustry/annotations/Annotations.java b/annotations/src/main/java/mindustry/annotations/Annotations.java index 4ccfbf74be..7aae9e1165 100644 --- a/annotations/src/main/java/mindustry/annotations/Annotations.java +++ b/annotations/src/main/java/mindustry/annotations/Annotations.java @@ -227,7 +227,7 @@ public class Annotations{ /** The local locations where this method is called locally, when invoked. */ Loc called() default Loc.none; - /** Whether to forward this packet to all other clients upon recieval. Client only. */ + /** Whether to forward this packet to all other clients upon receival. Client only. */ boolean forward() default false; /** diff --git a/core/assets-raw/sprites/blocks/power/solar-panel.png b/core/assets-raw/sprites/blocks/power/solar-panel.png deleted file mode 100644 index 9b960682a0..0000000000 Binary files a/core/assets-raw/sprites/blocks/power/solar-panel.png and /dev/null differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-0.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-0.png new file mode 100644 index 0000000000..bbb620edc5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-0.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-1.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-1.png new file mode 100644 index 0000000000..4172074ad5 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-1.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-2.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-2.png new file mode 100644 index 0000000000..8ac2f564a6 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-2.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-3.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-3.png new file mode 100644 index 0000000000..212f335d0c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-3.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-4.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-4.png new file mode 100644 index 0000000000..24fa162597 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-4.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-5.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-5.png new file mode 100644 index 0000000000..977aee1325 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-5.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-6.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-6.png new file mode 100644 index 0000000000..e30640b098 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-6.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-7.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-7.png new file mode 100644 index 0000000000..609cc1df3d Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-7.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel-icon.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel-icon.png new file mode 100644 index 0000000000..0703c1be90 Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel-icon.png differ diff --git a/core/assets-raw/sprites/blocks/power/solar/solar-panel.png b/core/assets-raw/sprites/blocks/power/solar/solar-panel.png new file mode 100644 index 0000000000..d950cca59c Binary files /dev/null and b/core/assets-raw/sprites/blocks/power/solar/solar-panel.png differ diff --git a/core/assets/bundles/bundle_da.properties b/core/assets/bundles/bundle_da.properties new file mode 100644 index 0000000000..7f67c2e5c9 --- /dev/null +++ b/core/assets/bundles/bundle_da.properties @@ -0,0 +1,1264 @@ +credits.text = Lavet af [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[] +credits = Credits +contributors = Oversættere og Bidragsyder +discord = Tilmeld dig Mindustry Discord! +link.discord.description = Det officielle Mindustry Discord chatrum +link.reddit.description = Mindustry subreddit +link.github.description = Spillets source code +link.changelog.description = Liste over opdateringer +link.dev-builds.description = Ustabile development builds +link.trello.description = Det officielle Trello board for planlagte udvidelser +link.itch.io.description = itch.io side med PC downloads +link.google-play.description = Google Play store +link.f-droid.description = F-Droid katalog +link.wiki.description = Det officielle Mindustry wiki +link.feathub.description = Foreslå nye ændringer +linkfail = Kunne ikke åbne link!\n Linkets URL er kopieret til din udklipsholder. +screenshot = Screenshot gemt i {0} +screenshot.invalid = Banen er for stor, der er ikke nok hukommelse til screenshot. +gameover = Game Over +gameover.pvp = [accent] {0}[] hold har vundet! +highscore = [accent]Ny highscore! +copied = kopieret. + +load.sound = Lyd +load.map = Bane +load.image = Billeder +load.content = Indhold +load.system = System +load.mod = Mods +load.scripts = Scripts + +be.update = En ny Bleeding Edge version er tilgængelig: +be.update.confirm = Download den og genstart nu? +be.updating = Opdatere... +be.ignore = Ignorer +be.noupdates = Ingen opdateringer fundet +be.check = Søg efter opdateringer + +schematic = Skabelon +schematic.add = Gem skabelon... +schematics = Skabeloner +schematic.replace = En skabelon med det navn eksistere allerede. Vil du erstatte den? +schematic.import = Importer skabelon... +schematic.exportfile = Exporter Fil +schematic.importfile = Importer Fil +schematic.browseworkshop = Søg i Workshop +schematic.copy = Kopier til udklipsholder +schematic.copy.import = Importer fra udklipsholder +schematic.shareworkshop = Del på Workshop +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Vend skabelon +schematic.saved = Skabelon gemt. +schematic.delete.confirm = Denne skabelon vil være væk for altid. +schematic.rename = Omdøb skabelon +schematic.info = {0}x{1}, {2} blokke + +stat.wave = Invasionsbølger nedslået:[accent] {0} +stat.enemiesDestroyed = Fjender nedlagt:[accent] {0} +stat.built = Bygninger opført:[accent] {0} +stat.destroyed = Bygninger ødelagt:[accent] {0} +stat.deconstructed = Bygninger nedrevet:[accent] {0} +stat.delivered = Ressourcer afsendt: +stat.playtime = Spilletid:[accent] {0} +stat.rank = Endelig Rang: [accent]{0} + +launcheditems = [accent]Afsendte genstande +launchinfo = [unlaunched][[LAUNCH] din kerne for at modtage genstandene vist i blå. +map.delete = Er du sikker på at du vil slette banen"[accent]{0}[]"? +level.highscore = High Score: [accent]{0} +level.select = Vælg bane +level.mode = Spiltilstand: +showagain = Vis ikke igen +coreattack = < Kerne er under angreb!! > +nearpoint = [[ [scarlet]FORLAD INVASIONSZONE OMGÅENDE[] ]\n Fare for udslettelse +database = Kerne database +savegame = Gem spil +loadgame = Hent spil +joingame = Deltag i spil +customgame = Bregerdefineret spil +newgame = Nyt spil +none = +minimap = Kort +position = Position +close = Luk +website = Webside +quit = Afslut +save.quit = Gem & afslut +maps = Baner +maps.browse = Søg i baner +continue = Fortsæt +maps.none = [lightgray]Ingen baner fundet! +invalid = Ugyldig +pickcolor = Vælg farve +preparingconfig = Klargører konfiguration +preparingcontent = Klargører indhold +uploadingcontent = Uploading indhold +uploadingpreviewfile = Uploading Forhåndsvisnings File +committingchanges = Sender ændringer +done = Færdig +feature.unsupported = Din enhed understøtter ikke denne funktion + +mods.alphainfo = Vær opmærksom på at mods ikke er færdigudviklet.[scarlet]De kan indeholde mange fejl[].\n Hvis du oplever fejl can du reportére dem på Mindustry GitHub eller Discord. +mods.alpha = [accent](Alpha) +mods = Mods +mods.none = [LIGHT_GRAY]Ingen mods fundet! +mods.guide = Modding guide +mods.report = Reportér fejl +mods.openfolder = Åben mod mappe +mod.display = [gray]Mod:[orange] {0} +mod.enabled = [lightgray]Aktiveret +mod.disabled = [scarlet]Deaktiveret +mod.disable = Deaktiver +mod.delete.error = Kan ikke slette mod. Filer er muligvis i brug. +mod.requiresversion = [scarlet]Behøver minimal spil version: [accent]{0} +mod.missingdependencies = [scarlet]Mangler afhængigheder: {0} +mod.erroredcontent = [scarlet]Indholds fejl +mod.errors = Fejl ved afhentning af indhold. +mod.noerrorplay = [scarlet]Du har mods med fejl.[] Deaktiver det eller løs fejl før du starter spillet. +mod.nowdisabled = [scarlet]Mod '{0}' mangler afhængigheder:[accent] {1}\n[lightgray]Disse mods skal hentes først.\nDette mod vil blive deaktiver automatisk. +mod.enable = Aktiver +mod.requiresrestart = Spillet vil nu lukke for at tilføje mod ændringerne +mod.reloadrequired = [scarlet]Genindlæsning påkrævet +mod.import = Importer Mod +mod.import.github = Importer GitHub Mod +mod.item.remove = Denne genstand er tilføjet af [accent] '{0}'[] mod. Afinstaller mod for at fjerne den. +mod.remove.confirm = Dette mod vil blive slettet. +mod.author = [LIGHT_GRAY]Forfatter:[] {0} +mod.missing = Dette spil benytter mods som ikke er tilgængelige. Er du sikker på at du vil hente det? Dette kan medfører fejl i spillet\n[lightgray]Mods:\n{0} +mod.preview.missing = Før du offentliggøre dette mod i workshoppen, skal du tilføje et billede.\nPlacer billedet i moddets mappe under navnet [accent] preview.png[] og forsøg igen. +mod.folder.missing = Kun mods i mappe-form kan offentliggøres til workshoppen.\nFor at konverter etvært mod til en mappe, udpak .zip-filen i en mappe and slet den herefter, genstart efterfølgende dit spil eller genindlæs dine mods. +mod.scripts.unsupported = Din enhed understøtter ikke mod scripts. Nogle mods vil ikke fungere korrekt. + +about.button = Om +name = Navn: +noname = Vælg et[accent] spiller navn[] først. +filename = Fil navn: +unlocked = Nyt indhold tilgængeligt! +completed = [accent]Færdiggjort +techtree = Teknologi træ +research.list = [lightgray]Forskning: +research = Udforsk +researched = [lightgray]{0} Udforsket. +players = {0} spillere +players.single = {0} spiller +server.closing = [accent]Lukker server... +server.kicked.kick = Du er blevet kicked fra serveren! +server.kicked.whitelist = Du er ikke whitelisted her. +server.kicked.serverClose = Server lukket. +server.kicked.vote = Du er blevet vote-kicked. Farvel. +server.kicked.clientOutdated = Forældet client! Opdater dit spil! +server.kicked.serverOutdated = Forældet server! Få værten til at opdatere! +server.kicked.banned = Du er banned på denne server. +server.kicked.typeMismatch = Denne server er ikke kompatibel med din version. +server.kicked.playerLimit = Denne server are fuld. Vent på en ledig plads. +server.kicked.recentKick = Du er blevet kicked for nylig.\nVent før du forsøger at forbinde igen. +server.kicked.nameInUse = Der er allerede nogen med dette navn\npå denne server. +server.kicked.nameEmpty = Det valgte navn er ugyldigt. +server.kicked.idInUse = Du er allered på denne server! Det er ikke tilladt er forbinde med flere konti. +server.kicked.customClient = Denne server understøtter ikke brugerdefineret versioner. Download en officiel version. +server.kicked.gameover = Game over! +server.kicked.serverRestarting = Server genstarter. +server.versions = Din version:[accent] {0}[]\nServer version:[accent] {1}[] +host.info = [accent]Afhold[] knappen starter en server på port [scarlet]6567[]. \Enhver på samme [lightgray]wifi elle lokalt netværk[] burde kunne se din server i deres server liste.\n\n[accent]Port forwarding[]er påkrævet. Hvis du ønsker at spillere fra hele verden skal kunne forbinde med IP\n\n[lightgray]Note: Hvis nogen har problemer med at forbinde til din LAN server, sørg for at you har tilladt Mindustry adgang til dit lokale netværk i dine firewall indstillinger. +join.info = Her kan du forbinde til en [accent]server IP[], eller finde [accent]lokal netværk[] servers.\nBåde LAN og WAN multiplayer understøttes.\n\n[lightgray]Note: Der er ingen automatisk global server liste; Hvis du ønsker at forbinde til nogen med IP, skal du spørge værten om serverens IP. +hostserver = Afhold Multiplayer Spil +invitefriends = Inviter venner +hostserver.mobile = Afhold\nspil +host = Afhold +hosting = [accent]Starter server... +hosts.refresh = Genindlæs +hosts.discovering = Finder LAN spil +hosts.discovering.any = Discovering games +server.refreshing = Genindlæser server +hosts.none = [lightgray]Ingen lokale spil fundet! +host.invalid = [scarlet]Kan ikke forbinde til vært. + +servers.local = Lokale Servere +servers.remote = Afsides Servere +servers.global = Globale Servere + +trace = Følg spiller +trace.playername = Spiller navn: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = Unik ID: [accent]{0} +trace.mobile = Mobil client: [accent]{0} +trace.modclient = Brugerdefineret client: [accent]{0} +invalidid = Ugyldig client ID! Indsend en fejlrapport. +server.bans = Bans +server.bans.none = Ingen banned Spillere fundet! +server.admins = Admins +server.admins.none = Ingen admins fundet! +server.add = Tilføj server +server.delete = Er du sikker på at du ønsker at slette denne server? +server.edit = Rediger server +server.outdated = [crimson]Forældet server![] +server.outdated.client = [crimson]Forældet client![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Brugerdefineret version +confirmban = Er du sikker på at du ønsker at banne denne spiller? +confirmkick = Er du sikker på at du ønsker at kicke denne spiller? +confirmvotekick = Er du sikker på at du ønsker at vote-kicke denne spiller? +confirmunban = Er du sikker på at du ønsker at unbanne denne spiller? +confirmadmin = Er du sikker på at du ønsker at gøre denne spiller til admin? +confirmunadmin = Er du sikker på at du ønsker at fjerne admin status fra denne spiller? +joingame.title = Deltag i spil +joingame.ip = Addresse: +disconnect = Afbryd forbindelse +disconnect.error = Forbindelses fejl. +disconnect.closed = Forbindelse afbrudt. +disconnect.timeout = Maksimal ventetid overskredet. +#MesterArz +disconnect.data = Failed to load world data! +cantconnect = Unable to join game ([accent]{0}[]). +connecting = [accent]Connecting... +connecting.data = [accent]Loading world data... +server.port = Port: +server.addressinuse = Address already in use! +server.invalidport = Invalid port number! +server.error = [crimson]Error hosting server. +save.new = New Save +save.overwrite = Are you sure you want to overwrite\nthis save slot? +overwrite = Overwrite +save.none = No saves found! +saveload = Saving... +savefail = Failed to save game! +save.delete.confirm = Are you sure you want to delete this save? +save.delete = Delete +save.export = Export Save +save.import.invalid = [accent]This save is invalid! +save.import.fail = [crimson]Failed to import save: [accent]{0} +save.export.fail = [crimson]Failed to export save: [accent]{0} +save.import = Import Save +save.newslot = Save name: +save.rename = Rename +save.rename.text = New name: +selectslot = Select a save. +slot = [accent]Slot {0} +editmessage = Edit Message +save.corrupted = Save file corrupted or invalid! +empty = +on = On +off = Off +save.autosave = Autosave: {0} +save.map = Map: {0} +save.wave = Wave {0} +save.mode = Gamemode: {0} +save.date = Last Saved: {0} +save.playtime = Playtime: {0} +warning = Warning. +confirm = Confirm +delete = Delete +view.workshop = View In Workshop +workshop.listing = Edit Workshop Listing +ok = OK +open = Open +customize = Customize Rules +cancel = Cancel +openlink = Open Link +copylink = Copy Link +back = Back +data.export = Export Data +data.import = Import Data +data.openfolder = Open Data Folder +data.exported = Data exported. +data.invalid = This isn't valid game data. +data.import.confirm = Importing external data will overwrite[scarlet] all[] your current game data.\n[accent]This cannot be undone![]\n\nOnce the data is imported, your game will exit immediately. +classic.export = Export Classic Data +classic.export.text = [accent]Mindustry[] has just had a major update.\nClassic (v3.5 build 40) save or map data has been detected. Would you like to export these saves to your phone's home folder, for use in the Mindustry Classic app? +quit.confirm = Are you sure you want to quit? +quit.confirm.tutorial = Are you sure you know what you're doing?\nThe tutorial can be re-taken in[accent] Settings->Game->Re-Take Tutorial.[] +loading = [accent]Loading... +reloading = [accent]Reloading Mods... +saving = [accent]Saving... +cancelbuilding = [accent][[{0}][] to clear plan +selectschematic = [accent][[{0}][] to select+copy +pausebuilding = [accent][[{0}][] to pause building +resumebuilding = [scarlet][[{0}][] to resume building +wave = [accent]Wave {0} +wave.waiting = [lightgray]Wave in {0} +wave.waveInProgress = [lightgray]Wave in progress +waiting = [lightgray]Waiting... +waiting.players = Waiting for players... +wave.enemies = [lightgray]{0} Enemies Remaining +wave.enemy = [lightgray]{0} Enemy Remaining +loadimage = Load Image +saveimage = Save Image +unknown = Unknown +custom = Custom +builtin = Built-In +map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! +map.random = [accent]Random Map +map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor. +map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[SCARLET] non-orange[] cores to this map in the editor. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[SCARLET] red[] cores to this map in the editor. +map.invalid = Error loading map: corrupted or invalid map file. +workshop.update = Update Item +workshop.error = Error fetching workshop details: {0} +map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! +workshop.menu = Select what you would like to do with this item. +workshop.info = Item Info +changelog = Changelog (optional): +eula = Steam EULA +missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. +publishing = [accent]Publishing... +publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! +publish.error = Error publishing item: {0} +steam.error = Failed to initialize Steam services.\nError: {0} + +editor.brush = Brush +editor.openin = Open In Editor +editor.oregen = Ore Generation +editor.oregen.info = Ore Generation: +editor.mapinfo = Map Info +editor.author = Author: +editor.description = Description: +editor.nodescription = A map must have a description of at least 4 characters before being published. +editor.waves = Waves: +editor.rules = Rules: +editor.generation = Generation: +editor.ingame = Edit In-Game +editor.publish.workshop = Publish On Workshop +editor.newmap = New Map +workshop = Workshop +waves.title = Waves +waves.remove = Remove +waves.never = +waves.every = every +waves.waves = wave(s) +waves.perspawn = per spawn +waves.to = to +waves.boss = Boss +waves.preview = Preview +waves.edit = Edit... +waves.copy = Copy to Clipboard +waves.load = Load from Clipboard +waves.invalid = Invalid waves in clipboard. +waves.copied = Waves copied. +waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +editor.default = [lightgray] +details = Details... +edit = Edit... +editor.name = Name: +editor.spawn = Spawn Unit +editor.removeunit = Remove Unit +editor.teams = Teams +editor.errorload = Error loading file. +editor.errorsave = Error saving file. +editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. +editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. +editor.errornot = This is not a map file. +editor.errorheader = This map file is either not valid or corrupt. +editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.update = Update +editor.randomize = Randomize +editor.apply = Apply +editor.generate = Generate +editor.resize = Resize +editor.loadmap = Load Map +editor.savemap = Save Map +editor.saved = Saved! +editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. +editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. +editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! +editor.import = Import... +editor.importmap = Import Map +editor.importmap.description = Import an already existing map +editor.importfile = Import File +editor.importfile.description = Import an external map file +editor.importimage = Import Legacy Map +editor.importimage.description = Import an external map image file +editor.export = Export... +editor.exportfile = Export File +editor.exportfile.description = Export a map file +editor.exportimage = Export Terrain Image +editor.exportimage.description = Export a map image file +editor.loadimage = Import Terrain +editor.saveimage = Export Terrain +editor.unsaved = [scarlet]You have unsaved changes![]\nAre you sure you want to exit? +editor.resizemap = Resize Map +editor.mapname = Map Name: +editor.overwrite = [accent]Warning!\nThis overwrites an existing map. +editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it? +editor.exists = A map with this name already exists. +editor.selectmap = Select a map to load: + +toolmode.replace = Replace +toolmode.replace.description = Draws only on solid blocks. +toolmode.replaceall = Replace All +toolmode.replaceall.description = Replace all blocks in map. +toolmode.orthogonal = Orthogonal +toolmode.orthogonal.description = Draws only orthogonal lines. +toolmode.square = Square +toolmode.square.description = Square brush. +toolmode.eraseores = Erase Ores +toolmode.eraseores.description = Erase only ores. +toolmode.fillteams = Fill Teams +toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.drawteams = Draw Teams +toolmode.drawteams.description = Draw teams instead of blocks. + +filters.empty = [lightgray]No filters! Add one with the button below. +filter.distort = Distort +filter.noise = Noise +filter.median = Median +filter.oremedian = Ore Median +filter.blend = Blend +filter.defaultores = Default Ores +filter.ore = Ore +filter.rivernoise = River Noise +filter.mirror = Mirror +filter.clear = Clear +filter.option.ignore = Ignore +filter.scatter = Scatter +filter.terrain = Terrain +filter.option.scale = Scale +filter.option.chance = Chance +filter.option.mag = Magnitude +filter.option.threshold = Threshold +filter.option.circle-scale = Circle Scale +filter.option.octaves = Octaves +filter.option.falloff = Falloff +filter.option.angle = Angle +filter.option.block = Block +filter.option.floor = Floor +filter.option.flooronto = Target Floor +filter.option.wall = Wall +filter.option.ore = Ore +filter.option.floor2 = Secondary Floor +filter.option.threshold2 = Secondary Threshold +filter.option.radius = Radius +filter.option.percentile = Percentile + +width = Width: +height = Height: +menu = Menu +play = Play +campaign = Campaign +load = Load +save = Save +fps = FPS: {0} +ping = Ping: {0}ms +language.restart = Please restart your game for the language settings to take effect. +settings = Settings +tutorial = Tutorial +tutorial.retake = Re-Take Tutorial +editor = Editor +mapeditor = Map Editor + +abandon = Abandon +abandon.text = This zone and all its resources will be lost to the enemy. +locked = Locked +complete = [lightgray]Complete: +requirement.wave = Reach Wave {0} in {1} +requirement.core = Destroy Enemy Core in {0} +requirement.unlock = Unlock {0} +resume = Resume Zone:\n[lightgray]{0} +bestwave = [lightgray]Best Wave: {0} +launch = < LAUNCH > +launch.title = Launch Successful +launch.next = [lightgray]next opportunity at wave {0} +launch.unable2 = [scarlet]Unable to LAUNCH.[] +launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base. +launch.skip.confirm = If you skip now, you will not be able to launch until later waves. +uncover = Uncover +configure = Configure Loadout +bannedblocks = Banned Blocks +addall = Add All +configure.locked = [lightgray]Unlock configuring loadout: {0}. +configure.invalid = Amount must be a number between 0 and {0}. +zone.unlocked = [lightgray]{0} unlocked. +zone.requirement.complete = Requirement for {0} completed:[lightgray]\n{1} +zone.config.unlocked = Loadout unlocked:[lightgray]\n{0} +zone.resources = [lightgray]Resources Detected: +zone.objective = [lightgray]Objective: [accent]{0} +zone.objective.survival = Survive +zone.objective.attack = Destroy Enemy Core +add = Add... +boss.health = Boss Health + +connectfail = [crimson]Connection error:\n\n[accent]{0} +error.unreachable = Server unreachable.\nIs the address spelled correctly? +error.invalidaddress = Invalid address. +error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! +error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! +error.alreadyconnected = Already connected. +error.mapnotfound = Map file not found! +error.io = Network I/O error. +error.any = Unknown network error. +error.bloom = Failed to initialize bloom.\nYour device may not support it. + +zone.groundZero.name = Ground Zero +zone.desertWastes.name = Desert Wastes +zone.craters.name = The Craters +zone.frozenForest.name = Frozen Forest +zone.ruinousShores.name = Ruinous Shores +zone.stainedMountains.name = Stained Mountains +zone.desolateRift.name = Desolate Rift +zone.nuclearComplex.name = Nuclear Production Complex +zone.overgrowth.name = Overgrowth +zone.tarFields.name = Tar Fields +zone.saltFlats.name = Salt Flats +zone.impact0078.name = Impact 0078 +zone.crags.name = Crags +zone.fungalPass.name = Fungal Pass + +zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. +zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. +zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed. +zone.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing. +zone.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills. +zone.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology. +zone.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. +zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. +zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. +zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. +zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. +zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. +zone.impact0078.description = +zone.crags.description = + +settings.language = Language +settings.data = Game Data +settings.reset = Reset to Defaults +settings.rebind = Rebind +settings.resetKey = Reset +settings.controls = Controls +settings.game = Game +settings.sound = Sound +settings.graphics = Graphics +settings.cleardata = Clear Game Data... +settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! +settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. +paused = [accent]< Paused > +clear = Clear +banned = [scarlet]Banned +yes = Yes +no = No +info.title = Info +error.title = [crimson]An error has occured +error.crashtitle = An error has occured +blocks.input = Input +blocks.output = Output +blocks.booster = Booster +blocks.tiles = Required Tiles +blocks.affinities = Affinities +block.unknown = [lightgray]??? +blocks.powercapacity = Power Capacity +blocks.powershot = Power/Shot +blocks.damage = Damage +blocks.targetsair = Targets Air +blocks.targetsground = Targets Ground +blocks.itemsmoved = Move Speed +blocks.launchtime = Time Between Launches +blocks.shootrange = Range +blocks.size = Size +blocks.liquidcapacity = Liquid Capacity +blocks.powerrange = Power Range +blocks.powerconnections = Max Connections +blocks.poweruse = Power Use +blocks.powerdamage = Power/Damage +blocks.itemcapacity = Item Capacity +blocks.basepowergeneration = Base Power Generation +blocks.productiontime = Production Time +blocks.repairtime = Block Full Repair Time +blocks.speedincrease = Speed Increase +blocks.range = Range +blocks.drilltier = Drillables +blocks.drillspeed = Base Drill Speed +blocks.boosteffect = Boost Effect +blocks.maxunits = Max Active Units +blocks.health = Health +blocks.buildtime = Build Time +blocks.buildcost = Build Cost +blocks.inaccuracy = Inaccuracy +blocks.shots = Shots +blocks.reload = Shots/Second +blocks.ammo = Ammo + +bar.drilltierreq = Better Drill Required +bar.drillspeed = Drill Speed: {0}/s +bar.pumpspeed = Pump Speed: {0}/s +bar.efficiency = Efficiency: {0}% +bar.powerbalance = Power: {0}/s +bar.powerstored = Stored: {0}/{1} +bar.poweramount = Power: {0} +bar.poweroutput = Power Output: {0} +bar.items = Items: {0} +bar.capacity = Capacity: {0} +bar.liquid = Liquid +bar.heat = Heat +bar.power = Power +bar.progress = Build Progress +bar.spawned = Units: {0}/{1} +bar.input = Input +bar.output = Output + +bullet.damage = [stat]{0}[lightgray] damage +bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles +bullet.incendiary = [stat]incendiary +bullet.homing = [stat]homing +bullet.shock = [stat]shock +bullet.frag = [stat]frag +bullet.knockback = [stat]{0}[lightgray] knockback +bullet.freezing = [stat]freezing +bullet.tarred = [stat]tarred +bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier +bullet.reload = [stat]{0}[lightgray]x fire rate + +unit.blocks = blocks +unit.powersecond = power units/second +unit.liquidsecond = liquid units/second +unit.itemssecond = items/second +unit.liquidunits = liquid units +unit.powerunits = power units +unit.degrees = degrees +unit.seconds = seconds +unit.persecond = /sec +unit.timesspeed = x speed +unit.percent = % +unit.items = items +unit.thousands = k +unit.millions = mil +category.general = General +category.power = Power +category.liquids = Liquids +category.items = Items +category.crafting = Input/Output +category.shooting = Shooting +category.optional = Optional Enhancements +setting.landscape.name = Lock Landscape +setting.shadows.name = Shadows +setting.blockreplace.name = Automatic Block Suggestions +setting.linear.name = Linear Filtering +setting.hints.name = Hints +setting.buildautopause.name = Auto-Pause Building +setting.animatedwater.name = Animated Water +setting.animatedshields.name = Animated Shields +setting.antialias.name = Antialias[lightgray] (requires restart)[] +setting.indicators.name = Enemy/Ally Indicators +setting.autotarget.name = Auto-Target +setting.keyboard.name = Mouse+Keyboard Controls +setting.touchscreen.name = Touchscreen Controls +setting.fpscap.name = Max FPS +setting.fpscap.none = None +setting.fpscap.text = {0} FPS +setting.uiscale.name = UI Scaling[lightgray] (require restart)[] +setting.swapdiagonal.name = Always Diagonal Placement +setting.difficulty.training = Training +setting.difficulty.easy = Easy +setting.difficulty.normal = Normal +setting.difficulty.hard = Hard +setting.difficulty.insane = Insane +setting.difficulty.name = Difficulty: +setting.screenshake.name = Screen Shake +setting.effects.name = Display Effects +setting.destroyedblocks.name = Display Destroyed Blocks +setting.conveyorpathfinding.name = Conveyor Placement Pathfinding +setting.coreselect.name = Allow Schematic Cores +setting.sensitivity.name = Controller Sensitivity +setting.saveinterval.name = Save Interval +setting.seconds = {0} seconds +setting.blockselecttimeout.name = Block Select Timeout +setting.milliseconds = {0} milliseconds +setting.fullscreen.name = Fullscreen +setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) +setting.fps.name = Show FPS & Ping +setting.blockselectkeys.name = Show Block Select Keys +setting.vsync.name = VSync +setting.pixelate.name = Pixelate +setting.minimap.name = Show Minimap +setting.position.name = Show Player Position +setting.musicvol.name = Music Volume +setting.ambientvol.name = Ambient Volume +setting.mutemusic.name = Mute Music +setting.sfxvol.name = SFX Volume +setting.mutesound.name = Mute Sound +setting.crashreport.name = Send Anonymous Crash Reports +setting.savecreate.name = Auto-Create Saves +setting.publichost.name = Public Game Visibility +setting.playerlimit.name = Player Limit +setting.chatopacity.name = Chat Opacity +setting.lasersopacity.name = Power Laser Opacity +setting.bridgeopacity.name = Bridge Opacity +setting.playerchat.name = Display Player Bubble Chat +public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +public.beta = Note that beta versions of the game cannot make public lobbies. +uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... +uiscale.cancel = Cancel & Exit +setting.bloom.name = Bloom +keybind.title = Rebind Keys +keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. +category.general.name = General +category.view.name = View +category.multiplayer.name = Multiplayer +command.attack = Attack +command.rally = Rally +command.retreat = Retreat +placement.blockselectkeys = \n[lightgray]Key: [{0}, +keybind.clear_building.name = Clear Building +keybind.press = Press a key... +keybind.press.axis = Press an axis or key... +keybind.screenshot.name = Map Screenshot +keybind.toggle_power_lines.name = Toggle Power Lasers +keybind.move_x.name = Move X +keybind.move_y.name = Move Y +keybind.mouse_move.name = Follow Mouse +keybind.dash.name = Dash +keybind.schematic_select.name = Select Region +keybind.schematic_menu.name = Schematic Menu +keybind.schematic_flip_x.name = Flip Schematic X +keybind.schematic_flip_y.name = Flip Schematic Y +keybind.category_prev.name = Previous Category +keybind.category_next.name = Next Category +keybind.block_select_left.name = Block Select Left +keybind.block_select_right.name = Block Select Right +keybind.block_select_up.name = Block Select Up +keybind.block_select_down.name = Block Select Down +keybind.block_select_01.name = Category/Block Select 1 +keybind.block_select_02.name = Category/Block Select 2 +keybind.block_select_03.name = Category/Block Select 3 +keybind.block_select_04.name = Category/Block Select 4 +keybind.block_select_05.name = Category/Block Select 5 +keybind.block_select_06.name = Category/Block Select 6 +keybind.block_select_07.name = Category/Block Select 7 +keybind.block_select_08.name = Category/Block Select 8 +keybind.block_select_09.name = Category/Block Select 9 +keybind.block_select_10.name = Category/Block Select 10 +keybind.fullscreen.name = Toggle Fullscreen +keybind.select.name = Select/Shoot +keybind.diagonal_placement.name = Diagonal Placement +keybind.pick.name = Pick Block +keybind.break_block.name = Break Block +keybind.deselect.name = Deselect +keybind.shoot.name = Shoot +keybind.zoom.name = Zoom +keybind.menu.name = Menu +keybind.pause.name = Pause +keybind.pause_building.name = Pause/Resume Building +keybind.minimap.name = Minimap +keybind.chat.name = Chat +keybind.player_list.name = Player List +keybind.console.name = Console +keybind.rotate.name = Rotate +keybind.rotateplaced.name = Rotate Existing (Hold) +keybind.toggle_menus.name = Toggle Menus +keybind.chat_history_prev.name = Chat History Prev +keybind.chat_history_next.name = Chat History Next +keybind.chat_scroll.name = Chat Scroll +keybind.drop_unit.name = Drop Unit +keybind.zoom_minimap.name = Zoom Minimap +mode.help.title = Description of modes +mode.survival.name = Survival +mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. +mode.sandbox.name = Sandbox +mode.sandbox.description = Infinite resources and no timer for waves. +mode.editor.name = Editor +mode.pvp.name = PvP +mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. +mode.attack.name = Attack +mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. +mode.custom = Custom Rules + +rules.infiniteresources = Infinite Resources +rules.reactorexplosions = Reactor Explosions +rules.wavetimer = Wave Timer +rules.waves = Waves +rules.attack = Attack Mode +rules.enemyCheat = Infinite AI (Red Team) Resources +rules.unitdrops = Unit Drops +rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unithealthmultiplier = Unit Health Multiplier +rules.blockhealthmultiplier = Block Health Multiplier +rules.playerhealthmultiplier = Player Health Multiplier +rules.playerdamagemultiplier = Player Damage Multiplier +rules.unitdamagemultiplier = Unit Damage Multiplier +rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.respawntime = Respawn Time:[lightgray] (sec) +rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.buildcostmultiplier = Build Cost Multiplier +rules.buildspeedmultiplier = Build Speed Multiplier +rules.waitForWaveToEnd = Waves Wait for Enemies +rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) +rules.respawns = Max respawns per wave +rules.limitedRespawns = Limit Respawns +rules.title.waves = Waves +rules.title.respawns = Respawns +rules.title.resourcesbuilding = Resources & Building +rules.title.player = Players +rules.title.enemy = Enemies +rules.title.unit = Units +rules.title.experimental = Experimental +rules.lighting = Lighting +rules.ambientlight = Ambient Light + +content.item.name = Items +content.liquid.name = Liquids +content.unit.name = Units +content.block.name = Blocks +content.mech.name = Mechs +item.copper.name = Copper +item.lead.name = Lead +item.coal.name = Coal +item.graphite.name = Graphite +item.titanium.name = Titanium +item.thorium.name = Thorium +item.silicon.name = Silicon +item.plastanium.name = Plastanium +item.phase-fabric.name = Phase Fabric +item.surge-alloy.name = Surge Alloy +item.spore-pod.name = Spore Pod +item.sand.name = Sand +item.blast-compound.name = Blast Compound +item.pyratite.name = Pyratite +item.metaglass.name = Metaglass +item.scrap.name = Scrap +liquid.water.name = Water +liquid.slag.name = Slag +liquid.oil.name = Oil +liquid.cryofluid.name = Cryofluid +mech.alpha-mech.name = Alpha +mech.alpha-mech.weapon = Heavy Repeater +mech.alpha-mech.ability = Regeneration +mech.delta-mech.name = Delta +mech.delta-mech.weapon = Arc Generator +mech.delta-mech.ability = Discharge +mech.tau-mech.name = Tau +mech.tau-mech.weapon = Restruct Laser +mech.tau-mech.ability = Repair Burst +mech.omega-mech.name = Omega +mech.omega-mech.weapon = Swarm Missiles +mech.omega-mech.ability = Armored Configuration +mech.dart-ship.name = Dart +mech.dart-ship.weapon = Repeater +mech.javelin-ship.name = Javelin +mech.javelin-ship.weapon = Burst Missiles +mech.javelin-ship.ability = Discharge Booster +mech.trident-ship.name = Trident +mech.trident-ship.weapon = Bomb Bay +mech.glaive-ship.name = Glaive +mech.glaive-ship.weapon = Flame Repeater +item.corestorable = [lightgray]Storable in Core: {0} +item.explosiveness = [lightgray]Explosiveness: {0}% +item.flammability = [lightgray]Flammability: {0}% +item.radioactivity = [lightgray]Radioactivity: {0}% +unit.health = [lightgray]Health: {0} +unit.speed = [lightgray]Speed: {0} +mech.weapon = [lightgray]Weapon: {0} +mech.health = [lightgray]Health: {0} +mech.itemcapacity = [lightgray]Item Capacity: {0} +mech.minespeed = [lightgray]Mining Speed: {0}% +mech.minepower = [lightgray]Mining Power: {0} +mech.ability = [lightgray]Ability: {0} +mech.buildspeed = [lightgray]Building Speed: {0}% +liquid.heatcapacity = [lightgray]Heat Capacity: {0} +liquid.viscosity = [lightgray]Viscosity: {0} +liquid.temperature = [lightgray]Temperature: {0} + +block.sand-boulder.name = Sand Boulder +block.grass.name = Grass +block.salt.name = Salt +block.saltrocks.name = Salt Rocks +block.pebbles.name = Pebbles +block.tendrils.name = Tendrils +block.sandrocks.name = Sand Rocks +block.spore-pine.name = Spore Pine +block.sporerocks.name = Spore Rocks +block.rock.name = Rock +block.snowrock.name = Snow Rock +block.snow-pine.name = Snow Pine +block.shale.name = Shale +block.shale-boulder.name = Shale Boulder +block.moss.name = Moss +block.shrubs.name = Shrubs +block.spore-moss.name = Spore Moss +block.shalerocks.name = Shale Rocks +block.scrap-wall.name = Scrap Wall +block.scrap-wall-large.name = Large Scrap Wall +block.scrap-wall-huge.name = Huge Scrap Wall +block.scrap-wall-gigantic.name = Gigantic Scrap Wall +block.thruster.name = Thruster +block.kiln.name = Kiln +block.graphite-press.name = Graphite Press +block.multi-press.name = Multi-Press +block.constructing = {0} [lightgray](Constructing) +block.spawn.name = Enemy Spawn +block.core-shard.name = Core: Shard +block.core-foundation.name = Core: Foundation +block.core-nucleus.name = Core: Nucleus +block.deepwater.name = Deep Water +block.water.name = Water +block.tainted-water.name = Tainted Water +block.darksand-tainted-water.name = Dark Sand Tainted Water +block.tar.name = Tar +block.stone.name = Stone +block.sand.name = Sand +block.darksand.name = Dark Sand +block.ice.name = Ice +block.snow.name = Snow +block.craters.name = Craters +block.sand-water.name = Sand water +block.darksand-water.name = Dark Sand Water +block.char.name = Char +block.holostone.name = Holo stone +block.ice-snow.name = Ice Snow +block.rocks.name = Rocks +block.icerocks.name = Ice rocks +block.snowrocks.name = Snow Rocks +block.dunerocks.name = Dune Rocks +block.pine.name = Pine +block.white-tree-dead.name = White Tree Dead +block.white-tree.name = White Tree +block.spore-cluster.name = Spore Cluster +block.metal-floor.name = Metal Floor 1 +block.metal-floor-2.name = Metal Floor 2 +block.metal-floor-3.name = Metal Floor 3 +block.metal-floor-5.name = Metal Floor 4 +block.metal-floor-damaged.name = Metal Floor Damaged +block.dark-panel-1.name = Dark Panel 1 +block.dark-panel-2.name = Dark Panel 2 +block.dark-panel-3.name = Dark Panel 3 +block.dark-panel-4.name = Dark Panel 4 +block.dark-panel-5.name = Dark Panel 5 +block.dark-panel-6.name = Dark Panel 6 +block.dark-metal.name = Dark Metal +block.ignarock.name = Igna Rock +block.hotrock.name = Hot Rock +block.magmarock.name = Magma Rock +block.cliffs.name = Cliffs +block.copper-wall.name = Copper Wall +block.copper-wall-large.name = Large Copper Wall +block.titanium-wall.name = Titanium Wall +block.titanium-wall-large.name = Large Titanium Wall +block.plastanium-wall.name = Plastanium Wall +block.plastanium-wall-large.name = Large Plastanium Wall +block.phase-wall.name = Phase Wall +block.phase-wall-large.name = Large Phase Wall +block.thorium-wall.name = Thorium Wall +block.thorium-wall-large.name = Large Thorium Wall +block.door.name = Door +block.door-large.name = Large Door +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer +block.conveyor.name = Conveyor +block.titanium-conveyor.name = Titanium Conveyor +block.armored-conveyor.name = Armored Conveyor +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. +block.junction.name = Junction +block.router.name = Router +block.distributor.name = Distributor +block.sorter.name = Sorter +block.inverted-sorter.name = Inverted Sorter +block.message.name = Message +block.illuminator.name = Illuminator +block.illuminator.description = A small, compact, configurable light source. Requires power to function. +block.overflow-gate.name = Overflow Gate +block.underflow-gate.name = Underflow Gate +block.silicon-smelter.name = Silicon Smelter +block.phase-weaver.name = Phase Weaver +block.pulverizer.name = Pulverizer +block.cryofluidmixer.name = Cryofluid Mixer +block.melter.name = Melter +block.incinerator.name = Incinerator +block.spore-press.name = Spore Press +block.separator.name = Separator +block.coal-centrifuge.name = Coal Centrifuge +block.power-node.name = Power Node +block.power-node-large.name = Large Power Node +block.surge-tower.name = Surge Tower +block.diode.name = Battery Diode +block.battery.name = Battery +block.battery-large.name = Large Battery +block.combustion-generator.name = Combustion Generator +block.turbine-generator.name = Steam Generator +block.differential-generator.name = Differential Generator +block.impact-reactor.name = Impact Reactor +block.mechanical-drill.name = Mechanical Drill +block.pneumatic-drill.name = Pneumatic Drill +block.laser-drill.name = Laser Drill +block.water-extractor.name = Water Extractor +block.cultivator.name = Cultivator +block.dart-mech-pad.name = Alpha Mech Pad +block.delta-mech-pad.name = Delta Mech Pad +block.javelin-ship-pad.name = Javelin Ship Pad +block.trident-ship-pad.name = Trident Ship Pad +block.glaive-ship-pad.name = Glaive Ship Pad +block.omega-mech-pad.name = Omega Mech Pad +block.tau-mech-pad.name = Tau Mech Pad +block.conduit.name = Conduit +block.mechanical-pump.name = Mechanical Pump +block.item-source.name = Item Source +block.item-void.name = Item Void +block.liquid-source.name = Liquid Source +block.liquid-void.name = Liquid Void +block.power-void.name = Power Void +block.power-source.name = Power Infinite +block.unloader.name = Unloader +block.vault.name = Vault +block.wave.name = Wave +block.swarmer.name = Swarmer +block.salvo.name = Salvo +block.ripple.name = Ripple +block.phase-conveyor.name = Phase Conveyor +block.bridge-conveyor.name = Bridge Conveyor +block.plastanium-compressor.name = Plastanium Compressor +block.pyratite-mixer.name = Pyratite Mixer +block.blast-mixer.name = Blast Mixer +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.draug-factory.name = Draug Miner Drone Factory +block.spirit-factory.name = Spirit Repair Drone Factory +block.phantom-factory.name = Phantom Builder Drone Factory +block.wraith-factory.name = Wraith Fighter Factory +block.ghoul-factory.name = Ghoul Bomber Factory +block.dagger-factory.name = Dagger Mech Factory +block.crawler-factory.name = Crawler Mech Factory +block.titan-factory.name = Titan Mech Factory +block.fortress-factory.name = Fortress Mech Factory +block.revenant-factory.name = Revenant Fighter Factory +block.repair-point.name = Repair Point +block.pulse-conduit.name = Pulse Conduit +block.plated-conduit.name = Plated Conduit +block.phase-conduit.name = Phase Conduit +block.liquid-router.name = Liquid Router +block.liquid-tank.name = Liquid Tank +block.liquid-junction.name = Liquid Junction +block.bridge-conduit.name = Bridge Conduit +block.rotary-pump.name = Rotary Pump +block.thorium-reactor.name = Thorium Reactor +block.mass-driver.name = Mass Driver +block.blast-drill.name = Airblast Drill +block.thermal-pump.name = Thermal Pump +block.thermal-generator.name = Thermal Generator +block.alloy-smelter.name = Alloy Smelter +block.mender.name = Mender +block.mend-projector.name = Mend Projector +block.surge-wall.name = Surge Wall +block.surge-wall-large.name = Large Surge Wall +block.cyclone.name = Cyclone +block.fuse.name = Fuse +block.shock-mine.name = Shock Mine +block.overdrive-projector.name = Overdrive Projector +block.force-projector.name = Force Projector +block.arc.name = Arc +block.rtg-generator.name = RTG Generator +block.spectre.name = Spectre +block.meltdown.name = Meltdown +block.container.name = Container +block.launch-pad.name = Launch Pad +block.launch-pad-large.name = Large Launch Pad +team.blue.name = blue +team.crux.name = red +team.sharded.name = orange +team.orange.name = orange +team.derelict.name = derelict +team.green.name = green +team.purple.name = purple +unit.spirit.name = Spirit Repair Drone +unit.draug.name = Draug Miner Drone +unit.phantom.name = Phantom Builder Drone +unit.dagger.name = Dagger +unit.crawler.name = Crawler +unit.titan.name = Titan +unit.ghoul.name = Ghoul Bomber +unit.wraith.name = Wraith Fighter +unit.fortress.name = Fortress +unit.revenant.name = Revenant +unit.eruptor.name = Eruptor +unit.chaos-array.name = Chaos Array +unit.eradicator.name = Eradicator +unit.lich.name = Lich +unit.reaper.name = Reaper +tutorial.next = [lightgray] +tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper +tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper +tutorial.drill = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building. +tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement. +tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[] +tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. +tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. +tutorial.turret = Once an item enters your core, it can be used for building.\nKeep in mind that not all items can be used for building.\nItems that are not used for building, such as[accent] coal[] or[accent] scrap[], cannot be put into the core.\nDefensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base. +tutorial.drillturret = Duo turrets require[accent] copper ammo[] to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1 +tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause. +tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause. +tutorial.unpause = Now press space again to unpause. +tutorial.unpause.mobile = Now press it again to unpause. +tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection. +tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection. +tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[] +tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[] +tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. +tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper. +tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese obtained resources can then be used to research new technology.\n\n[accent]Press the launch button. + +item.copper.description = The most basic structural material. Used extensively in all types of blocks. +item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks. +item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage. +item.graphite.description = Mineralized carbon, used for ammunition and electrical components. +item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. +item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. +item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. +item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. +item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. +item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. +item.phase-fabric.description = A near-weightless substance used in advanced electronics and self-repairing technology. +item.surge-alloy.description = An advanced alloy with unique electrical properties. +item.spore-pod.description = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. +item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. +item.pyratite.description = An extremely flammable substance used in incendiary weapons. +liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. +liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon. +liquid.oil.description = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. +liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. +mech.alpha-mech.description = The standard control mech. Based on a Dagger unit, with upgraded armor and building capabilities. Has more damage output than a Dart ship. +mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons. +mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability. +mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage. +mech.dart-ship.description = The standard control ship. Fast mining speed. Reasonably fast and light, but has little offensive capability. +mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles. +mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored. +mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable. +unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core. +unit.spirit.description = A modified draug drone, designed for repair instead of mining. Automatically fixes any damaged blocks in the area. +unit.phantom.description = An advanced drone unit. Follows users. Assists in block construction. +unit.dagger.description = The most basic ground mech. Cheap to produce. Overwhelming when used in swarms. +unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies. +unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. Equipped with two miniature Scorch-class flamethrowers. +unit.fortress.description = A heavy artillery mech. Equipped with two modified Hail-type cannons for long-range assault on enemy structures and units. +unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire. +unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators. +unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critical infrastructure. +unit.revenant.description = A heavy, hovering missile array. +block.message.description = Stores a message. Used for communication between allies. +block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite. +block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently. +block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon. +block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. +block.plastanium-compressor.description = Produces plastanium from oil and titanium. +block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. +block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. +block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. +block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound. +block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite. +block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets. +block.separator.description = Separates slag into its mineral components. Outputs the cooled result. +block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil. +block.pulverizer.description = Crushes scrap into fine sand. +block.coal-centrifuge.description = Solidifes oil into chunks of coal. +block.incinerator.description = Vaporizes any excess item or liquid it receives. +block.power-void.description = Voids all power inputted into it. Sandbox only. +block.power-source.description = Infinitely outputs power. Sandbox only. +block.item-source.description = Infinitely outputs items. Sandbox only. +block.item-void.description = Destroys any items. Sandbox only. +block.liquid-source.description = Infinitely outputs liquids. Sandbox only. +block.liquid-void.description = Removes any liquids. Sandbox only. +block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves. +block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles. +block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. +block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles. +block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. +block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. +block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies. +block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles. +block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact. +block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. +block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. +block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. +block.door.description = A small door. Can be opened or closed by tapping. +block.door-large.description = A large door. Can be opened and closed by tapping.\nSpans multiple tiles. +block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency. +block.mend-projector.description = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. +block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. +block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size. +block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy. +block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable. +block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors. +block.junction.description = Acts as a bridge for two crossing conveyor belts. Useful in situations with two different conveyors carrying different materials to different locations. +block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building. +block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles. +block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right. +block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. +block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] +block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. +block.overflow-gate.description = Only outputs to the left and right if the front path is blocked. +block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. +block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. +block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. +block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. +block.thermal-pump.description = The ultimate pump. +block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. +block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. +block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. +block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets. +block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. +block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. +block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. +block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles. +block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. +block.power-node-large.description = An advanced power node with greater range. +block.surge-tower.description = An extremely long-range power node with fewer available connections. +block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. +block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit. +block.battery-large.description = Stores much more power than a regular battery. +block.combustion-generator.description = Generates power by burning flammable materials, such as coal. +block.thermal-generator.description = Generates power when placed in hot locations. +block.turbine-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam. +block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. +block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate. +block.solar-panel.description = Provides a small amount of power from the sun. +block.solar-panel-large.description = A significantly more efficient version of the standard solar panel. +block.thorium-reactor.description = Generates significant amounts of power from thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity. +block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process. +block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. +block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. +block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. +block.blast-drill.description = The ultimate drill. Requires large amounts of power. +block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. +block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. +block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. +block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen. +block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. +block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. +block.unloader.description = Unloads items from any nearby non-transportation block. The type of item to be unloaded can be changed by tapping. +block.launch-pad.description = Launches batches of items without any need for a core launch. +block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently. +block.duo.description = A small, cheap turret. Useful against ground units. +block.scatter.description = An essential anti-air turret. Sprays clumps of lead or scrap flak at enemy units. +block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. +block.hail.description = A small, long-range artillery turret. +block.wave.description = A medium-sized turret. Shoots streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.lancer.description = A medium-sized anti-ground laser turret. Charges and fires powerful beams of energy. +block.arc.description = A small close-range electric turret. Fires arcs of electricity at enemies. +block.swarmer.description = A medium-sized missile turret. Attacks both air and ground enemies. Fires homing missiles. +block.salvo.description = A larger, more advanced version of the Duo turret. Fires quick salvos of bullets at the enemy. +block.fuse.description = A large, close-range energy turret. Fires three piercing beams at nearby enemies. +block.ripple.description = An extremely powerful artillery turret. Shoots clusters of shells at enemies over long distances. +block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units. +block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. +block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. +block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to rally, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command. +block.draug-factory.description = Produces Draug mining drones. +block.spirit-factory.description = Produces Spirit structural repair drones. +block.phantom-factory.description = Produces advanced construction drones. +block.wraith-factory.description = Produces fast, hit-and-run interceptor units. +block.ghoul-factory.description = Produces heavy carpet bombers. +block.revenant-factory.description = Produces heavy missile-based units. +block.dagger-factory.description = Produces basic ground units. +block.crawler-factory.description = Produces fast self-destructing swarm units. +block.titan-factory.description = Produces advanced, armored ground units. +block.fortress-factory.description = Produces heavy artillery ground units. +block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. +block.dart-mech-pad.description = Provides transformation into a basic attack mech.\nUse by tapping while standing on it. +block.delta-mech-pad.description = Provides transformation into a lightly armored hit-and-run attack mech.\nUse by tapping while standing on it. +block.tau-mech-pad.description = Provides transformation into an advanced support mech.\nUse by tapping while standing on it. +block.omega-mech-pad.description = Provides transformation into a heavily-armored missile mech.\nUse by tapping while standing on it. +block.javelin-ship-pad.description = Provides transformation into a quick, lightly-armored interceptor.\nUse by tapping while standing on it. +block.trident-ship-pad.description = Provides transformation into a heavy support bomber.\nUse by tapping while standing on it. +block.glaive-ship-pad.description = Provides transformation into a large, well-armored gunship.\nUse by tapping while standing on it. diff --git a/core/assets/bundles/bundle_fi.properties b/core/assets/bundles/bundle_fi.properties index f0c8e91b3f..9609baca29 100644 --- a/core/assets/bundles/bundle_fi.properties +++ b/core/assets/bundles/bundle_fi.properties @@ -110,7 +110,7 @@ mod.display = [gray]Mod:[orange] {0} mod.enabled = [lightgray]Käytössä mod.disabled = [scarlet]Pois käytöstä mod.disable = Poista käytössä -mod.content = Content: +mod.content = Sisältö: mod.delete.error = Modia ei pystytty poistamaan. Tiedosto voi olla käytössä. mod.requiresversion = [scarlet]Tarvitsee vähintään pelin version: [accent]{0} mod.missingdependencies = [scarlet]Tarvitsee nämä modit: {0} @@ -150,7 +150,7 @@ server.closing = [accent]Suljetaan palvelinta... server.kicked.kick = Sinut on potkittu palvelimelta! server.kicked.whitelist = Sinua ei ole lisätty sallittujen luetteloon tällä palvelimella. server.kicked.serverClose = Palvelin suljettu. -server.kicked.vote = Sinut on äänetetty pois. Hyvästi. +server.kicked.vote = Sinut on äänestetty pois. Hyvästi. server.kicked.clientOutdated = Pelisi on vanhentunut! Päivitä se! server.kicked.serverOutdated = Vanhentunut palvelin! Pyydä isäntää päivittämään! server.kicked.banned = Sinulla on portikielto tälle palvelimelle. @@ -212,12 +212,12 @@ disconnect = Yhteys katkaistu. disconnect.error = Yhteysvirhe. disconnect.closed = Yhteys poistettu. disconnect.timeout = Yhteys aikakatkaistiin. -disconnect.data = Failed to load world data! -cantconnect = Unable to join game ([accent]{0}[]). -connecting = [accent]Connecting... -connecting.data = [accent]Loading world data... +disconnect.data = Maailman tietojen lataaminen epäonnistui! +cantconnect = Peliin ei voitu liittyä ([accent]{0}[]). +connecting = [accent]Yhdistetään... +connecting.data = [accent]Ladataan maailman tietoja... server.port = Portti: -server.addressinuse = Address already in use! +server.addressinuse = Osoite on jo käytössä! server.invalidport = Invalid port number! server.error = [crimson]Error hosting server: [accent]{0} save.new = Uusi tallennus @@ -309,8 +309,8 @@ steam.error = Failed to initialize Steam services.\nError: {0} editor.brush = Sivellin editor.openin = Avaa editorissa -editor.oregen = Ore Generation -editor.oregen.info = Ore Generation: +editor.oregen = Malmien generaatio +editor.oregen.info = Malmien generaatio: editor.mapinfo = Kartan tiedot editor.author = Tekijä: editor.description = Kuvaus: @@ -361,7 +361,7 @@ editor.savemap = Tallenna kartta editor.saved = Tallennettu! editor.save.noname = Kartallasi ei ole nimeä! Aseta sellainen 'Kartan tiedot' valikossa. editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. -editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! +editor.import.exists = [scarlet]Unable to import:[] sisäänrakennettu kartta nimellä '{0}' on jo olemassa! editor.import = Tuo... editor.importmap = Tuo kartta editor.importmap.description = Import an already existing map @@ -443,7 +443,7 @@ load = Lataa save = Tallenna fps = FPS: {0} ping = Ping: {0}ms -language.restart = Please restart your game for the language settings to take effect. +language.restart = Käynnista peli uudelleen, jotta saat kieliasetukset toimimaan. settings = Asetukset tutorial = Perehdytys tutorial.retake = Pelaa perehdytys uudelleen @@ -459,7 +459,7 @@ requirement.core = Tuhoa vihollisen ydin kartassa {0} requirement.unlock = Avaa {0} resume = Resume Zone:\n[lightgray]{0} bestwave = [lightgray]Paras taso: {0} -launch = < LAUNCH > +launch = < LAUKAISE > launch.title = Onnistunut laukaisu launch.next = [lightgray]seuraava mahdollisuus tasolla {0} launch.unable2 = [scarlet]Unable to LAUNCH.[] @@ -834,7 +834,7 @@ item.radioactivity = [lightgray]Radioaktiivisuus: {0}% unit.health = [lightgray]Elämäpisteet: {0} unit.speed = [lightgray]Nopeus: {0} unit.weapon = [lightgray]Ammuksia: {0} -unit.itemcapacity = [lightgray]Item Capacity: {0} +unit.itemcapacity = [lightgray]Esine kapasiteetti: {0} unit.minespeed = [lightgray]Mining Speed: {0}% unit.minepower = [lightgray]Mining Power: {0} unit.ability = [lightgray]Ability: {0} @@ -924,8 +924,8 @@ block.plastanium-wall.name = Plastaniumiseinä block.plastanium-wall-large.name = Suuri plastaniumiseinä block.phase-wall.name = Phase Wall block.phase-wall-large.name = Large Phase Wall -block.thorium-wall.name = Thorium Wall -block.thorium-wall-large.name = Large Thorium Wall +block.thorium-wall.name = Toriumiseinä +block.thorium-wall-large.name = Suuri toriumiseinä block.door.name = Ovi block.door-large.name = Suuri ovi block.duo.name = Duo diff --git a/core/assets/bundles/bundle_hu.properties b/core/assets/bundles/bundle_hu.properties new file mode 100644 index 0000000000..0777fd5e0e --- /dev/null +++ b/core/assets/bundles/bundle_hu.properties @@ -0,0 +1,1268 @@ +credits.text = Készítette [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[] +credits = Credits +contributors = Fordítók és készítők +discord = Csatlakozz a Mindustry Discord-hoz! +link.discord.description = A hivatalos Mindustry Discord chatroom +link.reddit.description = A Mindustry subreddit +link.github.description = A játék forráskódja +link.changelog.description = Frissítési változások listája +link.dev-builds.description = Instabil fejlesztői build-ek +link.trello.description = Hivatalos Trello tábla a tervezett funkcióknak +link.itch.io.description = itch.io oldal PC letöltésekkel +link.google-play.description = Google Play áruház listázás +link.f-droid.description = F-Droid katalógus listázás +link.wiki.description = Hivatalos Mindustry wiki +link.feathub.description = Új funkciók ajánlása +linkfail = Nem sikerült megnyitni a linket!\nAz URL a vágólapra lett másolva. +screenshot = Képernyőkép mentve ide: {0} +screenshot.invalid = Túl nagy a térkép, nincsen elég memória a képernyőképhez. +gameover = Vége a játéknak +gameover.pvp = A[accent] {0}[] csapat nyert! +highscore = [accent]Új rekord! +copied = Másolva. + +load.sound = Hangok +load.map = Térképek +load.image = Képek +load.content = Tartalom +load.system = Rendszer +load.mod = Modok +load.scripts = Szkriptek + +be.update = Egy új Bleeding Edge build érhető el: +be.update.confirm = Letöltés és újraindítás?? +be.updating = Frissítés... +be.ignore = Figyelmen kívül hagyás +be.noupdates = Nincsen új frissítés. +be.check = Frissítések keresése + +schematic = Schematic +schematic.add = Schematic mentése... +schematics = Schematicok +schematic.replace = Már van ilyen nevű schematic. Csere? +schematic.exists = Már van ilyen nevű schematic. +schematic.import = Schematic importálása... +schematic.exportfile = Exportálás fájlba +schematic.importfile = Importálás fájlba +schematic.browseworkshop = Workshop megtekintése +schematic.copy = Másolás a vágólapra +schematic.copy.import = Importálás a vágólapról +schematic.shareworkshop = Megosztás a Workshopon +schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Schematic tükrözése +schematic.saved = Schematic mentve. +schematic.delete.confirm = Ez a Schematic törölve lesz. +schematic.rename = Schematic átnevezése +schematic.info = {0}x{1}, {2} blokk + +stat.wave = Hullámok kivédve:[accent] {0} +stat.enemiesDestroyed = Ellenségek kivédve:[accent] {0} +stat.built = Épített épületek:[accent] {0} +stat.destroyed = Ledöntött épületek:[accent] {0} +stat.deconstructed = Törölt épületek:[accent] {0} +stat.delivered = Elindított erőforrások: +stat.playtime = Játékidő:[accent] {0} +stat.rank = Végső értékelés: [accent]{0} + +launcheditems = [accent]Elindított elemek +launchinfo = [unlaunched][[INDÍTSD EL] a magot hogy megszerezd a kékkel jelölt erőforrásokat. +map.delete = Biztos, hogy törölni akarod a "[accent]{0}[]" térképet? +level.highscore = Rekord: [accent]{0} +level.select = Pálya választása +level.mode = Játékmód: +showagain = Ne mutassa legközelebb +coreattack = < A mag támadás alatt van! > +nearpoint = [[ [scarlet]AZONNAL HAGYD EL A LEDOBÁSI PONTOT[] ]\nveszélyes zóna +database = Mag adatbázis +savegame = Játék mentése +loadgame = Játék betöltése +joingame = Csatlakozás játékhoz +customgame = Speciális játék +newgame = Új játék +none = +minimap = Minitérkép +position = Pozíció +close = Bezárás +website = Weboldal +quit = Kilépés +save.quit = Mentés és kilépés +maps = Térképek +maps.browse = Térképek böngészése +continue = Folytatás +maps.none = [lightgray]Nincsen térkép! +invalid = Érvénytelen +pickcolor = Szín kiválasztása +preparingconfig = Konfiguráció előkészítése +preparingcontent = Tartalom előkészítése +uploadingcontent = Tartalom feltöltése +uploadingpreviewfile = Előnézet feltöltése +committingchanges = Változások mentése +done = Kész +feature.unsupported = Az eszköz nem támogatja a funkciót. + +mods.alphainfo = Figyelem! a modok alfa állapotban vannak, és[scarlet] nagyon sok lehet benne a hiba[].\nJelentsd be az esetleges hibákat a Mindustry GitHubon vagy a Discordon. +mods.alpha = [accent](Alfa) +mods = Modok +mods.none = [LIGHT_GRAY]Nincsen Mod! +mods.guide = Mod készítési útmutató +mods.report = Hiba bejelentése +mods.openfolder = Mod mappa +mod.display = [gray]Mod:[orange] {0} +mod.enabled = [lightgray]Aktív +mod.disabled = [scarlet]Inaktív +mod.disable = Letiltás +mod.delete.error = Nem lehet törölni a Modot. Lehet, hogy egy másik folyamat használja. +mod.requiresversion = [scarlet]Minimális játék verzió: [accent]{0} +mod.missingdependencies = [scarlet]Hiányzó függőségek: {0} +mod.erroredcontent = [scarlet]Tartalom hiba +mod.errors = Hiba történt a tartalom betöltése közben. +mod.noerrorplay = [scarlet]Vannak hibás Modok.[] Töröld le vagy javítsd ki a játék előtt. +mod.nowdisabled = [scarlet]A '{0}' Modnak nincsen megfelelő függősége:[accent] {1}\n[lightgray]Ezeket előbb le kell tölteni.\nEz a Mod automatikusan törölve lesz. +mod.enable = Engedélyezés +mod.requiresrestart = A játék kilép a módosítások alkalmazásához. +mod.reloadrequired = [scarlet]Újratöltés szükséges +mod.import = Mod importálása +mod.import.github = GitHub Mod importálása +mod.item.remove = Ez az elem része a [accent] '{0}'[] Modnak. A törléshez távolítsd el a Modot. +mod.remove.confirm = Ez a Mod törölve lesz. +mod.author = [LIGHT_GRAY]Készítő:[] {0} +mod.missing = Ez a mentés nemrég törölt vagy frissített Modokat tartalmaz. Elképzelhető, hogy nem fog működni. Biztosan betöltöd?\n[lightgray]Modok:\n{0} +mod.preview.missing = Mielőtt publikálod ezt a modot a workshopra, adj hozzá egy borítóképet.\nKészíts egy[accent] preview.png[] nevű képet a mod mappájába, majd próbáld újra. +mod.folder.missing = Csak mappa formában lehet feltölteni a workshopra.\nHogy átalakítsd, csomagold ki a ZIP-et egy mappába és töröld le a régit, Majd indítsd újra a játékot vagy töltsd újra a modot. +mod.scripts.unsupported = Az eszköz nem támogatja a Mod szkripteket. Néhány Mod nem fog működni. + +about.button = Közreműködők +name = Név: +noname = Válassz egy[accent] nevet[] előbb. +filename = Fájl név: +unlocked = Új tartalom kinyitva! +completed = [accent]Kész +techtree = Tech Tree +research.list = [lightgray]Fedezd fel: +research = Felfedezés +researched = [lightgray]{0} felfedezve. +players = {0} játékos +players.single = {0} játékos +players.search = keresés +players.notfound = [gray]nincsen játékos +server.closing = [accent]Szerver bezárása... +server.kicked.kick = Ki lettél rúgva a szerverről! +server.kicked.whitelist = Nem vagy a fehérlistán. +server.kicked.serverClose = A szerver be lett zárva. +server.kicked.vote = Le lettél szavazva. Viszlát. +server.kicked.clientOutdated = Elavult verziót használsz! Frissítsd a játékot! +server.kicked.serverOutdated = Elavult a szerver! Kérd meg a tulajdonost, hogy frissítse! +server.kicked.banned = Ki vagy tiltva a szerverről. +server.kicked.typeMismatch = Ez a szerver nem kompatibilis a jelenlegi verzióddal. +server.kicked.playerLimit = Ez a szerver tele van. Várd ki a sorodat. +server.kicked.recentKick = Nemrég ki lettél rúgva.\nVárj egy kicsit. +server.kicked.nameInUse = Már van egy ilyen nevű játékos. +server.kicked.nameEmpty = A kiválasztott név érvénytelen. +server.kicked.idInUse = Már csatlakozva vagy erre a szerverre! Nem lehet egyszerre két fiókot használni. +server.kicked.customClient = Ez a szerver nem támogatja a saját készítésű buildeket. Használj egy hivatalos változatot. +server.kicked.gameover = Vége a játéknak! +server.kicked.serverRestarting = Ez a szerver újraindul. +server.versions = Te verziód:[accent] {0}[]\nSzerver verzió:[accent] {1}[] +host.info = The [accent]host[] button hosts a server on port [scarlet]6567[]. \nAnybody on the same [lightgray]wifi or local network[] should be able to see your server in their server list.\n\nIf you want people to be able to connect from anywhere by IP, [accent]port forwarding[] is required.\n\n[lightgray]Note: If someone is experiencing trouble connecting to your LAN game, make sure you have allowed Mindustry access to your local network in your firewall settings. Note that public networks sometimes do not allow server discovery. +join.info = Here, you can enter a [accent]server IP[] to connect to, or discover [accent]local network[] or [accent]global[] servers to connect to.\nBoth LAN and WAN multiplayer is supported.\n\n[lightgray]If you want to connect to someone by IP, you would need to ask the host for their IP, which can be found by googling "my ip" from their device. +hostserver = Másik játékos meghívása +invitefriends = Barátok meghívása +hostserver.mobile = Játékos\Meghívása +host = meghívás +hosting = [accent]Szerver megnyitása... +hosts.refresh = Frissítés +hosts.discovering = LAN játék keresése +hosts.discovering.any = Játék keresése +server.refreshing = Szerver frissítése +hosts.none = [lightgray]Nincsen helyi játék! +host.invalid = [scarlet]Nem sikerült csatlakozni. + +servers.local = Lokális Szerverek +servers.remote = Távoli Szerverek +servers.global = Közösségi szerverek + +trace = Játékos követése +trace.playername = Játékos neve: [accent]{0} +trace.ip = IP: [accent]{0} +trace.id = Azonosító: [accent]{0} +trace.mobile = Mobil kliens: [accent]{0} +trace.modclient = Nemhivatalos kliens: [accent]{0} +invalidid = Érvénytelen kliens ID! Submit a bug report. +server.bans = Tiltások +server.bans.none = Nincsenek tiltott játékosok! +server.admins = Adminok +server.admins.none = Nincsen admin! +server.add = Szerver hozzáadása +server.delete = Biztosan törlöd ezt a szervert? +server.edit = Szerver szerkesztése +server.outdated = [crimson]Elavult szerver![] +server.outdated.client = [crimson]Elavult kliens![] +server.version = [gray]v{0} {1} +server.custombuild = [accent]Saját Build +confirmban = Biztosan tiltod ezt a játékost? +confirmkick = Biztosan kirúgod ezt a játékost? +confirmvotekick = Biztosan ki akarod rúgatni ezt a játékost? +confirmunban = Biztosan újra engedélyezed ezt a játékost? +confirmadmin = Biztosan hozzá akarod adni ezt a játékost az adminokhoz? +confirmunadmin = Biztosan meg akarod szűntetni ennek a játékosnak az admin szátuszát? +joingame.title = Csatlakozás +joingame.ip = Cím: +disconnect = Leválasztva. +disconnect.error = Csatlakozási hiba. +disconnect.closed = Csatlakozás bezárva. +disconnect.timeout = Időtúllépés. +disconnect.data = Nem sikerült betölteni az adatokat! +cantconnect = Nem sikerült csatlakozni ehhez: ([accent]{0}[]). +connecting = [accent]Csatlakozás... +connecting.data = [accent]Betöltés... +server.port = Port: +server.addressinuse = Már van ilyen cím! +server.invalidport = Érvénytelen port! +server.error = [crimson]Nem sikerült megnyitni a szervert. +save.new = Új mentés +save.overwrite = Biztosan felülírod\nezt a mentést? +overwrite = Felülírás +save.none = Nem található mentés! +saveload = Mentés... +savefail = Nem sikerült menteni! +save.delete.confirm = Biztosan törlöd ezt a mentést? +save.delete = Törlés +save.export = Exportálás +save.import.invalid = [accent]Ez a mentés érvénytelen! +save.import.fail = [crimson]Nem sikerült importálni a[accent]{0}[] mentést +save.export.fail = [crimson]Nem sikerült exportálni a[accent]{0}[] mentést +save.import = Importálás +save.newslot = Név: +save.rename = Átnevezés +save.rename.text = Új név: +selectslot = Válassz ki egy mentést. +slot = [accent]Slot {0} +editmessage = Üzenet szerkesztése +save.corrupted = Érvénytelen fájl! +empty = <üres> +on = Be +off = Ki +save.autosave = Automatikus mentés: {0} +save.map = Térkép: {0} +save.wave = Hullám: {0} +save.mode = Mód: {0} +save.date = Utolsó Mentés: {0} +save.playtime = Játékidő: {0} +warning = Figyelmeztetés. +confirm = Rendben +delete = Törlés +view.workshop = Megtekintés a Workshopban +workshop.listing = Workshop Listázás szerkesztése +ok = OK +open = Megnyitás +customize = Szabályok módosítása +cancel = Mégse +openlink = Link megnyitása +copylink = Link másolása +back = Vissza +data.export = Adatok Exportálása +data.import = Adatok Importálása +data.openfolder = Adat mappa megnyitása +data.exported = Adat exportálva. +data.invalid = Érvénytelen adatok. +data.import.confirm = Külső adat importálása felülírja[scarlet] minden[] jelenlegi állapotodat.\n[accent]Nem lehet visszavonni![]\n\nAmint kész az importálás, kilép a játék. +classic.export = Classic adatok exportálása +classic.export.text = A[accent] Mindustry[]-nak elkészült egy új változata.\nClassic (v3.5 build 40) adatok vannak az eszközön. Szeretnéd ezeket exportálni a Mindustry Classic-ba való használathoz? +quit.confirm = Biztos kilépsz? +quit.confirm.tutorial = Biztosan tudod, mit csinálsz?\nA bevezetőt megtalálod itt:[accent] Beállítások->Játék->Bevezető újrajátszása[] +loading = [accent]Betöltés... +reloading = [accent]Reloading Mods... +saving = [accent]Saving... +cancelbuilding = [accent][[{0}][] to clear plan +selectschematic = [accent][[{0}][] to select+copy +pausebuilding = [accent][[{0}][] to pause building +resumebuilding = [scarlet][[{0}][] to resume building +wave = [accent]{0}. hullám +wave.waiting = [lightgray]Következő hullám: {0} +wave.waveInProgress = [lightgray]Wave in progress +waiting = [lightgray]Várakozás... +waiting.players = Waiting for players... +wave.enemies = [lightgray]{0} ellenség maradt +wave.enemy = [lightgray]{0} ellenség maradt +loadimage = Load Image +saveimage = Save Image +unknown = Unknown +custom = Custom +builtin = Built-In +map.delete.confirm = Are you sure you want to delete this map? This action cannot be undone! +map.random = [accent]Random Map +map.nospawn = This map does not have any cores for the player to spawn in! Add a[accent] orange[] core to this map in the editor. +map.nospawn.pvp = This map does not have any enemy cores for player to spawn into! Add[SCARLET] non-orange[] cores to this map in the editor. +map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[SCARLET] red[] cores to this map in the editor. +map.invalid = Error loading map: corrupted or invalid map file. +workshop.update = Update Item +workshop.error = Error fetching workshop details: {0} +map.publish.confirm = Are you sure you want to publish this map?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your maps will not show up! +workshop.menu = Select what you would like to do with this item. +workshop.info = Item Info +changelog = Changelog (optional): +eula = Steam EULA +missing = This item has been deleted or moved.\n[lightgray]The workshop listing has now been automatically un-linked. +publishing = [accent]Publishing... +publish.confirm = Are you sure you want to publish this?\n\n[lightgray]Make sure you agree to the Workshop EULA first, or your items will not show up! +publish.error = Error publishing item: {0} +steam.error = Failed to initialize Steam services.\nError: {0} + +editor.brush = Brush +editor.openin = Open In Editor +editor.oregen = Ore Generation +editor.oregen.info = Ore Generation: +editor.mapinfo = Map Info +editor.author = Author: +editor.description = Description: +editor.nodescription = A map must have a description of at least 4 characters before being published. +editor.waves = Waves: +editor.rules = Rules: +editor.generation = Generation: +editor.ingame = Edit In-Game +editor.publish.workshop = Publish On Workshop +editor.newmap = New Map +workshop = Workshop +waves.title = Waves +waves.remove = Remove +waves.never = +waves.every = every +waves.waves = wave(s) +waves.perspawn = per spawn +waves.to = to +waves.boss = Boss +waves.preview = Preview +waves.edit = Edit... +waves.copy = Copy to Clipboard +waves.load = Load from Clipboard +waves.invalid = Invalid waves in clipboard. +waves.copied = Waves copied. +waves.none = No enemies defined.\nNote that empty wave layouts will automatically be replaced with the default layout. +editor.default = [lightgray] +details = Details... +edit = Edit... +editor.name = Name: +editor.spawn = Spawn Unit +editor.removeunit = Remove Unit +editor.teams = Teams +editor.errorload = Error loading file. +editor.errorsave = Error saving file. +editor.errorimage = That's an image, not a map.\n\nIf you want to import a 3.5/build 40 map, use the 'Import Legacy Map' button in the editor. +editor.errorlegacy = This map is too old, and uses a legacy map format that is no longer supported. +editor.errornot = This is not a map file. +editor.errorheader = This map file is either not valid or corrupt. +editor.errorname = Map has no name defined. Are you trying to load a save file? +editor.update = Update +editor.randomize = Randomize +editor.apply = Apply +editor.generate = Generate +editor.resize = Resize +editor.loadmap = Load Map +editor.savemap = Save Map +editor.saved = Saved! +editor.save.noname = Your map does not have a name! Set one in the 'map info' menu. +editor.save.overwrite = Your map overwrites a built-in map! Pick a different name in the 'map info' menu. +editor.import.exists = [scarlet]Unable to import:[] a built-in map named '{0}' already exists! +editor.import = Import... +editor.importmap = Import Map +editor.importmap.description = Import an already existing map +editor.importfile = Import File +editor.importfile.description = Import an external map file +editor.importimage = Import Legacy Map +editor.importimage.description = Import an external map image file +editor.export = Export... +editor.exportfile = Export File +editor.exportfile.description = Export a map file +editor.exportimage = Export Terrain Image +editor.exportimage.description = Export a map image file +editor.loadimage = Import Terrain +editor.saveimage = Export Terrain +editor.unsaved = [scarlet]You have unsaved changes![]\nAre you sure you want to exit? +editor.resizemap = Resize Map +editor.mapname = Map Name: +editor.overwrite = [accent]Warning!\nThis overwrites an existing map. +editor.overwrite.confirm = [scarlet]Warning![] A map with this name already exists. Are you sure you want to overwrite it? +editor.exists = A map with this name already exists. +editor.selectmap = Select a map to load: + +toolmode.replace = Replace +toolmode.replace.description = Draws only on solid blocks. +toolmode.replaceall = Replace All +toolmode.replaceall.description = Replace all blocks in map. +toolmode.orthogonal = Orthogonal +toolmode.orthogonal.description = Draws only orthogonal lines. +toolmode.square = Square +toolmode.square.description = Square brush. +toolmode.eraseores = Erase Ores +toolmode.eraseores.description = Erase only ores. +toolmode.fillteams = Fill Teams +toolmode.fillteams.description = Fill teams instead of blocks. +toolmode.drawteams = Draw Teams +toolmode.drawteams.description = Draw teams instead of blocks. + +filters.empty = [lightgray]No filters! Add one with the button below. +filter.distort = Distort +filter.noise = Noise +filter.median = Median +filter.oremedian = Ore Median +filter.blend = Blend +filter.defaultores = Default Ores +filter.ore = Ore +filter.rivernoise = River Noise +filter.mirror = Mirror +filter.clear = Clear +filter.option.ignore = Ignore +filter.scatter = Scatter +filter.terrain = Terrain +filter.option.scale = Scale +filter.option.chance = Chance +filter.option.mag = Magnitude +filter.option.threshold = Threshold +filter.option.circle-scale = Circle Scale +filter.option.octaves = Octaves +filter.option.falloff = Falloff +filter.option.angle = Angle +filter.option.block = Block +filter.option.floor = Floor +filter.option.flooronto = Target Floor +filter.option.wall = Wall +filter.option.ore = Ore +filter.option.floor2 = Secondary Floor +filter.option.threshold2 = Secondary Threshold +filter.option.radius = Radius +filter.option.percentile = Percentile + +width = Szélesség: +height = Magasság: +menu = Menü +play = Indítás +campaign = Campaign +load = Load +save = Save +fps = FPS: {0} +ping = Ping: {0}ms +language.restart = Please restart your game for the language settings to take effect. +settings = Beállítások +tutorial = Bevezető +tutorial.retake = Bevezető újrajátszása +editor = Szerkesztő +mapeditor = Térképszerkesztő + +abandon = Elhagyás +abandon.text = Ez a zóna és minden tartalma el lesz hagyva. +locked = Zárva +complete = [lightgray]Complete: +requirement.wave = Reach Wave {0} in {1} +requirement.core = Destroy Enemy Core in {0} +requirement.unlock = Unlock {0} +resume = Resume Zone:\n[lightgray]{0} +bestwave = [lightgray]Best Wave: {0} +launch = < INDÍTÁS > +launch.title = Indítás sikeres +launch.next = [lightgray]következő lehetőség a {0}. hullámnál +launch.unable2 = [scarlet]Nem lehet ELINDÍTANI.[] +launch.confirm = This will launch all resources in your core.\nYou will not be able to return to this base. +launch.skip.confirm = If you skip now, you will not be able to launch until later waves. +uncover = Uncover +configure = Configure Loadout +bannedblocks = Banned Blocks +addall = Add All +configure.locked = [lightgray]Unlock configuring loadout: {0}. +configure.invalid = Amount must be a number between 0 and {0}. +zone.unlocked = [lightgray]{0} unlocked. +zone.requirement.complete = Requirement for {0} completed:[lightgray]\n{1} +zone.config.unlocked = Loadout unlocked:[lightgray]\n{0} +zone.resources = [lightgray]Resources Detected: +zone.objective = [lightgray]Objective: [accent]{0} +zone.objective.survival = Survive +zone.objective.attack = Destroy Enemy Core +add = Add... +boss.health = Boss Health + +connectfail = [crimson]Connection error:\n\n[accent]{0} +error.unreachable = Server unreachable.\nIs the address spelled correctly? +error.invalidaddress = Invalid address. +error.timedout = Timed out!\nMake sure the host has port forwarding set up, and that the address is correct! +error.mismatch = Packet error:\npossible client/server version mismatch.\nMake sure you and the host have the latest version of Mindustry! +error.alreadyconnected = Already connected. +error.mapnotfound = Map file not found! +error.io = Network I/O error. +error.any = Unknown network error. +error.bloom = Failed to initialize bloom.\nYour device may not support it. + +zone.groundZero.name = Ground Zero +zone.desertWastes.name = Desert Wastes +zone.craters.name = The Craters +zone.frozenForest.name = Frozen Forest +zone.ruinousShores.name = Ruinous Shores +zone.stainedMountains.name = Stained Mountains +zone.desolateRift.name = Desolate Rift +zone.nuclearComplex.name = Nuclear Production Complex +zone.overgrowth.name = Overgrowth +zone.tarFields.name = Tar Fields +zone.saltFlats.name = Salt Flats +zone.impact0078.name = Impact 0078 +zone.crags.name = Crags +zone.fungalPass.name = Fungal Pass + +zone.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. +zone.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. +zone.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed. +zone.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing. +zone.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills. +zone.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology. +zone.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. +zone.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. +zone.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. +zone.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. +zone.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. +zone.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. +zone.impact0078.description = +zone.crags.description = + +settings.language = Language +settings.data = Game Data +settings.reset = Reset to Defaults +settings.rebind = Rebind +settings.resetKey = Reset +settings.controls = Controls +settings.game = Game +settings.sound = Sound +settings.graphics = Graphics +settings.cleardata = Clear Game Data... +settings.clear.confirm = Are you sure you want to clear this data?\nWhat is done cannot be undone! +settings.clearall.confirm = [scarlet]WARNING![]\nThis will clear all data, including saves, maps, unlocks and keybinds.\nOnce you press 'ok' the game will wipe all data and automatically exit. +paused = [accent]< Paused > +clear = Clear +banned = [scarlet]Banned +yes = Yes +no = No +info.title = Info +error.title = [crimson]An error has occured +error.crashtitle = An error has occured +blocks.input = Input +blocks.output = Output +blocks.booster = Booster +blocks.tiles = Required Tiles +blocks.affinities = Affinities +block.unknown = [lightgray]??? +blocks.powercapacity = Power Capacity +blocks.powershot = Power/Shot +blocks.damage = Damage +blocks.targetsair = Targets Air +blocks.targetsground = Targets Ground +blocks.itemsmoved = Move Speed +blocks.launchtime = Time Between Launches +blocks.shootrange = Range +blocks.size = Size +blocks.liquidcapacity = Liquid Capacity +blocks.powerrange = Power Range +blocks.powerconnections = Max Connections +blocks.poweruse = Power Use +blocks.powerdamage = Power/Damage +blocks.itemcapacity = Item Capacity +blocks.basepowergeneration = Base Power Generation +blocks.productiontime = Production Time +blocks.repairtime = Block Full Repair Time +blocks.speedincrease = Speed Increase +blocks.range = Range +blocks.drilltier = Drillables +blocks.drillspeed = Base Drill Speed +blocks.boosteffect = Boost Effect +blocks.maxunits = Max Active Units +blocks.health = Health +blocks.buildtime = Build Time +blocks.buildcost = Build Cost +blocks.inaccuracy = Inaccuracy +blocks.shots = Shots +blocks.reload = Shots/Second +blocks.ammo = Ammo + +bar.drilltierreq = Better Drill Required +bar.drillspeed = Drill Speed: {0}/s +bar.pumpspeed = Pump Speed: {0}/s +bar.efficiency = Efficiency: {0}% +bar.powerbalance = Power: {0}/s +bar.powerstored = Stored: {0}/{1} +bar.poweramount = Power: {0} +bar.poweroutput = Power Output: {0} +bar.items = Items: {0} +bar.capacity = Capacity: {0} +bar.liquid = Liquid +bar.heat = Heat +bar.power = Power +bar.progress = Build Progress +bar.spawned = Units: {0}/{1} +bar.input = Input +bar.output = Output + +bullet.damage = [stat]{0}[lightgray] damage +bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles +bullet.incendiary = [stat]incendiary +bullet.homing = [stat]homing +bullet.shock = [stat]shock +bullet.frag = [stat]frag +bullet.knockback = [stat]{0}[lightgray] knockback +bullet.freezing = [stat]freezing +bullet.tarred = [stat]tarred +bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier +bullet.reload = [stat]{0}[lightgray]x fire rate + +unit.blocks = blocks +unit.powersecond = power units/second +unit.liquidsecond = liquid units/second +unit.itemssecond = items/second +unit.liquidunits = liquid units +unit.powerunits = power units +unit.degrees = degrees +unit.seconds = seconds +unit.persecond = /sec +unit.timesspeed = x speed +unit.percent = % +unit.items = items +unit.thousands = k +unit.millions = mil +category.general = General +category.power = Power +category.liquids = Liquids +category.items = Items +category.crafting = Input/Output +category.shooting = Shooting +category.optional = Optional Enhancements +setting.landscape.name = Lock Landscape +setting.shadows.name = Shadows +setting.blockreplace.name = Automatic Block Suggestions +setting.linear.name = Linear Filtering +setting.hints.name = Hints +setting.buildautopause.name = Auto-Pause Building +setting.animatedwater.name = Animated Water +setting.animatedshields.name = Animated Shields +setting.antialias.name = Antialias[lightgray] (requires restart)[] +setting.indicators.name = Enemy/Ally Indicators +setting.autotarget.name = Auto-Target +setting.keyboard.name = Mouse+Keyboard Controls +setting.touchscreen.name = Touchscreen Controls +setting.fpscap.name = Max FPS +setting.fpscap.none = None +setting.fpscap.text = {0} FPS +setting.uiscale.name = UI Scaling[lightgray] (require restart)[] +setting.swapdiagonal.name = Always Diagonal Placement +setting.difficulty.training = Training +setting.difficulty.easy = Easy +setting.difficulty.normal = Normal +setting.difficulty.hard = Hard +setting.difficulty.insane = Insane +setting.difficulty.name = Difficulty: +setting.screenshake.name = Screen Shake +setting.effects.name = Display Effects +setting.destroyedblocks.name = Display Destroyed Blocks +setting.conveyorpathfinding.name = Conveyor Placement Pathfinding +setting.coreselect.name = Allow Schematic Cores +setting.sensitivity.name = Controller Sensitivity +setting.saveinterval.name = Save Interval +setting.seconds = {0} seconds +setting.blockselecttimeout.name = Block Select Timeout +setting.milliseconds = {0} milliseconds +setting.fullscreen.name = Fullscreen +setting.borderlesswindow.name = Borderless Window[lightgray] (may require restart) +setting.fps.name = Show FPS & Ping +setting.blockselectkeys.name = Show Block Select Keys +setting.vsync.name = VSync +setting.pixelate.name = Pixelate +setting.minimap.name = Show Minimap +setting.position.name = Show Player Position +setting.musicvol.name = Music Volume +setting.ambientvol.name = Ambient Volume +setting.mutemusic.name = Mute Music +setting.sfxvol.name = SFX Volume +setting.mutesound.name = Mute Sound +setting.crashreport.name = Send Anonymous Crash Reports +setting.savecreate.name = Auto-Create Saves +setting.publichost.name = Public Game Visibility +setting.playerlimit.name = Player Limit +setting.chatopacity.name = Chat Opacity +setting.lasersopacity.name = Power Laser Opacity +setting.bridgeopacity.name = Bridge Opacity +setting.playerchat.name = Display Player Bubble Chat +public.confirm = Do you want to make your game public?\n[accent]Anyone will be able to join your games.\n[lightgray]This can be changed later in Settings->Game->Public Game Visibility. +public.beta = Note that beta versions of the game cannot make public lobbies. +uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] seconds... +uiscale.cancel = Cancel & Exit +setting.bloom.name = Bloom +keybind.title = Rebind Keys +keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported. +category.general.name = General +category.view.name = View +category.multiplayer.name = Multiplayer +command.attack = Attack +command.rally = Rally +command.retreat = Retreat +placement.blockselectkeys = \n[lightgray]Key: [{0}, +keybind.clear_building.name = Clear Building +keybind.press = Press a key... +keybind.press.axis = Press an axis or key... +keybind.screenshot.name = Map Screenshot +keybind.toggle_power_lines.name = Toggle Power Lasers +keybind.move_x.name = Move X +keybind.move_y.name = Move Y +keybind.mouse_move.name = Follow Mouse +keybind.dash.name = Dash +keybind.schematic_select.name = Select Region +keybind.schematic_menu.name = Schematic Menu +keybind.schematic_flip_x.name = Flip Schematic X +keybind.schematic_flip_y.name = Flip Schematic Y +keybind.category_prev.name = Previous Category +keybind.category_next.name = Next Category +keybind.block_select_left.name = Block Select Left +keybind.block_select_right.name = Block Select Right +keybind.block_select_up.name = Block Select Up +keybind.block_select_down.name = Block Select Down +keybind.block_select_01.name = Category/Block Select 1 +keybind.block_select_02.name = Category/Block Select 2 +keybind.block_select_03.name = Category/Block Select 3 +keybind.block_select_04.name = Category/Block Select 4 +keybind.block_select_05.name = Category/Block Select 5 +keybind.block_select_06.name = Category/Block Select 6 +keybind.block_select_07.name = Category/Block Select 7 +keybind.block_select_08.name = Category/Block Select 8 +keybind.block_select_09.name = Category/Block Select 9 +keybind.block_select_10.name = Category/Block Select 10 +keybind.fullscreen.name = Toggle Fullscreen +keybind.select.name = Select/Shoot +keybind.diagonal_placement.name = Diagonal Placement +keybind.pick.name = Pick Block +keybind.break_block.name = Break Block +keybind.deselect.name = Deselect +keybind.shoot.name = Shoot +keybind.zoom.name = Zoom +keybind.menu.name = Menu +keybind.pause.name = Pause +keybind.pause_building.name = Pause/Resume Building +keybind.minimap.name = Minimap +keybind.chat.name = Chat +keybind.player_list.name = Player List +keybind.console.name = Console +keybind.rotate.name = Rotate +keybind.rotateplaced.name = Rotate Existing (Hold) +keybind.toggle_menus.name = Toggle Menus +keybind.chat_history_prev.name = Chat History Prev +keybind.chat_history_next.name = Chat History Next +keybind.chat_scroll.name = Chat Scroll +keybind.drop_unit.name = Drop Unit +keybind.zoom_minimap.name = Zoom Minimap +mode.help.title = Description of modes +mode.survival.name = Túlélő +mode.survival.description = The normal mode. Limited resources and automatic incoming waves.\n[gray]Requires enemy spawns in the map to play. +mode.sandbox.name = Homokozó +mode.sandbox.description = Infinite resources and no timer for waves. +mode.editor.name = Editor +mode.pvp.name = PvP +mode.pvp.description = Fight against other players locally.\n[gray]Requires at least 2 differently-colored cores in the map to play. +mode.attack.name = Támadás +mode.attack.description = Destroy the enemy's base. \n[gray]Requires a red core in the map to play. +mode.custom = Custom Rules + +rules.infiniteresources = Infinite Resources +rules.reactorexplosions = Reactor Explosions +rules.wavetimer = Wave Timer +rules.waves = Waves +rules.attack = Attack Mode +rules.enemyCheat = Infinite AI (Red Team) Resources +rules.unitdrops = Unit Drops +rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier +rules.unithealthmultiplier = Unit Health Multiplier +rules.blockhealthmultiplier = Block Health Multiplier +rules.playerhealthmultiplier = Player Health Multiplier +rules.playerdamagemultiplier = Player Damage Multiplier +rules.unitdamagemultiplier = Unit Damage Multiplier +rules.enemycorebuildradius = Enemy Core No-Build Radius:[lightgray] (tiles) +rules.respawntime = Respawn Time:[lightgray] (sec) +rules.wavespacing = Wave Spacing:[lightgray] (sec) +rules.buildcostmultiplier = Build Cost Multiplier +rules.buildspeedmultiplier = Build Speed Multiplier +rules.deconstructrefundmultiplier = Deconstruct Refund Multiplier +rules.waitForWaveToEnd = Waves Wait for Enemies +rules.dropzoneradius = Drop Zone Radius:[lightgray] (tiles) +rules.respawns = Max respawns per wave +rules.limitedRespawns = Limit Respawns +rules.title.waves = Waves +rules.title.respawns = Respawns +rules.title.resourcesbuilding = Resources & Building +rules.title.player = Players +rules.title.enemy = Enemies +rules.title.unit = Units +rules.title.experimental = Experimental +rules.lighting = Lighting +rules.ambientlight = Ambient Light +rules.solarpowermultiplier = Solar Power Multiplier + +content.item.name = Items +content.liquid.name = Liquids +content.unit.name = Units +content.block.name = Blocks +content.mech.name = Mechs +item.copper.name = Copper +item.lead.name = Lead +item.coal.name = Coal +item.graphite.name = Graphite +item.titanium.name = Titanium +item.thorium.name = Thorium +item.silicon.name = Silicon +item.plastanium.name = Plastanium +item.phase-fabric.name = Phase Fabric +item.surge-alloy.name = Surge Alloy +item.spore-pod.name = Spore Pod +item.sand.name = Sand +item.blast-compound.name = Blast Compound +item.pyratite.name = Pyratite +item.metaglass.name = Metaglass +item.scrap.name = Scrap +liquid.water.name = Water +liquid.slag.name = Slag +liquid.oil.name = Oil +liquid.cryofluid.name = Cryofluid +mech.alpha-mech.name = Alpha +mech.alpha-mech.weapon = Heavy Repeater +mech.alpha-mech.ability = Regeneration +mech.delta-mech.name = Delta +mech.delta-mech.weapon = Arc Generator +mech.delta-mech.ability = Discharge +mech.tau-mech.name = Tau +mech.tau-mech.weapon = Restruct Laser +mech.tau-mech.ability = Repair Burst +mech.omega-mech.name = Omega +mech.omega-mech.weapon = Swarm Missiles +mech.omega-mech.ability = Armored Configuration +mech.dart-ship.name = Dart +mech.dart-ship.weapon = Repeater +mech.javelin-ship.name = Javelin +mech.javelin-ship.weapon = Burst Missiles +mech.javelin-ship.ability = Discharge Booster +mech.trident-ship.name = Trident +mech.trident-ship.weapon = Bomb Bay +mech.glaive-ship.name = Glaive +mech.glaive-ship.weapon = Flame Repeater +item.corestorable = [lightgray]Tárolható a Magban: {0} +item.explosiveness = [lightgray]Robbanékonyság: {0}% +item.flammability = [lightgray]Gyúlékonyság: {0}% +item.radioactivity = [lightgray]Radioaktivitás: {0}% +unit.health = [lightgray]Health: {0} +unit.speed = [lightgray]Sebesség: {0} +mech.weapon = [lightgray]Weapon: {0} +mech.health = [lightgray]Health: {0} +mech.itemcapacity = [lightgray]Kapacitás: {0} +mech.minespeed = [lightgray]Bányászási sebesség: {0}% +mech.minepower = [lightgray]Bányászási erő: {0} +mech.ability = [lightgray]Képesség: {0} +mech.buildspeed = [lightgray]Építési sebesség: {0}% +liquid.heatcapacity = [lightgray]Hő hapacitás: {0} +liquid.viscosity = [lightgray]Viszkozitás: {0} +liquid.temperature = [lightgray]Hőmérséklet: {0} + +block.sand-boulder.name = Sand Boulder +block.grass.name = Grass +block.salt.name = Salt +block.saltrocks.name = Salt Rocks +block.pebbles.name = Pebbles +block.tendrils.name = Tendrils +block.sandrocks.name = Sand Rocks +block.spore-pine.name = Spore Pine +block.sporerocks.name = Spore Rocks +block.rock.name = Rock +block.snowrock.name = Snow Rock +block.snow-pine.name = Snow Pine +block.shale.name = Shale +block.shale-boulder.name = Shale Boulder +block.moss.name = Moss +block.shrubs.name = Shrubs +block.spore-moss.name = Spore Moss +block.shalerocks.name = Shale Rocks +block.scrap-wall.name = Scrap Wall +block.scrap-wall-large.name = Large Scrap Wall +block.scrap-wall-huge.name = Huge Scrap Wall +block.scrap-wall-gigantic.name = Gigantic Scrap Wall +block.thruster.name = Thruster +block.kiln.name = Kiln +block.graphite-press.name = Graphite Press +block.multi-press.name = Multi-Press +block.constructing = {0} [lightgray](Constructing) +block.spawn.name = Enemy Spawn +block.core-shard.name = Core: Shard +block.core-foundation.name = Core: Foundation +block.core-nucleus.name = Core: Nucleus +block.deepwater.name = Deep Water +block.water.name = Water +block.tainted-water.name = Tainted Water +block.darksand-tainted-water.name = Dark Sand Tainted Water +block.tar.name = Tar +block.stone.name = Stone +block.sand.name = Sand +block.darksand.name = Dark Sand +block.ice.name = Ice +block.snow.name = Snow +block.craters.name = Craters +block.sand-water.name = Sand water +block.darksand-water.name = Dark Sand Water +block.char.name = Char +block.holostone.name = Holo stone +block.ice-snow.name = Ice Snow +block.rocks.name = Rocks +block.icerocks.name = Ice rocks +block.snowrocks.name = Snow Rocks +block.dunerocks.name = Dune Rocks +block.pine.name = Pine +block.white-tree-dead.name = White Tree Dead +block.white-tree.name = White Tree +block.spore-cluster.name = Spore Cluster +block.metal-floor.name = Metal Floor 1 +block.metal-floor-2.name = Metal Floor 2 +block.metal-floor-3.name = Metal Floor 3 +block.metal-floor-5.name = Metal Floor 4 +block.metal-floor-damaged.name = Metal Floor Damaged +block.dark-panel-1.name = Dark Panel 1 +block.dark-panel-2.name = Dark Panel 2 +block.dark-panel-3.name = Dark Panel 3 +block.dark-panel-4.name = Dark Panel 4 +block.dark-panel-5.name = Dark Panel 5 +block.dark-panel-6.name = Dark Panel 6 +block.dark-metal.name = Dark Metal +block.ignarock.name = Igna Rock +block.hotrock.name = Hot Rock +block.magmarock.name = Magma Rock +block.cliffs.name = Cliffs +block.copper-wall.name = Copper Wall +block.copper-wall-large.name = Large Copper Wall +block.titanium-wall.name = Titanium Wall +block.titanium-wall-large.name = Large Titanium Wall +block.plastanium-wall.name = Plastanium Wall +block.plastanium-wall-large.name = Large Plastanium Wall +block.phase-wall.name = Phase Wall +block.phase-wall-large.name = Large Phase Wall +block.thorium-wall.name = Thorium Wall +block.thorium-wall-large.name = Large Thorium Wall +block.door.name = Door +block.door-large.name = Large Door +block.duo.name = Duo +block.scorch.name = Scorch +block.scatter.name = Scatter +block.hail.name = Hail +block.lancer.name = Lancer +block.conveyor.name = Conveyor +block.titanium-conveyor.name = Titanium Conveyor +block.armored-conveyor.name = Armored Conveyor +block.armored-conveyor.description = Moves items at the same speed as titanium conveyors, but possesses more armor. Does not accept inputs from the sides from anything but other conveyor belts. +block.junction.name = Junction +block.router.name = Router +block.distributor.name = Distributor +block.sorter.name = Sorter +block.inverted-sorter.name = Inverted Sorter +block.message.name = Message +block.illuminator.name = Illuminator +block.illuminator.description = A small, compact, configurable light source. Requires power to function. +block.overflow-gate.name = Overflow Gate +block.underflow-gate.name = Underflow Gate +block.silicon-smelter.name = Silicon Smelter +block.phase-weaver.name = Phase Weaver +block.pulverizer.name = Pulverizer +block.cryofluidmixer.name = Cryofluid Mixer +block.melter.name = Melter +block.incinerator.name = Incinerator +block.spore-press.name = Spore Press +block.separator.name = Separator +block.coal-centrifuge.name = Coal Centrifuge +block.power-node.name = Power Node +block.power-node-large.name = Large Power Node +block.surge-tower.name = Surge Tower +block.diode.name = Battery Diode +block.battery.name = Battery +block.battery-large.name = Large Battery +block.combustion-generator.name = Combustion Generator +block.turbine-generator.name = Steam Generator +block.differential-generator.name = Differential Generator +block.impact-reactor.name = Impact Reactor +block.mechanical-drill.name = Mechanical Drill +block.pneumatic-drill.name = Pneumatic Drill +block.laser-drill.name = Laser Drill +block.water-extractor.name = Water Extractor +block.cultivator.name = Cultivator +block.dart-mech-pad.name = Alpha Mech Pad +block.delta-mech-pad.name = Delta Mech Pad +block.javelin-ship-pad.name = Javelin Ship Pad +block.trident-ship-pad.name = Trident Ship Pad +block.glaive-ship-pad.name = Glaive Ship Pad +block.omega-mech-pad.name = Omega Mech Pad +block.tau-mech-pad.name = Tau Mech Pad +block.conduit.name = Conduit +block.mechanical-pump.name = Mechanical Pump +block.item-source.name = Item Source +block.item-void.name = Item Void +block.liquid-source.name = Liquid Source +block.liquid-void.name = Liquid Void +block.power-void.name = Power Void +block.power-source.name = Power Infinite +block.unloader.name = Unloader +block.vault.name = Vault +block.wave.name = Wave +block.swarmer.name = Swarmer +block.salvo.name = Salvo +block.ripple.name = Ripple +block.phase-conveyor.name = Phase Conveyor +block.bridge-conveyor.name = Bridge Conveyor +block.plastanium-compressor.name = Plastanium Compressor +block.pyratite-mixer.name = Pyratite Mixer +block.blast-mixer.name = Blast Mixer +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.draug-factory.name = Draug Miner Drone Factory +block.spirit-factory.name = Spirit Repair Drone Factory +block.phantom-factory.name = Phantom Builder Drone Factory +block.wraith-factory.name = Wraith Fighter Factory +block.ghoul-factory.name = Ghoul Bomber Factory +block.dagger-factory.name = Dagger Mech Factory +block.crawler-factory.name = Crawler Mech Factory +block.titan-factory.name = Titan Mech Factory +block.fortress-factory.name = Fortress Mech Factory +block.revenant-factory.name = Revenant Fighter Factory +block.repair-point.name = Repair Point +block.pulse-conduit.name = Pulse Conduit +block.plated-conduit.name = Plated Conduit +block.phase-conduit.name = Phase Conduit +block.liquid-router.name = Liquid Router +block.liquid-tank.name = Liquid Tank +block.liquid-junction.name = Liquid Junction +block.bridge-conduit.name = Bridge Conduit +block.rotary-pump.name = Rotary Pump +block.thorium-reactor.name = Thorium Reactor +block.mass-driver.name = Mass Driver +block.blast-drill.name = Airblast Drill +block.thermal-pump.name = Thermal Pump +block.thermal-generator.name = Thermal Generator +block.alloy-smelter.name = Alloy Smelter +block.mender.name = Mender +block.mend-projector.name = Mend Projector +block.surge-wall.name = Surge Wall +block.surge-wall-large.name = Large Surge Wall +block.cyclone.name = Cyclone +block.fuse.name = Fuse +block.shock-mine.name = Shock Mine +block.overdrive-projector.name = Overdrive Projector +block.force-projector.name = Force Projector +block.arc.name = Arc +block.rtg-generator.name = RTG Generator +block.spectre.name = Spectre +block.meltdown.name = Meltdown +block.container.name = Container +block.launch-pad.name = Launch Pad +block.launch-pad-large.name = Large Launch Pad +team.blue.name = blue +team.crux.name = red +team.sharded.name = orange +team.orange.name = orange +team.derelict.name = derelict +team.green.name = green +team.purple.name = purple +unit.spirit.name = Spirit Repair Drone +unit.draug.name = Draug Miner Drone +unit.phantom.name = Phantom Builder Drone +unit.dagger.name = Dagger +unit.crawler.name = Crawler +unit.titan.name = Titan +unit.ghoul.name = Ghoul Bomber +unit.wraith.name = Wraith Fighter +unit.fortress.name = Fortress +unit.revenant.name = Revenant +unit.eruptor.name = Eruptor +unit.chaos-array.name = Chaos Array +unit.eradicator.name = Eradicator +unit.lich.name = Lich +unit.reaper.name = Reaper +tutorial.next = [lightgray] +tutorial.intro = You have entered the[scarlet] Mindustry Tutorial.[]\nUse[accent] [[WASD][] to move.\n[accent]Scroll[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper +tutorial.intro.mobile = You have entered the[scarlet] Mindustry Tutorial.[]\nSwipe the screen to move.\n[accent]Pinch with 2 fingers[] to zoom in and out.\nBegin by[accent] mining copper[]. Move close to it, then tap a copper ore vein near your core to do this.\n\n[accent]{0}/{1} copper +tutorial.drill = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nClick the drill tab in the bottom right.\nSelect the[accent] mechanical drill[]. Place it on a copper vein by clicking.\nYou can also select the drill by tapping [accent][[2][] then [accent][[1][] quickly, regardless of which tab is open.\n[accent]Right-click[] to stop building. +tutorial.drill.mobile = Mining manually is inefficient.\n[accent]Drills[] can mine automatically.\nTap the drill tab in the bottom right.\nSelect the[accent] mechanical drill[].\nPlace it on a copper vein by tapping, then press the[accent] checkmark[] below to confirm your selection.\nPress the[accent] X button[] to cancel placement. +tutorial.blockinfo = Each block has different stats. Each drill can only mine certain ores.\nTo check a block's info and stats,[accent] tap the "?" button while selecting it in the build menu.[]\n\n[accent]Access the Mechanical Drill's stats now.[] +tutorial.conveyor = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent]Hold down the mouse to place in a line.[]\nHold[accent] CTRL[] while selecting a line to place diagonally.\nUse the scrollwheel to rotate blocks before placing them.\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. +tutorial.conveyor.mobile = [accent]Conveyors[] are used to transport items to the core.\nMake a line of conveyors from the drill to the core.\n[accent] Place in a line by holding down your finger for a few seconds[] and dragging in a direction.\n\n[accent]Place 2 conveyors with the line tool, then deliver an item into the core. +tutorial.turret = Once an item enters your core, it can be used for building.\nKeep in mind that not all items can be used for building.\nItems that are not used for building, such as[accent] coal[] or[accent] scrap[], cannot be put into the core.\nDefensive structures must be built to repel the[lightgray] enemy[].\nBuild a[accent] duo turret[] near your base. +tutorial.drillturret = Duo turrets require[accent] copper ammo[] to shoot.\nPlace a drill near the turret.\nLead conveyors into the turret to supply it with copper.\n\n[accent]Ammo delivered: 0/1 +tutorial.pause = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press space to pause. +tutorial.pause.mobile = During battle, you are able to[accent] pause the game.[]\nYou may queue buildings while paused.\n\n[accent]Press this button in the top left to pause. +tutorial.unpause = Now press space again to unpause. +tutorial.unpause.mobile = Now press it again to unpause. +tutorial.breaking = Blocks frequently need to be destroyed.\n[accent]Hold down right-click[] to destroy all blocks in a selection.[]\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection. +tutorial.breaking.mobile = Blocks frequently need to be destroyed.\n[accent]Select deconstruction mode[], then tap a block to begin breaking it.\nDestroy an area by holding down your finger for a few seconds[] and dragging in a direction.\nPress the checkmark button to confirm breaking.\n\n[accent]Destroy all the scrap blocks to the left of your core using area selection. +tutorial.withdraw = In some situations, taking items directly from blocks is necessary.\nTo do this, [accent]tap a block[] with items in it, then [accent]tap the item[] in the inventory.\nMultiple items can be withdrawn by [accent]tapping and holding[].\n\n[accent]Withdraw some copper from the core.[] +tutorial.deposit = Deposit items into blocks by dragging from your ship to the destination block.\n\n[accent]Deposit your copper back into the core.[] +tutorial.waves = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves.[accent] Click[] to shoot.\nBuild more turrets and drills. Mine more copper. +tutorial.waves.mobile = The[lightgray] enemy[] approaches.\n\nDefend the core for 2 waves. Your ship will automatically fire at enemies.\nBuild more turrets and drills. Mine more copper. +tutorial.launch = Once you reach a specific wave, you are able to[accent] launch the core[], leaving your defenses behind and[accent] obtaining all the resources in your core.[]\nThese obtained resources can then be used to research new technology.\n\n[accent]Press the launch button. + +item.copper.description = The most basic structural material. Used extensively in all types of blocks. +item.lead.description = A basic starter material. Used extensively in electronics and liquid transportation blocks. +item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage. +item.graphite.description = Mineralized carbon, used for ammunition and electrical components. +item.sand.description = A common material that is used extensively in smelting, both in alloying and as a flux. +item.coal.description = Fossilized plant matter, formed long before the seeding event. Used extensively for fuel and resource production. +item.titanium.description = A rare super-light metal used extensively in liquid transportation, drills and aircraft. +item.thorium.description = A dense, radioactive metal used as structural support and nuclear fuel. +item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals. +item.silicon.description = An extremely useful semiconductor. Applications in solar panels, complex electronics and homing turret ammunition. +item.plastanium.description = A light, ductile material used in advanced aircraft and fragmentation ammunition. +item.phase-fabric.description = A near-weightless substance used in advanced electronics and self-repairing technology. +item.surge-alloy.description = An advanced alloy with unique electrical properties. +item.spore-pod.description = A pod of synthetic spores, synthesized from atmospheric concentrations for industrial purposes. Used for conversion into oil, explosives and fuel. +item.blast-compound.description = An unstable compound used in bombs and explosives. Synthesized from spore pods and other volatile substances. Use as fuel is not advised. +item.pyratite.description = An extremely flammable substance used in incendiary weapons. +liquid.water.description = The most useful liquid. Commonly used for cooling machines and waste processing. +liquid.slag.description = Various different types of molten metal mixed together. Can be separated into its constituent minerals, or sprayed at enemy units as a weapon. +liquid.oil.description = A liquid used in advanced material production. Can be converted into coal as fuel, or sprayed and set on fire as a weapon. +liquid.cryofluid.description = An inert, non-corrosive liquid created from water and titanium. Has extremely high heat capacity. Extensively used as coolant. +mech.alpha-mech.description = The standard control mech. Based on a Dagger unit, with upgraded armor and building capabilities. Has more damage output than a Dart ship. +mech.delta-mech.description = A fast, lightly-armored mech made for hit-and-run attacks. Does little damage against structures, but can kill large groups of enemy units very quickly with its arc lightning weapons. +mech.tau-mech.description = The support mech. Heals allied blocks by shooting at them. Can heal allies in a radius with its repair ability. +mech.omega-mech.description = A bulky and well-armored mech, made for front-line assaults. Its armor can block up to 90% of incoming damage. +mech.dart-ship.description = The standard control ship. Fast mining speed. Reasonably fast and light, but has little offensive capability. +mech.javelin-ship.description = A hit-and-run strike ship. While initially slow, it can accelerate to great speeds and fly by enemy outposts, dealing large amounts of damage with its lightning and missiles. +mech.trident-ship.description = A heavy bomber, built for construction and destroying enemy fortifications. Reasonably well armored. +mech.glaive-ship.description = A large, well-armored gunship. Equipped with an incendiary repeater. Highly maneuverable. +unit.draug.description = A primitive mining drone. Cheap to produce. Expendable. Automatically mines copper and lead in the vicinity. Delivers mined resources to the closest core. +unit.spirit.description = A modified draug drone, designed for repair instead of mining. Automatically fixes any damaged blocks in the area. +unit.phantom.description = An advanced drone unit. Follows users. Assists in block construction. +unit.dagger.description = The most basic ground mech. Cheap to produce. Overwhelming when used in swarms. +unit.crawler.description = A ground unit consisting of a stripped-down frame with high explosives strapped on top. Not particular durable. Explodes on contact with enemies. +unit.titan.description = An advanced, armored ground unit. Attacks both ground and air targets. Equipped with two miniature Scorch-class flamethrowers. +unit.fortress.description = A heavy artillery mech. Equipped with two modified Hail-type cannons for long-range assault on enemy structures and units. +unit.eruptor.description = A heavy mech designed to take down structures. Fires a stream of slag at enemy fortifications, melting them and setting volatiles on fire. +unit.wraith.description = A fast, hit-and-run interceptor unit. Targets power generators. +unit.ghoul.description = A heavy carpet bomber. Rips through enemy structures, targeting critical infrastructure. +unit.revenant.description = A heavy, hovering missile array. +block.message.description = Stores a message. Used for communication between allies. +block.graphite-press.description = Compresses chunks of coal into pure sheets of graphite. +block.multi-press.description = An upgraded version of the graphite press. Employs water and power to process coal quickly and efficiently. +block.silicon-smelter.description = Reduces sand with pure coal. Produces silicon. +block.kiln.description = Smelts sand and lead into the compound known as metaglass. Requires small amounts of power to run. +block.plastanium-compressor.description = Produces plastanium from oil and titanium. +block.phase-weaver.description = Synthesizes phase fabric from radioactive thorium and sand. Requires massive amounts of power to function. +block.alloy-smelter.description = Combines titanium, lead, silicon and copper to produce surge alloy. +block.cryofluidmixer.description = Mixes water and fine titanium powder into cryofluid. Essential for thorium reactor usage. +block.blast-mixer.description = Crushes and mixes clusters of spores with pyratite to produce blast compound. +block.pyratite-mixer.description = Mixes coal, lead and sand into highly flammable pyratite. +block.melter.description = Melts down scrap into slag for further processing or usage in wave turrets. +block.separator.description = Separates slag into its mineral components. Outputs the cooled result. +block.spore-press.description = Compresses spore pods under extreme pressure to synthesize oil. +block.pulverizer.description = Crushes scrap into fine sand. +block.coal-centrifuge.description = Solidifes oil into chunks of coal. +block.incinerator.description = Vaporizes any excess item or liquid it receives. +block.power-void.description = Voids all power inputted into it. Sandbox only. +block.power-source.description = Infinitely outputs power. Sandbox only. +block.item-source.description = Infinitely outputs items. Sandbox only. +block.item-void.description = Destroys any items. Sandbox only. +block.liquid-source.description = Infinitely outputs liquids. Sandbox only. +block.liquid-void.description = Removes any liquids. Sandbox only. +block.copper-wall.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves. +block.copper-wall-large.description = A cheap defensive block.\nUseful for protecting the core and turrets in the first few waves.\nSpans multiple tiles. +block.titanium-wall.description = A moderately strong defensive block.\nProvides moderate protection from enemies. +block.titanium-wall-large.description = A moderately strong defensive block.\nProvides moderate protection from enemies.\nSpans multiple tiles. +block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections. +block.plastanium-wall-large.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.\nSpans multiple tiles. +block.thorium-wall.description = A strong defensive block.\nDecent protection from enemies. +block.thorium-wall-large.description = A strong defensive block.\nDecent protection from enemies.\nSpans multiple tiles. +block.phase-wall.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact. +block.phase-wall-large.description = A wall coated with special phase-based reflective compound. Deflects most bullets upon impact.\nSpans multiple tiles. +block.surge-wall.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly. +block.surge-wall-large.description = An extremely durable defensive block.\nBuilds up charge on bullet contact, releasing it randomly.\nSpans multiple tiles. +block.door.description = A small door. Can be opened or closed by tapping. +block.door-large.description = A large door. Can be opened and closed by tapping.\nSpans multiple tiles. +block.mender.description = Periodically repairs blocks in its vicinity. Keeps defenses repaired in-between waves.\nOptionally uses silicon to boost range and efficiency. +block.mend-projector.description = An upgraded version of the Mender. Repairs blocks in its vicinity.\nOptionally uses phase fabric to boost range and efficiency. +block.overdrive-projector.description = Increases the speed of nearby buildings.\nOptionally uses phase fabric to boost range and efficiency. +block.force-projector.description = Creates a hexagonal force field around itself, protecting buildings and units inside from damage.\nOverheats if too much damage is sustained. Optionally uses coolant to prevent overheating. Phase fabric can be used to increase shield size. +block.shock-mine.description = Damages enemies stepping on the mine. Nearly invisible to the enemy. +block.conveyor.description = Basic item transport block. Moves items forward and automatically deposits them into blocks. Rotatable. +block.titanium-conveyor.description = Advanced item transport block. Moves items faster than standard conveyors. +block.junction.description = Acts as a bridge for two crossing conveyor belts. Useful in situations with two different conveyors carrying different materials to different locations. +block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building. +block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles. +block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right. +block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead. +block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[] +block.distributor.description = An advanced router. Splits items to up to 7 other directions equally. +block.overflow-gate.description = Only outputs to the left and right if the front path is blocked. +block.underflow-gate.description = The opposite of an overflow gate. Outputs to the front if the left and right paths are blocked. +block.mass-driver.description = The ultimate item transport block. Collects several items and then shoots them to another mass driver over a long range. Requires power to operate. +block.mechanical-pump.description = A cheap pump with slow output, but no power consumption. +block.rotary-pump.description = An advanced pump. Pumps more liquid, but requires power. +block.thermal-pump.description = The ultimate pump. +block.conduit.description = Basic liquid transport block. Moves liquids forward. Used in conjunction with pumps and other conduits. +block.pulse-conduit.description = An advanced liquid transport block. Transports liquids faster and stores more than standard conduits. +block.plated-conduit.description = Moves liquids at the same rate as pulse conduits, but possesses more armor. Does not accept fluids from the sides by anything other than conduits.\nLeaks less. +block.liquid-router.description = Accepts liquids from one direction and outputs them to up to 3 other directions equally. Can also store a certain amount of liquid. Useful for splitting the liquids from one source to multiple targets. +block.liquid-tank.description = Stores a large amount of liquids. Use for creating buffers in situations with non-constant demand of materials or as a safeguard for cooling vital blocks. +block.liquid-junction.description = Acts as a bridge for two crossing conduits. Useful in situations with two different conduits carrying different liquids to different locations. +block.bridge-conduit.description = Advanced liquid transport block. Allows transporting liquids over up to 3 tiles of any terrain or building. +block.phase-conduit.description = Advanced liquid transport block. Uses power to teleport liquids to a connected phase conduit over several tiles. +block.power-node.description = Transmits power to connected nodes. The node will receive power from or supply power to any adjacent blocks. +block.power-node-large.description = An advanced power node with greater range. +block.surge-tower.description = An extremely long-range power node with fewer available connections. +block.diode.description = Battery power can flow through this block in only one direction, but only if the other side has less power stored. +block.battery.description = Stores power as a buffer in times of surplus energy. Outputs power in times of deficit. +block.battery-large.description = Stores much more power than a regular battery. +block.combustion-generator.description = Generates power by burning flammable materials, such as coal. +block.thermal-generator.description = Generates power when placed in hot locations. +block.turbine-generator.description = An advanced combustion generator. More efficient, but requires additional water for generating steam. +block.differential-generator.description = Generates large amounts of energy. Utilizes the temperature difference between cryofluid and burning pyratite. +block.rtg-generator.description = A simple, reliable generator. Uses the heat of decaying radioactive compounds to produce energy at a slow rate. +block.solar-panel.description = Provides a small amount of power from the sun. +block.solar-panel-large.description = A significantly more efficient version of the standard solar panel. +block.thorium-reactor.description = Generates significant amounts of power from thorium. Requires constant cooling. Will explode violently if insufficient amounts of coolant are supplied. Power output depends on fullness, with base power generated at full capacity. +block.impact-reactor.description = An advanced generator, capable of creating massive amounts of power at peak efficiency. Requires a significant power input to kickstart the process. +block.mechanical-drill.description = A cheap drill. When placed on appropriate tiles, outputs items at a slow pace indefinitely. Only capable of mining basic resources. +block.pneumatic-drill.description = An improved drill, capable of mining titanium. Mines at a faster pace than a mechanical drill. +block.laser-drill.description = Allows drilling even faster through laser technology, but requires power. Capable of mining thorium. +block.blast-drill.description = The ultimate drill. Requires large amounts of power. +block.water-extractor.description = Extracts groundwater. Used in locations with no surface water available. +block.cultivator.description = Cultivates tiny concentrations of spores in the atmosphere into industry-ready pods. +block.oil-extractor.description = Uses large amounts of power, sand and water to drill for oil. +block.core-shard.description = The first iteration of the core capsule. Once destroyed, all contact to the region is lost. Do not let this happen. +block.core-foundation.description = The second version of the core. Better armored. Stores more resources. +block.core-nucleus.description = The third and final iteration of the core capsule. Extremely well armored. Stores massive amounts of resources. +block.vault.description = Stores a large amount of items of each type. An unloader block can be used to retrieve items from the vault. +block.container.description = Stores a small amount of items of each type. An unloader block can be used to retrieve items from the container. +block.unloader.description = Unloads items from any nearby non-transportation block. The type of item to be unloaded can be changed by tapping. +block.launch-pad.description = Launches batches of items without any need for a core launch. +block.launch-pad-large.description = An improved version of the launch pad. Stores more items. Launches more frequently. +block.duo.description = A small, cheap turret. Useful against ground units. +block.scatter.description = An essential anti-air turret. Sprays clumps of lead, scrap or metaglass flak at enemy units. +block.scorch.description = Burns any ground enemies close to it. Highly effective at close range. +block.hail.description = A small, long-range artillery turret. +block.wave.description = A medium-sized turret. Shoots streams of liquid at enemies. Automatically extinguishes fires when supplied with water. +block.lancer.description = A medium-sized anti-ground laser turret. Charges and fires powerful beams of energy. +block.arc.description = A small close-range electric turret. Fires arcs of electricity at enemies. +block.swarmer.description = A medium-sized missile turret. Attacks both air and ground enemies. Fires homing missiles. +block.salvo.description = A larger, more advanced version of the Duo turret. Fires quick salvos of bullets at the enemy. +block.fuse.description = A large, close-range energy turret. Fires three piercing beams at nearby enemies. +block.ripple.description = An extremely powerful artillery turret. Shoots clusters of shells at enemies over long distances. +block.cyclone.description = A large anti-air and anti-ground turret. Fires explosive clumps of flak at nearby units. +block.spectre.description = A massive dual-barreled cannon. Shoots large armor-piercing bullets at air and ground targets. +block.meltdown.description = A massive laser cannon. Charges and fires a persistent laser beam at nearby enemies. Requires coolant to operate. +block.command-center.description = Issues movement commands to allied units across the map.\nCauses units to rally, attack an enemy core or retreat to the core/factory. When no enemy core is present, units will default to patrolling under the attack command. +block.draug-factory.description = Produces Draug mining drones. +block.spirit-factory.description = Produces Spirit structural repair drones. +block.phantom-factory.description = Produces advanced construction drones. +block.wraith-factory.description = Produces fast, hit-and-run interceptor units. +block.ghoul-factory.description = Produces heavy carpet bombers. +block.revenant-factory.description = Produces heavy missile-based units. +block.dagger-factory.description = Produces basic ground units. +block.crawler-factory.description = Produces fast self-destructing swarm units. +block.titan-factory.description = Produces advanced, armored ground units. +block.fortress-factory.description = Produces heavy artillery ground units. +block.repair-point.description = Continuously heals the closest damaged unit in its vicinity. +block.dart-mech-pad.description = Provides transformation into a basic attack mech.\nUse by tapping while standing on it. +block.delta-mech-pad.description = Provides transformation into a lightly armored hit-and-run attack mech.\nUse by tapping while standing on it. +block.tau-mech-pad.description = Provides transformation into an advanced support mech.\nUse by tapping while standing on it. +block.omega-mech-pad.description = Provides transformation into a heavily-armored missile mech.\nUse by tapping while standing on it. +block.javelin-ship-pad.description = Provides transformation into a quick, lightly-armored interceptor.\nUse by tapping while standing on it. +block.trident-ship-pad.description = Provides transformation into a heavy support bomber.\nUse by tapping while standing on it. +block.glaive-ship-pad.description = Provides transformation into a large, well-armored gunship.\nUse by tapping while standing on it. diff --git a/core/assets/bundles/bundle_it.properties b/core/assets/bundles/bundle_it.properties index 98a3bfacfc..fb0c150299 100644 --- a/core/assets/bundles/bundle_it.properties +++ b/core/assets/bundles/bundle_it.properties @@ -1,4 +1,4 @@ -credits.text = Creato da [royal]Anuken[] - [sky]anukendev@gmail.com[] +credits.text = Creato da [royal]Anuken[] - [sky]anukendev@gmail.com[]\n\nVersione Italiana:[lightgray]\nDeltaRays\nGioIacca9[] credits = Crediti contributors = Traduttori e Contributori discord = Entra nel server Discord di Mindustry! @@ -591,11 +591,11 @@ bar.poweramount = Energia: {0} bar.poweroutput = Energia in Uscita: {0} bar.items = Oggetti: {0} bar.capacity = Capacità: {0} +bar.units = Unità: {0}/{1} bar.liquid = Liquido bar.heat = Calore bar.power = Energia bar.progress = Progresso Costruzione -bar.spawned = Unità: {0}/{1} bar.input = Entrata bar.output = Uscita @@ -637,8 +637,8 @@ setting.shadows.name = Ombre setting.blockreplace.name = Suggerimento Blocchi Automatico setting.linear.name = Filtro Lineare setting.hints.name = Suggerimenti -setting.flow.name = Visualizza Portata Nastri/Condotti[scarlet] (sperimentale) -setting.buildautopause.name = Pausa automatica nella costruzione +setting.flow.name = Visualizza Portata Nastri/Condotti +setting.buildautopause.name = Pausa Automatica nella Costruzione setting.animatedwater.name = Fluidi Animati setting.animatedshields.name = Scudi Animati setting.antialias.name = Antialias[lightgray] (richiede riavvio)[] @@ -650,7 +650,7 @@ setting.touchscreen.name = Controlli Touchscreen setting.fpscap.name = Limite FPS setting.fpscap.none = Niente setting.fpscap.text = {0} FPS -setting.uiscale.name = Ridimensionamento Interfaccia[lightgray] (richiede riavvio)[] +setting.uiscale.name = Ridimensionamento Interfaccia[lightgray] (richiede il riavvio)[] setting.swapdiagonal.name = Posizionamento Sempre Diagonale setting.difficulty.training = Allenamento setting.difficulty.easy = Facile @@ -663,14 +663,14 @@ setting.effects.name = Visualizza Effetti setting.destroyedblocks.name = Visualizza Blocchi Distrutti setting.blockstatus.name = Visualizza Stato Blocchi setting.conveyorpathfinding.name = Posizionamento Nastri Trasportatori Intelligente -setting.coreselect.name = Consenti Schematiche dei Nuclei +setting.coreselect.name = Salva Nuclei nelle Schematiche setting.sensitivity.name = Sensibilità del Controller setting.saveinterval.name = Intervallo di Salvataggio Automatico setting.seconds = {0} secondi setting.blockselecttimeout.name = Tempo di Selezione del Blocco setting.milliseconds = {0} millisecondi setting.fullscreen.name = Schermo Intero -setting.borderlesswindow.name = Finestra Senza Bordi[lightgray] (potrebbe richiedere riavvio) +setting.borderlesswindow.name = Finestra Senza Bordi[lightgray] (potrebbe richiedere il riavvio) setting.fps.name = Mostra FPS e Ping setting.blockselectkeys.name = Mostra Tasto di Selezione del Blocco setting.vsync.name = VSync @@ -678,12 +678,13 @@ setting.pixelate.name = Effetto Pixel[lightgray] (disabilita le animazioni) setting.minimap.name = Mostra Minimappa setting.position.name = Mostra Posizione Giocatori setting.musicvol.name = Volume Musica +setting.atmosphere.name = Mostra Atmosfera Pianeta setting.ambientvol.name = Volume Ambiente setting.mutemusic.name = Silenzia Musica setting.sfxvol.name = Volume Effetti setting.mutesound.name = Silenzia Suoni setting.crashreport.name = Invia rapporti anonimi sugli arresti anomali -setting.savecreate.name = Salvataggio Automatico +setting.savecreate.name = Salvataggi Automatici setting.publichost.name = Gioco Visibile Pubblicamente setting.playerlimit.name = Limite Giocatori setting.chatopacity.name = Opacità Chat @@ -709,11 +710,11 @@ keybind.press = Premi un tasto... keybind.press.axis = Premi un'asse o un tasto... keybind.screenshot.name = Screenshot della Mappa keybind.toggle_power_lines.name = Attiva/Disattiva Laser d'Energia -keybind.toggle_block_status.name = Attiva/Disattiva Stati dei Blocchi +keybind.toggle_block_status.name = Attiva/Disattiva Stato Blocchi keybind.move_x.name = Muovi Orizzontalmente keybind.move_y.name = Muovi Verticalmente keybind.mouse_move.name = Segui il Mouse -keybind.dash.name = Scatto +keybind.boost.name = Scatto keybind.schematic_select.name = Seleziona Regione keybind.schematic_menu.name = Menu Schematica keybind.schematic_flip_x.name = Ruota Schematica Orizzontalmente @@ -736,7 +737,7 @@ keybind.block_select_09.name = Seleziona Categoria/Blocco 9 keybind.block_select_10.name = Seleziona Categoria/Blocco 10 keybind.fullscreen.name = Schermo Intero keybind.select.name = Seleziona/Spara -keybind.diagonal_placement.name = Posizionamento Diagonale +keybind.diagonal_placement.name = Posiziona Diagonalmente keybind.pick.name = Scegli Blocco keybind.break_block.name = Rompi Blocco keybind.deselect.name = Deseleziona @@ -744,7 +745,7 @@ keybind.shoot.name = Spara keybind.zoom.name = Zoom keybind.menu.name = Menu keybind.pause.name = Pausa -keybind.pause_building.name = Pausa/Riprendi Costruzione +keybind.pause_building.name = Interrompi/Riprendi Costruzione keybind.minimap.name = Minimappa keybind.chat.name = Chat keybind.player_list.name = Lista dei Giocatori diff --git a/core/assets/bundles/bundle_ja.properties b/core/assets/bundles/bundle_ja.properties index 4463c9f3f3..fb2537b0c0 100644 --- a/core/assets/bundles/bundle_ja.properties +++ b/core/assets/bundles/bundle_ja.properties @@ -272,6 +272,7 @@ quit.confirm.tutorial = チュートリアルを終了しますか?\nチュー loading = [accent]読み込み中... reloading = [accent]再読み込み中... saving = [accent]保存中... +respawn = [accent][[{0}][] to respawn in core cancelbuilding = [accent][[{0}][] 選択を解除する selectschematic = [accent][[{0}][] 選択し、コピーする pausebuilding = [accent][[{0}][] 建築を一時的に中断する @@ -328,8 +329,9 @@ waves.never = <永久> waves.every = ウェーブ waves.waves = ごとに出現 waves.perspawn = 体出現 +waves.shields = シールド/ウェーブ waves.to = から -waves.boss = ボス +waves.guardian = ガーディアン waves.preview = プレビュー waves.edit = 編集... waves.copy = クリップボードにコピー @@ -492,40 +494,37 @@ error.io = ネットワークエラーです。 error.any = 不明なネットワークエラーです。 error.bloom = ブルームの初期化に失敗しました。\n恐らくあなたのデバイスではブルームがサポートされていません。 -zone.groundZero.name = グラウンド · ゼロ -zone.desertWastes.name = デザート · ウェーツ -zone.craters.name = ザ · クレーター -zone.frozenForest.name = フローズン · フォレスト -zone.ruinousShores.name = ルーイナス · ショアーズ -zone.stainedMountains.name = ステインド · マウンテン -zone.desolateRift.name = ディサレット · リフト -zone.nuclearComplex.name = ニュークリア · プロダクション · コンプレックス -zone.overgrowth.name = オーバーグロウス -zone.tarFields.name = ター · フィールズ -zone.saltFlats.name = ソルト · フラッツ -zone.impact0078.name = インパクト 0078 -zone.crags.name = クラーグス -zone.fungalPass.name = ファングル · パス +sector.groundZero.name = Ground Zero +sector.desertWastes.name = Desert Wastes +sector.craters.name = The Craters +sector.frozenForest.name = Frozen Forest +sector.ruinousShores.name = Ruinous Shores +sector.stainedMountains.name = Stained Mountains +sector.desolateRift.name = Desolate Rift +sector.nuclearComplex.name = Nuclear Production Complex +sector.overgrowth.name = Overgrowth +sector.tarFields.name = Tar Fields +sector.saltFlats.name = Salt Flats +sector.fungalPass.name = Fungal Pass +sector.groundZero.description = The optimal location to begin once more. Low enemy threat. Few resources.\nGather as much lead and copper as possible.\nMove on. -zone.groundZero.description = Mindustryに慣れていない初心者向けのエリアです。敵は強くなく、資源も多すぎません。\n出来るだけ多くの銅と鉛を集めるのがポイントです。 -zone.frozenForest.description = ここでも山の近くに胞子が広がっていますが、極寒のこの地ではいずれなくなるでしょう。\n\n電力を使用してみましょう。火力発電機を建設し、修復機の使い方を学びましょう。 -zone.desertWastes.description = 大量の廃棄物が散乱し、放棄された建造物が存在します。\nこのエリアには石炭が存在します。石炭を燃やして発電したり、グラファイトを生成しましょう。\n\n[lightgray]この着陸位置は保証できません。 -zone.saltFlats.description = 砂漠の外れには塩類平原があります。このエリアには資源がほとんどありません。 敵はここに資源貯蔵施設を建てている。\n敵のコアを破壊し壊滅させましょう。 -zone.craters.description = このクレーターには、古い戦争の遺物である水が溜まっています。マップを開拓し、砂を集めましょう。メタガラスを生成して、水をポンプで吸い上げ、ターレットやドリルを冷却しましょう。 -zone.ruinousShores.description = 廃棄物を過ぎた先にあるのは海岸線です。かつてここには、沿岸防衛隊がありました。今では、ほとんど残っておらず、基本的な防御構造のみで他はすべてスクラップと化しました。\n技術を再発見し拡張してください。 -zone.stainedMountains.description = 内陸には山があり、胞子に汚染されていません。\nまた、このエリアにはチタニウムが豊富に存在します。使い方を学びましょう。\n\nそして、ここには強力な敵がいます。 彼らに最強の部隊を送る時間を与えてはいけません。 -zone.overgrowth.description = このエリアは大きくなり、胞子の発生源に近づきました。\n敵はここに前哨基地を設立しました。 ダガーユニットを用いて破壊し、失われたものを取り返してください。 -zone.tarFields.description = 山と砂漠の間にある石油生産地帯の郊外です。 使用可能な石油源がある数少ないエリアの1つです。\nこのエリアは放棄されましたが、近くに危険な敵軍がいます。 それらを軽視しないでください。\n\n[lightgray]可能ならば石油加工技術を研究してください。 -zone.desolateRift.description = とても危険なエリアです。資源は豊富だがスペースがすくないです。 また、破壊されるリスクがとても高いためできるだけ早く立ち去ってください。\nそして、敵の長い攻撃間隔に騙されてはいけません。 -zone.nuclearComplex.description = かつてはトリウムの生産加工の施設でしたが、今は廃墟と化してします。\n[lightgray]トリウムの用途を研究してください。\n\nまた、ここには敵が大量に存在しており、常に攻撃者を探しています。 -zone.fungalPass.description = ここは高山低い胞子の多い土地との間のエリアで、敵の小さな偵察基地があります。\nダガーユニットとクローラユニットを用いて2つあるコアを破壊してください。 -zone.impact0078.description = -zone.crags.description = +sector.frozenForest.description = Even here, closer to mountains, the spores have spread. The frigid temperatures cannot contain them forever.\n\nBegin the venture into power. Build combustion generators. Learn to use menders. +sector.desertWastes.description = These wastes are vast, unpredictable, and criss-crossed with derelict sector structures.\nCoal is present in the region. Burn it for power, or synthesize graphite.\n\n[lightgray]This landing location cannot be guaranteed. +sector.saltFlats.description = On the outskirts of the desert lie the Salt Flats. Few resources can be found in this location.\n\nThe enemy has erected a resource storage complex here. Eradicate their core. Leave nothing standing. +sector.craters.description = Water has accumulated in this crater, relic of the old wars. Reclaim the area. Collect sand. Smelt metaglass. Pump water to cool turrets and drills. +sector.ruinousShores.description = Past the wastes, is the shoreline. Once, this location housed a coastal defense array. Not much of it remains. Only the most basic defense structures have remained unscathed, everything else reduced to scrap.\nContinue the expansion outwards. Rediscover the technology. +sector.stainedMountains.description = Further inland lie the mountains, yet untainted by spores.\nExtract the abundant titanium in this area. Learn how to use it.\n\nThe enemy presence is greater here. Do not give them time to send their strongest units. +sector.overgrowth.description = This area is overgrown, closer to the source of the spores.\nThe enemy has established an outpost here. Build Titan units. Destroy it. Reclaim that which was lost. +sector.tarFields.description = The outskirts of an oil production zone, between the mountains and desert. One of the few areas with usable tar reserves.\nAlthough abandoned, this area has some dangerous enemy forces nearby. Do not underestimate them.\n\n[lightgray]Research oil processing technology if possible. +sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks. +sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers. +sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores. settings.language = 言語 settings.data = ゲームデータ settings.reset = デフォルトにリセット settings.rebind = 再設定 + settings.resetKey = リセット settings.controls = コントロール settings.game = ゲーム @@ -580,29 +579,29 @@ blocks.inaccuracy = 誤差 blocks.shots = ショット blocks.reload = リロード速度 blocks.ammo = 弾薬 - bar.drilltierreq = より高性能なドリルを使用してください bar.drillspeed = 採掘速度: {0}/秒 bar.pumpspeed = ポンプの速度: {0}/s bar.efficiency = 効率: {0}% + bar.powerbalance = 電力均衡: {0}/秒 bar.powerstored = 総蓄電量: {0}/{1} bar.poweramount = 蓄電量: {0} bar.poweroutput = 発電量: {0} bar.items = アイテム: {0} bar.capacity = 容量: {0} +bar.units = ユニット数: {0}/{1} bar.liquid = 液体 bar.heat = 熱 bar.power = 電力 bar.progress = 建設状況 -bar.spawned = ユニット数: {0}/{1} bar.input = 入力 bar.output = 出力 - bullet.damage = [stat]{0}[lightgray] ダメージ bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[lightgray] タイル bullet.incendiary = [stat]焼夷弾 bullet.homing = [stat]追尾弾 + bullet.shock = [stat]電撃 bullet.frag = [stat]爆発弾 bullet.knockback = [stat]{0}[lightgray] ノックバック @@ -610,11 +609,11 @@ bullet.freezing = [stat]凍結 bullet.tarred = [stat]タール弾 bullet.multiplier = [stat]弾薬 {0}[lightgray]倍 bullet.reload = [stat]リロード速度 {0}[lightgray]倍 - unit.blocks = ブロック unit.powersecond = 電力/秒 unit.liquidsecond = 液体/秒 unit.itemssecond = アイテム/秒 + unit.liquidunits = 液体 unit.powerunits = 電力 unit.degrees = 度 @@ -678,7 +677,7 @@ setting.pixelate.name = ピクセル化[lightgray] (アニメーションが無 setting.minimap.name = ミニマップを表示 setting.position.name = プレイヤーの位置表示 setting.musicvol.name = 音楽 音量 -setting.atmosphere.name = 惑星の雰囲気を表示 +setting.atmosphere.name = 惑星の大気を表示 setting.ambientvol.name = 環境音 音量 setting.mutemusic.name = 音楽をミュート setting.sfxvol.name = 効果音 音量 @@ -705,6 +704,8 @@ command.attack = 攻撃 command.rally = 結集 command.retreat = 後退 placement.blockselectkeys = \n[lightgray]キー: [{0}, +keybind.respawn.name = リスポーン +keybind.control.name = ユニットをコントロール keybind.clear_building.name = 建築の取り消し keybind.press = キーを押してください... keybind.press.axis = 軸またはキーを押してください... @@ -714,7 +715,7 @@ keybind.toggle_block_status.name = ブロックの状態表示の切り替え keybind.move_x.name = 左右移動 keybind.move_y.name = 上下移動 keybind.mouse_move.name = マウスを追う -keybind.dash.name = ダッシュ +keybind.boost.name = ブースト keybind.schematic_select.name = 地域の選択 keybind.schematic_menu.name = 設計図メニュー keybind.schematic_flip_x.name = 設計図をX座標で反転 @@ -769,11 +770,11 @@ mode.pvp.description = エリア内で他のプレイヤーと戦います。\n[ mode.attack.name = アタック mode.attack.description = ウェーブがなく、敵の基地を破壊することを目指します。\n[gray]プレイするには、マップに赤色のコアが必要です。 mode.custom = カスタムルール - rules.infiniteresources = 資源の無限化 rules.reactorexplosions = リアクターの爆発 rules.wavetimer = ウェーブの自動進行 rules.waves = ウェーブ + rules.attack = アタックモード rules.enemyCheat = 敵(赤チーム)の資源の無限化 rules.unitdrops = ユニットの戦利品 @@ -784,15 +785,12 @@ rules.playerhealthmultiplier = プレイヤーの体力倍率 rules.playerdamagemultiplier = プレイヤーのダメージ倍率 rules.unitdamagemultiplier = ユニットのダメージ倍率 rules.enemycorebuildradius = 敵コア周辺の建設禁止区域の半径:[lightgray] (タイル) -rules.respawntime = 復活までの待機時間:[lightgray] (秒) rules.wavespacing = ウェーブ間の待機時間:[lightgray] (秒) rules.buildcostmultiplier = 建設コストの倍率 rules.buildspeedmultiplier = 建設速度の倍率 rules.deconstructrefundmultiplier = ブロック破壊時の還元倍率 rules.waitForWaveToEnd = 敵が倒されるまでウェーブの進行を中断 rules.dropzoneradius = 出現範囲の半径:[lightgray] (タイル) -rules.respawns = ウェーブごとの最大復活回数 -rules.limitedRespawns = 復活回数の制限 rules.title.waves = ウェーブ rules.title.respawns = 復活 rules.title.resourcesbuilding = 資源 & 建設 @@ -803,11 +801,11 @@ rules.title.experimental = 実験的なゲームプレイ rules.lighting = 霧 rules.ambientlight = 霧の色 rules.solarpowermultiplier = 太陽光効率 - content.item.name = アイテム content.liquid.name = 液体 content.unit.name = ユニット content.block.name = ブロック + item.copper.name = 銅 item.lead.name = 鉛 item.coal.name = 石炭 @@ -843,11 +841,11 @@ unit.buildspeed = [lightgray]建築速度: {0}% liquid.heatcapacity = [lightgray]熱容量: {0} liquid.viscosity = [lightgray]粘度: {0} liquid.temperature = [lightgray]温度: {0} - block.cliff.name = 崖 block.sand-boulder.name = 巨大な礫 block.grass.name = 草 block.slag.name = スラグ + block.salt.name = 岩塩氷河 block.saltrocks.name = 岩塩 block.pebbles.name = 小石 @@ -996,16 +994,6 @@ block.solar-panel.name = ソーラーパネル block.solar-panel-large.name = 大型ソーラーパネル block.oil-extractor.name = 石油抽出機 block.command-center.name = 司令塔 -block.draug-factory.name = マイナードローン製造機 -block.spirit-factory.name = スピリットドローン製造機 -block.phantom-factory.name = ファントムドローン製造機 -block.wraith-factory.name = レースファイター製造機 -block.ghoul-factory.name = グールボンバー製造機 -block.dagger-factory.name = ダガーユニット製造機 -block.crawler-factory.name = クローラー製造機 -block.titan-factory.name = タイタンユニット製造機 -block.fortress-factory.name = フォートレスユニット製造機 -block.revenant-factory.name = レベナントファイター製造機 block.repair-point.name = 修復ポイント block.pulse-conduit.name = パルスパイプ block.plated-conduit.name = メッキパイプ @@ -1080,11 +1068,11 @@ tutorial.deposit = 機体にあるアイテムをドラッグアンドドロッ tutorial.waves = [lightgray]敵[]がやってきます。\n\n2ウェーブの間コアを守ってみましょう。[accent]クリック[]で弾を発射することができます。\nさらにドリルやデュオを設置しましょう。さらに銅を採掘しましょう。 tutorial.waves.mobile = [lightgray]敵[]がやってきます。\n\n2ウェーブの間コアを守ってみましょう。あなたの機体は自動で敵を攻撃してくれます。\nさらにドリルやデュオを設置しましょう。さらに銅を採掘しましょう。 tutorial.launch = 発射可能なウェーブに達すると、[accent]コアにある全ての資源を持って[]、マップから[accent]離脱する[]ことができます。\nこれらの資源は、新しい技術の研究に使用することができます。\n\n[accent]発射ボタンを押しましょう。 - item.copper.description = 便利な鉱石です。様々なブロックの材料として幅広く使われています。 item.lead.description = 一般的で手軽な鉱石です。機械や液体輸送ブロックなどに使われます。 item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。 item.graphite.description = 弾薬や絶縁体として利用されています。 + item.sand.description = 合金や融剤など広く使用されている一般的な材料です。 item.coal.description = 一般的で有用な燃料です。 item.titanium.description = 希少で非常に軽量な金属です。液体輸送やドリル、航空機などで使われます。 @@ -1223,15 +1211,5 @@ block.cyclone.description = 大型の連射型ターレットです。 block.spectre.description = 一度に2発の強力な弾を放つ大型のターレットです。 block.meltdown.description = 強力な長距離攻撃が可能な大型のターレットです。 block.command-center.description = マップ全体のユニットに移動コマンドを発令します。\nユニットを巡回させたり、敵のコアを攻撃したり、自分のコアあるいは工場に撤退させたりします。敵のコアが存在しない場合、ユニットはデフォルトで攻撃状態の下で巡回します。 -block.draug-factory.description = 採掘用ドローンを製造します。 -block.spirit-factory.description = 建築物の修復用ドローンを製造します。 -block.phantom-factory.description = 高度な建築支援用ドローンを製造します。 -block.wraith-factory.description = 高速突撃攻撃用の航空迎撃ユニットを製造します。 -block.ghoul-factory.description = 絨毯爆撃用の大型航空ユニットを製造します。 -block.revenant-factory.description = ミサイル攻撃用の大型航空ユニットを製造します。 -block.dagger-factory.description = 基本的な地上ユニットを製造します。 -block.crawler-factory.description = 高速の自爆型ユニットを製造します。 -block.titan-factory.description = 高度な武装地上ユニットを製造します。 -block.fortress-factory.description = 地上重砲ユニットを製造します。 block.repair-point.description = 近くの負傷したユニットを修復します。 diff --git a/core/assets/bundles/bundle_uk_UA.properties b/core/assets/bundles/bundle_uk_UA.properties index 1065b62aef..771e9ce52c 100644 --- a/core/assets/bundles/bundle_uk_UA.properties +++ b/core/assets/bundles/bundle_uk_UA.properties @@ -55,7 +55,7 @@ schematic.rename = Перейменувати схему schematic.info = {0}x{1}, {2} блоків stat.wave = Хвиль відбито:[accent] {0} -stat.enemiesDestroyed = Ворогів знищено:[accent] {0} +stat.enemiesDestroyed = Противників знищено:[accent] {0} stat.built = Будівель збудовано:[accent] {0} stat.destroyed = Будівель знищено:[accent] {0} stat.deconstructed = Будівель деконструйовано:[accent] {0} @@ -104,7 +104,7 @@ mods = Модифікації mods.none = [lightgray]Модифікацій не знайдено! mods.guide = Посібник з модифікацій mods.report = Повідомити про ваду -mods.openfolder = Відкрити мод. теку +mods.openfolder = Відкрити теку mods.reload = Перезавантажити mod.display = [gray]Модифікація:[orange] {0} mod.enabled = [lightgray]Увімкнено @@ -123,17 +123,17 @@ mod.requiresrestart = А тепер гра закриється, щоб заст mod.reloadrequired = [scarlet]Потрібно перезавантаження mod.import = Імпортувати модифікацію mod.import.file = Імпортувати файл -mod.import.github = Завантажити мод. з GitHub +mod.import.github = Імпортувати з GitHub mod.item.remove = Цей предмет є частиною модифікації [accent] «{0}»[]. Щоб видалити його, видаліть цю модифікацію. mod.remove.confirm = Цю модифікацію буде видалено. mod.author = [lightgray]Автор:[] {0} mod.missing = Це збереження містить модифікації, які ви нещодавно оновили або більше не встановлювали. Збереження може зіпсуватися. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0} mod.preview.missing = До публікації цієї модифікації в Майстерні, ви повинні додати зображення попереднього перегляду.\nПомістіть зображення з назвою [accent] preview.png[] у теку з модифікаціями та спробуйте знову. mod.folder.missing = Тільки модифікації у формі теці можуть бути опубліковані в Майстерні.\nЩоб перетворити будь-яку модифікацію у теку, просто розархівуйте цей файл у теку та видаліть старий архів, і потім перезапустіть гру або перезавантажте ваші модифікації. -mod.scripts.disable = Ваш пристрій не підтримує модифікації зі скриптами. Деякі модифікації не будуть працювати правильно. +mod.scripts.disable = Ваш пристрій не підтримує модифікації зі скриптами. Вимкніть модифікацію для запуску гри. about.button = Про гру -name = Назва: +name = Ім’я: noname = Спочатку придумайте[accent] собі ім’я[]. filename = Назва файлу: unlocked = Доступний новий вміст! @@ -281,8 +281,8 @@ wave.waiting = [lightgray]Наступна хвиля\nчерез {0} wave.waveInProgress = [lightgray]Хвиля триває waiting = [lightgray]Очікування… waiting.players = Очікування гравців… -wave.enemies = Залишилося\n[lightgray]{0} ворог. -wave.enemy = Залишився\n[lightgray]{0} ворог +wave.enemies = Залишилося\n[lightgray]{0} противник. +wave.enemy = Залишився\n[lightgray]{0} противник loadimage = Завантажити зображення saveimage = Зберегти зображення unknown = Невідомо @@ -336,7 +336,7 @@ waves.copy = Копіювати в буфер обміну waves.load = Завантажити з буфера обміну waves.invalid = Недійсні хвилі у буфері обміну. waves.copied = Хвилі скопійовані. -waves.none = Вороги не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею. +waves.none = Противники не були встановлені.\nЗазначимо, що пусті хвилі будуть автоматично замінені звичайною хвилею. editor.default = [lightgray]<За замовчуванням> details = Подробиці… edit = Редагувати… @@ -367,13 +367,13 @@ editor.importmap = Імпортувати мапу editor.importmap.description = Імпортувати вже наявну мапу editor.importfile = Імпортувати файл editor.importfile.description = Імпортувати зовнішній файл мапи -editor.importimage = Імпортувати зображення +editor.importimage = Імпорт файлу зображення editor.importimage.description = Імпорт із зображенням місцевості editor.export = Експорт… editor.exportfile = Експортувати файл editor.exportfile.description = Експортувати файл мапи editor.exportimage = Експорт зображення місцевості -editor.exportimage.description = Експортувати файл, який містить основний рельєф місцевості. +editor.exportimage.description = Експортувати файл зображення, що містить лише основний рельєф місцевості editor.loadimage = Завантажити\nзображення editor.saveimage = Зберегти\nзображення editor.unsaved = [scarlet]У вас є незбережені зміни![]\nВи впевнені, що хочете вийти? @@ -402,7 +402,7 @@ toolmode.drawteams.description = Змінює належність\nблока filters.empty = [lightgray]Немає фільтрів! Додайте хоча б один за допомогою кнопки нижче. filter.distort = Спотворення filter.noise = Шум -filter.enemyspawn = Вибір точки появи ворогів +filter.enemyspawn = Вибір точки появи противників filter.corespawn = Вибір ядра filter.median = Медіана filter.oremedian = Рудна медіана @@ -510,15 +510,15 @@ zone.fungalPass.name = Грибний перевал zone.groundZero.description = Оптимальне місце для повторних ігор. Низька ворожа загроза. Мало ресурсів.\nЗбирайте якомога більше свинцю та міді.\nНе затримуйтесь і йдіть далі. zone.frozenForest.description = Спори поширилися навіть тут, ближче до гір. Холодна температура не може стримувати їх завжди.\n\nЗважтесь створити енергію. Побудуйте генератори внутрішнього згорання. Навчіться користуватися регенераторами. zone.desertWastes.description = Ці відходи є величезними, непередбачуваними й перетинаються з занедбаними секторальними структурами.\nВугілля присутнє в регіоні. Спаліть його для енергії або синтезуйте у графіт.\n\n[lightgray]Є декілька варіантів для місць посадок. -zone.saltFlats.description = На околицях пустелі лежать Соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nСаме тут вороги спорудили комплекс сховищ ресурсів. Викорініть їхнє ядро. Не залишайте нічого цінного. +zone.saltFlats.description = На околицях пустелі лежать Соляні рівнини. У цьому місці можна знайти небагато ресурсів.\n\nСаме тут противники спорудили комплекс сховищ ресурсів. Викорініть їхнє ядро. Не залишайте нічого цінного. zone.craters.description = У цьому кратері накопичилася вода, пережиток старих воєн. Відновіть місцевість. Зберіть пісок. Виплавте метаскло. Качайте воду, щоб охолодити турелі та бури. zone.ruinousShores.description = Саме берегова лінія є минулим цих відходів. Колись у цьому місці розташувався береговий оборонний масив. Проте залишилося не так багато чого. Тільки основні оборонні споруди залишилися неушкодженими, а все інше перетворилося на брухт.\nПродовжуйте експансію назовні. Повторно розкрийте технології. -zone.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, які ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nНа жаль, тут більше ворогів ніж в інших місцевостях. Не дайте їм часу надіслати свої найсильніші одиниці. -zone.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nНе дивуйтеся, що ворог встановив тут свій форпост. Побудуйте бойові одиниці під кодовою назвою «Титан». Зруйнуйте її. Поверніть те, що колись належало нам. -zone.tarFields.description = Між горами та пустелею простягається окраїна зони видобутку нафти. Це один з небагатьох районів із корисними для використання запасами смоли.\nНе зважаючи на те, що територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію переробки нафти. +zone.stainedMountains.description = Якщо йти далі у вглиб материка, то можна побачити гори, які ще не заражені спорами.\nВидобудьте надлишковий титан у цій місцевості. Дізнайтеся, як використовувати його.\n\nНа жаль, тут більше противників ніж в інших місцевостях. Не дайте їм часу надіслати свої найсильніші одиниці. +zone.overgrowth.description = Ближче до джерела спор є територія, що заросла.\nНе дивуйтеся, що противник встановив тут свій форпост. Побудуйте бойові одиниці під кодовою назвою «Титан». Зруйнуйте її. Поверніть те, що колись належало нам. +zone.tarFields.description = Між горами та пустелею простягається окраїна зони видобутку нафти. Це один з небагатьох районів із корисними для використання запасами смоли.\nНе зважаючи на те, що територія покинута, вона має поблизу небезпечні сили противника. Не варто їх недооцінювати.\n\n[lightgray]Якщо можливо, дослідіть технологію перероблювання нафти. zone.desolateRift.description = Надзвичайно небезпечна зона. Багато ресурсів, але мало місця. Високий ризик знищення. Евакуюватися потрібно якомога швидше. Не розслабляйтеся між ворожими атаками та знайдіть ахіллесову п’яту супротивника. -zone.nuclearComplex.description = Колишній об’єкт для виробництва та переробки торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\n Ворог, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією. -zone.fungalPass.description = Перехідна зона між високими та низькими горами, земля яких вкрита спорами. Тут знаходиться невелика розвідувальна база ворога.\nЗруйнуйте її.\nВикористовуйте одиниці з кодовими назвами «Кинджал» і «Камікадзе». Позбудьтесь двох ядер. +zone.nuclearComplex.description = Колишній об’єкт для виробництва та перероблювання торію було зведено до руїн.\n[lightgray]Дослідіть торій та його нескінченну кількість застосувань.\n\n Противник, який постійно шукає нападників, присутній тут у великій кількості, тому не баріться з евакуацією. +zone.fungalPass.description = Перехідна зона між високими та низькими горами, земля яких вкрита спорами. Тут знаходиться невелика розвідувальна база противника.\nЗруйнуйте її.\nВикористовуйте одиниці з кодовими назвами «Кинджал» і «Камікадзе». Позбудьтесь двох ядер. zone.impact0078.description = <вставити опис тут> zone.crags.description = <вставити опис тут> @@ -552,8 +552,8 @@ block.unknown = [lightgray]??? blocks.powercapacity = Місткість енергії blocks.powershot = Енергія за постріл blocks.damage = Шкода -blocks.targetsair = Повітряні вороги -blocks.targetsground = Наземні вороги +blocks.targetsair = Повітряні противники +blocks.targetsground = Наземні противники blocks.itemsmoved = Швидкість переміщення blocks.launchtime = Час між запусками blocks.shootrange = Радіус дії @@ -591,11 +591,11 @@ bar.poweramount = Енергія: {0} bar.poweroutput = Вихідна енергія: {0} bar.items = Предмети: {0} bar.capacity = Місткість: {0} +bar.units = Бойові одиниці: {0}/{1} bar.liquid = Рідина bar.heat = Нагрівання bar.power = Енергія bar.progress = Хід будування -bar.spawned = Бойов. од.: {0}/{1} bar.input = Ввід bar.output = Вивід @@ -632,25 +632,25 @@ category.items = Предмети category.crafting = Виробництво category.shooting = Стрільба category.optional = Додаткові поліпшення -setting.landscape.name = Тільки альбомний(горизонтальний) режим +setting.landscape.name = Тільки альбомний (горизонтальний) режим setting.shadows.name = Тіні setting.blockreplace.name = Пропозиції щодо автоматичної заміни блоків setting.linear.name = Лінійна фільтрація setting.hints.name = Підказки -setting.flow.name = Показувати темп швидкості ресурсів[scarlet] (еспемент. функція) +setting.flow.name = Показувати темп швидкості ресурсів setting.buildautopause.name = Автоматичне призупинення будування -setting.animatedwater.name = Анімована вода -setting.animatedshields.name = Анімовані щити +setting.animatedwater.name = Анімаційні рідини +setting.animatedshields.name = Анімаційні щити setting.antialias.name = Згладжування[lightgray] (потребує перезапуску)[] setting.playerindicators.name = Позначки гравців -setting.indicators.name = Позначки ворогів +setting.indicators.name = Позначки противників setting.autotarget.name = Авто-стрільба setting.keyboard.name = Миш+Керування з клавіатури setting.touchscreen.name = Керування сенсорним екраном setting.fpscap.name = Максимальний FPS setting.fpscap.none = Жодне setting.fpscap.text = {0} FPS -setting.uiscale.name = Масштаб користувацького інтерфейсу[lightgray] (потребує перезапуск)[] +setting.uiscale.name = Масштабування користувацького інтерфейсу[lightgray] (потребує перезапуск)[] setting.swapdiagonal.name = Завжди діагональне розміщення setting.difficulty.training = Навчання setting.difficulty.easy = Легка @@ -678,6 +678,7 @@ setting.pixelate.name = Пікселізація setting.minimap.name = Показувати мінімапу setting.position.name = Показувати координати гравця setting.musicvol.name = Гучність музики +setting.atmosphere.name = Показувати планетарну атмосферу setting.ambientvol.name = Звуки навколишнього середовища setting.mutemusic.name = Заглушити музику setting.sfxvol.name = Гучність звукових ефектів @@ -713,7 +714,7 @@ keybind.toggle_block_status.name = Показувати стан блоків keybind.move_x.name = Рух по осі X keybind.move_y.name = Рух по осі Y keybind.mouse_move.name = Слідкувати за мишею -keybind.dash.name = Прискорення +keybind.boost.name = Прискорення keybind.schematic_select.name = Вибрати ділянку keybind.schematic_menu.name = Меню схем keybind.schematic_flip_x.name = Віддзеркалити по осі X @@ -759,7 +760,7 @@ keybind.drop_unit.name = Скинути бойову одиницю keybind.zoom_minimap.name = Збільшити міні-мапу mode.help.title = Опис режимів гри mode.survival.name = Виживання -mode.survival.description = Звичайний режим. В цьому режимі треба самим видобувати ресурси та хвилі йдуть автоматично.\n[gray]Потребуються точки появи ворогів для гри. +mode.survival.description = Звичайний режим. В цьому режимі треба самим видобувати ресурси та хвилі йдуть автоматично.\n[gray]Потребуються точки появи противників для гри. mode.sandbox.name = Пісочниця mode.sandbox.description = Нескінченні ресурси та хвилі йдуть за вашим бажанням. mode.editor.name = Редактор @@ -788,7 +789,7 @@ rules.wavespacing = Інтервал хвиль:[lightgray] (секунди) rules.buildcostmultiplier = Множник затрат на будування rules.buildspeedmultiplier = Множник швидкості будування rules.deconstructrefundmultiplier = Множник відшкодування при демонтажі -rules.waitForWaveToEnd = Хвилі чекають на смерть усіх ворогів +rules.waitForWaveToEnd = Хвилі чекають на завершення попередньої rules.dropzoneradius = Радіус зони висадки:[lightgray] (у плитках) rules.respawns = Максимальна кількість відроджень за хвилю rules.limitedRespawns = Обмеження відроджень @@ -796,7 +797,7 @@ rules.title.waves = Хвилі rules.title.respawns = Відродження rules.title.resourcesbuilding = Ресурси & будування rules.title.player = Гравці -rules.title.enemy = Вороги +rules.title.enemy = Противники rules.title.unit = Бойові одиниці rules.title.experimental = Експериментальне rules.lighting = Світлотінь @@ -839,12 +840,11 @@ unit.minespeed = [lightgray]Швидкість видобутку: {0} % unit.minepower = [lightgray]Потужність видобутку: {0} unit.ability = [lightgray]Здібність: {0} unit.buildspeed = [lightgray]Швидкість будування: {0} % - liquid.heatcapacity = [lightgray]Теплоємність: {0} liquid.viscosity = [lightgray]В’язкість: {0} liquid.temperature = [lightgray]Температура: {0} -block.cliff.name = Скелі +block.cliff.name = Скеля block.sand-boulder.name = Пісочний валун block.grass.name = Трава block.slag.name = Шлак @@ -873,7 +873,7 @@ block.kiln.name = Піч block.graphite-press.name = Графітний прес block.multi-press.name = Мультипрес block.constructing = {0}\n[lightgray](В процесі) -block.spawn.name = Місце появи ворога +block.spawn.name = Місце появи противника block.core-shard.name = Ядро «Уламок» block.core-foundation.name = Ядро «Штаб» block.core-nucleus.name = Ядро «Атом» @@ -1064,10 +1064,10 @@ tutorial.intro = Ви розпочали[scarlet] навчання по Mindustr tutorial.intro.mobile = Ви розпочали[scarlet] навчання по Mindustry.[]\nПроведіть по екрану для руху.\n[accent] Зведіть або розведіть 2 пальця[] для приближення і віддалення відповідно.\nРозпочніть з [accent]видобування міді[]. Наблизьтесь до мідної жили біля вашого ядра, а потім натисніть на неї, щоб розпочати видобуток.\n\n[accent]{0}/{1} міді tutorial.drill = Добування вручну не є ефективним.\n[accent]Бури[] можуть видобувати автоматично.\nНатисніть на вкладку із зображенням свердла праворуч знизу.\n\nВиберіть[accent] механічний бур[]. Розмістіть його на мідній жилі натисканням.\nВи також можете вибрати бур, натиснувши [accent][[2][], а потім швидко натиснувши [accent][[1][], незалежно від відкритої вкладки.\n[accent]Натисніть ПКМ[], щоб зупинити будування. tutorial.drill.mobile = Добування вручну не є ефективним.\n[accent]Бури[] можуть видобувати автоматично.\nНатисніть на вкладку із зображенням свердла праворуч знизу.\nВиберіть[accent] механічний бур[].\nРозмістіть його на мідній жилі натисканням, потім натисніть на [accent]галочку[] нижче, щоб підтвердити розміщення.\nНатисніть [accent]кнопку X[], щоб скасувати розміщення. -tutorial.blockinfo = Кожний блок має різні характеристики. Кожний бур може видобувати тільки певні руди.\nЩоб переглянути інформацію та характеристики блока,[accent] натисніть на кнопку «?», коли ви вибрали блок у меню будування.[]\n\n[accent]Перегляньте характеристику механічного бура негайно.[] +tutorial.blockinfo = Кожний блок має різні характеристики. Кожний бур може видобувати тільки певні руди.\nЩоб переглянути інформацію та характеристики блока,[accent] натисніть на кнопку «?», коли ви вибрали блок у меню будування.[]\n\n[accent]Перегляньте характеристику Механічного бура негайно.[] tutorial.conveyor = [accent]Конвеєри[] використовуються для транспортування предметів до ядра.\nПобудуйте лінію конвеєрів від бура до ядра.\n[accent]Утримуйте миш для розміщення у лінію.[]\nУтримуйте[accent] CTRL[] під час вибору лінії для розміщення по діагоналі.\nПрокручуйте, щоб обертати блоки до їх установлення.\n[accent]Розмістіть 2 конвеєри у лінію, а потім доставте предмет в ядро. tutorial.conveyor.mobile = [accent]Конвеєри[] використовуються для транспортування предметів до ядра.\nПобудуйте лінію конвеєрів від бура до ядра.\n[accent] Розмістить у лінію, утримуючи палець кілька секунд[] і тягніть у напрямку, який Ви обрали.\n\n[accent]Розмістіть 2 конвеєри у лінію, а потім доставте предмет в ядро. -tutorial.turret = Щойно предмет потрапить до ядра, він може бути використаний у будівництві.\nМайте на увазі, не всі предмети придатні для будівництва.\nПредмети що не використовуються у будівництві, такі як[accent] вугілля[] чи[accent] брухт[], не можуть потрапити до ядра.\nОборонні споруди повинні бути побудовані для відбиття[lightgray] ворогів[].\nПобудуйте[accent] башту «Подвійна»[] біля вашої бази. +tutorial.turret = Щойно предмет потрапить до ядра, він може бути використаний у будівництві.\nМайте на увазі, не всі предмети придатні для будівництва.\nПредмети що не використовуються у будівництві, такі як[accent] вугілля[] чи[accent] брухт[], не можуть потрапити до ядра.\nОборонні споруди повинні бути побудовані для відбиття[lightgray] противників[].\nПобудуйте[accent] башту «Подвійна»[] біля вашої бази. tutorial.drillturret = «Подвійна» потребує [accent]мідні боєприпаси[] для стрільби.\nРозмістіть бур біля башти.\nПроведіть конвеєри до башти, щоб заповнити її боєприпасами.\n\n [accent]Доставлено боєприпасів: 0/1 tutorial.pause = Під час гри ви можете[accent] поставити на паузу.[]\nВи можете зробити чергу на будування під час паузи.\n\n [accent]Натисніть пробіл для паузи. tutorial.pause.mobile = Під час гри ви можете[accent] поставити на паузу.[]\nВи можете зробити чергу на будування під час паузи.\n\n[accent]Натисніть кнопку вгорі ліворуч для паузи. @@ -1077,8 +1077,8 @@ tutorial.breaking = Блоки часто треба знищувати.\n[accen tutorial.breaking.mobile = Блоки часто треба знищувати.\n[accent]Виберіть режим руйнування[], потім натисніть на блок, щоб зламати його.\nЗнищте область, утримуючи палець протягом декількох секунд [] і потягнувши в потрібному напрямку.\nНатисніть кнопку галочки, щоб підтвердити руйнування.\n\n[accent]Необхідно знищити всі стіни з брухту ліворуч від вашого ядра використовуючи видалення у зоні. tutorial.withdraw = У деяких ситуаціях потрібно брати предмети безпосередньо з блоків.\nЩоб зробити це, [accent]натисніть на блок[] з предметами, і потім [accent]натисніть на предмет[] в інвентарі.\nМожна вилучити кілька предметів [accent]натискаючи та утримуючи[].\n\n [accent]Вилучіть трохи міді з ядра.[] tutorial.deposit = Покладіть предмети в блок, перетягнувши з вашого корабля в потрібний блок.\n\n[accent]Покладіть мідь назад у ядро.[] -tutorial.waves = [lightgray]Ворог[] з’явився.\n\nЗахистіть ядро від двох хвиль.[accent] Натисніть ЛКМ[], щоб стріляти.\nПобудуйте більше башт і бурів. Добудьте більше міді. -tutorial.waves.mobile = [lightgray]Ворог[] з’явився.\n\nЗахистіть ядро від двох хвиль. Ваш корабель буде автоматично атакувати ворогів.\nПобудуйте більше башт і бурів. Добудьте більше міді. +tutorial.waves = [lightgray]Противник[] з’явився.\n\nЗахистіть ядро від двох хвиль.[accent] Натисніть ЛКМ[], щоб стріляти.\nПобудуйте більше башт і бурів. Добудьте більше міді. +tutorial.waves.mobile = [lightgray]Противник[] з’явився.\n\nЗахистіть ядро від двох хвиль. Ваш корабель буде автоматично атакувати противників.\nПобудуйте більше башт і бурів. Добудьте більше міді. tutorial.launch = Як тільки ви досягнете певної хвилі, ви зможете[accent] запустити ядро[], залишивши свою базу позаду, та [accent]отримати всі ресурси у вашому ядрі.[]\nЦі отримані ресурси можуть бути використані для дослідження нових технологій.\n\n[accent]Натисніть кнопку запуску. item.copper.description = Початковий будівельний матеріал. Широко використовується у всіх типах блоків. @@ -1086,7 +1086,7 @@ item.lead.description = Основний початковий матеріал. item.metaglass.description = Дуже жорсткий склад скла. Широко застосовується для розподілу та зберігання рідини. item.graphite.description = Мінералізований вуглець, що використовується для боєприпасів та як електричний компонент. item.sand.description = Поширений матеріал, який широко використовується при виплавці, як при сплавленні, так і в якості відходів. -item.coal.description = Окам’янілі рослинні речовини, що утворилися задовго до посіву. Широко використовується для виробництва пального та ресурсів. +item.coal.description = Скам’янілі рослинні речовини, що утворилися задовго до посіву. Широко використовується для виробництва пального та ресурсів. item.titanium.description = Рідкісний надлегкий метал, який широко використовується для транспортування рідини, бурів і літаків. item.thorium.description = Щільний радіоактивний метал, що використовується в якості конструкційної опори та ядерного палива. item.scrap.description = Залишки старих споруд та підрозділів. Містить мікроелементи багатьох різних металів. @@ -1097,7 +1097,7 @@ item.surge-alloy.description = Удосконалений сплав з унік item.spore-pod.description = Струмок синтетичних спор, синтезований з атмосферних концентрацій для промислових цілей. Використовується для перетворення на нафту, вибухівку та паливо. item.blast-compound.description = Нестабільна сполука, яка використовується в бомбах і вибухівках. Синтезується зі спорових стручків та інших летких речовин. Використовувати як паливо не рекомендується. item.pyratite.description = Надзвичайно легкозаймиста речовина, що використовується в запальній зброї. -liquid.water.description = Найкорисніша рідина. Зазвичай використовується для охолодження машин та переробки відходів. +liquid.water.description = Найкорисніша рідина. Зазвичай використовується для охолодження машин та перероблювання відходів. liquid.slag.description = Різні види розплавленого металу змішуються між собою. Може бути відокремлений від складових корисних копалин або розпорошений на ворожі частини як зброя. liquid.oil.description = Рідина, яка використовується у виробництві сучасних матеріалів. Може бути перетворена у вугілля в якості палива або використана як куля. liquid.cryofluid.description = Інертна рідина, що створена з води та титану. Володіє надзвичайно високою пропускною спроможністю. Широко використовується в якості рідини, що охолоджує. @@ -1105,7 +1105,7 @@ unit.draug.description = Примітивний дрон, який добува unit.spirit.description = Модифікований «Драугр», призначений для ремонту замість добування ресурсів. Автоматично відновлює будь-які пошкоджені блоки. unit.phantom.description = Удосконалений безпілотник. Йде за користувачами. Допомагає в будуванні блоків. Перебудовує зруйновані блоки. unit.dagger.description = Початкова бойова одиниця. Дешевий у виробництві. Нездоланні при використанні в натовпі. -unit.crawler.description = Наземна одиниця, що складається зі стертої рами з високими вибуховими речовинами, які прив’язані зверху. Не особливо міцний. Вибухає при контакті з ворогами. +unit.crawler.description = Наземна одиниця, що складається зі стертої рами з високими вибуховими речовинами, які прив’язані зверху. Не особливо міцний. Вибухає при контакті з противниками. unit.titan.description = Удосконалений броньована наземна одиниця. Нападає як на наземні, так і повітряні цілі. Оснащений двома мініатюрними вогнеметами класу «Випалювач». unit.fortress.description = Важкий артилерійний мех. Оснащений двома модифікованими гарматами типу «Град» для дальнього нападу на ворожі структури та підрозділи. unit.eruptor.description = Важкий мех, що призначений для знесення конструкцій. Вистрілює потік шлаку у ворожі укріплення, розплавляє їх і підпалює леткі речовини. @@ -1114,16 +1114,16 @@ unit.ghoul.description = Важкий килимовий бомбардувал unit.revenant.description = Важкий ракетний масив. block.message.description = Зберігає повідомлення. Використовується для комунікації між союзниками. block.graphite-press.description = Стискає шматки вугілля в чисті аркуші графіту. -block.multi-press.description = Модернізована версія графітового преса. Використовує воду та енергію для швидкої та ефективної переробки вугілля. +block.multi-press.description = Модернізована версія графітового преса. Використовує воду та енергію для швидкого та ефективного перероблювання вугілля. block.silicon-smelter.description = Змішує пісок з чистим вугіллям. Виробляє кремній. block.kiln.description = Виплавляє пісок та свинець у сполуку, відому як метаскло. Для запуску потрібна невелика кількість енергії. -block.plastanium-compressor.description = Виробляє пластаній з нафти і титану. +block.plastanium-compressor.description = Виробляє пластаній з нафти та титану. block.phase-weaver.description = Синтезує фазову тканину з радіоактивного торію та піску. Для роботи потрібна велика кількість енергії. block.alloy-smelter.description = Поєднує титан, свинець, кремній і мідь для отримання кінетичного сплаву. block.cryofluidmixer.description = Змішує воду і дрібний порошок титану в кріогенну рідину. Основне використання у торієвому реактору. block.blast-mixer.description = Подрібнює і змішує скупчення спор з піротитом для отримання вибухової суміші. block.pyratite-mixer.description = Змішує вугілля, свинець та пісок у легкозаймистий піротит. -block.melter.description = Розплавляє брухт у шлак для подальшої переробки або використання у баштах «Хвиля». +block.melter.description = Розплавляє брухт у шлак для подальшого перероблювання, або використання у баштах «Хвиля». block.separator.description = Відокремлює шлак на його мінеральні компоненти. Виводить охолоджені матеріали. block.spore-press.description = Стискає спорові стручки під сильним тиском для синтезу нафти. block.pulverizer.description = Подрібнює брухт у дрібний пісок. @@ -1137,12 +1137,12 @@ block.liquid-source.description = Нескінченно виводить рід block.liquid-void.description = Видаляє будь-які рідини. Тільки пісочниця. block.copper-wall.description = Дешевий захисний блок.\nКорисний для захисту ядра та башт у перші кілька хвиль. block.copper-wall-large.description = Дешевий захисний блок.\nКорисний для захисту ядра та башт у перші кілька хвиль.\nЗаймає декілька плиток. -block.titanium-wall.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів. -block.titanium-wall-large.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від ворогів.\nЗаймає декілька плиток. +block.titanium-wall.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від противників. +block.titanium-wall-large.description = Відносно сильний захисний блок.\nЗабезпечує помірний захист від противників.\nЗаймає декілька плиток. block.plastanium-wall.description = Особливий тип стіни, який поглинає електричні дуги й блокує автоматичні з’єднання енергетичних вузлів. block.plastanium-wall-large.description = Особливий тип стіни, який поглинає електричні дуги й блокує автоматичні з’єднання енергетичних вузлів.\nЗаймає декілька плиток. -block.thorium-wall.description = Сильний захисний блок.\nГідний захист від ворогів. -block.thorium-wall-large.description = Сильний захисний блок.\nГідний захист від ворогів.\nЗаймає декілька плиток. +block.thorium-wall.description = Сильний захисний блок.\nГідний захист від противників. +block.thorium-wall-large.description = Сильний захисний блок.\nГідний захист від противників.\nЗаймає декілька плиток. block.phase-wall.description = Стіна має покриття спеціальним складом, що відбиває світло і який базується на фазовій тканині. Відхиляє більшість куль при ударі. block.phase-wall-large.description = Стіна має покриття спеціальним складом, що відбиває світло і який базується на фазовій тканині. Відхиляє більшість куль при ударі.\nЗаймає декілька плиток. block.surge-wall.description = Надзвичайно міцний захисний блок.\nЗбільшує заряд при контакті з кулями, вивільняючи його випадковим чином. @@ -1153,7 +1153,7 @@ block.mender.description = Періодично ремонтує блоки у block.mend-projector.description = Покращена версія «Регенератора». Періодично ремонтує блоки у його радіусі дії.\nЗа бажанням, можна використати фазову тканину для підвищення дальності та ефективності. block.overdrive-projector.description = Збільшує швидкість найближчих будівель.\nЗа бажанням, можна використати фазову тканину для підвищення дальності та ефективності. block.force-projector.description = Створює навколо себе шестикутне силове поле, захищаючи будівлі та блоки всередині від пошкоджень.\nПерегрівається, якщо завдано занадто великої шкоди. За бажанням, можна використати теплоносій для запобігання перегріву. Для збільшення розміру щита можна використовувати фазову тканину. -block.shock-mine.description = Пошкоджує ворогів, коли вони наступають на міну. Майже невидима для ворога. +block.shock-mine.description = Наносить шкоду противникам, коли вони наступають на міну. Майже невидима для противника. block.conveyor.description = Базовий транспортний блок. Переміщує елементи вперед і автоматично перетворює їх у блоки. Можна обертати. block.titanium-conveyor.description = Покращений блок транспорту елементів. Переміщує предмети швидше, ніж звичайні конвеєри. block.plastanium-conveyor.description = Переміщує предмети партіями.\nПриймає елементи на задній частині та вивантажує їх у трьох напрямках спереду. @@ -1206,31 +1206,31 @@ block.core-nucleus.description = Третя й остання версія ка block.vault.description = Зберігає велику кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. block.container.description = Зберігає малу кількість предметів кожного типу. Блок розвантажувача може використовуватися для отримання предметів зі сховища. block.unloader.description = Вивантажує предмети з блока, який не переміщує предмети, на конвеєр або безпосередньо в сусідній блок. Тип предмета для завантаження можна змінити, натиснувши на блок. -block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра. Стартовий майданчик дозволяє вам запускати ресурси кожні n секунд без необхідності завершувати гру. Просто подайте у нього ресурси і забезпечте енергією. +block.launch-pad.description = Запускає партії предметів без необхідності запуску ядра. Стартовий майданчик дозволяє вам запускати ресурси кожні n секунд без необхідності завершувати гру. Просто подайте у нього ресурси та забезпечте енергією. block.launch-pad-large.description = Поліпшена версія стартового майданчика. Зберігає більше предметів. Запускається частіше. block.duo.description = Мала і дешева башта. Корисна проти наземних одиниць. -block.scatter.description = Основна протиповітряна башта. Розпилює грудочки свинцю, брухту чи метаскла у ворогів. -block.scorch.description = Підпалює будь-яких наземних ворогів поблизу. Високоефективна на близькій відстані. +block.scatter.description = Основна протиповітряна башта. Розпилює грудочки свинцю, брухту чи метаскла у противників. +block.scorch.description = Підпалює будь-яких наземних противників поблизу. Високоефективна на близькій відстані. block.hail.description = Невелика артилерійська башта з далеким радіусом дії. -block.wave.description = Башта середнього розміру. Стріляє потоками рідини в ворогів. Автоматично гасить пожежі при постачанні води. -block.lancer.description = Лазерна башта середнього розміру, яка атакує наземних ворогів. Заряджає і вистрілює потужні пучки енергії. -block.arc.description = Невелика електрична башта з малим радіусом дії. Стріляє дугами електрики у ворогів. -block.swarmer.description = Ракетна башта середнього розміру. Атакує як повітряних, так і наземних ворогів. Запускає ракети, які летять у ворогів самостійно. -block.salvo.description = Більш велика, вдосконалена версія башти «Подвійна». Вистрілює швидкий залп куль у ворога. -block.fuse.description = Велика енергетична башта з малим радіусом дії. Стріляє трьома пронизливими променями на найближчих ворогів. -block.ripple.description = Надзвичайно потужна артилерійська башта. На великі відстані стріляє скупченнями снарядів у ворогів. -block.cyclone.description = Велика протиповітряна та протиназемна башта. Підпалює вибухонебезпечними грудками скупчення ворогів. +block.wave.description = Башта середнього розміру. Стріляє потоками рідини в противників. Автоматично гасить пожежі при постачанні води. +block.lancer.description = Лазерна башта середнього розміру, яка атакує наземних противників. Заряджає і вистрілює потужні пучки енергії. +block.arc.description = Невелика електрична башта з малим радіусом дії. Стріляє дугами електрики у противників. +block.swarmer.description = Ракетна башта середнього розміру. Атакує як повітряних, так і наземних противників. Запускає ракети, які летять у противників самостійно. +block.salvo.description = Більш велика, вдосконалена версія башти «Подвійна». Вистрілює швидкий залп куль у противника. +block.fuse.description = Велика енергетична башта з малим радіусом дії. Стріляє трьома пронизливими променями на найближчих противників. +block.ripple.description = Надзвичайно потужна артилерійська башта. На великі відстані стріляє скупченнями снарядів у противників. +block.cyclone.description = Велика протиповітряна та протиназемна башта. Підпалює вибухонебезпечними грудками скупчення противників. block.spectre.description = Масивна двоствольна гармата. Стріляє великими бронебійними кулями в повітряні та наземні цілі. -block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє лазерним променем у найближчих ворогів. Для роботи потрібен теплоносій. +block.meltdown.description = Масивна лазерна гармата. Заряджає і стріляє лазерним променем у найближчих противників. Для роботи потрібен теплоносій. block.command-center.description = Наказує бойовим одиницям пересуватися по всій мапі.\nНаявні команди: патрулювання, атакувати вороже ядро, відступити до ядра/заводу. Якщо ворожого ядра немає, то бойові одиниці будуть патрулювати за замовчуванням при застосуванні команди «атакувати». block.draug-factory.description = Виробляє дронів, які видобувають ресурси. block.spirit-factory.description = Виробляє дронів, які ремонтують блоки. block.phantom-factory.description = Виробляє дронів, які допомагають у будівництві. block.wraith-factory.description = Виробляє швидких перехоплювачів, які використовують тактику «стріляй і біжи». -block.ghoul-factory.description = Виробляє важкокилимових бомбардувальників. -block.revenant-factory.description = Виробляє важких ракетних одиниць. -block.dagger-factory.description = Виробляє початкових наземних одиниць. -block.crawler-factory.description = Виробляє швидких одиниць, які вибухають при контакті з ворогом. -block.titan-factory.description = Виробляє поліпшених наземних одиниць. -block.fortress-factory.description = Виробляє важкоартилерійних наземних одиниць. -block.repair-point.description = Безперервно лікує найближчу пошкоджену бойову одиницю. +block.ghoul-factory.description = Виробляє важкі килимові бомбардувальники. +block.revenant-factory.description = Виробляє важкі ракетні одиниці. +block.dagger-factory.description = Виробляє базові наземні одиниці. +block.crawler-factory.description = Виробляє швидкі одиниці, які вибухають при контакті з противником. +block.titan-factory.description = Виробляє поліпшені наземні одиниці. +block.fortress-factory.description = Виробляє важкі артилерійні наземні одиниці. +block.repair-point.description = Безперервно ремонтує найближчу пошкоджену бойову одиницю. diff --git a/core/assets/bundles/bundle_zh_TW.properties b/core/assets/bundles/bundle_zh_TW.properties index 43cd6df1dd..2ba467f171 100644 --- a/core/assets/bundles/bundle_zh_TW.properties +++ b/core/assets/bundles/bundle_zh_TW.properties @@ -272,6 +272,7 @@ quit.confirm.tutorial = 您確定您知道自己在做什麼嗎?\n該教學可 loading = [accent]載入中... reloading = [accent]模組重新載入中... saving = [accent]儲存中... +respawn = [accent][[{0}][]重生 cancelbuilding = [accent][[{0}][]清除計畫 selectschematic = [accent][[{0}][]選擇並複製 pausebuilding = [accent][[{0}][]暫停建造 @@ -328,8 +329,9 @@ waves.never = 〈永遠〉 waves.every = 每 waves.waves = 波次 waves.perspawn = 每次生成 +waves.shields = 護盾/波次 waves.to = 至 -waves.boss = 頭目 +waves.guardian = 守衛者 waves.preview = 預覽 waves.edit = 編輯... waves.copy = 複製到剪貼板 @@ -537,6 +539,7 @@ settings.clearall.confirm = [scarlet]警告![]\n這將清除所有數據,包 paused = [accent]〈已暫停〉 clear = 清除 banned = [scarlet]已被封禁 +unplaceable.sectorcaptured = [scarlet]需要已占領的地區 yes = 是 no = 否 info.title = 資訊 @@ -591,11 +594,11 @@ bar.poweramount = 能量:{0} bar.poweroutput = 能量輸出:{0} bar.items = 物品:{0} bar.capacity = 容量: {0} +bar.units = 單位: {0}/{1} bar.liquid = 液體 bar.heat = 熱 bar.power = 能量 bar.progress = 建造進度 -bar.spawned = 單位:{0}/{1} bar.input = 輸入 bar.output = 輸出 @@ -678,6 +681,7 @@ setting.pixelate.name = 像素化 setting.minimap.name = 顯示小地圖 setting.position.name = 顯示玩家位置 setting.musicvol.name = 音樂音量 +setting.atmosphere.name = 顯示星球大氣層 setting.ambientvol.name = 環境音量 setting.mutemusic.name = 靜音 setting.sfxvol.name = 音效音量 @@ -704,6 +708,8 @@ command.attack = 攻擊 command.rally = 集結 command.retreat = 撤退 placement.blockselectkeys = \n[lightgray]按鍵:[{0}, +keybind.respawn.name = 重生 +keybind.control.name = 控制單位 keybind.clear_building.name = 清除建築指令 keybind.press = 按一下按鍵... keybind.press.axis = 按一下軸向或按鍵... @@ -713,7 +719,7 @@ keybind.toggle_block_status.name = 開啟方塊狀態顯示 keybind.move_x.name = 水平移動 keybind.move_y.name = 垂直移動 keybind.mouse_move.name = 跟隨滑鼠 -keybind.dash.name = 衝刺 +keybind.boost.name = 噴射 keybind.schematic_select.name = 選擇區域 keybind.schematic_menu.name = 藍圖目錄 keybind.schematic_flip_x.name = X軸翻轉 @@ -799,6 +805,7 @@ rules.title.player = 玩家 rules.title.enemy = 敵人 rules.title.unit = 單位 rules.title.experimental = 實驗中 +rules.title.environment = 環境 rules.lighting = 光照 rules.ambientlight = 環境光照 rules.solarpowermultiplier = 太陽能倍數 @@ -834,11 +841,11 @@ item.radioactivity = [lightgray]放射性:{0}% unit.health = [lightgray]生命值:{0} unit.speed = [lightgray]速度:{0} unit.weapon = [lightgray]武器: {0} -unit.itemcapacity = [lightgray]物品量: {0} -unit.minespeed = [lightgray]開採速度: {0}% -unit.minepower = [lightgray]開採強度: {0} -unit.ability = [lightgray]技能: {0} -unit.buildspeed = [lightgray]建設速度: {0}% +unit.itemcapacity = [lightgray]物品容量: {0} +unit.minespeed = [lightgray]採礦速度: {0}% +unit.minepower = [lightgray]採礦能力: {0} +unit.ability = [lightgray]能力: {0} +unit.buildspeed = [lightgray]建造速度: {0}% liquid.heatcapacity = [lightgray]熱容量:{0} liquid.viscosity = [lightgray]粘性:{0} liquid.temperature = [lightgray]溫度:{0} diff --git a/core/assets/sprites/fallback/sprites.atlas b/core/assets/sprites/fallback/sprites.atlas index 514a7620f1..35bb47d466 100644 --- a/core/assets/sprites/fallback/sprites.atlas +++ b/core/assets/sprites/fallback/sprites.atlas @@ -537,14 +537,14 @@ mend-projector-top index: -1 mender rotate: false - xy: 1991, 725 + xy: 1983, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 1983, 691 + xy: 1907, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -565,7 +565,7 @@ overdrive-projector-top index: -1 shock-mine rotate: false - xy: 1939, 521 + xy: 1973, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -586,35 +586,35 @@ block-unloader index: -1 bridge-arrow rotate: false - xy: 1787, 733 + xy: 1787, 699 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 1813, 665 + xy: 1805, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 1805, 631 + xy: 1805, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 1805, 597 + xy: 1839, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 1839, 631 + xy: 1839, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -768,315 +768,315 @@ armored-conveyor-4-3 index: -1 conveyor-0-1 rotate: false - xy: 1299, 623 + xy: 1297, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 1297, 589 + xy: 1293, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 1293, 555 + xy: 1293, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 1293, 521 + xy: 1327, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 1327, 555 + xy: 1327, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 1327, 521 + xy: 1331, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 1331, 589 + xy: 1365, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 1365, 593 + xy: 1399, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 1399, 593 + xy: 1311, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 1311, 487 + xy: 1311, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 1311, 453 + xy: 1345, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 1345, 487 + xy: 1345, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 1345, 453 + xy: 1321, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 1321, 419 + xy: 1321, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 1321, 385 + xy: 1355, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 1355, 419 + xy: 1355, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 1355, 385 + xy: 1346, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 1346, 351 + xy: 1346, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 1346, 317 + xy: 1380, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor rotate: false - xy: 2009, 589 + xy: 1973, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-0 rotate: false - xy: 1973, 895 + xy: 1973, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-1 rotate: false - xy: 1973, 861 + xy: 1999, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-2 rotate: false - xy: 1999, 827 + xy: 1463, 585 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-edge rotate: false - xy: 1463, 585 + xy: 1463, 551 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-stack rotate: false - xy: 1463, 551 + xy: 1497, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 2007, 487 + xy: 1516, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 1481, 491 + xy: 1516, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 1481, 457 + xy: 1516, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 1515, 491 + xy: 1549, 481 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 1515, 457 + xy: 1583, 481 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 1491, 423 + xy: 1559, 447 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 1491, 389 + xy: 1559, 413 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 1525, 423 + xy: 1593, 447 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 1525, 389 + xy: 1593, 413 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 1516, 355 + xy: 1559, 379 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 1516, 321 + xy: 1593, 379 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 1516, 287 + xy: 1550, 345 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 1549, 481 + xy: 1550, 311 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 1583, 481 + xy: 1584, 345 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 1559, 447 + xy: 1584, 311 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 1559, 413 + xy: 1550, 277 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 1593, 447 + xy: 1584, 277 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 1593, 413 + xy: 1618, 345 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 1559, 379 + xy: 1618, 311 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cross rotate: false - xy: 1389, 385 + xy: 1413, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1090,14 +1090,14 @@ distributor index: -1 inverted-sorter rotate: false - xy: 1429, 525 + xy: 1447, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction rotate: false - xy: 1897, 827 + xy: 1931, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1139,7 +1139,7 @@ mass-driver-base index: -1 overflow-gate rotate: false - xy: 1907, 623 + xy: 1941, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1167,49 +1167,49 @@ payload-router-over index: -1 phase-conveyor rotate: false - xy: 1907, 589 + xy: 1941, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 1941, 589 + xy: 1975, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 1975, 589 + xy: 2009, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 2009, 657 + xy: 2009, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 1701, 529 + xy: 1735, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 2007, 521 + xy: 1769, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 underflow-gate rotate: false - xy: 1550, 311 + xy: 1627, 437 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1405,14 +1405,14 @@ block-select index: -1 conduit-liquid rotate: false - xy: 1821, 733 + xy: 1821, 699 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 message rotate: false - xy: 1907, 657 + xy: 1907, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1426,161 +1426,161 @@ place-arrow index: -1 bridge-conduit rotate: false - xy: 1787, 699 + xy: 1779, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 1779, 665 + xy: 1771, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 1779, 665 + xy: 1771, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 1771, 631 + xy: 1771, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 1771, 597 + xy: 1813, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 1769, 869 + xy: 1769, 835 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 1769, 835 + xy: 1795, 801 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 1795, 801 + xy: 1821, 767 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 1821, 767 + xy: 1821, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 1821, 767 + xy: 1821, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 1821, 767 + xy: 1821, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 1821, 699 + xy: 1847, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 1847, 665 + xy: 1873, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 1873, 631 + xy: 1873, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 1873, 597 + xy: 1419, 1047 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 1873, 597 + xy: 1419, 1047 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 1419, 1047 + xy: 1299, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 1855, 759 + xy: 1889, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate rotate: false - xy: 1923, 793 + xy: 1889, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate-top rotate: false - xy: 1889, 759 + xy: 1923, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 1923, 759 + xy: 1889, 725 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 1889, 725 + xy: 1923, 725 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 1923, 725 + xy: 1965, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1608,126 +1608,126 @@ liquid-tank-top index: -1 mechanical-pump rotate: false - xy: 1949, 691 + xy: 1991, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-liquid rotate: false - xy: 1991, 793 + xy: 1991, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-liquid rotate: false - xy: 1991, 793 + xy: 1991, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-liquid rotate: false - xy: 1991, 793 + xy: 1991, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 1941, 657 + xy: 1941, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 1941, 623 + xy: 1975, 657 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 1975, 657 + xy: 1975, 623 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 1975, 623 + xy: 1907, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-cap rotate: false - xy: 1531, 593 + xy: 1497, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-0 rotate: false - xy: 1497, 559 + xy: 1531, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-1 rotate: false - xy: 1531, 559 + xy: 1565, 583 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-2 rotate: false - xy: 1565, 583 + xy: 1599, 583 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-3 rotate: false - xy: 1599, 583 + xy: 1565, 549 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-4 rotate: false - xy: 1565, 549 + xy: 1599, 549 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 1667, 563 + xy: 1701, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 1701, 563 + xy: 1735, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 1735, 563 + xy: 1769, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 1769, 563 + xy: 1803, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1776,14 +1776,14 @@ battery-top index: -1 combustion-generator rotate: false - xy: 1839, 597 + xy: 1769, 903 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 1769, 903 + xy: 1769, 869 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1811,28 +1811,28 @@ differential-generator-top index: -1 diode rotate: false - xy: 1413, 491 + xy: 1413, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 diode-arrow rotate: false - xy: 1413, 457 + xy: 1423, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator rotate: false - xy: 1448, 355 + xy: 1448, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator-top rotate: false - xy: 1448, 321 + xy: 1429, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1888,7 +1888,7 @@ impact-reactor-plasma-3 index: -1 power-node rotate: false - xy: 1599, 549 + xy: 1633, 573 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1902,14 +1902,14 @@ power-node-large index: -1 power-source rotate: false - xy: 1633, 573 + xy: 1633, 539 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 1633, 539 + xy: 1667, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1923,14 +1923,7 @@ rtg-generator index: -1 rtg-generator-top rotate: false - xy: 1735, 529 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -solar-panel - rotate: false - xy: 1973, 521 + xy: 1769, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1942,6 +1935,69 @@ solar-panel-large orig: 96, 96 offset: 0, 0 index: -1 +solar-panel + rotate: false + xy: 2007, 521 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-0 + rotate: false + xy: 1497, 525 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-1 + rotate: false + xy: 1531, 525 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-2 + rotate: false + xy: 1565, 515 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-3 + rotate: false + xy: 1599, 515 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-4 + rotate: false + xy: 1633, 505 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-5 + rotate: false + xy: 1667, 495 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-6 + rotate: false + xy: 1701, 495 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-7 + rotate: false + xy: 1735, 495 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 surge-tower rotate: false xy: 983, 69 @@ -2119,21 +2175,21 @@ graphite-press index: -1 incinerator rotate: false - xy: 1429, 559 + xy: 1429, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 1871, 895 + xy: 1837, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 1863, 827 + xy: 1897, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2161,21 +2217,21 @@ silicon-smelter-top index: -1 liquid-source rotate: false - xy: 1957, 759 + xy: 1957, 725 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-void rotate: false - xy: 1957, 725 + xy: 1881, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 1991, 759 + xy: 1991, 725 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2224,14 +2280,14 @@ plastanium-compressor-top index: -1 pulverizer rotate: false - xy: 1803, 563 + xy: 1837, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 1837, 563 + xy: 1871, 563 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2343,28 +2399,28 @@ rock2 index: -1 sand-boulder1 rotate: false - xy: 1769, 529 + xy: 1803, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder2 rotate: false - xy: 1803, 529 + xy: 1837, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder1 rotate: false - xy: 2007, 555 + xy: 1905, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder2 rotate: false - xy: 1905, 521 + xy: 1939, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2448,14 +2504,14 @@ core-shard-team index: -1 unloader rotate: false - xy: 1584, 345 + xy: 1627, 403 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-center rotate: false - xy: 1584, 311 + xy: 1661, 461 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2553,7 +2609,7 @@ salvo-panel-right index: -1 scorch-heat rotate: false - xy: 1871, 529 + xy: 1905, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2665,7 +2721,7 @@ rally-point index: -1 repair-point-base rotate: false - xy: 1667, 529 + xy: 1701, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2679,7 +2735,7 @@ resupply-point index: -1 copper-wall rotate: false - xy: 1380, 351 + xy: 1380, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2693,7 +2749,7 @@ copper-wall-large index: -1 door rotate: false - xy: 1423, 423 + xy: 1423, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2714,14 +2770,14 @@ door-large-open index: -1 door-open rotate: false - xy: 1423, 389 + xy: 1414, 351 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 2009, 623 + xy: 2009, 589 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2735,7 +2791,7 @@ phase-wall-large index: -1 plastanium-wall rotate: false - xy: 1497, 593 + xy: 1531, 593 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2798,35 +2854,35 @@ scrap-wall-large4 index: -1 scrap-wall2 rotate: false - xy: 1905, 555 + xy: 1939, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 1939, 555 + xy: 1973, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 1973, 555 + xy: 2007, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 1973, 555 + xy: 2007, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 1939, 487 + xy: 1525, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2840,7 +2896,7 @@ surge-wall-large index: -1 thorium-wall rotate: false - xy: 1973, 487 + xy: 1525, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2861,7 +2917,7 @@ thruster index: -1 titanium-wall rotate: false - xy: 1593, 379 + xy: 1618, 277 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2903,7 +2959,7 @@ circle-end index: -1 circle-mid rotate: false - xy: 1323, 84 + xy: 1323, 76 size: 1, 199 orig: 1, 199 offset: 0, 0 @@ -3008,7 +3064,7 @@ transfer index: -1 transfer-arrow rotate: false - xy: 1550, 345 + xy: 1627, 471 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3692,6 +3748,20 @@ block-snowrocks-full orig: 32, 32 offset: 0, 0 index: -1 +block-solar-panel-full + rotate: false + xy: 1753, 699 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-icon + rotate: false + xy: 1753, 699 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 block-spectre-full rotate: false xy: 1591, 1919 @@ -3708,7 +3778,7 @@ block-spore-cluster-full index: -1 block-spore-moss-full rotate: false - xy: 1753, 699 + xy: 1745, 665 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3722,14 +3792,14 @@ block-spore-press-full index: -1 block-sporerocks-full rotate: false - xy: 1745, 665 + xy: 1737, 631 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-stone-full rotate: false - xy: 1737, 631 + xy: 1737, 597 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3743,21 +3813,21 @@ block-swarmer-full index: -1 block-tendrils-full rotate: false - xy: 1737, 597 + xy: 1787, 767 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-titanium-conveyor-full rotate: false - xy: 1787, 767 + xy: 1787, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 1787, 767 + xy: 1787, 733 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3827,56 +3897,56 @@ core-shard-team-sharded index: -1 cracks-1-0 rotate: false - xy: 1380, 317 + xy: 1361, 555 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 1361, 555 + xy: 1361, 521 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 1361, 521 + xy: 1395, 559 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 1395, 559 + xy: 1395, 525 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 1395, 525 + xy: 1379, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 1379, 487 + xy: 1379, 453 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 1379, 453 + xy: 1389, 419 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 1389, 419 + xy: 1389, 385 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4156,7 +4226,7 @@ dagger-wreck2 index: -1 duo rotate: false - xy: 1414, 351 + xy: 1414, 317 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4233,7 +4303,7 @@ gamma-wreck2 index: -1 hail rotate: false - xy: 1414, 317 + xy: 1448, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4268,7 +4338,7 @@ item-blast-compound-large index: -1 item-blast-compound-medium rotate: false - xy: 1447, 457 + xy: 1457, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4303,7 +4373,7 @@ item-coal-large index: -1 item-coal-medium rotate: false - xy: 1457, 389 + xy: 1482, 355 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4338,7 +4408,7 @@ item-copper-large index: -1 item-copper-medium rotate: false - xy: 1482, 321 + xy: 1448, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4373,7 +4443,7 @@ item-graphite-large index: -1 item-graphite-medium rotate: false - xy: 1482, 287 + xy: 1749, 1005 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4408,7 +4478,7 @@ item-lead-large index: -1 item-lead-medium rotate: false - xy: 1749, 971 + xy: 1775, 937 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4443,7 +4513,7 @@ item-metaglass-large index: -1 item-metaglass-medium rotate: false - xy: 1783, 1005 + xy: 1783, 971 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4478,7 +4548,7 @@ item-phase-fabric-large index: -1 item-phase-fabric-medium rotate: false - xy: 1817, 963 + xy: 1851, 963 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4513,7 +4583,7 @@ item-plastanium-large index: -1 item-plastanium-medium rotate: false - xy: 1885, 963 + xy: 1919, 963 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4548,7 +4618,7 @@ item-pyratite-large index: -1 item-pyratite-medium rotate: false - xy: 1809, 929 + xy: 1843, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4583,7 +4653,7 @@ item-sand-large index: -1 item-sand-medium rotate: false - xy: 1877, 929 + xy: 1911, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4618,7 +4688,7 @@ item-scrap-large index: -1 item-scrap-medium rotate: false - xy: 1803, 895 + xy: 1803, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4653,7 +4723,7 @@ item-silicon-large index: -1 item-silicon-medium rotate: false - xy: 1837, 895 + xy: 1871, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4688,21 +4758,21 @@ item-spore-pod-large index: -1 item-spore-pod-medium rotate: false - xy: 1905, 895 + xy: 1871, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod-small rotate: false - xy: 131, 1025 + xy: 1695, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-spore-pod-tiny rotate: false - xy: 2031, 977 + xy: 2031, 1403 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4723,21 +4793,21 @@ item-surge-alloy-large index: -1 item-surge-alloy-medium rotate: false - xy: 1905, 861 + xy: 1945, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy-small rotate: false - xy: 1550, 285 + xy: 1661, 435 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-surge-alloy-tiny rotate: false - xy: 2031, 959 + xy: 2031, 977 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4758,21 +4828,21 @@ item-thorium-large index: -1 item-thorium-medium rotate: false - xy: 1939, 895 + xy: 1939, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium-small rotate: false - xy: 1576, 285 + xy: 131, 1025 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-thorium-tiny rotate: false - xy: 2031, 941 + xy: 927, 1607 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4793,21 +4863,21 @@ item-titanium-large index: -1 item-titanium-medium rotate: false - xy: 1829, 827 + xy: 1863, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium-small rotate: false - xy: 1979, 967 + xy: 1721, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 item-titanium-tiny rotate: false - xy: 2031, 1403 + xy: 1319, 1591 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4835,21 +4905,21 @@ liquid-cryofluid-large index: -1 liquid-cryofluid-medium rotate: false - xy: 1855, 793 + xy: 1855, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid-small rotate: false - xy: 2005, 967 + xy: 1661, 409 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-cryofluid-tiny rotate: false - xy: 927, 1607 + xy: 885, 1313 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4870,21 +4940,21 @@ liquid-oil-large index: -1 liquid-oil-medium rotate: false - xy: 1855, 725 + xy: 1923, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil-small rotate: false - xy: 1979, 941 + xy: 1747, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-oil-tiny rotate: false - xy: 1319, 1591 + xy: 677, 337 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4905,21 +4975,21 @@ liquid-slag-large index: -1 liquid-slag-medium rotate: false - xy: 1957, 793 + xy: 1957, 759 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag-small rotate: false - xy: 2005, 941 + xy: 1773, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-slag-tiny rotate: false - xy: 885, 1313 + xy: 1173, 1219 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -4940,21 +5010,21 @@ liquid-water-large index: -1 liquid-water-medium rotate: false - xy: 1915, 691 + xy: 1949, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water-small rotate: false - xy: 317, 1281 + xy: 1799, 469 size: 24, 24 orig: 24, 24 offset: 0, 0 index: -1 liquid-water-tiny rotate: false - xy: 677, 337 + xy: 1145, 493 size: 16, 16 orig: 16, 16 offset: 0, 0 @@ -5136,7 +5206,7 @@ quasar-wreck2 index: -1 repair-point rotate: false - xy: 1871, 563 + xy: 1667, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5164,7 +5234,7 @@ scatter index: -1 scorch rotate: false - xy: 1837, 529 + xy: 1871, 529 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5206,84 +5276,84 @@ spiroct-wreck2 index: -1 splash-0 rotate: false - xy: 1531, 525 + xy: 1837, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-1 rotate: false - xy: 1565, 515 + xy: 1871, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-10 rotate: false - xy: 1871, 495 + xy: 1491, 423 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-11 rotate: false - xy: 1905, 487 + xy: 1491, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-2 rotate: false - xy: 1599, 515 + xy: 1905, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-3 rotate: false - xy: 1633, 505 + xy: 1939, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-4 rotate: false - xy: 1667, 495 + xy: 1973, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-5 rotate: false - xy: 1701, 495 + xy: 2007, 487 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-6 rotate: false - xy: 1735, 495 + xy: 1481, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-7 rotate: false - xy: 1769, 495 + xy: 1481, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-8 rotate: false - xy: 1803, 495 + xy: 1515, 491 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-9 rotate: false - xy: 1837, 495 + xy: 1515, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5458,140 +5528,140 @@ zenith-wreck2 index: -1 item-blast-compound rotate: false - xy: 1447, 491 + xy: 1447, 457 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 1457, 423 + xy: 1457, 389 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 1482, 355 + xy: 1482, 321 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 1448, 287 + xy: 1482, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 1749, 1005 + xy: 1749, 971 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 1775, 937 + xy: 1783, 1005 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 1783, 971 + xy: 1817, 963 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 1851, 963 + xy: 1885, 963 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 1919, 963 + xy: 1809, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 1843, 929 + xy: 1877, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 1911, 929 + xy: 1803, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 1803, 861 + xy: 1837, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 1837, 861 + xy: 1905, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 1871, 861 + xy: 1905, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 1945, 929 + xy: 1939, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 1939, 861 + xy: 1829, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 1931, 827 + xy: 1855, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 1889, 793 + xy: 1855, 725 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 1965, 827 + xy: 1957, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 1881, 691 + xy: 1915, 691 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -6081,7 +6151,7 @@ spiroct-foot index: -1 spiroct-joint rotate: false - xy: 1497, 525 + xy: 1803, 495 size: 32, 32 orig: 32, 32 offset: 0, 0 diff --git a/core/assets/sprites/fallback/sprites2.png b/core/assets/sprites/fallback/sprites2.png index 68e5843bdb..953e130278 100644 Binary files a/core/assets/sprites/fallback/sprites2.png and b/core/assets/sprites/fallback/sprites2.png differ diff --git a/core/assets/sprites/fallback/sprites3.png b/core/assets/sprites/fallback/sprites3.png index dfa1d65281..ed29980ef7 100644 Binary files a/core/assets/sprites/fallback/sprites3.png and b/core/assets/sprites/fallback/sprites3.png differ diff --git a/core/assets/sprites/sprites.atlas b/core/assets/sprites/sprites.atlas index 2066ad7f01..7cafe0f247 100644 --- a/core/assets/sprites/sprites.atlas +++ b/core/assets/sprites/sprites.atlas @@ -104,14 +104,14 @@ mend-projector-top index: -1 mender rotate: false - xy: 3420, 163 + xy: 3454, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mender-top rotate: false - xy: 3454, 163 + xy: 3488, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -132,7 +132,7 @@ overdrive-projector-top index: -1 shock-mine rotate: false - xy: 3817, 905 + xy: 3885, 939 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -153,35 +153,35 @@ block-unloader index: -1 bridge-arrow rotate: false - xy: 3819, 1007 + xy: 3853, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor rotate: false - xy: 3989, 1005 + xy: 4023, 1005 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-bridge rotate: false - xy: 4023, 1005 + xy: 4057, 997 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-end rotate: false - xy: 4057, 997 + xy: 2464, 279 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 center rotate: false - xy: 2464, 279 + xy: 2498, 283 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -335,315 +335,315 @@ armored-conveyor-4-3 index: -1 conveyor-0-1 rotate: false - xy: 2634, 287 + xy: 2668, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-2 rotate: false - xy: 2668, 287 + xy: 2601, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-0-3 rotate: false - xy: 2601, 253 + xy: 2601, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-0 rotate: false - xy: 2601, 219 + xy: 2635, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-1 rotate: false - xy: 2635, 253 + xy: 2635, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-2 rotate: false - xy: 2635, 219 + xy: 2669, 253 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-1-3 rotate: false - xy: 2669, 253 + xy: 2669, 219 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-0 rotate: false - xy: 2669, 219 + xy: 3672, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-1 rotate: false - xy: 3672, 223 + xy: 3182, 223 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-2 rotate: false - xy: 3182, 223 + xy: 3216, 227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-2-3 rotate: false - xy: 3216, 227 + xy: 3250, 227 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-0 rotate: false - xy: 3250, 227 + xy: 3284, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-1 rotate: false - xy: 3284, 231 + xy: 3318, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-2 rotate: false - xy: 3318, 231 + xy: 3352, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-3-3 rotate: false - xy: 3352, 231 + xy: 3386, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-0 rotate: false - xy: 3386, 231 + xy: 3420, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-1 rotate: false - xy: 3420, 231 + xy: 3454, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-2 rotate: false - xy: 3454, 231 + xy: 3488, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conveyor-4-3 rotate: false - xy: 3488, 231 + xy: 3522, 231 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor rotate: false - xy: 3579, 948 + xy: 3647, 982 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-0 rotate: false - xy: 3647, 982 + xy: 3579, 914 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-1 rotate: false - xy: 3579, 914 + xy: 3613, 948 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-2 rotate: false - xy: 3613, 948 + xy: 3579, 880 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-edge rotate: false - xy: 3579, 880 + xy: 3613, 914 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plastanium-conveyor-stack rotate: false - xy: 3613, 914 + xy: 3647, 948 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-1 rotate: false - xy: 3953, 869 + xy: 4055, 929 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-2 rotate: false - xy: 3987, 903 + xy: 4055, 895 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-3 rotate: false - xy: 4021, 937 + xy: 4055, 861 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-0 rotate: false - xy: 3987, 869 + xy: 4055, 827 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-1 rotate: false - xy: 4021, 903 + xy: 3749, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-2 rotate: false - xy: 4021, 869 + xy: 3783, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-1-3 rotate: false - xy: 3953, 835 + xy: 3817, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-0 rotate: false - xy: 3987, 835 + xy: 3851, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-1 rotate: false - xy: 4021, 835 + xy: 3885, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-2 rotate: false - xy: 4055, 929 + xy: 3919, 803 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-2-3 rotate: false - xy: 4055, 895 + xy: 3953, 801 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-0 rotate: false - xy: 4055, 861 + xy: 3987, 801 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-1 rotate: false - xy: 4055, 827 + xy: 4021, 801 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-2 rotate: false - xy: 3749, 803 + xy: 4055, 793 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-3-3 rotate: false - xy: 3783, 803 + xy: 3611, 778 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-0 rotate: false - xy: 3817, 803 + xy: 3645, 778 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-1 rotate: false - xy: 3851, 803 + xy: 3611, 744 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-2 rotate: false - xy: 3885, 803 + xy: 3645, 744 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-4-3 rotate: false - xy: 3919, 803 + xy: 3681, 783 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cross rotate: false - xy: 3921, 973 + xy: 3955, 971 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -657,14 +657,14 @@ distributor index: -1 inverted-sorter rotate: false - xy: 3284, 197 + xy: 3318, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 junction rotate: false - xy: 2574, 11 + xy: 2608, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -706,7 +706,7 @@ mass-driver-base index: -1 overflow-gate rotate: false - xy: 3522, 163 + xy: 3556, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -734,49 +734,49 @@ payload-router-over index: -1 phase-conveyor rotate: false - xy: 3692, 155 + xy: 3658, 121 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-arrow rotate: false - xy: 3658, 121 + xy: 3692, 121 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-bridge rotate: false - xy: 3692, 121 + xy: 3579, 982 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conveyor-end rotate: false - xy: 3579, 982 + xy: 3613, 982 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 router rotate: false - xy: 3681, 817 + xy: 3715, 817 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sorter rotate: false - xy: 3783, 837 + xy: 3919, 905 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 underflow-gate rotate: false - xy: 4021, 801 + xy: 3713, 749 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -972,14 +972,14 @@ block-select index: -1 conduit-liquid rotate: false - xy: 2533, 249 + xy: 2533, 215 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 message rotate: false - xy: 3488, 163 + xy: 3522, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -993,161 +993,161 @@ place-arrow index: -1 bridge-conduit rotate: false - xy: 3853, 1007 + xy: 3887, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-arrow rotate: false - xy: 3887, 1007 + xy: 3921, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conveyor-arrow rotate: false - xy: 3887, 1007 + xy: 3921, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-bridge rotate: false - xy: 3921, 1007 + xy: 3955, 1005 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 bridge-conduit-end rotate: false - xy: 3955, 1005 + xy: 3989, 1005 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom rotate: false - xy: 2465, 245 + xy: 2465, 211 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-0 rotate: false - xy: 2465, 211 + xy: 2499, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-1 rotate: false - xy: 2499, 249 + xy: 2499, 215 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-2 rotate: false - xy: 2499, 215 + xy: 2533, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-3 rotate: false - xy: 2499, 215 + xy: 2533, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-bottom-4 rotate: false - xy: 2499, 215 + xy: 2533, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-0 rotate: false - xy: 2533, 215 + xy: 2566, 283 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-1 rotate: false - xy: 2566, 283 + xy: 2567, 249 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-2 rotate: false - xy: 2567, 249 + xy: 2567, 215 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-3 rotate: false - xy: 2567, 215 + xy: 2600, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-3 rotate: false - xy: 2567, 215 + xy: 2600, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 conduit-top-4 rotate: false - xy: 2600, 287 + xy: 2634, 287 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-junction rotate: false - xy: 2608, 117 + xy: 2608, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate rotate: false - xy: 2608, 49 + xy: 2642, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-overflow-gate-top rotate: false - xy: 2642, 83 + xy: 2608, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-bottom rotate: false - xy: 2608, 15 + xy: 2642, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-liquid rotate: false - xy: 2642, 49 + xy: 2642, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-router-top rotate: false - xy: 2642, 15 + xy: 2676, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1175,126 +1175,126 @@ liquid-tank-top index: -1 mechanical-pump rotate: false - xy: 3318, 163 + xy: 3352, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 mechanical-pump-liquid rotate: false - xy: 3352, 163 + xy: 3386, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 rotary-pump-liquid rotate: false - xy: 3352, 163 + xy: 3386, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 thermal-pump-liquid rotate: false - xy: 3352, 163 + xy: 3386, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit rotate: false - xy: 3556, 147 + xy: 3590, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-arrow rotate: false - xy: 3590, 147 + xy: 3624, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-bridge rotate: false - xy: 3624, 147 + xy: 3658, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-conduit-end rotate: false - xy: 3658, 155 + xy: 3692, 155 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-cap rotate: false - xy: 3579, 846 + xy: 3613, 880 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-0 rotate: false - xy: 3613, 880 + xy: 3647, 914 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-1 rotate: false - xy: 3647, 914 + xy: 3579, 812 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-2 rotate: false - xy: 3579, 812 + xy: 3613, 846 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-3 rotate: false - xy: 3613, 846 + xy: 3647, 880 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 plated-conduit-top-4 rotate: false - xy: 3647, 880 + xy: 3613, 812 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-0 rotate: false - xy: 3681, 953 + xy: 3715, 953 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-1 rotate: false - xy: 3715, 953 + xy: 3681, 919 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-2 rotate: false - xy: 3681, 919 + xy: 3715, 919 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulse-conduit-top-4 rotate: false - xy: 3715, 919 + xy: 3681, 885 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1343,14 +1343,14 @@ battery-top index: -1 combustion-generator rotate: false - xy: 2498, 283 + xy: 2532, 283 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 combustion-generator-top rotate: false - xy: 2532, 283 + xy: 2465, 245 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1378,28 +1378,28 @@ differential-generator-top index: -1 diode rotate: false - xy: 3955, 971 + xy: 3989, 971 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 diode-arrow rotate: false - xy: 3989, 971 + xy: 4023, 971 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator rotate: false - xy: 2669, 185 + xy: 3216, 193 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 illuminator-top rotate: false - xy: 3216, 193 + xy: 3250, 193 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1455,7 +1455,7 @@ impact-reactor-plasma-3 index: -1 power-node rotate: false - xy: 3613, 812 + xy: 3647, 846 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1469,14 +1469,14 @@ power-node-large index: -1 power-source rotate: false - xy: 3647, 846 + xy: 3647, 812 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 power-void rotate: false - xy: 3647, 812 + xy: 3681, 953 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1490,14 +1490,7 @@ rtg-generator index: -1 rtg-generator-top rotate: false - xy: 3715, 817 - size: 32, 32 - orig: 32, 32 - offset: 0, 0 - index: -1 -solar-panel - rotate: false - xy: 3885, 939 + xy: 3749, 939 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1509,6 +1502,69 @@ solar-panel-large orig: 96, 96 offset: 0, 0 index: -1 +solar-panel + rotate: false + xy: 3783, 837 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-0 + rotate: false + xy: 3817, 871 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-1 + rotate: false + xy: 3851, 905 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-2 + rotate: false + xy: 3919, 939 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-3 + rotate: false + xy: 3817, 837 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-4 + rotate: false + xy: 3851, 871 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-5 + rotate: false + xy: 3885, 905 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-6 + rotate: false + xy: 3851, 837 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-7 + rotate: false + xy: 3885, 871 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 surge-tower rotate: false xy: 2362, 521 @@ -1686,21 +1742,21 @@ graphite-press index: -1 incinerator rotate: false - xy: 3250, 193 + xy: 3284, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-source rotate: false - xy: 2472, 11 + xy: 2506, 45 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-void rotate: false - xy: 2574, 45 + xy: 2574, 11 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1728,21 +1784,21 @@ silicon-smelter-top index: -1 liquid-source rotate: false - xy: 2676, 83 + xy: 2676, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-void rotate: false - xy: 2676, 49 + xy: 2676, 15 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 melter rotate: false - xy: 3386, 163 + xy: 3420, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1791,14 +1847,14 @@ plastanium-compressor-top index: -1 pulverizer rotate: false - xy: 3681, 885 + xy: 3715, 885 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 pulverizer-rotator rotate: false - xy: 3715, 885 + xy: 3681, 851 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -1910,28 +1966,28 @@ rock2 index: -1 sand-boulder1 rotate: false - xy: 3749, 939 + xy: 3783, 939 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 sand-boulder2 rotate: false - xy: 3783, 939 + xy: 3749, 905 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder1 rotate: false - xy: 3749, 837 + xy: 3783, 871 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 shale-boulder2 rotate: false - xy: 3783, 871 + xy: 3817, 905 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2036,14 +2092,14 @@ core-shard-team index: -1 unloader rotate: false - xy: 4055, 793 + xy: 3749, 769 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 unloader-center rotate: false - xy: 3611, 778 + xy: 3783, 769 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2141,7 +2197,7 @@ salvo-panel-right index: -1 scorch-heat rotate: false - xy: 3817, 939 + xy: 3749, 871 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2295,7 +2351,7 @@ rally-point index: -1 repair-point-base rotate: false - xy: 3715, 851 + xy: 3681, 817 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2323,7 +2379,7 @@ tetrative-reconstructor-top index: -1 copper-wall rotate: false - xy: 3522, 231 + xy: 3672, 189 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2337,7 +2393,7 @@ copper-wall-large index: -1 door rotate: false - xy: 4023, 971 + xy: 4057, 963 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2358,14 +2414,14 @@ door-large-open index: -1 door-open rotate: false - xy: 4057, 963 + xy: 2601, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 phase-wall rotate: false - xy: 3613, 982 + xy: 3579, 948 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2379,7 +2435,7 @@ phase-wall-large index: -1 plastanium-wall rotate: false - xy: 3647, 948 + xy: 3579, 846 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2442,35 +2498,35 @@ scrap-wall-large4 index: -1 scrap-wall2 rotate: false - xy: 3749, 871 + xy: 3783, 905 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall3 rotate: false - xy: 3783, 905 + xy: 3851, 939 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall4 rotate: false - xy: 3851, 939 + xy: 3749, 837 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 scrap-wall5 rotate: false - xy: 3851, 939 + xy: 3749, 837 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 surge-wall rotate: false - xy: 3953, 903 + xy: 3987, 835 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2484,7 +2540,7 @@ surge-wall-large index: -1 thorium-wall rotate: false - xy: 3987, 937 + xy: 4021, 835 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2505,7 +2561,7 @@ thruster index: -1 titanium-wall rotate: false - xy: 3953, 801 + xy: 3715, 783 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -2547,7 +2603,7 @@ circle-end index: -1 circle-mid rotate: false - xy: 4089, 762 + xy: 3651, 543 size: 1, 199 orig: 1, 199 offset: 0, 0 @@ -2659,7 +2715,7 @@ transfer index: -1 transfer-arrow rotate: false - xy: 3987, 801 + xy: 3679, 749 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3385,6 +3441,20 @@ block-snowrocks-full orig: 32, 32 offset: 0, 0 index: -1 +block-solar-panel-full + rotate: false + xy: 3887, 1041 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 +solar-panel-icon + rotate: false + xy: 3887, 1041 + size: 32, 32 + orig: 32, 32 + offset: 0, 0 + index: -1 block-spectre-full rotate: false xy: 1809, 1273 @@ -3401,7 +3471,7 @@ block-spore-cluster-full index: -1 block-spore-moss-full rotate: false - xy: 3887, 1041 + xy: 3921, 1075 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3415,14 +3485,14 @@ block-spore-press-full index: -1 block-sporerocks-full rotate: false - xy: 3921, 1075 + xy: 3921, 1041 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 block-stone-full rotate: false - xy: 3921, 1041 + xy: 3751, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3436,7 +3506,7 @@ block-swarmer-full index: -1 block-tendrils-full rotate: false - xy: 3751, 1007 + xy: 3785, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3450,14 +3520,14 @@ block-tetrative-reconstructor-full index: -1 block-titanium-conveyor-full rotate: false - xy: 3785, 1007 + xy: 3819, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 titanium-conveyor-0-0 rotate: false - xy: 3785, 1007 + xy: 3819, 1007 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -3527,56 +3597,56 @@ core-shard-team-sharded index: -1 cracks-1-0 rotate: false - xy: 3672, 189 + xy: 3683, 987 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-1 rotate: false - xy: 3683, 987 + xy: 3717, 987 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-2 rotate: false - xy: 3717, 987 + xy: 3751, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-3 rotate: false - xy: 3751, 973 + xy: 3785, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-4 rotate: false - xy: 3785, 973 + xy: 3819, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-5 rotate: false - xy: 3819, 973 + xy: 3853, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-6 rotate: false - xy: 3853, 973 + xy: 3887, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 cracks-1-7 rotate: false - xy: 3887, 973 + xy: 3921, 973 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4080,7 +4150,7 @@ dagger-wreck2 index: -1 duo rotate: false - xy: 2601, 185 + xy: 2635, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4178,7 +4248,7 @@ gamma-wreck2 index: -1 hail rotate: false - xy: 2635, 185 + xy: 2669, 185 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4213,7 +4283,7 @@ item-blast-compound-large index: -1 item-blast-compound-medium rotate: false - xy: 3352, 197 + xy: 3386, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4248,7 +4318,7 @@ item-coal-large index: -1 item-coal-medium rotate: false - xy: 3420, 197 + xy: 3454, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4283,7 +4353,7 @@ item-copper-large index: -1 item-copper-medium rotate: false - xy: 3488, 197 + xy: 3522, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4318,7 +4388,7 @@ item-graphite-large index: -1 item-graphite-medium rotate: false - xy: 3556, 215 + xy: 3590, 215 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4353,7 +4423,7 @@ item-lead-large index: -1 item-lead-medium rotate: false - xy: 3556, 181 + xy: 3590, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4388,7 +4458,7 @@ item-metaglass-large index: -1 item-metaglass-medium rotate: false - xy: 3624, 181 + xy: 2499, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4423,7 +4493,7 @@ item-phase-fabric-large index: -1 item-phase-fabric-medium rotate: false - xy: 2533, 181 + xy: 2567, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4458,7 +4528,7 @@ item-plastanium-large index: -1 item-plastanium-medium rotate: false - xy: 2472, 147 + xy: 2472, 113 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4493,7 +4563,7 @@ item-pyratite-large index: -1 item-pyratite-medium rotate: false - xy: 2506, 147 + xy: 2472, 79 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4528,7 +4598,7 @@ item-sand-large index: -1 item-sand-medium rotate: false - xy: 2506, 113 + xy: 2540, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4563,7 +4633,7 @@ item-scrap-large index: -1 item-scrap-medium rotate: false - xy: 2472, 45 + xy: 2506, 79 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4598,7 +4668,7 @@ item-silicon-large index: -1 item-silicon-medium rotate: false - xy: 2540, 113 + xy: 2472, 11 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4633,7 +4703,7 @@ item-spore-pod-large index: -1 item-spore-pod-medium rotate: false - xy: 2540, 79 + xy: 2506, 11 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4668,7 +4738,7 @@ item-surge-alloy-large index: -1 item-surge-alloy-medium rotate: false - xy: 2540, 45 + xy: 2540, 11 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4703,7 +4773,7 @@ item-thorium-large index: -1 item-thorium-medium rotate: false - xy: 2574, 147 + xy: 2574, 113 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4738,7 +4808,7 @@ item-titanium-large index: -1 item-titanium-medium rotate: false - xy: 2574, 79 + xy: 2574, 45 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4780,7 +4850,7 @@ liquid-cryofluid-large index: -1 liquid-cryofluid-medium rotate: false - xy: 2642, 151 + xy: 2608, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4815,7 +4885,7 @@ liquid-oil-large index: -1 liquid-oil-medium rotate: false - xy: 2642, 117 + xy: 2608, 49 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -4850,14 +4920,14 @@ liquid-slag-large index: -1 liquid-slag-medium rotate: false - xy: 2676, 117 + xy: 2676, 83 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag-small rotate: false - xy: 3645, 786 + xy: 3817, 777 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -4885,14 +4955,14 @@ liquid-water-large index: -1 liquid-water-medium rotate: false - xy: 3284, 163 + xy: 3318, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water-small rotate: false - xy: 3611, 752 + xy: 3259, 1705 size: 24, 24 orig: 24, 24 offset: 0, 0 @@ -5081,7 +5151,7 @@ quasar-wreck2 index: -1 repair-point rotate: false - xy: 3681, 851 + xy: 3715, 851 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5109,7 +5179,7 @@ scatter index: -1 scorch rotate: false - xy: 3749, 905 + xy: 3817, 939 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5151,84 +5221,84 @@ spiroct-wreck2 index: -1 splash-0 rotate: false - xy: 3851, 905 + xy: 3919, 871 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-1 rotate: false - xy: 3919, 939 + xy: 3919, 837 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-10 rotate: false - xy: 3919, 837 + xy: 4021, 869 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-11 rotate: false - xy: 3953, 937 + xy: 3953, 835 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-2 rotate: false - xy: 3817, 837 + xy: 3953, 937 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-3 rotate: false - xy: 3851, 871 + xy: 3953, 903 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-4 rotate: false - xy: 3885, 905 + xy: 3987, 937 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-5 rotate: false - xy: 3851, 837 + xy: 3953, 869 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-6 rotate: false - xy: 3885, 871 + xy: 3987, 903 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-7 rotate: false - xy: 3919, 905 + xy: 4021, 937 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-8 rotate: false - xy: 3885, 837 + xy: 3987, 869 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 splash-9 rotate: false - xy: 3919, 871 + xy: 4021, 903 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -5417,140 +5487,140 @@ zenith-wreck2 index: -1 item-blast-compound rotate: false - xy: 3318, 197 + xy: 3352, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-coal rotate: false - xy: 3386, 197 + xy: 3420, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-copper rotate: false - xy: 3454, 197 + xy: 3488, 197 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-graphite rotate: false - xy: 3522, 197 + xy: 3556, 215 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-lead rotate: false - xy: 3590, 215 + xy: 3556, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-metaglass rotate: false - xy: 3590, 181 + xy: 3624, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-phase-fabric rotate: false - xy: 2499, 181 + xy: 2533, 181 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-plastanium rotate: false - xy: 2567, 181 + xy: 2472, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-pyratite rotate: false - xy: 2472, 113 + xy: 2506, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-sand rotate: false - xy: 2472, 79 + xy: 2506, 113 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-scrap rotate: false - xy: 2540, 147 + xy: 2472, 45 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-silicon rotate: false - xy: 2506, 79 + xy: 2540, 113 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-spore-pod rotate: false - xy: 2506, 45 + xy: 2540, 79 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-surge-alloy rotate: false - xy: 2506, 11 + xy: 2540, 45 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-thorium rotate: false - xy: 2540, 11 + xy: 2574, 147 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 item-titanium rotate: false - xy: 2574, 113 + xy: 2574, 79 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-cryofluid rotate: false - xy: 2608, 151 + xy: 2642, 151 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-oil rotate: false - xy: 2608, 83 + xy: 2642, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-slag rotate: false - xy: 2676, 151 + xy: 2676, 117 size: 32, 32 orig: 32, 32 offset: 0, 0 index: -1 liquid-water rotate: false - xy: 2676, 15 + xy: 3284, 163 size: 32, 32 orig: 32, 32 offset: 0, 0 @@ -6075,7 +6145,7 @@ spiroct-foot index: -1 spiroct-joint rotate: false - xy: 3817, 871 + xy: 3885, 837 size: 32, 32 orig: 32, 32 offset: 0, 0 diff --git a/core/assets/sprites/sprites.png b/core/assets/sprites/sprites.png index 5850b6cf32..4165f35eef 100644 Binary files a/core/assets/sprites/sprites.png and b/core/assets/sprites/sprites.png differ diff --git a/core/assets/sprites/sprites2.png b/core/assets/sprites/sprites2.png index 33652412a6..cf5cf3c43a 100644 Binary files a/core/assets/sprites/sprites2.png and b/core/assets/sprites/sprites2.png differ diff --git a/core/src/mindustry/content/Blocks.java b/core/src/mindustry/content/Blocks.java index 2b6d2be05e..84c200da04 100644 --- a/core/src/mindustry/content/Blocks.java +++ b/core/src/mindustry/content/Blocks.java @@ -1141,7 +1141,7 @@ public class Blocks implements ContentList{ itemDuration = 500f; }}; - solarPanel = new SolarGenerator("solar-panel"){{ + solarPanel = new SeamlessSolarGenerator("solar-panel"){{ requirements(Category.power, with(Items.lead, 10, Items.silicon, 15)); powerProduction = 0.06f; }}; @@ -1824,10 +1824,10 @@ public class Blocks implements ContentList{ }}; illuminator = new LightBlock("illuminator"){{ - requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 4, Items.silicon, 2)); + requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8)); brightness = 0.67f; - radius = 120f; - consumes.power(0.05f); + radius = 140f; + consumes.power(0.06f); }}; //endregion diff --git a/core/src/mindustry/content/UnitTypes.java b/core/src/mindustry/content/UnitTypes.java index e8f685b224..8b53a773c5 100644 --- a/core/src/mindustry/content/UnitTypes.java +++ b/core/src/mindustry/content/UnitTypes.java @@ -15,7 +15,7 @@ public class UnitTypes implements ContentList{ //region definitions //ground - public static @EntityDef({Unitc.class, Mechc.class}) UnitType mace, dagger, crawler, fortress, siegeArray, eradicator; + public static @EntityDef({Unitc.class, Mechc.class}) UnitType mace, dagger, crawler, fortress, vestige, cataclyst; //ground + builder public static @EntityDef({Unitc.class, Mechc.class, Builderc.class}) UnitType nova; @@ -304,7 +304,7 @@ public class UnitTypes implements ContentList{ immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting); legCount = 6; legLength = 13f; - legTrns = 0.7f; + legTrns = 0.8f; legMoveSpace = 1.4f; legBaseOffset = 2f; hovering = true; diff --git a/core/src/mindustry/core/Logic.java b/core/src/mindustry/core/Logic.java index ef09b2046d..82afbd483f 100644 --- a/core/src/mindustry/core/Logic.java +++ b/core/src/mindustry/core/Logic.java @@ -103,16 +103,16 @@ public class Logic implements ApplicationListener{ if(state.rules.sector.save != null && core != null){ //add produced items - //TODO move to recieved items + //TODO move to received items state.rules.sector.save.meta.secinfo.production.each((item, stat) -> { core.items.add(item, (int)(stat.mean * seconds)); }); - //add recieved items - state.rules.sector.getRecievedItems().each(stack -> core.items.add(stack.item, stack.amount)); + //add received items + state.rules.sector.getReceivedItems().each(stack -> core.items.add(stack.item, stack.amount)); - //clear recieved items - state.rules.sector.setRecievedItems(new Seq<>()); + //clear received items + state.rules.sector.setReceivedItems(new Seq<>()); //validation for(Item item : content.items()){ @@ -274,15 +274,15 @@ public class Logic implements ApplicationListener{ Time.runTask(30f, () -> { Sector origin = sector.save.meta.secinfo.origin; if(origin != null){ - Seq stacks = origin.getRecievedItems(); + Seq stacks = origin.getReceivedItems(); //add up all items into list for(Building entity : state.teams.playerCores()){ entity.items.each((item, amount) -> ItemStack.insert(stacks, item, amount)); } - //save recieved items - origin.setRecievedItems(stacks); + //save received items + origin.setReceivedItems(stacks); } //remove all the cores diff --git a/core/src/mindustry/core/NetClient.java b/core/src/mindustry/core/NetClient.java index 25d80e6194..1cbfb8bfb7 100644 --- a/core/src/mindustry/core/NetClient.java +++ b/core/src/mindustry/core/NetClient.java @@ -67,9 +67,7 @@ public class NetClient implements ApplicationListener{ ui.loadfrag.setButton(() -> { ui.loadfrag.hide(); - connecting = false; - quiet = true; - net.disconnect(); + disconnectQuietly(); }); ConnectPacket c = new ConnectPacket(); @@ -118,7 +116,7 @@ public class NetClient implements ApplicationListener{ }); net.handleClient(WorldStream.class, data -> { - Log.info("Recieved world data: @ bytes.", data.stream.available()); + Log.info("Received world data: @ bytes.", data.stream.available()); NetworkIO.loadWorld(new InflaterInputStream(data.stream)); finishConnecting(); @@ -172,7 +170,7 @@ public class NetClient implements ApplicationListener{ } } - //called when a server recieves a chat message from a player + //called when a server receives a chat message from a player @Remote(called = Loc.server, targets = Loc.client) public static void sendChatMessage(Player player, String message){ if(message.length() > maxTextLength){ @@ -353,9 +351,8 @@ public class NetClient implements ApplicationListener{ ui.loadfrag.setButton(() -> { ui.loadfrag.hide(); - netClient.connecting = false; - netClient.quiet = true; - net.disconnect(); + + netClient.disconnectQuietly(); }); } @@ -506,7 +503,7 @@ public class NetClient implements ApplicationListener{ net.setClientLoaded(true); Core.app.post(Call::connectConfirm); Time.runTask(40f, platform::updateRPC); - Core.app.post(() -> ui.loadfrag.hide()); + Core.app.post(ui.loadfrag::hide); } private void reset(){ @@ -529,6 +526,7 @@ public class NetClient implements ApplicationListener{ /** Disconnects, resetting state to the menu. */ public void disconnectQuietly(){ quiet = true; + connecting = false; net.disconnect(); } diff --git a/core/src/mindustry/core/NetServer.java b/core/src/mindustry/core/NetServer.java index d3c3f38cff..5c6b403773 100644 --- a/core/src/mindustry/core/NetServer.java +++ b/core/src/mindustry/core/NetServer.java @@ -540,11 +540,11 @@ public class NetServer implements ApplicationListener{ float viewX, float viewY, float viewWidth, float viewHeight ){ NetConnection con = player.con; - if(con == null || snapshotID < con.lastRecievedClientSnapshot) return; + if(con == null || snapshotID < con.lastReceivedClientSnapshot) return; boolean verifyPosition = !player.dead() && netServer.admins.getStrict() && headless; - if(con.lastRecievedClientTime == 0) con.lastRecievedClientTime = Time.millis() - 16; + if(con.lastReceivedClientTime == 0) con.lastReceivedClientTime = Time.millis() - 16; con.viewX = viewX; con.viewY = viewY; @@ -606,7 +606,7 @@ public class NetServer implements ApplicationListener{ Unit unit = player.unit(); unit.vel.set(xVelocity, yVelocity).limit(unit.type().speed); - long elapsed = Time.timeSinceMillis(con.lastRecievedClientTime); + long elapsed = Time.timeSinceMillis(con.lastReceivedClientTime); float maxSpeed = player.unit().type().speed; float maxMove = elapsed / 1000f * 60f * maxSpeed * 1.1f; @@ -663,8 +663,8 @@ public class NetServer implements ApplicationListener{ player.y = y; } - con.lastRecievedClientSnapshot = snapshotID; - con.lastRecievedClientTime = Time.millis(); + con.lastReceivedClientSnapshot = snapshotID; + con.lastReceivedClientTime = Time.millis(); } @Remote(targets = Loc.client, called = Loc.server) diff --git a/core/src/mindustry/entities/bullet/MassDriverBolt.java b/core/src/mindustry/entities/bullet/MassDriverBolt.java index 61c6d4c2bc..70d3c6de9b 100644 --- a/core/src/mindustry/entities/bullet/MassDriverBolt.java +++ b/core/src/mindustry/entities/bullet/MassDriverBolt.java @@ -73,7 +73,7 @@ public class MassDriverBolt extends BulletType{ //if on course and it's in range of the target if(Math.abs(dst1 + dst2 - baseDst) < 4f && dst2 <= hitDst){ intersect = true; - } //else, bullet has gone off course, does not get recieved. + } //else, bullet has gone off course, does not get received. if(intersect){ data.to.handlePayload(b, data); diff --git a/core/src/mindustry/entities/comp/PayloadComp.java b/core/src/mindustry/entities/comp/PayloadComp.java index c655180e30..09e978cedd 100644 --- a/core/src/mindustry/entities/comp/PayloadComp.java +++ b/core/src/mindustry/entities/comp/PayloadComp.java @@ -68,7 +68,6 @@ abstract class PayloadComp implements Posc, Rotc{ } boolean dropUnit(UnitPayload payload){ - //TODO create an effect here and/or make them be at a lower elevation Unit u = payload.unit; //can't drop ground units diff --git a/core/src/mindustry/game/DefaultWaves.java b/core/src/mindustry/game/DefaultWaves.java index f99049f41a..b7388040f5 100644 --- a/core/src/mindustry/game/DefaultWaves.java +++ b/core/src/mindustry/game/DefaultWaves.java @@ -157,14 +157,14 @@ public class DefaultWaves{ spacing = 3; }}, - new SpawnGroup(UnitTypes.siegeArray){{ + new SpawnGroup(UnitTypes.vestige){{ begin = 41; unitAmount = 1; unitScaling = 1; spacing = 30; }}, - new SpawnGroup(UnitTypes.eradicator){{ + new SpawnGroup(UnitTypes.cataclyst){{ begin = 81; unitAmount = 1; unitScaling = 1; diff --git a/core/src/mindustry/game/EventType.java b/core/src/mindustry/game/EventType.java index 8915a6917b..e3915e4b45 100644 --- a/core/src/mindustry/game/EventType.java +++ b/core/src/mindustry/game/EventType.java @@ -48,9 +48,9 @@ public class EventType{ public static class TurnEvent{} /** Called when the player places a line, mobile or desktop.*/ public static class LineConfirmEvent{} - /** Called when a turret recieves ammo, but only when the tutorial is active! */ + /** Called when a turret receives ammo, but only when the tutorial is active! */ public static class TurretAmmoDeliverEvent{} - /** Called when a core recieves ammo, but only when the tutorial is active! */ + /** Called when a core receives ammo, but only when the tutorial is active! */ public static class CoreItemDeliverEvent{} /** Called when the player opens info for a specific block.*/ public static class BlockInfoEvent{} @@ -307,7 +307,7 @@ public class EventType{ } } - /** Called after connecting; when a player recieves world data and is ready to play.*/ + /** Called after connecting; when a player receives world data and is ready to play.*/ public static class PlayerJoin{ public final Player player; diff --git a/core/src/mindustry/game/SectorInfo.java b/core/src/mindustry/game/SectorInfo.java index b9d7502e6a..9101bfc4b4 100644 --- a/core/src/mindustry/game/SectorInfo.java +++ b/core/src/mindustry/game/SectorInfo.java @@ -140,14 +140,14 @@ public class SectorInfo{ } } - /** @return the items in this sector now, taking into account production and items recieved. */ + /** @return the items in this sector now, taking into account production and items received. */ public ObjectIntMap getCurrentItems(Sector sector){ ObjectIntMap map = new ObjectIntMap<>(); map.putAll(coreItems); long seconds = sector.getSecondsPassed(); production.each((item, stat) -> map.increment(item, (int)(stat.mean * seconds))); - //increment based on recieved items - sector.getRecievedItems().each(stack -> map.increment(stack.item, stack.amount)); + //increment based on received items + sector.getReceivedItems().each(stack -> map.increment(stack.item, stack.amount)); return map; } diff --git a/core/src/mindustry/net/Administration.java b/core/src/mindustry/net/Administration.java index a24610fe3f..0c3b64f512 100644 --- a/core/src/mindustry/net/Administration.java +++ b/core/src/mindustry/net/Administration.java @@ -567,7 +567,10 @@ public class Administration{ socketInputAddress("The bind address for socket input.", "localhost", () -> Events.fire(Trigger.socketConfigChanged)), allowCustomClients("Whether custom clients are allowed to connect.", !headless, "allow-custom"), whitelist("Whether the whitelist is used.", false), - motd("The message displayed to people on connection.", "off"); + motd("The message displayed to people on connection.", "off"), + autosave("Whether the periodically save the map when playing.", false), + autosaveAmount("The maximum amount of autosaves. Older ones get replaced.", 10), + autosaveSpacing("Spacing between autosaves in seconds.", 60 * 5); public static final Config[] all = values(); diff --git a/core/src/mindustry/net/ArcNetProvider.java b/core/src/mindustry/net/ArcNetProvider.java index ea30157955..eff7c3e95d 100644 --- a/core/src/mindustry/net/ArcNetProvider.java +++ b/core/src/mindustry/net/ArcNetProvider.java @@ -85,7 +85,7 @@ public class ArcNetProvider implements NetProvider{ Connect c = new Connect(); c.addressTCP = ip; - Log.debug("&bRecieved connection: @", c.addressTCP); + Log.debug("&bReceived connection: @", c.addressTCP); connections.add(kn); Core.app.post(() -> net.handleServerReceived(kn, c)); diff --git a/core/src/mindustry/net/Net.java b/core/src/mindustry/net/Net.java index 5101d237ee..cd25c44143 100644 --- a/core/src/mindustry/net/Net.java +++ b/core/src/mindustry/net/Net.java @@ -85,7 +85,7 @@ public class Net{ } /** - * Sets the client loaded status, or whether it will recieve normal packets from the server. + * Sets the client loaded status, or whether it will receive normal packets from the server. */ public void setClientLoaded(boolean loaded){ clientLoaded = loaded; @@ -205,21 +205,21 @@ public class Net{ } /** - * Registers a client listener for when an object is recieved. + * Registers a client listener for when an object is received. */ public void handleClient(Class type, Cons listener){ clientListeners.put(type, listener); } /** - * Registers a server listener for when an object is recieved. + * Registers a server listener for when an object is received. */ public void handleServer(Class type, Cons2 listener){ serverListeners.put(type, (Cons2)listener); } /** - * Call to handle a packet being recieved for the client. + * Call to handle a packet being received for the client. */ public void handleClientReceived(Object object){ @@ -231,7 +231,7 @@ public class Net{ StreamChunk c = (StreamChunk)object; StreamBuilder builder = streams.get(c.id); if(builder == null){ - throw new RuntimeException("Recieved stream chunk without a StreamBegin beforehand!"); + throw new RuntimeException("Received stream chunk without a StreamBegin beforehand!"); } builder.add(c.data); if(builder.isDone()){ @@ -256,7 +256,7 @@ public class Net{ } /** - * Call to handle a packet being recieved for the server. + * Call to handle a packet being received for the server. */ public void handleServerReceived(NetConnection connection, Object object){ diff --git a/core/src/mindustry/net/NetConnection.java b/core/src/mindustry/net/NetConnection.java index d3f6ff051f..2cad7d40e8 100644 --- a/core/src/mindustry/net/NetConnection.java +++ b/core/src/mindustry/net/NetConnection.java @@ -22,10 +22,10 @@ public abstract class NetConnection{ public @Nullable Unitc lastUnit; public Vec2 lastPosition = new Vec2(); - /** ID of last recieved client snapshot. */ - public int lastRecievedClientSnapshot = -1; - /** Timestamp of last recieved snapshot. */ - public long lastRecievedClientTime; + /** ID of last received client snapshot. */ + public int lastReceivedClientSnapshot = -1; + /** Timestamp of last received snapshot. */ + public long lastReceivedClientTime; /** Build requests that have been recently rejected. This is cleared every snapshot. */ public Seq rejectedRequests = new Seq<>(); diff --git a/core/src/mindustry/type/Sector.java b/core/src/mindustry/type/Sector.java index f694358e9b..579b687417 100644 --- a/core/src/mindustry/type/Sector.java +++ b/core/src/mindustry/type/Sector.java @@ -148,12 +148,12 @@ public class Sector{ } //TODO this should be stored in a more efficient structure, and be updated each turn - public Seq getRecievedItems(){ - return Core.settings.getJson(key("recieved-items"), Seq.class, ItemStack.class, Seq::new); + public Seq getReceivedItems(){ + return Core.settings.getJson(key("received-items"), Seq.class, ItemStack.class, Seq::new); } - public void setRecievedItems(Seq stacks){ - Core.settings.putJson(key("recieved-items"), ItemStack.class, stacks); + public void setReceivedItems(Seq stacks){ + Core.settings.putJson(key("received-items"), ItemStack.class, stacks); } //TODO these methods should maybe move somewhere else and/or be contained in a data object diff --git a/core/src/mindustry/type/UnitType.java b/core/src/mindustry/type/UnitType.java index 59389341ca..23f24cb952 100644 --- a/core/src/mindustry/type/UnitType.java +++ b/core/src/mindustry/type/UnitType.java @@ -32,6 +32,7 @@ public class UnitType extends UnlockableContent{ public static final float shadowTX = -12, shadowTY = -13, shadowColor = Color.toFloatBits(0, 0, 0, 0.22f); private static final Vec2 legOffset = new Vec2(); + //TODO document public boolean flying; public @NonNull Prov constructor; public @NonNull Prov defaultController = () -> !flying ? new GroundAI() : new FlyingAI(); @@ -48,14 +49,12 @@ public class UnitType extends UnlockableContent{ public int payloadCapacity = 1; public int commandLimit = 24; public float visualElevation = -1f; - public float deathShake = 2f; public boolean allowLegStep = false; public boolean hovering = false; public Effect fallEffect = Fx.fallSmoke; public Effect fallThrusterEffect = Fx.fallSmoke; public Seq abilities = new Seq<>(); - //TODO document public int legCount = 4, legGroupSize = 2; public float legLength = 10f, legSpeed = 0.1f, legTrns = 1f, legBaseOffset = 0f, legMoveSpace = 1f, legExtension = 0, legPairOffset = 0, legLengthScl = 1f, kinematicScl = 1f, maxStretch = 1.75f; public float legSplashDamage = 0f, legSplashRange = 5; diff --git a/core/src/mindustry/world/blocks/campaign/LaunchPad.java b/core/src/mindustry/world/blocks/campaign/LaunchPad.java index 9bf9d6bc2b..b67589769e 100644 --- a/core/src/mindustry/world/blocks/campaign/LaunchPad.java +++ b/core/src/mindustry/world/blocks/campaign/LaunchPad.java @@ -177,7 +177,7 @@ public class LaunchPad extends Block{ //actually launch the items upon removal if(team() == state.rules.defaultTeam && state.secinfo.origin != null){ - Seq dest = state.secinfo.origin.getRecievedItems(); + Seq dest = state.secinfo.origin.getReceivedItems(); for(ItemStack stack : stacks){ ItemStack sto = dest.find(i -> i.item == stack.item); @@ -192,7 +192,7 @@ public class LaunchPad extends Block{ Events.fire(new LaunchItemEvent(stack)); } - state.secinfo.origin.setRecievedItems(dest); + state.secinfo.origin.setReceivedItems(dest); } } } diff --git a/core/src/mindustry/world/blocks/distribution/MassDriver.java b/core/src/mindustry/world/blocks/distribution/MassDriver.java index af243a54e9..eeb4b639a5 100644 --- a/core/src/mindustry/world/blocks/distribution/MassDriver.java +++ b/core/src/mindustry/world/blocks/distribution/MassDriver.java @@ -29,7 +29,7 @@ public class MassDriver extends Block{ public float bulletLifetime = 200f; public Effect shootEffect = Fx.shootBig2; public Effect smokeEffect = Fx.shootBigSmoke2; - public Effect recieveEffect = Fx.mineBig; + public Effect receiveEffect = Fx.mineBig; public float shake = 3f; public @Load("@-base") TextureRegion baseRegion; @@ -281,7 +281,7 @@ public class MassDriver extends Block{ } Effects.shake(shake, shake, this); - recieveEffect.at(bullet); + receiveEffect.at(bullet); reload = 1f; bullet.remove(); diff --git a/core/src/mindustry/world/blocks/power/LightBlock.java b/core/src/mindustry/world/blocks/power/LightBlock.java index a4a6642bc7..8c5dbb2237 100644 --- a/core/src/mindustry/world/blocks/power/LightBlock.java +++ b/core/src/mindustry/world/blocks/power/LightBlock.java @@ -2,6 +2,7 @@ package mindustry.world.blocks.power; import arc.graphics.*; import arc.graphics.g2d.*; +import arc.math.*; import arc.scene.ui.layout.*; import arc.util.*; import arc.util.io.*; @@ -29,6 +30,7 @@ public class LightBlock extends Block{ public class LightEntity extends Building{ public int color = Pal.accent.rgba(); + public float smoothTime = 1f; @Override public void draw(){ @@ -40,6 +42,11 @@ public class LightBlock extends Block{ Draw.blend(); } + @Override + public void updateTile(){ + smoothTime = Mathf.lerpDelta(smoothTime, timeScale, 0.1f); + } + @Override public void buildConfiguration(Table table){ table.button(Icon.pencil, () -> { @@ -50,7 +57,7 @@ public class LightBlock extends Block{ @Override public void drawLight(){ - Drawf.light(team, x, y, radius, Tmp.c1.set(color), brightness * efficiency()); + Drawf.light(team, x, y, radius * Math.min(smoothTime, 2f), Tmp.c1.set(color), brightness * efficiency()); } @Override diff --git a/core/src/mindustry/world/blocks/power/SeamlessSolarGenerator.java b/core/src/mindustry/world/blocks/power/SeamlessSolarGenerator.java new file mode 100644 index 0000000000..ffe00bdcf9 --- /dev/null +++ b/core/src/mindustry/world/blocks/power/SeamlessSolarGenerator.java @@ -0,0 +1,64 @@ +package mindustry.world.blocks.power; + +import arc.*; +import arc.graphics.g2d.*; +import mindustry.annotations.Annotations.*; +import mindustry.world.*; + +import static mindustry.Vars.*; + +public class SeamlessSolarGenerator extends SolarGenerator{ + @Load(value = "@-#", length = 8) + public TextureRegion[] edges; + + public SeamlessSolarGenerator(String name){ + super(name); + } + + @Override + protected TextureRegion[] icons(){ + return new TextureRegion[]{Core.atlas.find(name + "-icon")}; + } + + public class SeamlessSolarGeneratorEntity extends SolarGeneratorEntity{ + boolean up, right, down, left; + + @Override + public void onProximityUpdate(){ + super.onProximityUpdate(); + + up = foreign(tile, 0, 1); + right = foreign(tile, 1, 0); + down = foreign(tile, 0, -1); + left = foreign(tile, -1, 0); + } + + @Override + public void draw(){ + super.draw(); + + // outside edges + if(up) Draw.rect(edges[0], x, y); + if(right) Draw.rect(edges[2], x, y); + if(down) Draw.rect(edges[4], x, y); + if(left) Draw.rect(edges[6], x, y); + + // outside corners + if(up && right) Draw.rect(edges[1], x, y); + if(right && down) Draw.rect(edges[3], x, y); + if(down && left) Draw.rect(edges[5], x, y); + if(left && up) Draw.rect(edges[7], x, y); + + //inside corners + if(!right && !down && foreign(tile, 1, -1)) Draw.rect(edges[7], x + (tilesize * 0.75f), y - (tilesize * 0.75f)); + if(!left && !down && foreign(tile, -1, -1)) Draw.rect(edges[1], x - (tilesize * 0.75f), y - (tilesize * 0.75f)); + if(!left && !up && foreign(tile, -1, 1)) Draw.rect(edges[3], x - (tilesize * 0.75f), y + (tilesize * 0.75f)); + if(!right && !up && foreign(tile, 1, 1)) Draw.rect(edges[5], x + (tilesize * 0.75f), y + (tilesize * 0.75f)); + } + + private boolean foreign(Tile tile, int dx, int dy){ + Tile other = tile.getNearby(dx, dy); + return other == null || other.block() != SeamlessSolarGenerator.this; + } + } +} \ No newline at end of file diff --git a/core/src/mindustry/world/modules/LiquidModule.java b/core/src/mindustry/world/modules/LiquidModule.java index 067278df04..b746b57b0c 100644 --- a/core/src/mindustry/world/modules/LiquidModule.java +++ b/core/src/mindustry/world/modules/LiquidModule.java @@ -51,7 +51,7 @@ public class LiquidModule extends BlockModule{ return total; } - /** Last recieved or loaded liquid. Only valid for liquid modules with 1 type of liquid. */ + /** Last received or loaded liquid. Only valid for liquid modules with 1 type of liquid. */ public Liquid current(){ return current; } diff --git a/desktop/src/mindustry/desktop/steam/SNet.java b/desktop/src/mindustry/desktop/steam/SNet.java index b18272e652..ab12f0718e 100644 --- a/desktop/src/mindustry/desktop/steam/SNet.java +++ b/desktop/src/mindustry/desktop/steam/SNet.java @@ -67,7 +67,7 @@ public class SNet implements SteamNetworkingCallback, SteamMatchmakingCallback, Connect c = new Connect(); c.addressTCP = "steam:" + from.getAccountID(); - Log.info("&bRecieved STEAM connection: @", c.addressTCP); + Log.info("&bReceived STEAM connection: @", c.addressTCP); steamConnections.put(from.getAccountID(), con); connections.add(con); diff --git a/desktop/src/mindustry/desktop/steam/SStats.java b/desktop/src/mindustry/desktop/steam/SStats.java index 48b24c45ee..60b85912b0 100644 --- a/desktop/src/mindustry/desktop/steam/SStats.java +++ b/desktop/src/mindustry/desktop/steam/SStats.java @@ -283,9 +283,9 @@ public class SStats implements SteamUserStatsCallback{ registerEvents(); if(result != SteamResult.OK){ - Log.err("Failed to recieve steam stats: @", result); + Log.err("Failed to receive steam stats: @", result); }else{ - Log.info("Recieved steam stats."); + Log.info("Received steam stats."); } } diff --git a/gradle.properties b/gradle.properties index 8c888693d8..cb44cb50d0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ org.gradle.daemon=true org.gradle.jvmargs=-Xms256m -Xmx1024m -archash=1fa9e78b9a7a83090ec942fbc3c3ff6d8a25ebcf +archash=df3ffe3e71df04b9aa08dac4b3fc0193dca4515b diff --git a/server/src/mindustry/server/ServerControl.java b/server/src/mindustry/server/ServerControl.java index 48460aa431..863e7763f8 100644 --- a/server/src/mindustry/server/ServerControl.java +++ b/server/src/mindustry/server/ServerControl.java @@ -39,7 +39,7 @@ public class ServerControl implements ApplicationListener{ private static final int maxLogLength = 1024 * 512; protected static String[] tags = {"&lc&fb[D]", "&lg&fb[I]", "&ly&fb[W]", "&lr&fb[E]", ""}; - protected static DateTimeFormatter dateTime = DateTimeFormatter.ofPattern("MM-dd-yyyy | HH:mm:ss"); + protected static DateTimeFormatter dateTime = DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss"); private final CommandHandler handler = new CommandHandler(""); private final Fi logFolder = Core.settings.getDataDirectory().child("logs/"); @@ -49,6 +49,7 @@ public class ServerControl implements ApplicationListener{ private Task lastTask; private Gamemode lastMode = Gamemode.survival; private @Nullable Map nextMapOverride; + private Interval autosaveCount = new Interval(); private Thread socketThread; private ServerSocket serverSocket; @@ -153,12 +154,52 @@ public class ServerControl implements ApplicationListener{ } }); + //reset autosave on world load + Events.on(WorldLoadEvent.class, e -> { + autosaveCount.reset(0, Config.autosaveSpacing.num() * 60); + }); + + //autosave periodically + Events.on(Trigger.update, () -> { + if(state.isPlaying() && Config.autosave.bool()){ + if(autosaveCount.get(Config.autosaveSpacing.num() * 60)){ + int max = Config.autosaveAmount.num(); + + //use map file name to make sure it can be saved + String mapName = (state.map.file == null ? "unknown" : state.map.file.nameWithoutExtension()).replace(" ", "_"); + String date = dateTime.format(LocalDateTime.now()).replace(" ", "_"); + + Seq autosaves = saveDirectory.findAll(f -> f.name().startsWith("auto_")); + autosaves.sort(f -> -f.lastModified()); + + //delete older saves + if(autosaves.size >= max){ + for(int i = max - 1; i < autosaves.size; i++){ + autosaves.get(i).delete(); + } + } + + String fileName = "auto_" + mapName + "_" + date + "." + saveExtension; + Fi file = saveDirectory.child(fileName); + info("&lbAutosaving..."); + + try{ + SaveIO.save(file); + info("&lbAutosave completed."); + }catch(Throwable e){ + err("Autosave failed.", e); + } + } + } + }); + Events.on(Trigger.socketConfigChanged, () -> { toggleSocket(false); toggleSocket(Config.socketInput.bool()); }); Events.on(PlayEvent.class, e -> { + try{ JsonValue value = JsonIO.json().fromJson(null, Core.settings.getString("globalrules")); JsonIO.json().readFields(state.rules, value); @@ -948,7 +989,7 @@ public class ServerControl implements ApplicationListener{ serverSocket.bind(new InetSocketAddress(Config.socketInputAddress.string(), Config.socketInputPort.num())); while(true){ Socket client = serverSocket.accept(); - info("&lmRecieved command socket connection: &lb@", serverSocket.getLocalSocketAddress()); + info("&lmReceived command socket connection: &lb@", serverSocket.getLocalSocketAddress()); BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); socketOutput = new PrintWriter(client.getOutputStream(), true); String line;