Merge branch 'master' into formatting

This commit is contained in:
Anuken
2020-10-30 09:26:51 -04:00
committed by GitHub
44 changed files with 508 additions and 382 deletions
+1 -1
View File
@@ -17,7 +17,7 @@ buildscript{
} }
dependencies{ dependencies{
classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.8' classpath 'com.mobidevelop.robovm:robovm-gradle-plugin:2.3.11'
classpath "com.github.anuken:packr:-SNAPSHOT" classpath "com.github.anuken:packr:-SNAPSHOT"
classpath "com.github.Anuken.Arc:packer:$arcHash" classpath "com.github.Anuken.Arc:packer:$arcHash"
classpath "com.github.Anuken.Arc:arc-core:$arcHash" classpath "com.github.Anuken.Arc:arc-core:$arcHash"
+1 -1
View File
@@ -463,7 +463,7 @@ load = Load
save = Save save = Save
fps = FPS: {0} fps = FPS: {0}
ping = Ping: {0}ms ping = Ping: {0}ms
language.restart = Please restart your game for the language settings to take effect. language.restart = Restart your game for the language settings to take effect.
settings = Settings settings = Settings
tutorial = Tutorial tutorial = Tutorial
tutorial.retake = Re-Take Tutorial tutorial.retake = Re-Take Tutorial
+120 -83
View File
@@ -8,8 +8,8 @@ link.github.description = Código fuente del juego
link.changelog.description = Lista de actualizaciones link.changelog.description = Lista de actualizaciones
link.dev-builds.description = Versiones en desarrollo inestables link.dev-builds.description = Versiones en desarrollo inestables
link.trello.description = Tablero de Trello oficial para las características planificadas link.trello.description = Tablero de Trello oficial para las características planificadas
link.itch.io.description = itch.io es la página donde podes descargar las versiones para PC y web link.itch.io.description = itch.io es la página donde podes descargar las versiones para PC y Servidor
link.google-play.description = Página de Mindustry en Google Play Store link.google-play.description = Ficha en la Google Play Store
link.f-droid.description = Página de F-Droid del juego link.f-droid.description = Página de F-Droid del juego
link.wiki.description = Wiki oficial de Mindustry link.wiki.description = Wiki oficial de Mindustry
link.suggestions.description = Sugerir nuevas funciones link.suggestions.description = Sugerir nuevas funciones
@@ -20,8 +20,10 @@ gameover = Tu núcleo ha sido destruido.
gameover.pvp = ¡El equipo[accent] {0}[] ha ganado! gameover.pvp = ¡El equipo[accent] {0}[] ha ganado!
highscore = [accent]¡Nuevo récord de puntuación! highscore = [accent]¡Nuevo récord de puntuación!
copied = Copiado. copied = Copiado.
indev.popup = La [accent]v6[] esta actualmente en la [accent]alpha[].\n[lightgray]Esto significa:[]\n[scarlet]- La campaña no esta completada[]\n- Falta contenido\n - La mayoría de la [scarlet]Inteligencia Artificial[] no funciona correctamente\n- Muchas unidades no están terminadas\n- Todo lo que ves puede ser modificado o eliminado en la versión final.\n\nReporta bugs o crasheos en [accent]Github[].
indev.notready = Esta parte del juego no esta lista aún. indev.popup = [accent]v6[] esta actualmente en [accent]alpha[].\n[lightgray]Esto significa que:[]\n[scarlet]- El modo de campaña no esta totalmente acabado[]\n-Falta contenido dentro del juego\n - Mucha de la [scarlet]AI de enemigos[] no funciona totalmente\n- Algunas unidades todavia no estan acabadas\n- Todo lo que ves es probable que sea cambiado o removido.\n\nReporta bugs o crasheos en [accent]Github[].
indev.notready = Esta parte del juego no esta lista todavia.
load.sound = Sonidos load.sound = Sonidos
load.map = Mapas load.map = Mapas
@@ -125,9 +127,11 @@ mod.enable = Activar
mod.requiresrestart = El juego se cerrará para aplicar los mods. mod.requiresrestart = El juego se cerrará para aplicar los mods.
mod.reloadrequired = [scarlet]Se requiere actualizar mod.reloadrequired = [scarlet]Se requiere actualizar
mod.import = Importar mod mod.import = Importar mod
mod.import.file = Importar archivo mod.import.file = Importar archivo
mod.import.github = Importar Mod de Github mod.import.github = Importar Mod de Github
mod.jarwarn = [scarlet]Los mods JAR pueden ser inseguros.[]\nAsegúrate de que los descargaste de una fuente segura! mod.jarwarn = [scarlet]Los mods JAR pueden ser inseguros.[]\nAsegúrate de que los descargaste de una fuente segura!
mod.item.remove = Este objeto es parte del[accent] '{0}'[] mod. Para eliminarlo, desinstala ese mod. mod.item.remove = Este objeto es parte del[accent] '{0}'[] mod. Para eliminarlo, desinstala ese mod.
mod.remove.confirm = Este mod va a ser eliminado.\n¿Quieres continuar? mod.remove.confirm = Este mod va a ser eliminado.\n¿Quieres continuar?
mod.author = [lightgray]Autor:[] {0} mod.author = [lightgray]Autor:[] {0}
@@ -148,7 +152,7 @@ techtree = Árbol de Tecnologías
research.list = [lightgray]investigación: research.list = [lightgray]investigación:
research = Investigación research = Investigación
researched = [lightgray]{0} investigado. researched = [lightgray]{0} investigado.
research.progress = {0}% complete research.progress = {0}% completado
players = {0} jugadores online players = {0} jugadores online
players.single = {0} jugador online players.single = {0} jugador online
players.search = buscar players.search = buscar
@@ -278,7 +282,9 @@ quit.confirm.tutorial = ¿Estás seguro de que sabes qué estas haciendo?\nSe pu
loading = [accent]Cargando... loading = [accent]Cargando...
reloading = [accent]Recargando mods... reloading = [accent]Recargando mods...
saving = [accent]Guardando... saving = [accent]Guardando...
respawn = [accent][[{0}][] para reaparecer en el núcleo
respawn = [accent][[{0}][] para respawnear en el nucleo
cancelbuilding = [accent][[{0}][] para limpiar el plan cancelbuilding = [accent][[{0}][] para limpiar el plan
selectschematic = [accent][[{0}][] para seleccionar+copiar selectschematic = [accent][[{0}][] para seleccionar+copiar
pausebuilding = [accent][[{0}][] para pausar la construcción pausebuilding = [accent][[{0}][] para pausar la construcción
@@ -350,10 +356,12 @@ waves.invalid = Oleadas inválidaas en el portapapeles.
waves.copied = Oleadas copiadas. waves.copied = Oleadas copiadas.
waves.none = No hay enemigos definidos.\nNótese que las listas de oleadas vacías se sustituirán por la lista por defecto. waves.none = No hay enemigos definidos.\nNótese que las listas de oleadas vacías se sustituirán por la lista por defecto.
wavemode.counts = Cuentas wavemode.counts = Cuentas
wavemode.totals = Totales wavemode.totals = Totales
wavemode.health = Salud wavemode.health = Salud
editor.default = [lightgray]<Por defecto> editor.default = [lightgray]<Por defecto>
details = Detalles... details = Detalles...
edit = Editar... edit = Editar...
@@ -512,7 +520,8 @@ weather.rain.name = Lluvia
weather.snow.name = Nieve weather.snow.name = Nieve
weather.sandstorm.name = Tormenta de arena weather.sandstorm.name = Tormenta de arena
weather.sporestorm.name = Tormenta de esporas weather.sporestorm.name = Tormenta de esporas
weather.fog.name = Fog
weather.fog.name = Niebla
sectors.unexplored = [lightgray]No explorado sectors.unexplored = [lightgray]No explorado
sectors.resources = Recursos: sectors.resources = Recursos:
@@ -523,12 +532,12 @@ sectors.launch = Lanzar
sectors.select = Elegir sectors.select = Elegir
sectors.nonelaunch = [lightgray]ninguno (sun) sectors.nonelaunch = [lightgray]ninguno (sun)
sectors.rename = Rename Sector sectors.rename = Rename Sector
sector.missingresources = [scarlet]Insufficient Core Resources sector.missingresources = [scarlet]Insuficientes recursos
planet.serpulo.name = Serpulo planet.serpulo.name = Serpulo
planet.sun.name = Sun planet.sun.name = Sol
sector.groundZero.name = Terreno Zero sector.groundZero.name = Zona de impacto
sector.craters.name = Los Cráteres sector.craters.name = Los Cráteres
sector.frozenForest.name = Bosque Congelado sector.frozenForest.name = Bosque Congelado
sector.ruinousShores.name = Costas Ruinosas sector.ruinousShores.name = Costas Ruinosas
@@ -540,17 +549,18 @@ sector.tarFields.name = Campos de alquitrán
sector.saltFlats.name = Llanuras de sal sector.saltFlats.name = Llanuras de sal
sector.fungalPass.name = Paso de hongos sector.fungalPass.name = Paso de hongos
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.
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.groundZero.description = La ubicación óptima para empezar una vez más. Baja amenaza enemiga. Pocos recursos.\nReúna la mayor cantidad de plomo y cobre posible.\nSiga adelante.
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.frozenForest.description = Incluso aquí, más cerca de las montañas, las esporas se han extendido. Las gélidas temperaturas no pueden contenerlos para siempre.\n\nComienza la aventura hacia el poder. Construye generadores de combustión. Aprenda a usar reparadores.
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.saltFlats.description = En las afueras del desierto se encuentran las Salinas. Se pueden encontrar pocos recursos en esta ubicación.\n\nEl enemigo ha erigido un complejo de almacenamiento de recursos aquí. Erradicar su núcleo. No dejes nada en pie.
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.craters.description = El agua se ha acumulado en este cráter, reliquia de las viejas guerras. Recupere el área. Recoge arena. Fundir metavidrio. Bombee agua para enfriar torretas y taladros.
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.ruinousShores.description = Más allá de los páramos, está la costa. Una vez, esta ubicación albergó una serie de defensa costera. No queda mucho. Solo las estructuras de defensa más básicas han quedado ilesas, todo lo demás reducido a chatarra.\nContinúe la expansión hacia afuera. Redescubra la tecnología.
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.stainedMountains.description = Más tierra adentro se encuentran las montañas, pero no contaminadas por esporas.\nExtraiga el abundante titanio de esta zona. Aprenda como usarlo.\n\nLa presencia enemiga es mayor aquí. No les des tiempo para enviar sus unidades más fuertes.
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.overgrowth.description = Esta área está cubierta de maleza, más cerca de la fuente de las esporas.\nEl enemigo ha establecido un puesto de avanzada aquí. Construye unidades Titán. Destruyelo. Recupera lo que se perdió.
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.tarFields.description = Las afueras de una zona de producción de petróleo, entre la montaña y el desierto. Una de las pocas áreas con reservas de alquitrán utilizables.\nAunque está abandonada, esta zona tiene algunas fuerzas enemigas peligrosas cerca. No los subestimes.\n\n[lightgray]Investigue la tecnología de procesamiento de aceite si es posible.
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.desolateRift.description = Una zona extremadamente peligrosa. Recursos abundantes, pero poco espacio. Alto riesgo de destrucción. Vete lo antes posible. No se deje engañar por el gran intervalo entre los ataques enemigos.
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. sector.nuclearComplex.description = Antigua instalación de producción y procesamiento de torio, reducida a ruinas.\n[lightgray] Investiga el torio y sus múltiples usos.\n\nEl enemigo está presente aquí en gran número, constantemente en busca de atacantes.
sector.fungalPass.description = Un área de transición entre montañas altas y tierras bajas plagadas de esporas. Aquí se encuentra una pequeña base de reconocimiento enemiga.\nDestroy it.\nUsa unidades Dagger y Crawler. Saca los dos núcleos de funcionamiento!
settings.language = Idioma settings.language = Idioma
settings.data = Datos del Juego settings.data = Datos del Juego
@@ -564,12 +574,14 @@ settings.graphics = Gráficos
settings.cleardata = Limpiar Datos del Juego... settings.cleardata = Limpiar Datos del Juego...
settings.clear.confirm = ¿Estas seguro de querer limpiar estos datos?\n¡Esta acción no puede deshacerse! settings.clear.confirm = ¿Estas seguro de querer limpiar estos datos?\n¡Esta acción no puede deshacerse!
settings.clearall.confirm = [scarlet]ADVERTENCIA![]\nEsto va a eliminar todos tus datos, incluyendo guardados, mapas, desbloqueos y atajos de teclado.\nUna vez presiones 'ok', el juego va a borrrar todos tus datos y saldrá del juego automáticamente. settings.clearall.confirm = [scarlet]ADVERTENCIA![]\nEsto va a eliminar todos tus datos, incluyendo guardados, mapas, desbloqueos y atajos de teclado.\nUna vez presiones 'ok', el juego va a borrrar todos tus datos y saldrá del juego automáticamente.
settings.clearsaves.confirm = Estas seguro de que quieres borrar tus partidas guardadas? settings.clearsaves.confirm = Estas seguro de que quieres borrar tus partidas guardadas?
settings.clearsaves = Limpiar partidas guardadas settings.clearsaves = Limpiar partidas guardadas
settings.clearresearch = Clear Research settings.clearresearch = Borrar descubrimientos
settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research? settings.clearresearch.confirm = Estas seguro?
settings.clearcampaignsaves = Clear Campaign Saves settings.clearcampaignsaves = Borrar Guardados de campaña
settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves? settings.clearcampaignsaves.confirm = Estas seguro de que quieres borrar tus partidas guardadas en el modo campaña?
paused = [accent] < Pausado > paused = [accent] < Pausado >
clear = Limpiar clear = Limpiar
banned = [scarlet]Baneado banned = [scarlet]Baneado
@@ -579,8 +591,9 @@ no = No
info.title = [accent]Información info.title = [accent]Información
error.title = [crimson]Un error ha ocurrido. error.title = [crimson]Un error ha ocurrido.
error.crashtitle = Un error ha ocurrido. error.crashtitle = Un error ha ocurrido.
unit.nobuild = [scarlet]La unidad no puede construir unit.nobuild = [scarlet]La unidad no puede construir
lastaccessed = [lightgray]Last Accessed: {0} lastaccessed = [lightgray]Anteriormente usado: {0}
block.unknown = [lightgray]??? block.unknown = [lightgray]???
stat.input = Entrada stat.input = Entrada
@@ -627,31 +640,32 @@ stat.ammo = Munición
stat.shieldhealth = Salud del escudo stat.shieldhealth = Salud del escudo
stat.cooldowntime = Tiempo de enfriamiento stat.cooldowntime = Tiempo de enfriamiento
stat.explosiveness = Explosiveness stat.explosiveness = Explosiveness
stat.basedeflectchance = Base Deflect Chance stat.basedeflectchance = Probabilidad de desvío base
stat.lightningchance = Lightning Chance stat.lightningchance = Probabilidad de rayo
stat.lightningdamage = Lightning Damage stat.lightningdamage = Daño por rayo
stat.flammability = Flammability stat.flammability = Inflamabilidad
stat.radioactivity = Radioactivity stat.radioactivity = Radiactividad
stat.heatcapacity = HeatCapacity stat.heatcapacity = HeatCapacity
stat.viscosity = Viscosity stat.viscosity = Viscosidad
stat.temperature = Temperature stat.temperature = Temperatura
stat.speed = Speed stat.speed = Velocidad
stat.buildspeed = Build Speed stat.buildspeed = Velocidad de construcción
stat.minespeed = Mine Speed stat.minespeed = Velocidad de la mina
stat.minetier = Mine Tier stat.minetier = Nivel de mina
stat.payloadcapacity = Payload Capacity stat.payloadcapacity = Capacidad de carga útil
stat.commandlimit = Command Limit stat.commandlimit = Límite de comando
stat.abilities = Abilities stat.abilities = Habilidades
ability.forcefield = Force Field skill.forcefield = Campo de fuerza
ability.repairfield = Repair Field skill.repairfield = Campo de reparación
ability.statusfield = Status Field skill.statusfield = Campo de estado
ability.unitspawn = {0} Factory skill.unitspawn = {0} Fábrica
ability.shieldregenfield = Shield Regen Field skill.shieldregenfield = Campo de regeneración del escudo
bar.drilltierreq = Se requiere un mejor taladro. bar.drilltierreq = Se requiere un mejor taladro.
bar.noresources = Recursos faltantes bar.noresources = Recursos faltantes
bar.corereq = Se requiere de un núcleo base bar.corereq = Se requiere de un núcleo base
bar.drillspeed = Velocidad del Taladro: {0}/s bar.drillspeed = Velocidad del Taladro: {0}/s
bar.pumpspeed = Velocidad de bombeado: {0}/s bar.pumpspeed = Velocidad de bombeado: {0}/s
bar.efficiency = Eficiencia: {0}% bar.efficiency = Eficiencia: {0}%
@@ -701,7 +715,9 @@ unit.persecond = /seg
unit.perminute = /min unit.perminute = /min
unit.timesspeed = x velocidad unit.timesspeed = x velocidad
unit.percent = % unit.percent = %
unit.shieldhealth = salud del escudo
unit.shieldhealth = Vida del escudo
unit.items = objetos unit.items = objetos
unit.thousands = k unit.thousands = k
unit.millions = M unit.millions = M
@@ -718,8 +734,10 @@ setting.shadows.name = Sombras
setting.blockreplace.name = Sugerir bloques al construir setting.blockreplace.name = Sugerir bloques al construir
setting.linear.name = Filtrado Lineal setting.linear.name = Filtrado Lineal
setting.hints.name = Pistas setting.hints.name = Pistas
setting.flow.name = Mostrar flujo de recursos[scarlet] (experimental)
setting.flow.name = Mostrar tasa de flujo de recursos[scarlet] (experimental)
setting.buildautopause.name = Auto-pausar construcción setting.buildautopause.name = Auto-pausar construcción
setting.animatedwater.name = Agua Animada setting.animatedwater.name = Agua Animada
setting.animatedshields.name = Escudos Animados setting.animatedshields.name = Escudos Animados
setting.antialias.name = Antialias[lightgray] (necesita un reinicio)[] setting.antialias.name = Antialias[lightgray] (necesita un reinicio)[]
@@ -753,13 +771,15 @@ setting.fullscreen.name = Pantalla Completa
setting.borderlesswindow.name = Ventana sin Bordes[lightgray] (podría requerir un reinicio) setting.borderlesswindow.name = Ventana sin Bordes[lightgray] (podría requerir un reinicio)
setting.fps.name = Mostrar FPS setting.fps.name = Mostrar FPS
setting.smoothcamera.name = Cámara suave setting.smoothcamera.name = Cámara suave
setting.vsync.name = Vsync (Limita los fps a los Hz de tu pantalla) setting.vsync.name = Vsync (Limita los fps a los Hz de tu pantalla)
setting.pixelate.name = Pixelar [lightgray](podría reducir el rendimiento) setting.pixelate.name = Pixelar [lightgray](podría reducir el rendimiento)
setting.minimap.name = Mostrar Minimapa setting.minimap.name = Mostrar Minimapa
setting.coreitems.name = Display Core Items (WIP) setting.coreitems.name = Mostrar elementos en el nucleo (WIP)
setting.position.name = Mostrar posición del jugador. setting.position.name = Mostrar posición del jugador.
setting.musicvol.name = Volumen de la Música setting.musicvol.name = Volumen de la Música
setting.atmosphere.name = Show Planet Atmosphere setting.atmosphere.name = Mostrar atmosfera del planeta
setting.ambientvol.name = Volumen del Ambiente setting.ambientvol.name = Volumen del Ambiente
setting.mutemusic.name = Silenciar Musica setting.mutemusic.name = Silenciar Musica
setting.sfxvol.name = Volumen de los efectos de sonido setting.sfxvol.name = Volumen de los efectos de sonido
@@ -799,8 +819,10 @@ keybind.toggle_block_status.name = Cambiar estado de los bloques
keybind.move_x.name = Mover x keybind.move_x.name = Mover x
keybind.move_y.name = Mover y keybind.move_y.name = Mover y
keybind.mouse_move.name = Seguír al ratón keybind.mouse_move.name = Seguír al ratón
keybind.pan.name = Vista Pan
keybind.boost.name = Potenciar keybind.pan.name = Vista panorámica
keybind.boost.name = Impulsar
keybind.schematic_select.name = Seleccionar región keybind.schematic_select.name = Seleccionar región
keybind.schematic_menu.name = Menu de esquemas keybind.schematic_menu.name = Menu de esquemas
keybind.schematic_flip_x.name = Girar esquemático desde X keybind.schematic_flip_x.name = Girar esquemático desde X
@@ -850,7 +872,7 @@ keybind.zoom_minimap.name = Zoom del minimapa
mode.help.title = Descripción de modos mode.help.title = Descripción de modos
mode.survival.name = Supervivencia mode.survival.name = Supervivencia
mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas. mode.survival.description = El modo normal. Recursos limitados y oleadas automáticas.
mode.sandbox.name = Caja de arena mode.sandbox.name = Arenero
mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas. mode.sandbox.description = Recursos ilimitados y sin temporizador para las oleadas.
mode.editor.name = Editor mode.editor.name = Editor
mode.pvp.name = JcJ mode.pvp.name = JcJ
@@ -865,10 +887,10 @@ rules.schematic = Schematics Allowed
rules.wavetimer = Temportzador de Oleadas rules.wavetimer = Temportzador de Oleadas
rules.waves = Oleadas rules.waves = Oleadas
rules.attack = Modo de Ataque rules.attack = Modo de Ataque
rules.buildai = AI Building rules.buildai = Construccion de la IA
rules.enemyCheat = Recursos infinitos de la IA rules.enemyCheat = Recursos infinitos de la IA
rules.blockhealthmultiplier = Multiplicador de salud de bloque rules.blockhealthmultiplier = Multiplicador de salud de bloque
rules.blockdamagemultiplier = Block Damage Multiplier rules.blockdamagemultiplier = Multiplicador de daño de bloque
rules.unitbuildspeedmultiplier = Multiplicador de velocidad de creación de unidades rules.unitbuildspeedmultiplier = Multiplicador de velocidad de creación de unidades
rules.unithealthmultiplier = Multiplicador de la vida de las unidades rules.unithealthmultiplier = Multiplicador de la vida de las unidades
rules.unitdamagemultiplier = Multiplicador del daño de unidades rules.unitdamagemultiplier = Multiplicador del daño de unidades
@@ -885,15 +907,17 @@ rules.title.resourcesbuilding = Recursos y Construcción
rules.title.enemy = Enemigos rules.title.enemy = Enemigos
rules.title.unit = Unidades rules.title.unit = Unidades
rules.title.experimental = Experimental rules.title.experimental = Experimental
rules.title.environment = Entorno rules.title.environment = Entorno
rules.lighting = Iluminación rules.lighting = Iluminación
rules.enemyLights = Enemy Lights rules.enemyLights = Luces enemigas
rules.fire = Fire rules.fire = Fuego
rules.explosions = Daño de explosiones de Bloques/Unidades rules.explosions = Daño de explosiones de Bloques/Unidades
rules.ambientlight = Iluminación ambiental rules.ambientlight = Iluminación ambiental
rules.weather = Clima rules.weather = Clima
rules.weather.frequency = Frecuencia: rules.weather.frequency = Frequencia:
rules.weather.duration = Duración: rules.weather.duration = Duracion:
content.item.name = Objetos content.item.name = Objetos
content.liquid.name = Líquidos content.liquid.name = Líquidos
@@ -921,6 +945,7 @@ liquid.slag.name = Fundido
liquid.oil.name = Petróleo liquid.oil.name = Petróleo
liquid.cryofluid.name = Criogénico liquid.cryofluid.name = Criogénico
unit.dagger.name = Daga unit.dagger.name = Daga
unit.mace.name = Mazo unit.mace.name = Mazo
unit.fortress.name = Fortaleza unit.fortress.name = Fortaleza
@@ -931,10 +956,10 @@ unit.crawler.name = Oruga
unit.atrax.name = Atrax unit.atrax.name = Atrax
unit.spiroct.name = Spiroct unit.spiroct.name = Spiroct
unit.arkyid.name = Arkyid unit.arkyid.name = Arkyid
unit.toxopid.name = Toxopid unit.toxopid.name = Toxopodo
unit.flare.name = Llama unit.flare.name = Bengala
unit.horizon.name = Horizonte unit.horizon.name = Horizonte
unit.zenith.name = Zenith unit.zenith.name = Cenit
unit.antumbra.name = Antumbra unit.antumbra.name = Antumbra
unit.eclipse.name = Eclipse unit.eclipse.name = Eclipse
unit.mono.name = Mono unit.mono.name = Mono
@@ -956,28 +981,34 @@ unit.vela.name = Vela
unit.corvus.name = Corvo unit.corvus.name = Corvo
block.resupply-point.name = Punto de reabastecimiento block.resupply-point.name = Punto de reabastecimiento
block.parallax.name = Parallax
block.parallax.name = Paralaje
block.cliff.name = Acantilado block.cliff.name = Acantilado
block.sand-boulder.name = Piedra de Arena block.sand-boulder.name = Piedra de Arena
block.grass.name = Hierba block.grass.name = Hierba
block.slag.name = Escoria block.slag.name = Escoria
block.space.name = Space block.space.name = Space
block.salt.name = Sal block.salt.name = Sal
block.salt-wall.name = Pared de sal
block.salt-wall.name = Muro de sal
block.pebbles.name = Guijarros block.pebbles.name = Guijarros
block.tendrils.name = Zarcillos block.tendrils.name = Zarcillos
block.sand-wall.name = Pared de arena block.sand-wall.name = Muro de arena
block.spore-pine.name = Pino de esporas block.spore-pine.name = Pino de esporas
block.spore-wall.name = Pared de esporas block.spore-wall.name = Muro de esporas
block.boulder.name = Boulder block.boulder.name = Roca
block.snow-boulder.name = Piedra nevosa block.snow-boulder.name = Roca de nieve
block.snow-pine.name = Pino de nieve block.snow-pine.name = Pino de nieve
block.shale.name = Pizarra block.shale.name = Pizarra
block.shale-boulder.name = Piedra de Pizarra block.shale-boulder.name = Piedra de Pizarra
block.moss.name = Musgo block.moss.name = Musgo
block.shrubs.name = Arbustos block.shrubs.name = Arbustos
block.spore-moss.name = Musgo de esporas block.spore-moss.name = Musgo de esporas
block.shale-wall.name = Pared de shale
block.shale-wall.name = Muro de pizarra
block.scrap-wall.name = Muro de Chatarra block.scrap-wall.name = Muro de Chatarra
block.scrap-wall-large.name = Muro de Chatarra grande block.scrap-wall-large.name = Muro de Chatarra grande
block.scrap-wall-huge.name = Muro de Chatarra muy grande block.scrap-wall-huge.name = Muro de Chatarra muy grande
@@ -1148,33 +1179,39 @@ block.launch-pad.name = Pad de Lanzamiento
block.launch-pad-large.name = Pad de Lanzamiento Grande block.launch-pad-large.name = Pad de Lanzamiento Grande
block.segment.name = Segmento block.segment.name = Segmento
block.command-center.name = Centro de comando block.command-center.name = Centro de comando
block.ground-factory.name = Fábrica terrestre block.ground-factory.name = Fábrica terrestre
block.air-factory.name = Fábrica aérea block.air-factory.name = Fábrica aérea
block.naval-factory.name = Fábrica naval block.naval-factory.name = Fábrica naval
block.additive-reconstructor.name = Reconstructor aditivo block.additive-reconstructor.name = Reconstructor aditivo
block.multiplicative-reconstructor.name = Reconstructor multiplicativo block.multiplicative-reconstructor.name = Reconstructor multiplicativo
block.exponential-reconstructor.name = Reconstructor exponencial block.exponential-reconstructor.name = Reconstructor exponencial
block.tetrative-reconstructor.name = Reconstructor tetrativo block.tetrative-reconstructor.name = Reconstructor tetrativo
block.payload-conveyor.name = Cinta de transporte masivo
block.payload-router.name = Enrutador Payload
block.disassembler.name = Desmontador
block.silicon-crucible.name = Crisol de Silicio
block.overdrive-dome.name = Domo de sobremarcha
block.switch.name = Cambio block.payload-conveyor.name = Transportador masivo
block.micro-processor.name = Micro Procesador block.payload-router.name = Enrutador de carga útil
block.logic-processor.name = Procesador Lógico block.disassembler.name = Desensamblador
block.hyper-processor.name = Hiper Procesador block.silicon-crucible.name = Crisol de silicio
block.logic-display.name = Pantalla Lógica block.overdrive-dome.name = Cupula de sobremarcha
block.large-logic-display.name = Pantalla Lógica grande
block.memory-cell.name = Célula de memoria block.switch.name = Interruptor
block.memory-bank.name = Memory Bank block.micro-processor.name = Micro Processador
block.logic-processor.name = Procesador lógico
block.hyper-processor.name = Hiperprocesador
block.logic-display.name = Pantalla lógica
block.large-logic-display.name = Gran pantalla lógica
block.memory-cell.name = Celda de memoria
block.memory-bank.name = Banco de memoria
team.blue.name = Azul team.blue.name = Azul
team.crux.name = rojo team.crux.name = rojo
team.sharded.name = naranja team.sharded.name = naranja
team.orange.name = Naranja team.orange.name = Naranja
team.derelict.name = Abandonado
team.derelict.name = derelicto
team.green.name = Verde team.green.name = Verde
team.purple.name = Púrpura team.purple.name = Púrpura
+211 -215
View File
@@ -12,7 +12,7 @@ link.itch.io.description = itch.io sayfası
link.google-play.description = Google Play mağaza sayfası link.google-play.description = Google Play mağaza sayfası
link.f-droid.description = F-Droid kataloğu link.f-droid.description = F-Droid kataloğu
link.wiki.description = Resmi Mindustry wikisi link.wiki.description = Resmi Mindustry wikisi
link.suggestions.description = Yeni özellikler öner link.suggestions.description = Yeni özellikler için öneride bulun
linkfail = Link açılamadı!\nURL kopyalandı. linkfail = Link açılamadı!\nURL kopyalandı.
screenshot = Ekran görüntüsü {0} konumuna kaydedildi screenshot = Ekran görüntüsü {0} konumuna kaydedildi
screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok. screenshot.invalid = Harita çok büyük, muhtemelen ekran görüntüsü için yeterli bellek yok.
@@ -20,8 +20,8 @@ gameover = Kaybettin
gameover.pvp = [accent] {0}[] Takımı kazandı! gameover.pvp = [accent] {0}[] Takımı kazandı!
highscore = [accent]Yeni rekor! highscore = [accent]Yeni rekor!
copied = Panoya Kopyalandı. copied = Panoya Kopyalandı.
indev.popup = [accent]v6[] şu anda [accent]beta aşamasındadır[].\n[lightgray]Bu demektir ki:[]\n[scarlet]- Mücadele modu tamamlanmamıştır[]\n- Müzik ve ses efektleri tamamlanmamıştır veya eksiktir\n- Gördüğün her şey değişime ya da kaldırılmaya açıktır.\n\nHataları ve çökmeleri [accent]Github[]'da bildir. indev.popup = [accent]v6[] şu anda [accent]beta sürümündedir[].\n[lightgray]Bu şu anlama geliyor:[]\n[scarlet]- Mücadele modu tamamlanmadı[]\n- İçerikler eksik\n- Çoğu [scarlet]birim yapay zekası[] düzgün çalışmayabilir\n- Bazı birimler tamamlanmadı\n- Gördüğünüz her şey değişebilir ve ya kaldırılabilir.\n\n[accent]Bir sorun fark edersen Github sayfamızdan bize bildir. []
indev.notready = Oyunun bu kısmı henüz hazır değil. indev.notready = Oyunun bu bölümü daha hazır değil.
load.sound = Sesler load.sound = Sesler
load.map = Haritalar load.map = Haritalar
@@ -29,11 +29,11 @@ load.image = Resimler
load.content = İçerik load.content = İçerik
load.system = Sistem load.system = Sistem
load.mod = Modlar load.mod = Modlar
load.scripts = Betikler load.scripts = Kodlar
be.update = Yeni bir erken erişim sürümü var: be.update = Yeni bir erken erişim sürümü var:
be.update.confirm = Yüklenip yeniden başlatılsın mı? be.update.confirm = İndirip yeniden başlatılsın mı?
be.updating = Yeni sürüm yükleniyor... be.updating = Yeni sürüm indiriliyor...
be.ignore = Hayır be.ignore = Hayır
be.noupdates = Yeni güncelleme bulunamadı. be.noupdates = Yeni güncelleme bulunamadı.
be.check = Güncellemeleri kontrol et be.check = Güncellemeleri kontrol et
@@ -41,38 +41,38 @@ be.check = Güncellemeleri kontrol et
schematic = Şema schematic = Şema
schematic.add = Şemayı Kaydet... schematic.add = Şemayı Kaydet...
schematics = Şemalar schematics = Şemalar
schematic.replace = Aynı isimde bir şema zaten var. Üzerine yazılsın mı? schematic.replace = Zaten aynı isimde bir tane şema var. Üzerine yazılsın mı?
schematic.exists = Aynı isimde bir şema zaten var. schematic.exists = Zaten bu isimde şema var.
schematic.import = Şema İçeri Aktar... schematic.import = Şemayı İçeri Aktar...
schematic.exportfile = Dışa Aktar schematic.exportfile = Dışa Aktar
schematic.importfile = İçe Aktar schematic.importfile = İçe Aktar
schematic.browseworkshop = Atölyeyi incele schematic.browseworkshop = Atölyeyi incele
schematic.copy = Panoya Kopyala schematic.copy = Panoya Kopyala
schematic.copy.import = Panodan İçeri Aktar schematic.copy.import = Panodan İçeri Aktar
schematic.shareworkshop = Atölyede Kaydet schematic.shareworkshop = Atölyede paylaş
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Şemayı döndür schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Şemayı döndür
schematic.saved = Şema Kaydedildi. schematic.saved = Şema Kaydedildi.
schematic.delete.confirm = Bu şema tamamen yok edilecek. schematic.delete.confirm = Bu şema tamamen silinecek.
schematic.rename = Şemayı yeniden adlandır schematic.rename = Şemayı yeniden adlandır
schematic.info = {0}x{1}, {2} blok schematic.info = {0}x{1}, {2} blok
schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server. schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server.
stat.wave = Yenilen Dalgalar:[accent] {0} stat.wave = Bozguna Uğratılan Dalgalar:[accent] {0}
stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0} stat.enemiesDestroyed = Yok Edilen Düşmanlar:[accent] {0}
stat.built = İnşa Edilen Yapılar:[accent] {0} stat.built = İnşa Edilen Yapılar:[accent] {0}
stat.destroyed = Yok Edilen Yapılar:[accent] {0} stat.destroyed = Yok Edilen Yapılar:[accent] {0}
stat.deconstructed = Yıkılan Yapılar:[accent] {0} stat.deconstructed = Yıkılan Yapılar:[accent] {0}
stat.delivered = Gönderilen Kaynaklar: stat.delivered = Gönderilen Kaynaklar:
stat.playtime = Oynama Süresi:[accent] {0} stat.playtime = [accent] {0}
stat.rank = Rütbe: [accent]{0} stat.rank = Rütbe: [accent]{0}
globalitems = [accent]Toplanan Kaynaklar globalitems = [accent]Evrensel eşyalar
map.delete = "[accent]{0}[]" haritasını silmek istediğine emin misin? map.delete = "[accent]{0}[]" haritasını silmek istediğine emin misin?
level.highscore = Rekor: [accent]{0} level.highscore = Rekor: [accent]{0}
level.select = Seviye Seçimi level.select = Seviye Seçimi
level.mode = Oyun Modu: level.mode = Oyun Modu:
coreattack = < Merkez saldırı altında! > coreattack = < Merkez saldırı altında! >
nearpoint = [[ [scarlet]İNİŞ PİSTİNDEN AYRIL[] ]\nimha tehlikesi nearpoint = [[ [scarlet]İNİŞ ALANINDAN AYRIL![] ]\nİmha tehlikesi.
database = Çekirdek Veritabanı database = Çekirdek Veritabanı
savegame = Oyunu Kaydet savegame = Oyunu Kaydet
loadgame = Oyunu Yükle loadgame = Oyunu Yükle
@@ -83,7 +83,7 @@ none = <yok>
minimap = Harita minimap = Harita
position = Pozisyon position = Pozisyon
close = Kapat close = Kapat
website = Web sitesi website = İnterbet sitesi
quit = Çık quit = Çık
save.quit = Kaydet & Çık save.quit = Kaydet & Çık
maps = Haritalar maps = Haritalar
@@ -100,47 +100,48 @@ committingchanges = Değişiklikler Uygulanıyor
done = Bitti done = Bitti
feature.unsupported = Cihazınızda bu özellik desteklenmemektedir. feature.unsupported = Cihazınızda bu özellik desteklenmemektedir.
mods.alphainfo = Modların alfa aşamasında olduğunu ve [scarlet]oldukça hatalı olabileceklerini[] unutmayın.\nBulduğunuz sorunları Mindustry GitHub'ı veya Discord'una bildirin. mods.alphainfo = Modların Alpha aşamasında olduğunu ve [scarlet]hatalar barındırabileceğini[] unutmayın.\nBulduğunuz sorunları Mindustry GitHub'ı veya Discord'una bildirin.
mods = Modlar mods = Modlar
mods.none = [lightgray]Hiç mod bulunamadı! mods.none = [lightgray]Hiç mod bulunamadı!
mods.guide = Mod Rehberi mods.guide = Mod Rehberi
mods.report = Hata bildir mods.report = Hata bildir
mods.openfolder = Mod klasörünü aç mods.openfolder = Mod klasörünü aç
mods.reload = Yeniden Yükle mods.reload = Tekrar yükle
mods.reloadexit = Modları yeniden yüklemek için oyun kapanacak. mods.reloadexit = Oyun modları yüklemek için şimdi yeniden başlatılacak.
mod.display = [gray]Mod:[orange] {0} mod.display = [gray]Mod:[orange] {0}
mod.enabled = [lightgray]Etkin mod.enabled = [lightgray]Etkin
mod.disabled = [scarlet]Devre Dışı mod.disabled = [scarlet]Devre Dışı
mod.disable = Devre Dışı Bırak mod.disable = Devre Dışı Bırak
mod.content = İçerik: mod.content = İçerik:
mod.delete.error = Mod silinemiyor. Dosya kullanımda olabilir. mod.delete.error = Mod silinemiyor. Dosya kullanımda olabilir.
mod.requiresversion = [scarlet]Gereken en düşük oyun versiyonu: [accent]{0} mod.requiresversion = [scarlet]Gereken en düşük oyun sürümü: [accent]{0}
mod.outdated = [scarlet]V6 ile uyumlu değil (minGameVersion: 105 yok) mod.outdated = [scarlet]V6 ile uyumlu değil (no minGameVersion: 105)
mod.missingdependencies = [scarlet]Bu modun çalışması için gereken modlar: {0} mod.missingdependencies = [scarlet]Bu modun çalışması için gereken modlar: {0}
mod.erroredcontent = [scarlet]İçerik hatası. mod.erroredcontent = [scarlet]İçerik hatası.
mod.errors = İçerik yüklenirken bir hata oluştu. mod.errors = İçerik yüklenirken bir hata oluştu.
mod.noerrorplay = [scarlet]Hatalı modlarınız var.[] Oynamadan önce bu modları devre dışı bırakın veya dosyadaki hataları düzeltin. mod.noerrorplay = [scarlet]Hatalı modlar var.[] Oynamadan önce bu modları devre dışı bırakın veya moddaki hataları düzeltin.
mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli olan modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların indirilmesi gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır. mod.nowdisabled = [scarlet]'{0}' modunun çalışması için gerekli modlardan bazıları bulunamadı:[accent] {1}\n[lightgray]Önce bu modların olması gerekmektedir.\nBu mod otomatik olarak devre dışı bırakılacaktır.
mod.enable = Etkinleştir mod.enable = Etkinleştir
mod.requiresrestart = Oyun mod değişikliklerini uygulamak için kapatılacak. mod.requiresrestart = Oyun modların değişikliklerini uygulamak için kapatılacak.
mod.reloadrequired = [scarlet]Yeniden Yükleme Gerekli mod.reloadrequired = [scarlet]Yeniden Yükleme Gerekli
mod.import = Mod İçeri Aktar mod.import = Modu İçeri Aktar
mod.import.file = Dosya İçeri Aktar mod.import.file = Dosyaları İçeri Aktar
mod.import.github = GitHub Modu İçeri Aktar mod.import.github = GitHub Modunu İçeri Aktar
mod.jarwarn = [scarlet]Jar modları doğası gereği güvenli değildir.[]\nBu modu güvenilir bir kaynaktan içeri aktardığına emin ol! mod.jarwarn = [scarlet]JAR modları doğası gereğiyle güvenli değiller.[]\nModları güvenli bbir kaynaktan indirdiğine emin ol!
mod.item.remove = Bu eşya[accent] '{0}'[] modunun bir parçası. Kaldırmak için modu silebilirsiniz. mod.item.remove = [accent] '{0}'[] modunun bir parçası. Kaldırmak için modu silmelisiniz.
mod.remove.confirm = Bu mod silinecek. mod.remove.confirm = Bu mod silinecek.
mod.author = [lightgray]Yayıncı:[] {0} mod.author = [lightgray]Yayıncı:[] {0}
mod.missing = Bu kayıt yakın zamanda güncellediğiniz ya da artık yüklü olmayan modlar içermekte. Kayıt bozulmaları yaşanabilir. Kaydı yüklemek istediğinizden emin misiniz?\n[lightgray]Modlar:\n{0} mod.missing = Bu kayıt yakın zamanda güncellediğiniz ya da artık yüklü olmayan modlar içermekte. Kayıt bozulmaları yaşanabilir. Kaydı yüklemek istediğinizden emin misiniz?\n[lightgray]Modlar:\n{0}
mod.preview.missing = Bu modu atölyede yayınlamadan önce bir resim önizlemesi eklemelisiniz.\nMod dosyasına [accent]preview.png[] adlı bir resim yerleştirin ve tekrar deneyin. mod.preview.missing = Bu modu atölyede yayınlamadan önce bir resim önizlemesi eklemelisiniz.\nMod dosyasına [accent]preview.png[] adlı bir resim yerleştirin ve tekrar deneyin.
mod.folder.missing = Atölyede sadece klasör halindeki modlar yayınlanabilir.Bir modu klasöre çevirmek için, sadece mod dosyalarını bir klasöre çıkarın ve eski sıkıştırılmış dosyayı silin, sonra da oyunu tekrar başlatın ya da modlarınızı tekrar yükleyin. mod.folder.missing = Atölyede sadece klasör halindeki modlar yayınlanabilir.Bir modu klasöre çevirmek için, sadece mod dosyalarını bir klasöre çıkarın ve eski sıkıştırılmış dosyayı silin, sonra da oyunu tekrar başlatın ya da modlarınızı tekrar yükleyin.
mod.scripts.disable = Your device does not support mods with scripts. You must disable these mods to play the game. mod.scripts.disable = Bu modlar patates ile açılamaz. Modları devre dışı bırakmalısın.
about.button = Hakkında about.button = Hakkında
name = İsim: name = İsim:
noname = Bir[accent] kullanıcı adı[] seçmelisin. noname = Bir[accent] kullanıcı adı[] seçmelisin.
planetmap = Gezegen Haritası planetmap = Gezegen haritası
launchcore = Kalkış launchcore = Kalkış Yap
filename = Dosya Adı: filename = Dosya Adı:
unlocked = Yeni içerik açıldı! unlocked = Yeni içerik açıldı!
completed = [accent]Tamamlandı completed = [accent]Tamamlandı
@@ -148,23 +149,23 @@ techtree = Teknoloji Ağacı
research.list = [lightgray]Araştırmalar: research.list = [lightgray]Araştırmalar:
research = Araştır research = Araştır
researched = [lightgray]{0} Araştırıldı. researched = [lightgray]{0} Araştırıldı.
research.progress = %{0} tamamlandı research.progress = {0}% tamamlandı
players = {0} çevrimiçi oyuncu players = Çevrimiçi {0} oyuncu var
players.single = {0} çevrimiçi oyuncu players.single = Çevrimiçi {0} oyuncu var
players.search = ara players.search = ara
players.notfound = [gray]hiç oyuncu bulunamadı players.notfound = [gray]oyuncu bulunamadı
server.closing = [accent]Sunucu kapatılıyor... server.closing = [accent]Sunucu kapatılıyor...
server.kicked.kick = Sunucudan atıldın! server.kicked.kick = Sunucudan atıldın!
server.kicked.whitelist = Beyaz listede değilsin. server.kicked.whitelist = Beyaz listede değilsin.
server.kicked.serverClose = Sunucu kapandı. server.kicked.serverClose = Sunucu kapatıldı.
server.kicked.vote = Oylama ile sunucudan atıldın. server.kicked.vote = Oylama ile sunucudan atıldın.
server.kicked.clientOutdated = Eski sürüm! Oyununu güncelle! server.kicked.clientOutdated = Eski sürüm! Oyununu güncelle!
server.kicked.serverOutdated = Geçersiz sunucu!\nKurucudan oyununu güncellemesini iste! server.kicked.serverOutdated = Geçersiz sunucu!\nKurucudan oyununu güncellemesini iste!
server.kicked.banned = Bu sunucudan yasaklandın. server.kicked.banned = Bu sunucudan yasaklandın.
server.kicked.typeMismatch = Bu sunucu senin inşa türünle uyumlu değil. server.kicked.typeMismatch = Bu sunucu senin oyun sürümünün yapısıyla uygun değil.
server.kicked.playerLimit = Sunucu dolu. Yer açılmasını bekle. server.kicked.playerLimit = Sunucu dolu. Yer açılmasını bekle.
server.kicked.recentKick = Yakın bir zamanda bir sunucudan atıldın.\nBağlanmadan önce bir süre bekle. server.kicked.recentKick = Yakın bir zamanda bir sunucudan atıldın.\nBağlanmadan önce bir süre bekle.
server.kicked.nameInUse = Sunucuda zaten o isimde biri var. server.kicked.nameInUse = Sunucuda zaten senin isminde biri var.
server.kicked.nameEmpty = Seçtiğin isim geçersiz. server.kicked.nameEmpty = Seçtiğin isim geçersiz.
server.kicked.idInUse = Zaten bu sunucudasın! İki hesapla bir sunucuya bağlanamazsın. server.kicked.idInUse = Zaten bu sunucudasın! İki hesapla bir sunucuya bağlanamazsın.
server.kicked.customClient = Bu sunucu özel sürümleri kabul etmiyor. Resmi bir sürüm indir. server.kicked.customClient = Bu sunucu özel sürümleri kabul etmiyor. Resmi bir sürüm indir.
@@ -185,9 +186,9 @@ server.refreshing = Sunucu yenileniyor
hosts.none = [lightgray]Yerel oyun bulunamadı! hosts.none = [lightgray]Yerel oyun bulunamadı!
host.invalid = [scarlet]Kurucuya bağlanılamıyor. host.invalid = [scarlet]Kurucuya bağlanılamıyor.
servers.local = Yerel Sunucular servers.local = Yerel sunucular
servers.remote = Uzak Sunucular servers.remote = Remote Servers
servers.global = Topuluk Sunucuları servers.global = Topluluk sunucuları
trace = Oyuncuyu Takip Et trace = Oyuncuyu Takip Et
trace.playername = Oyuncu İsmi: [accent]{0} trace.playername = Oyuncu İsmi: [accent]{0}
@@ -196,7 +197,7 @@ trace.id = Özel ID: [accent]{0}
trace.mobile = Mobil Sürüm: [accent]{0} trace.mobile = Mobil Sürüm: [accent]{0}
trace.modclient = Özel Sürüm: [accent]{0} trace.modclient = Özel Sürüm: [accent]{0}
invalidid = Geçersiz Sürüm ID'si! Bir hata raporu gönder. invalidid = Geçersiz Sürüm ID'si! Bir hata raporu gönder.
server.bans = Yasaklılar server.bans = Yasaklananlar
server.bans.none = Yasaklanmış oyuncu bulunamadı! server.bans.none = Yasaklanmış oyuncu bulunamadı!
server.admins = Yönetici server.admins = Yönetici
server.admins.none = Yönetici bulunamadı! server.admins.none = Yönetici bulunamadı!
@@ -205,7 +206,7 @@ server.delete = Bu sunucuyu silmek istediğine emin misin?
server.edit = Sunucuyu Düzenle server.edit = Sunucuyu Düzenle
server.outdated = [crimson]Güncel Olmayan Sunucu![] server.outdated = [crimson]Güncel Olmayan Sunucu![]
server.outdated.client = [crimson]Güncel Olmayan Sürüm![] server.outdated.client = [crimson]Güncel Olmayan Sürüm![]
server.version = [gray]v{0} {1} server.version = [gray]V{0} {1}
server.custombuild = [accent]Özel Sürüm server.custombuild = [accent]Özel Sürüm
confirmban = Bu kullanıcıyı yasaklamak istediğine emin misin? confirmban = Bu kullanıcıyı yasaklamak istediğine emin misin?
confirmkick = Bu kullanıcıyı atmak istediğine emin misin? confirmkick = Bu kullanıcıyı atmak istediğine emin misin?
@@ -255,7 +256,7 @@ save.wave = Dalga {0}
save.mode = Oyun modu: {0} save.mode = Oyun modu: {0}
save.date = Son Kayıt: {0} save.date = Son Kayıt: {0}
save.playtime = Oynama süresi: {0} save.playtime = Oynama süresi: {0}
warning = Uyarı. warning = Uyarı!
confirm = Doğrula confirm = Doğrula
delete = Sil delete = Sil
view.workshop = Atölyede görüntüle view.workshop = Atölyede görüntüle
@@ -269,44 +270,44 @@ copylink = Bağlantıyı Kopyala
back = Geri back = Geri
data.export = Veriyi Dışa Aktar data.export = Veriyi Dışa Aktar
data.import = Veriyi İçe Aktar data.import = Veriyi İçe Aktar
data.openfolder = Veri Klasörü data.openfolder = Dosyasını
data.exported = Veri dışa aktarıldı. data.exported = Dışa aktarıldı.
data.invalid = Bu oyun verisi geçerli değil. data.invalid = Bu oyun verisi geçerli değil.
data.import.confirm = Dışarıdan içeri veri aktarmak şu anki verilerinizin [scarlet]tamamını[] silecektir.[accent]Bu işlem geri alınamaz![]\n\nVeri içeri aktarıldığında oyundan çıkacaksınız. data.import.confirm = Dışarıdan içeri veri aktarmak şu anki verilerinizin [scarlet]tamamını[] silecektir.[accent]Bu işlem geri alınamaz![]\n\nVeri içeri aktarıldığında oyundan çıkacaksınız.
quit.confirm = Çıkmak istediğinize emin misiniz? quit.confirm = Çıkmak istediğinize emin misiniz?
quit.confirm.tutorial = Ne yaptığınıza emin misiniz?\nÖğreticiyi [accent] Ayarlar -> Oyun -> Öğreticiyi Yeniden Al[]'dan tekrar yapabilirsiniz. quit.confirm.tutorial = Ne yaptığınıza emin misiniz?\nÖğreticiyi [accent] Ayarlar->Oyun->Öğretici Modunu Yeniden Oyna'dan[] tekrar yapabilirsiniz.
loading = [accent]Yükleniyor... loading = [accent]Yükleniyor...
reloading = [accent]Modlar Yeniden Yükleniyor... reloading = [accent]Modlar Yeniden Yükleniyor...
saving = [accent]Kayıt ediliyor... saving = [accent]Kaydediliyor...
respawn = [accent][[{0}][] Çekirdekte yeniden doğ respawn = [accent] Çekirdekte yeniden doğmak için [[{0}][]
cancelbuilding = [accent][[{0}][] Planı temizle cancelbuilding = Planı temizlemek için [accent][[{0}][]
selectschematic = [accent][[{0}][] Seç ve kopyala selectschematic = Seçmek ve kopyalamak için [accent][[{0}][]
pausebuilding = [accent][[{0}][] İnşaatı durdur pausebuilding = İnşaatı durdurmak için [accent][[{0}][]
resumebuilding = [scarlet][[{0}][] İnşaata devam et resumebuilding = İnşaata devam etmek için [scarlet][[{0}][]
wave = [accent]Dalga {0} wave = [accent]Dalga {0}
wave.cap = [accent]Dalga {0}/{1} wave.cap = [accent]Dalga {0}/{1}
wave.waiting = [lightgray]{0} saniye içinde dalga başlayacak wave.waiting = [lightgray]{0} saniye içinde dalga başlayacak
wave.waveInProgress = [lightgray]Dalga gerçekleşiyor wave.waveInProgress = [lightgray]Dalga geliyor
waiting = [lightgray]Bekleniliyor... waiting = [lightgray]Bekleniliyor...
waiting.players = Oyuncular bekleniliyor... waiting.players = Oyuncular bekleniyor...
wave.enemies = [lightgray]{0} Tane Düşman Kaldı wave.enemies = [lightgray]{0} Tane Düşman Kaldı
wave.enemy = [lightgray]{0} Tane Düşman Kaldı wave.enemy = [lightgray]{0} Tane Düşman Kaldı
wave.guardianwarn = [accent]{0}[] dalga sonra gardiyan yaklaşıyor. wave.guardianwarn = [accent]{0}[] dalga sonra gardiyan yaklaşıyor.
wave.guardianwarn.one = [accent]{0}[] dalga sonra gardiyan yaklaşıyor. wave.guardianwarn.one = [accent]{0}[] dalga sonra gardiyan yaklaşıyor.
loadimage = Resim Aç loadimage = Resmi
saveimage = Resim Kaydet saveimage = Resmi Kaydet
unknown = Bilinmeyen unknown = Bilinmeyen
custom = Özel custom = Özel
builtin = Yerleşik builtin = Yerleşik
map.delete.confirm = Bu haritayı silmek istediğinizden emin misiniz? Bunu geri alamazsınız! map.delete.confirm = Bu haritayı silmek istediğinizden emin misiniz? Bunu geri alamazsınız!
map.random = [accent]Rastgele Harita map.random = [accent]Rastgele Harita
map.nospawn = Bu haritada oyuncunun doğacağı hiç çekirdek yok! Editörden bu haritaya[accent] turuncu[] bir çekirdek ekleyin. map.nospawn = Bu haritada oyuncunun doğabileceği bir çekirdek yok! Editörden bu haritaya[accent] turuncu[] bir çekirdek ekleyin.
map.nospawn.pvp = Bu Haritada düşmanın doğacağı hiç çekirdek yok! Editörden bu haritaya [scarlet]turuncu olmayan[] çekirdekler ekleyin. map.nospawn.pvp = Bu Haritada düşmanın doğacağı hiç çekirdek yok! Editörden bu haritaya [scarlet]turuncu olmayan[] çekirdekler ekleyin.
map.nospawn.attack = Bu haritada oyuncunun saldıracağı hiç düşman çekirdeği yok! Editörden haritaya[scarlet] kırmızı[] çekirdekler ekleyin. map.nospawn.attack = Bu haritada oyuncunun saldıracağı hiç düşman çekirdeği yok! Editörden haritaya[scarlet] kırmızı[] çekirdekler ekleyin.
map.invalid = Haritayı açarken hata oldu: bozulmuş ya da geçersiz harita dosyası.- map.invalid = Haritayı açarken hata oldu: bozulmuş ya da geçersiz harita dosyası olabilir.
workshop.update = Nesneyi Güncelle workshop.update = Nesneyi Güncelle
workshop.error = Atölye ayrıntılarını alırken hata oluştu: {0} workshop.error = Atölye ayrıntılarını alırken hata oluştu: {0}
map.publish.confirm = Bu haritayı yayınlamak istediğinize emin misiniz?\n[lightgray]önce Atölye EULA'sına uyduğunuza emin olun, yoksa haritalarınız gözükmeyecektir! map.publish.confirm = Bu haritayı yayınlamak istediğinize emin misiniz?\n[lightgray]Önce Atölye EULA'sına uyduğunuza emin olun, yoksa haritalarınız gözükmeyecektir!
workshop.menu = Bu eşya ile ne yapmak istediğinizi seçin. workshop.menu = Bu eşya ile ne yapmak istediğinizi seçin.
workshop.info = Eşya açıklaması workshop.info = Eşya açıklaması
changelog = Değişim Listesi (isteğe bağlı): changelog = Değişim Listesi (isteğe bağlı):
@@ -331,7 +332,6 @@ editor.generation = Oluşum:
editor.ingame = Oyun içinde düzenle editor.ingame = Oyun içinde düzenle
editor.publish.workshop = Atölyede Yayınla editor.publish.workshop = Atölyede Yayınla
editor.newmap = Yeni Harita editor.newmap = Yeni Harita
editor.center = Ortala
workshop = Atölye workshop = Atölye
waves.title = Dalgalar waves.title = Dalgalar
waves.remove = Kaldır waves.remove = Kaldır
@@ -339,7 +339,7 @@ waves.never = <asla>
waves.every = her waves.every = her
waves.waves = dalga(lar) waves.waves = dalga(lar)
waves.perspawn = doğma noktası başına waves.perspawn = doğma noktası başına
waves.shields = kalkan/dalga waves.shields = kalkanlar/dalga
waves.to = doğru waves.to = doğru
waves.guardian = Gardiyan waves.guardian = Gardiyan
waves.preview = Önizleme waves.preview = Önizleme
@@ -350,9 +350,9 @@ waves.invalid = Panoda geçersiz dalga sayısı var.
waves.copied = Dalgalar kopyalandı. waves.copied = Dalgalar kopyalandı.
waves.none = Düşman bulunamadı.\nBoş dalga düzenlerin otomatik olarak varsayılan düzenle değiştirileceğini unutmayın waves.none = Düşman bulunamadı.\nBoş dalga düzenlerin otomatik olarak varsayılan düzenle değiştirileceğini unutmayın
wavemode.counts = miktarlar wavemode.counts = counts
wavemode.totals = toplamlar wavemode.totals = totals
wavemode.health = can wavemode.health = health
editor.default = [lightgray]<Varsayılan> editor.default = [lightgray]<Varsayılan>
details = Detaylar... details = Detaylar...
@@ -405,7 +405,7 @@ toolmode.replace = Değiştir
toolmode.replace.description = Sadece katı blokların üzerinde çizer. toolmode.replace.description = Sadece katı blokların üzerinde çizer.
toolmode.replaceall = Hepsini Değiştir toolmode.replaceall = Hepsini Değiştir
toolmode.replaceall.description = Haritadaki bütün blokları değiştirir. toolmode.replaceall.description = Haritadaki bütün blokları değiştirir.
toolmode.orthogonal = Çizgi toolmode.orthogonal = Dik
toolmode.orthogonal.description = Sadece dik çizgiler çizer. toolmode.orthogonal.description = Sadece dik çizgiler çizer.
toolmode.square = Kare toolmode.square = Kare
toolmode.square.description = Kare fırça. toolmode.square.description = Kare fırça.
@@ -441,11 +441,11 @@ filter.option.circle-scale = Daire Ölçek
filter.option.octaves = Oktavlar filter.option.octaves = Oktavlar
filter.option.falloff = Düşüş filter.option.falloff = Düşüş
filter.option.angle = Açı filter.option.angle = Açı
filter.option.amount = Miktar filter.option.amount = Amount
filter.option.block = Blok filter.option.block = Blok
filter.option.floor = Zemin filter.option.floor = Zemin
filter.option.flooronto = Hedef Zemin filter.option.flooronto = Hedef Zemin
filter.option.target = Target filter.option.target = Hedef
filter.option.wall = Duvar filter.option.wall = Duvar
filter.option.ore = Maden filter.option.ore = Maden
filter.option.floor2 = İkincil Duvar filter.option.floor2 = İkincil Duvar
@@ -457,7 +457,7 @@ width = Eni:
height = Boyu: height = Boyu:
menu = Menü menu = Menü
play = Oyna play = Oyna
campaign = Mücadele campaign = Başla
load = Yükle load = Yükle
save = Kaydet save = Kaydet
fps = FPS: {0} fps = FPS: {0}
@@ -465,7 +465,7 @@ ping = Ping: {0}ms
language.restart = Dil ayarlarının çalışması için lütfen oyunu yeniden başlatın. language.restart = Dil ayarlarının çalışması için lütfen oyunu yeniden başlatın.
settings = Ayarlar settings = Ayarlar
tutorial = Öğretici tutorial = Öğretici
tutorial.retake = Öğreticiyi Yeniden Al tutorial.retake = Öğreticiyi Modunu Yeniden Oyna
editor = Düzenleyici editor = Düzenleyici
mapeditor = Harita Düzenleyicisi mapeditor = Harita Düzenleyicisi
@@ -475,18 +475,21 @@ locked = Kilitli
complete = [lightgray]Ulaş: complete = [lightgray]Ulaş:
requirement.wave = Bölge {1}'de Dalga {0} requirement.wave = Bölge {1}'de Dalga {0}
requirement.core = {0}`da Düşman Çekirdeği Yok Et requirement.core = {0}`da Düşman Çekirdeği Yok Et
requirement.research = {0} araştır requirement.research = Araştırma {0}
requirement.capture = Araştır {0}
requirement.capture = {0} sektörünü ele geçir requirement.capture = {0} sektörünü ele geçir
resume = Bölgeye Devam Et:\n[lightgray]{0}
bestwave = [lightgray]En İyi Dalga: {0} bestwave = [lightgray]En İyi Dalga: {0}
launch = < KALKIŞ >
launch.text = Kalkış launch.text = Kalkış
research.multiplayer = Sadece kurucu araştırma yapabilir. research.multiplayer = Sadece kurucu araştırma yapabilir.
uncover = uncover =
configure = Ekipmanı Yapılandır configure = Ekipmanı Yapılandır
loadout = Yükleme loadout = Teçhizat
resources = Kaynaklar resources = Kaynaklar
bannedblocks = Yasaklı Bloklar bannedblocks = Yasaklı Bloklar
addall = Hepsini Ekle addall = Hepsini Ekle
launch.destination = Varış Yeri: {0} launch.destination = Destination: {0}
configure.invalid = Miktar 0 ve {0} arasında bir sayı olmalı. configure.invalid = Miktar 0 ve {0} arasında bir sayı olmalı.
zone.unlocked = [lightgray]{0} kilidi açıldı. zone.unlocked = [lightgray]{0} kilidi açıldı.
zone.requirement.complete = {0}. dalgaya ulaşıldı:\n{1} bölge şartları karşılandı. zone.requirement.complete = {0}. dalgaya ulaşıldı:\n{1} bölge şartları karşılandı.
@@ -498,7 +501,7 @@ add = Ekle...
boss.health = Boss Canı boss.health = Boss Canı
connectfail = [crimson]Bağlantı hatası:\n\n[accent]{0} connectfail = [crimson]Bağlantı hatası:\n\n[accent]{0}
error.unreachable = Sunucuya ulaşılamıyor.\nAdresin doğru yazıldığına emin misiniz? error.unreachable = Sunucuya ulaşılamıyor.\nAdrwsin doğru yazıldığına emin misiniz?
error.invalidaddress = Geçersiz adres. error.invalidaddress = Geçersiz adres.
error.timedout = Zaman aşımı!\nSunucunun port yönlendirmeyi ayarladığına ve adresin doğru olduğuna emin olun! error.timedout = Zaman aşımı!\nSunucunun port yönlendirmeyi ayarladığına ve adresin doğru olduğuna emin olun!
error.mismatch = Paket hatası:\nSunucu ve alıcı arasında versiyon uyuşmazlığı ihtimali var.\nHem sizde hem de sunucuda Mindustry'nin en son sürümü yüklü olduğuna emin olun! error.mismatch = Paket hatası:\nSunucu ve alıcı arasında versiyon uyuşmazlığı ihtimali var.\nHem sizde hem de sunucuda Mindustry'nin en son sürümü yüklü olduğuna emin olun!
@@ -511,15 +514,15 @@ error.bloom = Kamaşma başlatılamadı.\nCihazınız bu özelliği desteklemiyo
weather.rain.name = Yağmur weather.rain.name = Yağmur
weather.snow.name = Kar weather.snow.name = Kar
weather.sandstorm.name = Kum Fırtınası weather.sandstorm.name = Kum Fırtınası
weather.sporestorm.name = Spor Yağmuru weather.sporestorm.name = Spor Kasırgası
weather.fog.name = Sis weather.fog.name = Sis
sectors.unexplored = [lightgray]Keşfedilmemiş sectors.unexplored = [lightgray]Keşfedilmemiş
sectors.resources = Kaynaklar: sectors.resources = Kaynaklar:
sectors.production = Üretim: sectors.production = Üretim:
sectors.stored = Depolanan: sectors.stored = Depolanmış:
sectors.resume = Devam Et sectors.resume = Devam et
sectors.launch = Kalkış sectors.launch = Kalkış yap!
sectors.select = Seç sectors.select = Seç
sectors.nonelaunch = [lightgray]yok (güneş) sectors.nonelaunch = [lightgray]yok (güneş)
sectors.rename = Sektörü Yeniden Adlandır sectors.rename = Sektörü Yeniden Adlandır
@@ -531,26 +534,26 @@ planet.sun.name = Güneş
sector.groundZero.name = Sıfır Noktası sector.groundZero.name = Sıfır Noktası
sector.craters.name = Kraterler sector.craters.name = Kraterler
sector.frozenForest.name = Donmuş Orman sector.frozenForest.name = Donmuş Orman
sector.ruinousShores.name = Harap Kıyılar sector.ruinousShores.name = Yıkıcı Kıyılar
sector.stainedMountains.name = Lekeli Dağlar sector.stainedMountains.name = Lekeli Dağlar
sector.desolateRift.name = Issız Aralık sector.desolateRift.name = Issız Rift
sector.nuclearComplex.name = Kompleks Nükleer Üretimi sector.nuclearComplex.name = Nükleer Üretim Kompleksi
sector.overgrowth.name = Fazla Büyüme sector.overgrowth.name = Büyüme (Google Translate)
sector.tarFields.name = Katran Alanları sector.tarFields.name = Katran alanları
sector.saltFlats.name = Tuz Düzlükleri sector.saltFlats.name = Tuz Daireleri
sector.fungalPass.name = Mantar Geçidi sector.fungalPass.name = Mantar Geçidi
sector.groundZero.description = Yeniden başlamak için ideal bölge. Düşük düşman tehlikesi ve az miktarda kaynak mevcut. Mümkün olduğunca çok bakır ve kurşun topla.\nİlerle. sector.groundZero.description = Bir kez daha başlamak için en uygun yer. Düşük düşman tehdidi. Az kaynak.\nMümkün olduğunca çok kurşun ve bakır toplayın.\nDevam et.
sector.frozenForest.description = Burada, dağlara yakın bölgelerde bile sporlar etrafa yayıldı. Dondurucu soğuk onları sonsuza dek durduramaz.\n\nEnerji kullanmaya başla. Termik jeneratörler inşa et. Tamircileri kullanmayı öğren. sector.frozenForest.description = Burada bile, dağlara daha yakın yerlerde sporlar yayıldı. Soğuk hava onları sonsuza kadar tutamaz.\n\nime güce başlayın. Yanma jeneratörleri oluşturun. Onarıcıları kullanmayı öğrenin.
sector.saltFlats.description = Çölün kenar kısımlarında tuz düzlükleri uzanır. Bu konumda az miktarda kaynak bulunur.\n\nDüşman burada kompleks bir kaynak depolama sistemi inşa etti. Çekirdeklerini yok et. Ayakta hiçbir şey bırakma. sector.saltFlats.description = Çölün eteklerinde Tuz Daireleri yatıyor. Bu konumda çok az kaynak bulunabilir.\n\nDüşman burada bir kaynak depolama kompleksi inşa etti. Çekirdeklerini yok edin. Hiçbir şeyi ayakta bırakmayın.
sector.craters.description = Eski savaşların bir anıtı olan bu kratere su dolmuş. Alanı yeniden ele geçir. Kum topla ve metacam üret. Taret ve matkapları soğutmak için su pompala. sector.craters.description = Eski savaşların kalıntısı olan bu kraterde su birikmiştir. Alanı geri kazanın. Kum toplayın. Metaglass kokusu. Taretleri ve matkapları soğutmak için su pompalayın.
sector.ruinousShores.description = Yıkıntıların ardında bir kıyı var. Bir zamanlar bu konum bir dizi kıyı defansına ev sahipliği yapmış. Geriye pek bir şey kalmamış. Sadece en temel savunma yapıları zarar görmeden kaldı, onun dışındaki her şey hurdaya geri dönüştü.\nDışa doğru genişletmeye devam et. Teknolojiyi yeniden keşfet. sector.ruinousShores.description = Atıkları geçmiş sahil şeridi. Bir zamanlar, bu konum bir kıyı savunma dizisini barındırıyordu. Kalan pek bir şey yok. Sadece en temel savunma yapıları zarar görmeden kaldı, geri kalan her şey hurdaya indirildi.\nGenişlemeye dışarı doğru devam edin. Teknolojiyi yeniden keşfedin.
sector.stainedMountains.description = Daha uzaklarda dağlar uzanıyor, daha sporlar tarafından istilaya uğramamışlar.\nAlandaki serbest titanyumu çıkart ve kullanmasını öğren.\n\nDüşman varlığı burada daha fazla. Onların daha güçlü birimlerini göndermelerine izin verme. sector.stainedMountains.description = Daha iç kesimlerde dağlar uzanır, ancak sporlar tarafından lekelenmemiştir.\nBu alandaki bol titanyumu çıkarın. Nasıl kullanılacağını öğrenin.\n\nDüşman varlığı burada daha büyük. En güçlü birliklerini göndermeleri için onlara zaman vermeyin.
sector.overgrowth.description = Bu alan aşırı büyümüştür, sporların kaynağına daha yakındır.\nDüşman burada bir merkez kurdu. Titan birlikleri inşa et. Onu yok et. Kaybedileni geri al. sector.overgrowth.description = Bu alan, sporların kaynağına daha yakın büyümüştür.\nDüşman burada bir karakol kurdu. Titan birimleri oluşturun. Onu yok et. Kaybolanı geri al.
sector.tarFields.description = Bir petrol üretim bölgesinin eteklerinde, dağların ve çölün arasındadır. Birkaç kullanılabilir katran rezervlerinden biri. \nTerk edilmiş olmasına rağmen, bu alan yakınlarda bazı tehlikeli düşman güçlerine sahip. Onları küçümseme.\n\n[lightgray]Mümkünse petrol üretme teknolojisini araştır. sector.tarFields.description = Dağlarla çöl arasında bir petrol üretim bölgesinin dış mahalleleri. Kullanılabilir katran rezervlerine sahip birkaç alandan biri.\nTerk edilmiş olmasına rağmen, bu bölgenin yakınında bazı tehlikeli düşman kuvvetleri var. Onları küçümsemeyin.\n\n[lightgray]Mümkünse yağ işleme teknolojisini araştırın. (Google Translate)
sector.desolateRift.description = Aşırı tehlikeli bir bölge. Bol kaynaklar, ama az yer mevcut. Yüksek yıkım riski. Mümkün olduğunca çabuk ayrılmaya çalış. Düşman saldırıları arasındaki uzun mesafeye aldanma. sector.desolateRift.description = Son derece tehlikeli bir bölge. Bol kaynaklar, ancak az yer. Yüksek yıkım riski. Mümkün olduğunca çabuk ayrılın. Düşman saldırıları arasındaki uzun mesafeye aldanmayın. (Google Translate)
sector.nuclearComplex.description = Toryum üretimi ve işlenmesi için eski bir tesistir, harabeye dönüşmüştür.\n[lightgray]Toryumu ve onun birçok kullanımını araştır. \n\nDüşman burada çok sayıda mevcut ve sürekli saldırganları arıyorlar. sector.nuclearComplex.description = Toryum üretimi ve işlenmesi için eski bir tesis, harabe haline getirildi.\n[lightgray]Toryumu ve birçok kullanım alanını araştırın.\n\nDüşman burada çok sayıda var ve sürekli saldırganları arıyor. (Google Translate)
sector.fungalPass.description = Yüksek dağlar ve daha alçak, sporla dolu topraklar arasında bir geçiş alanıdır. Burada küçük bir düşman keşif üssü bulunuyor.\nOnu yok et.\nDagger ve Crawler birlikleri kullan. İki çekirdeği çıkar. sector.fungalPass.description = Yüksek dağlar ve alçak, sporla dolu topraklar arasında bir geçiş alanı. Burada küçük bir düşman keşif üssü bulunuyor.\nOnu yok et.\nHançer ve Paletli birimlerini kullanın. İki çekirdeği çıkarın. (Google Translate)
settings.language = Dil settings.language = Dil
settings.data = Oyun Verisi settings.data = Oyun Verisi
@@ -563,7 +566,7 @@ settings.sound = Ses
settings.graphics = Grafikler settings.graphics = Grafikler
settings.cleardata = Oyun Verisini Sil... settings.cleardata = Oyun Verisini Sil...
settings.clear.confirm = Verileri silmek istediğinizden emin misiniz?\nBu işlemi geri alamazsınız! settings.clear.confirm = Verileri silmek istediğinizden emin misiniz?\nBu işlemi geri alamazsınız!
settings.clearall.confirm = [scarlet]Uyarı![]\nBu işlem kayıtlar, haritalar açılan bloklar ve tuş atamaları dahil bütün verileri silecektir.\n"Tamam" tuşuna bastığınızda bütün verileriniz silinecek ve oyun kapanacaktır. settings.clearall.confirm = [scarlet]Uyarı![]\nBu işlem kayıtlar, haritalar açılan bloklar ve tuş atamaları dahil bütün verileri silecektir.\n"ok" tuşuna bastığınızda bütün verileriniz silinecek ve oyun kapanacaktır.
settings.clearsaves.confirm = Tüm kayıtlarınızı silmek istediğinizden emin misiniz? settings.clearsaves.confirm = Tüm kayıtlarınızı silmek istediğinizden emin misiniz?
settings.clearsaves = Kayıtları Sil settings.clearsaves = Kayıtları Sil
settings.clearresearch = Araştırma Verisini Sil settings.clearresearch = Araştırma Verisini Sil
@@ -573,7 +576,7 @@ settings.clearcampaignsaves.confirm = Mücadele modundaki oynadığınız tüm s
paused = [accent]<Durduruldu> paused = [accent]<Durduruldu>
clear = Temizle clear = Temizle
banned = [scarlet]Yasaklı banned = [scarlet]Yasaklı
unplaceable.sectorcaptured = [scarlet]Ele geçirilmiş sektör gerekir unplaceable.sectorcaptured = [scarlet]Tamamlanan sektör gerektirir
yes = Evet yes = Evet
no = Hayır no = Hayır
info.title = Bilgi info.title = Bilgi
@@ -650,8 +653,8 @@ ability.unitspawn = {0} Birliği Fabrikası
ability.shieldregenfield = Kalkan Yenileme Alanı ability.shieldregenfield = Kalkan Yenileme Alanı
bar.drilltierreq = Daha İyi Matkap Gerekli bar.drilltierreq = Daha İyi Matkap Gerekli
bar.noresources = Eksik Kaynaklar bar.noresources = Eksik kaynak
bar.corereq = Çekirdek Tabanı Gerekli bar.corereq = Çekirdek Gerekli
bar.drillspeed = Matkap Hızı: {0}/s bar.drillspeed = Matkap Hızı: {0}/s
bar.pumpspeed = Pompa Hızı: {0}/s bar.pumpspeed = Pompa Hızı: {0}/s
bar.efficiency = Verim: {0}% bar.efficiency = Verim: {0}%
@@ -659,15 +662,14 @@ bar.powerbalance = Enerji: {0}/sn
bar.powerstored = Depolanan: {0}/{1} bar.powerstored = Depolanan: {0}/{1}
bar.poweramount = Enerji: {0} bar.poweramount = Enerji: {0}
bar.poweroutput = Enerji Üretimi: {0} bar.poweroutput = Enerji Üretimi: {0}
bar.powerlines = Bağlantılar: {0}/{1}
bar.items = Eşyalar: {0} bar.items = Eşyalar: {0}
bar.capacity = Kapasite: {0} bar.capacity = Kapasite: {0}
bar.unitcap = {0} {1}/{2} bar.unitcap = {0} {1}/{2}
bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[birlik engellendi] bar.limitreached = [scarlet] {0} / {1}[white] {2}\n[lightgray][[unit disabled]
bar.liquid = Sıvı bar.liquid = Sıvı
bar.heat = Isı bar.heat = Isı
bar.power = Enerji bar.power = Enerji
bar.progress = İnşa İlerlemesi bar.progress = Üretim Kapasitesi
bar.input = Girdi bar.input = Girdi
bar.output = Çıktı bar.output = Çıktı
@@ -696,9 +698,9 @@ unit.liquidunits = sıvı birimi
unit.powerunits = enerji birimi unit.powerunits = enerji birimi
unit.degrees = derece unit.degrees = derece
unit.seconds = saniye unit.seconds = saniye
unit.minutes = dakika unit.minutes = mins
unit.persecond = /sn unit.persecond = /sn
unit.perminute = /dk unit.perminute = /min
unit.timesspeed = x hız unit.timesspeed = x hız
unit.percent = % unit.percent = %
unit.shieldhealth = kalkan canı unit.shieldhealth = kalkan canı
@@ -711,27 +713,28 @@ category.power = Enerji
category.liquids = Sıvılar category.liquids = Sıvılar
category.items = Eşyalar category.items = Eşyalar
category.crafting = Üretim category.crafting = Üretim
category.function = Fonksiyon category.shooting = Silahlar
category.optional = İsteğe Bağlı Geliştirmeler category.optional = İsteğe Bağlı Geliştirmeler
setting.landscape.name = Yatayda sabitle setting.landscape.name = Yatay sabitleme
setting.shadows.name = Gölgeler setting.shadows.name = Gölgeler
setting.blockreplace.name = Otomatik Blok önerileri setting.blockreplace.name = Otomatik Blok önerileri
setting.linear.name = Lineer Filtreleme setting.linear.name = Çizgisel Filtreleme
setting.hints.name = İpuçları setting.hints.name = İpuçları
setting.flow.name = Kaynak Geçiş Hızını Göster[scarlet] (deneysel) setting.flow.name = Kaynak Akış Hızını Göster[scarlet] (deneysel)
setting.buildautopause.name = İnşa etmeyi otomatik olarak durdur setting.buildautopause.name = İnşa etmeyi otomatik olarak durdur
setting.mapcenter.name = Haritanın Merkezini Otomatik Oyuncuya Sabitle
setting.animatedwater.name = Animasyonlu Su setting.animatedwater.name = Animasyonlu Su
setting.animatedshields.name = Animasyonlu Kalkanlar setting.animatedshields.name = Animasyonlu Kalkanlar
setting.antialias.name = Düzgünleştirme [lightgray](yeniden başlatma gerekebilir)[] setting.antialias.name = Düzgğnleştirme[lightgray] (yeniden başlatmak gerekebilir)[]
setting.playerindicators.name = Oyuncu Belirteçleri setting.playerindicators.name = Oyuncu Göstergeleri
setting.indicators.name = Düşman/Müttefik Belirteçleri setting.indicators.name = Düşman/Müttefik Belirteçleri
setting.autotarget.name = Otomatik Hedef Alma setting.autotarget.name = Otomatik Hedef Alma
setting.keyboard.name = Fare+Klavye Kontrolleri setting.keyboard.name = Fare+Klavye Kontrolleri
setting.touchscreen.name = Dokunmatik Ekran Kontrolleri setting.touchscreen.name = Dokunmatik Ekran Kontrolleri
setting.fpscap.name = Maksimum FPS setting.fpscap.name = FPS Limiti
setting.fpscap.none = Limitsiz setting.fpscap.none = Limitsiz
setting.fpscap.text = {0} FPS setting.fpscap.text = {0} FPS
setting.uiscale.name = Arayüz Ölçeği [lightgray](yeniden başlatma gerekebilir)[] setting.uiscale.name = Arayüz Ölçeği[lightgray] (yeniden başlatmak gerekebilir)[]
setting.swapdiagonal.name = Her Zaman Çapraz Yerleştirme setting.swapdiagonal.name = Her Zaman Çapraz Yerleştirme
setting.difficulty.training = Eğitim setting.difficulty.training = Eğitim
setting.difficulty.easy = Kolay setting.difficulty.easy = Kolay
@@ -750,13 +753,13 @@ setting.seconds = {0} Saniye
setting.blockselecttimeout.name = Blok Seçme Zaman Aşımı setting.blockselecttimeout.name = Blok Seçme Zaman Aşımı
setting.milliseconds = {0} milisaniye setting.milliseconds = {0} milisaniye
setting.fullscreen.name = Tam Ekran setting.fullscreen.name = Tam Ekran
setting.borderlesswindow.name = Kenarsız Pencere [lightgray](yeniden mak gerekebilir) setting.borderlesswindow.name = Kenarsız Pencere[lightgray] (yeniden başlatmak gerekebilir)
setting.fps.name = FPS Göster setting.fps.name = FPS Göster
setting.smoothcamera.name = Yumuşak Geçişli Kamera setting.smoothcamera.name = Yumuşak Geçişli Kamera
setting.vsync.name = VSync setting.vsync.name = VSync
setting.pixelate.name = Pixelleştir [lightgray](animasyonları kapatır) setting.pixelate.name = Pixelleştir[lightgray] (animasyonları kapatır)
setting.minimap.name = Haritayı Göster setting.minimap.name = Haritayı Göster
setting.coreitems.name = Çekirdekteki Eşyaları Göster [lightgray](üzerinde çalışılıyor) setting.coreitems.name = Çekirdekteki Eşyaları Göster (WIP)
setting.position.name = Oyuncu Noktasını Göster setting.position.name = Oyuncu Noktasını Göster
setting.musicvol.name = Müzik setting.musicvol.name = Müzik
setting.atmosphere.name = Gezegen Atmosferini Göster setting.atmosphere.name = Gezegen Atmosferini Göster
@@ -767,14 +770,14 @@ setting.mutesound.name = Sesi Kapat
setting.crashreport.name = Anonim Çökme Raporları Gönder setting.crashreport.name = Anonim Çökme Raporları Gönder
setting.savecreate.name = Otomatik Kayıt Oluştur setting.savecreate.name = Otomatik Kayıt Oluştur
setting.publichost.name = Halka Açık Oyunlar setting.publichost.name = Halka Açık Oyunlar
setting.playerlimit.name = Oyuncu Limiti setting.playerlimit.name = Oyuncu limiti
setting.chatopacity.name = Mesajlaşma Opaklığı setting.chatopacity.name = Mesajlaşma Opaklığı
setting.lasersopacity.name = Enerji Lazeri Opaklığı setting.lasersopacity.name = Enerji Lazeri Opaklığı
setting.bridgeopacity.name = Köprü Opaklığı setting.bridgeopacity.name = Köprü Opaklığı
setting.playerchat.name = Oyun-içi Konuşmayı Göster setting.playerchat.name = Oyun-içi Konuşmayı Göster
public.confirm = Oyununuzu halka açık yapmak ister misiniz?\n[accent]Oyunlarınıza herkes katılabilecektir.\n[lightgray]Bu seçenek daha sonra Ayarlar->Oyun->Halka Açık Oyunlar'dan değiştirilebilir. public.confirm = Oyununuzu halka açık yapmak ister misiniz?\n[accent]Oyunlarınıza herkes katılabilecektir.\n[lightgray]Bu seçenek daha sonra Ayarlar->Oyun->Halka Açık Oyunlar'dan değiştirilebilir.
public.beta = Oyunun beta sürümlerinin halka açık lobiler yapamayacağını unutmayın. public.beta = Oyunun beta sürümlerinin halka açık lobiler yapamayacağını unutmayın.
uiscale.reset = Arayüz ölçeği değiştirildi.\nBu ölçeği onaylamak için "Tamam" butonuna basın.\n[accent] {0}[] [scarlet]saniye içinde eski ayarlara geri dönülüp oyundan çıkılıyor…[] uiscale.reset = UI ölçeği değiştirildi.\nBu ölçeği onaylamak için "OK" butonuna basın.\n[accent] {0}[] [scarlet]saniye içinde eski ayarlara geri dönülüp oyundan çıkılıyor…[]
uiscale.cancel = İptal Et ve Çık uiscale.cancel = İptal Et ve Çık
setting.bloom.name = Kamaşma setting.bloom.name = Kamaşma
keybind.title = Tuşları Yeniden Ata keybind.title = Tuşları Yeniden Ata
@@ -782,25 +785,25 @@ keybinds.mobile = [scarlet]Buradaki çoğu tuş ataması mobilde geçerli değil
category.general.name = Genel category.general.name = Genel
category.view.name = Görünüm category.view.name = Görünüm
category.multiplayer.name = Çok Oyunculu category.multiplayer.name = Çok Oyunculu
category.blocks.name = Blok Seçimi category.blocks.name = Block Select
command.attack = Saldır command.attack = Saldır
command.rally = Toplan command.rally = Toplan
command.retreat = Geri Çekil command.retreat = Geri Çekil
command.idle = Boşta command.idle = Idle
placement.blockselectkeys = \n[lightgray]Tuş: [{0}, placement.blockselectkeys = \n[lightgray]Tuş: [{0},
keybind.respawn.name = Yeniden Doğ keybind.respawn.name = Yeniden Doğ
keybind.control.name = Birliği Kontrol Et keybind.control.name = Birimi Kontrol Et
keybind.clear_building.name = Binayı Temizle keybind.clear_building.name = Binayı Temizle
keybind.press = Bir tuşa basın... keybind.press = Bir tuşa basın...
keybind.press.axis = Bir tuşa ya da yöne basın... keybind.press.axis = Bir tuşa ya da yöne basın...
keybind.screenshot.name = Harita Ekran Görüntüsü keybind.screenshot.name = Harita Ekran Görüntüsü
keybind.toggle_power_lines.name = Enerji Lazerlerini Aç/Kapa keybind.toggle_power_lines.name = Enerji lazerlerini aç/kapa
keybind.toggle_block_status.name = Blok İstatistiklerini Aç/Kapa keybind.toggle_block_status.name = Toggle Block Statuses
keybind.move_x.name = x Ekseninde Hareket keybind.move_x.name = X Ekseninde Hareket
keybind.move_y.name = y Ekseninde Hareket keybind.move_y.name = Y Ekseninde Hareket
keybind.mouse_move.name = Fareyi Takip Et keybind.mouse_move.name = Fareyi Takip Et
keybind.pan.name = Yatay Kaydırma Görünümü keybind.pan.name = Görüntüyü eski haline sabitle
keybind.boost.name = Yükselt keybind.boost.name = Takviye
keybind.schematic_select.name = Bölge Seç keybind.schematic_select.name = Bölge Seç
keybind.schematic_menu.name = Şema Menüsü keybind.schematic_menu.name = Şema Menüsü
keybind.schematic_flip_x.name = Şemayı X ekseninde Döndür keybind.schematic_flip_x.name = Şemayı X ekseninde Döndür
@@ -835,7 +838,7 @@ keybind.zoom.name = Yakınlaştırma/Uzaklaştırma
keybind.menu.name = Menü keybind.menu.name = Menü
keybind.pause.name = Durdur keybind.pause.name = Durdur
keybind.pause_building.name = İnşaatı Duraklat/İnşaata Devam Et keybind.pause_building.name = İnşaatı Duraklat/İnşaata Devam Et
keybind.minimap.name = Harita keybind.minimap.name = Mini Harita
keybind.chat.name = Konuş keybind.chat.name = Konuş
keybind.player_list.name = Oyuncu Listesi keybind.player_list.name = Oyuncu Listesi
keybind.console.name = Konsol keybind.console.name = Konsol
@@ -846,7 +849,7 @@ keybind.chat_history_prev.name = Sohbet geçmişi önceki
keybind.chat_history_next.name = Sohbet geçmişi sonraki keybind.chat_history_next.name = Sohbet geçmişi sonraki
keybind.chat_scroll.name = Sohbet Kaydırma keybind.chat_scroll.name = Sohbet Kaydırma
keybind.drop_unit.name = Birlik Düşürme keybind.drop_unit.name = Birlik Düşürme
keybind.zoom_minimap.name = Haritada Yakınlaştırma/Uzaklaştırma keybind.zoom_minimap.name = Mini Haritada Yakınlaştırma/Uzaklaştırma
mode.help.title = Modların açıklamaları mode.help.title = Modların açıklamaları
mode.survival.name = Hayatta Kalma mode.survival.name = Hayatta Kalma
mode.survival.description = Normal oyun oyun modu. Kaynak sınırlı ve dalgalar otomatik olarak gönderilir.\n[gray]Oynamak için haritada düşman doğma noktaları olması gerekir. mode.survival.description = Normal oyun oyun modu. Kaynak sınırlı ve dalgalar otomatik olarak gönderilir.\n[gray]Oynamak için haritada düşman doğma noktaları olması gerekir.
@@ -861,25 +864,24 @@ mode.custom = Özel Kurallar
rules.infiniteresources = Sınırsız Kaynaklar rules.infiniteresources = Sınırsız Kaynaklar
rules.reactorexplosions = Reaktör Patlamaları rules.reactorexplosions = Reaktör Patlamaları
rules.schematic = Schematics Allowed
rules.wavetimer = Dalga Zamanlayıcısı rules.wavetimer = Dalga Zamanlayıcısı
rules.waves = Dalgalar rules.waves = Dalgalar
rules.attack = Saldırı Modu rules.attack = Saldırı Modu
rules.buildai = Yapay Zeka İnşası rules.buildai = Yapay Zeka Binası
rules.enemyCheat = Sonsuz AI (Kırmızı Takım) Kaynakları rules.enemyCheat = Sonsuz AI (Kırmızı Takım) Kaynakları
rules.blockhealthmultiplier = Blok Canı Çarpanı rules.blockhealthmultiplier = Blok Canı Çarpanı
rules.blockdamagemultiplier = Blok Hasarı Çarpanı rules.blockdamagemultiplier = Block Damage Multiplier
rules.unitbuildspeedmultiplier = Birim Üretim Hızı Çarpanı rules.unitbuildspeedmultiplier = Birim Üretim Hızı Çarpanı
rules.unithealthmultiplier = Birim Canı Çarpanı rules.unithealthmultiplier = Birim Canı Çarpanı
rules.unitdamagemultiplier = Birim Hasarı Çapanı rules.unitdamagemultiplier = Birim Hasarı Çapanı
rules.enemycorebuildradius = Düşman Çekirdeği İnşa Yasağı Yarıçapı: [lightgray](kare) rules.enemycorebuildradius = Düşman Çekirdeği İnşa Yasağı Yarıçapı:[lightgray] (kare)
rules.wavespacing = Dalga Aralığı: [lightgray](sn) rules.wavespacing = Dalga Aralığı:[lightgray] (sec)
rules.buildcostmultiplier = İnşa Ücreti Çarpanı rules.buildcostmultiplier = İnşa ücreti Çarpanı
rules.buildspeedmultiplier = İnşa Hızı Çarpanı rules.buildspeedmultiplier = İnşa Hızı Çarpanı
rules.deconstructrefundmultiplier = Yıkım İade Çarpanı rules.deconstructrefundmultiplier = İade Çarpanını Yeniden Yapılandır
rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler rules.waitForWaveToEnd = Dalgalar Düşmanı Bekler
rules.dropzoneradius = İniş Noktası Yarıçapı: [lightgray](kare) rules.dropzoneradius = İniş Noktası Yarıçapı:[lightgray] (kare)
rules.unitammo = Birlikler Mermi Gerektiriyor rules.unitammo = Cephane Gerektiren Birimler
rules.title.waves = Dalgalar rules.title.waves = Dalgalar
rules.title.resourcesbuilding = Kaynaklar & İnşa rules.title.resourcesbuilding = Kaynaklar & İnşa
rules.title.enemy = Düşmanlar rules.title.enemy = Düşmanlar
@@ -887,19 +889,17 @@ rules.title.unit = Birlikler
rules.title.experimental = Deneysel rules.title.experimental = Deneysel
rules.title.environment = Çevre rules.title.environment = Çevre
rules.lighting = Işıklandırma rules.lighting = Işıklandırma
rules.enemyLights = Enemy Lights rules.fire = Fire
rules.fire = Ateş rules.explosions = Blok/Birim Patlama Hasarı
rules.explosions = Blok/Birlik Patlama Hasarı
rules.ambientlight = Ortam Işığı rules.ambientlight = Ortam Işığı
rules.weather = Hava rules.weather = Hava Durumu
rules.weather.frequency = Sıklık: rules.weather.frequency = Freakans:
rules.weather.duration = Süreklilik: rules.weather.duration = Süre:
content.item.name = Eşyalar content.item.name = Eşyalar
content.liquid.name = Sıvılar content.liquid.name = Sıvılar
content.unit.name = Birimler content.unit.name = Birimler
content.block.name = Bloklar content.block.name = Bloklar
item.copper.name = Bakır item.copper.name = Bakır
item.lead.name = Kurşun item.lead.name = Kurşun
item.coal.name = Kömür item.coal.name = Kömür
@@ -913,7 +913,7 @@ item.surge-alloy.name = Akı Alaşımı
item.spore-pod.name = Spor Kapsülü item.spore-pod.name = Spor Kapsülü
item.sand.name = Kum item.sand.name = Kum
item.blast-compound.name = Patlayıcı Bileşik item.blast-compound.name = Patlayıcı Bileşik
item.pyratite.name = Pirratit item.pyratite.name = Piratit
item.metaglass.name = Metacam item.metaglass.name = Metacam
item.scrap.name = Hurda item.scrap.name = Hurda
liquid.water.name = Su liquid.water.name = Su
@@ -955,29 +955,28 @@ unit.reign.name = Reign
unit.vela.name = Vela unit.vela.name = Vela
unit.corvus.name = Corvus unit.corvus.name = Corvus
block.resupply-point.name = Resupply Point block.resupply-point.name = İkmal Noktası
block.parallax.name = Parallax block.parallax.name = Paralaks
block.cliff.name = Uçurum block.cliff.name = Uçurum
block.sand-boulder.name = Kumlu Kaya Parçaları block.sand-boulder.name = Kum Kaya Parçaları
block.grass.name = Çimen block.grass.name = Çimen
block.slag.name = Cüruf block.slag.name = Cüruf
block.space.name = Uzay
block.salt.name = Tuz block.salt.name = Tuz
block.salt-wall.name = Tuz Duvar block.salt-wall.name = Tuz Duvarı
block.pebbles.name = Çakıl Taşları block.pebbles.name = Çakıl Taşları
block.tendrils.name = Tendriller block.tendrils.name = Gerilim
block.sand-wall.name = Kum Duvar block.sand-wall.name = Kum Duvarı
block.spore-pine.name = Spor Çamı block.spore-pine.name = Spor Çamı
block.spore-wall.name = Spor Duvar block.spore-wall.name = Spor Duvarı
block.boulder.name = Kaya Parçaları block.boulder.name = Aınmış Kaya Parçası
block.snow-boulder.name = Karlı Kaya PArçaları block.snow-boulder.name = Snow Boulder
block.snow-pine.name = Karlı Çam block.snow-pine.name = Karlı Çam
block.shale.name = Şist block.shale.name = Şist
block.shale-boulder.name = Şist Kayası block.shale-boulder.name = Şist Kayası
block.moss.name = Yosun block.moss.name = Yosun
block.shrubs.name = Çalılık block.shrubs.name = Çalılık
block.spore-moss.name = Spor Yosunu block.spore-moss.name = Liken
block.shale-wall.name = Şist Duvar block.shale-wall.name = Şeyl Duvar
block.scrap-wall.name = Hurda Duvar block.scrap-wall.name = Hurda Duvar
block.scrap-wall-large.name = Büyük Hurda Duvar block.scrap-wall-large.name = Büyük Hurda Duvar
block.scrap-wall-huge.name = Dev Hurda Duvar block.scrap-wall-huge.name = Dev Hurda Duvar
@@ -1005,18 +1004,17 @@ block.craters.name = Krater
block.sand-water.name = Kumlu Su block.sand-water.name = Kumlu Su
block.darksand-water.name = Kara Kumlu Su block.darksand-water.name = Kara Kumlu Su
block.char.name = Kömür block.char.name = Kömür
block.dacite.name = Dakit block.dacite.name = Dacite
block.dacite-wall.name = Dakit Duvar block.dacite-wall.name = Dacite Wall
block.dacite-boulder.name = Dakit Kaya Parçaları
block.ice-snow.name = Buzlu Kar block.ice-snow.name = Buzlu Kar
block.stone-wall.name = Taş Duvar block.stone-wall.name = Stone Wall
block.ice-wall.name = Buz Duvar block.ice-wall.name = Ice Wall
block.snow-wall.name = Kar Duvar block.snow-wall.name = Snow Wall
block.dune-wall.name = Kara Kum Duvar block.dune-wall.name = Dune Wall
block.pine.name = Çam block.pine.name = Çam
block.dirt.name = Toprak block.dirt.name = Dirt
block.dirt-wall.name = Toprak Duvar block.dirt-wall.name = Dirt Wall
block.mud.name = Çamur block.mud.name = Mud
block.white-tree-dead.name = Ölü Beyaz Ağaç block.white-tree-dead.name = Ölü Beyaz Ağaç
block.white-tree.name = Beyaz Ağaç block.white-tree.name = Beyaz Ağaç
block.spore-cluster.name = Spor Kümesi block.spore-cluster.name = Spor Kümesi
@@ -1032,7 +1030,7 @@ block.dark-panel-4.name = Kara Panel 4
block.dark-panel-5.name = Kara Panel 5 block.dark-panel-5.name = Kara Panel 5
block.dark-panel-6.name = Kara Panel 6 block.dark-panel-6.name = Kara Panel 6
block.dark-metal.name = Kara Metal block.dark-metal.name = Kara Metal
block.basalt.name = Bazalt block.basalt.name = Basalt
block.hotrock.name = Sıcak Kaya block.hotrock.name = Sıcak Kaya
block.magmarock.name = Magma Kayası block.magmarock.name = Magma Kayası
block.copper-wall.name = Bakır Duvar block.copper-wall.name = Bakır Duvar
@@ -1063,10 +1061,10 @@ block.distributor.name = Dağıtıcı
block.sorter.name = Ayıklayıcı block.sorter.name = Ayıklayıcı
block.inverted-sorter.name = Ters Ayıklayıcı block.inverted-sorter.name = Ters Ayıklayıcı
block.message.name = Mesaj block.message.name = Mesaj
block.illuminator.name = Aydınlatıcı block.illuminator.name = Projektör
block.illuminator.description = Küçük, kompakt, yapılandırılabilir bir ışık kaynağı. Çalışması için enerji gerekir. block.illuminator.description = Küçük, kompakt, yapılandırılabilir ışık kaynağı. Çalışması için enerji gerektirir.
block.overflow-gate.name = Taşma Geçidi block.overflow-gate.name = Taşma Geçiti
block.underflow-gate.name = Yana Taşma Geçidi block.underflow-gate.name = Ters Taşma Geçiti
block.silicon-smelter.name = Silikon Fırını block.silicon-smelter.name = Silikon Fırını
block.phase-weaver.name = Faz Örücü block.phase-weaver.name = Faz Örücü
block.pulverizer.name = Pulverizatör block.pulverizer.name = Pulverizatör
@@ -1079,9 +1077,9 @@ block.coal-centrifuge.name = Kömür Santrifüjü
block.power-node.name = Enerji Noktası block.power-node.name = Enerji Noktası
block.power-node-large.name = Büyük Enerji Noktası block.power-node-large.name = Büyük Enerji Noktası
block.surge-tower.name = Akı Kulesi block.surge-tower.name = Akı Kulesi
block.diode.name = Batarya Diyotu block.diode.name = Pil Diyot
block.battery.name = Batarya block.battery.name = Pil
block.battery-large.name = Büyük Batarya block.battery-large.name = Büyük Pil
block.combustion-generator.name = Termik Jeneratör block.combustion-generator.name = Termik Jeneratör
block.steam-generator.name = Buhar Jeneratörü block.steam-generator.name = Buhar Jeneratörü
block.differential-generator.name = Diferansiyel Jeneratörü block.differential-generator.name = Diferansiyel Jeneratörü
@@ -1094,10 +1092,10 @@ block.cultivator.name = Ekici
block.conduit.name = Boru block.conduit.name = Boru
block.mechanical-pump.name = Mekanik Pompa block.mechanical-pump.name = Mekanik Pompa
block.item-source.name = Sonsuz Eşya Kaynağı block.item-source.name = Sonsuz Eşya Kaynağı
block.item-void.name = Eşya Yokedici block.item-void.name = Eşya Yok edici
block.liquid-source.name = Sonsuz Sıvı Kaynağı block.liquid-source.name = Sonsuz Sıvı Kaynağı
block.liquid-void.name = Sıvı Yokedici block.liquid-void.name = Sıvı yok edici
block.power-void.name = Enerji Yokedici block.power-void.name = Enerji Yok edici
block.power-source.name = Sonsuz Enerji Kaynağı block.power-source.name = Sonsuz Enerji Kaynağı
block.unloader.name = Boşaltıcı block.unloader.name = Boşaltıcı
block.vault.name = Depo block.vault.name = Depo
@@ -1109,14 +1107,14 @@ block.ripple.name = Ripple
block.phase-conveyor.name = Faz Konveyörü block.phase-conveyor.name = Faz Konveyörü
block.bridge-conveyor.name = Konveyör Köprüsü block.bridge-conveyor.name = Konveyör Köprüsü
block.plastanium-compressor.name = Plastanyum Kompresörü block.plastanium-compressor.name = Plastanyum Kompresörü
block.pyratite-mixer.name = Pirratit Mikseri block.pyratite-mixer.name = Piratit Mikseri
block.blast-mixer.name = Patlayıcı Bileşik Mikseri block.blast-mixer.name = Patlayıcı Bileşik Mikseri
block.solar-panel.name = Güneş Paneli block.solar-panel.name = Güneş Paneli
block.solar-panel-large.name = Büyük Güneş Paneli block.solar-panel-large.name = Büyük Güneş Paneli
block.oil-extractor.name = Petrol Çıkarıcı block.oil-extractor.name = Petrol Çıkarıcı
block.repair-point.name = Tamir Noktası block.repair-point.name = Tamir Noktası
block.pulse-conduit.name = Dalga Borusu block.pulse-conduit.name = Dalga Borusu
block.plated-conduit.name = Kaplı Boru block.plated-conduit.name = Zırhlı boru
block.phase-conduit.name = Faz Borusu block.phase-conduit.name = Faz Borusu
block.liquid-router.name = Sıvı Yönlendiricisi block.liquid-router.name = Sıvı Yönlendiricisi
block.liquid-tank.name = Sıvı Tankı block.liquid-tank.name = Sıvı Tankı
@@ -1136,43 +1134,41 @@ block.surge-wall-large.name = Büyük Akı Duvarı
block.cyclone.name = Cyclone block.cyclone.name = Cyclone
block.fuse.name = Fuse block.fuse.name = Fuse
block.shock-mine.name = Şok Mayını block.shock-mine.name = Şok Mayını
block.overdrive-projector.name = Hızlandırma Projektörü block.overdrive-projector.name = Aşırı Yükleme Projektörü
block.force-projector.name = Kalkan Projektörü block.force-projector.name = Kalkan Projektörü
block.arc.name = Arc block.arc.name = Arc
block.rtg-generator.name = RTG Jeneratörü block.rtg-generator.name = RTG Jeneratörü
block.spectre.name = Spectre block.spectre.name = Spectre
block.meltdown.name = Meltdown block.meltdown.name = Meltdown
block.foreshadow.name = Foreshadow
block.container.name = Konteyner block.container.name = Konteyner
block.launch-pad.name = Kalkış Pisti block.launch-pad.name = Kalkış Pisti
block.launch-pad-large.name = Büyük Kalkış Pisti block.launch-pad-large.name = Büyük Kalkış Pisti
block.segment.name = Segment block.segment.name = Segment
block.command-center.name = Komuta Merkezi block.command-center.name = Komuta Merkezi
block.ground-factory.name = Yer Birimi Fabrikası block.ground-factory.name = Kara Fabrikası
block.air-factory.name = Hava Birimi Fabrikası block.air-factory.name = Hava Fabrikası
block.naval-factory.name = Deniz Birimi Fabrikası block.naval-factory.name = Deniz Fabrikası
block.additive-reconstructor.name = Eklemeli Yeniden Yapılandırıcı block.additive-reconstructor.name = Katıklı Yeniden Yapılandırma
block.multiplicative-reconstructor.name = Çarpmalı Yeniden Yapılandırıcı block.multiplicative-reconstructor.name = Çarpımsal Yeniden Yapılandırıcı
block.exponential-reconstructor.name = Üstel Yeniden Yapılandırıcı block.exponential-reconstructor.name = Yükseltme Yapılandırıcısı
block.tetrative-reconstructor.name = Dörtlü Yeniden Yapılandırıcı block.tetrative-reconstructor.name = Dev Yapılandırıcı
block.payload-conveyor.name = Yük Konveyörü block.payload-conveyor.name = Birim Taşıma Konveyörü
block.payload-router.name = Yük Yönlendirici block.payload-router.name = Birim Yönlendiricisi
block.disassembler.name = Sökücü block.disassembler.name = Sökücü
block.silicon-crucible.name = Büyük Silikon Fırını block.silicon-crucible.name = Silikon Pota
block.overdrive-dome.name = Hızlandırma Kubbesi block.overdrive-dome.name = Aşırı Yükleme Kubbesi
block.switch.name = Düğme block.switch.name = Şalter
block.micro-processor.name = Mikro İşlemci block.micro-processor.name = Mikro İşlemci
block.logic-processor.name = İşlemci block.logic-processor.name = Mantık İşemcisi
block.hyper-processor.name = Hiper İşlemci block.hyper-processor.name = Hiper İşlemci
block.logic-display.name = Ekran block.logic-display.name = Çıktı Ekranı
block.large-logic-display.name = Büyük Ekran block.large-logic-display.name = Büyük Çıktı Ekranı
block.memory-cell.name = Bellek Hücresi block.memory-cell.name = Hafıza Hücresi
block.memory-bank.name = Bellek Bankası
team.blue.name = mavi team.blue.name = mavi
team.crux.name = öz team.crux.name = kırmızı
team.sharded.name = parçalanmış team.sharded.name = turuncu
team.orange.name = turuncu team.orange.name = turuncu
team.derelict.name = sahipsiz team.derelict.name = sahipsiz
team.green.name = yeşil team.green.name = yeşil
@@ -1180,7 +1176,7 @@ team.purple.name = mor
tutorial.next = [lightgray]<Devam etmek için dokunun.> tutorial.next = [lightgray]<Devam etmek için dokunun.>
tutorial.intro = [scarlet]Mindustry öğreticisine hoş geldiniz.[]\n[accent]Bakır kazarak[] başlayın. Bunu yapmak için merkezinize yakın bir bakır madenine dokunun.\n\n[accent]{0}/{1} bakır tutorial.intro = [scarlet]Mindustry öğreticisine hoş geldiniz.[]\n[accent]Bakır kazarak[] başlayın. Bunu yapmak için merkezinize yakın bir bakır madenine dokunun.\n\n[accent]{0}/{1} bakır
tutorial.intro.mobile = [scarlet]Mindustry öğreticisine hoş geldiniz.[]\nHareket etmek için ekranı kaydırın.\nYakınlaştırmak ve uzaklaştırmak için [accent]iki parmakla kıstırın[].\n[accent]Bakır kazarak[] başlayın. Bunu yapmak için merkezinize yakın bir bakır madenine dokunun.\n\n[accent]{0}/{1} bakır 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 = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatikman kazabilir.\nSağ alttaki matkap sekmesine tıklayınız.\n[accent]Mekanik matkabı[] seçiniz. Tıklayarak bir bakır madenine yerleştirin.\n Yapımı durdurmak için [accent]sağ tıklayın[] ve yakınlaştırmak ve uzaklaştırmak için [accent]CTRL basılı tutarak tekerleği kaydırın[]. tutorial.drill = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatikman kazabilir.\nSağ alttaki matkap sekmesine tıklayınız.\n[accent]Mekanik matkabı[] seçiniz. Tıklayarak bir bakır madenine yerleştirin.\n Yapımı durdurmak için [accent]sağ tıklayın[] ve yakınlaştırmak ve uzaklaştırmak için [accent]CTRL basılı tutarak tekerleği kaydırın[].
tutorial.drill.mobile = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatik olarak kazabilir.\nSağ alttaki matkap sekmesine dokunun.\n[accent]Mekanik matkabı[] seçin. \nDokunarak bir bakır madenine yerleştirin, sonra seçiminizi onaylamak için alttaki [accent] tik düğmesine[] basın.\nYerleştirmenizi iptal etmek için [accent] X butonuna[] basın. tutorial.drill.mobile = Manuel olarak kazmak verimsizdir.\n[accent]Matkaplar []otomatik olarak kazabilir.\nSağ alttaki matkap sekmesine dokunun.\n[accent]Mekanik matkabı[] seçin. \nDokunarak bir bakır madenine yerleştirin, sonra seçiminizi onaylamak için alttaki [accent] tik düğmesine[] basın.\nYerleştirmenizi iptal etmek için [accent] X butonuna[] basın.
tutorial.blockinfo = Her bloğun farklı istatistikleri vardır. Her matkap sadece belirli madenleri kazabilir.\nBir bloğun bilgi ve istatistiklerine bakmak için,[accent] yapım menüsünde seçerken "?" tuşuna dokunun.[]\n\n[accent]Şimdi mekanik matkabın istatistiklerine erişin.[] tutorial.blockinfo = Her bloğun farklı istatistikleri vardır. Her matkap sadece belirli madenleri kazabilir.\nBir bloğun bilgi ve istatistiklerine bakmak için,[accent] yapım menüsünde seçerken "?" tuşuna dokunun.[]\n\n[accent]Şimdi mekanik matkabın istatistiklerine erişin.[]
@@ -1230,8 +1226,8 @@ block.plastanium-compressor.description = Petrol ve titanyumdan plastanyum üret
block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir. block.phase-weaver.description = Kum ve radyoaktif toryumdan faz örgüsü üretir. Çalışması için çok miktarda enerji gerekir.
block.alloy-smelter.description = Akı alaşımı üretmek için titanyum, kurşun, silikon ve bakırı birleştirir. block.alloy-smelter.description = Akı alaşımı üretmek için titanyum, kurşun, silikon ve bakırı birleştirir.
block.cryofluid-mixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir. block.cryofluid-mixer.description = Su ve titanyum tozunu karıştırıp kriyosıvı üretir. Toryum reaktörü kullanımı için gereklidir.
block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini pirratit ile ezer ve karıştırır. block.blast-mixer.description = Patlayıcı bileşen üretmek için spor kapsüllerini piratit ile ezer ve karıştırır.
block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan pirratit üretir. block.pyratite-mixer.description = Kömür, kurşun ve kumu karıştırıp oldukça yanıcı olan piratit üretir.
block.melter.description = Wave taretlerinde kullanılması veya daha çok işlemesi için hurdayı eritip cürufa çevirir. block.melter.description = Wave taretlerinde kullanılması veya daha çok işlemesi için hurdayı eritip cürufa çevirir.
block.separator.description = Cürufu mineral bileşenlerine ayırır. Soğutulmuş bileşenleri çıkarır. block.separator.description = Cürufu mineral bileşenlerine ayırır. Soğutulmuş bileşenleri çıkarır.
block.spore-press.description = Yağ çıkartmak için aşırı basınç altında spor kapsüllerini sıkıştırır. block.spore-press.description = Yağ çıkartmak için aşırı basınç altında spor kapsüllerini sıkıştırır.
@@ -1243,13 +1239,13 @@ block.power-source.description = Sonsuz enerji verir. Sadece Yaratıcı Modda.
block.item-source.description = Seçilen eşyadan sonsuz verir. Sadece Yaratıcı Modda. block.item-source.description = Seçilen eşyadan sonsuz verir. Sadece Yaratıcı Modda.
block.item-void.description = Verilen eşyaları yok eder. Sadece Yaratıcı Modda. block.item-void.description = Verilen eşyaları yok eder. Sadece Yaratıcı Modda.
block.liquid-source.description = Seçilen sıvıyı sonsuz verir. Sadece Yaratıcı Modda. block.liquid-source.description = Seçilen sıvıyı sonsuz verir. Sadece Yaratıcı Modda.
block.liquid-void.description = Verilen sıvıları yok eder. Sadece Yaratıcı Modda. block.liquid-void.description = Removes any liquids. Sandbox only.
block.copper-wall.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve silahları korumak için kullanışlıdır. block.copper-wall.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve silahları korumak için kullanışlıdır.
block.copper-wall-large.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve taretleri korumak için kullanışlıdır.\nBirçok blok alan kaplar. block.copper-wall-large.description = Ucuz bir savunma bloğu.\nİlk birkaç dalgada merkezi ve taretleri korumak için kullanışlıdır.\nBirçok blok alan kaplar.
block.titanium-wall.description = Orta derecede güçlü savunma bloğu.\nDüşmanlardan orta derecede koruma sağlar. block.titanium-wall.description = Orta derecede güçlü savunma bloğu.\nDüşmanlardan orta derecede koruma sağlar.
block.titanium-wall-large.description = Orta derecede güçlü savunma bloğu.\nDüşmanlardan orta derecede koruma sağlar.\nBirçok blok alan kaplar. block.titanium-wall-large.description = Orta derecede güçlü savunma bloğu.\nDüşmanlardan orta derecede koruma sağlar.\nBirçok blok alan kaplar.
block.plastanium-wall.description = Elektrik arklarını emen ve otomatik enerji noktası bağlantılarını engelleyen özel bir duvar türü. block.plastanium-wall.description = A special type of wall that absorbs electric arcs and blocks automatic power node connections.
block.plastanium-wall-large.description = Elektrik arklarını emen ve otomatik enerji noktası bağlantılarını engelleyen özel bir duvar türü.\nBirçok blok alan kaplar. 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 = Güçlü bir savunma bloğu.\nDüşmanlardan iyi korunma sağlar. block.thorium-wall.description = Güçlü bir savunma bloğu.\nDüşmanlardan iyi korunma sağlar.
block.thorium-wall-large.description = Güçlü bir savunma bloğu.\nDüşmanlardan iyi korunma sağlar.\nBirçok blok alan kaplar. block.thorium-wall-large.description = Güçlü bir savunma bloğu.\nDüşmanlardan iyi korunma sağlar.\nBirçok blok alan kaplar.
block.phase-wall.description = Özel faz örgüsü bazlı yansıtıcı materyal ile kaplanmış bir duvar. Çoğu mermi çarpma anında saptırır. block.phase-wall.description = Özel faz örgüsü bazlı yansıtıcı materyal ile kaplanmış bir duvar. Çoğu mermi çarpma anında saptırır.
@@ -1265,23 +1261,23 @@ block.force-projector.description = Kendi etrafında altıgen güç alanı oluş
block.shock-mine.description = Mayına basan düşmanlara hasar verir. Düşmana neredeyse görünmezdir. block.shock-mine.description = Mayına basan düşmanlara hasar verir. Düşmana neredeyse görünmezdir.
block.conveyor.description = Temel materyal taşıma bloğu. Materyalleri ileri taşır ve onları diğer bloklara otomatik olarak yerleştirir. Çevrilebilir. block.conveyor.description = Temel materyal taşıma bloğu. Materyalleri ileri taşır ve onları diğer bloklara otomatik olarak yerleştirir. Çevrilebilir.
block.titanium-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri standart konveyörlerden daha hızlı taşır. block.titanium-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri standart konveyörlerden daha hızlı taşır.
block.plastanium-conveyor.description = Materyalleri gruplar halinde taşır.\nArkadan eşyaları kabul eder ve öndeki üç yöne boşaltır. block.plastanium-conveyor.description = Moves items in batches.\nAccepts items at the back, and unloads them in three directions at the front.
block.junction.description = Çakışan iki konveyör hattı arasında bir köprü görevi görür. İki farklı konveyörğn farklı hedeflere farklı materyalleri taşıdığı durumlarda kullanışlıdır. block.junction.description = Çakışan iki konveyör hattı arasında bir köprü görevi görür. İki farklı konveyörğn farklı hedeflere farklı materyalleri taşıdığı durumlarda kullanışlıdır.
block.bridge-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri her türlü arazi veya binanın üzerinden üç bloğa kadar uzağa taşıyabilir. block.bridge-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri her türlü arazi veya binanın üzerinden üç bloğa kadar uzağa taşıyabilir.
block.phase-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri kendisine bağlı bir başka faz konveyörüne ışınlamak için enerji kullanır. block.phase-conveyor.description = Gelişmiş materyal taşıma bloğu. Materyalleri kendisine bağlı bir başka faz konveyörüne ışınlamak için enerji kullanır.
block.sorter.description = Materyalleri ayıklar. Eğer materyal seçilen ile eşleşiyorsa geçmesine izin verilir. Yoksa materyal sağa ya da sola atılır. block.sorter.description = Materyalleri ayıklar. Eğer materyal seçilen ile eşleşiyorsa geçmesine izin verilir. Yoksa materyal sağa ya da sola atılır.
block.inverted-sorter.description = Materyalleri sıradan bir ayıklayıcı gibi işler, ancak seçili öğeleri önden değil yanlardan geçirir. block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
block.router.description = Materyalleri bir yönden alıp diğer üç yöne eşit olarak dağıtır. Materyalleri bir kaynaktan birden fazla hedefe iletmek için kullanılır.\n\n[scarlet]Asla üretim yapan binaların dibine yerleştirmeyin, yoksa istenmeyen materyaller tarafından tıkanabilir.[] block.router.description = Materyalleri bir yönden alıp diğer üç yöne eşit olarak dağıtır. Materyalleri bir kaynaktan birden fazla hedefe iletmek için kullanılır.\n\n[scarlet]Asla üretim yapan binaların dibine yerleştirmeyin, yoksa istenmeyen materyaller tarafından tıkanabilir.[]
block.distributor.description = Gelişmiş bir yönlendirici. Materyalleri yedi farklı yöne dağıtabilir. block.distributor.description = Gelişmiş bir yönlendirici. Materyalleri yedi farklı yöne dağıtabilir.
block.overflow-gate.description = Ayırıcı ve yönlendiricinin bir karışımı. Materyalleri sadece ön kısım kapalı olduğunda sağa ve sola atar. block.overflow-gate.description = Ayırıcı ve yönlendiricinin bir karışımı. Materyalleri sadece ön kısım kapalı olduğunda sağa ve sola atar.
block.underflow-gate.description = Taşma geçidinin zıttıdır. Sol ve sağ taraf kapalıysa materyalleri ön tarafa atar. 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 = En gelişmiş materyal taşıma bloğu. bir miktar materyalı alır ve onları uzak mesafedeki bir başka kütle sürücüsüne ateşler. Çalışması için enerji gerekir. block.mass-driver.description = En gelişmiş materyal taşıma bloğu. bir miktar materyalı alır ve onları uzak mesafedeki bir başka kütle sürücüsüne ateşler. Çalışması için enerji gerekir.
block.mechanical-pump.description = Hiç enerji harcamayan, düşük çıktılı, ucuz bir pompa. block.mechanical-pump.description = Hiç enerji harcamayan, düşük çıktılı, ucuz bir pompa.
block.rotary-pump.description = Daha gelişmiş bir pompa. Daha fazla sıvı depolar ama çalışması için enerji gerekir. block.rotary-pump.description = Daha gelişmiş bir pompa. Daha fazla sıvı depolar ama çalışması için enerji gerekir.
block.thermal-pump.description = En iyi pompa. block.thermal-pump.description = En iyi pompa.
block.conduit.description = Temel sıvı taşıma bloğu. Sıvıları ileri taşır. Pompalar ve diğer borularla birlikte kullanılır. block.conduit.description = Temel sıvı taşıma bloğu. Sıvıları ileri taşır. Pompalar ve diğer borularla birlikte kullanılır.
block.pulse-conduit.description = Gelişmiş bir sıvı taşıma bloğu. Sıvıları normal borulardan daha hızlı taşır ve onlardan daha fazla sıvı alır. block.pulse-conduit.description = Gelişmiş bir sıvı taşıma bloğu. Sıvıları normal borulardan daha hızlı taşır ve onlardan daha fazla sıvı alır.
block.plated-conduit.description = Sıvıları dalga borusuyla aynı güçte taşır ancak daha fazla zırha sahiptir. Borular dışında başka bir şekilde yandan sıvı kabul etmez.\nDaha az sızıntı yapar. 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 = Sıvıları bir yönden alıp diğer üç yöne eşit olarak dağıtır. Ayrıca kendisi de bir miktar sıvı depolayabilir. Sıvıları bir kaynaktan birden fazla hedefe iletmek için kullanılır. block.liquid-router.description = Sıvıları bir yönden alıp diğer üç yöne eşit olarak dağıtır. Ayrıca kendisi de bir miktar sıvı depolayabilir. Sıvıları bir kaynaktan birden fazla hedefe iletmek için kullanılır.
block.liquid-tank.description = Çok miktarda sıvıyı depolar. İhtiyaçları devamlı olmayan sıvıları yedek olarak saklamakta ya da önemli blokların devamlı olarak soğutulmasında kullanılabilir. block.liquid-tank.description = Çok miktarda sıvıyı depolar. İhtiyaçları devamlı olmayan sıvıları yedek olarak saklamakta ya da önemli blokların devamlı olarak soğutulmasında kullanılabilir.
block.liquid-junction.description = Çakışan iki boru hattı arasında bir köprü görevi görür. İki farklı borunun farklı hedeflere farklı sıvıları taşıdığı durumlarda kullanışlıdır. block.liquid-junction.description = Çakışan iki boru hattı arasında bir köprü görevi görür. İki farklı borunun farklı hedeflere farklı sıvıları taşıdığı durumlarda kullanışlıdır.
@@ -1290,13 +1286,13 @@ block.phase-conduit.description = Gelişmiş sıvı taşıma bloğu. Sıvıları
block.power-node.description = Bağlı düğümlere enerji sağlar. Ayrıca dibindeki bloklardan da enerji alıp onlara enerji verebilir. block.power-node.description = Bağlı düğümlere enerji sağlar. Ayrıca dibindeki bloklardan da enerji alıp onlara enerji verebilir.
block.power-node-large.description = Daha fazla menzil ve bağlantıya sahip daha gelişmiş bir güç düğümü block.power-node-large.description = Daha fazla menzil ve bağlantıya sahip daha gelişmiş bir güç düğümü
block.surge-tower.description = Daha az bağlantı sayısına sahip oldukça uzun menzilli bir güç düğümü. block.surge-tower.description = Daha az bağlantı sayısına sahip oldukça uzun menzilli bir güç düğümü.
block.diode.description = Pil gücü, bu bloktan yalnızca diğer tarafta daha az güç depolandığında sadece tek bir yöne akabilir. 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 = Enerji fazlasını yedek olarak saklar. Enerji açığında sakladığı enerjiyi salar. block.battery.description = Enerji fazlasını yedek olarak saklar. Enerji açığında sakladığı enerjiyi salar.
block.battery-large.description = Sıradan bataryadan çok daha fazla enerji depolar. block.battery-large.description = Sıradan bataryadan çok daha fazla enerji depolar.
block.combustion-generator.description = Kömür gibi yanıcı materyalleri yakarak enerji üretir. block.combustion-generator.description = Kömür gibi yanıcı materyalleri yakarak enerji üretir.
block.thermal-generator.description = Sıcak bölgelere konulduğunda enerji üretir. block.thermal-generator.description = Sıcak bölgelere konulduğunda enerji üretir.
block.steam-generator.description = Daha gelişmiş bir termik jeneratör. Daha verimlidir, ama buhar üretebilmek için suya ihtiyaç duyar. block.steam-generator.description = Daha gelişmiş bir termik jeneratör. Daha verimlidir, ama buhar üretebilmek için suya ihtiyaç duyar.
block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan pirratit arasındaki sıcaklık farkından yararlanır. block.differential-generator.description = Çok miktarda enerji üretir. Kriyosıvı ve yanan piratit arasındaki sıcaklık farkından yararlanır.
block.rtg-generator.description = Basit, güvenilir bir reaktör. Bozunan radyoaktif materyallerin ısısını kullanır. block.rtg-generator.description = Basit, güvenilir bir reaktör. Bozunan radyoaktif materyallerin ısısını kullanır.
block.solar-panel.description = Güneşten küçük miktarda enerji üretir. block.solar-panel.description = Güneşten küçük miktarda enerji üretir.
block.solar-panel-large.description = Standart güneş panelinin daha verimli bir versiyonu. block.solar-panel-large.description = Standart güneş panelinin daha verimli bir versiyonu.
@@ -1332,4 +1328,4 @@ block.cyclone.description = Büyük bir anti hava ve anti kara tareti. Yakının
block.spectre.description = Dev bir çift namlulu top. Hava ve kara birimlerine iri, zırh delici mermiler atar. block.spectre.description = Dev bir çift namlulu top. Hava ve kara birimlerine iri, zırh delici mermiler atar.
block.meltdown.description = Dev bir lazer topu. Yüklenip yakındaki düşmanlara uzun süreli lazer ışınları yollar. Çalışması için soğutucu gerekir. block.meltdown.description = Dev bir lazer topu. Yüklenip yakındaki düşmanlara uzun süreli lazer ışınları yollar. Çalışması için soğutucu gerekir.
block.repair-point.description = Kendisine en yakın hasarlı birimi tamir eder. block.repair-point.description = Kendisine en yakın hasarlı birimi tamir eder.
block.segment.description = Gelen mermilere zarar verir ve onları yok eder. Lazer mermilere etki etmez. block.segment.description = Gelen mermilere zarar verir ve onları yok eder. Lazer mermiler hedeflenmez.
+2 -2
View File
@@ -187,7 +187,7 @@ public class Vars implements Loadable{
public static ContentLoader content; public static ContentLoader content;
public static GameState state; public static GameState state;
public static EntityCollisions collisions; public static EntityCollisions collisions;
public static DefaultWaves defaultWaves; public static Waves waves;
public static LoopControl loops; public static LoopControl loops;
public static Platform platform = new Platform(){}; public static Platform platform = new Platform(){};
public static Mods mods; public static Mods mods;
@@ -256,7 +256,7 @@ public class Vars implements Loadable{
content = new ContentLoader(); content = new ContentLoader();
loops = new LoopControl(); loops = new LoopControl();
defaultWaves = new DefaultWaves(); waves = new Waves();
collisions = new EntityCollisions(); collisions = new EntityCollisions();
world = new World(); world = new World();
universe = new Universe(); universe = new Universe();
+7 -7
View File
@@ -1191,7 +1191,7 @@ public class Blocks implements ContentList{
requirements(Category.power, with(Items.lead, 100, Items.silicon, 75, Items.phaseFabric, 25, Items.plastanium, 75, Items.thorium, 50)); requirements(Category.power, with(Items.lead, 100, Items.silicon, 75, Items.phaseFabric, 25, Items.plastanium, 75, Items.thorium, 50));
size = 2; size = 2;
powerProduction = 4.5f; powerProduction = 4.5f;
itemDuration = 60 * 18f; itemDuration = 60 * 15f;
}}; }};
solarPanel = new SolarGenerator("solar-panel"){{ solarPanel = new SolarGenerator("solar-panel"){{
@@ -1543,10 +1543,10 @@ public class Blocks implements ContentList{
hasPower = true; hasPower = true;
size = 2; size = 2;
force = 5f; force = 7f;
scaledForce = 5.5f; scaledForce = 7f;
range = 160f; range = 220f;
damage = 0.4f; damage = 0.3f;
health = 160 * size * size; health = 160 * size * size;
rotateSpeed = 10; rotateSpeed = 10;
@@ -1991,8 +1991,8 @@ public class Blocks implements ContentList{
illuminator = new LightBlock("illuminator"){{ illuminator = new LightBlock("illuminator"){{
requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8)); requirements(Category.effect, BuildVisibility.lightingOnly, with(Items.graphite, 12, Items.silicon, 8));
brightness = 0.67f; brightness = 0.75f;
radius = 140f; radius = 160f;
consumes.power(0.06f); consumes.power(0.06f);
}}; }};
+4
View File
@@ -102,6 +102,7 @@ public class Bullets implements ContentList{
status = StatusEffects.burning; status = StatusEffects.burning;
frontColor = Pal.lightishOrange; frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
makeFire = true;
trailEffect = Fx.incendTrail; trailEffect = Fx.incendTrail;
}}; }};
@@ -265,6 +266,7 @@ public class Bullets implements ContentList{
homingPower = 0.08f; homingPower = 0.08f;
splashDamageRadius = 20f; splashDamageRadius = 20f;
splashDamage = 20f; splashDamage = 20f;
makeFire = true;
hitEffect = Fx.blastExplosion; hitEffect = Fx.blastExplosion;
status = StatusEffects.burning; status = StatusEffects.burning;
}}; }};
@@ -323,6 +325,7 @@ public class Bullets implements ContentList{
frontColor = Pal.lightishOrange; frontColor = Pal.lightishOrange;
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
status = StatusEffects.burning; status = StatusEffects.burning;
makeFire = true;
inaccuracy = 3f; inaccuracy = 3f;
lifetime = 60f; lifetime = 60f;
}}; }};
@@ -348,6 +351,7 @@ public class Bullets implements ContentList{
backColor = Pal.lightOrange; backColor = Pal.lightOrange;
status = StatusEffects.burning; status = StatusEffects.burning;
shootEffect = Fx.shootBig; shootEffect = Fx.shootBig;
makeFire = true;
pierceCap = 2; pierceCap = 2;
pierceBuilding = true; pierceBuilding = true;
}}; }};
+9 -9
View File
@@ -257,33 +257,33 @@ public class Fx{
randLenVectors(e.id, 9, 3 + 20f * e.finpow(), (x, y) -> { randLenVectors(e.id, 9, 3 + 20f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.4f); Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.4f);
}); });
}).ground(), }).layer(Layer.debris),
unitLand = new Effect(30, e -> { unitLand = new Effect(30, e -> {
color(Tmp.c1.set(e.color).mul(1.1f)); color(Tmp.c1.set(e.color).mul(1.1f));
randLenVectors(e.id, 6, 17f * e.finpow(), (x, y) -> { randLenVectors(e.id, 6, 17f * e.finpow(), (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.3f); Fill.circle(e.x + x, e.y + y, e.fout() * 4f + 0.3f);
}); });
}).ground(), }).layer(Layer.debris),
unitLandSmall = new Effect(30, e -> { unitLandSmall = new Effect(30, e -> {
color(Tmp.c1.set(e.color).mul(1.1f)); color(Tmp.c1.set(e.color).mul(1.1f));
randLenVectors(e.id, (int)(6 * e.rotation), 12f * e.finpow() * e.rotation, (x, y) -> { randLenVectors(e.id, (int)(6 * e.rotation), 12f * e.finpow() * e.rotation, (x, y) -> {
Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.1f); Fill.circle(e.x + x, e.y + y, e.fout() * 3f + 0.1f);
}); });
}).ground(), }).layer(Layer.debris),
unitPickup = new Effect(18, e -> { unitPickup = new Effect(18, e -> {
color(Pal.lightishGray); color(Pal.lightishGray);
stroke(e.fin() * 2f); stroke(e.fin() * 2f);
Lines.poly(e.x, e.y, 4, 13f * e.fout()); Lines.poly(e.x, e.y, 4, 13f * e.fout());
}).ground(), }).layer(Layer.debris),
landShock = new Effect(12, e -> { landShock = new Effect(12, e -> {
color(Pal.lancerLaser); color(Pal.lancerLaser);
stroke(e.fout() * 3f); stroke(e.fout() * 3f);
Lines.poly(e.x, e.y, 12, 20f * e.fout()); Lines.poly(e.x, e.y, 12, 20f * e.fout());
}).ground(), }).layer(Layer.debris),
pickup = new Effect(18, e -> { pickup = new Effect(18, e -> {
color(Pal.lightishGray); color(Pal.lightishGray);
@@ -1076,7 +1076,7 @@ public class Fx{
e.y + trnsy(lr, len) + Mathf.randomSeedRange(e.id + i + 8, 3f * e.fin()), e.y + trnsy(lr, len) + Mathf.randomSeedRange(e.id + i + 8, 3f * e.fin()),
1f, 2f, rot + e.fin() * 50f * i); 1f, 2f, rot + e.fin() * 50f * i);
}).ground(400f), }).layer(Layer.debris, 400f),
shellEjectMedium = new Effect(34f, e -> { shellEjectMedium = new Effect(34f, e -> {
color(Pal.lightOrange, Color.lightGray, Pal.lightishGray, e.fin()); color(Pal.lightOrange, Color.lightGray, Pal.lightishGray, e.fin());
@@ -1099,7 +1099,7 @@ public class Fx{
}); });
} }
}).ground(400f), }).layer(Layer.debris, 400f),
shellEjectBig = new Effect(22f, e -> { shellEjectBig = new Effect(22f, e -> {
color(Pal.lightOrange, Color.lightGray, Pal.lightishGray, e.fin()); color(Pal.lightOrange, Color.lightGray, Pal.lightishGray, e.fin());
@@ -1123,7 +1123,7 @@ public class Fx{
}); });
} }
}).ground(400f), }).layer(Layer.debris, 400f),
railShoot = new Effect(24f, e -> { railShoot = new Effect(24f, e -> {
e.scaled(10f, b -> { e.scaled(10f, b -> {
@@ -1500,7 +1500,7 @@ public class Fx{
color(Tmp.c1.set(e.color).mul(1.5f)); color(Tmp.c1.set(e.color).mul(1.5f));
stroke(e.fout() * 1.4f); stroke(e.fout() * 1.4f);
Lines.circle(e.x, e.y, (2f + e.fin() * 4f) * e.rotation); Lines.circle(e.x, e.y, (2f + e.fin() * 4f) * e.rotation);
}).ground(), }).layer(Layer.debris),
bubble = new Effect(20, e -> { bubble = new Effect(20, e -> {
color(Tmp.c1.set(e.color).shiftValue(0.1f)); color(Tmp.c1.set(e.color).shiftValue(0.1f));
+2 -1
View File
@@ -875,6 +875,7 @@ public class UnitTypes implements ContentList{
health = 75; health = 75;
engineOffset = 5.5f; engineOffset = 5.5f;
range = 140f; range = 140f;
targetAir = false;
weapons.add(new Weapon(){{ weapons.add(new Weapon(){{
y = 0f; y = 0f;
@@ -1290,7 +1291,7 @@ public class UnitTypes implements ContentList{
collides = false; collides = false;
healPercent = 15f; healPercent = 15f;
splashDamage = 320f; splashDamage = 240f;
splashDamageRadius = 120f; splashDamageRadius = 120f;
}}; }};
}}); }});
+1 -1
View File
@@ -363,7 +363,7 @@ public class NetClient implements ApplicationListener{
}); });
} }
@Remote(variants = Variant.one) @Remote(variants = Variant.one, called = Loc.server)
public static void setPosition(float x, float y){ public static void setPosition(float x, float y){
player.unit().set(x, y); player.unit().set(x, y);
player.set(x, y); player.set(x, y);
+13 -3
View File
@@ -50,9 +50,19 @@ public class EditorTile extends Tile{
return; return;
} }
op(OpType.block, block.id); if(!isCenter()){
if(rotation != 0) op(OpType.rotation, (byte)rotation); EditorTile cen = (EditorTile)build.tile;
if(team != Team.derelict) op(OpType.team, (byte)team.id); cen.op(OpType.rotation, (byte)build.rotation);
cen.op(OpType.team, (byte)build.team.id);
cen.op(OpType.block, block.id);
update();
}else{
if(build != null) op(OpType.rotation, (byte)build.rotation);
if(build != null) op(OpType.team, (byte)build.team.id);
op(OpType.block, block.id);
}
super.setBlock(type, team, rotation); super.setBlock(type, team, rotation);
} }
+5 -7
View File
@@ -137,7 +137,7 @@ public class MapEditor{
if(isFloor){ if(isFloor){
tile.setFloor(drawBlock.asFloor()); tile.setFloor(drawBlock.asFloor());
}else{ }else if(!(tile.block().isMultiblock() && !drawBlock.isMultiblock())){
if(drawBlock.rotate && tile.build != null && tile.build.rotation != rotation){ if(drawBlock.rotate && tile.build != null && tile.build.rotation != rotation){
addTileOp(TileOp.get(tile.x, tile.y, (byte)OpType.rotation.ordinal(), (byte)rotation)); addTileOp(TileOp.get(tile.x, tile.y, (byte)OpType.rotation.ordinal(), (byte)rotation));
} }
@@ -157,7 +157,7 @@ public class MapEditor{
boolean hasOverlap(int x, int y){ boolean hasOverlap(int x, int y){
Tile tile = world.tile(x, y); Tile tile = world.tile(x, y);
//allow direct replacement of blocks of the same size //allow direct replacement of blocks of the same size
if(tile != null && tile.isCenter() && tile.block() != drawBlock && tile.block().size == drawBlock.size){ if(tile != null && tile.isCenter() && tile.block() != drawBlock && tile.block().size == drawBlock.size && tile.x == x && tile.y == y){
return false; return false;
} }
@@ -168,12 +168,10 @@ public class MapEditor{
for(int dy = 0; dy < drawBlock.size; dy++){ for(int dy = 0; dy < drawBlock.size; dy++){
int worldx = dx + offsetx + x; int worldx = dx + offsetx + x;
int worldy = dy + offsety + y; int worldy = dy + offsety + y;
if(!(worldx == x && worldy == y)){ Tile other = world.tile(worldx, worldy);
Tile other = world.tile(worldx, worldy);
if(other != null && other.block().isMultiblock()){ if(other != null && other.block().isMultiblock()){
return true; return true;
}
} }
} }
} }
+2 -2
View File
@@ -81,7 +81,7 @@ public class WaveGraph extends Table{
for(int i = 0; i < values.length; i++){ for(int i = 0; i < values.length; i++){
float sum = 0; float sum = 0;
for(UnitType type : used.orderedItems()){ for(UnitType type : used.orderedItems()){
sum += type.health * values[i][type.id]; sum += (type.health) * values[i][type.id];
} }
float cx = graphX + i*spacing, cy = 2f + graphY + sum * (graphH - 4f) / maxHealth; float cx = graphX + i*spacing, cy = 2f + graphY + sum * (graphH - 4f) / maxHealth;
@@ -160,7 +160,7 @@ public class WaveGraph extends Table{
used.add(spawn.type); used.add(spawn.type);
} }
max = Math.max(max, values[index][spawn.type.id]); max = Math.max(max, values[index][spawn.type.id]);
healthsum += spawned * spawn.type.health; healthsum += spawned * (spawn.type.health);
sum += spawned; sum += spawned;
} }
maxTotal = Math.max(maxTotal, sum); maxTotal = Math.max(maxTotal, sum);
@@ -64,7 +64,7 @@ public class WaveInfoDialog extends BaseDialog{
}).disabled(b -> Core.app.getClipboardText() == null || Core.app.getClipboardText().isEmpty()); }).disabled(b -> Core.app.getClipboardText() == null || Core.app.getClipboardText().isEmpty());
dialog.cont.row(); dialog.cont.row();
dialog.cont.button("@settings.reset", () -> ui.showConfirm("@confirm", "@settings.clear.confirm", () -> { dialog.cont.button("@settings.reset", () -> ui.showConfirm("@confirm", "@settings.clear.confirm", () -> {
groups = JsonIO.copy(defaultWaves.get()); groups = JsonIO.copy(waves.get());
buildGroups(); buildGroups();
dialog.hide(); dialog.hide();
})); }));
@@ -98,7 +98,7 @@ public class WaveInfoDialog extends BaseDialog{
if(experimental){ if(experimental){
buttons.button("Random", Icon.refresh, () -> { buttons.button("Random", Icon.refresh, () -> {
groups.clear(); groups.clear();
groups = DefaultWaves.generate(1f / 10f); groups = Waves.generate(1f / 10f);
updateWaves(); updateWaves();
}).width(200f); }).width(200f);
} }
@@ -125,7 +125,7 @@ public class WaveInfoDialog extends BaseDialog{
} }
void setup(){ void setup(){
groups = JsonIO.copy(state.rules.spawns.isEmpty() ? defaultWaves.get() : state.rules.spawns); groups = JsonIO.copy(state.rules.spawns.isEmpty() ? waves.get() : state.rules.spawns);
cont.clear(); cont.clear();
cont.stack(new Table(Tex.clear, main -> { cont.stack(new Table(Tex.clear, main -> {
+8 -8
View File
@@ -27,8 +27,8 @@ public class Effect{
/** Clip size. */ /** Clip size. */
public float size; public float size;
public boolean ground; public float layer = Layer.effect;
public float groundDuration; public float layerDuration;
public Effect(float life, float clipsize, Cons<EffectContainer> renderer){ public Effect(float life, float clipsize, Cons<EffectContainer> renderer){
this.id = all.size; this.id = all.size;
@@ -42,14 +42,14 @@ public class Effect{
this(life,50f, renderer); this(life,50f, renderer);
} }
public Effect ground(){ public Effect layer(float l){
ground = true; layer = l;
return this; return this;
} }
public Effect ground(float duration){ public Effect layer(float l, float duration){
ground = true; layer = l;
this.groundDuration = duration; this.layerDuration = duration;
return this; return this;
} }
@@ -87,7 +87,7 @@ public class Effect{
public float render(int id, Color color, float life, float lifetime, float rotation, float x, float y, Object data){ public float render(int id, Color color, float life, float lifetime, float rotation, float x, float y, Object data){
container.set(id, color, life, lifetime, rotation, x, y, data); container.set(id, color, life, lifetime, rotation, x, y, data);
Draw.z(ground ? Layer.debris : Layer.effect); Draw.z(layer);
Draw.reset(); Draw.reset();
renderer.get(container); renderer.get(container);
Draw.reset(); Draw.reset();
@@ -79,8 +79,10 @@ public abstract class BulletType extends Content{
public boolean backMove = true; public boolean backMove = true;
/** Bullet range override. */ /** Bullet range override. */
public float range = -1f; public float range = -1f;
/** Heal Bullet Percent **/ /** % of block health healed **/
public float healPercent = 0f; public float healPercent = 0f;
/** whether to make fire on impact */
public boolean makeFire = false;
//additional effects //additional effects
@@ -158,7 +160,7 @@ public abstract class BulletType extends Content{
} }
public void hitTile(Bullet b, Building tile, float initialHealth){ public void hitTile(Bullet b, Building tile, float initialHealth){
if(status == StatusEffects.burning){ if(makeFire){
Fires.create(tile.tile); Fires.create(tile.tile);
} }
hit(b); hit(b);
@@ -216,7 +218,7 @@ public abstract class BulletType extends Content{
}); });
} }
if(status == StatusEffects.burning){ if(makeFire){
indexer.eachBlock(null, x, y, splashDamageRadius, other -> other.team != b.team, other -> { indexer.eachBlock(null, x, y, splashDamageRadius, other -> other.team != b.team, other -> {
Fires.create(other.tile); Fires.create(other.tile);
}); });
@@ -22,9 +22,9 @@ abstract class ShieldComp implements Healthc, Posc{
@Replace @Replace
@Override @Override
public void damage(float amount){ public void damage(float amount){
amount /= healthMultiplier;
//apply armor //apply armor
amount = Math.max(amount - armor, minArmorDamage * amount); amount = Math.max(amount - armor, minArmorDamage * amount);
amount /= healthMultiplier;
hitTime = 1f; hitTime = 1f;
@@ -237,12 +237,14 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
@Override @Override
public void add(){ public void add(){
team.data().updateCount(type, 1);
//check if over unit cap //check if over unit cap
if(count() > cap() && !spawnedByCore && !dead){ if(count() > cap() && !spawnedByCore && !dead){
Call.unitCapDeath(self()); Call.unitCapDeath(self());
team.data().updateCount(type, -1); team.data().updateCount(type, -1);
} }
} }
@Override @Override
+4 -1
View File
@@ -33,6 +33,7 @@ import mindustry.world.blocks.power.*;
import mindustry.world.blocks.production.*; import mindustry.world.blocks.production.*;
import mindustry.world.blocks.sandbox.*; import mindustry.world.blocks.sandbox.*;
import mindustry.world.blocks.storage.*; import mindustry.world.blocks.storage.*;
import mindustry.world.meta.*;
import java.io.*; import java.io.*;
import java.util.zip.*; import java.util.zip.*;
@@ -295,9 +296,11 @@ public class Schematics implements Loadable{
/** Checks a schematic for deployment validity and adds it to the cache. */ /** Checks a schematic for deployment validity and adds it to the cache. */
private void checkLoadout(Schematic s, boolean validate){ private void checkLoadout(Schematic s, boolean validate){
Stile core = s.tiles.find(t -> t.block instanceof CoreBlock); Stile core = s.tiles.find(t -> t.block instanceof CoreBlock);
int cores = s.tiles.count(t -> t.block instanceof CoreBlock);
//make sure a core exists, and that the schematic is small enough. //make sure a core exists, and that the schematic is small enough.
if(core == null || (validate && (s.width > core.block.size + maxLoadoutSchematicPad *2 || s.height > core.block.size + maxLoadoutSchematicPad *2))) return; if(core == null || (validate && (s.width > core.block.size + maxLoadoutSchematicPad *2 || s.height > core.block.size + maxLoadoutSchematicPad *2
|| s.tiles.contains(t -> t.block.buildVisibility == BuildVisibility.sandboxOnly || !t.block.unlocked()) || cores > 1))) return;
//place in the cache //place in the cache
loadouts.get((CoreBlock)core.block, Seq::new).add(s); loadouts.get((CoreBlock)core.block, Seq::new).add(s);
+10 -3
View File
@@ -57,6 +57,8 @@ public class SectorInfo{
public float secondsPassed; public float secondsPassed;
/** Display name. */ /** Display name. */
public @Nullable String name; public @Nullable String name;
/** Version of generated waves. When it doesn't match, new waves are generated. */
public int waveVersion = -1;
/** Special variables for simulation. */ /** Special variables for simulation. */
public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope; public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope;
@@ -118,12 +120,17 @@ public class SectorInfo{
state.rules.winWave = winWave; state.rules.winWave = winWave;
state.rules.attackMode = attack; state.rules.attackMode = attack;
//assign new wave patterns when the version changes
if(waveVersion != Waves.waveVersion && state.rules.sector.preset == null){
state.rules.spawns = Waves.generate(state.rules.sector.baseCoverage);
}
CoreBuild entity = state.rules.defaultTeam.core(); CoreBuild entity = state.rules.defaultTeam.core();
if(entity != null){ if(entity != null){
entity.items.clear(); entity.items.clear();
entity.items.add(items); entity.items.add(items);
//ensure capacity. //ensure capacity.
entity.items.each((i, a) -> entity.items.set(i, Math.min(a, entity.storageCapacity))); entity.items.each((i, a) -> entity.items.set(i, Mathf.clamp(a, 0, entity.storageCapacity)));
} }
} }
@@ -143,6 +150,7 @@ public class SectorInfo{
spawnPosition = entity.pos(); spawnPosition = entity.pos();
} }
waveVersion = Waves.waveVersion;
waveSpacing = state.rules.waveSpacing; waveSpacing = state.rules.waveSpacing;
wave = state.wave; wave = state.wave;
winWave = state.rules.winWave; winWave = state.rules.winWave;
@@ -200,8 +208,7 @@ public class SectorInfo{
} }
//get item delta //get item delta
//TODO is preventing negative production a good idea? int delta = coreItemCounts[item.id];
int delta = Math.max(ent == null ? 0 : coreItemCounts[item.id], 0);
//store means //store means
stat.means.add(delta); stat.means.add(delta);
+2 -1
View File
@@ -261,11 +261,12 @@ public class Teams{
} }
public void updateCount(UnitType type, int amount){ public void updateCount(UnitType type, int amount){
if(type == null) return;
unitCount = Math.max(amount + unitCount, 0); unitCount = Math.max(amount + unitCount, 0);
if(typeCounts == null || typeCounts.length <= type.id){ if(typeCounts == null || typeCounts.length <= type.id){
typeCounts = new int[Vars.content.units().size]; typeCounts = new int[Vars.content.units().size];
} }
typeCounts [type.id] = Math.max(amount + typeCounts [type.id], 0); typeCounts[type.id] = Math.max(amount + typeCounts[type.id], 0);
} }
public QuadTree<Unit> tree(){ public QuadTree<Unit> tree(){
@@ -9,7 +9,9 @@ import mindustry.type.*;
import static mindustry.content.UnitTypes.*; import static mindustry.content.UnitTypes.*;
public class DefaultWaves{ public class Waves{
public static final int waveVersion = 1;
private Seq<SpawnGroup> spawns; private Seq<SpawnGroup> spawns;
public Seq<SpawnGroup> get(){ public Seq<SpawnGroup> get(){
@@ -337,7 +339,7 @@ public class DefaultWaves{
step += (int)(rand.random(15, 30) * Mathf.lerp(1f, 0.5f, difficulty)); step += (int)(rand.random(15, 30) * Mathf.lerp(1f, 0.5f, difficulty));
} }
int bossWave = (int)(rand.random(30, 60) * Mathf.lerp(1f, 0.7f, difficulty)); int bossWave = (int)(rand.random(50, 70) * Mathf.lerp(1f, 0.6f, difficulty));
int bossSpacing = (int)(rand.random(25, 40) * Mathf.lerp(1f, 0.6f, difficulty)); int bossSpacing = (int)(rand.random(25, 40) * Mathf.lerp(1f, 0.6f, difficulty));
//main boss progression //main boss progression
@@ -244,7 +244,7 @@ public class MenuRenderer implements Disposable{
float size = Math.max(icon.width, icon.height) * Draw.scl * 1.6f; float size = Math.max(icon.width, icon.height) * Draw.scl * 1.6f;
flyers((x, y) -> { flyers((x, y) -> {
Draw.rect(flyerType.region, x - 12f, y - 13f, flyerRot - 90); Draw.rect(icon, x - 12f, y - 13f, flyerRot - 90);
}); });
flyers((x, y) -> { flyers((x, y) -> {
@@ -264,7 +264,7 @@ public class MenuRenderer implements Disposable{
(engineSize + Mathf.absin(Time.time(), 2f, engineSize / 4f)) / 2f); (engineSize + Mathf.absin(Time.time(), 2f, engineSize / 4f)) / 2f);
Draw.color(); Draw.color();
Draw.rect(flyerType.region, x, y, flyerRot - 90); Draw.rect(icon, x, y, flyerRot - 90);
}); });
} }
+5 -2
View File
@@ -2,6 +2,7 @@ package mindustry.io;
import arc.struct.*; import arc.struct.*;
import arc.struct.ObjectMap.*; import arc.struct.ObjectMap.*;
import arc.util.*;
import arc.util.io.*; import arc.util.io.*;
import mindustry.world.*; import mindustry.world.*;
@@ -60,9 +61,11 @@ public abstract class SaveFileReader{
protected final DataOutputStream dataBytesSmall = new DataOutputStream(byteOutputSmall); protected final DataOutputStream dataBytesSmall = new DataOutputStream(byteOutputSmall);
protected int lastRegionLength; protected int lastRegionLength;
protected @Nullable CounterInputStream currCounter;
protected void region(String name, DataInput stream, CounterInputStream counter, IORunner<DataInput> cons) throws IOException{ protected void region(String name, DataInput stream, CounterInputStream counter, IORunner<DataInput> cons) throws IOException{
counter.resetCount(); counter.resetCount();
this.currCounter = counter;
int length; int length;
try{ try{
length = readChunk(stream, cons); length = readChunk(stream, cons);
@@ -70,8 +73,8 @@ public abstract class SaveFileReader{
throw new IOException("Error reading region \"" + name + "\".", e); throw new IOException("Error reading region \"" + name + "\".", e);
} }
if(length != counter.count() - 4){ if(length != counter.count - 4){
throw new IOException("Error reading region \"" + name + "\": read length mismatch. Expected: " + length + "; Actual: " + (counter.count() - 4)); throw new IOException("Error reading region \"" + name + "\": read length mismatch. Expected: " + length + "; Actual: " + (counter.count - 4));
} }
} }
+1 -1
View File
@@ -107,7 +107,7 @@ public abstract class SaveVersion extends SaveFileReader{
state.wavetime = map.getFloat("wavetime", state.rules.waveSpacing); state.wavetime = map.getFloat("wavetime", state.rules.waveSpacing);
state.stats = JsonIO.read(GameStats.class, map.get("stats", "{}")); state.stats = JsonIO.read(GameStats.class, map.get("stats", "{}"));
state.rules = JsonIO.read(Rules.class, map.get("rules", "{}")); state.rules = JsonIO.read(Rules.class, map.get("rules", "{}"));
if(state.rules.spawns.isEmpty()) state.rules.spawns = defaultWaves.get(); if(state.rules.spawns.isEmpty()) state.rules.spawns = waves.get();
lastReadBuild = map.getInt("build", -1); lastReadBuild = map.getInt("build", -1);
if(!headless){ if(!headless){
+1 -1
View File
@@ -101,7 +101,7 @@ public class Map implements Comparable<Map>, Publishable{
//this replacement is a MASSIVE hack but it fixes some incorrect overwriting of team-specific rules. //this replacement is a MASSIVE hack but it fixes some incorrect overwriting of team-specific rules.
//may need to be tweaked later //may need to be tweaked later
Rules result = JsonIO.read(Rules.class, base, tags.get("rules", "{}").replace("teams:{2:{infiniteAmmo:true}},", "")); Rules result = JsonIO.read(Rules.class, base, tags.get("rules", "{}").replace("teams:{2:{infiniteAmmo:true}},", ""));
if(result.spawns.isEmpty()) result.spawns = Vars.defaultWaves.get(); if(result.spawns.isEmpty()) result.spawns = Vars.waves.get();
return result; return result;
}catch(Exception e){ }catch(Exception e){
//error reading rules. ignore? //error reading rules. ignore?
@@ -420,7 +420,7 @@ public class SerpuloPlanetGenerator extends PlanetGenerator{
state.rules.waves = sector.info.waves = true; state.rules.waves = sector.info.waves = true;
//TODO better waves //TODO better waves
state.rules.spawns = DefaultWaves.generate(difficulty); state.rules.spawns = Waves.generate(difficulty);
} }
@Override @Override
+1 -1
View File
@@ -295,7 +295,7 @@ public class ContentParser{
group.type = unit; group.type = unit;
} }
Vars.defaultWaves.get().addAll(groups); Vars.waves.get().addAll(groups);
} }
readFields(unit, value, true); readFields(unit, value, true);
+6
View File
@@ -21,6 +21,12 @@ public class ItemSeq implements Iterable<ItemStack>, Serializable{
stacks.each(this::add); stacks.each(this::add);
} }
public void checkNegative(){
for(int i = 0; i < values.length; i++){
if(values[i] < 0) values[i] = 0;
}
}
public ItemSeq copy(){ public ItemSeq copy(){
ItemSeq out = new ItemSeq(); ItemSeq out = new ItemSeq();
out.total = total; out.total = total;
+1
View File
@@ -170,6 +170,7 @@ public class Sector{
} }
}else if(hasBase()){ }else if(hasBase()){
items.each((item, amount) -> info.items.add(item, Math.min(info.storageCapacity - info.items.get(item), amount))); items.each((item, amount) -> info.items.add(item, Math.min(info.storageCapacity - info.items.get(item), amount)));
info.items.checkNegative();
saveInfo(); saveInfo();
} }
} }
+1
View File
@@ -217,6 +217,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{
//assign entity and type to blocks, so they act as proxies for this one //assign entity and type to blocks, so they act as proxies for this one
other.build = entity; other.build = entity;
other.block = block; other.block = block;
} }
} }
} }
@@ -19,6 +19,7 @@ public class LiquidTurret extends Turret{
public ObjectMap<Liquid, BulletType> ammoTypes = new ObjectMap<>(); public ObjectMap<Liquid, BulletType> ammoTypes = new ObjectMap<>();
public @Load("@-liquid") TextureRegion liquidRegion; public @Load("@-liquid") TextureRegion liquidRegion;
public @Load("@-top") TextureRegion topRegion; public @Load("@-top") TextureRegion topRegion;
public boolean extinguish = true;
public LiquidTurret(String name){ public LiquidTurret(String name){
super(name); super(name);
@@ -86,7 +87,7 @@ public class LiquidTurret extends Turret{
@Override @Override
protected void findTarget(){ protected void findTarget(){
if(liquids.current().canExtinguish()){ if(extinguish && liquids.current().canExtinguish()){
int tr = (int)(range / tilesize); int tr = (int)(range / tilesize);
for(int x = -tr; x <= tr; x++){ for(int x = -tr; x <= tr; x++){
for(int y = -tr; y <= tr; y++){ for(int y = -tr; y <= tr; y++){
@@ -144,7 +145,7 @@ public class LiquidTurret extends Turret{
@Override @Override
public boolean acceptLiquid(Building source, Liquid liquid){ public boolean acceptLiquid(Building source, Liquid liquid){
return ammoTypes.get(liquid) != null return ammoTypes.get(liquid) != null
&& (liquids.current() == liquid || (ammoTypes.containsKey(liquids.current()) && (liquids.current() == liquid || (ammoTypes.containsKey(liquid)
&& liquids.get(liquids.current()) <= 1f / ammoTypes.get(liquids.current()).ammoMultiplier + 0.001f)); && liquids.get(liquids.current()) <= 1f / ammoTypes.get(liquids.current()).ammoMultiplier + 0.001f));
} }
} }
@@ -12,6 +12,7 @@ import mindustry.graphics.*;
import mindustry.world.*; import mindustry.world.*;
import mindustry.world.blocks.payloads.*; import mindustry.world.blocks.payloads.*;
import mindustry.world.blocks.production.*; import mindustry.world.blocks.production.*;
import mindustry.world.meta.*;
import static mindustry.Vars.*; import static mindustry.Vars.*;
@@ -24,7 +25,7 @@ public class PayloadConveyor extends Block{
public PayloadConveyor(String name){ public PayloadConveyor(String name){
super(name); super(name);
group = BlockGroup.transportation;
size = 3; size = 3;
rotate = true; rotate = true;
update = true; update = true;
@@ -40,7 +40,7 @@ public class MessageBlock extends Block{
int count = 0; int count = 0;
for(int i = 0; i < text.length(); i++){ for(int i = 0; i < text.length(); i++){
char c = text.charAt(i); char c = text.charAt(i);
if(c == '\n' || c == '\r'){ if(c == '\n'){
count ++; count ++;
if(count <= maxNewlines){ if(count <= maxNewlines){
tile.message.append('\n'); tile.message.append('\n');
@@ -95,12 +95,12 @@ public class MessageBlock extends Block{
}else{ }else{
BaseDialog dialog = new BaseDialog("@editmessage"); BaseDialog dialog = new BaseDialog("@editmessage");
dialog.setFillParent(false); dialog.setFillParent(false);
TextArea a = dialog.cont.add(new TextArea(message.toString().replace("\n", "\r"))).size(380f, 160f).get(); TextArea a = dialog.cont.add(new TextArea(message.toString().replace("\r", "\n"))).size(380f, 160f).get();
a.setFilter((textField, c) -> { a.setFilter((textField, c) -> {
if(c == '\n' || c == '\r'){ if(c == '\n'){
int count = 0; int count = 0;
for(int i = 0; i < textField.getText().length(); i++){ for(int i = 0; i < textField.getText().length(); i++){
if(textField.getText().charAt(i) == '\n' || textField.getText().charAt(i) == '\r'){ if(textField.getText().charAt(i) == '\n'){
count++; count++;
} }
} }
@@ -280,8 +280,8 @@ public class PowerNode extends PowerBlock{
public void placed(){ public void placed(){
if(net.client()) return; if(net.client()) return;
Boolf<Building> valid = other -> other != null && other != this && ((!other.block.outputsPower && other.block.consumesPower) || Boolf<Building> valid = other -> other != null && other != this &&
(other.block.outputsPower && !other.block.consumesPower) || other.block instanceof PowerNode) && linkValid(this, other) (other.block.outputsPower || other.block.consumesPower || other.block instanceof PowerNode) && linkValid(this, other)
&& !other.proximity().contains(this) && other.power.graph != power.graph; && !other.proximity().contains(this) && other.power.graph != power.graph;
tempTileEnts.clear(); tempTileEnts.clear();
@@ -103,7 +103,7 @@ public class ItemModule extends BlockModule{
public void each(ItemConsumer cons){ public void each(ItemConsumer cons){
for(int i = 0; i < items.length; i++){ for(int i = 0; i < items.length; i++){
if(items[i] > 0){ if(items[i] != 0){
cons.accept(content.item(i), items[i]); cons.accept(content.item(i), items[i]);
} }
} }
+1 -1
View File
@@ -1,3 +1,3 @@
org.gradle.daemon=true org.gradle.daemon=true
org.gradle.jvmargs=-Xms256m -Xmx1024m org.gradle.jvmargs=-Xms256m -Xmx1024m
archash=f316225521c91df6c132b13fa2044d969ec39231 archash=64d0a3b6aee8ac3da5ae0db6e0ec2074349e996a
+3
View File
@@ -20,6 +20,8 @@
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>${app.version}</string> <string>${app.version}</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>CFBundleIconName</key> <key>CFBundleIconName</key>
<string>AppIcon</string> <string>AppIcon</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
@@ -53,6 +55,7 @@
<string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> <string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array> </array>
<key>CFBundleDocumentTypes</key> <key>CFBundleDocumentTypes</key>
+7
View File
@@ -45,4 +45,11 @@ createIPA.dependsOn build
robovm{ robovm{
archs = "thumbv7:arm64" archs = "thumbv7:arm64"
if(project.hasProperty("signIdentity")) println "iOS Sign Identity: " + project.property("signIdentity")
if(project.hasProperty("provisioningProfile")) println "iOS Provisioning Profile: " + project.property("provisioningProfile")
iosSignIdentity = project.properties["signIdentity"]
iosProvisioningProfile = project.properties["provisioningProfile"]
iosSkipSigning = false
} }
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16096" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="Logo" translatesAutoresizingMaskIntoConstraints="NO" id="hN2-E0-Tu8">
<rect key="frame" x="120" y="402" width="172" height="93"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
</imageView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<color key="tintColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="52.173913043478265" y="375"/>
</scene>
</scenes>
<resources>
<image name="Logo" width="243" height="41"/>
</resources>
</document>
+4
View File
@@ -22,6 +22,7 @@
<pattern>arc.scene.**</pattern> <pattern>arc.scene.**</pattern>
<pattern>mindustry.gen.Call</pattern> <pattern>mindustry.gen.Call</pattern>
<pattern>mindustry.net.**</pattern> <pattern>mindustry.net.**</pattern>
<pattern>mindustry.world.blocks.**</pattern>
<pattern>com.android.okhttp.HttpHandler</pattern> <pattern>com.android.okhttp.HttpHandler</pattern>
<pattern>com.android.okhttp.HttpsHandler</pattern> <pattern>com.android.okhttp.HttpsHandler</pattern>
<pattern>com.android.org.conscrypt.**</pattern> <pattern>com.android.org.conscrypt.**</pattern>
@@ -37,6 +38,9 @@
</forceLinkClasses> </forceLinkClasses>
<libs> <libs>
<lib>z</lib> <lib>z</lib>
<lib>libs/libObjectAL.a</lib>
<lib>libs/libarc.a</lib>
<lib>libs/libarc-freetype.a</lib>
</libs> </libs>
<frameworks> <frameworks>
<framework>UIKit</framework> <framework>UIKit</framework>
+1 -1
View File
@@ -205,7 +205,7 @@ public class IOSLauncher extends IOSApplication.Delegate{
UIInterfaceOrientation o = UIApplication.getSharedApplication().getStatusBarOrientation(); UIInterfaceOrientation o = UIApplication.getSharedApplication().getStatusBarOrientation();
return forced && (o == UIInterfaceOrientation.Portrait || o == UIInterfaceOrientation.PortraitUpsideDown); return forced && (o == UIInterfaceOrientation.Portrait || o == UIInterfaceOrientation.PortraitUpsideDown);
}); });
t.add("Please rotate the device to landscape orientation to use the editor.").wrap().grow(); t.add("Rotate the device to landscape orientation to use the editor.").wrap().grow();
}); });
})); }));
}); });
+1
View File
@@ -1 +1,2 @@
#!/usr/bin/env bash
java -jar server.jar java -jar server.jar
@@ -42,8 +42,8 @@ public class ServerControl implements ApplicationListener{
protected static DateTimeFormatter dateTime = DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss"), protected static DateTimeFormatter dateTime = DateTimeFormatter.ofPattern("MM-dd-yyyy HH:mm:ss"),
autosaveDate = DateTimeFormatter.ofPattern("MM-dd-yyyy_HH-mm-ss"); autosaveDate = DateTimeFormatter.ofPattern("MM-dd-yyyy_HH-mm-ss");
private final CommandHandler handler = new CommandHandler(""); public final CommandHandler handler = new CommandHandler("");
private final Fi logFolder = Core.settings.getDataDirectory().child("logs/"); public final Fi logFolder = Core.settings.getDataDirectory().child("logs/");
private Fi currentLogFile; private Fi currentLogFile;
private boolean inExtraRound; private boolean inExtraRound;
@@ -55,8 +55,7 @@ public class ServerControl implements ApplicationListener{
private Thread socketThread; private Thread socketThread;
private ServerSocket serverSocket; private ServerSocket serverSocket;
private PrintWriter socketOutput; private PrintWriter socketOutput;
private String suggested;
private String yes;
public ServerControl(String[] args){ public ServerControl(String[] args){
Core.settings.defaults( Core.settings.defaults(
@@ -916,10 +915,10 @@ public class ServerControl implements ApplicationListener{
}); });
handler.register("yes", "Run the last suggested incorrect command.", arg -> { handler.register("yes", "Run the last suggested incorrect command.", arg -> {
if(yes == null){ if(suggested == null){
err("There is nothing to say yes to."); err("There is nothing to say yes to.");
}else{ }else{
handleCommandString(yes); handleCommandString(suggested);
} }
}); });
@@ -953,7 +952,7 @@ public class ServerControl implements ApplicationListener{
if(closest != null){ if(closest != null){
err("Command not found. Did you mean \"" + closest.text + "\"?"); err("Command not found. Did you mean \"" + closest.text + "\"?");
yes = line.replace(response.runCommand, closest.text); suggested = line.replace(response.runCommand, closest.text);
}else{ }else{
err("Invalid command. Type 'help' for help."); err("Invalid command. Type 'help' for help.");
} }
@@ -962,7 +961,7 @@ public class ServerControl implements ApplicationListener{
}else if(response.type == ResponseType.manyArguments){ }else if(response.type == ResponseType.manyArguments){
err("Too many command arguments. Usage: " + response.command.text + " " + response.command.paramText); err("Too many command arguments. Usage: " + response.command.text + " " + response.command.paramText);
}else if(response.type == ResponseType.valid){ }else if(response.type == ResponseType.valid){
yes = null; suggested = null;
} }
} }