Compare commits
99 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0be674d7af | ||
|
|
e6499f7e5a | ||
|
|
10bd1d1969 | ||
|
|
ec94267b8e | ||
|
|
d3ad113bf5 | ||
|
|
8d7242a1ef | ||
|
|
13879dd374 | ||
|
|
0f519fd358 | ||
|
|
e7fb128499 | ||
|
|
c2d619cb7f | ||
|
|
78176cca90 | ||
|
|
dbc49649c0 | ||
|
|
49ee821029 | ||
|
|
e1499330bc | ||
|
|
222175e005 | ||
|
|
388927715e | ||
|
|
ac9e1febfb | ||
|
|
e47836cc64 | ||
|
|
f8f48f1c88 | ||
|
|
95e8a603a5 | ||
|
|
c400fd88f3 | ||
|
|
095d90fd22 | ||
|
|
797be92ddd | ||
|
|
7f23bd694c | ||
|
|
1cbf8b960a | ||
|
|
c8ce195522 | ||
|
|
4458ae042e | ||
|
|
1c3d7c1c73 | ||
|
|
dd05f5278c | ||
|
|
328cdac60f | ||
|
|
3ad9e44891 | ||
|
|
9039d52817 | ||
|
|
cdb3d29767 | ||
|
|
90fe5329e3 | ||
|
|
22e20cb2da | ||
|
|
72638fc215 | ||
|
|
65418529cd | ||
|
|
ceea0d1730 | ||
|
|
764ea699b1 | ||
|
|
1687ce3182 | ||
|
|
cee55afa5c | ||
|
|
f998bbbe4c | ||
|
|
08edce7906 | ||
|
|
55eb493d1f | ||
|
|
df26148e7c | ||
|
|
bb322f1bff | ||
|
|
72843e9c92 | ||
|
|
465c0e7dc3 | ||
|
|
e4e2b6ab00 | ||
|
|
b37ae484c0 | ||
|
|
18f1b5f9d2 | ||
|
|
96a92fd85f | ||
|
|
e5175d6309 | ||
|
|
b5ceee3336 | ||
|
|
c97826ed29 | ||
|
|
9c653a46bc | ||
|
|
9f5a183793 | ||
|
|
c2a6690d24 | ||
|
|
5e5b719704 | ||
|
|
bb5e454b91 | ||
|
|
ffb12f9c0b | ||
|
|
a89786d079 | ||
|
|
271d01dc9d | ||
|
|
d3ffaea042 | ||
|
|
a2fa65330d | ||
|
|
d3af66b7ed | ||
|
|
4a7960d64b | ||
|
|
c5226c9e59 | ||
|
|
3bad95b389 | ||
|
|
54ef7760b9 | ||
|
|
2ed5d34192 | ||
|
|
9336a2b4c5 | ||
|
|
eb92ca8cd7 | ||
|
|
f5866d7f72 | ||
|
|
dbbc72d00f | ||
|
|
2b4bcf0b0a | ||
|
|
0851f2d0e2 | ||
|
|
ea9ed841ee | ||
|
|
567f3fd3cd | ||
|
|
9dcd8dc419 | ||
|
|
e19bd9d434 | ||
|
|
35ecd26634 | ||
|
|
ac3bb37c36 | ||
|
|
17b8b285a3 | ||
|
|
788bf383aa | ||
|
|
8d0b889f3c | ||
|
|
d250fb655d | ||
|
|
74eb79de17 | ||
|
|
e2eabfc141 | ||
|
|
a3ee43b31c | ||
|
|
12dd16d4bf | ||
|
|
a5b9e57576 | ||
|
|
6c194d257c | ||
|
|
09598e0ced | ||
|
|
6af2696f6a | ||
|
|
69dac77932 | ||
|
|
2764e0e5fa | ||
|
|
fa5cdc3afa | ||
|
|
8dae5ec47a |
@@ -508,9 +508,9 @@ mode.survival.description = The normal mode. Limited resources and automatic inc
|
|||||||
mode.sandbox.name = Sandbox
|
mode.sandbox.name = Sandbox
|
||||||
mode.sandbox.description = Infinite resources and no timer for waves.
|
mode.sandbox.description = Infinite resources and no timer for waves.
|
||||||
mode.pvp.name = PvP
|
mode.pvp.name = PvP
|
||||||
mode.pvp.description = Fight against other players locally.
|
mode.pvp.description = Fight against other players locally. Requires at least 2 differently-colored cores in the map to play.
|
||||||
mode.attack.name = Attack
|
mode.attack.name = Attack
|
||||||
mode.attack.description = Destroy the enemy's base. No waves.
|
mode.attack.description = Destroy the enemy's base. No waves. Requires a red core in the map to play.
|
||||||
mode.custom = Custom Rules
|
mode.custom = Custom Rules
|
||||||
|
|
||||||
rules.infiniteresources = Infinite Resources
|
rules.infiniteresources = Infinite Resources
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ zone.overgrowth.name = Overgrowth
|
|||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = Tar Fields
|
||||||
settings.language = Langage
|
settings.language = Langage
|
||||||
settings.reset = Valeur par défaut.
|
settings.reset = Valeur par défaut.
|
||||||
settings.rebind = Réatttribuer
|
settings.rebind = Réattribuer
|
||||||
settings.controls = Contrôles
|
settings.controls = Contrôles
|
||||||
settings.game = Jeu
|
settings.game = Jeu
|
||||||
settings.sound = Son
|
settings.sound = Son
|
||||||
@@ -360,14 +360,14 @@ blocks.poweruse = Énergie utilisée
|
|||||||
blocks.powerdamage = Énergie/Dégâts
|
blocks.powerdamage = Énergie/Dégâts
|
||||||
blocks.itemcapacity = Stockage
|
blocks.itemcapacity = Stockage
|
||||||
blocks.basepowergeneration = Génération d'énergie minimale
|
blocks.basepowergeneration = Génération d'énergie minimale
|
||||||
blocks.productiontime = Production Time
|
blocks.productiontime = Temps de production
|
||||||
blocks.repairtime = Temps pour la Réparation Totale du Bloc
|
blocks.repairtime = Temps pour la Réparation Totale du Bloc
|
||||||
blocks.speedincrease = Speed Increase
|
blocks.speedincrease = Speed Increase
|
||||||
blocks.range = Portée
|
blocks.range = Portée
|
||||||
blocks.drilltier = Forable
|
blocks.drilltier = Forable
|
||||||
blocks.drillspeed = Vitesse de forage de base
|
blocks.drillspeed = Vitesse de forage de base
|
||||||
blocks.boosteffect = Boost Effect
|
blocks.boosteffect = Boost Effect
|
||||||
blocks.maxunits = Nombre d'unité actives maximal
|
blocks.maxunits = Nombre d'unités actives maximal
|
||||||
blocks.health = Santé
|
blocks.health = Santé
|
||||||
blocks.inaccuracy = Précision
|
blocks.inaccuracy = Précision
|
||||||
blocks.shots = Tir
|
blocks.shots = Tir
|
||||||
@@ -422,10 +422,10 @@ setting.antialias.name = Antialias[LIGHT_GRAY] (demande le redémarrage de l'app
|
|||||||
setting.indicators.name = Indicateurs pour les alliés
|
setting.indicators.name = Indicateurs pour les alliés
|
||||||
setting.autotarget.name = Visée automatique
|
setting.autotarget.name = Visée automatique
|
||||||
setting.fpscap.name = Max FPS
|
setting.fpscap.name = Max FPS
|
||||||
setting.fpscap.none = None
|
setting.fpscap.none = Aucun
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.swapdiagonal.name = Autoriser le placement des blocs en diagonal
|
setting.swapdiagonal.name = Autoriser le placement des blocs en diagonal
|
||||||
setting.difficulty.training = entraînement
|
setting.difficulty.training = Entraînement
|
||||||
setting.difficulty.easy = Facile
|
setting.difficulty.easy = Facile
|
||||||
setting.difficulty.normal = Normal
|
setting.difficulty.normal = Normal
|
||||||
setting.difficulty.hard = Difficile
|
setting.difficulty.hard = Difficile
|
||||||
@@ -441,14 +441,14 @@ setting.borderless.name = Fenêtre sans contour
|
|||||||
setting.fps.name = Afficher FPS
|
setting.fps.name = Afficher FPS
|
||||||
setting.vsync.name = VSync
|
setting.vsync.name = VSync
|
||||||
setting.lasers.name = Afficher les rayons des lasers
|
setting.lasers.name = Afficher les rayons des lasers
|
||||||
setting.pixelate.name = Pixelate[LIGHT_GRAY] (disables animations)
|
setting.pixelate.name = Pixeliser[LIGHT_GRAY] (disables animations)
|
||||||
setting.minimap.name = Montrer la minimap
|
setting.minimap.name = Montrer la minimap
|
||||||
setting.musicvol.name = Volume de la musique
|
setting.musicvol.name = Volume de la musique
|
||||||
setting.mutemusic.name = Couper la musique
|
setting.mutemusic.name = Couper la musique
|
||||||
setting.sfxvol.name = Volume des SFX
|
setting.sfxvol.name = Volume des SFX
|
||||||
setting.mutesound.name = Couper les SFX
|
setting.mutesound.name = Couper les SFX
|
||||||
setting.crashreport.name = Envoyer un rapport de crash anonyme
|
setting.crashreport.name = Envoyer un rapport de crash anonyme
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Opacité du chat
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Display In-Game Chat
|
||||||
keybind.title = Paramétrer les touches
|
keybind.title = Paramétrer les touches
|
||||||
category.general.name = Général
|
category.general.name = Général
|
||||||
@@ -465,7 +465,7 @@ keybind.screenshot.name = Capture d'écran
|
|||||||
keybind.move_x.name = mouvement x
|
keybind.move_x.name = mouvement x
|
||||||
keybind.move_y.name = mouvement y
|
keybind.move_y.name = mouvement y
|
||||||
keybind.select.name = sélectionner
|
keybind.select.name = sélectionner
|
||||||
keybind.diagonal_placement.name = Placement en diagonal
|
keybind.diagonal_placement.name = Placement en diagonale
|
||||||
keybind.pick.name = Choisir un bloc
|
keybind.pick.name = Choisir un bloc
|
||||||
keybind.break_block.name = Suppprimer un bloc
|
keybind.break_block.name = Suppprimer un bloc
|
||||||
keybind.deselect.name = Désélectionner
|
keybind.deselect.name = Désélectionner
|
||||||
@@ -488,17 +488,17 @@ keybind.drop_unit.name = drop unit
|
|||||||
keybind.zoom_minimap.name = Zoom minimap
|
keybind.zoom_minimap.name = Zoom minimap
|
||||||
mode.help.title = Description des modes de jeu
|
mode.help.title = Description des modes de jeu
|
||||||
mode.survival.name = Survival
|
mode.survival.name = Survival
|
||||||
mode.survival.description = The normal mode. Limited resources and automatic incoming waves.
|
mode.survival.description = Le mode normal. Ressources limitées et vagues automatiques.
|
||||||
mode.sandbox.name = bac à sable
|
mode.sandbox.name = bac à sable
|
||||||
mode.sandbox.description = Ressources infinies et pas de timer pour les vagues.
|
mode.sandbox.description = Ressources infinies et pas de minuterie pour les vagues.
|
||||||
mode.pvp.name = JcJ
|
mode.pvp.name = JcJ
|
||||||
mode.pvp.description = Battez-vous contre d'autres joueurs en local.
|
mode.pvp.description = Battez-vous contre d'autres joueurs en local.
|
||||||
mode.attack.name = Attack
|
mode.attack.name = Attaque
|
||||||
mode.attack.description = No waves, with the goal to destroy the enemy base.
|
mode.attack.description = Pas de vagues, avec le but de détruire la base ennemie.
|
||||||
mode.custom = Custom Rules
|
mode.custom = Règles personnalisées
|
||||||
rules.infiniteresources = Infinite Resources
|
rules.infiniteresources = Ressources infinies
|
||||||
rules.wavetimer = Wave Timer
|
rules.wavetimer = Minuterie pour les vagues
|
||||||
rules.waves = Waves
|
rules.waves = Vagues
|
||||||
rules.enemyCheat = Infinite AI Resources
|
rules.enemyCheat = Infinite AI Resources
|
||||||
rules.unitdrops = Unit Drops
|
rules.unitdrops = Unit Drops
|
||||||
rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
||||||
@@ -514,13 +514,13 @@ rules.buildspeedmultiplier = Build Speed Multiplier
|
|||||||
rules.waitForWaveToEnd = Waves wait for enemies
|
rules.waitForWaveToEnd = Waves wait for enemies
|
||||||
rules.dropzoneradius = Drop Zone Radius:[LIGHT_GRAY] (tiles)
|
rules.dropzoneradius = Drop Zone Radius:[LIGHT_GRAY] (tiles)
|
||||||
rules.respawns = Max respawns per wave
|
rules.respawns = Max respawns per wave
|
||||||
rules.limitedRespawns = Limit Respawns
|
rules.limitedRespawns = Limite de réapparition
|
||||||
rules.title.waves = Waves
|
rules.title.waves = Vagues
|
||||||
rules.title.respawns = Respawns
|
rules.title.respawns = Réapparitions
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.resourcesbuilding = Resources & Building
|
||||||
rules.title.player = Players
|
rules.title.player = Joueurs
|
||||||
rules.title.enemy = Enemies
|
rules.title.enemy = Ennemis
|
||||||
rules.title.unit = Units
|
rules.title.unit = Unités
|
||||||
content.item.name = Objets
|
content.item.name = Objets
|
||||||
content.liquid.name = Liquides
|
content.liquid.name = Liquides
|
||||||
content.unit.name = Unités
|
content.unit.name = Unités
|
||||||
@@ -553,8 +553,8 @@ item.blast-compound.name = Mélange explosif
|
|||||||
item.blast-compound.description = Un composé volatile utilisé dans les bombes et les explosifs. Bien qu'il puisse être utilisé comme carburant, ce n'est pas conseillé.
|
item.blast-compound.description = Un composé volatile utilisé dans les bombes et les explosifs. Bien qu'il puisse être utilisé comme carburant, ce n'est pas conseillé.
|
||||||
item.pyratite.name = Pyratite
|
item.pyratite.name = Pyratite
|
||||||
item.pyratite.description = Une substance extrêmement inflammable utilisée dans les armes incendiaires.
|
item.pyratite.description = Une substance extrêmement inflammable utilisée dans les armes incendiaires.
|
||||||
item.metaglass.name = Metaglass
|
item.metaglass.name = Métavitre
|
||||||
item.metaglass.description = A super-tough glass compound. Extensively used for liquid distribution and storage.
|
item.metaglass.description = Un composé de vitre super-résistant. Utilisé largement pour le transport et le stockage de liquides.
|
||||||
item.scrap.name = Scrap
|
item.scrap.name = Scrap
|
||||||
item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals.
|
item.scrap.description = Leftover remnants of old structures and units. Contains trace amounts of many different metals.
|
||||||
liquid.water.name = Eau
|
liquid.water.name = Eau
|
||||||
@@ -601,23 +601,23 @@ mech.itemcapacity = [LIGHT_GRAY]Capacité de stockage: {0}
|
|||||||
mech.minespeed = [LIGHT_GRAY]Vitesse de minage: {0}
|
mech.minespeed = [LIGHT_GRAY]Vitesse de minage: {0}
|
||||||
mech.minepower = [LIGHT_GRAY]Puissance du minage: {0}
|
mech.minepower = [LIGHT_GRAY]Puissance du minage: {0}
|
||||||
mech.ability = [LIGHT_GRAY]Compétence: {0}
|
mech.ability = [LIGHT_GRAY]Compétence: {0}
|
||||||
mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
mech.buildspeed = [LIGHT_GRAY]Vitesse de construction: {0}%
|
||||||
liquid.heatcapacity = [LIGHT_GRAY]Capacité Thermique: {0}
|
liquid.heatcapacity = [LIGHT_GRAY]Capacité Thermique: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
|
liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
||||||
block.grass.name = Grass
|
block.grass.name = Herbe
|
||||||
block.salt.name = Salt
|
block.salt.name = Sel
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = Roches de sel
|
||||||
block.pebbles.name = Pebbles
|
block.pebbles.name = Cailloux
|
||||||
block.tendrils.name = Tendrils
|
block.tendrils.name = Tendrils
|
||||||
block.sandrocks.name = Sand Rocks
|
block.sandrocks.name = Roches de sable
|
||||||
block.spore-pine.name = Spore Pine
|
block.spore-pine.name = Spore Pine
|
||||||
block.sporerocks.name = Spore Rocks
|
block.sporerocks.name = Spore Rocks
|
||||||
block.rock.name = Rock
|
block.rock.name = Roche
|
||||||
block.snowrock.name = Snow Rock
|
block.snowrock.name = Roches de neige
|
||||||
block.shale.name = Shale
|
block.shale.name = Shale
|
||||||
block.shale-boulder.name = Shale Boulder
|
block.shale-boulder.name = Shale Boulder
|
||||||
block.moss.name = Moss
|
block.moss.name = Mousse
|
||||||
block.shrubs.name = Shrubs
|
block.shrubs.name = Shrubs
|
||||||
block.spore-moss.name = Spore Moss
|
block.spore-moss.name = Spore Moss
|
||||||
block.shalerocks.name = Shale Rocks
|
block.shalerocks.name = Shale Rocks
|
||||||
@@ -642,44 +642,44 @@ block.darksand-tainted-water.name = Dark Sand Tainted Water
|
|||||||
block.tar.name = Pétrole
|
block.tar.name = Pétrole
|
||||||
block.stone.name = Roche
|
block.stone.name = Roche
|
||||||
block.sand.name = Sable
|
block.sand.name = Sable
|
||||||
block.darksand.name = Dark Sand
|
block.darksand.name = Sable sombre
|
||||||
block.ice.name = glace
|
block.ice.name = Glace
|
||||||
block.snow.name = Neige
|
block.snow.name = Neige
|
||||||
block.craters.name = Craters
|
block.craters.name = Cratères
|
||||||
block.sand-water.name = Sand water
|
block.sand-water.name = Sand water
|
||||||
block.darksand-water.name = Dark Sand Water
|
block.darksand-water.name = Dark Sand Water
|
||||||
block.char.name = Char
|
block.char.name = Char
|
||||||
block.holostone.name = Holo stone
|
block.holostone.name = Holo stone
|
||||||
block.ice-snow.name = Ice Snow
|
block.ice-snow.name = Ice Snow
|
||||||
block.rocks.name = Rocks
|
block.rocks.name = Roches
|
||||||
block.icerocks.name = Ice rocks
|
block.icerocks.name = Roches de glace
|
||||||
block.snowrocks.name = Snow Rocks
|
block.snowrocks.name = Roches de neige
|
||||||
block.dunerocks.name = Dune Rocks
|
block.dunerocks.name = Roches de dunes
|
||||||
block.pine.name = Pine
|
block.pine.name = Pin
|
||||||
block.white-tree-dead.name = White Tree Dead
|
block.white-tree-dead.name = Arbre blanc mort
|
||||||
block.white-tree.name = White Tree
|
block.white-tree.name = Arbre blanc
|
||||||
block.spore-cluster.name = Spore Cluster
|
block.spore-cluster.name = Spore Cluster
|
||||||
block.metal-floor.name = Metal Floor
|
block.metal-floor.name = Plancher de métal
|
||||||
block.metal-floor-2.name = Metal Floor 2
|
block.metal-floor-2.name = Plancher de métal 2
|
||||||
block.metal-floor-3.name = Metal Floor 3
|
block.metal-floor-3.name = Plancher de métal 3
|
||||||
block.metal-floor-5.name = Metal Floor 5
|
block.metal-floor-5.name = Plancher de métal 5
|
||||||
block.metal-floor-damaged.name = Metal Floor Damaged
|
block.metal-floor-damaged.name = Plancher de métal endommagé
|
||||||
block.creeptree.name = Creeptree
|
block.creeptree.name = Creeptree
|
||||||
block.dark-panel-1.name = Dark Panel 1
|
block.dark-panel-1.name = Panneau sombre 1
|
||||||
block.dark-panel-2.name = Dark Panel 2
|
block.dark-panel-2.name = Panneau sombre 2
|
||||||
block.dark-panel-3.name = Dark Panel 3
|
block.dark-panel-3.name = Panneau sombre 3
|
||||||
block.dark-panel-4.name = Dark Panel 4
|
block.dark-panel-4.name = Panneau sombre 4
|
||||||
block.dark-panel-5.name = Dark Panel 5
|
block.dark-panel-5.name = Panneau sombre 5
|
||||||
block.dark-panel-6.name = Dark Panel 6
|
block.dark-panel-6.name = Panneau sombre 6
|
||||||
block.dark-metal.name = Dark Metal
|
block.dark-metal.name = Métal Sombre
|
||||||
block.ignarock.name = Igna Rock
|
block.ignarock.name = Roches ignées
|
||||||
block.hotrock.name = Hot Rock
|
block.hotrock.name = Hot Rock
|
||||||
block.magmarock.name = Magma Rock
|
block.magmarock.name = Magma Rock
|
||||||
block.cliffs.name = Cliffs
|
block.cliffs.name = Falaises
|
||||||
block.copper-wall.name = Mur de cuivre
|
block.copper-wall.name = Mur de cuivre
|
||||||
block.copper-wall-large.name = Grand mur de cuivre
|
block.copper-wall-large.name = Grand mur de cuivre
|
||||||
block.titanium-wall.name = Titanium Wall
|
block.titanium-wall.name = Mur de titane
|
||||||
block.titanium-wall-large.name = Large Titanium Wall
|
block.titanium-wall-large.name = Grand mur de titane
|
||||||
block.phase-wall.name = Mur phasé
|
block.phase-wall.name = Mur phasé
|
||||||
block.phase-wall-large.name = Grand mur phasé
|
block.phase-wall-large.name = Grand mur phasé
|
||||||
block.thorium-wall.name = Mur en Thorium
|
block.thorium-wall.name = Mur en Thorium
|
||||||
@@ -696,7 +696,7 @@ block.titanium-conveyor.name = Convoyeur en titane
|
|||||||
block.junction.name = Jonction
|
block.junction.name = Jonction
|
||||||
block.router.name = [accent]routeur[]
|
block.router.name = [accent]routeur[]
|
||||||
block.distributor.name = Distributeur
|
block.distributor.name = Distributeur
|
||||||
block.sorter.name = Sorteur
|
block.sorter.name = Trieur
|
||||||
block.sorter.description = Trie les articles. Si un article rcorrespond à la sélection, il peut passer. Autrement, l'article est distribué vers la gauche ou la droite.
|
block.sorter.description = Trie les articles. Si un article rcorrespond à la sélection, il peut passer. Autrement, l'article est distribué vers la gauche ou la droite.
|
||||||
block.overflow-gate.name = Barrière de Débordement
|
block.overflow-gate.name = Barrière de Débordement
|
||||||
block.overflow-gate.description = C'est la combinaison entre un Routeur et un Diviseur qui peut seulement distribuer à gauche et à droite si le chemin de devant est bloqué.
|
block.overflow-gate.description = C'est la combinaison entre un Routeur et un Diviseur qui peut seulement distribuer à gauche et à droite si le chemin de devant est bloqué.
|
||||||
@@ -708,16 +708,16 @@ block.melter.name = Four à Fusion
|
|||||||
block.incinerator.name = Incinérateur
|
block.incinerator.name = Incinérateur
|
||||||
block.spore-press.name = Spore Press
|
block.spore-press.name = Spore Press
|
||||||
block.separator.name = Séparateur
|
block.separator.name = Séparateur
|
||||||
block.coal-centrifuge.name = Coal Centrifuge
|
block.coal-centrifuge.name = Centrifuge à charbon
|
||||||
block.power-node.name = Transmetteur énergétique
|
block.power-node.name = Transmetteur énergétique
|
||||||
block.power-node-large.name = Gros transmetteur énergétique
|
block.power-node-large.name = Gros transmetteur énergétique
|
||||||
block.surge-tower.name = Surge Tower
|
block.surge-tower.name = Surge Tower
|
||||||
block.battery.name = Batterie
|
block.battery.name = Batterie
|
||||||
block.battery-large.name = Batterie large
|
block.battery-large.name = Grande batterie
|
||||||
block.combustion-generator.name = Générateur à combustion
|
block.combustion-generator.name = Générateur à combustion
|
||||||
block.turbine-generator.name = Générateur à Turbine
|
block.turbine-generator.name = Générateur à Turbine
|
||||||
block.differential-generator.name = Differential Generator
|
block.differential-generator.name = Differential Generator
|
||||||
block.impact-reactor.name = Impact Reactor
|
block.impact-reactor.name = Réacteur à impact
|
||||||
block.mechanical-drill.name = Foreuse mécanique
|
block.mechanical-drill.name = Foreuse mécanique
|
||||||
block.pneumatic-drill.name = Foreuse à vérin
|
block.pneumatic-drill.name = Foreuse à vérin
|
||||||
block.laser-drill.name = Foreuse Laser
|
block.laser-drill.name = Foreuse Laser
|
||||||
@@ -776,7 +776,7 @@ block.thermal-generator.name = Générateur thermique
|
|||||||
block.alloy-smelter.name = Fonderie d'alliage superchargé
|
block.alloy-smelter.name = Fonderie d'alliage superchargé
|
||||||
block.mender.name = Mender
|
block.mender.name = Mender
|
||||||
block.mend-projector.name = Projecteur soignant
|
block.mend-projector.name = Projecteur soignant
|
||||||
block.surge-wall.name = mur superchargé
|
block.surge-wall.name = Mur superchargé
|
||||||
block.surge-wall-large.name = Grand mur superchargé
|
block.surge-wall-large.name = Grand mur superchargé
|
||||||
block.cyclone.name = Cyclone
|
block.cyclone.name = Cyclone
|
||||||
block.fuse.name = Fuse
|
block.fuse.name = Fuse
|
||||||
@@ -788,16 +788,16 @@ block.rtg-generator.name = G.T.R.
|
|||||||
block.spectre.name = Spectre
|
block.spectre.name = Spectre
|
||||||
block.meltdown.name = Meltdown
|
block.meltdown.name = Meltdown
|
||||||
block.container.name = Conteneur
|
block.container.name = Conteneur
|
||||||
block.launch-pad.name = Launch Pad
|
block.launch-pad.name = Plateforme de lancement
|
||||||
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
block.launch-pad.description = Launches batches of items without any need for a core launch. Unfinished.
|
||||||
block.launch-pad-large.name = Large Launch Pad
|
block.launch-pad-large.name = Grande plateforme de lancement
|
||||||
team.blue.name = Bleu
|
team.blue.name = Bleu
|
||||||
team.red.name = Rouge
|
team.red.name = Rouge
|
||||||
team.orange.name = Orange
|
team.orange.name = Orange
|
||||||
team.none.name = Gris
|
team.none.name = Gris
|
||||||
team.green.name = Vert
|
team.green.name = Vert
|
||||||
team.purple.name = Violet
|
team.purple.name = Violet
|
||||||
unit.spirit.name = Drone sppirituel
|
unit.spirit.name = Drone spirituel
|
||||||
unit.spirit.description = L'unité de soutien de départ. Apparaît dans la base par défaut. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs.
|
unit.spirit.description = L'unité de soutien de départ. Apparaît dans la base par défaut. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs.
|
||||||
unit.phantom.name = Drone Fantôme
|
unit.phantom.name = Drone Fantôme
|
||||||
unit.phantom.description = Une unité de soutien avancée. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs. Bien plus efficace qu'un drone spirituel.
|
unit.phantom.description = Une unité de soutien avancée. Mine automatiquement les minerais, récupère les objets au sol et répare les blocs. Bien plus efficace qu'un drone spirituel.
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ link.google-play.description = Page Google Play du jeu
|
|||||||
link.wiki.description = Wiki officiel de Mindustry
|
link.wiki.description = Wiki officiel de Mindustry
|
||||||
linkfail = L'ouverture du lien a échoué!\nL'URL a été copiée dans votre presse-papier.
|
linkfail = L'ouverture du lien a échoué!\nL'URL a été copiée dans votre presse-papier.
|
||||||
screenshot = Capture d'écran enregistrée sur {0}
|
screenshot = Capture d'écran enregistrée sur {0}
|
||||||
screenshot.invalid = Map too large, potentially not enough memory for screenshot.
|
screenshot.invalid = Carte trop grande, potentiellement pas assez de mémoire pour la capture d'écran.
|
||||||
gameover = Le base a été détruit.
|
gameover = Le base a été détruite.
|
||||||
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
|
gameover.pvp = L'équipe[accent] {0}[] a gagnée !
|
||||||
highscore = [accent]Nouveau meilleur score !
|
highscore = [accent]Nouveau meilleur score !
|
||||||
stat.wave = Vagues vaincues:[accent] {0}
|
stat.wave = Vagues vaincues:[accent] {0}
|
||||||
@@ -52,11 +52,11 @@ name = Nom:
|
|||||||
noname = Choisissez d'abord [accent]un pseudo[].
|
noname = Choisissez d'abord [accent]un pseudo[].
|
||||||
filename = Nom du fichier:
|
filename = Nom du fichier:
|
||||||
unlocked = Nouveau bloc debloqué!
|
unlocked = Nouveau bloc debloqué!
|
||||||
completed = [accent]Completed
|
completed = [accent]Terminé
|
||||||
techtree = Tech Tree
|
techtree = Arbre technologique
|
||||||
research.list = [LIGHT_GRAY]Research:
|
research.list = [LIGHT_GRAY]Recherche:
|
||||||
research = Research
|
research = Recherche
|
||||||
researched = [LIGHT_GRAY]{0} researched.
|
researched = [LIGHT_GRAY]{0} recherchée.
|
||||||
players = {0} joueurs en ligne
|
players = {0} joueurs en ligne
|
||||||
players.single = {0} joueur en ligne
|
players.single = {0} joueur en ligne
|
||||||
server.closing = [accent]Fermeture du serveur ...
|
server.closing = [accent]Fermeture du serveur ...
|
||||||
@@ -155,7 +155,7 @@ confirm = Confirmer
|
|||||||
delete = Supprimer
|
delete = Supprimer
|
||||||
ok = OK
|
ok = OK
|
||||||
open = Ouvrir
|
open = Ouvrir
|
||||||
customize = Customize
|
customize = Personnaliser
|
||||||
cancel = Annuler
|
cancel = Annuler
|
||||||
openlink = Ouvrir le lien
|
openlink = Ouvrir le lien
|
||||||
copylink = Copier le lien
|
copylink = Copier le lien
|
||||||
@@ -172,7 +172,7 @@ loading = [accent]Chargement...
|
|||||||
saving = [accent]Sauvegarde...
|
saving = [accent]Sauvegarde...
|
||||||
wave = [accent]Vague {0}
|
wave = [accent]Vague {0}
|
||||||
wave.waiting = [LIGHT_GRAY]Prochaine vague dans {0}
|
wave.waiting = [LIGHT_GRAY]Prochaine vague dans {0}
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
wave.waveInProgress = [LIGHT_GRAY]Vague en cours
|
||||||
waiting = [LIGHT_GRAY]En attente...
|
waiting = [LIGHT_GRAY]En attente...
|
||||||
waiting.players = En attente de joueurs ...
|
waiting.players = En attente de joueurs ...
|
||||||
wave.enemies = [LIGHT_GRAY]{0} Ennemis restants
|
wave.enemies = [LIGHT_GRAY]{0} Ennemis restants
|
||||||
@@ -315,15 +315,15 @@ error.mapnotfound = Fichier de carte introuvable !
|
|||||||
error.io = Network I/O error.
|
error.io = Network I/O error.
|
||||||
error.any = Erreur réseau inconnue.
|
error.any = Erreur réseau inconnue.
|
||||||
zone.groundZero.name = Première Bataille
|
zone.groundZero.name = Première Bataille
|
||||||
zone.desertWastes.name = Desert Wastes
|
zone.desertWastes.name = Déchets du désert
|
||||||
zone.craters.name = Les Cratères
|
zone.craters.name = Les Cratères
|
||||||
zone.frozenForest.name = Forêt Glaciale
|
zone.frozenForest.name = Forêt Glaciale
|
||||||
zone.ruinousShores.name = Rives en Ruine
|
zone.ruinousShores.name = Rives en Ruine
|
||||||
zone.stainedMountains.name = Montagnes Tâchetées
|
zone.stainedMountains.name = Montagnes Tâchetées
|
||||||
zone.desolateRift.name = Fissure abandonnée
|
zone.desolateRift.name = Fissure abandonnée
|
||||||
zone.nuclearComplex.name = Complexe nucléaire
|
zone.nuclearComplex.name = Complexe nucléaire
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = Surcroissance
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = Champs de goudron
|
||||||
settings.language = Langage
|
settings.language = Langage
|
||||||
settings.reset = Valeur par défaut.
|
settings.reset = Valeur par défaut.
|
||||||
settings.rebind = Réatttribuer
|
settings.rebind = Réatttribuer
|
||||||
@@ -448,8 +448,8 @@ setting.mutemusic.name = Couper la musique
|
|||||||
setting.sfxvol.name = Volume des SFX
|
setting.sfxvol.name = Volume des SFX
|
||||||
setting.mutesound.name = Couper les SFX
|
setting.mutesound.name = Couper les SFX
|
||||||
setting.crashreport.name = Envoyer des rapports d'incident anonymement.
|
setting.crashreport.name = Envoyer des rapports d'incident anonymement.
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = Opacité du tchat
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = Afficher le tchat en jeu
|
||||||
keybind.title = Paramétrer les touches
|
keybind.title = Paramétrer les touches
|
||||||
category.general.name = Général
|
category.general.name = Général
|
||||||
category.view.name = Voir
|
category.view.name = Voir
|
||||||
@@ -474,7 +474,7 @@ keybind.zoom_hold.name = Tenir le zoom
|
|||||||
keybind.zoom.name = Zoom
|
keybind.zoom.name = Zoom
|
||||||
keybind.menu.name = Menu
|
keybind.menu.name = Menu
|
||||||
keybind.pause.name = Pause
|
keybind.pause.name = Pause
|
||||||
keybind.minimap.name = Minimap
|
keybind.minimap.name = Mini-Map
|
||||||
keybind.dash.name = Sprint
|
keybind.dash.name = Sprint
|
||||||
keybind.chat.name = Tchat
|
keybind.chat.name = Tchat
|
||||||
keybind.player_list.name = Liste des joueurs
|
keybind.player_list.name = Liste des joueurs
|
||||||
@@ -503,24 +503,24 @@ rules.enemyCheat = Ressources infinies pour l'IA
|
|||||||
rules.unitdrops = Uniter Drops
|
rules.unitdrops = Uniter Drops
|
||||||
rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités
|
rules.unitbuildspeedmultiplier = Multiplicateur de vitesse de création d'unités
|
||||||
rules.unithealthmultiplier = Multiplicateur de la santé des unités
|
rules.unithealthmultiplier = Multiplicateur de la santé des unités
|
||||||
rules.playerhealthmultiplier = Player Health Multiplier
|
rules.playerhealthmultiplier = Multiplicateur de la santé des joueurs
|
||||||
rules.playerdamagemultiplier = Multiplicateur des dégâts du joueur
|
rules.playerdamagemultiplier = Multiplicateur de dégât des joueurs
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = Multiplicateur de dégât des unités
|
||||||
rules.enemycorebuildradius = Rayon de non-construction autour de la base ennemi:[LIGHT_GRAY] (tuiles)
|
rules.enemycorebuildradius = Rayon de non-construction autour de la base ennemi:[LIGHT_GRAY] (tuiles)
|
||||||
rules.respawntime = Temps de réapparition:[LIGHT_GRAY] (sec)
|
rules.respawntime = Temps de réapparition:[LIGHT_GRAY] (sec)
|
||||||
rules.wavespacing = Espacement des vagues:[LIGHT_GRAY] (sec)
|
rules.wavespacing = Espacement des vagues:[LIGHT_GRAY] (sec)
|
||||||
rules.buildcostmultiplier = Multiplicateur de coût de construction
|
rules.buildcostmultiplier = Multiplicateur de coût de construction
|
||||||
rules.buildspeedmultiplier = Multiplicateur de vitesse de construction
|
rules.buildspeedmultiplier = Multiplicateur de vitesse de construction
|
||||||
rules.waitForWaveToEnd = Waves wait for enemies
|
rules.waitForWaveToEnd = Les vagues attendent les ennemis
|
||||||
rules.dropzoneradius = Drop Zone Radius:[LIGHT_GRAY] (tiles)
|
rules.dropzoneradius = Rayon de la zone de largage:[LIGHT_GRAY] (tuiles)
|
||||||
rules.respawns = Max respawns per wave
|
rules.respawns = Max d'apparition par vague
|
||||||
rules.limitedRespawns = Limit Respawns
|
rules.limitedRespawns = Limite d'apparition
|
||||||
rules.title.waves = Waves
|
rules.title.waves = Vagues
|
||||||
rules.title.respawns = Respawns
|
rules.title.respawns = Apparition
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.resourcesbuilding = Ressources & Bâtiment
|
||||||
rules.title.player = Players
|
rules.title.player = Joueurs
|
||||||
rules.title.enemy = Enemies
|
rules.title.enemy = Ennemis
|
||||||
rules.title.unit = Units
|
rules.title.unit = Unités
|
||||||
content.item.name = Objets
|
content.item.name = Objets
|
||||||
content.liquid.name = Liquides
|
content.liquid.name = Liquides
|
||||||
content.unit.name = Unités
|
content.unit.name = Unités
|
||||||
@@ -607,9 +607,9 @@ liquid.viscosity = [LIGHT_GRAY]Viscosité: {0}
|
|||||||
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
liquid.temperature = [LIGHT_GRAY]Température: {0}
|
||||||
block.grass.name = Herbe
|
block.grass.name = Herbe
|
||||||
block.salt.name = Sel
|
block.salt.name = Sel
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = Roches de sel
|
||||||
block.pebbles.name = Pebbles
|
block.pebbles.name = Cailloux
|
||||||
block.tendrils.name = Tendrils
|
block.tendrils.name = Vrilles
|
||||||
block.sandrocks.name = Roche de sableuse
|
block.sandrocks.name = Roche de sableuse
|
||||||
block.spore-pine.name = Pin sporifère
|
block.spore-pine.name = Pin sporifère
|
||||||
block.sporerocks.name = Roche sporifère
|
block.sporerocks.name = Roche sporifère
|
||||||
@@ -618,7 +618,7 @@ block.snowrock.name = Roche enneigée
|
|||||||
block.shale.name = Schiste
|
block.shale.name = Schiste
|
||||||
block.shale-boulder.name = Rocher de schiste
|
block.shale-boulder.name = Rocher de schiste
|
||||||
block.moss.name = Mousse
|
block.moss.name = Mousse
|
||||||
block.shrubs.name = Shrubs
|
block.shrubs.name = Arbustes
|
||||||
block.spore-moss.name = Mousse sporifère
|
block.spore-moss.name = Mousse sporifère
|
||||||
block.shalerocks.name = Roche de schiste
|
block.shalerocks.name = Roche de schiste
|
||||||
block.scrap-wall.name = Mur de ferraille
|
block.scrap-wall.name = Mur de ferraille
|
||||||
@@ -664,14 +664,14 @@ block.metal-floor-2.name = Sol métallique 2
|
|||||||
block.metal-floor-3.name = Sol métallique 3
|
block.metal-floor-3.name = Sol métallique 3
|
||||||
block.metal-floor-5.name = Sol métallique 5
|
block.metal-floor-5.name = Sol métallique 5
|
||||||
block.metal-floor-damaged.name = Sol métallique endommagé
|
block.metal-floor-damaged.name = Sol métallique endommagé
|
||||||
block.creeptree.name = Creeptree
|
block.creeptree.name = Arbre effrayant
|
||||||
block.dark-panel-1.name = Dark Panel 1
|
block.dark-panel-1.name = Panneau noir 1
|
||||||
block.dark-panel-2.name = Dark Panel 2
|
block.dark-panel-2.name = Panneau noir 2
|
||||||
block.dark-panel-3.name = Dark Panel 3
|
block.dark-panel-3.name = Panneau noir 3
|
||||||
block.dark-panel-4.name = Dark Panel 4
|
block.dark-panel-4.name = Panneau noir 4
|
||||||
block.dark-panel-5.name = Dark Panel 5
|
block.dark-panel-5.name = Panneau noir 5
|
||||||
block.dark-panel-6.name = Dark Panel 6
|
block.dark-panel-6.name = Panneau noir 6
|
||||||
block.dark-metal.name = Dark Metal
|
block.dark-metal.name = Métal noir
|
||||||
block.ignarock.name = Roche d'igna
|
block.ignarock.name = Roche d'igna
|
||||||
block.hotrock.name = Roche chaude
|
block.hotrock.name = Roche chaude
|
||||||
block.magmarock.name = Roche de magma
|
block.magmarock.name = Roche de magma
|
||||||
@@ -708,7 +708,7 @@ block.melter.name = Four à Fusion
|
|||||||
block.incinerator.name = Incinérateur
|
block.incinerator.name = Incinérateur
|
||||||
block.spore-press.name = Spore presse
|
block.spore-press.name = Spore presse
|
||||||
block.separator.name = Séparateur
|
block.separator.name = Séparateur
|
||||||
block.coal-centrifuge.name = Coal Centrifuge
|
block.coal-centrifuge.name = Centrifugeuse à charbon
|
||||||
block.power-node.name = Transmetteur énergétique
|
block.power-node.name = Transmetteur énergétique
|
||||||
block.power-node-large.name = Grand transmetteur énergétique
|
block.power-node-large.name = Grand transmetteur énergétique
|
||||||
block.surge-tower.name = Tour de surtension
|
block.surge-tower.name = Tour de surtension
|
||||||
|
|||||||
@@ -3,28 +3,31 @@ credits = クレジット
|
|||||||
contributors = 翻訳や協力してくださった方々
|
contributors = 翻訳や協力してくださった方々
|
||||||
discord = DiscordのMindustryに参加!
|
discord = DiscordのMindustryに参加!
|
||||||
link.discord.description = Mindustryの公式Discordグループ
|
link.discord.description = Mindustryの公式Discordグループ
|
||||||
link.github.description = ゲームのソースコード
|
link.github.description = このゲームのソースコード
|
||||||
link.dev-builds.description = 不安定な開発ビルド
|
link.dev-builds.description = 不安定な開発版
|
||||||
link.trello.description = 公式 Trelloボード の実装予定の機能をチェック
|
link.trello.description = 公式 Trelloボード で実装予定の機能をチェック
|
||||||
link.itch.io.description = itch.ioでPC版のダウンロードやweb版をプレイ
|
link.itch.io.description = itch.io でPC版のダウンロードやweb版で遊ぼう
|
||||||
link.google-play.description = Google Playのストア
|
link.google-play.description = Google Playのストア
|
||||||
link.wiki.description = 公式 Mindustry Wiki
|
link.wiki.description = 公式 Mindustry Wiki
|
||||||
linkfail = リンクを開けませんでした!\nURLをクリップボードにコピーしました。
|
linkfail = リンクを開けませんでした!\nURLをクリップボードにコピーしました。
|
||||||
screenshot = スクリーンショットを {0} に保存しました。
|
screenshot = スクリーンショットを {0} に保存しました。
|
||||||
screenshot.invalid = Map too large, potentially not enough memory for screenshot.
|
screenshot.invalid = マップが広すぎます。スクリーンショットに必要なメモリが足りない可能性があります。
|
||||||
gameover = ゲームオーバー
|
gameover = ゲームオーバー
|
||||||
gameover.pvp = [accent] {0}[] チームの勝利!
|
gameover.pvp = [accent] {0}[] チームの勝利!
|
||||||
highscore = [accent]ハイスコアを記録!
|
highscore = [accent]ハイスコアを記録!
|
||||||
|
|
||||||
stat.wave = 防衛したウェーブ:[accent] {0}
|
stat.wave = 防衛したウェーブ:[accent] {0}
|
||||||
stat.enemiesDestroyed = 敵による破壊数:[accent] {0}
|
stat.enemiesDestroyed = 敵による破壊数:[accent] {0}
|
||||||
stat.built = 建設した建造物数:[accent] {0}
|
stat.built = 建設した建造物数:[accent] {0}
|
||||||
stat.destroyed = 破壊した建造物数:[accent] {0}
|
stat.destroyed = 破壊した建造物数:[accent] {0}
|
||||||
stat.deconstructed = 解体した建造物数:[accent] {0}
|
stat.deconstructed = 解体した建造物数:[accent] {0}
|
||||||
stat.delivered = 獲得した資源:
|
stat.delivered = 獲得した資源:
|
||||||
stat.rank = ランク: [accent]{0}
|
stat.rank = 最終ランク: [accent]{0}
|
||||||
placeline = You have selected a block.\nYou can[accent] place in a line[] by[accent] holding down your finger for a few seconds[] and dragging in a direction.\nTry it.
|
|
||||||
removearea = You have selected removal mode.\nYou can[accent] remove blocks in a rectangle[] by[accent] holding down your finger for a few seconds[] and dragging.\nTry it.
|
placeline = ブロックを選択しました。\n[accent]少し長押し[]して、好きな方向にドラッグすると[accent]一直線上にブロックを設置[]することができます。\nやってみよう。
|
||||||
launcheditems = [accent]Launched Items
|
removearea = 撤去モードが選択されました。\n[accent]少し長押し[]して、ドラッグすると[accent]範囲内のブロックを撤去[]することができます。\nやってみよう。
|
||||||
|
|
||||||
|
launcheditems = [accent]回収したアイテム
|
||||||
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
|
map.delete = マップ "[accent]{0}[]" を削除してもよろしいですか?
|
||||||
level.highscore = ハイスコア: [accent]{0}
|
level.highscore = ハイスコア: [accent]{0}
|
||||||
level.select = レベル選択
|
level.select = レベル選択
|
||||||
@@ -32,26 +35,26 @@ level.mode = ゲームモード:
|
|||||||
showagain = 次回以降表示しない
|
showagain = 次回以降表示しない
|
||||||
coreattack = < コアが攻撃を受けています! >
|
coreattack = < コアが攻撃を受けています! >
|
||||||
nearpoint = [[ [scarlet]直ちに出現ポイントより離脱せよ[] ]\n殲滅されます
|
nearpoint = [[ [scarlet]直ちに出現ポイントより離脱せよ[] ]\n殲滅されます
|
||||||
outofbounds = [[ 領域外 ]\n[]自爆まであと {0} 秒
|
outofbounds = [[ 区域外 ]\n[]自爆まであと {0} 秒
|
||||||
database = コアデーターベース
|
database = コアデーターベース
|
||||||
savegame = ゲームを保存
|
savegame = 保存
|
||||||
loadgame = ゲームを読み込む
|
loadgame = 読み込む
|
||||||
joingame = ゲームに参加
|
joingame = 参加
|
||||||
addplayers = プレイヤーを追加/削除
|
addplayers = プレイヤーを追加/削除
|
||||||
customgame = カスタムゲーム
|
customgame = カスタムプレイ
|
||||||
newgame = 新しいゲーム
|
newgame = 新しく始める
|
||||||
none = <なし>
|
none = <なし>
|
||||||
minimap = Minimap
|
minimap = ミニマップ
|
||||||
close = 閉じる
|
close = 閉じる
|
||||||
quit = 終了
|
quit = 終了
|
||||||
maps = マップ
|
maps = マップ
|
||||||
continue = 続ける
|
continue = 続ける
|
||||||
maps.none = [LIGHT_GRAY]マップが存在しません!
|
maps.none = [LIGHT_GRAY]マップが見つかりませんでした!
|
||||||
about.button = 情報
|
about.button = 情報
|
||||||
name = 名前:
|
name = プレイヤー名:
|
||||||
noname = 先に[accent]プレイヤー名[]を決めてください。
|
noname = [accent]プレイヤー名[]を入力してください。
|
||||||
filename = ファイル名:
|
filename = ファイル名:
|
||||||
unlocked = 新しいブロックをアンロック!
|
unlocked = 新しい要素をアンロック!
|
||||||
completed = [accent]完了
|
completed = [accent]完了
|
||||||
techtree = テックツリー
|
techtree = テックツリー
|
||||||
research.list = [LIGHT_GRAY]調査:
|
research.list = [LIGHT_GRAY]調査:
|
||||||
@@ -61,26 +64,26 @@ players = {0} 人がオンライン
|
|||||||
players.single = {0} 人がオンライン
|
players.single = {0} 人がオンライン
|
||||||
server.closing = [accent]サーバーを閉じています...
|
server.closing = [accent]サーバーを閉じています...
|
||||||
server.kicked.kick = サーバからキックされました!
|
server.kicked.kick = サーバからキックされました!
|
||||||
server.kicked.serverClose = サーバーが閉じました。
|
server.kicked.serverClose = サーバーが閉じられました。
|
||||||
server.kicked.clientOutdated = 古いクライアントです! ゲームをアップデートしてください!
|
server.kicked.clientOutdated = 古いクライアントです! ゲームをアップデートしてください!
|
||||||
server.kicked.serverOutdated = 古いサーバーです! ホストに更新してもらってください!
|
server.kicked.serverOutdated = 古いサーバーです! ホストに更新してもらってください!
|
||||||
server.kicked.banned = サーバーからブロックされています。
|
server.kicked.banned = サーバーからブロックされています。
|
||||||
server.kicked.recentKick = 直前にキックされています。\nもう一度接続できるまでお待ちください。
|
server.kicked.recentKick = 直前にキックされています。\nもう一度接続できるまでお待ちください。
|
||||||
server.kicked.nameInUse = このサーバーでは、\nその名前はすでに使用されています。
|
server.kicked.nameInUse = このサーバーでは、\nすでに同じ名前が使用されています。
|
||||||
server.kicked.nameEmpty = 無効な名前です。
|
server.kicked.nameEmpty = 無効な名前です。
|
||||||
server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの接続は許可されていません。
|
server.kicked.idInUse = すでにサーバーに参加しています! 二つのアカウントでの同時接続は許可されていません。
|
||||||
server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。
|
server.kicked.customClient = このサーバーはカスタムビルドをサポートしていません。公式版をダウンロードしてください。
|
||||||
server.kicked.gameover = ゲームオーバー!
|
server.kicked.gameover = ゲームオーバー!
|
||||||
host.info = [accent]ホスト[]ボタンを押すと、ポート[scarlet]6567[]でサーバーが開かれます。同じ[LIGHT_GRAY]Wifi や ローカルネットワーク[]からはサーバーリストで見ることができます。\n\nIPアドレスからどこからでもアクセスできるようにするには、[accent]ポート開放[]する必要があります。\n\n[LIGHT_GRAY]注意:: LAN上のゲームで接続できない場合、Mindustryがファイアウォールの設定でローカルネットワークに接続が許可されているか確認してください。
|
host.info = [accent]ホスト[]をすると、ポート[scarlet]6567[]でサーバーが開かれまます。\n同じ[LIGHT_GRAY]WiFiやローカル上のネットワークなど[]ではサーバーリストに表示されるようになります。\n\nIPアドレスで他のところからも接続できるようにするには、[accent]ポート開放[]が必要です。\n\n注意: もしLAN上のゲームに参加できない場合、Mindustryがファイアーウォールの設定でローカルネットワークへの接続が許可されているかを確認してください。
|
||||||
join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカルネットワーク[]のサーバーを探すことができます。\nLANとWANの両方のマルチプレイに対応しています。\n\n[LIGHT_GRAY]注意:グローバルサーバーリストはありません。誰かのサーバーにIPで接続したい場合、ホストにIPをお尋ねください。
|
join.info = ここでは、[accent]サーバーのIPアドレス[]から接続したり、[accent]ローカル上[]のサーバーを探したりすることができます。\nLANやWAN上の両方のマルチプレイに対応しています。\n\n[LIGHT_GRAY]注意: 世界中のサーバーの一覧ではありません。他人のサーバーにIPアドレスで接続したい場合は、あらかじめホスト側にIPアドレスをお尋ねください。
|
||||||
hostserver = ゲームをホスト
|
hostserver = ホスト
|
||||||
hostserver.mobile = ホスト
|
hostserver.mobile = ホスト
|
||||||
host = ホスト
|
host = ホスト
|
||||||
hosting = [accent]サーバーを開いています...
|
hosting = [accent]サーバーを開いています...
|
||||||
hosts.refresh = リフレッシュ
|
hosts.refresh = 更新
|
||||||
hosts.discovering = LAN上のサーバーを探しています
|
hosts.discovering = LAN上のサーバーを探索中
|
||||||
server.refreshing = サーバーをリフレッシュ
|
server.refreshing = サーバーを更新中
|
||||||
hosts.none = [lightgray]ローカルゲームが見つかりません!
|
hosts.none = [lightgray]ローカル上のサーバーが見つかりませんでした!
|
||||||
host.invalid = [scarlet]ホストに接続できません。
|
host.invalid = [scarlet]ホストに接続できません。
|
||||||
trace = プレイヤーの記録
|
trace = プレイヤーの記録
|
||||||
trace.playername = プレイヤー名: [accent]{0}
|
trace.playername = プレイヤー名: [accent]{0}
|
||||||
@@ -95,48 +98,48 @@ trace.totalblocksplaced = 総ブロック設置数: [accent]{0}
|
|||||||
trace.lastblockplaced = 最後に設置したブロック: [accent]{0}
|
trace.lastblockplaced = 最後に設置したブロック: [accent]{0}
|
||||||
invalidid = 無効なクライアントIDです! バグ報告してください。
|
invalidid = 無効なクライアントIDです! バグ報告してください。
|
||||||
server.bans = ブロック
|
server.bans = ブロック
|
||||||
server.bans.none = ブロックされたプレイヤーはいません!
|
server.bans.none = ブロックされたプレイヤーは見つかりませんでした!
|
||||||
server.admins = 管理者
|
server.admins = 管理者
|
||||||
server.admins.none = 管理者はいません!
|
server.admins.none = 管理者はいません!
|
||||||
server.add = サーバーを追加
|
server.add = サーバーを追加
|
||||||
server.delete = サーバーを削除しますか?
|
server.delete = サーバーを削除してもよろしいですか?
|
||||||
server.hostname = ホスト: {0}
|
server.hostname = ホスト: {0}
|
||||||
server.edit = サーバーを編集
|
server.edit = サーバーを編集
|
||||||
server.outdated = [crimson]古いサーバーです![]
|
server.outdated = [crimson]古いサーバーです![]
|
||||||
server.outdated.client = [crimson]古いクライアントです![]
|
server.outdated.client = [crimson]古いクライアントです![]
|
||||||
server.version = [lightgray]バージョン: {0} {1}
|
server.version = [lightgray]バージョン: {0} {1}
|
||||||
server.custombuild = [yellow]カスタムビルド
|
server.custombuild = [yellow]カスタムビルド
|
||||||
confirmban = このプレイヤーをブロックしますか?
|
confirmban = このプレイヤーをブロックしてもよろしいですか?
|
||||||
confirmkick = このプレイヤーをキックしますか?
|
confirmkick = このプレイヤーをキックしてもよろしいですか?
|
||||||
confirmunban = このプレイヤーのブロックを解除しますか?
|
confirmunban = このプレイヤーのブロックを解除してもよろしいですか?
|
||||||
confirmadmin = このプレイヤーを管理者にしますか?
|
confirmadmin = このプレイヤーを管理者にしてもよろしいですか?
|
||||||
confirmunadmin = このプレイヤーを管理者から削除しますか?
|
confirmunadmin = このプレイヤーを管理者から削除してもよろしいですか?
|
||||||
joingame.title = サーバーに参加
|
joingame.title = サーバーに参加
|
||||||
joingame.ip = アドレス:
|
joingame.ip = アドレス:
|
||||||
disconnect = 接続が切断されました。
|
disconnect = 接続が切断されました。
|
||||||
disconnect.data = ワールドデータの読み込みに失敗しました!
|
disconnect.data = ワールドデータの読み込みに失敗しました!
|
||||||
connecting = [accent]接続中...
|
connecting = [accent]接続中...
|
||||||
connecting.data = [accent]ワールドデータを読み込んでいます...
|
connecting.data = [accent]ワールドデータを読み込み中...
|
||||||
server.port = ポート:
|
server.port = ポート:
|
||||||
server.addressinuse = アドレスがすでに使用されています!
|
server.addressinuse = アドレスがすでに使用されています!
|
||||||
server.invalidport = 無効なポート番号です!
|
server.invalidport = 無効なポート番号です!
|
||||||
server.error = [crimson]サーバーエラー: [accent]{0}
|
server.error = [crimson]サーバーのホストエラー: [accent]{0}
|
||||||
save.old = これは古いバージョンのセーブデータで、使用することができません。\n\n[LIGHT_GRAY]下位互換性の実装は正式版の4.0行われます。
|
save.old = この古いバージョンのセーブデータは使用することができません。\n\n[LIGHT_GRAY]セーブデータの下位互換性の実装は正式版4.0で行われます。
|
||||||
save.new = 新しく保存
|
save.new = 新規保存
|
||||||
save.overwrite = このスロットに上書きしてよろしいですか?
|
save.overwrite = このスロットに上書きしてもよろしいですか?
|
||||||
overwrite = 上書き
|
overwrite = 上書き
|
||||||
save.none = セーブデータがありません!
|
save.none = セーブデータがに見つかりませんでした!
|
||||||
saveload = [accent]セーブ中...
|
saveload = [accent]セーブ中...
|
||||||
savefail = ゲームの保存に失敗しました!
|
savefail = ゲームの保存に失敗しました!
|
||||||
save.delete.confirm = このセーブデータを削除してよろしいですか?
|
save.delete.confirm = このセーブデータを削除してよろしいですか?
|
||||||
save.delete = 削除
|
save.delete = 削除
|
||||||
save.export = エクスポート
|
save.export = エクスポート
|
||||||
save.import.invalid = [accent]無効なセーブデータです!
|
save.import.invalid = [accent]無効なセーブデータです!
|
||||||
save.import.fail = [crimson]セーブのインポートに失敗: [accent]{0}
|
save.import.fail = [crimson]セーブデータのインポートに失敗しました: [accent]{0}
|
||||||
save.export.fail = [crimson]セーブのエクスポートに失敗: [accent]{0}
|
save.export.fail = [crimson]セーブデータのエクスポートに失敗しました: [accent]{0}
|
||||||
save.import = セーブデータを読み込む
|
save.import = セーブデータを読み込む
|
||||||
save.newslot = セーブデータ名:
|
save.newslot = セーブ名:
|
||||||
save.rename = リネーム
|
save.rename = 名前を変更
|
||||||
save.rename.text = 新しい名前:
|
save.rename.text = 新しい名前:
|
||||||
selectslot = セーブデータを選択
|
selectslot = セーブデータを選択
|
||||||
slot = [accent]スロット {0}
|
slot = [accent]スロット {0}
|
||||||
@@ -148,14 +151,14 @@ save.autosave = 自動保存: {0}
|
|||||||
save.map = マップ: {0}
|
save.map = マップ: {0}
|
||||||
save.wave = ウェーブ {0}
|
save.wave = ウェーブ {0}
|
||||||
save.difficulty = 難易度: {0}
|
save.difficulty = 難易度: {0}
|
||||||
save.date = 最終保存: {0}
|
save.date = 最終保存日時: {0}
|
||||||
save.playtime = プレイ時間: {0}
|
save.playtime = プレイ時間: {0}
|
||||||
warning = 警告
|
warning = 警告
|
||||||
confirm = 確認
|
confirm = 確認
|
||||||
delete = 削除
|
delete = 削除
|
||||||
ok = OK
|
ok = OK
|
||||||
open = 開く
|
open = 開く
|
||||||
customize = Customize
|
customize = カスタマイズ
|
||||||
cancel = キャンセル
|
cancel = キャンセル
|
||||||
openlink = リンクを開く
|
openlink = リンクを開く
|
||||||
copylink = リンクをコピー
|
copylink = リンクをコピー
|
||||||
@@ -163,30 +166,30 @@ back = 戻る
|
|||||||
quit.confirm = 終了してもよろしいですか?
|
quit.confirm = 終了してもよろしいですか?
|
||||||
changelog.title = 変更履歴
|
changelog.title = 変更履歴
|
||||||
changelog.loading = 変更履歴を取得中...
|
changelog.loading = 変更履歴を取得中...
|
||||||
changelog.error.android = [accent]Android4.4または、それ以下では変更履歴が動作しない場合があります!\nこれはAndroidの内部バグによるものです。
|
changelog.error.android = [accent]変更履歴はAndroid4.4または、それ以下では動作しない場合があります!\nこれはAndroidの内部バグによるものです。
|
||||||
changelog.error.ios = [accent]iOSは変更履歴に対応していません。
|
changelog.error.ios = [accent]変更履歴はiOSに対応していません。
|
||||||
changelog.error = [scarlet]変更履歴を取得できませんでした!\nインターネット接続を確認してください。
|
changelog.error = [scarlet]変更履歴を取得できませんでした!\nインターネット接続を確認してください。
|
||||||
changelog.current = [yellow][[現在のバージョン]
|
changelog.current = [yellow][[現在のバージョン]
|
||||||
changelog.latest = [accent][[最新バージョン]
|
changelog.latest = [accent][[最新版]
|
||||||
loading = [accent]読み込み中...
|
loading = [accent]読み込み中...
|
||||||
saving = [accent]保存中...
|
saving = [accent]保存中...
|
||||||
wave = [accent]ウェーブ {0}
|
wave = [accent]ウェーブ {0}
|
||||||
wave.waiting = [LIGHT_GRAY]次のウェーブまで {0} 秒
|
wave.waiting = [LIGHT_GRAY]次のウェーブまで {0} 秒
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
wave.waveInProgress = [LIGHT_GRAY]ウェーブ進行中
|
||||||
waiting = [LIGHT_GRAY]待機中...
|
waiting = [LIGHT_GRAY]待機中...
|
||||||
waiting.players = プレイヤーを待っています...
|
waiting.players = プレイヤーを待っています...
|
||||||
wave.enemies = [LIGHT_GRAY]残り {0} 体
|
wave.enemies = [LIGHT_GRAY]敵は残り {0} 体
|
||||||
wave.enemy = [LIGHT_GRAY]残り {0} 体
|
wave.enemy = [LIGHT_GRAY]敵は残り {0} 体
|
||||||
loadimage = イメージを読み込む
|
loadimage = 画像を読み込む
|
||||||
saveimage = イメージを保存
|
saveimage = 画像を保存
|
||||||
unknown = 不明
|
unknown = 不明
|
||||||
custom = カスタム
|
custom = カスタム
|
||||||
builtin = 組み込み
|
builtin = 組み込み
|
||||||
map.delete.confirm = マップを削除してもよろしいですか? これは戻すことができません!
|
map.delete.confirm = マップを削除してもよろしいですか? これは元に戻すことができません!
|
||||||
map.random = [accent]ランダムマップ
|
map.random = [accent]ランダムマップ
|
||||||
map.nospawn = このマップにはスポーンするためのプレイヤーのコアがありません! [ROYAL]青い[]コアをエディターでマップに追加してください。
|
map.nospawn = このマップにはプレイヤーの出現するコアがありません! エディターで[ROYAL]青い[]コアをマップに追加してください。
|
||||||
map.nospawn.pvp = このマップには敵がスポーンするためのプレイヤーのコアがありません! [SCARLET]赤い[]コアをエディターでマップに追加してください。
|
map.nospawn.pvp = このマップにはプレイヤーの敵が出現するコアがありません! エディターで[SCARLET]青以外[]のコアをマップに追加してください。
|
||||||
map.nospawn.attack = This map does not have any enemy cores for player to attack! Add[SCARLET] red[] cores to this map in the editor.
|
map.nospawn.attack = このマップにはプレイヤーを攻撃する敵のコアがありません! エディターから[SCARLET]赤い[]コアを追加してください。
|
||||||
map.invalid = マップの読み込みエラー: ファイルが無効、または破損しています。
|
map.invalid = マップの読み込みエラー: ファイルが無効、または破損しています。
|
||||||
editor.brush = ブラシ
|
editor.brush = ブラシ
|
||||||
editor.openin = エディターで開く
|
editor.openin = エディターで開く
|
||||||
@@ -199,9 +202,9 @@ editor.waves = ウェーブ:
|
|||||||
waves.title = ウェーブ
|
waves.title = ウェーブ
|
||||||
waves.remove = 削除
|
waves.remove = 削除
|
||||||
waves.never = <永久>
|
waves.never = <永久>
|
||||||
waves.every = every
|
waves.every = ウェーブ
|
||||||
waves.waves = ウェーブごとに出現
|
waves.waves = ごとに出現
|
||||||
waves.perspawn = スポーン
|
waves.perspawn = 体出現
|
||||||
waves.to = から
|
waves.to = から
|
||||||
waves.boss = ボス
|
waves.boss = ボス
|
||||||
waves.preview = プレビュー
|
waves.preview = プレビュー
|
||||||
@@ -226,30 +229,30 @@ editor.resize = リサイズ
|
|||||||
editor.loadmap = マップを読み込む
|
editor.loadmap = マップを読み込む
|
||||||
editor.savemap = マップを保存
|
editor.savemap = マップを保存
|
||||||
editor.saved = 保存しました!
|
editor.saved = 保存しました!
|
||||||
editor.save.noname = マップに名前がありません! メニューの 'マップ情報' から設定してください。
|
editor.save.noname = マップに名前が設定されていません! メニューの 'マップ情報' から設定してください。
|
||||||
editor.save.overwrite = マップが組み込みマップを上書きしようとしています! メニューの 'マップ情報' から異なる名前に設定してください。
|
editor.save.overwrite = 組み込みマップを上書きしようとしています! メニューの 'マップ情報' から異なる名前に設定してください。
|
||||||
editor.import.exists = [scarlet]インポートできません:[] '{0}' はすでに組み込みマップの名前として存在します!
|
editor.import.exists = [scarlet]インポートできませんでした:[] '{0}' はすでに組み込みマップの名前として存在します!
|
||||||
editor.import = インポート...
|
editor.import = インポート...
|
||||||
editor.importmap = マップをインポート
|
editor.importmap = マップをインポート
|
||||||
editor.importmap.description = すでに存在しているマップをインポート
|
editor.importmap.description = すでに存在しているマップを読み込む
|
||||||
editor.importfile = ファイルをインポート
|
editor.importfile = ファイルをインポート
|
||||||
editor.importfile.description = 外部マップファイルをインポート
|
editor.importfile.description = 外部マップファイルを読み込む
|
||||||
editor.importimage = 古いイメージをインポート
|
editor.importimage = 古いイメージをインポート
|
||||||
editor.importimage.description = 外部イメージファイルをインポート
|
editor.importimage.description = 外部イメージファイルを読み込む
|
||||||
editor.export = エクスポート...
|
editor.export = エクスポート...
|
||||||
editor.exportfile = ファイルをエクスポート
|
editor.exportfile = ファイルをエクスポート
|
||||||
editor.exportfile.description = マップファイルをエクスポート
|
editor.exportfile.description = マップファイルをエクスポートする
|
||||||
editor.exportimage = 地形イメージをエクスポート
|
editor.exportimage = 地形イメージをエクスポート
|
||||||
editor.exportimage.description = イメージファイルをエクスポート
|
editor.exportimage.description = イメージファイルをエクスポートする
|
||||||
editor.loadimage = 地形をインポート
|
editor.loadimage = 地形をインポート
|
||||||
editor.saveimage = 地形をエクスポート
|
editor.saveimage = 地形をエクスポート
|
||||||
editor.unsaved = [scarlet]保存されていない変更があります![]\n終了してもよろしいですか?
|
editor.unsaved = [scarlet]保存されていない変更があります![]\n終了してもよろしいですか?
|
||||||
editor.resizemap = マップをリサイズ
|
editor.resizemap = マップをリサイズ
|
||||||
editor.mapname = マップ名:
|
editor.mapname = マップ名:
|
||||||
editor.overwrite = [accent]警告!\n存在するマップを上書きします。
|
editor.overwrite = [accent]警告!\nすでに存在するマップを上書きします。
|
||||||
editor.overwrite.confirm = [scarlet]警告![] この名前のマップがすでに存在します。上書きしてもよろしいですか?
|
editor.overwrite.confirm = [scarlet]警告![] すでに同じ名前のマップが存在します。上書きしてもよろしいですか?
|
||||||
editor.selectmap = 読み込むマップを選択:
|
editor.selectmap = 読み込むマップを選択:
|
||||||
filters.empty = [LIGHT_GRAY]No filters! Add one with the button below.
|
filters.empty = [LIGHT_GRAY]フィルターが設定されていません! 下のボタンからフィルターを追加してください。
|
||||||
filter.distort = ゆがみ
|
filter.distort = ゆがみ
|
||||||
filter.noise = ノイズ
|
filter.noise = ノイズ
|
||||||
filter.ore = 鉱石
|
filter.ore = 鉱石
|
||||||
@@ -278,52 +281,56 @@ save = 保存
|
|||||||
fps = FPS: {0}
|
fps = FPS: {0}
|
||||||
tps = TPS: {0}
|
tps = TPS: {0}
|
||||||
ping = Ping: {0}ms
|
ping = Ping: {0}ms
|
||||||
language.restart = 言語設定を有効にするにはゲームを再起動してください。
|
language.restart = ゲームを再起動後、言語設定が有効になります。
|
||||||
settings = 設定
|
settings = 設定
|
||||||
tutorial = チュートリアル
|
tutorial = チュートリアル
|
||||||
editor = エディター
|
editor = エディター
|
||||||
mapeditor = マップエディター
|
mapeditor = マップエディター
|
||||||
donate = 寄附
|
donate = 寄附
|
||||||
|
|
||||||
abandon = 撤退
|
abandon = 撤退
|
||||||
abandon.text = このゾーンとすべての資源が敵に奪われます。
|
abandon.text = このゾーンとすべての資源が敵に奪われます。
|
||||||
locked = ロック
|
locked = ロック
|
||||||
complete = [LIGHT_GRAY]完了:
|
complete = [LIGHT_GRAY]達成済み:
|
||||||
zone.requirement = Wave {0} in zone {1}
|
zone.requirement = ゾーン {1} でウェーブ {0} を達成
|
||||||
resume = 再開ゾーン:\n[LIGHT_GRAY]{0}
|
resume = 再開ゾーン:\n[LIGHT_GRAY]{0}
|
||||||
bestwave = [LIGHT_GRAY]最高ウェーブ: {0}
|
bestwave = [LIGHT_GRAY]最高ウェーブ: {0}
|
||||||
launch = 出撃
|
launch = 発射
|
||||||
launch.title = 出撃成功
|
launch.title = 発射成功
|
||||||
launch.next = [LIGHT_GRAY]次の出撃は ウェーブ {0}
|
launch.next = [LIGHT_GRAY]次の発射は ウェーブ {0}
|
||||||
launch.unable = [scarlet]出撃できません[] 敵によって妨害されています。
|
launch.unable = [scarlet]発射できません[] 敵によって妨害されています。
|
||||||
launch.confirm = すべての資源がコアに搬入されます。\nもうこの基地には戻ってくることはできません。
|
launch.confirm = すべての資源がコアに搬入されます。\nもうこの基地には戻ってくることはできません。
|
||||||
uncover = 開拓
|
uncover = 開放
|
||||||
configure = 積荷の設定
|
configure = 積荷の設定
|
||||||
configure.locked = [LIGHT_GRAY]ウェーブ {0} を達成すると積荷を設定できるようになります。
|
configure.locked = [LIGHT_GRAY]ウェーブ {0} を達成すると積荷を設定できるようになります。
|
||||||
zone.unlocked = [LIGHT_GRAY]{0} がアンロックされました.
|
zone.unlocked = [LIGHT_GRAY]{0} がアンロックされました.
|
||||||
zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met.
|
zone.requirement.complete = ウェーブ {0} を達成:\n{1} の開放条件を達成しました。
|
||||||
zone.config.complete = ウェーブ {0} を達成:\n積荷の設定が解除されました。
|
zone.config.complete = ウェーブ {0} を達成:\n積荷の設定が解除されました。
|
||||||
zone.resources = 発見した資源:
|
zone.resources = 発見した資源:
|
||||||
add = 追加...
|
add = 追加...
|
||||||
boss.health = ボスのHP
|
boss.health = ボスのHP
|
||||||
|
|
||||||
connectfail = [crimson]サーバーへの接続できませんでした:\n\n[accent]{0}
|
connectfail = [crimson]サーバーへの接続できませんでした:\n\n[accent]{0}
|
||||||
error.unreachable = サーバーに到達できません。\nアドレスは正しいですか?
|
error.unreachable = サーバーに到達できません。\nアドレスは正しいですか?
|
||||||
error.invalidaddress = 無効なアドレスです。
|
error.invalidaddress = 無効なアドレスです。
|
||||||
error.timedout = タイムアウトしました!\nホストがポート開放されているか確認してください。アドレスは正しいです!
|
error.timedout = タイムアウトしました!\nホストがポート開放されているかを確認してください。また、このアドレスは無効なアドレスではありません!
|
||||||
error.mismatch = パケットエラー:\nクライアント/サーバーのバージョンが一致しません。\nゲームとホストが最新のMindustryか確認してください!
|
error.mismatch = パケットエラー:\n恐らくクライアント/サーバーのバージョンが一致していません。\nゲームとホストが最新版のMindustryかどうかを確認してください!
|
||||||
error.alreadyconnected = すでに接続されています。
|
error.alreadyconnected = すでに接続されています。
|
||||||
error.mapnotfound = マップファイルが見つかりません!
|
error.mapnotfound = マップファイルが見つかりません!
|
||||||
error.io = ネットワークエラーです。
|
error.io = ネットワークエラーです。
|
||||||
error.any = 不明なネットワークエラーです。
|
error.any = 不明なネットワークエラーです。
|
||||||
|
|
||||||
zone.groundZero.name = グラウンド · ゼロ
|
zone.groundZero.name = グラウンド · ゼロ
|
||||||
zone.desertWastes.name = Desert Wastes
|
zone.desertWastes.name = デザート · ウェーツ
|
||||||
zone.craters.name = ザ · クレーター
|
zone.craters.name = ザ · クレーター
|
||||||
zone.frozenForest.name = フローズン · フォレスト
|
zone.frozenForest.name = フローズン · フォレスト
|
||||||
zone.ruinousShores.name = ルーイナス · ショアーズ
|
zone.ruinousShores.name = ルーイナス · ショアーズ
|
||||||
zone.stainedMountains.name = ステインド · マウンテン
|
zone.stainedMountains.name = ステインド · マウンテン
|
||||||
zone.desolateRift.name = ディサレット · リフト
|
zone.desolateRift.name = ディサレット · リフト
|
||||||
zone.nuclearComplex.name = ニュークリア · プロダクション · コンプレックス
|
zone.nuclearComplex.name = ニュークリア · プロダクション · コンプレックス
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = オーバーグロウス
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = ター · フィールズ
|
||||||
|
|
||||||
settings.language = 言語
|
settings.language = 言語
|
||||||
settings.reset = デフォルトにリセット
|
settings.reset = デフォルトにリセット
|
||||||
settings.rebind = 再設定
|
settings.rebind = 再設定
|
||||||
@@ -332,7 +339,7 @@ settings.game = ゲーム
|
|||||||
settings.sound = サウンド
|
settings.sound = サウンド
|
||||||
settings.graphics = グラフィック
|
settings.graphics = グラフィック
|
||||||
settings.cleardata = データを削除...
|
settings.cleardata = データを削除...
|
||||||
settings.clear.confirm = データを削除してもよろしいですか?\n元に戻すことはできません!
|
settings.clear.confirm = データを削除してもよろしいですか?\nこれを元に戻すことはできません!
|
||||||
settings.clearall.confirm = [scarlet]警告![]\nこれはすべてのデータが削除されます。これにはセーブデータ、マップ、アンロック、キーバインドが含まれます。\n「ok」 を押すと、すべてのデータが削除され、自動的に終了します。
|
settings.clearall.confirm = [scarlet]警告![]\nこれはすべてのデータが削除されます。これにはセーブデータ、マップ、アンロック、キーバインドが含まれます。\n「ok」 を押すと、すべてのデータが削除され、自動的に終了します。
|
||||||
settings.clearunlocks = アンロックを削除
|
settings.clearunlocks = アンロックを削除
|
||||||
settings.clearall = すべてを削除
|
settings.clearall = すべてを削除
|
||||||
@@ -342,16 +349,16 @@ no = いいえ
|
|||||||
info.title = 情報
|
info.title = 情報
|
||||||
error.title = [crimson]エラーが発生しました
|
error.title = [crimson]エラーが発生しました
|
||||||
error.crashtitle = エラーが発生しました
|
error.crashtitle = エラーが発生しました
|
||||||
blocks.input = Input
|
blocks.input = 搬入
|
||||||
blocks.output = Output
|
blocks.output = 搬出
|
||||||
blocks.booster = Booster
|
blocks.booster = ブースト
|
||||||
block.unknown = [LIGHT_GRAY]???
|
block.unknown = [LIGHT_GRAY]???
|
||||||
blocks.powercapacity = 電力容量
|
blocks.powercapacity = 電力容量
|
||||||
blocks.powershot = 電力/ショット
|
blocks.powershot = 電力/ショット
|
||||||
blocks.targetsair = 対空攻撃
|
blocks.targetsair = 対空攻撃
|
||||||
blocks.targetsground = 対地攻撃
|
blocks.targetsground = 対地攻撃
|
||||||
blocks.itemsmoved = 輸送速度
|
blocks.itemsmoved = 輸送速度
|
||||||
blocks.launchtime = Time Between Launches
|
blocks.launchtime = 発射の待機時間
|
||||||
blocks.shootrange = 範囲
|
blocks.shootrange = 範囲
|
||||||
blocks.size = 大きさ
|
blocks.size = 大きさ
|
||||||
blocks.liquidcapacity = 液体容量
|
blocks.liquidcapacity = 液体容量
|
||||||
@@ -360,23 +367,25 @@ blocks.poweruse = 電力使用量
|
|||||||
blocks.powerdamage = 電力/ダメージ
|
blocks.powerdamage = 電力/ダメージ
|
||||||
blocks.itemcapacity = アイテム容量
|
blocks.itemcapacity = アイテム容量
|
||||||
blocks.basepowergeneration = 基本発電量
|
blocks.basepowergeneration = 基本発電量
|
||||||
blocks.productiontime = Production Time
|
blocks.productiontime = 製造速度
|
||||||
blocks.repairtime = Block Full Repair Time
|
blocks.repairtime = ブロックの完全修復速度
|
||||||
blocks.speedincrease = Speed Increase
|
blocks.speedincrease = 速度向上
|
||||||
blocks.range = Range
|
blocks.range = 範囲
|
||||||
blocks.drilltier = ドリル
|
blocks.drilltier = ドリル
|
||||||
blocks.drillspeed = 基本採掘速度
|
blocks.drillspeed = 基本採掘速度
|
||||||
blocks.boosteffect = Boost Effect
|
blocks.boosteffect = ブースト効果
|
||||||
blocks.maxunits = 最大ユニット数
|
blocks.maxunits = 最大ユニット数
|
||||||
blocks.health = 耐久値
|
blocks.health = 耐久値
|
||||||
|
blocks.buildtime = 建設時間
|
||||||
blocks.inaccuracy = 精度のずれ
|
blocks.inaccuracy = 精度のずれ
|
||||||
blocks.shots = ショット
|
blocks.shots = ショット
|
||||||
blocks.reload = ショット/秒
|
blocks.reload = ショット/秒
|
||||||
blocks.ammo = 弾薬
|
blocks.ammo = 弾薬
|
||||||
|
|
||||||
bar.drillspeed = 採掘速度: {0}/秒
|
bar.drillspeed = 採掘速度: {0}/秒
|
||||||
bar.efficiency = 効率: {0}%
|
bar.efficiency = 効率: {0}%
|
||||||
bar.powerbalance = 電力: {0}
|
bar.powerbalance = 電力: {0}/秒
|
||||||
bar.poweramount = Power: {0}
|
bar.poweramount = 電力: {0}
|
||||||
bar.poweroutput = 電力発電量: {0}
|
bar.poweroutput = 電力発電量: {0}
|
||||||
bar.items = アイテム: {0}
|
bar.items = アイテム: {0}
|
||||||
bar.liquid = 液体
|
bar.liquid = 液体
|
||||||
@@ -384,17 +393,19 @@ bar.heat = 熱
|
|||||||
bar.power = 電力
|
bar.power = 電力
|
||||||
bar.progress = 建設状況
|
bar.progress = 建設状況
|
||||||
bar.spawned = ユニット数: {0}/{1}
|
bar.spawned = ユニット数: {0}/{1}
|
||||||
bullet.damage = [stat]{0}[lightgray] dmg
|
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] area dmg ~[stat] {1}[lightgray] tiles
|
bullet.damage = [stat]{0}[lightgray] ダメージ
|
||||||
bullet.incendiary = [stat]incendiary
|
bullet.splashdamage = [stat]{0}[lightgray] 範囲ダメージ 約[stat] {1}[lightgray] タイル
|
||||||
bullet.homing = [stat]homing
|
bullet.incendiary = [stat]焼夷弾
|
||||||
bullet.shock = [stat]shock
|
bullet.homing = [stat]ホーミング
|
||||||
bullet.frag = [stat]frag
|
bullet.shock = [stat]電撃
|
||||||
bullet.knockback = [stat]{0}[lightgray] knockback
|
bullet.frag = [stat]爆発弾
|
||||||
bullet.freezing = [stat]freezing
|
bullet.knockback = [stat]{0}[lightgray] ノックバック
|
||||||
bullet.tarred = [stat]tarred
|
bullet.freezing = [stat]フリーズ
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x ammo multiplier
|
bullet.tarred = [stat]タール弾
|
||||||
bullet.reload = [stat]{0}[lightgray]x reload
|
bullet.multiplier = [stat]弾薬 {0}[lightgray]倍
|
||||||
|
bullet.reload = [stat]リロード速度 {0}[lightgray]倍
|
||||||
|
|
||||||
unit.blocks = ブロック
|
unit.blocks = ブロック
|
||||||
unit.powersecond = 電力/秒
|
unit.powersecond = 電力/秒
|
||||||
unit.liquidsecond = 液体/秒
|
unit.liquidsecond = 液体/秒
|
||||||
@@ -403,24 +414,24 @@ unit.liquidunits = 液体
|
|||||||
unit.powerunits = 電力
|
unit.powerunits = 電力
|
||||||
unit.degrees = 度
|
unit.degrees = 度
|
||||||
unit.seconds = 秒
|
unit.seconds = 秒
|
||||||
unit.persecond = /sec
|
unit.persecond = /秒
|
||||||
unit.timesspeed = x speed
|
unit.timesspeed = 倍の速度
|
||||||
unit.percent = %
|
unit.percent = %
|
||||||
unit.items = アイテム
|
unit.items = アイテム
|
||||||
category.general = 一般
|
category.general = 一般
|
||||||
category.power = 電力
|
category.power = 電力
|
||||||
category.liquids = 液体
|
category.liquids = 液体
|
||||||
category.items = アイテム
|
category.items = アイテム
|
||||||
category.crafting = 製作速度
|
category.crafting = 搬入/搬出
|
||||||
category.shooting = 攻撃速度
|
category.shooting = ショット
|
||||||
category.optional = 機能強化オプション
|
category.optional = 強化オプション
|
||||||
setting.landscape.name = Lock Landscape
|
setting.landscape.name = 横画面で固定
|
||||||
setting.shadows.name = Shadows
|
setting.shadows.name = 影
|
||||||
setting.animatedwater.name = 水のアニメーション
|
setting.animatedwater.name = 水のアニメーション
|
||||||
setting.animatedshields.name = Animated Shields
|
setting.animatedshields.name = シールドのアニメーション
|
||||||
setting.antialias.name = Antialias[LIGHT_GRAY] (requires restart)[]
|
setting.antialias.name = アンチエイリアス[LIGHT_GRAY] (再起動が必要)[]
|
||||||
setting.indicators.name = 味方の方角表示
|
setting.indicators.name = 敵/味方の方角表示
|
||||||
setting.autotarget.name = 自動ターゲット
|
setting.autotarget.name = オートターゲット
|
||||||
setting.fpscap.name = 最大FPS
|
setting.fpscap.name = 最大FPS
|
||||||
setting.fpscap.none = なし
|
setting.fpscap.none = なし
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
@@ -437,25 +448,25 @@ setting.sensitivity.name = 操作感度
|
|||||||
setting.saveinterval.name = 自動保存間隔
|
setting.saveinterval.name = 自動保存間隔
|
||||||
setting.seconds = {0} 秒
|
setting.seconds = {0} 秒
|
||||||
setting.fullscreen.name = フルスクリーン
|
setting.fullscreen.name = フルスクリーン
|
||||||
setting.borderless.name = Borderless Window
|
setting.borderless.name = ボーダーレスウィンドウ (再起動が必要な可能性があります)
|
||||||
setting.fps.name = FPSを表示
|
setting.fps.name = FPSを表示
|
||||||
setting.vsync.name = VSync
|
setting.vsync.name = VSync
|
||||||
setting.lasers.name = 電力レーザーを表示
|
setting.lasers.name = 電力線を表示
|
||||||
setting.pixelate.name = Pixelate [LIGHT_GRAY](may decrease performance)
|
setting.pixelate.name = ピクセル化 [LIGHT_GRAY](パフォーマンスが低下する可能性があります)
|
||||||
setting.minimap.name = ミニマップを表示
|
setting.minimap.name = ミニマップを表示
|
||||||
setting.musicvol.name = 音楽 音量
|
setting.musicvol.name = 音楽 音量
|
||||||
setting.mutemusic.name = 音楽をミュート
|
setting.mutemusic.name = 音楽をミュート
|
||||||
setting.sfxvol.name = 効果音 音量
|
setting.sfxvol.name = 効果音 音量
|
||||||
setting.mutesound.name = 効果音をミュート
|
setting.mutesound.name = 効果音をミュート
|
||||||
setting.crashreport.name = 匿名でクラッシュレポートを送信する
|
setting.crashreport.name = 匿名でクラッシュレポートを送信する
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = チャットの透明度
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = ゲーム内にチャットを表示
|
||||||
keybind.title = キーバインド
|
keybind.title = キーバインドを再設定
|
||||||
category.general.name = 一般
|
category.general.name = 一般
|
||||||
category.view.name = 表示
|
category.view.name = 表示
|
||||||
category.multiplayer.name = マルチプレイ
|
category.multiplayer.name = マルチプレイ
|
||||||
command.attack = 攻撃
|
command.attack = 攻撃
|
||||||
command.retreat = 退却
|
command.retreat = 後退
|
||||||
command.patrol = 巡回
|
command.patrol = 巡回
|
||||||
keybind.gridMode.name = ブロック選択
|
keybind.gridMode.name = ブロック選択
|
||||||
keybind.gridModeShift.name = カテゴリー選択
|
keybind.gridModeShift.name = カテゴリー選択
|
||||||
@@ -470,11 +481,11 @@ keybind.pick.name = ブロックの選択
|
|||||||
keybind.break_block.name = ブロックの破壊
|
keybind.break_block.name = ブロックの破壊
|
||||||
keybind.deselect.name = 選択解除
|
keybind.deselect.name = 選択解除
|
||||||
keybind.shoot.name = ショット
|
keybind.shoot.name = ショット
|
||||||
keybind.zoom_hold.name = ズーム長押し
|
keybind.zoom_hold.name = 長押しズーム
|
||||||
keybind.zoom.name = ズーム
|
keybind.zoom.name = ズーム
|
||||||
keybind.menu.name = メニュー
|
keybind.menu.name = メニュー
|
||||||
keybind.pause.name = ポーズ
|
keybind.pause.name = ポーズ
|
||||||
keybind.minimap.name = Minimap
|
keybind.minimap.name = ミニマップ
|
||||||
keybind.dash.name = ダッシュ
|
keybind.dash.name = ダッシュ
|
||||||
keybind.chat.name = チャット
|
keybind.chat.name = チャット
|
||||||
keybind.player_list.name = プレイヤーリスト
|
keybind.player_list.name = プレイヤーリスト
|
||||||
@@ -488,39 +499,41 @@ keybind.drop_unit.name = ドロップユニット
|
|||||||
keybind.zoom_minimap.name = ミニマップのズーム
|
keybind.zoom_minimap.name = ミニマップのズーム
|
||||||
mode.help.title = モード説明
|
mode.help.title = モード説明
|
||||||
mode.survival.name = サバイバル
|
mode.survival.name = サバイバル
|
||||||
mode.survival.description = 通常のモードです。 限られた資源で自動的にウェーブが進行します。
|
mode.survival.description = 通常のモードです。 資源も限られる中、自動的にウェーブが進行していきます。
|
||||||
mode.sandbox.name = サンドボックス
|
mode.sandbox.name = サンドボックス
|
||||||
mode.sandbox.description = 無限の資源でウェーブを自由に進行できます。
|
mode.sandbox.description = 無限の資源があり、ウェーブを自由に進行できます。
|
||||||
mode.pvp.name = PvP
|
mode.pvp.name = PvP
|
||||||
mode.pvp.description = ローカル内で他のプレイヤーと戦います。
|
mode.pvp.description = エリア内で他のプレイヤーと戦います。
|
||||||
mode.attack.name = アタック
|
mode.attack.name = アタック
|
||||||
mode.attack.description = ウェーブがなく、敵の基地を破壊することを目指します。
|
mode.attack.description = ウェーブがなく、敵の基地を破壊することを目指します。
|
||||||
mode.custom = Custom Rules
|
mode.custom = カスタムルール
|
||||||
rules.infiniteresources = Infinite Resources
|
|
||||||
rules.wavetimer = Wave Timer
|
rules.infiniteresources = 資源の無限化
|
||||||
rules.waves = Waves
|
rules.wavetimer = ウェーブの自動進行
|
||||||
rules.enemyCheat = Infinite AI Resources
|
rules.waves = ウェーブ
|
||||||
rules.unitdrops = Unit Drops
|
rules.enemyCheat = 敵の資源の無限化
|
||||||
rules.unitbuildspeedmultiplier = Unit Creation Speed Multiplier
|
rules.unitdrops = ユニットの戦利品
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unitbuildspeedmultiplier = ユニットの製造速度倍率
|
||||||
rules.playerhealthmultiplier = Player Health Multiplier
|
rules.unithealthmultiplier = ユニットの体力倍率
|
||||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
rules.playerhealthmultiplier = プレイヤーの体力倍率
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.playerdamagemultiplier = プレイヤーのダメージ倍率
|
||||||
rules.enemycorebuildradius = Enemy Core No-Build Radius:[LIGHT_GRAY] (tiles)
|
rules.unitdamagemultiplier = ユニットのダメージ倍率
|
||||||
rules.respawntime = Respawn Time:[LIGHT_GRAY] (sec)
|
rules.enemycorebuildradius = 敵コア周辺の建設禁止区域の半径: [LIGHT_GRAY] (タイル)
|
||||||
rules.wavespacing = Wave Spacing:[LIGHT_GRAY] (sec)
|
rules.respawntime = 復活までの待機時間:[LIGHT_GRAY] (秒)
|
||||||
rules.buildcostmultiplier = Build Cost Multiplier
|
rules.wavespacing = ウェーブ間の待機時間:[LIGHT_GRAY] (秒)
|
||||||
rules.buildspeedmultiplier = Build Speed Multiplier
|
rules.buildcostmultiplier = 建設コストの倍率
|
||||||
rules.waitForWaveToEnd = Waves wait for enemies
|
rules.buildspeedmultiplier = 建設速度の倍率
|
||||||
rules.dropzoneradius = Drop Zone Radius:[LIGHT_GRAY] (tiles)
|
rules.waitForWaveToEnd = 敵が倒されるまでウェーブの進行を中断
|
||||||
rules.respawns = Max respawns per wave
|
rules.dropzoneradius = 出現範囲の半径:[LIGHT_GRAY] (タイル)
|
||||||
rules.limitedRespawns = Limit Respawns
|
rules.respawns = ウェーブごとの最大復活回数
|
||||||
rules.title.waves = Waves
|
rules.limitedRespawns = 復活回数の制限
|
||||||
rules.title.respawns = Respawns
|
rules.title.waves = ウェーブ
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.respawns = 復活
|
||||||
rules.title.player = Players
|
rules.title.resourcesbuilding = 資源 & 建設
|
||||||
rules.title.enemy = Enemies
|
rules.title.player = プレイヤー
|
||||||
rules.title.unit = Units
|
rules.title.enemy = 敵
|
||||||
|
rules.title.unit = ユニット
|
||||||
|
|
||||||
content.item.name = アイテム
|
content.item.name = アイテム
|
||||||
content.liquid.name = 液体
|
content.liquid.name = 液体
|
||||||
content.unit.name = ユニット
|
content.unit.name = ユニット
|
||||||
@@ -536,23 +549,23 @@ item.graphite.name = 黒鉛
|
|||||||
item.titanium.name = チタン
|
item.titanium.name = チタン
|
||||||
item.titanium.description = 希少で非常に軽量な金属です。液体輸送やドリル、航空機などで使われます。
|
item.titanium.description = 希少で非常に軽量な金属です。液体輸送やドリル、航空機などで使われます。
|
||||||
item.thorium.name = トリウム
|
item.thorium.name = トリウム
|
||||||
item.thorium.description = 放射性を持つ高密度な金属です。建物の補強や核燃料として使われます。
|
item.thorium.description = 放射性を持つ高密度な金属です。建造物の支えや核燃料として使われます。
|
||||||
item.silicon.name = シリコン
|
item.silicon.name = シリコン
|
||||||
item.silicon.description = 非常に有用な半導体でソーラーパネルや多くの複雑な機械に応用できます。
|
item.silicon.description = 非常に有用な半導体でソーラーパネルや多くの複雑な機械に応用できます。
|
||||||
item.plastanium.name = プラスタニウム
|
item.plastanium.name = プラスタニウム
|
||||||
item.plastanium.description = 軽量で伸縮性のある材料です。機体や弾薬に使用されます。
|
item.plastanium.description = 軽量で伸縮性のある材料です。高度な航空機や分散型の弾薬として使用されます。
|
||||||
item.phase-fabric.name = フェーズファイバー
|
item.phase-fabric.name = フェーズファイバー
|
||||||
item.phase-fabric.description = 極めて軽量な素材です。高度な機械や自己修復技術に使用されます。
|
item.phase-fabric.description = 極めて軽量な素材です。高度な機械や自己修復技術に使用されます。
|
||||||
item.surge-alloy.name = サージ合金
|
item.surge-alloy.name = サージ合金
|
||||||
item.surge-alloy.description = 電気的特性を持った特殊な合金です。
|
item.surge-alloy.description = 電気的特性を持った特殊な合金です。
|
||||||
item.spore-pod.name = 胞子ポッド
|
item.spore-pod.name = 胞子ポッド
|
||||||
item.spore-pod.description = 石油や爆薬、燃料への転換に使用されます。
|
item.spore-pod.description = 石油や爆薬、燃料への転換として使用されます。
|
||||||
item.sand.name = 砂
|
item.sand.name = 砂
|
||||||
item.sand.description = 合金や融剤など広く使用されている一般的な材料です。
|
item.sand.description = 合金や融剤など広く使用されている一般的な材料です。
|
||||||
item.blast-compound.name = 爆発性化合物
|
item.blast-compound.name = 爆発性化合物
|
||||||
item.blast-compound.description = 爆弾や爆発物に使われる揮発性の化合物です。燃料として燃やすこともできますが、お勧めしません。
|
item.blast-compound.description = 爆弾や爆発物に使われる揮発性の化合物です。燃料として燃やすこともできますが、お勧めしません。
|
||||||
item.pyratite.name = ピラタイト
|
item.pyratite.name = ピラタイト
|
||||||
item.pyratite.description = 兵器などに使われる非常に燃えやすい物質です。
|
item.pyratite.description = 焼夷兵器などに使われる非常に燃えやすい物質です。
|
||||||
item.metaglass.name = メタガラス
|
item.metaglass.name = メタガラス
|
||||||
item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。
|
item.metaglass.description = とても頑丈な強化ガラスです。液体の輸送やタンクとして幅広く使われています。
|
||||||
item.scrap.name = スクラップ
|
item.scrap.name = スクラップ
|
||||||
@@ -562,26 +575,26 @@ liquid.slag.name = スラグ
|
|||||||
liquid.oil.name = 石油
|
liquid.oil.name = 石油
|
||||||
liquid.cryofluid.name = 冷却水
|
liquid.cryofluid.name = 冷却水
|
||||||
mech.alpha-mech.name = アルファ
|
mech.alpha-mech.name = アルファ
|
||||||
mech.alpha-mech.weapon = 重武装機関砲
|
mech.alpha-mech.weapon = 重機関砲
|
||||||
mech.alpha-mech.ability = ドローン部隊
|
mech.alpha-mech.ability = 再生
|
||||||
mech.alpha-mech.description = 一般的な機体です。標準的な速度と攻撃力を持っています。攻撃力を高めるために最大3体のドローン機を持っています。
|
mech.alpha-mech.description = 一般的な機体です。十分な速度と攻撃性能です。
|
||||||
mech.delta-mech.name = デルタ
|
mech.delta-mech.name = デルタ
|
||||||
mech.delta-mech.weapon = 電撃砲
|
mech.delta-mech.weapon = 電撃砲
|
||||||
mech.delta-mech.ability = 放電
|
mech.delta-mech.ability = 放電
|
||||||
mech.delta-mech.description = 高速移動する敵のために素早く軽量化された機体です。建物にはほとんどダメージを与えられませんが、電撃でたくさんの敵を攻撃することができます。
|
mech.delta-mech.description = 突撃攻撃が可能な素早く軽量化された機体です。建造物にはダメージをほとんど与えられませんが、電撃によって多くの敵に攻撃することができます。
|
||||||
mech.tau-mech.name = タウ
|
mech.tau-mech.name = タウ
|
||||||
mech.tau-mech.weapon = 修復レーザー
|
mech.tau-mech.weapon = 再構築レーザー
|
||||||
mech.tau-mech.ability = リペアバースト
|
mech.tau-mech.ability = リペアバースト
|
||||||
mech.tau-mech.description = 支援型機体です。ダメージを受けたブロックを修復や火災の消火、半径内の味方の治療を行います。
|
mech.tau-mech.description = 支援型機体です。攻撃を受けた味方のブロックを修復します。修復能力によって周辺の味方を修復します。
|
||||||
mech.omega-mech.name = オメガ
|
mech.omega-mech.name = オメガ
|
||||||
mech.omega-mech.weapon = ロケット弾
|
mech.omega-mech.weapon = ロケット弾
|
||||||
mech.omega-mech.ability = プロテクター
|
mech.omega-mech.ability = 特殊装甲
|
||||||
mech.omega-mech.description = 最前線での攻撃向けに作られた大型機体です。プロテクターによってダメージの90%を防ぐことができます。
|
mech.omega-mech.description = 最前線での攻撃向けに作られた大型機体です。特殊装甲によってダメージの90%を防ぐことができます。
|
||||||
mech.dart-ship.name = ダーツ
|
mech.dart-ship.name = ダーツ
|
||||||
mech.dart-ship.weapon = 機関砲
|
mech.dart-ship.weapon = 機関砲
|
||||||
mech.dart-ship.description = 一般的な機体です。軽く高速で使いやすいですが、攻撃能力はほとんどなく採掘速度も遅いのが難点です。
|
mech.dart-ship.description = 一般的な機体です。軽く高速で使いやすいですが、攻撃能力はほとんどなく採掘速度も遅いのが難点です。
|
||||||
mech.javelin-ship.name = ジャベリン
|
mech.javelin-ship.name = ジャベリン
|
||||||
mech.javelin-ship.description = 高速移動ができる機体です。最初は遅いですが、敵の基地で飛行能力が飛躍的に高まり、電撃やミサイルで多量のダメージを与えることができます。
|
mech.javelin-ship.description = 突撃攻撃型の機体です。最初の速度は遅いですが、敵基地が近づくと飛行能力が飛躍的に高まり、電撃やミサイルで大きなダメージを与えることができます。
|
||||||
mech.javelin-ship.weapon = バーストミサイル
|
mech.javelin-ship.weapon = バーストミサイル
|
||||||
mech.javelin-ship.ability = 放電ブースター
|
mech.javelin-ship.ability = 放電ブースター
|
||||||
mech.trident-ship.name = トライデント
|
mech.trident-ship.name = トライデント
|
||||||
@@ -601,24 +614,25 @@ mech.itemcapacity = [LIGHT_GRAY]アイテム容量: {0}
|
|||||||
mech.minespeed = [LIGHT_GRAY]採掘速度: {0}
|
mech.minespeed = [LIGHT_GRAY]採掘速度: {0}
|
||||||
mech.minepower = [LIGHT_GRAY]採掘性能: {0}
|
mech.minepower = [LIGHT_GRAY]採掘性能: {0}
|
||||||
mech.ability = [LIGHT_GRAY]能力: {0}
|
mech.ability = [LIGHT_GRAY]能力: {0}
|
||||||
mech.buildspeed = [LIGHT_GRAY]Building Speed: {0}%
|
mech.buildspeed = [LIGHT_GRAY]建設速度: {0}%
|
||||||
liquid.heatcapacity = [LIGHT_GRAY]熱容量: {0}
|
liquid.heatcapacity = [LIGHT_GRAY]熱容量: {0}
|
||||||
liquid.viscosity = [LIGHT_GRAY]粘度: {0}
|
liquid.viscosity = [LIGHT_GRAY]粘度: {0}
|
||||||
liquid.temperature = [LIGHT_GRAY]温度: {0}
|
liquid.temperature = [LIGHT_GRAY]温度: {0}
|
||||||
|
|
||||||
block.grass.name = 草
|
block.grass.name = 草
|
||||||
block.salt.name = 岩塩氷河
|
block.salt.name = 岩塩氷河
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = 岩塩
|
||||||
block.pebbles.name = Pebbles
|
block.pebbles.name = 小石
|
||||||
block.tendrils.name = Tendrils
|
block.tendrils.name = つる
|
||||||
block.sandrocks.name = 砂岩
|
block.sandrocks.name = 砂岩
|
||||||
block.spore-pine.name = 胞子の松の木
|
block.spore-pine.name = 胞子の松の木
|
||||||
block.sporerocks.name = 胞子の岩
|
block.sporerocks.name = 胞子の岩
|
||||||
block.rock.name = 岩
|
block.rock.name = 岩
|
||||||
block.snowrock.name = Snow Rock
|
block.snowrock.name = 雪の積もった岩
|
||||||
block.shale.name = 泥板岩
|
block.shale.name = 泥板岩
|
||||||
block.shale-boulder.name = 泥板岩の丸石
|
block.shale-boulder.name = 泥板岩の丸石
|
||||||
block.moss.name = コケ
|
block.moss.name = コケ
|
||||||
block.shrubs.name = Shrubs
|
block.shrubs.name = 低木
|
||||||
block.spore-moss.name = 胞子のコケ
|
block.spore-moss.name = 胞子のコケ
|
||||||
block.shalerocks.name = 泥板岩の岩
|
block.shalerocks.name = 泥板岩の岩
|
||||||
block.scrap-wall.name = スクラップの壁
|
block.scrap-wall.name = スクラップの壁
|
||||||
@@ -626,28 +640,28 @@ block.scrap-wall-large.name = 大きなスクラップの壁
|
|||||||
block.scrap-wall-huge.name = とても大きなスクラップの壁
|
block.scrap-wall-huge.name = とても大きなスクラップの壁
|
||||||
block.scrap-wall-gigantic.name = 巨大なスクラップの壁
|
block.scrap-wall-gigantic.name = 巨大なスクラップの壁
|
||||||
block.thruster.name = スラスター
|
block.thruster.name = スラスター
|
||||||
block.kiln.name = かまど
|
block.kiln.name = 溶解炉
|
||||||
block.kiln.description = 砂と鉛を溶かしてメタガラスを生成します。少量の電力が必要です。
|
block.kiln.description = 砂と鉛を溶かしてメタガラスを生成します。少量の電力が必要です。
|
||||||
block.graphite-press.name = 黒鉛圧縮機
|
block.graphite-press.name = 黒鉛圧縮機
|
||||||
block.multi-press.name = マルチ圧縮機
|
block.multi-press.name = マルチ圧縮機
|
||||||
block.constructing = {0}\n[LIGHT_GRAY](建設中)
|
block.constructing = {0}\n[LIGHT_GRAY](建設中)
|
||||||
block.spawn.name = 敵のスポーン
|
block.spawn.name = 敵の出現場所
|
||||||
block.core-shard.name = コア: シャード
|
block.core-shard.name = コア: シャード
|
||||||
block.core-foundation.name = コア: ファンデーション
|
block.core-foundation.name = コア: ファンデーション
|
||||||
block.core-nucleus.name = コア: ニュークリアス
|
block.core-nucleus.name = コア: ニュークリアス
|
||||||
block.deepwater.name = 深層水
|
block.deepwater.name = 深層水
|
||||||
block.water.name = 水
|
block.water.name = 水
|
||||||
block.tainted-water.name = Tainted Water
|
block.tainted-water.name = 汚れた水
|
||||||
block.darksand-tainted-water.name = Dark Sand Tainted Water
|
block.darksand-tainted-water.name = 黒い砂で汚れた水
|
||||||
block.tar.name = タール
|
block.tar.name = タール
|
||||||
block.stone.name = 石
|
block.stone.name = 石
|
||||||
block.sand.name = 砂
|
block.sand.name = 砂
|
||||||
block.darksand.name = Dark Sand
|
block.darksand.name = 黒い砂
|
||||||
block.ice.name = 氷
|
block.ice.name = 氷
|
||||||
block.snow.name = 雪
|
block.snow.name = 雪
|
||||||
block.craters.name = クレーター
|
block.craters.name = クレーター
|
||||||
block.sand-water.name = 濁った水
|
block.sand-water.name = 濁った水
|
||||||
block.darksand-water.name = Dark Sand Water
|
block.darksand-water.name = 黒い砂で濁った水
|
||||||
block.char.name = 焦げ跡
|
block.char.name = 焦げ跡
|
||||||
block.holostone.name = ホロストーン
|
block.holostone.name = ホロストーン
|
||||||
block.ice-snow.name = 雪氷
|
block.ice-snow.name = 雪氷
|
||||||
@@ -664,30 +678,29 @@ block.metal-floor-2.name = 金属製の地面 2
|
|||||||
block.metal-floor-3.name = 金属製の地面 3
|
block.metal-floor-3.name = 金属製の地面 3
|
||||||
block.metal-floor-5.name = 金属製の地面 5
|
block.metal-floor-5.name = 金属製の地面 5
|
||||||
block.metal-floor-damaged.name = 破壊された金属製の地面
|
block.metal-floor-damaged.name = 破壊された金属製の地面
|
||||||
block.creeptree.name = Creeptree
|
block.dark-panel-1.name = ダークパネル 1
|
||||||
block.dark-panel-1.name = Dark Panel 1
|
block.dark-panel-2.name = ダークパネル 2
|
||||||
block.dark-panel-2.name = Dark Panel 2
|
block.dark-panel-3.name = ダークパネル 3
|
||||||
block.dark-panel-3.name = Dark Panel 3
|
block.dark-panel-4.name = ダークパネル 4
|
||||||
block.dark-panel-4.name = Dark Panel 4
|
block.dark-panel-5.name = ダークパネル 5
|
||||||
block.dark-panel-5.name = Dark Panel 5
|
block.dark-panel-6.name = ダークパネル 6
|
||||||
block.dark-panel-6.name = Dark Panel 6
|
block.dark-metal.name = ダークメタル
|
||||||
block.dark-metal.name = Dark Metal
|
|
||||||
block.ignarock.name = イグナロック
|
block.ignarock.name = イグナロック
|
||||||
block.hotrock.name = ホットロック
|
block.hotrock.name = ホットロック
|
||||||
block.magmarock.name = マグマロック
|
block.magmarock.name = マグマロック
|
||||||
block.cliffs.name = 崖
|
block.cliffs.name = 崖
|
||||||
block.copper-wall.name = 銅の壁
|
block.copper-wall.name = 銅の壁
|
||||||
block.copper-wall-large.name = 大きな銅の壁
|
block.copper-wall-large.name = 巨大な銅の壁
|
||||||
block.titanium-wall.name = チタンの壁
|
block.titanium-wall.name = チタンの壁
|
||||||
block.titanium-wall-large.name = 大きなチタンの壁
|
block.titanium-wall-large.name = 巨大なチタンの壁
|
||||||
block.phase-wall.name = フェーズファイバーの壁
|
block.phase-wall.name = フェーズファイバーの壁
|
||||||
block.phase-wall-large.name = 大きなフェーズファイバーの壁
|
block.phase-wall-large.name = 巨大なフェーズファイバーの壁
|
||||||
block.thorium-wall.name = トリウムの壁
|
block.thorium-wall.name = トリウムの壁
|
||||||
block.thorium-wall-large.name = 大きなトリウムの壁
|
block.thorium-wall-large.name = 巨大なトリウムの壁
|
||||||
block.door.name = ドア
|
block.door.name = ドア
|
||||||
block.door-large.name = 大きなドア
|
block.door-large.name = 大型のドア
|
||||||
block.duo.name = デュオ
|
block.duo.name = デュオ
|
||||||
block.scorch.name = Scorch
|
block.scorch.name = スコーチ
|
||||||
block.scatter.name = スキャッター
|
block.scatter.name = スキャッター
|
||||||
block.hail.name = ヘイル
|
block.hail.name = ヘイル
|
||||||
block.lancer.name = ランサー
|
block.lancer.name = ランサー
|
||||||
@@ -697,9 +710,9 @@ block.junction.name = ジャンクション
|
|||||||
block.router.name = ルーター
|
block.router.name = ルーター
|
||||||
block.distributor.name = ディストリビューター
|
block.distributor.name = ディストリビューター
|
||||||
block.sorter.name = ソーター
|
block.sorter.name = ソーター
|
||||||
block.sorter.description = アイテムを分別して搬出します。設定されたアイテムは通過させ、異なるアイテムの場合、左右に搬出します。
|
block.sorter.description = アイテムを分別して搬出します。設定したアイテムは通過させます。他のアイテムが搬入されると側面にアイテムを搬出します。
|
||||||
block.overflow-gate.name = オーバーフローゲート
|
block.overflow-gate.name = オーバーフローゲート
|
||||||
block.overflow-gate.description = 搬出先がいっぱいの場合に左右にアイテムを搬出します。
|
block.overflow-gate.description = 搬出先にアイテムを搬入する空きがない場合に左右にアイテムを搬出します。
|
||||||
block.silicon-smelter.name = シリコン溶鉱炉
|
block.silicon-smelter.name = シリコン溶鉱炉
|
||||||
block.phase-weaver.name = フェーズ織機
|
block.phase-weaver.name = フェーズ織機
|
||||||
block.pulverizer.name = 粉砕機
|
block.pulverizer.name = 粉砕機
|
||||||
@@ -708,7 +721,7 @@ block.melter.name = 融合機
|
|||||||
block.incinerator.name = 焼却炉
|
block.incinerator.name = 焼却炉
|
||||||
block.spore-press.name = 胞子圧縮機
|
block.spore-press.name = 胞子圧縮機
|
||||||
block.separator.name = 分離機
|
block.separator.name = 分離機
|
||||||
block.coal-centrifuge.name = Coal Centrifuge
|
block.coal-centrifuge.name = 石炭遠心分離機
|
||||||
block.power-node.name = 電源ノード
|
block.power-node.name = 電源ノード
|
||||||
block.power-node-large.name = 大型電源ノード
|
block.power-node-large.name = 大型電源ノード
|
||||||
block.surge-tower.name = サージタワー
|
block.surge-tower.name = サージタワー
|
||||||
@@ -723,13 +736,13 @@ block.pneumatic-drill.name = 空気圧ドリル
|
|||||||
block.laser-drill.name = レーザードリル
|
block.laser-drill.name = レーザードリル
|
||||||
block.water-extractor.name = ウォーターポンプ
|
block.water-extractor.name = ウォーターポンプ
|
||||||
block.cultivator.name = 培養機
|
block.cultivator.name = 培養機
|
||||||
block.dart-mech-pad.name = Dart Mech Pad
|
block.dart-mech-pad.name = アルファ整備台
|
||||||
block.delta-mech-pad.name = デルタパッド
|
block.delta-mech-pad.name = デルタ整備台
|
||||||
block.javelin-ship-pad.name = ジャベリンパッド
|
block.javelin-ship-pad.name = ジャベリン整備台
|
||||||
block.trident-ship-pad.name = トライデントパッド
|
block.trident-ship-pad.name = トライデント整備台
|
||||||
block.glaive-ship-pad.name = グライブパッド
|
block.glaive-ship-pad.name = グライブ整備台
|
||||||
block.omega-mech-pad.name = オメガパッド
|
block.omega-mech-pad.name = オメガ整備台
|
||||||
block.tau-mech-pad.name = タウパッド
|
block.tau-mech-pad.name = タウ整備台
|
||||||
block.conduit.name = パイプ
|
block.conduit.name = パイプ
|
||||||
block.mechanical-pump.name = 機械ポンプ
|
block.mechanical-pump.name = 機械ポンプ
|
||||||
block.item-source.name = アイテムソース
|
block.item-source.name = アイテムソース
|
||||||
@@ -774,7 +787,7 @@ block.blast-drill.name = エアブラストドリル
|
|||||||
block.thermal-pump.name = サーマルポンプ
|
block.thermal-pump.name = サーマルポンプ
|
||||||
block.thermal-generator.name = サーマル発電機
|
block.thermal-generator.name = サーマル発電機
|
||||||
block.alloy-smelter.name = 合金溶鉱炉
|
block.alloy-smelter.name = 合金溶鉱炉
|
||||||
block.mender.name = Mender
|
block.mender.name = 修復機
|
||||||
block.mend-projector.name = 修復プロジェクター
|
block.mend-projector.name = 修復プロジェクター
|
||||||
block.surge-wall.name = サージの壁
|
block.surge-wall.name = サージの壁
|
||||||
block.surge-wall-large.name = 大きなサージの壁
|
block.surge-wall-large.name = 大きなサージの壁
|
||||||
@@ -788,8 +801,8 @@ block.rtg-generator.name = RTG発電機
|
|||||||
block.spectre.name = スペクター
|
block.spectre.name = スペクター
|
||||||
block.meltdown.name = メルトダウン
|
block.meltdown.name = メルトダウン
|
||||||
block.container.name = コンテナー
|
block.container.name = コンテナー
|
||||||
block.launch-pad.name = 出撃パッド
|
block.launch-pad.name = 発射台
|
||||||
block.launch-pad.description = コアの出撃不要で多くのアイテムを脱出します。これは未完成です。
|
block.launch-pad.description = コアを発射することなく、沢山のアイテムを発射します。まだ未完成だよ。
|
||||||
block.launch-pad-large.name = 大型発射台
|
block.launch-pad-large.name = 大型発射台
|
||||||
team.blue.name = ブルー
|
team.blue.name = ブルー
|
||||||
team.red.name = レッド
|
team.red.name = レッド
|
||||||
@@ -798,14 +811,14 @@ team.none.name = グレー
|
|||||||
team.green.name = グリーン
|
team.green.name = グリーン
|
||||||
team.purple.name = パープル
|
team.purple.name = パープル
|
||||||
unit.spirit.name = スピリットドローン
|
unit.spirit.name = スピリットドローン
|
||||||
unit.spirit.description = 初期のドローンユニットです。デフォルトでコアからスポーンします。自動で鉱石の採掘やブロックの修理をします。
|
unit.spirit.description = 手軽なドローンユニットです。最初からコアに出現します。鉱石の採掘やブロックの修理を自動で行います。
|
||||||
unit.phantom.name = ファントムドローン
|
unit.phantom.name = ファントムドローン
|
||||||
unit.phantom.description = 改良された小型ドローンユニットです。自動で鉱石の採掘やブロックの修理をします。スピリットドローンを遥かに凌ぐ性能です。
|
unit.phantom.description = 高度な小型ドローンユニットです。自動で鉱石の採掘やブロックの修理をします。スピリットドローンを遥かに凌ぐ性能を誇ります。
|
||||||
unit.dagger.name = ダガー
|
unit.dagger.name = ダガー
|
||||||
unit.dagger.description = 一般的な地上ユニットです。集団になるほど有用です。
|
unit.dagger.description = 基本的な地上ユニットです。集団になると便利に使えます。
|
||||||
unit.crawler.name = クローラー
|
unit.crawler.name = クローラー
|
||||||
unit.titan.name = タイタン
|
unit.titan.name = タイタン
|
||||||
unit.titan.description = 改良された武装地上ユニットです。地上と航空機の両方に攻撃します。
|
unit.titan.description = 高度な武装地上ユニットです。空と地上の両方の敵に攻撃を行います。
|
||||||
unit.ghoul.name = グール爆撃機
|
unit.ghoul.name = グール爆撃機
|
||||||
unit.ghoul.description = 重爆撃機です。
|
unit.ghoul.description = 重爆撃機です。
|
||||||
unit.wraith.name = レースファイター
|
unit.wraith.name = レースファイター
|
||||||
@@ -848,11 +861,11 @@ block.phase-wall-large.description = トリウムの壁ほど強固ではない
|
|||||||
block.surge-wall.description = 最も硬い防壁ブロックです。\nたまに攻撃されると敵に電撃を与えます。
|
block.surge-wall.description = 最も硬い防壁ブロックです。\nたまに攻撃されると敵に電撃を与えます。
|
||||||
block.surge-wall-large.description = 最も硬い大型防壁ブロックです。\nたまに攻撃されると敵に電撃を与えます。
|
block.surge-wall-large.description = 最も硬い大型防壁ブロックです。\nたまに攻撃されると敵に電撃を与えます。
|
||||||
block.door.description = 小さなドアブロックです。タップすることで開閉することができます。\nただし、ドアが開いている場合、弾や敵も通過できます。
|
block.door.description = 小さなドアブロックです。タップすることで開閉することができます。\nただし、ドアが開いている場合、弾や敵も通過できます。
|
||||||
block.door-large.description = 大きなドアブロックです。タップすることで開閉することができます。\nただし、ドアが開いている場合、弾や敵も通過できます。
|
block.door-large.description = 大型のドアブロックです。タップすることで開閉することができます。\nただし、ドアが開いている場合、弾や敵も通過できます。
|
||||||
block.mend-projector.description = 定期的に周辺のブロックを修復します。
|
block.mend-projector.description = 定期的に周辺のブロックを修復します。
|
||||||
block.overdrive-projector.description = ドリルやコンベアなど、近くの施設の効率を向上させます。
|
block.overdrive-projector.description = ドリルやコンベアなど、近くの施設の効率を向上させます。
|
||||||
block.force-projector.description = 周囲に六角形の力場を作り出し、内部の建造物やユニットなどを守ります。
|
block.force-projector.description = 周囲に六角形の力場を作り出し、内部の建造物やユニットなどを守ります。
|
||||||
block.shock-mine.description = 敵が踏むと、ダメージを与えます。敵には見えません。
|
block.shock-mine.description = 踏んだ敵にダメージを与えます。敵に見えることはありません。
|
||||||
block.duo.description = 小さく安価なターレットです。
|
block.duo.description = 小さく安価なターレットです。
|
||||||
block.scatter.description = 中規模の対空型ターレットです。敵に鉛またはスクラップの塊を分散するように発射させます。
|
block.scatter.description = 中規模の対空型ターレットです。敵に鉛またはスクラップの塊を分散するように発射させます。
|
||||||
block.arc.description = 小型の電撃型ターレットです。敵に向かってランダムな半円状に電撃を放ちます。
|
block.arc.description = 小型の電撃型ターレットです。敵に向かってランダムな半円状に電撃を放ちます。
|
||||||
@@ -886,48 +899,48 @@ block.separator.description = 石を水圧で砕き、石に含まれる様々
|
|||||||
block.power-node.description = 電力ノード間で電力の送電を行います。最大で4つの電力源やノードなどに接続できます。隣接するブロックから電力の送電や供給を行います。
|
block.power-node.description = 電力ノード間で電力の送電を行います。最大で4つの電力源やノードなどに接続できます。隣接するブロックから電力の送電や供給を行います。
|
||||||
block.power-node-large.description = 巨大な電力ノードです。最大で6つの電力源やノードに接続できます。
|
block.power-node-large.description = 巨大な電力ノードです。最大で6つの電力源やノードに接続できます。
|
||||||
block.battery.description = 余分な電力の充電して、貯めておくことができます。必要があれば、溜まった電力を供給します。
|
block.battery.description = 余分な電力の充電して、貯めておくことができます。必要があれば、溜まった電力を供給します。
|
||||||
block.battery-large.description = 通常のバッテリーよりもたくさんの電力を溜めておくことができます
|
block.battery-large.description = 通常のバッテリーよりもたくさんの電力を溜めておくことができます。
|
||||||
block.combustion-generator.description = 石油や可燃性の物質を燃やして発電します。
|
block.combustion-generator.description = 石油や可燃性の物質を燃やして発電します。
|
||||||
block.turbine-generator.description = 水を使って火力発電機より効率的に発電します。
|
block.turbine-generator.description = 水を使って火力発電機より効率的に発電します。
|
||||||
block.thermal-generator.description = 溶岩から大量の電力を発電します。
|
block.thermal-generator.description = 溶岩から大量の電力を発電します。
|
||||||
block.solar-panel.description = 太陽光から少量の電力を発電します。
|
block.solar-panel.description = 太陽光から少量の電力を発電します。
|
||||||
block.solar-panel-large.description = 建設費が高価ですが、通常のソーラーパネルより大量の電力を発電することができます。
|
block.solar-panel-large.description = 高価な建設費と引き換えに、通常のソーラーパネルより大量の電力を発電することができます。
|
||||||
block.thorium-reactor.description = 高い放射性を持ったトリウムから大量の電力を発電します。これには一定の冷却が必要です。冷却が不十分な場合、大きな爆発が発生します。
|
block.thorium-reactor.description = 高い放射性を持ったトリウムから大量の電力を発電します。これには一定の冷却が必要です。冷却が不十分な場合、大きな爆発が発生します。
|
||||||
block.rtg-generator.description = トリウムリアクターよりも発電量は少ないですが、冷却を必要としない放射性同位体熱発電機(RTG)です。
|
block.rtg-generator.description = トリウムリアクターよりも発電量は少ないですが、冷却を必要としない放射性同位体熱発電機(RTG)です。
|
||||||
block.unloader.description = コンテナやボールト、コアからアイテムをコンベアーか隣接するブロックに搬出します。搬出機をタップして搬出するアイテムを変更することができます。
|
block.unloader.description = コンテナやボールト、コアからアイテムをコンベアーか隣接するブロックに搬出します。搬出機をタップして搬出するアイテムを変更することができます。
|
||||||
block.container.description = 各種類のアイテムを少量ずつ保管します。隣接するコンテナーやボール卜、コアは一つのストレージユニットとして扱われます。 [LIGHT_GRAY]搬出機[]を使って、コンテナーからアイテムを搬出できます。
|
block.container.description = 各種類のアイテムを少量ずつ保管します。隣接するコンテナーやボール卜、コアは一つのストレージユニットとして扱われます。 [LIGHT_GRAY]搬出機[]を使って、コンテナーからアイテムを搬出できます。
|
||||||
block.vault.description = 各種類のアイテムを大量に保管します。隣接するコンテナーやボール卜、コアは一つのストレージユニットとして扱われます。[LIGHT_GRAY]搬出機[]を使って、ボールトからアイテムを搬出できます。
|
block.vault.description = 各種類のアイテムを大量に保管します。隣接するコンテナーやボール卜、コアは一つのストレージユニットとして扱われます。[LIGHT_GRAY]搬出機[]を使って、ボールトからアイテムを搬出できます。
|
||||||
block.mechanical-drill.description = 安価なドリルです。採掘可能な鉱脈に設置すると、アイテムを採掘して搬出します。
|
block.mechanical-drill.description = 安価なドリルです。採掘可能な鉱脈に設置すると、アイテムを採掘して搬出します。
|
||||||
block.pneumatic-drill.description = 速く採掘できるように改善されたドリルです。また、より硬い鉱石も採掘することができます。
|
block.pneumatic-drill.description = より速く採掘できるように改良されたドリルです。また、より硬い鉱石も採掘することができます。
|
||||||
block.laser-drill.description = 電力を使用して、レーザー技術でより速く採掘することができます。また、放射性のトリウムを回収することができます。
|
block.laser-drill.description = 電力を使用したレーザー技術でより速く採掘することができます。また、放射性のトリウムを回収することができます。
|
||||||
block.blast-drill.description = 上位のドリルです。大量の電力が必要です。
|
block.blast-drill.description = 上位のドリルです。大量の電力が必要になります。
|
||||||
block.water-extractor.description = 地面から水を汲み上げます。近くに湖がない場合に有用です。
|
block.water-extractor.description = 地面から水を汲み上げます。近くに湖がない場合に有用です。
|
||||||
block.cultivator.description = 胞子の小さな集まりを工業用ポッドに培養します。
|
block.cultivator.description = 胞子の小さな集まりを工業用ポッドに培養します。
|
||||||
block.oil-extractor.description = 大量の電力を使用して、砂から石油を回収します。近くに油田がない場合に有用です。
|
block.oil-extractor.description = 大量の電力を使用して、砂から石油を回収します。近くに油田がない場合に有用です。
|
||||||
block.trident-ship-pad.description = 機体を重装備の爆撃機に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.trident-ship-pad.description = 機体を重装備の爆撃機に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.javelin-ship-pad.description = 機体を高速で強力な電撃砲を搭載した迎撃機に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.javelin-ship-pad.description = 機体を高速で強力な電撃砲を搭載した迎撃機に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.glaive-ship-pad.description = 機体を重装備の大型攻撃機に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.glaive-ship-pad.description = 機体を重装備の大型攻撃機に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.tau-mech-pad.description = 機体を味方の建造物やユニットの修復が可能な支援型機体に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.tau-mech-pad.description = 機体を味方の建造物やユニットの修復が可能な支援型機体に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.delta-mech-pad.description = 機体を高速で突撃攻撃に向いた軽装備の機体に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.delta-mech-pad.description = 機体を高速で突撃攻撃に向いた軽装備の機体に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.omega-mech-pad.description = 機体を最前線での戦闘に向いた重装備の機体に乗り換えます。\nパッドに乗ってダブルタップすることで使用することができます。
|
block.omega-mech-pad.description = 機体を最前線での戦闘に向いた重装備の機体に乗り換えます。\n整備台に乗ってダブルタップすることで使用することができます。
|
||||||
block.spirit-factory.description = 鉱石の採掘やブロックの修復を行う小型のドローンユニットのスピリットを製造します。
|
block.spirit-factory.description = 鉱石の採掘やブロックの修復を行う小型のドローンユニットのスピリットを製造します。
|
||||||
block.phantom-factory.description = スピリットドローンの性能を遥かに凌ぐ上位のドローンユニットのファントムドローンを製造します。
|
block.phantom-factory.description = スピリットドローンの性能を遥かに凌ぐ上位のドローンユニットのファントムドローンを製造します。
|
||||||
block.wraith-factory.description = 高速で突撃攻撃が可能な迎撃ユニットのレースファイターを製造します。
|
block.wraith-factory.description = 高速で突撃攻撃が可能な迎撃ユニットのレースファイターを製造します。
|
||||||
block.ghoul-factory.description = 大型の爆撃機のグールを製造します。
|
block.ghoul-factory.description = 大型爆撃機のグールを製造します。
|
||||||
block.dagger-factory.description = 基本的な地上ユニットのダガーを製造します。
|
block.dagger-factory.description = 基本的な地上ユニットのダガーを製造します。
|
||||||
block.titan-factory.description = 改良された武装地上ユニットのタイタンを製造します。
|
block.titan-factory.description = 高度な武装地上ユニットのタイタンを製造します。
|
||||||
block.fortress-factory.description = 大型の砲撃地上ユニットのフォートレスを製造します。
|
block.fortress-factory.description = 大型の砲撃地上ユニットのフォートレスを製造します。
|
||||||
block.revenant-factory.description = 大型のレーザー航空ユニットのレベナントを製造します。
|
block.revenant-factory.description = 大型のレーザー航空ユニットのレベナントを製造します。
|
||||||
block.repair-point.description = 近くの負傷したユニットを修復します。
|
block.repair-point.description = 近くの負傷したユニットを修復します。
|
||||||
block.conduit.description = 一般的な液体輸送ブロックです。液体版のコンベアーです。ポンプや他のパイプに使うことができます。
|
block.conduit.description = 一般的な液体輸送ブロックです。液体版のコンベアーです。ポンプや他のパイプに使うことができます。
|
||||||
block.pulse-conduit.description = 改良された液体輸送ブロックです。通常のパイプより速く、たくさんのアイテムを輸送することができます。
|
block.pulse-conduit.description = 高度な液体輸送ブロックです。通常のパイプより速く、たくさんのアイテムを輸送することができます。
|
||||||
block.phase-conduit.description = 改良された液体輸送ブロックです。電力を使用して、液体を他の離れたフェーズパイプに転送することができます。
|
block.phase-conduit.description = 高度な液体輸送ブロックです。電力を使用して、液体を他の離れたフェーズパイプに転送することができます。
|
||||||
block.liquid-router.description = 搬入したアイテムをほかの3方向に均等に搬出します。液体の漏れを防ぐことができます。一つの資源から複数に分ける際などに使われます。
|
block.liquid-router.description = 搬入したアイテムをほかの3方向に均等に搬出します。液体の漏れを防ぐことができます。一つの資源から複数に分ける際などに使われます。
|
||||||
block.liquid-tank.description = 大量の液体を保管しておくことができます。需要が不安定な製造設備や重要な施設の冷却水の予備などとして使用されます。
|
block.liquid-tank.description = 大量の液体を保管しておくことができます。需要が不安定な製造設備や重要な施設の冷却水の予備などとして使用されます。
|
||||||
block.liquid-junction.description = パイプを他のパイプと交差できるようにします。それぞれ搬入した液体を前方に搬出します。パイプで複雑な構造を組み立てるときなどに使われます。
|
block.liquid-junction.description = パイプを他のパイプと交差できるようにします。それぞれ搬入した液体を前方に搬出します。パイプで複雑な構造を組み立てるときなどに使われます。
|
||||||
block.bridge-conduit.description = 高度な液体輸送ブロックです。地形や建物を超えて、3ブロック離れた場所に液体を輸送することができます。
|
block.bridge-conduit.description = 高度な液体輸送ブロックです。地形や建物を超えて、3ブロック離れた場所に液体を輸送することができます。
|
||||||
block.mechanical-pump.description = 安価なポンプです。搬出速度は遅いですが、電力を使わず使用できます。
|
block.mechanical-pump.description = 安価なポンプです。搬出速度は遅いですが、電力を使わず使用できます。
|
||||||
block.rotary-pump.description = 改良されたポンプです。電力を使用して2倍速く搬出することができます。
|
block.rotary-pump.description = 高度なポンプです。電力を使用して2倍速く搬出することができます。
|
||||||
block.thermal-pump.description = 最高性能のポンプです。
|
block.thermal-pump.description = 最高性能のポンプです。
|
||||||
block.router.description = 搬入したアイテムをほかの3方向に均等に搬出します。一つの資源から複数に分ける際などに使われます。
|
block.router.description = 搬入したアイテムをほかの3方向に均等に搬出します。一つの資源から複数に分ける際などに使われます。
|
||||||
block.distributor.description = 高度なルーターです。搬入したアイテムをほかの7方向に均等に分けて搬出します。
|
block.distributor.description = 高度なルーターです。搬入したアイテムをほかの7方向に均等に分けて搬出します。
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
credits.text = Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
|
credits.text = Created by [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]
|
||||||
credits = 제작자
|
credits = 제작자
|
||||||
contributors = 번역 및 기여자들
|
contributors = 번역 및 기여자들
|
||||||
discord = mindustry discord 에 참여 해 보세요!
|
discord = Mindustry Discord 에 참여 해 보세요!
|
||||||
link.discord.description = 공식 mindustry discord 채팅방
|
link.discord.description = 공식 Mindustry Discord 채팅방
|
||||||
link.github.description = 게임 소스코드
|
link.github.description = 게임 소스코드
|
||||||
link.dev-builds.description = 불안정한 개발 빌드들
|
link.dev-builds.description = 불안정한 개발 빌드들
|
||||||
link.trello.description = 다음 출시될 기능들을 게시판 공식 Trello 보드
|
link.trello.description = 다음 출시될 기능들을 게시판 공식 Trello 보드
|
||||||
@@ -86,13 +86,8 @@ trace = 플레이어 정보 보기
|
|||||||
trace.playername = 이름: [accent]{0}
|
trace.playername = 이름: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}{0}
|
trace.ip = IP: [accent]{0}{0}
|
||||||
trace.id = 고유 ID: [accent]{0}
|
trace.id = 고유 ID: [accent]{0}
|
||||||
trace.android = Android 클라이언트: [accent]{0}
|
trace.mobile = 모바일 클라이언트: [accent]{0}
|
||||||
trace.modclient = 수정된 클라이언트: [accent]{0}
|
trace.modclient = 수정된 클라이언트: [accent]{0}
|
||||||
trace.totalblocksbroken = 총 블록 파괴 개수: [accent]{0}
|
|
||||||
trace.structureblocksbroken = 구조 블록 파괴 수: [accent]{0}
|
|
||||||
trace.lastblockbroken = 마지막으로 파괴한 블록: [accent]{0}
|
|
||||||
trace.totalblocksplaced = 총 설치한 블록 개수: [accent]{0}
|
|
||||||
trace.lastblockplaced = 마지막으로 설치한 블록: [accent]{0}
|
|
||||||
invalidid = 잘못된 클라이언트 ID 입니다! 버그 보고서를 제출 해 주세요.
|
invalidid = 잘못된 클라이언트 ID 입니다! 버그 보고서를 제출 해 주세요.
|
||||||
server.bans = 차단된 유저
|
server.bans = 차단된 유저
|
||||||
server.bans.none = 차단된 플레이어가 없습니다.
|
server.bans.none = 차단된 플레이어가 없습니다.
|
||||||
@@ -196,6 +191,8 @@ editor.mapinfo = 맵 정보
|
|||||||
editor.author = 만든이:
|
editor.author = 만든이:
|
||||||
editor.description = 설명:
|
editor.description = 설명:
|
||||||
editor.waves = 웨이브:
|
editor.waves = 웨이브:
|
||||||
|
editor.rules = 규칙:
|
||||||
|
editor.ingame = 인게임 편집
|
||||||
waves.title = 웨이브
|
waves.title = 웨이브
|
||||||
waves.remove = 삭제
|
waves.remove = 삭제
|
||||||
waves.never = <절대>
|
waves.never = <절대>
|
||||||
@@ -213,10 +210,15 @@ waves.copied = 웨이브 복사됨
|
|||||||
editor.default = [LIGHT_GRAY]<기본값>
|
editor.default = [LIGHT_GRAY]<기본값>
|
||||||
edit = 편집...
|
edit = 편집...
|
||||||
editor.name = 이름:
|
editor.name = 이름:
|
||||||
|
editor.spawn = 유닛 생성
|
||||||
|
editor.removeunit = 유닛 삭제
|
||||||
editor.teams = 팀
|
editor.teams = 팀
|
||||||
editor.elevation = 지형 높이
|
editor.elevation = 지형 높이
|
||||||
editor.errorload = [accent]{0} 파일을 불러오는데 실패했습니다.
|
editor.errorload = [accent]{0} 파일을 불러오는데 실패했습니다.
|
||||||
editor.errorsave = [accent]{0} 파일을 저장하는데 실패했습니다.
|
editor.errorsave = [accent]{0} 파일을 저장하는데 실패했습니다.
|
||||||
|
editor.errorimage = 이것은 맵이 아니라 사진입니다. 확장자를 바꿔서 시도할 생각하지 마세요.\n\n예전 맵을 가져올려면 편집기의 '예전 맵 가져오기' 버튼을 사용하세요.
|
||||||
|
editor.errorlegacy = 이 맵은 너무 오래되어, 더이상 지원하지 않는 맵 형식을 사용합니다.
|
||||||
|
editor.errorheader = 이 맵 파일은 유효하지 않거나 손상되었습니다.
|
||||||
editor.errorname = 맵에 이름이 지정되어 있지 않습니다.
|
editor.errorname = 맵에 이름이 지정되어 있지 않습니다.
|
||||||
editor.update = 업데이트
|
editor.update = 업데이트
|
||||||
editor.randomize = 랜덤
|
editor.randomize = 랜덤
|
||||||
@@ -250,7 +252,7 @@ editor.overwrite = [accept]경고!이 명령은 기존 맵을 덮어씌우게
|
|||||||
editor.overwrite.confirm = [scarlet]경고![] 이 이름을 가진 맵이 이미 있습니다. 덮어 쓰시겠습니까?
|
editor.overwrite.confirm = [scarlet]경고![] 이 이름을 가진 맵이 이미 있습니다. 덮어 쓰시겠습니까?
|
||||||
editor.selectmap = 불러올 맵 선택:
|
editor.selectmap = 불러올 맵 선택:
|
||||||
filters.empty = [LIGHT_GRAY]필터가 없습니다!! 아래 버튼을 눌러 추가하세요.
|
filters.empty = [LIGHT_GRAY]필터가 없습니다!! 아래 버튼을 눌러 추가하세요.
|
||||||
filter.distort = 비틀기
|
filter.distort = 왜곡
|
||||||
filter.noise = 노이즈
|
filter.noise = 노이즈
|
||||||
filter.ore = 자원
|
filter.ore = 자원
|
||||||
filter.rivernoise = 협곡 노이즈
|
filter.rivernoise = 협곡 노이즈
|
||||||
@@ -269,6 +271,8 @@ filter.option.wall = 벽
|
|||||||
filter.option.ore = 자원
|
filter.option.ore = 자원
|
||||||
filter.option.floor2 = 2번째 바닥
|
filter.option.floor2 = 2번째 바닥
|
||||||
filter.option.threshold2 = 2번째 한계점
|
filter.option.threshold2 = 2번째 한계점
|
||||||
|
filter.option.radius = 반경
|
||||||
|
filter.option.percentile = 백분위수
|
||||||
width = 넓이:
|
width = 넓이:
|
||||||
height = 높이:
|
height = 높이:
|
||||||
menu = 메뉴
|
menu = 메뉴
|
||||||
@@ -315,7 +319,7 @@ error.mapnotfound = 맵 파일을 찾을 수 없습니다!
|
|||||||
error.io = 네트워크 I/O 오류.
|
error.io = 네트워크 I/O 오류.
|
||||||
error.any = 알 수 없는 네트워크 오류.
|
error.any = 알 수 없는 네트워크 오류.
|
||||||
zone.groundZero.name = 그라운드 제로
|
zone.groundZero.name = 그라운드 제로
|
||||||
zone.desertWastes.name = 사막 쓰레기
|
zone.desertWastes.name = 쓰레기 사막
|
||||||
zone.craters.name = 분화구
|
zone.craters.name = 분화구
|
||||||
zone.frozenForest.name = 얼어붙은 숲
|
zone.frozenForest.name = 얼어붙은 숲
|
||||||
zone.ruinousShores.name = 파멸의 기슭
|
zone.ruinousShores.name = 파멸의 기슭
|
||||||
@@ -416,6 +420,7 @@ category.shooting = 사격
|
|||||||
category.optional = 보조 아이템
|
category.optional = 보조 아이템
|
||||||
setting.landscape.name = 가로화면으로 고정
|
setting.landscape.name = 가로화면으로 고정
|
||||||
setting.shadows.name = 그림자
|
setting.shadows.name = 그림자
|
||||||
|
setting.linear.name = 선형 필터링
|
||||||
setting.animatedwater.name = 움직이는 물
|
setting.animatedwater.name = 움직이는 물
|
||||||
setting.animatedshields.name = 움직이는 보호막
|
setting.animatedshields.name = 움직이는 보호막
|
||||||
setting.antialias.name = 안티 에일리어싱[LIGHT_GRAY] (재시작 필요)[]
|
setting.antialias.name = 안티 에일리어싱[LIGHT_GRAY] (재시작 필요)[]
|
||||||
@@ -429,7 +434,7 @@ setting.difficulty.training = 훈련
|
|||||||
setting.difficulty.easy = 쉬움
|
setting.difficulty.easy = 쉬움
|
||||||
setting.difficulty.normal = 보통
|
setting.difficulty.normal = 보통
|
||||||
setting.difficulty.hard = 어려움
|
setting.difficulty.hard = 어려움
|
||||||
setting.difficulty.insane = 매우 어려움
|
setting.difficulty.insane = 미침
|
||||||
setting.difficulty.name = 난이도:
|
setting.difficulty.name = 난이도:
|
||||||
setting.screenshake.name = 화면 흔들기
|
setting.screenshake.name = 화면 흔들기
|
||||||
setting.effects.name = 화면 효과
|
setting.effects.name = 화면 효과
|
||||||
@@ -437,7 +442,7 @@ setting.sensitivity.name = 컨트롤러 감도
|
|||||||
setting.saveinterval.name = 저장 간격
|
setting.saveinterval.name = 저장 간격
|
||||||
setting.seconds = 초
|
setting.seconds = 초
|
||||||
setting.fullscreen.name = 전체 화면
|
setting.fullscreen.name = 전체 화면
|
||||||
setting.borderless.name = 테두리 없는 창모드
|
setting.borderlesswindow.name = 테두리 없는 창모드[LIGHT_GRAY] (재시작이 필요할 수 있습니다)
|
||||||
setting.fps.name = FPS 표시
|
setting.fps.name = FPS 표시
|
||||||
setting.vsync.name = VSync 활성화
|
setting.vsync.name = VSync 활성화
|
||||||
setting.lasers.name = 전력 노드 레이저 표시
|
setting.lasers.name = 전력 노드 레이저 표시
|
||||||
@@ -607,9 +612,9 @@ liquid.viscosity = [LIGHT_GRAY]점도: {0}
|
|||||||
liquid.temperature = [LIGHT_GRAY]온도: {0}
|
liquid.temperature = [LIGHT_GRAY]온도: {0}
|
||||||
block.grass.name = 잔디
|
block.grass.name = 잔디
|
||||||
block.salt.name = 소금
|
block.salt.name = 소금
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = 소금 바위
|
||||||
block.pebbles.name = 조약돌
|
block.pebbles.name = 조약돌
|
||||||
block.tendrils.name = 텐드릴
|
block.tendrils.name = 덩굴
|
||||||
block.sandrocks.name = 모래 바위
|
block.sandrocks.name = 모래 바위
|
||||||
block.spore-pine.name = 포자 소나무
|
block.spore-pine.name = 포자 소나무
|
||||||
block.sporerocks.name = 포자 바위
|
block.sporerocks.name = 포자 바위
|
||||||
@@ -637,8 +642,8 @@ block.core-foundation.name = 코어-기초
|
|||||||
block.core-nucleus.name = 코어-핵
|
block.core-nucleus.name = 코어-핵
|
||||||
block.deepwater.name = 깊은물
|
block.deepwater.name = 깊은물
|
||||||
block.water.name = 물
|
block.water.name = 물
|
||||||
block.tainted-water.name = 도색된 물
|
block.tainted-water.name = 오염된 물
|
||||||
block.darksand-tainted-water.name = 검은 모래로 도색된 물
|
block.darksand-tainted-water.name = 검은 모래로 오염된 물
|
||||||
block.tar.name = 타르
|
block.tar.name = 타르
|
||||||
block.stone.name = 돌
|
block.stone.name = 돌
|
||||||
block.sand.name = 모래
|
block.sand.name = 모래
|
||||||
@@ -659,11 +664,11 @@ block.pine.name = 소나무
|
|||||||
block.white-tree-dead.name = 죽은 하얀나무
|
block.white-tree-dead.name = 죽은 하얀나무
|
||||||
block.white-tree.name = 하얀 나무
|
block.white-tree.name = 하얀 나무
|
||||||
block.spore-cluster.name = 포자낭
|
block.spore-cluster.name = 포자낭
|
||||||
block.metal-floor.name = 메탈 바닥
|
block.metal-floor.name = 금속제 바닥
|
||||||
block.metal-floor-2.name = 메탈 바닥 2
|
block.metal-floor-2.name = 금속제 바닥 2
|
||||||
block.metal-floor-3.name = 메탈 바닥 3
|
block.metal-floor-3.name = 금속제 바닥 3
|
||||||
block.metal-floor-5.name = 메탈 바닥 5
|
block.metal-floor-5.name = 금속제 바닥 5
|
||||||
block.metal-floor-damaged.name = 손상된 메탈 바닥
|
block.metal-floor-damaged.name = 손상된 금속제 바닥
|
||||||
block.creeptree.name = 섬뜩한 나무
|
block.creeptree.name = 섬뜩한 나무
|
||||||
block.dark-panel-1.name = 어두운 패널 1
|
block.dark-panel-1.name = 어두운 패널 1
|
||||||
block.dark-panel-2.name = 어두운 패널 2
|
block.dark-panel-2.name = 어두운 패널 2
|
||||||
@@ -671,7 +676,7 @@ block.dark-panel-3.name = 어두운 패널 3
|
|||||||
block.dark-panel-4.name = 어두운 패널 4
|
block.dark-panel-4.name = 어두운 패널 4
|
||||||
block.dark-panel-5.name = 어두운 패널 5
|
block.dark-panel-5.name = 어두운 패널 5
|
||||||
block.dark-panel-6.name = 어두운 패널 6
|
block.dark-panel-6.name = 어두운 패널 6
|
||||||
block.dark-metal.name = 어두운 메탈
|
block.dark-metal.name = 어두운 금속제
|
||||||
block.ignarock.name = 얼은 바위
|
block.ignarock.name = 얼은 바위
|
||||||
block.hotrock.name = 뜨거운 바위
|
block.hotrock.name = 뜨거운 바위
|
||||||
block.magmarock.name = 마그마 바위
|
block.magmarock.name = 마그마 바위
|
||||||
@@ -718,12 +723,12 @@ block.combustion-generator.name = 화력 발전기
|
|||||||
block.turbine-generator.name = 터빈 발전기
|
block.turbine-generator.name = 터빈 발전기
|
||||||
block.differential-generator.name = 차동 발전기
|
block.differential-generator.name = 차동 발전기
|
||||||
block.impact-reactor.name = 핵융합로
|
block.impact-reactor.name = 핵융합로
|
||||||
block.mechanical-drill.name = 기계 드릴
|
block.mechanical-drill.name = 기계식 드릴
|
||||||
block.pneumatic-drill.name = 강철 드릴
|
block.pneumatic-drill.name = 공기 드릴
|
||||||
block.laser-drill.name = 레이저 드릴
|
block.laser-drill.name = 레이저 드릴
|
||||||
block.water-extractor.name = 물 추출기
|
block.water-extractor.name = 물 추출기
|
||||||
block.cultivator.name = 온실
|
block.cultivator.name = 온실
|
||||||
block.dart-mech-pad.name = 다트 기체 패드
|
block.dart-mech-pad.name = 알파 기체 패드
|
||||||
block.delta-mech-pad.name = 델타 기체 패드
|
block.delta-mech-pad.name = 델타 기체 패드
|
||||||
block.javelin-ship-pad.name = 재블린 비행선 패드
|
block.javelin-ship-pad.name = 재블린 비행선 패드
|
||||||
block.trident-ship-pad.name = 삼지창 비행선 패드
|
block.trident-ship-pad.name = 삼지창 비행선 패드
|
||||||
@@ -759,7 +764,7 @@ block.dagger-factory.name = 디거 기체 공장
|
|||||||
block.crawler-factory.name = 크롤러 기체 공장
|
block.crawler-factory.name = 크롤러 기체 공장
|
||||||
block.titan-factory.name = 타이탄 기체 공장
|
block.titan-factory.name = 타이탄 기체 공장
|
||||||
block.fortress-factory.name = 포트리스 기체 공장
|
block.fortress-factory.name = 포트리스 기체 공장
|
||||||
block.revenant-factory.name = 레비던트 전투기 공장
|
block.revenant-factory.name = 레비넌트 전투기 공장
|
||||||
block.repair-point.name = 수리 지점
|
block.repair-point.name = 수리 지점
|
||||||
block.pulse-conduit.name = 퓨즈 파이프
|
block.pulse-conduit.name = 퓨즈 파이프
|
||||||
block.phase-conduit.name = 상직물 파이프
|
block.phase-conduit.name = 상직물 파이프
|
||||||
@@ -789,7 +794,7 @@ block.spectre.name = 스펙터
|
|||||||
block.meltdown.name = 멜트다운
|
block.meltdown.name = 멜트다운
|
||||||
block.container.name = 컨테이너
|
block.container.name = 컨테이너
|
||||||
block.launch-pad.name = 발사대
|
block.launch-pad.name = 발사대
|
||||||
block.launch-pad.description = 출격할 필요 없이 아이템을 수송시킵시다. 미완성.
|
block.launch-pad.description = 출격할 필요 없이 아이템을 수송시킵시다.
|
||||||
block.launch-pad-large.name = 큰 출격 패드
|
block.launch-pad-large.name = 큰 출격 패드
|
||||||
team.blue.name = 블루팀
|
team.blue.name = 블루팀
|
||||||
team.red.name = 레드팀
|
team.red.name = 레드팀
|
||||||
@@ -812,10 +817,10 @@ unit.wraith.name = 유령 전투기
|
|||||||
unit.wraith.description = 적 핵심 건물 및 유닛을 집중적으로 공격하는 방식을 사용하는 전투기 입니다.
|
unit.wraith.description = 적 핵심 건물 및 유닛을 집중적으로 공격하는 방식을 사용하는 전투기 입니다.
|
||||||
unit.fortress.name = 포트리스
|
unit.fortress.name = 포트리스
|
||||||
unit.fortress.description = 중포 지상 유닛.\n높은 공격력을 가진 총과 높은 체력을 가지고 있습니다.
|
unit.fortress.description = 중포 지상 유닛.\n높은 공격력을 가진 총과 높은 체력을 가지고 있습니다.
|
||||||
unit.revenant.name = 레비던트
|
unit.revenant.name = 레비넌트
|
||||||
unit.eruptor.name = 이어럽터
|
unit.eruptor.name = 이럽터
|
||||||
unit.chaos-array.name = 카오스 배열
|
unit.chaos-array.name = 카오스 배열
|
||||||
unit.eradicator.name = 박멸
|
unit.eradicator.name = 짭멸
|
||||||
unit.lich.name = 리치
|
unit.lich.name = 리치
|
||||||
unit.reaper.name = 사신
|
unit.reaper.name = 사신
|
||||||
tutorial.begin = 플레이어의 주요 목표는 [LIGHT_GRAY]적군[]을 제거하는 것입니다.\n\n이 게임은 [accent]구리를 채광[]하는 것으로 시작합니다.\n이것을 하기 위해 플레이어의 중심부 근처에 있는 구리 광맥을 누르세요.
|
tutorial.begin = 플레이어의 주요 목표는 [LIGHT_GRAY]적군[]을 제거하는 것입니다.\n\n이 게임은 [accent]구리를 채광[]하는 것으로 시작합니다.\n이것을 하기 위해 플레이어의 중심부 근처에 있는 구리 광맥을 누르세요.
|
||||||
@@ -854,12 +859,12 @@ block.overdrive-projector.description = 드릴과 컨베이어와 같은 인근
|
|||||||
block.force-projector.description = 총알에게서 내부의 건물과 유닛을 보호하면서 그 주위에 육각형 보호막을 만듭니다.
|
block.force-projector.description = 총알에게서 내부의 건물과 유닛을 보호하면서 그 주위에 육각형 보호막을 만듭니다.
|
||||||
block.shock-mine.description = 지뢰를 밟는 적에게 피해를 줍니다. 적에게는 거의 보이지 않습니다.
|
block.shock-mine.description = 지뢰를 밟는 적에게 피해를 줍니다. 적에게는 거의 보이지 않습니다.
|
||||||
block.duo.description = 작고 싼 터렛.
|
block.duo.description = 작고 싼 터렛.
|
||||||
block.scatter.description = A medium-sized anti-air turret. Sprays clumps of lead or scrap flak at enemy units.
|
block.scatter.description = 중형 대공 터렛. 납이나 고철 덩어리를 적에게 쏩니다.
|
||||||
block.arc.description = 적을 향해 무작위 각도로 전기를 쏘는 작은 터렛.
|
block.arc.description = 적을 향해 무작위 각도로 전기를 쏘는 작은 터렛.
|
||||||
block.hail.description = 작은 포병 터렛.
|
block.hail.description = 작은 포병 터렛.
|
||||||
block.lancer.description = 충전된 전기빔을 쏘는 중형 터렛.
|
block.lancer.description = 충전된 전기빔을 쏘는 중형 터렛.
|
||||||
block.wave.description = 액체를 뿜는 중간 크기의 속화 터렛.
|
block.wave.description = 액체를 뿜는 중간 크기의 속화 터렛.
|
||||||
block.salvo.description = 살보에서 사격을 하는 중형 터렛.
|
block.salvo.description = 일제히 사격을 하는 중형 터렛.
|
||||||
block.swarmer.description = 유도 미사일을 발사하는 중형 터렛.
|
block.swarmer.description = 유도 미사일을 발사하는 중형 터렛.
|
||||||
block.ripple.description = 여러 발의 사격을 동시에 하는 대형 포대.
|
block.ripple.description = 여러 발의 사격을 동시에 하는 대형 포대.
|
||||||
block.cyclone.description = 대형 초고속 사격 터렛.
|
block.cyclone.description = 대형 초고속 사격 터렛.
|
||||||
@@ -888,7 +893,7 @@ block.power-node-large.description = 생성된 전력를 다른 건물로 전달
|
|||||||
block.battery.description = 전력 생산량에 여유가 있을경우, 생산된 잉여 전력을 여기에 저장합니다.
|
block.battery.description = 전력 생산량에 여유가 있을경우, 생산된 잉여 전력을 여기에 저장합니다.
|
||||||
block.battery-large.description = 일반 배터리보다 훨씬 많은 량의 전력을 저장합니다.
|
block.battery-large.description = 일반 배터리보다 훨씬 많은 량의 전력을 저장합니다.
|
||||||
block.combustion-generator.description = 기름이나 인화성 물질을 태워 전력을 발생시킵니다.
|
block.combustion-generator.description = 기름이나 인화성 물질을 태워 전력을 발생시킵니다.
|
||||||
block.turbine-generator.description = 연소 발생기보다 효율적이지만, 추가 액체가 필요합니다.
|
block.turbine-generator.description = 화력 발전기보다 효율적이지만, 추가 액체가 필요합니다.
|
||||||
block.thermal-generator.description = 뜨거운 위치에 건설하면 전력을 생산합니다.
|
block.thermal-generator.description = 뜨거운 위치에 건설하면 전력을 생산합니다.
|
||||||
block.solar-panel.description = 태양으로부터 소량의 전력을 공급합니다.
|
block.solar-panel.description = 태양으로부터 소량의 전력을 공급합니다.
|
||||||
block.solar-panel-large.description = 일반 태양 전지판보다 훨씬 나은 전력을 공급하지만, 건축비도 훨씬 비쌉니다.
|
block.solar-panel-large.description = 일반 태양 전지판보다 훨씬 나은 전력을 공급하지만, 건축비도 훨씬 비쌉니다.
|
||||||
|
|||||||
@@ -149,7 +149,7 @@ save.map = Mapa: {0}
|
|||||||
save.wave = Horda {0}
|
save.wave = Horda {0}
|
||||||
save.difficulty = Dificuldade: {0}
|
save.difficulty = Dificuldade: {0}
|
||||||
save.date = Último salvamento: {0}
|
save.date = Último salvamento: {0}
|
||||||
save.playtime = Playtime: {0}
|
save.playtime = Tempo De Jogo: {0}
|
||||||
warning = Aviso.
|
warning = Aviso.
|
||||||
confirm = Confirmar
|
confirm = Confirmar
|
||||||
delete = Excluir
|
delete = Excluir
|
||||||
@@ -172,11 +172,11 @@ loading = [accent]Carregando...
|
|||||||
saving = [accent]Salvando...
|
saving = [accent]Salvando...
|
||||||
wave = [accent]Horda {0}
|
wave = [accent]Horda {0}
|
||||||
wave.waiting = Horda em {0}
|
wave.waiting = Horda em {0}
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
wave.waveInProgress = [LIGHT_GRAY]Horda Em Progresso
|
||||||
waiting = Aguardando...
|
waiting = Aguardando...
|
||||||
waiting.players = Esperando por jogadores...
|
waiting.players = Esperando por jogadores...
|
||||||
wave.enemies = [LIGHT_GRAY]{0} Enimigos Restantes
|
wave.enemies = [LIGHT_GRAY]{0} Inimigos Restantes
|
||||||
wave.enemy = [LIGHT_GRAY]{0} Enimigo Restante
|
wave.enemy = [LIGHT_GRAY]{0} Inimigo Restante
|
||||||
loadimage = Carregar\nImagem
|
loadimage = Carregar\nImagem
|
||||||
saveimage = Salvar\nImagem
|
saveimage = Salvar\nImagem
|
||||||
unknown = Desconhecido
|
unknown = Desconhecido
|
||||||
@@ -203,7 +203,7 @@ waves.every = a casa
|
|||||||
waves.waves = ondas(s)
|
waves.waves = ondas(s)
|
||||||
waves.perspawn = por spawn
|
waves.perspawn = por spawn
|
||||||
waves.to = para
|
waves.to = para
|
||||||
waves.boss = Boss
|
waves.boss = Chefe
|
||||||
waves.preview = Prever
|
waves.preview = Prever
|
||||||
waves.edit = Editar...
|
waves.edit = Editar...
|
||||||
waves.copy = Copiar para área de transferência
|
waves.copy = Copiar para área de transferência
|
||||||
@@ -517,10 +517,10 @@ rules.respawns = Max respawns per wave
|
|||||||
rules.limitedRespawns = Limit Respawns
|
rules.limitedRespawns = Limit Respawns
|
||||||
rules.title.waves = Waves
|
rules.title.waves = Waves
|
||||||
rules.title.respawns = Respawns
|
rules.title.respawns = Respawns
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.resourcesbuilding = Recursos e Construções
|
||||||
rules.title.player = Players
|
rules.title.player = Players
|
||||||
rules.title.enemy = Enemies
|
rules.title.enemy = Inimigos
|
||||||
rules.title.unit = Units
|
rules.title.unit = Unidades
|
||||||
content.item.name = Itens
|
content.item.name = Itens
|
||||||
content.liquid.name = Liquidos
|
content.liquid.name = Liquidos
|
||||||
content.unit.name = Unidades
|
content.unit.name = Unidades
|
||||||
@@ -529,7 +529,7 @@ content.mech.name = Mecas
|
|||||||
item.copper.name = Cobre
|
item.copper.name = Cobre
|
||||||
item.copper.description = Um material de estrutura util. Usado extensivamente em Maioria dos blocos.
|
item.copper.description = Um material de estrutura util. Usado extensivamente em Maioria dos blocos.
|
||||||
item.lead.name = Chumbo
|
item.lead.name = Chumbo
|
||||||
item.lead.description = Material de comeco basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
item.lead.description = Material de começo basico. usado intensivamente em Blocos de transporte de liquidos e eletronicos.
|
||||||
item.coal.name = Carvão
|
item.coal.name = Carvão
|
||||||
item.coal.description = Combustivel pronto.
|
item.coal.description = Combustivel pronto.
|
||||||
item.graphite.name = Graphite
|
item.graphite.name = Graphite
|
||||||
@@ -607,13 +607,13 @@ liquid.viscosity = [LIGHT_GRAY]Viscosidade: {0}
|
|||||||
liquid.temperature = [LIGHT_GRAY]Temperatura: {0}
|
liquid.temperature = [LIGHT_GRAY]Temperatura: {0}
|
||||||
block.grass.name = Grama
|
block.grass.name = Grama
|
||||||
block.salt.name = Sal
|
block.salt.name = Sal
|
||||||
block.saltrocks.name = Salt Rocks
|
block.saltrocks.name = Pedras De Sal
|
||||||
block.pebbles.name = Pebbles
|
block.pebbles.name = Pebbles
|
||||||
block.tendrils.name = Tendrils
|
block.tendrils.name = Tendrils
|
||||||
block.sandrocks.name = Pedras de areia
|
block.sandrocks.name = Pedras de areia
|
||||||
block.spore-pine.name = Pinheiro de esporo
|
block.spore-pine.name = Pinheiro de esporo
|
||||||
block.sporerocks.name = Pedras de esporo
|
block.sporerocks.name = Pedras de esporo
|
||||||
block.rock.name = Rock
|
block.rock.name = Pedra
|
||||||
block.snowrock.name = Pedra de gelo
|
block.snowrock.name = Pedra de gelo
|
||||||
block.shale.name = Xisto
|
block.shale.name = Xisto
|
||||||
block.shale-boulder.name = Pedra de xisto
|
block.shale-boulder.name = Pedra de xisto
|
||||||
@@ -637,7 +637,7 @@ block.core-foundation.name = Core: Fundação
|
|||||||
block.core-nucleus.name = Core: Nucleus
|
block.core-nucleus.name = Core: Nucleus
|
||||||
block.deepwater.name = água funda
|
block.deepwater.name = água funda
|
||||||
block.water.name = Água
|
block.water.name = Água
|
||||||
block.tainted-water.name = Agua contaminada
|
block.tainted-water.name = Água contaminada
|
||||||
block.darksand-tainted-water.name = Água contaminada de areia escura
|
block.darksand-tainted-water.name = Água contaminada de areia escura
|
||||||
block.tar.name = Tar
|
block.tar.name = Tar
|
||||||
block.stone.name = Pedra
|
block.stone.name = Pedra
|
||||||
@@ -646,8 +646,8 @@ block.darksand.name = Areia escura
|
|||||||
block.ice.name = Gelo
|
block.ice.name = Gelo
|
||||||
block.snow.name = Neve
|
block.snow.name = Neve
|
||||||
block.craters.name = Crateras
|
block.craters.name = Crateras
|
||||||
block.sand-water.name = Agua de areia
|
block.sand-water.name = Água de areia
|
||||||
block.darksand-water.name = Agua de areia escura
|
block.darksand-water.name = Água de areia escura
|
||||||
block.char.name = Char
|
block.char.name = Char
|
||||||
block.holostone.name = Pedra holo
|
block.holostone.name = Pedra holo
|
||||||
block.ice-snow.name = Gelo de neve
|
block.ice-snow.name = Gelo de neve
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ credits.text = Создатель [ROYAL] Anuken. - [SKY]anukendev@gmail.com[][]
|
|||||||
credits = Авторы
|
credits = Авторы
|
||||||
contributors = Переводчики и Помощники
|
contributors = Переводчики и Помощники
|
||||||
discord = Присоединяйтесь к нашему Discord!
|
discord = Присоединяйтесь к нашему Discord!
|
||||||
link.discord.description = Официальный discord-сервер Mindustry
|
link.discord.description = Официальный Discord-сервер Mindustry
|
||||||
link.github.description = Исходный код игры
|
link.github.description = Исходный код игры
|
||||||
link.dev-builds.description = Нестабильные версии
|
link.dev-builds.description = Нестабильные версии
|
||||||
link.trello.description = Официальная доска trello для запланированных функций
|
link.trello.description = Официальная доска Trello для запланированных функций
|
||||||
link.itch.io.description = itch.io страница с загрузкой ПК версии и веб-версией игры
|
link.itch.io.description = Itch.io страница с загрузкой ПК версии и веб-версией игры
|
||||||
link.google-play.description = Скачать для Android c Google play
|
link.google-play.description = Скачать для Android c Google play
|
||||||
link.wiki.description = Официальная вики Mindustry(англ.)
|
link.wiki.description = Официальная вики Mindustry(англ.)
|
||||||
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
linkfail = Не удалось открыть ссылку!\nURL-адрес был скопирован в буфер обмена.
|
||||||
@@ -86,13 +86,8 @@ trace = Слежка за игроком
|
|||||||
trace.playername = Имя игрока: [accent]{0}
|
trace.playername = Имя игрока: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}
|
trace.ip = IP: [accent]{0}
|
||||||
trace.id = ID: [accent]{0}
|
trace.id = ID: [accent]{0}
|
||||||
trace.android = Клиент Android: [accent]{0}
|
trace.mobile = Мобильный клиент: [accent]{0}
|
||||||
trace.modclient = Пользовательский клиент: [accent]{0}
|
trace.modclient = Пользовательский клиент: [accent]{0}
|
||||||
trace.totalblocksbroken = Всего разрушено блоков: [accent]{0}
|
|
||||||
trace.structureblocksbroken = Структурных блоков сломано: [accent]{0}
|
|
||||||
trace.lastblockbroken = Последний сломанный блок:[accent]{0}
|
|
||||||
trace.totalblocksplaced = Всего размещено блоков: [accent]{0}
|
|
||||||
trace.lastblockplaced = Последний размещенный блок: [accent]{0}
|
|
||||||
invalidid = Недопустимый ID клиента! Отправьте отчёт об ошибке.
|
invalidid = Недопустимый ID клиента! Отправьте отчёт об ошибке.
|
||||||
server.bans = Блокировки
|
server.bans = Блокировки
|
||||||
server.bans.none = Заблокированных игроков нет!
|
server.bans.none = Заблокированных игроков нет!
|
||||||
@@ -196,6 +191,8 @@ editor.mapinfo = Информация о карте
|
|||||||
editor.author = Автор:
|
editor.author = Автор:
|
||||||
editor.description = Описание:
|
editor.description = Описание:
|
||||||
editor.waves = Волны:
|
editor.waves = Волны:
|
||||||
|
editor.rules = Правила:
|
||||||
|
editor.ingame = Редактировать в игре
|
||||||
waves.title = Волны
|
waves.title = Волны
|
||||||
waves.remove = Удалить
|
waves.remove = Удалить
|
||||||
waves.never = <никогда>
|
waves.never = <никогда>
|
||||||
@@ -213,6 +210,8 @@ waves.copied = Волны скопированы.
|
|||||||
editor.default = [LIGHT_GRAY]<По умолчанию>
|
editor.default = [LIGHT_GRAY]<По умолчанию>
|
||||||
edit = Редактировать...
|
edit = Редактировать...
|
||||||
editor.name = Название:
|
editor.name = Название:
|
||||||
|
editor.spawn = Создать боевую единицу
|
||||||
|
editor.removeunit = Удалить боевую единицу
|
||||||
editor.teams = Команды
|
editor.teams = Команды
|
||||||
editor.elevation = Возвышенность
|
editor.elevation = Возвышенность
|
||||||
editor.errorload = Ошибка загрузки изображения: [accent] {0}
|
editor.errorload = Ошибка загрузки изображения: [accent] {0}
|
||||||
@@ -298,7 +297,7 @@ launch.unable = [scarlet]ЗАПУСК невозможен.[] {0} Враг.
|
|||||||
launch.confirm = Это удалит все ресурсы в Вашем ядре.\nВы не сможете вернуться на эту базу.
|
launch.confirm = Это удалит все ресурсы в Вашем ядре.\nВы не сможете вернуться на эту базу.
|
||||||
uncover = Раскрыть
|
uncover = Раскрыть
|
||||||
configure = Выгрузить конфигурацию
|
configure = Выгрузить конфигурацию
|
||||||
configure.locked = [LIGHT_GRAY]Разблокировать настройки выгрузки:\nВолна {0}.
|
configure.locked = [LIGHT_GRAY]Разблокировать настройки выгрузки: Волна {0}.
|
||||||
zone.unlocked = [LIGHT_GRAY]{0} разблокировано.
|
zone.unlocked = [LIGHT_GRAY]{0} разблокировано.
|
||||||
zone.requirement.complete = {0}-я волна достигнута:\nУсловия для зоны "{1}" исполнены.
|
zone.requirement.complete = {0}-я волна достигнута:\nУсловия для зоны "{1}" исполнены.
|
||||||
zone.config.complete = {0} волн достигнуто:\nВыгружаемая конфигурация разблокирована
|
zone.config.complete = {0} волн достигнуто:\nВыгружаемая конфигурация разблокирована
|
||||||
@@ -322,8 +321,8 @@ zone.ruinousShores.name = Разрушенные Берега
|
|||||||
zone.stainedMountains.name = Окрашенные горы
|
zone.stainedMountains.name = Окрашенные горы
|
||||||
zone.desolateRift.name = Пустынный Разлом
|
zone.desolateRift.name = Пустынный Разлом
|
||||||
zone.nuclearComplex.name = Ядерный Производственный Комплекс
|
zone.nuclearComplex.name = Ядерный Производственный Комплекс
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = Заросли
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = Дёгтяные поля
|
||||||
settings.language = Язык
|
settings.language = Язык
|
||||||
settings.reset = Сбросить по умолчанию
|
settings.reset = Сбросить по умолчанию
|
||||||
settings.rebind = Смена
|
settings.rebind = Смена
|
||||||
@@ -369,6 +368,7 @@ blocks.drillspeed = Базовая скорость бурения
|
|||||||
blocks.boosteffect = Ускоряющий эффект
|
blocks.boosteffect = Ускоряющий эффект
|
||||||
blocks.maxunits = Максимальное количество активных единиц
|
blocks.maxunits = Максимальное количество активных единиц
|
||||||
blocks.health = Здоровье
|
blocks.health = Здоровье
|
||||||
|
blocks.buildtime = Время строительства
|
||||||
blocks.inaccuracy = Разброс
|
blocks.inaccuracy = Разброс
|
||||||
blocks.shots = Выстрелы
|
blocks.shots = Выстрелы
|
||||||
blocks.reload = Выстрелы/секунду
|
blocks.reload = Выстрелы/секунду
|
||||||
@@ -414,8 +414,9 @@ category.items = Предметы
|
|||||||
category.crafting = Ввод/вывод
|
category.crafting = Ввод/вывод
|
||||||
category.shooting = Cтрельба
|
category.shooting = Cтрельба
|
||||||
category.optional = Дополнительные улучшения
|
category.optional = Дополнительные улучшения
|
||||||
setting.landscape.name = Сохранить ландшафт
|
setting.landscape.name = Ландшафтный режим
|
||||||
setting.shadows.name = Тени
|
setting.shadows.name = Тени
|
||||||
|
setting.linear.name = Линейная фильтрация
|
||||||
setting.animatedwater.name = Анимированная вода
|
setting.animatedwater.name = Анимированная вода
|
||||||
setting.animatedshields.name = Анимированные щиты
|
setting.animatedshields.name = Анимированные щиты
|
||||||
setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
|
setting.antialias.name = Сглаживание[LIGHT_GRAY] (требует перезапуска)[]
|
||||||
@@ -425,11 +426,11 @@ setting.fpscap.name = Макс. FPS
|
|||||||
setting.fpscap.none = Неограниченный
|
setting.fpscap.none = Неограниченный
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.swapdiagonal.name = Всегда Диагональное Размещение
|
setting.swapdiagonal.name = Всегда Диагональное Размещение
|
||||||
setting.difficulty.training = обучение
|
setting.difficulty.training = Обучение
|
||||||
setting.difficulty.easy = легко
|
setting.difficulty.easy = Легко
|
||||||
setting.difficulty.normal = нормально
|
setting.difficulty.normal = Нормально
|
||||||
setting.difficulty.hard = тяжело
|
setting.difficulty.hard = Тяжело
|
||||||
setting.difficulty.insane = безумно
|
setting.difficulty.insane = Безумно
|
||||||
setting.difficulty.name = Сложность:
|
setting.difficulty.name = Сложность:
|
||||||
setting.screenshake.name = Тряска экрана
|
setting.screenshake.name = Тряска экрана
|
||||||
setting.effects.name = Эффекты
|
setting.effects.name = Эффекты
|
||||||
@@ -437,7 +438,7 @@ setting.sensitivity.name = Чувствительность контроллер
|
|||||||
setting.saveinterval.name = Интервал сохранения
|
setting.saveinterval.name = Интервал сохранения
|
||||||
setting.seconds = {0} Секунд
|
setting.seconds = {0} Секунд
|
||||||
setting.fullscreen.name = Полноэкранный режим
|
setting.fullscreen.name = Полноэкранный режим
|
||||||
setting.borderless.name = Окно без границ
|
setting.borderlesswindow.name = Окно без границ [LIGHT_GRAY] (может потребоваться перезапуск)
|
||||||
setting.fps.name = Показывать FPS
|
setting.fps.name = Показывать FPS
|
||||||
setting.vsync.name = Верт. синхронизация
|
setting.vsync.name = Верт. синхронизация
|
||||||
setting.lasers.name = Показывать энергию лазеров
|
setting.lasers.name = Показывать энергию лазеров
|
||||||
@@ -553,8 +554,8 @@ item.blast-compound.name = Взрывная смесь
|
|||||||
item.blast-compound.description = Летучее соединение, используемое в бомбах и взрывчатых веществах. Также может гореть в качестве топлива, но не рекомендуется этого делать.
|
item.blast-compound.description = Летучее соединение, используемое в бомбах и взрывчатых веществах. Также может гореть в качестве топлива, но не рекомендуется этого делать.
|
||||||
item.pyratite.name = Пиротит
|
item.pyratite.name = Пиротит
|
||||||
item.pyratite.description = Очень огнеопасное вещество, используемое в зажигательном оружии.
|
item.pyratite.description = Очень огнеопасное вещество, используемое в зажигательном оружии.
|
||||||
item.metaglass.name = Биостекло
|
item.metaglass.name = Метастекло
|
||||||
item.metaglass.description = Сверхпрочная смесь стекла. Широко используется для распределения и хранения жидкости.
|
item.metaglass.description = Сверхпрочная смесь стекла и металла. Широко используется для распределения и хранения жидкости.
|
||||||
item.scrap.name = Металлолом
|
item.scrap.name = Металлолом
|
||||||
item.scrap.description = Остатки старых сооружений и подразделений. Содержит незначительные количества многих различных металлов.
|
item.scrap.description = Остатки старых сооружений и подразделений. Содержит незначительные количества многих различных металлов.
|
||||||
liquid.water.name = Вода
|
liquid.water.name = Вода
|
||||||
@@ -627,7 +628,7 @@ block.scrap-wall-huge.name = Огромная стена из металлоло
|
|||||||
block.scrap-wall-gigantic.name = Гигантская стена из металлолома
|
block.scrap-wall-gigantic.name = Гигантская стена из металлолома
|
||||||
block.thruster.name = Толкатель
|
block.thruster.name = Толкатель
|
||||||
block.kiln.name = Печь
|
block.kiln.name = Печь
|
||||||
block.kiln.description = Выплавляет песок и свинец в биостекло. Требует малого количества энергии.
|
block.kiln.description = Выплавляет песок и свинец в метастекло. Требует малого количества энергии.
|
||||||
block.graphite-press.name = Графитный пресс
|
block.graphite-press.name = Графитный пресс
|
||||||
block.multi-press.name = Мульти-пресс
|
block.multi-press.name = Мульти-пресс
|
||||||
block.constructing = {0}\n[LIGHT_GRAY](Строится)
|
block.constructing = {0}\n[LIGHT_GRAY](Строится)
|
||||||
@@ -664,7 +665,6 @@ block.metal-floor-2.name = Металлический Пол 2
|
|||||||
block.metal-floor-3.name = Металлический Пол 3
|
block.metal-floor-3.name = Металлический Пол 3
|
||||||
block.metal-floor-5.name = Металлический Пол 5
|
block.metal-floor-5.name = Металлический Пол 5
|
||||||
block.metal-floor-damaged.name = Повреждённый Металлический Пол
|
block.metal-floor-damaged.name = Повреждённый Металлический Пол
|
||||||
block.creeptree.name = Жуткодерево
|
|
||||||
block.dark-panel-1.name = Тёмная Панель 1
|
block.dark-panel-1.name = Тёмная Панель 1
|
||||||
block.dark-panel-2.name = Тёмная Панель 2
|
block.dark-panel-2.name = Тёмная Панель 2
|
||||||
block.dark-panel-3.name = Тёмная Панель 3
|
block.dark-panel-3.name = Тёмная Панель 3
|
||||||
@@ -723,7 +723,7 @@ block.pneumatic-drill.name = Пневматический бур
|
|||||||
block.laser-drill.name = Лазерный бур
|
block.laser-drill.name = Лазерный бур
|
||||||
block.water-extractor.name = Гидроконденсатор
|
block.water-extractor.name = Гидроконденсатор
|
||||||
block.cultivator.name = Культиватор
|
block.cultivator.name = Культиватор
|
||||||
block.dart-mech-pad.name = Dart Mech Pad
|
block.dart-mech-pad.name = Реконструктор "Альфа"
|
||||||
block.delta-mech-pad.name = Реконструктор "Дельта"
|
block.delta-mech-pad.name = Реконструктор "Дельта"
|
||||||
block.javelin-ship-pad.name = Реконструктор "Джавелин"
|
block.javelin-ship-pad.name = Реконструктор "Джавелин"
|
||||||
block.trident-ship-pad.name = Реконструктор "Трезубeц"
|
block.trident-ship-pad.name = Реконструктор "Трезубeц"
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ credits.text = Створив [ROYAL]Anuken[] - [SKY]anukendev@gmail.com[]\n\nЄ
|
|||||||
credits = Автори
|
credits = Автори
|
||||||
contributors = Перекладачі та Помічники
|
contributors = Перекладачі та Помічники
|
||||||
discord = Приєднуйтесь до нашого Discord!
|
discord = Приєднуйтесь до нашого Discord!
|
||||||
link.discord.description = Офіційний discord-сервер Mindustry
|
link.discord.description = Офіційний Discord-сервер Mindustry
|
||||||
link.github.description = Код гри
|
link.github.description = Код гри
|
||||||
link.dev-builds.description = Нестабільні версії
|
link.dev-builds.description = Нестабільні версії
|
||||||
link.trello.description = Офіційна дошка trello(на англ.) для запланованих функцій
|
link.trello.description = Офіційна дошка Trello(англ.) для запланованих функцій
|
||||||
link.itch.io.description = Itch.io сторінка з веб-версією та завантаженням для ПК
|
link.itch.io.description = Itch.io сторінка з веб-версією та завантаженням для ПК
|
||||||
link.google-play.description = Скачати з Google Play для Android
|
link.google-play.description = Скачати з Google Play для Android
|
||||||
link.wiki.description = Офіційна Mindustry вікі (англ.)
|
link.wiki.description = Офіційна Mindustry вікі (англ.)
|
||||||
@@ -31,8 +31,8 @@ level.select = Вибір мапи
|
|||||||
level.mode = Режим гри:
|
level.mode = Режим гри:
|
||||||
showagain = Не показувати знову до наступного сеансу
|
showagain = Не показувати знову до наступного сеансу
|
||||||
coreattack = < Ядро під атакою! >
|
coreattack = < Ядро під атакою! >
|
||||||
nearpoint = [[ [scarlet]ЗАЛИШТЕ ТОЧ НЕГАЙНО[] ]\nаннігіляція неминуча.
|
nearpoint = [ [scarlet]ЗАЛИШТЕ ТОЧКУ НЕГАЙНО[] ]\nаннігіляція неминуча.
|
||||||
outofbounds = [[ ПОЗА МЕЖАМИ ]\n[]саморуйнування через{0}
|
outofbounds = [ ПОЗА МЕЖАМИ ]\nсаморуйнування через{0}
|
||||||
database = База Даних Ядра
|
database = База Даних Ядра
|
||||||
savegame = Зберегти гру
|
savegame = Зберегти гру
|
||||||
loadgame = Завантажити гру
|
loadgame = Завантажити гру
|
||||||
@@ -86,13 +86,8 @@ trace = Стежити за гравцем
|
|||||||
trace.playername = Ім'я гравця: [accent]{0}
|
trace.playername = Ім'я гравця: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}
|
trace.ip = IP: [accent]{0}
|
||||||
trace.id = Унікальний ідентифікатор: [accent]{0}
|
trace.id = Унікальний ідентифікатор: [accent]{0}
|
||||||
trace.android = Клієнт Android: [accent]{0}
|
trace.mobile = Мобільний клієнт: [accent]{0}
|
||||||
trace.modclient = Користувацький клієнт: [accent]{0}
|
trace.modclient = Користувацький клієнт: [accent]{0}
|
||||||
trace.totalblocksbroken = Всього зруйновано блоків: [accent]{0}
|
|
||||||
trace.structureblocksbroken = Структурних блоків зруйновано: [accent]{0}
|
|
||||||
trace.lastblockbroken = Останній зруйнований блок: [accent]{0}
|
|
||||||
trace.totalblocksplaced = Всього встановлено блоків: [accent]{0}
|
|
||||||
trace.lastblockplaced = Останній встановлений блок: [accent]{0}
|
|
||||||
invalidid = Невірний ідентифікатор клієнта! Надішліть звіт про помилку.
|
invalidid = Невірний ідентифікатор клієнта! Надішліть звіт про помилку.
|
||||||
server.bans = Блокування
|
server.bans = Блокування
|
||||||
server.bans.none = Заблокованих гравців нема!
|
server.bans.none = Заблокованих гравців нема!
|
||||||
@@ -196,6 +191,8 @@ editor.mapinfo = Інформація про мапу
|
|||||||
editor.author = Автор:
|
editor.author = Автор:
|
||||||
editor.description = Опис:
|
editor.description = Опис:
|
||||||
editor.waves = Хвилі:
|
editor.waves = Хвилі:
|
||||||
|
editor.rules = Правила:
|
||||||
|
editor.ingame = Редагувати в грі
|
||||||
waves.title = Хвилі
|
waves.title = Хвилі
|
||||||
waves.remove = Видалити
|
waves.remove = Видалити
|
||||||
waves.never = <ніколи>
|
waves.never = <ніколи>
|
||||||
@@ -213,6 +210,8 @@ waves.copied = Хвилі скопіювані.
|
|||||||
editor.default = [LIGHT_GRAY]<За замовчуванням>
|
editor.default = [LIGHT_GRAY]<За замовчуванням>
|
||||||
edit = Редагувати...
|
edit = Редагувати...
|
||||||
editor.name = Назва:
|
editor.name = Назва:
|
||||||
|
editor.spawn = Створити бойову одиницю
|
||||||
|
editor.removeunit = Видалити бойову одиницю
|
||||||
editor.teams = Команди
|
editor.teams = Команди
|
||||||
editor.elevation = Висота
|
editor.elevation = Висота
|
||||||
editor.errorload = Помилка завантаження зображення:[accent] {0}
|
editor.errorload = Помилка завантаження зображення:[accent] {0}
|
||||||
@@ -298,7 +297,7 @@ launch.unable = [scarlet]ЗАПУСК неможливий.[] {0} Ворог.
|
|||||||
launch.confirm = Це видалить всі ресурси у Вашому ядрі.\nВи не зможете повернутися до цієї бази.
|
launch.confirm = Це видалить всі ресурси у Вашому ядрі.\nВи не зможете повернутися до цієї бази.
|
||||||
uncover = Розкрити
|
uncover = Розкрити
|
||||||
configure = Вивантаження
|
configure = Вивантаження
|
||||||
configure.locked = [LIGHT_GRAY]Розблокувати можливість вивантаження ресурсів:Хвиля {0}.
|
configure.locked = [LIGHT_GRAY]Розблокувати можливість вивантаження ресурсів: Хвиля {0}.
|
||||||
zone.unlocked = [LIGHT_GRAY]{0} розблоковано
|
zone.unlocked = [LIGHT_GRAY]{0} розблоковано
|
||||||
zone.requirement.complete = {0}-та хвиля досягено:\nвимоги до зони "{1}" виконані.
|
zone.requirement.complete = {0}-та хвиля досягено:\nвимоги до зони "{1}" виконані.
|
||||||
zone.config.complete = {0} хвиль досягнено. :\nРозблоковано можливість вивантаження.
|
zone.config.complete = {0} хвиль досягнено. :\nРозблоковано можливість вивантаження.
|
||||||
@@ -322,8 +321,8 @@ zone.ruinousShores.name = Зруйновані Берега
|
|||||||
zone.stainedMountains.name = Пофарбовані гори
|
zone.stainedMountains.name = Пофарбовані гори
|
||||||
zone.desolateRift.name = Пустельний Розлом
|
zone.desolateRift.name = Пустельний Розлом
|
||||||
zone.nuclearComplex.name = Ядерний Виробничий Комплекс
|
zone.nuclearComplex.name = Ядерний Виробничий Комплекс
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = Зарості
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = Дьогтьові поля
|
||||||
settings.language = Мова
|
settings.language = Мова
|
||||||
settings.reset = Скинути за замовчуванням
|
settings.reset = Скинути за замовчуванням
|
||||||
settings.rebind = Зміна
|
settings.rebind = Зміна
|
||||||
@@ -369,6 +368,7 @@ blocks.drillspeed = Базова швидкість буріння
|
|||||||
blocks.boosteffect = Прискорювальний ефект
|
blocks.boosteffect = Прискорювальний ефект
|
||||||
blocks.maxunits = Максимальна кількість активних одиниць
|
blocks.maxunits = Максимальна кількість активних одиниць
|
||||||
blocks.health = Здоров'я
|
blocks.health = Здоров'я
|
||||||
|
blocks.buildtime = Час будівництва
|
||||||
blocks.inaccuracy = Розкид
|
blocks.inaccuracy = Розкид
|
||||||
blocks.shots = Постріли
|
blocks.shots = Постріли
|
||||||
blocks.reload = Постріли/секунду
|
blocks.reload = Постріли/секунду
|
||||||
@@ -414,8 +414,9 @@ category.items = Предмети
|
|||||||
category.crafting = Введення/виведення
|
category.crafting = Введення/виведення
|
||||||
category.shooting = Стрільба
|
category.shooting = Стрільба
|
||||||
category.optional = Додаткові поліпшення
|
category.optional = Додаткові поліпшення
|
||||||
setting.landscape.name = Зберегти пейхаж
|
setting.landscape.name = Ландшафтний
|
||||||
setting.shadows.name = Тіні
|
setting.shadows.name = Тіні
|
||||||
|
setting.linear.name = Лінійна фільтрація
|
||||||
setting.animatedwater.name = Анімована вода
|
setting.animatedwater.name = Анімована вода
|
||||||
setting.animatedshields.name = Анімовані щити
|
setting.animatedshields.name = Анімовані щити
|
||||||
setting.antialias.name = Згладжування[LIGHT_GRAY] (потребує перезапуску)[]
|
setting.antialias.name = Згладжування[LIGHT_GRAY] (потребує перезапуску)[]
|
||||||
@@ -425,11 +426,11 @@ setting.fpscap.name = Макс. FPS
|
|||||||
setting.fpscap.none = Необмежений
|
setting.fpscap.none = Необмежений
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.swapdiagonal.name = Завжди Діагональне Розміщення
|
setting.swapdiagonal.name = Завжди Діагональне Розміщення
|
||||||
setting.difficulty.training = навчання
|
setting.difficulty.training = Навчання
|
||||||
setting.difficulty.easy = легка
|
setting.difficulty.easy = Легка
|
||||||
setting.difficulty.normal = нормальна
|
setting.difficulty.normal = Нормальна
|
||||||
setting.difficulty.hard = важка
|
setting.difficulty.hard = Важка
|
||||||
setting.difficulty.insane = божевільна
|
setting.difficulty.insane = Божевільна
|
||||||
setting.difficulty.name = Складність:
|
setting.difficulty.name = Складність:
|
||||||
setting.screenshake.name = Тряска екрану
|
setting.screenshake.name = Тряска екрану
|
||||||
setting.effects.name = Ефекти
|
setting.effects.name = Ефекти
|
||||||
@@ -437,7 +438,7 @@ setting.sensitivity.name = Чутливість контролера
|
|||||||
setting.saveinterval.name = Інтервал збереження
|
setting.saveinterval.name = Інтервал збереження
|
||||||
setting.seconds = {0} сек.
|
setting.seconds = {0} сек.
|
||||||
setting.fullscreen.name = Повноекранний режим
|
setting.fullscreen.name = Повноекранний режим
|
||||||
setting.borderless.name = Вікно без полів
|
setting.borderlesswindow.name = Вікно без полів[LIGHT_GRAY] (може потребувати перезапуску)
|
||||||
setting.fps.name = Показувати FPS
|
setting.fps.name = Показувати FPS
|
||||||
setting.vsync.name = Вертикальна синхронізація
|
setting.vsync.name = Вертикальна синхронізація
|
||||||
setting.lasers.name = Показувати енергію лазерів
|
setting.lasers.name = Показувати енергію лазерів
|
||||||
@@ -553,8 +554,8 @@ item.blast-compound.name = Вибухова суміш
|
|||||||
item.blast-compound.description = Нестійке з'єднання, що використовується в бомбах та вибухових речовинах. Хоча воно може спалюватися як паливо, та це не рекомендується.
|
item.blast-compound.description = Нестійке з'єднання, що використовується в бомбах та вибухових речовинах. Хоча воно може спалюватися як паливо, та це не рекомендується.
|
||||||
item.pyratite.name = Піротит
|
item.pyratite.name = Піротит
|
||||||
item.pyratite.description = Вкрай легкозаймиста речовина, що використовується у запальній зброї.
|
item.pyratite.description = Вкрай легкозаймиста речовина, що використовується у запальній зброї.
|
||||||
item.metaglass.name = Біоскло
|
item.metaglass.name = Метаскло
|
||||||
item.metaglass.description = Надміцна суміш скла. Широко використовується для розподілу і зберігання рідини.
|
item.metaglass.description = Надміцна суміш скла й метала. Широко використовується для розподілу і зберігання рідини.
|
||||||
item.scrap.name = Металобрухт
|
item.scrap.name = Металобрухт
|
||||||
item.scrap.description = Залишки старих споруд і бойових одиниць. Містить незначні кількості багатьох різних металів.
|
item.scrap.description = Залишки старих споруд і бойових одиниць. Містить незначні кількості багатьох різних металів.
|
||||||
liquid.water.name = Вода
|
liquid.water.name = Вода
|
||||||
@@ -627,7 +628,7 @@ block.scrap-wall-huge.name = Величезна стіна з металобру
|
|||||||
block.scrap-wall-gigantic.name = Гігантська стіна з металобрухту
|
block.scrap-wall-gigantic.name = Гігантська стіна з металобрухту
|
||||||
block.thruster.name = Штовхач
|
block.thruster.name = Штовхач
|
||||||
block.kiln.name = Піч
|
block.kiln.name = Піч
|
||||||
block.kiln.description = Виплавляє пісок і свинець в біоскло. Потребує малої кількості енергії.
|
block.kiln.description = Виплавляє пісок і свинець в метаскло. Потребує малої кількості енергії.
|
||||||
block.graphite-press.name = Графітний прес
|
block.graphite-press.name = Графітний прес
|
||||||
block.multi-press.name = Мульти-прес
|
block.multi-press.name = Мульти-прес
|
||||||
block.constructing = {0}\n[LIGHT_GRAY](В процесі)
|
block.constructing = {0}\n[LIGHT_GRAY](В процесі)
|
||||||
@@ -664,7 +665,6 @@ block.metal-floor-2.name = Металевий Пол 2
|
|||||||
block.metal-floor-3.name = Металевий Пол 3
|
block.metal-floor-3.name = Металевий Пол 3
|
||||||
block.metal-floor-5.name = Металевий Пол 4
|
block.metal-floor-5.name = Металевий Пол 4
|
||||||
block.metal-floor-damaged.name = Пошкоджений Металевий Пол
|
block.metal-floor-damaged.name = Пошкоджений Металевий Пол
|
||||||
block.creeptree.name = Жахливе дерево
|
|
||||||
block.dark-panel-1.name = Темна Панель 1
|
block.dark-panel-1.name = Темна Панель 1
|
||||||
block.dark-panel-2.name = Темна Панель 2
|
block.dark-panel-2.name = Темна Панель 2
|
||||||
block.dark-panel-3.name = Темна Панель 3
|
block.dark-panel-3.name = Темна Панель 3
|
||||||
@@ -723,7 +723,7 @@ block.pneumatic-drill.name = Пневматичний дриль
|
|||||||
block.laser-drill.name = Лазерний дриль
|
block.laser-drill.name = Лазерний дриль
|
||||||
block.water-extractor.name = Гідроконденсатор
|
block.water-extractor.name = Гідроконденсатор
|
||||||
block.cultivator.name = Культиватор
|
block.cultivator.name = Культиватор
|
||||||
block.dart-mech-pad.name = Dart Mech Pad
|
block.dart-mech-pad.name = Реконструктор "Альфа"
|
||||||
block.delta-mech-pad.name = Реконструктор "Дельта"
|
block.delta-mech-pad.name = Реконструктор "Дельта"
|
||||||
block.javelin-ship-pad.name = Реконструктор "Джавелін"
|
block.javelin-ship-pad.name = Реконструктор "Джавелін"
|
||||||
block.trident-ship-pad.name = Реконструктор "Тризуб"
|
block.trident-ship-pad.name = Реконструктор "Тризуб"
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ link.google-play.description = 从谷歌商店获取安卓版
|
|||||||
link.wiki.description = 官方 Mindustry 维基
|
link.wiki.description = 官方 Mindustry 维基
|
||||||
linkfail = 打开链接失败!\nURL 已经复制到剪贴板。
|
linkfail = 打开链接失败!\nURL 已经复制到剪贴板。
|
||||||
screenshot = 荧幕截图已放在 {0}
|
screenshot = 荧幕截图已放在 {0}
|
||||||
screenshot.invalid = Map too large, potentially not enough memory for screenshot.
|
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
|
||||||
gameover = 你的核心被摧毁了!
|
gameover = 你的核心被摧毁了!
|
||||||
gameover.pvp = [accent] {0}[] 队获胜!
|
gameover.pvp = [accent] {0}[] 队获胜!
|
||||||
highscore = [accent]新纪录!
|
highscore = [accent]新纪录!
|
||||||
@@ -27,11 +27,11 @@ removearea = 你选择了拆除模式。\n你能通过[accent]长按几秒钟[]
|
|||||||
launcheditems = [accent]发射的资源
|
launcheditems = [accent]发射的资源
|
||||||
map.delete = 确定要删除 "[accent]{0}[]" 地图吗?
|
map.delete = 确定要删除 "[accent]{0}[]" 地图吗?
|
||||||
level.highscore = 最高分:[accent]{0}
|
level.highscore = 最高分:[accent]{0}
|
||||||
level.select = 选择关卡(?Level Select)
|
level.select = 选择关卡
|
||||||
level.mode = 游戏模式:
|
level.mode = 游戏模式:
|
||||||
showagain = 下次不再显示
|
showagain = 下次不再显示
|
||||||
coreattack = < 核心正在受到攻击! >
|
coreattack = < 核心正在受到攻击!>
|
||||||
nearpoint = [[ [scarlet]立即离开敌人出生点[] ]\n将被清理
|
nearpoint = [[ [scarlet]立即离开敌人出生点[] ]\n将被全部清除
|
||||||
outofbounds = [[ 超出边界 ]\n[]{0}秒后自毁
|
outofbounds = [[ 超出边界 ]\n[]{0}秒后自毁
|
||||||
database = 核心数据库
|
database = 核心数据库
|
||||||
savegame = 保存游戏
|
savegame = 保存游戏
|
||||||
@@ -50,7 +50,7 @@ maps.none = [LIGHT_GRAY]没有找到地图!
|
|||||||
about.button = 关于
|
about.button = 关于
|
||||||
name = 名字:
|
name = 名字:
|
||||||
noname = 先取一个[accent]玩家名[]。
|
noname = 先取一个[accent]玩家名[]。
|
||||||
filename = 文件名:
|
filename = 文件名:
|
||||||
unlocked = 新方块已解锁!
|
unlocked = 新方块已解锁!
|
||||||
completed = [accent]己研究
|
completed = [accent]己研究
|
||||||
techtree = 科技树
|
techtree = 科技树
|
||||||
@@ -62,12 +62,12 @@ players.single = {0}玩家在线
|
|||||||
server.closing = [accent]正在关闭服务器……
|
server.closing = [accent]正在关闭服务器……
|
||||||
server.kicked.kick = 你被踢出服务器了!
|
server.kicked.kick = 你被踢出服务器了!
|
||||||
server.kicked.serverClose = 服务器已关闭。
|
server.kicked.serverClose = 服务器已关闭。
|
||||||
server.kicked.clientOutdated = 过旧的客户端!更新你的游戏!
|
server.kicked.clientOutdated = 客户端过旧,请更新你的游戏。
|
||||||
server.kicked.serverOutdated = 过旧的服务器!联系房主升级!
|
server.kicked.serverOutdated = 服务器过旧,请联系房主升级服务器。
|
||||||
server.kicked.banned = 你在这个服务器上被禁了。
|
server.kicked.banned = 你在这个服务器上被拉入黑名单了。
|
||||||
server.kicked.recentKick = 你刚刚被踢出服务器。\n请稍后重新连接!
|
server.kicked.recentKick = 你刚刚被踢出服务器。\n请稍后重新连接!
|
||||||
server.kicked.nameInUse = 服务器中已经\n有人有相同的名字了。
|
server.kicked.nameInUse = 你的名字与服务器中的一个人重复了。
|
||||||
server.kicked.nameEmpty = 你选择的名字是无效的。
|
server.kicked.nameEmpty = 无效的名字!
|
||||||
server.kicked.idInUse = 你已在这个服务器上!不允许用两个账号连接。
|
server.kicked.idInUse = 你已在这个服务器上!不允许用两个账号连接。
|
||||||
server.kicked.customClient = 这个服务器不支持定制版本。下载官方版本。
|
server.kicked.customClient = 这个服务器不支持定制版本。下载官方版本。
|
||||||
server.kicked.gameover = 游戏结束!
|
server.kicked.gameover = 游戏结束!
|
||||||
@@ -115,8 +115,8 @@ joingame.title = 加入游戏
|
|||||||
joingame.ip = 地址:
|
joingame.ip = 地址:
|
||||||
disconnect = 已断开
|
disconnect = 已断开
|
||||||
disconnect.data = 读取世界数据失败!
|
disconnect.data = 读取世界数据失败!
|
||||||
connecting = [accent]正在连接...
|
connecting = [accent]连接中……
|
||||||
connecting.data = [accent]正在加载世界数据...
|
connecting.data = [accent]加载中……
|
||||||
server.port = 端口:
|
server.port = 端口:
|
||||||
server.addressinuse = 地址已经在使用中!
|
server.addressinuse = 地址已经在使用中!
|
||||||
server.invalidport = 无效的端口号!
|
server.invalidport = 无效的端口号!
|
||||||
@@ -150,30 +150,30 @@ save.wave = 波次 {0}
|
|||||||
save.difficulty = 难度:{0}
|
save.difficulty = 难度:{0}
|
||||||
save.date = 最后保存过:{0}
|
save.date = 最后保存过:{0}
|
||||||
save.playtime = 游戏时间:{0}
|
save.playtime = 游戏时间:{0}
|
||||||
warning = 警告。
|
warning = 警告!
|
||||||
confirm = 确认
|
confirm = 确认
|
||||||
delete = 删除
|
delete = 删除
|
||||||
ok = 好的
|
ok = 好的
|
||||||
open = 打开
|
open = 打开
|
||||||
customize = Customize
|
customize = 定制
|
||||||
cancel = 取消
|
cancel = 取消
|
||||||
openlink = 打开链接
|
openlink = 打开链接
|
||||||
copylink = 复制链接
|
copylink = 复制链接
|
||||||
back = 返回
|
back = 返回
|
||||||
quit.confirm = 你确定你想要退出?
|
quit.confirm = 你确定你想要退出?
|
||||||
changelog.title = 更新日志
|
changelog.title = 更新日志
|
||||||
changelog.loading = 正在获取更新日志...
|
changelog.loading = 正在获取更新日志……
|
||||||
changelog.error.android = [accent]注意更新日志有时在安卓 4.4 以下不工作。\n这是安卓系统内部的一个bug。
|
changelog.error.android = [accent]注意更新日志有时在安卓 4.4 以下不工作。\n这是安卓系统内部的一个bug。
|
||||||
changelog.error.ios = [accent]更新日志当前在iOS中不被支持。
|
changelog.error.ios = [accent]更新日志当前在iOS中不被支持。
|
||||||
changelog.error = [scarlet]获取更新日志失败!\n请检查你的网络。
|
changelog.error = [scarlet]获取更新日志失败!\n请检查你的网络。
|
||||||
changelog.current = [yellow][[当前版本]
|
changelog.current = [yellow][[当前版本]
|
||||||
changelog.latest = [accent][[最新版本]
|
changelog.latest = [accent][[最新版本]
|
||||||
loading = [accent]正在加载...
|
loading = [accent]加载中……
|
||||||
saving = [accent]正在保存...
|
saving = [accent]保存中……
|
||||||
wave = [accent]波次 {0}
|
wave = [accent]波次 {0}
|
||||||
wave.waiting = [LIGHT_GRAY]下一波将在{0}秒后到来
|
wave.waiting = [LIGHT_GRAY]下一波将在{0}秒后到来
|
||||||
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
wave.waveInProgress = [LIGHT_GRAY]Wave in progress
|
||||||
waiting = [LIGHT_GRAY]正在等待...
|
waiting = [LIGHT_GRAY]等待中……
|
||||||
waiting.players = 等待玩家中……
|
waiting.players = 等待玩家中……
|
||||||
wave.enemies = [LIGHT_GRAY]剩余 {0} 个敌人
|
wave.enemies = [LIGHT_GRAY]剩余 {0} 个敌人
|
||||||
wave.enemy = [LIGHT_GRAY]剩余 {0} 个敌人
|
wave.enemy = [LIGHT_GRAY]剩余 {0} 个敌人
|
||||||
@@ -197,28 +197,28 @@ editor.author = 作者:
|
|||||||
editor.description = 描述:
|
editor.description = 描述:
|
||||||
editor.waves = 波数:
|
editor.waves = 波数:
|
||||||
waves.title = 波数
|
waves.title = 波数
|
||||||
waves.remove = 去除
|
waves.remove = 移除
|
||||||
waves.never = <never>
|
waves.never = <永不>
|
||||||
waves.every = 每
|
waves.every = 每
|
||||||
waves.waves = 波
|
waves.waves = 波
|
||||||
waves.perspawn = 每次生成
|
waves.perspawn = 每次生成
|
||||||
waves.to = 至
|
waves.to = 至
|
||||||
waves.boss = BOSS
|
waves.boss = BOSS
|
||||||
waves.preview = 预览
|
waves.preview = 预览
|
||||||
waves.edit = 编辑...
|
waves.edit = 编辑……
|
||||||
waves.copy = 复制到剪贴板
|
waves.copy = 复制到剪贴板
|
||||||
waves.load = 从剪贴板读取
|
waves.load = 从剪贴板读取
|
||||||
waves.invalid = 剪贴板中无效的波次信息。
|
waves.invalid = 剪贴板中无效的波次信息。
|
||||||
waves.copied = 波次信息已复制。
|
waves.copied = 波次信息已复制。
|
||||||
editor.default = [LIGHT_GRAY]<默认>
|
editor.default = [LIGHT_GRAY]<默认>
|
||||||
edit = 编辑...
|
edit = 编辑……
|
||||||
editor.name = 名称:
|
editor.name = 名称:
|
||||||
editor.teams = 队伍
|
editor.teams = 队伍
|
||||||
editor.elevation = 高度
|
editor.elevation = 高度
|
||||||
editor.errorload = 读取文件时出现错误:\n[accent]{0}
|
editor.errorload = 读取文件时出现错误:\n[accent]{0}
|
||||||
editor.errorsave = 保存文件时出现错误:\n[accent]{0}
|
editor.errorsave = 保存文件时出现错误:\n[accent]{0}
|
||||||
editor.errorname = 地图没有被定义的名称。
|
editor.errorname = 地图没有被定义的名称。
|
||||||
editor.update = 更新(Update)
|
editor.update = 更新
|
||||||
editor.randomize = 随机化
|
editor.randomize = 随机化
|
||||||
editor.apply = 应用
|
editor.apply = 应用
|
||||||
editor.generate = 生成
|
editor.generate = 生成
|
||||||
@@ -250,13 +250,13 @@ editor.overwrite = [accent]警告!\n这将会覆盖一个已经存在的地图
|
|||||||
editor.overwrite.confirm = [scarlet]警告![]存在同名地图。你确定你想要覆盖?
|
editor.overwrite.confirm = [scarlet]警告![]存在同名地图。你确定你想要覆盖?
|
||||||
editor.selectmap = 选择一个地图加载:
|
editor.selectmap = 选择一个地图加载:
|
||||||
filters.empty = [LIGHT_GRAY]没有过滤器(filters)!用下方的按钮添加一个。
|
filters.empty = [LIGHT_GRAY]没有过滤器(filters)!用下方的按钮添加一个。
|
||||||
filter.distort = 扭曲?(Distort)
|
filter.distort = 扭曲程度
|
||||||
filter.noise = 噪音(Noise)
|
filter.noise = 噪音(Noise)
|
||||||
filter.ore = 矿石(Ore)
|
filter.ore = 矿石数量
|
||||||
filter.rivernoise = 河流噪音(River Noise)
|
filter.rivernoise = 河流噪音(River Noise)
|
||||||
filter.scatter = 散播(Scatter)
|
filter.scatter = 分散程度
|
||||||
filter.terrain = 地形(Terrain)
|
filter.terrain = 地形
|
||||||
filter.option.scale = 规模?(Scale)
|
filter.option.scale = 规模大小
|
||||||
filter.option.chance = 机会(Chance)
|
filter.option.chance = 机会(Chance)
|
||||||
filter.option.mag = 大小?(Magnitude)
|
filter.option.mag = 大小?(Magnitude)
|
||||||
filter.option.threshold = 门槛?(Threshold)
|
filter.option.threshold = 门槛?(Threshold)
|
||||||
@@ -285,45 +285,45 @@ editor = 编辑器
|
|||||||
mapeditor = 地图编辑器
|
mapeditor = 地图编辑器
|
||||||
donate = 捐赠
|
donate = 捐赠
|
||||||
abandon = 放弃
|
abandon = 放弃
|
||||||
abandon.text = 这个区域和它的所有资源会被敌人重置
|
abandon.text = 这个区域和它的所有资源会被敌人重置。
|
||||||
locked = 已被锁定
|
locked = 已被锁定
|
||||||
complete = [LIGHT_GRAY]完成:
|
complete = [LIGHT_GRAY]完成:
|
||||||
zone.requirement = 在{1}中达到{0}波
|
zone.requirement = 在{1}中达到{0}波
|
||||||
resume = 恢复区:\n[LIGHT_GRAY]{0}
|
resume = 恢复区:\n[LIGHT_GRAY]{0}
|
||||||
bestwave = [LIGHT_GRAY]最好: {0}
|
bestwave = [LIGHT_GRAY]最好: {0}
|
||||||
launch = < 发射 >
|
launch = < 发射 >
|
||||||
launch.title = 发射成功
|
launch.title = 发射成功
|
||||||
launch.next = [LIGHT_GRAY]下一个发射机会在第 {0} 波
|
launch.next = [LIGHT_GRAY]下一个发射机会在第 {0} 波
|
||||||
launch.unable = [scarlet]发射失败。[] 敌人.
|
launch.unable = [scarlet]发射失败。[]敌人未被全部消灭。
|
||||||
launch.confirm = 这样做会把您基地里的所有资源发射出去\n您不能再回来这个基地。
|
launch.confirm = 您将发射核心中所有资源。\n此地图将被重置。
|
||||||
uncover = Uncover
|
uncover = 解锁
|
||||||
configure = 设定发射资源
|
configure = 设定发射资源数量
|
||||||
configure.locked = [LIGHT_GRAY]到达第 {0} 波\n才设定发射资源。
|
configure.locked = [LIGHT_GRAY]到达第 {0} 波\n才设定发射资源。
|
||||||
zone.unlocked = [LIGHT_GRAY]{0} 已解锁。
|
zone.unlocked = [LIGHT_GRAY]{0} 已解锁。
|
||||||
zone.requirement.complete = Wave {0} reached:\n{1} zone requirements met.
|
zone.requirement.complete = 已达到第{0}波。\n达到解锁{1}的需求。
|
||||||
zone.config.complete = Wave {0} reached:\nLoadout config unlocked.
|
zone.config.complete = 已达到第{0}波。\n允许携带发射的资源进入此地区。
|
||||||
zone.resources = 已被发现的资源:
|
zone.resources = 地图中的资源:
|
||||||
add = 添加
|
add = 添加
|
||||||
boss.health = BOSS 生命值
|
boss.health = BOSS 生命值
|
||||||
connectfail = [crimson]服务器连接失败: [accent]{0}
|
connectfail = [crimson]服务器连接失败:[accent]{0}
|
||||||
error.unreachable = 服务器无法访问。
|
error.unreachable = 服务器无法访问。
|
||||||
error.invalidaddress = 地址无效。
|
error.invalidaddress = 地址无效。
|
||||||
error.timedout = 连接超时!\n确保服务器设置了端口转发,并且地址正确!
|
error.timedout = 连接超时!\n确保服务器设置了端口转发,并且地址正确!
|
||||||
error.mismatch = 包错误:\n可能是客户端/服务器版本不匹配.\n请确保客户端和服务器都是最新的版本!
|
error.mismatch = 不匹配。\n可能是客户端/服务器版本不匹配。\n请确保客户端和服务器都是最新的版本!
|
||||||
error.alreadyconnected = 已连接。
|
error.alreadyconnected = 已连接。
|
||||||
error.mapnotfound = 找不到地图文件!
|
error.mapnotfound = 找不到地图文件!
|
||||||
error.io = 网络 I/O 错误。
|
error.io = 网络 I/O 错误。
|
||||||
error.any = 未知网络错误。
|
error.any = 未知网络错误。
|
||||||
zone.groundZero.name = 零号地区
|
zone.groundZero.name = 零号地区
|
||||||
zone.desertWastes.name = Desert Wastes
|
zone.desertWastes.name = 沙漠废物
|
||||||
zone.craters.name = 陨石地带
|
zone.craters.name = 陨石带
|
||||||
zone.frozenForest.name = 冰冻森林
|
zone.frozenForest.name = 冰冻森林
|
||||||
zone.ruinousShores.name = 毁灭海岸
|
zone.ruinousShores.name = 毁灭海岸
|
||||||
zone.stainedMountains.name = 绵延群山
|
zone.stainedMountains.name = 绵延群山
|
||||||
zone.desolateRift.name = 荒芜裂谷
|
zone.desolateRift.name = 荒芜裂谷
|
||||||
zone.nuclearComplex.name = 核能生产
|
zone.nuclearComplex.name = 核裂变
|
||||||
zone.overgrowth.name = Overgrowth
|
zone.overgrowth.name = 增生区
|
||||||
zone.tarFields.name = Tar Fields
|
zone.tarFields.name = 石油田
|
||||||
settings.language = 语言
|
settings.language = 语言
|
||||||
settings.reset = 恢复默认
|
settings.reset = 恢复默认
|
||||||
settings.rebind = 重新绑定
|
settings.rebind = 重新绑定
|
||||||
@@ -417,11 +417,11 @@ category.optional = 可选的增强物品
|
|||||||
setting.landscape.name = 锁定横屏
|
setting.landscape.name = 锁定横屏
|
||||||
setting.shadows.name = 影子
|
setting.shadows.name = 影子
|
||||||
setting.animatedwater.name = 流动的水
|
setting.animatedwater.name = 流动的水
|
||||||
setting.animatedshields.name = Animated Shields
|
setting.animatedshields.name = 动态画面
|
||||||
setting.antialias.name = 抗锯齿[LIGHT_GRAY] (需要重新启动)[]
|
setting.antialias.name = 抗锯齿[LIGHT_GRAY] (需要重新启动)[]
|
||||||
setting.indicators.name = 队友指示器
|
setting.indicators.name = 队友指示器
|
||||||
setting.autotarget.name = 自动发射
|
setting.autotarget.name = 自动发射
|
||||||
setting.fpscap.name = 最高 FPS
|
setting.fpscap.name = FPS限制
|
||||||
setting.fpscap.none = 无
|
setting.fpscap.none = 无
|
||||||
setting.fpscap.text = {0} FPS
|
setting.fpscap.text = {0} FPS
|
||||||
setting.swapdiagonal.name = 总是自动铺设
|
setting.swapdiagonal.name = 总是自动铺设
|
||||||
@@ -448,8 +448,8 @@ setting.mutemusic.name = 静音
|
|||||||
setting.sfxvol.name = 音效音量
|
setting.sfxvol.name = 音效音量
|
||||||
setting.mutesound.name = 静音
|
setting.mutesound.name = 静音
|
||||||
setting.crashreport.name = 发送匿名崩溃报告
|
setting.crashreport.name = 发送匿名崩溃报告
|
||||||
setting.chatopacity.name = Chat Opacity
|
setting.chatopacity.name = 聊天界面透明度
|
||||||
setting.playerchat.name = Display In-Game Chat
|
setting.playerchat.name = 显示游戏内聊天界面
|
||||||
keybind.title = 重新绑定按键
|
keybind.title = 重新绑定按键
|
||||||
category.general.name = 普通
|
category.general.name = 普通
|
||||||
category.view.name = 查看
|
category.view.name = 查看
|
||||||
@@ -474,7 +474,7 @@ keybind.zoom_hold.name = 保持缩放
|
|||||||
keybind.zoom.name = 缩放
|
keybind.zoom.name = 缩放
|
||||||
keybind.menu.name = 菜单
|
keybind.menu.name = 菜单
|
||||||
keybind.pause.name = 暂停
|
keybind.pause.name = 暂停
|
||||||
keybind.minimap.name = Minimap
|
keybind.minimap.name = 小地图
|
||||||
keybind.dash.name = 冲刺
|
keybind.dash.name = 冲刺
|
||||||
keybind.chat.name = 聊天
|
keybind.chat.name = 聊天
|
||||||
keybind.player_list.name = 玩家列表
|
keybind.player_list.name = 玩家列表
|
||||||
@@ -492,35 +492,35 @@ mode.survival.description = 正常的游戏模式,有限的资源和自动波次
|
|||||||
mode.sandbox.name = 沙盒
|
mode.sandbox.name = 沙盒
|
||||||
mode.sandbox.description = 无限的资源,不会自动生成敌人。
|
mode.sandbox.description = 无限的资源,不会自动生成敌人。
|
||||||
mode.pvp.name = PvP
|
mode.pvp.name = PvP
|
||||||
mode.pvp.description = 和本地玩家对战.
|
mode.pvp.description = 和本地玩家对战。
|
||||||
mode.attack.name = 攻击
|
mode.attack.name = 攻击
|
||||||
mode.attack.description = 没有波数,但是有摧毁敌人基地的任务.
|
mode.attack.description = 没有波数,但是有摧毁敌人基地的任务。
|
||||||
mode.custom = 自定义模式
|
mode.custom = 自定义模式
|
||||||
rules.infiniteresources = 无限资源
|
rules.infiniteresources = 无限资源
|
||||||
rules.wavetimer = 波次计时器
|
rules.wavetimer = 波次计时器
|
||||||
rules.waves = 波次
|
rules.waves = 波次
|
||||||
rules.enemyCheat = AI无限资源
|
rules.enemyCheat = 敌人无限资源
|
||||||
rules.unitdrops = 敌人出生点
|
rules.unitdrops = 敌人出生点
|
||||||
rules.unitbuildspeedmultiplier = Unit Production Speed Multiplier
|
rules.unitbuildspeedmultiplier = 单位生产速度倍数
|
||||||
rules.unithealthmultiplier = Unit Health Multiplier
|
rules.unithealthmultiplier = 单位生命倍数
|
||||||
rules.playerhealthmultiplier = Player Health Multiplier
|
rules.playerhealthmultiplier = 玩家生命倍数
|
||||||
rules.playerdamagemultiplier = Player Damage Multiplier
|
rules.playerdamagemultiplier = 玩家伤害倍数
|
||||||
rules.unitdamagemultiplier = Unit Damage Multiplier
|
rules.unitdamagemultiplier = 单位伤害倍数
|
||||||
rules.enemycorebuildradius = 敌对核心非建设区半径:[LIGHT_GRAY](格)
|
rules.enemycorebuildradius = 敌对核心非建设区半径:[LIGHT_GRAY](格)
|
||||||
rules.respawntime = 重生时间:[LIGHT_GRAY](秒)
|
rules.respawntime = 重生时间:[LIGHT_GRAY](秒)
|
||||||
rules.wavespacing = 波次间隔时间:[LIGHT_GRAY](秒)
|
rules.wavespacing = 波次间隔时间:[LIGHT_GRAY](秒)
|
||||||
rules.buildcostmultiplier = 建设花费倍数
|
rules.buildcostmultiplier = 建设花费倍数
|
||||||
rules.buildspeedmultiplier = 建设时间倍数
|
rules.buildspeedmultiplier = 建设时间倍数
|
||||||
rules.waitForWaveToEnd = Waves wait for enemies
|
rules.waitForWaveToEnd = 等待敌人时间
|
||||||
rules.dropzoneradius = Drop Zone Radius:[LIGHT_GRAY] (tiles)
|
rules.dropzoneradius = 敌人出生点毁灭大小:[LIGHT_GRAY] (格)
|
||||||
rules.respawns = Max respawns per wave
|
rules.respawns = 每波最大重生次数
|
||||||
rules.limitedRespawns = Limit Respawns
|
rules.limitedRespawns = 重生限制次数
|
||||||
rules.title.waves = Waves
|
rules.title.waves = 波次
|
||||||
rules.title.respawns = Respawns
|
rules.title.respawns = 重生
|
||||||
rules.title.resourcesbuilding = Resources & Building
|
rules.title.resourcesbuilding = 资源和建造
|
||||||
rules.title.player = Players
|
rules.title.player = 玩家
|
||||||
rules.title.enemy = Enemies
|
rules.title.enemy = 敌人
|
||||||
rules.title.unit = Units
|
rules.title.unit = 单位
|
||||||
content.item.name = 物品
|
content.item.name = 物品
|
||||||
content.liquid.name = 液体
|
content.liquid.name = 液体
|
||||||
content.unit.name = 部队
|
content.unit.name = 部队
|
||||||
@@ -564,7 +564,7 @@ liquid.cryofluid.name = 冷冻液
|
|||||||
mech.alpha-mech.name = 阿尔法
|
mech.alpha-mech.name = 阿尔法
|
||||||
mech.alpha-mech.weapon = 重型机枪
|
mech.alpha-mech.weapon = 重型机枪
|
||||||
mech.alpha-mech.ability = 无人机群
|
mech.alpha-mech.ability = 无人机群
|
||||||
mech.alpha-mech.description = 标准的机甲。具有不错的速度和伤害输出;,可以制造多达 3 架无人机以提高进攻能力。
|
mech.alpha-mech.description = 标准的机甲。具有不错的速度和伤害输出,可以制造多达 3 架无人机以提高进攻能力。
|
||||||
mech.delta-mech.name = 德尔塔
|
mech.delta-mech.name = 德尔塔
|
||||||
mech.delta-mech.weapon = 电弧发电机
|
mech.delta-mech.weapon = 电弧发电机
|
||||||
mech.delta-mech.ability = 放电
|
mech.delta-mech.ability = 放电
|
||||||
@@ -576,7 +576,7 @@ mech.tau-mech.description = 后勤机甲。治疗友军。可以熄灭火焰并
|
|||||||
mech.omega-mech.name = 欧米茄
|
mech.omega-mech.name = 欧米茄
|
||||||
mech.omega-mech.weapon = 导弹群
|
mech.omega-mech.weapon = 导弹群
|
||||||
mech.omega-mech.ability = 配置装甲
|
mech.omega-mech.ability = 配置装甲
|
||||||
mech.omega-mech.description = 一种装甲厚重的机甲,用于在前线攻击。它的护甲可以阻挡高达 90% 的伤害。
|
mech.omega-mech.description = 一种装甲厚重的机甲,用于在前线攻击。它的护甲可以阻挡高达90%的伤害。
|
||||||
mech.dart-ship.name = 飞镖
|
mech.dart-ship.name = 飞镖
|
||||||
mech.dart-ship.weapon = 机枪
|
mech.dart-ship.weapon = 机枪
|
||||||
mech.dart-ship.description = 标准飞船。快速轻便,但攻击能力低,采矿速度快。
|
mech.dart-ship.description = 标准飞船。快速轻便,但攻击能力低,采矿速度快。
|
||||||
@@ -596,7 +596,7 @@ item.radioactivity = [LIGHT_GRAY]放射性:{0}
|
|||||||
unit.health = [LIGHT_GRAY]生命值:{0}
|
unit.health = [LIGHT_GRAY]生命值:{0}
|
||||||
unit.speed = [LIGHT_GRAY]速度:{0}
|
unit.speed = [LIGHT_GRAY]速度:{0}
|
||||||
mech.weapon = [LIGHT_GRAY]武器:{0}
|
mech.weapon = [LIGHT_GRAY]武器:{0}
|
||||||
mech.health = [LIGHT_GRAY]生命值: {0}
|
mech.health = [LIGHT_GRAY]生命值: {0}
|
||||||
mech.itemcapacity = [LIGHT_GRAY]物品容量:{0}
|
mech.itemcapacity = [LIGHT_GRAY]物品容量:{0}
|
||||||
mech.minespeed = [LIGHT_GRAY]采矿速度:{0}
|
mech.minespeed = [LIGHT_GRAY]采矿速度:{0}
|
||||||
mech.minepower = [LIGHT_GRAY]采矿力量:{0}
|
mech.minepower = [LIGHT_GRAY]采矿力量:{0}
|
||||||
@@ -618,7 +618,7 @@ block.snowrock.name = 雪岩石
|
|||||||
block.shale.name = 页岩地
|
block.shale.name = 页岩地
|
||||||
block.shale-boulder.name = 页岩巨石
|
block.shale-boulder.name = 页岩巨石
|
||||||
block.moss.name = 苔藓地
|
block.moss.name = 苔藓地
|
||||||
block.shrubs.name = Shrubs
|
block.shrubs.name = 灌木丛
|
||||||
block.spore-moss.name = 孢子苔藓地
|
block.spore-moss.name = 孢子苔藓地
|
||||||
block.shalerocks.name = 页岩岩石
|
block.shalerocks.name = 页岩岩石
|
||||||
block.scrap-wall.name = 废墙
|
block.scrap-wall.name = 废墙
|
||||||
@@ -637,45 +637,45 @@ block.core-foundation.name = 中型核心
|
|||||||
block.core-nucleus.name = 大型核心
|
block.core-nucleus.name = 大型核心
|
||||||
block.deepwater.name = 深水
|
block.deepwater.name = 深水
|
||||||
block.water.name = 水
|
block.water.name = 水
|
||||||
block.tainted-water.name = Tainted Water
|
block.tainted-water.name = 污水
|
||||||
block.darksand-tainted-water.name = Dark Sand Tainted Water
|
block.darksand-tainted-water.name = 暗沙 污水
|
||||||
block.tar.name = Tar
|
block.tar.name = 石油
|
||||||
block.stone.name = 石头
|
block.stone.name = 石头
|
||||||
block.sand.name = 沙子
|
block.sand.name = 沙子
|
||||||
block.darksand.name = 黑沙
|
block.darksand.name = 黑沙
|
||||||
block.ice.name = 冰
|
block.ice.name = 冰
|
||||||
block.snow.name = 雪
|
block.snow.name = 雪
|
||||||
block.craters.name = 陨石坑
|
block.craters.name = 陨石坑
|
||||||
block.sand-water.name = Sand water
|
block.sand-water.name = 沙 水
|
||||||
block.darksand-water.name = Dark Sand Water
|
block.darksand-water.name = 暗沙 水
|
||||||
block.char.name = Char
|
block.char.name = 焦土
|
||||||
block.holostone.name = Holo stone
|
block.holostone.name = 霍洛石头
|
||||||
block.ice-snow.name = Ice Snow
|
block.ice-snow.name = 冰雪地
|
||||||
block.rocks.name = 岩石
|
block.rocks.name = 岩石
|
||||||
block.icerocks.name = Ice rocks
|
block.icerocks.name = 冰岩石
|
||||||
block.snowrocks.name = Snow Rocks
|
block.snowrocks.name = 雪岩石
|
||||||
block.dunerocks.name = Dune Rocks
|
block.dunerocks.name = 沙丘岩石
|
||||||
block.pine.name = 松树
|
block.pine.name = 松树
|
||||||
block.white-tree-dead.name = White Tree Dead
|
block.white-tree-dead.name = 枯萎的白树
|
||||||
block.white-tree.name = 白树
|
block.white-tree.name = 白树
|
||||||
block.spore-cluster.name = Spore Cluster
|
block.spore-cluster.name = 孢子簇
|
||||||
block.metal-floor.name = Metal Floor
|
block.metal-floor.name = 金属地板
|
||||||
block.metal-floor-2.name = Metal Floor 2
|
block.metal-floor-2.name = 金属地板2
|
||||||
block.metal-floor-3.name = Metal Floor 3
|
block.metal-floor-3.name = 金属地板3
|
||||||
block.metal-floor-5.name = Metal Floor 5
|
block.metal-floor-5.name = 金属地板5
|
||||||
block.metal-floor-damaged.name = Metal Floor Damaged
|
block.metal-floor-damaged.name = 损坏的金属地板
|
||||||
block.creeptree.name = Creeptree
|
block.creeptree.name = 爬行树
|
||||||
block.dark-panel-1.name = Dark Panel 1
|
block.dark-panel-1.name = 暗面板1
|
||||||
block.dark-panel-2.name = Dark Panel 2
|
block.dark-panel-2.name = 暗面板2
|
||||||
block.dark-panel-3.name = Dark Panel 3
|
block.dark-panel-3.name = 暗面板3
|
||||||
block.dark-panel-4.name = Dark Panel 4
|
block.dark-panel-4.name = 暗面板4
|
||||||
block.dark-panel-5.name = Dark Panel 5
|
block.dark-panel-5.name = 暗面板5
|
||||||
block.dark-panel-6.name = Dark Panel 6
|
block.dark-panel-6.name = 暗面板6
|
||||||
block.dark-metal.name = Dark Metal
|
block.dark-metal.name = 暗金属
|
||||||
block.ignarock.name = Igna Rock
|
block.ignarock.name = 伊格纳石头
|
||||||
block.hotrock.name = Hot Rock
|
block.hotrock.name = 热石头
|
||||||
block.magmarock.name = Magma Rock
|
block.magmarock.name = 岩浆石头
|
||||||
block.cliffs.name = Cliffs
|
block.cliffs.name = 悬崖
|
||||||
block.copper-wall.name = 铜墙
|
block.copper-wall.name = 铜墙
|
||||||
block.copper-wall-large.name = 大型铜墙
|
block.copper-wall-large.name = 大型铜墙
|
||||||
block.titanium-wall.name = 钛墙
|
block.titanium-wall.name = 钛墙
|
||||||
@@ -708,7 +708,7 @@ block.melter.name = 熔炉
|
|||||||
block.incinerator.name = 焚化炉
|
block.incinerator.name = 焚化炉
|
||||||
block.spore-press.name = 孢子压缩机
|
block.spore-press.name = 孢子压缩机
|
||||||
block.separator.name = 分离机
|
block.separator.name = 分离机
|
||||||
block.coal-centrifuge.name = Coal Centrifuge
|
block.coal-centrifuge.name = 煤炭离心机
|
||||||
block.power-node.name = 能量节点
|
block.power-node.name = 能量节点
|
||||||
block.power-node-large.name = 大型能量节点
|
block.power-node-large.name = 大型能量节点
|
||||||
block.surge-tower.name = 远程输电塔
|
block.surge-tower.name = 远程输电塔
|
||||||
@@ -723,7 +723,7 @@ block.pneumatic-drill.name = 气动钻头
|
|||||||
block.laser-drill.name = 激光钻头
|
block.laser-drill.name = 激光钻头
|
||||||
block.water-extractor.name = 抽水机
|
block.water-extractor.name = 抽水机
|
||||||
block.cultivator.name = 耕种机
|
block.cultivator.name = 耕种机
|
||||||
block.dart-mech-pad.name = Dart Mech Pad
|
block.dart-mech-pad.name = 飞镖 机甲平台
|
||||||
block.delta-mech-pad.name = 德尔塔 机甲平台
|
block.delta-mech-pad.name = 德尔塔 机甲平台
|
||||||
block.javelin-ship-pad.name = 标枪 机甲平台
|
block.javelin-ship-pad.name = 标枪 机甲平台
|
||||||
block.trident-ship-pad.name = 三叉戟 机甲平台
|
block.trident-ship-pad.name = 三叉戟 机甲平台
|
||||||
|
|||||||
73
core/assets/contributors
Normal file
73
core/assets/contributors
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
Prosta4okua
|
||||||
|
Timmeey86
|
||||||
|
Epowerj
|
||||||
|
Baltazár Radics
|
||||||
|
Dexapnow
|
||||||
|
Milinai
|
||||||
|
키에르
|
||||||
|
Luxray5474
|
||||||
|
Leone25
|
||||||
|
Gureumi
|
||||||
|
VizardAlpha
|
||||||
|
LQ
|
||||||
|
Commodore64x
|
||||||
|
iczero
|
||||||
|
Krzysztof Skrzętnicki
|
||||||
|
Baramos666
|
||||||
|
theshadowknight
|
||||||
|
elmenda452
|
||||||
|
Predator127
|
||||||
|
Sonnicon
|
||||||
|
CinExPL
|
||||||
|
toushangyouxiang
|
||||||
|
xgamezs
|
||||||
|
Skybbles // L5474
|
||||||
|
William So
|
||||||
|
beito
|
||||||
|
BeefEX
|
||||||
|
Lorex
|
||||||
|
laohuaji233
|
||||||
|
CrazyBearTR
|
||||||
|
Zachary
|
||||||
|
Fenr1r
|
||||||
|
Jaiun Lee
|
||||||
|
Gab_351
|
||||||
|
Carter Gale
|
||||||
|
Jan Polák
|
||||||
|
JustYanns
|
||||||
|
BasedUser
|
||||||
|
BLucky-gh
|
||||||
|
DinoWattz
|
||||||
|
Jae
|
||||||
|
angelickite
|
||||||
|
ScriptHosT12
|
||||||
|
Senventise
|
||||||
|
SkeptiC
|
||||||
|
Deyvid67
|
||||||
|
Damlon
|
||||||
|
DaGamerFiles
|
||||||
|
Trigg
|
||||||
|
Uriel
|
||||||
|
VXF
|
||||||
|
Valen. H
|
||||||
|
Valentin Sonin
|
||||||
|
Clarence "Sparr" Risher
|
||||||
|
bei2
|
||||||
|
AceEllysium
|
||||||
|
Cedric L'homme
|
||||||
|
indielm
|
||||||
|
Ameb
|
||||||
|
player20033
|
||||||
|
Ignacy
|
||||||
|
J-VdS
|
||||||
|
Kenny
|
||||||
|
L5474
|
||||||
|
Franciszek Zaranowicz
|
||||||
|
Andreas Heiskanen
|
||||||
|
Doyoung Gwak
|
||||||
|
MMG
|
||||||
|
Math2128
|
||||||
|
Michael Plotke
|
||||||
|
Niko
|
||||||
|
Paul T
|
||||||
|
Dominik
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -39,9 +39,6 @@ public class Vars{
|
|||||||
public static final String discordURL = "https://discord.gg/mindustry";
|
public static final String discordURL = "https://discord.gg/mindustry";
|
||||||
/** URL for Github API for releases */
|
/** URL for Github API for releases */
|
||||||
public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases";
|
public static final String releasesURL = "https://api.github.com/repos/Anuken/Mindustry/releases";
|
||||||
/** URL for Github API for contributors */
|
|
||||||
//TODO remove and replace with a manually updated list
|
|
||||||
public static final String contributorsURL = "https://api.github.com/repos/Anuken/Mindustry/contributors";
|
|
||||||
/** URL for sending crash reports to */
|
/** URL for sending crash reports to */
|
||||||
public static final String crashReportURL = "http://mins.us.to/report";
|
public static final String crashReportURL = "http://mins.us.to/report";
|
||||||
/** maximum distance between mine and core that supports automatic transferring */
|
/** maximum distance between mine and core that supports automatic transferring */
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public class BlockIndexer{
|
|||||||
/** Stores all ore quadtrants on the map. */
|
/** Stores all ore quadtrants on the map. */
|
||||||
private ObjectMap<Item, ObjectSet<Tile>> ores;
|
private ObjectMap<Item, ObjectSet<Tile>> ores;
|
||||||
/** Tags all quadrants. */
|
/** Tags all quadrants. */
|
||||||
private Bits[] structQuadrants;
|
private GridBits[] structQuadrants;
|
||||||
/** Stores all damaged tile entities by team. */
|
/** Stores all damaged tile entities by team. */
|
||||||
private ObjectSet<Tile>[] damagedTiles = new ObjectSet[Team.all.length];
|
private ObjectSet<Tile>[] damagedTiles = new ObjectSet[Team.all.length];
|
||||||
/**All ores available on this map.*/
|
/**All ores available on this map.*/
|
||||||
@@ -73,9 +73,9 @@ public class BlockIndexer{
|
|||||||
ores = null;
|
ores = null;
|
||||||
|
|
||||||
//create bitset for each team type that contains each quadrant
|
//create bitset for each team type that contains each quadrant
|
||||||
structQuadrants = new Bits[Team.all.length];
|
structQuadrants = new GridBits[Team.all.length];
|
||||||
for(int i = 0; i < Team.all.length; i++){
|
for(int i = 0; i < Team.all.length; i++){
|
||||||
structQuadrants[i] = new Bits(Mathf.ceil(world.width() / (float)structQuadrantSize) * Mathf.ceil(world.height() / (float)structQuadrantSize));
|
structQuadrants[i] = new GridBits(Mathf.ceil(world.width() / (float)structQuadrantSize), Mathf.ceil(world.height() / (float)structQuadrantSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int x = 0; x < world.width(); x++){
|
for(int x = 0; x < world.width(); x++){
|
||||||
@@ -282,11 +282,11 @@ public class BlockIndexer{
|
|||||||
|
|
||||||
//fast-set this quadrant to 'occupied' if the tile just placed is already of this team
|
//fast-set this quadrant to 'occupied' if the tile just placed is already of this team
|
||||||
if(tile.getTeam() == data.team && tile.entity != null && tile.block().targetable){
|
if(tile.getTeam() == data.team && tile.entity != null && tile.block().targetable){
|
||||||
structQuadrants[data.team.ordinal()].set(index);
|
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY);
|
||||||
continue; //no need to process futher
|
continue; //no need to process futher
|
||||||
}
|
}
|
||||||
|
|
||||||
structQuadrants[data.team.ordinal()].clear(index);
|
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY, false);
|
||||||
|
|
||||||
outer:
|
outer:
|
||||||
for(int x = quadrantX * structQuadrantSize; x < world.width() && x < (quadrantX + 1) * structQuadrantSize; x++){
|
for(int x = quadrantX * structQuadrantSize; x < world.width() && x < (quadrantX + 1) * structQuadrantSize; x++){
|
||||||
@@ -294,7 +294,7 @@ public class BlockIndexer{
|
|||||||
Tile result = world.ltile(x, y);
|
Tile result = world.ltile(x, y);
|
||||||
//when a targetable block is found, mark this quadrant as occupied and stop searching
|
//when a targetable block is found, mark this quadrant as occupied and stop searching
|
||||||
if(result.entity != null && result.getTeam() == data.team){
|
if(result.entity != null && result.getTeam() == data.team){
|
||||||
structQuadrants[data.team.ordinal()].set(index);
|
structQuadrants[data.team.ordinal()].set(quadrantX, quadrantY);
|
||||||
break outer;
|
break outer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -303,8 +303,7 @@ public class BlockIndexer{
|
|||||||
}
|
}
|
||||||
|
|
||||||
private boolean getQuad(Team team, int quadrantX, int quadrantY){
|
private boolean getQuad(Team team, int quadrantX, int quadrantY){
|
||||||
int index = quadrantX + quadrantY * Mathf.ceil(world.width() / (float)structQuadrantSize);
|
return structQuadrants[team.ordinal()].get(quadrantX, quadrantY);
|
||||||
return structQuadrants[team.ordinal()].get(index);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private int quadWidth(){
|
private int quadWidth(){
|
||||||
|
|||||||
@@ -547,7 +547,7 @@ public class Bullets implements ContentList{
|
|||||||
@Override
|
@Override
|
||||||
public void update(Bullet b){
|
public void update(Bullet b){
|
||||||
if(b.timer.get(1, 5f)){
|
if(b.timer.get(1, 5f)){
|
||||||
Damage.collideLine(b, b.getTeam(), hitEffect, b.x, b.y, b.rot(), length);
|
Damage.collideLine(b, b.getTeam(), hitEffect, b.x, b.y, b.rot(), length, true);
|
||||||
}
|
}
|
||||||
Effects.shake(1f, 1f, b.x, b.y);
|
Effects.shake(1f, 1f, b.x, b.y);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,9 +108,13 @@ public class ContentLoader{
|
|||||||
loaded = true;
|
loaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Initializes all content with the specified function. */
|
|
||||||
public void initialize(Consumer<Content> callable){
|
public void initialize(Consumer<Content> callable){
|
||||||
if(initialization.contains(callable)) return;
|
initialize(callable, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Initializes all content with the specified function. */
|
||||||
|
public void initialize(Consumer<Content> callable, boolean override){
|
||||||
|
if(initialization.contains(callable) && !override) return;
|
||||||
|
|
||||||
for(ContentType type : ContentType.values()){
|
for(ContentType type : ContentType.values()){
|
||||||
for(Content content : contentMap[type.ordinal()]){
|
for(Content content : contentMap[type.ordinal()]){
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class Control implements ApplicationListener{
|
|||||||
content.initialize(Content::init);
|
content.initialize(Content::init);
|
||||||
Core.atlas = new TextureAtlas(maxSize < 2048 ? "sprites/sprites_fallback.atlas" : "sprites/sprites.atlas");
|
Core.atlas = new TextureAtlas(maxSize < 2048 ? "sprites/sprites_fallback.atlas" : "sprites/sprites.atlas");
|
||||||
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
Draw.scl = 1f / Core.atlas.find("scale_marker").getWidth();
|
||||||
content.initialize(Content::load);
|
content.initialize(Content::load, true);
|
||||||
|
|
||||||
data.load();
|
data.load();
|
||||||
|
|
||||||
@@ -83,6 +83,8 @@ public class Control implements ApplicationListener{
|
|||||||
});
|
});
|
||||||
|
|
||||||
Events.on(PlayEvent.class, event -> {
|
Events.on(PlayEvent.class, event -> {
|
||||||
|
player.setTeam(defaultTeam);
|
||||||
|
player.setDead(true);
|
||||||
player.add();
|
player.add();
|
||||||
|
|
||||||
state.set(State.playing);
|
state.set(State.playing);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import io.anuke.arc.Events;
|
|||||||
import io.anuke.arc.collection.ObjectSet.ObjectSetIterator;
|
import io.anuke.arc.collection.ObjectSet.ObjectSetIterator;
|
||||||
import io.anuke.arc.util.Time;
|
import io.anuke.arc.util.Time;
|
||||||
import io.anuke.mindustry.content.Fx;
|
import io.anuke.mindustry.content.Fx;
|
||||||
|
import io.anuke.mindustry.content.Items;
|
||||||
import io.anuke.mindustry.core.GameState.State;
|
import io.anuke.mindustry.core.GameState.State;
|
||||||
import io.anuke.mindustry.entities.*;
|
import io.anuke.mindustry.entities.*;
|
||||||
import io.anuke.mindustry.entities.type.Player;
|
import io.anuke.mindustry.entities.type.Player;
|
||||||
@@ -15,7 +16,6 @@ import io.anuke.mindustry.game.EventType.*;
|
|||||||
import io.anuke.mindustry.game.*;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.net.Net;
|
import io.anuke.mindustry.net.Net;
|
||||||
import io.anuke.mindustry.type.Item;
|
import io.anuke.mindustry.type.Item;
|
||||||
import io.anuke.mindustry.type.ItemStack;
|
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
@@ -63,9 +63,11 @@ public class Logic implements ApplicationListener{
|
|||||||
|
|
||||||
//add starting items
|
//add starting items
|
||||||
if(!world.isZone()){
|
if(!world.isZone()){
|
||||||
for(Tile core : state.teams.get(defaultTeam).cores){
|
for(Team team : Team.all){
|
||||||
for(ItemStack stack : state.rules.startingItems){
|
if(state.teams.isActive(team)){
|
||||||
core.entity.items.add(stack.item, stack.amount);
|
for(Tile core : state.teams.get(team).cores){
|
||||||
|
core.entity.items.add(Items.copper, 200);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,6 +190,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
public static void onWorldDataBegin(){
|
public static void onWorldDataBegin(){
|
||||||
Entities.clear();
|
Entities.clear();
|
||||||
netClient.removed.clear();
|
netClient.removed.clear();
|
||||||
|
logic.reset();
|
||||||
|
|
||||||
ui.chatfrag.clearMessages();
|
ui.chatfrag.clearMessages();
|
||||||
Net.setClientLoaded(false);
|
Net.setClientLoaded(false);
|
||||||
|
|||||||
@@ -183,8 +183,7 @@ public class MapView extends Element implements GestureListener{
|
|||||||
public void act(float delta){
|
public void act(float delta){
|
||||||
super.act(delta);
|
super.act(delta);
|
||||||
|
|
||||||
if(Core.scene.getKeyboardFocus() == null || !(Core.scene.getKeyboardFocus() instanceof TextField) &&
|
if(Core.scene.getKeyboardFocus() == null || !(Core.scene.getKeyboardFocus() instanceof TextField) && !Core.input.keyDown(KeyCode.CONTROL_LEFT)){
|
||||||
!Core.input.keyDown(KeyCode.CONTROL_LEFT)){
|
|
||||||
float ax = Core.input.axis(Binding.move_x);
|
float ax = Core.input.axis(Binding.move_x);
|
||||||
float ay = Core.input.axis(Binding.move_y);
|
float ay = Core.input.axis(Binding.move_y);
|
||||||
offsetx -= ax * 15f / zoom;
|
offsetx -= ax * 15f / zoom;
|
||||||
|
|||||||
@@ -9,20 +9,17 @@ import io.anuke.arc.scene.ui.TextField.TextFieldFilter;
|
|||||||
import io.anuke.arc.scene.ui.layout.Table;
|
import io.anuke.arc.scene.ui.layout.Table;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.Vars;
|
||||||
import io.anuke.mindustry.content.StatusEffects;
|
import io.anuke.mindustry.content.*;
|
||||||
import io.anuke.mindustry.content.UnitTypes;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.game.DefaultWaves;
|
|
||||||
import io.anuke.mindustry.game.SpawnGroup;
|
|
||||||
import io.anuke.mindustry.graphics.Pal;
|
import io.anuke.mindustry.graphics.Pal;
|
||||||
import io.anuke.mindustry.type.ContentType;
|
import io.anuke.mindustry.io.JsonIO;
|
||||||
import io.anuke.mindustry.type.UnitType;
|
import io.anuke.mindustry.type.*;
|
||||||
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.game.SpawnGroup.never;
|
import static io.anuke.mindustry.game.SpawnGroup.never;
|
||||||
|
|
||||||
public class WaveInfoDialog extends FloatingDialog{
|
public class WaveInfoDialog extends FloatingDialog{
|
||||||
private final MapEditor editor;
|
|
||||||
private final static int displayed = 20;
|
private final static int displayed = 20;
|
||||||
private Array<SpawnGroup> groups;
|
private Array<SpawnGroup> groups;
|
||||||
|
|
||||||
@@ -33,15 +30,10 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
|
|
||||||
public WaveInfoDialog(MapEditor editor){
|
public WaveInfoDialog(MapEditor editor){
|
||||||
super("$waves.title");
|
super("$waves.title");
|
||||||
this.editor = editor;
|
|
||||||
|
|
||||||
shown(this::setup);
|
shown(this::setup);
|
||||||
hidden(() -> {
|
hidden(() -> {
|
||||||
if(groups == null){
|
state.rules.spawns = groups;
|
||||||
editor.getTags().remove("waves");
|
|
||||||
}else{
|
|
||||||
editor.getTags().put("waves", world.maps.writeWaves(groups));
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
keyDown(key -> {
|
keyDown(key -> {
|
||||||
@@ -73,7 +65,7 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
}).disabled(b -> Core.app.getClipboard().getContents() == null || Core.app.getClipboard().getContents().isEmpty());
|
}).disabled(b -> Core.app.getClipboard().getContents() == null || Core.app.getClipboard().getContents().isEmpty());
|
||||||
dialog.cont.row();
|
dialog.cont.row();
|
||||||
dialog.cont.addButton("$settings.reset", () -> ui.showConfirm("$confirm", "$settings.clear.confirm", () -> {
|
dialog.cont.addButton("$settings.reset", () -> ui.showConfirm("$confirm", "$settings.clear.confirm", () -> {
|
||||||
groups = null;
|
groups = JsonIO.copy(DefaultWaves.get());
|
||||||
buildGroups();
|
buildGroups();
|
||||||
dialog.hide();
|
dialog.hide();
|
||||||
}));
|
}));
|
||||||
@@ -82,10 +74,9 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void setup(){
|
void setup(){
|
||||||
groups = world.maps.readWaves(editor.getTags().get("waves"));
|
groups = JsonIO.copy(state.rules.spawns);
|
||||||
|
|
||||||
cont.clear();
|
cont.clear();
|
||||||
|
|
||||||
cont.table("clear", main -> {
|
cont.table("clear", main -> {
|
||||||
main.pane(t -> table = t).growX().growY().get().setScrollingDisabled(true, false);
|
main.pane(t -> table = t).growX().growY().get().setScrollingDisabled(true, false);
|
||||||
main.row();
|
main.row();
|
||||||
@@ -237,8 +228,6 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
preview.clear();
|
preview.clear();
|
||||||
preview.top();
|
preview.top();
|
||||||
|
|
||||||
Array<SpawnGroup> groups = (this.groups == null ? DefaultWaves.get() : this.groups);
|
|
||||||
|
|
||||||
for(int i = start; i < displayed + start; i++){
|
for(int i = start; i < displayed + start; i++){
|
||||||
int wave = i;
|
int wave = i;
|
||||||
preview.table("underline", table -> {
|
preview.table("underline", table -> {
|
||||||
@@ -251,8 +240,6 @@ public class WaveInfoDialog extends FloatingDialog{
|
|||||||
spawned[spawn.type.id] += spawn.getUnitsSpawned(wave);
|
spawned[spawn.type.id] += spawn.getUnitsSpawned(wave);
|
||||||
}
|
}
|
||||||
|
|
||||||
int f = 0;
|
|
||||||
|
|
||||||
for(int j = 0; j < spawned.length; j++){
|
for(int j = 0; j < spawned.length; j++){
|
||||||
if(spawned[j] > 0){
|
if(spawned[j] > 0){
|
||||||
UnitType type = content.getByID(ContentType.unit, j);
|
UnitType type = content.getByID(ContentType.unit, j);
|
||||||
|
|||||||
@@ -3,8 +3,7 @@ package io.anuke.mindustry.entities;
|
|||||||
import io.anuke.annotations.Annotations.Struct;
|
import io.anuke.annotations.Annotations.Struct;
|
||||||
import io.anuke.arc.collection.GridBits;
|
import io.anuke.arc.collection.GridBits;
|
||||||
import io.anuke.arc.collection.IntQueue;
|
import io.anuke.arc.collection.IntQueue;
|
||||||
import io.anuke.arc.function.Consumer;
|
import io.anuke.arc.function.*;
|
||||||
import io.anuke.arc.function.Predicate;
|
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.Color;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.Mathf;
|
||||||
import io.anuke.arc.math.geom.*;
|
import io.anuke.arc.math.geom.*;
|
||||||
@@ -78,18 +77,31 @@ public class Damage{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void collideLine(Bullet hitter, Team team, Effect effect, float x, float y, float angle, float length){
|
||||||
|
collideLine(hitter, team, effect, x, y, angle, length, false);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Damages entities in a line.
|
* Damages entities in a line.
|
||||||
* Only enemies of the specified team are damaged.
|
* Only enemies of the specified team are damaged.
|
||||||
*/
|
*/
|
||||||
public static void collideLine(Bullet hitter, Team team, Effect effect, float x, float y, float angle, float length){
|
public static void collideLine(Bullet hitter, Team team, Effect effect, float x, float y, float angle, float length, boolean large){
|
||||||
tr.trns(angle, length);
|
tr.trns(angle, length);
|
||||||
world.raycastEachWorld(x, y, x + tr.x, y + tr.y, (cx, cy) -> {
|
IntPositionConsumer collider = (cx, cy) -> {
|
||||||
Tile tile = world.ltile(cx, cy);
|
Tile tile = world.ltile(cx, cy);
|
||||||
if(tile != null && tile.entity != null && tile.getTeamID() != team.ordinal() && tile.entity.collide(hitter)){
|
if(tile != null && tile.entity != null && tile.getTeamID() != team.ordinal() && tile.entity.collide(hitter)){
|
||||||
tile.entity.collision(hitter);
|
tile.entity.collision(hitter);
|
||||||
hitter.getBulletType().hit(hitter, tile.worldx(), tile.worldy());
|
hitter.getBulletType().hit(hitter, tile.worldx(), tile.worldy());
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
world.raycastEachWorld(x, y, x + tr.x, y + tr.y, (cx, cy) -> {
|
||||||
|
collider.accept(cx, cy);
|
||||||
|
if(large){
|
||||||
|
for(Point2 p : Geometry.d4){
|
||||||
|
collider.accept(cx + p.x, cy + p.y);
|
||||||
|
}
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -56,8 +56,8 @@ public class Predict{
|
|||||||
*/
|
*/
|
||||||
public static Vector2 intercept(TargetTrait src, TargetTrait dst, float v){
|
public static Vector2 intercept(TargetTrait src, TargetTrait dst, float v){
|
||||||
return intercept(src.getX(), src.getY(), dst.getX(), dst.getY(),
|
return intercept(src.getX(), src.getY(), dst.getX(), dst.getY(),
|
||||||
dst.getTargetVelocityX() - src.getTargetVelocityX(),
|
dst.getTargetVelocityX() - src.getTargetVelocityX()/2f,
|
||||||
dst.getTargetVelocityY() - src.getTargetVelocityY(), v);
|
dst.getTargetVelocityY() - src.getTargetVelocityY()/2f, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Vector2 quad(float a, float b, float c){
|
private static Vector2 quad(float a, float b, float c){
|
||||||
|
|||||||
@@ -102,6 +102,8 @@ public class Units{
|
|||||||
|
|
||||||
/** Returns the closest target enemy. First, units are checked, then tile entities. */
|
/** Returns the closest target enemy. First, units are checked, then tile entities. */
|
||||||
public static TargetTrait closestTarget(Team team, float x, float y, float range, Predicate<Unit> unitPred, Predicate<Tile> tilePred){
|
public static TargetTrait closestTarget(Team team, float x, float y, float range, Predicate<Unit> unitPred, Predicate<Tile> tilePred){
|
||||||
|
if(team == Team.none) return null;
|
||||||
|
|
||||||
Unit unit = closestEnemy(team, x, y, range, unitPred);
|
Unit unit = closestEnemy(team, x, y, range, unitPred);
|
||||||
if(unit != null){
|
if(unit != null){
|
||||||
return unit;
|
return unit;
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class RubbleDecal extends Decal{
|
|||||||
public static void create(float x, float y, int size){
|
public static void create(float x, float y, int size){
|
||||||
if(headless) return;
|
if(headless) return;
|
||||||
|
|
||||||
if(regions[size].length == 0){
|
if(regions[size].length == 0 || regions[size][0].getTexture().isDisposed()){
|
||||||
regions[size] = new TextureRegion[2];
|
regions[size] = new TextureRegion[2];
|
||||||
for(int j = 0; j < 2; j++){
|
for(int j = 0; j < 2; j++){
|
||||||
regions[size][j] = Core.atlas.find("rubble-" + size + "-" + j);
|
regions[size][j] = Core.atlas.find("rubble-" + size + "-" + j);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class ScorchDecal extends Decal{
|
|||||||
public static void create(float x, float y){
|
public static void create(float x, float y){
|
||||||
if(headless) return;
|
if(headless) return;
|
||||||
|
|
||||||
if(regions[0] == null){
|
if(regions[0] == null || regions[0].getTexture().isDisposed()){
|
||||||
for(int i = 0; i < regions.length; i++){
|
for(int i = 0; i < regions.length; i++){
|
||||||
regions[i] = Core.atlas.find("scorch" + (i + 1));
|
regions[i] = Core.atlas.find("scorch" + (i + 1));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,7 @@ package io.anuke.mindustry.game;
|
|||||||
|
|
||||||
import io.anuke.annotations.Annotations.Serialize;
|
import io.anuke.annotations.Annotations.Serialize;
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.arc.collection.Array;
|
||||||
import io.anuke.mindustry.content.Items;
|
|
||||||
import io.anuke.mindustry.io.JsonIO;
|
import io.anuke.mindustry.io.JsonIO;
|
||||||
import io.anuke.mindustry.type.ItemStack;
|
|
||||||
import io.anuke.mindustry.type.Zone;
|
import io.anuke.mindustry.type.Zone;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,11 +63,9 @@ public class Rules{
|
|||||||
public boolean attackMode = false;
|
public boolean attackMode = false;
|
||||||
/** Whether this is the editor gamemode. */
|
/** Whether this is the editor gamemode. */
|
||||||
public boolean editor = false;
|
public boolean editor = false;
|
||||||
/** Items that the player starts with here. Not applicable to zones.*/
|
|
||||||
public Array<ItemStack> startingItems = Array.with(new ItemStack(Items.copper, 200));
|
|
||||||
|
|
||||||
/** Copies this ruleset exactly. Not very efficient at all, do not use often. */
|
/** Copies this ruleset exactly. Not very efficient at all, do not use often. */
|
||||||
public Rules copy(){
|
public Rules copy(){
|
||||||
return JsonIO.read(Rules.class, JsonIO.write(this));
|
return JsonIO.copy(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,8 +42,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
//gesture data
|
//gesture data
|
||||||
private Vector2 vector = new Vector2();
|
private Vector2 vector = new Vector2();
|
||||||
private float lastDistance = -1f;
|
private float lastDistance = -1f;
|
||||||
/** Set of completed guides. */
|
|
||||||
//private ObjectSet<String> guides = new ObjectSet<>();
|
|
||||||
|
|
||||||
/** Position where the player started dragging a line. */
|
/** Position where the player started dragging a line. */
|
||||||
private int lineStartX, lineStartY;
|
private int lineStartX, lineStartY;
|
||||||
@@ -311,7 +309,7 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
}).visible(() -> !selection.isEmpty());
|
}).visible(() -> !selection.isEmpty());
|
||||||
|
|
||||||
Core.scene.table(t -> {
|
Core.scene.table(t -> {
|
||||||
t.bottom().left().visible(() -> player.isBuilding() || block != null || mode == breaking);
|
t.bottom().left().visible(() -> (player.isBuilding() || block != null || mode == breaking) && !state.is(State.menu));
|
||||||
t.addImageTextButton("$cancel", "icon-cancel", 16*2, () -> {
|
t.addImageTextButton("$cancel", "icon-cancel", 16*2, () -> {
|
||||||
player.clearBuilding();
|
player.clearBuilding();
|
||||||
mode = none;
|
mode = none;
|
||||||
@@ -437,7 +435,7 @@ public class MobileInput extends InputHandler implements GestureListener{
|
|||||||
TargetTrait target = player.target;
|
TargetTrait target = player.target;
|
||||||
|
|
||||||
//draw targeting crosshair
|
//draw targeting crosshair
|
||||||
if(target != null){
|
if(target != null && !state.isEditor()){
|
||||||
if(target != lastTarget){
|
if(target != lastTarget){
|
||||||
crosshairScale = 0f;
|
crosshairScale = 0f;
|
||||||
lastTarget = target;
|
lastTarget = target;
|
||||||
|
|||||||
@@ -59,6 +59,5 @@ public class BundleLoader{
|
|||||||
Locale.setDefault(locale);
|
Locale.setDefault(locale);
|
||||||
Core.bundle = I18NBundle.createBundle(handle, locale);
|
Core.bundle = I18NBundle.createBundle(handle, locale);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
package io.anuke.mindustry.io;
|
|
||||||
|
|
||||||
import io.anuke.arc.collection.Array;
|
|
||||||
import io.anuke.arc.function.Consumer;
|
|
||||||
import io.anuke.arc.util.serialization.JsonReader;
|
|
||||||
import io.anuke.arc.util.serialization.JsonValue;
|
|
||||||
import io.anuke.mindustry.net.Net;
|
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.contributorsURL;
|
|
||||||
|
|
||||||
public class Contributors{
|
|
||||||
|
|
||||||
public static void getContributors(Consumer<Array<Contributor>> success, Consumer<Throwable> fail){
|
|
||||||
Net.http(contributorsURL, "GET", result -> {
|
|
||||||
JsonReader reader = new JsonReader();
|
|
||||||
JsonValue value = reader.parse(result).child;
|
|
||||||
Array<Contributor> out = new Array<>();
|
|
||||||
|
|
||||||
while(value != null){
|
|
||||||
String login = value.getString("login");
|
|
||||||
out.add(new Contributor(login));
|
|
||||||
value = value.next;
|
|
||||||
}
|
|
||||||
|
|
||||||
success.accept(out);
|
|
||||||
}, fail);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class Contributor{
|
|
||||||
public final String login;
|
|
||||||
|
|
||||||
public Contributor(String login){
|
|
||||||
this.login = login;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString(){
|
|
||||||
return "Contributor{" +
|
|
||||||
"login='" + login + '\'' +
|
|
||||||
'}';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -7,11 +7,11 @@ import io.anuke.mindustry.game.Rules;
|
|||||||
import io.anuke.mindustry.game.SpawnGroup;
|
import io.anuke.mindustry.game.SpawnGroup;
|
||||||
import io.anuke.mindustry.type.*;
|
import io.anuke.mindustry.type.*;
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
public class JsonIO{
|
public class JsonIO{
|
||||||
private static Json json = new Json(){{
|
private static Json json = new Json(){{
|
||||||
setIgnoreUnknownFields(true);
|
setIgnoreUnknownFields(true);
|
||||||
setElementType(Rules.class, "spawns", SpawnGroup.class);
|
setElementType(Rules.class, "spawns", SpawnGroup.class);
|
||||||
setElementType(Rules.class, "startingItems", ItemStack.class);
|
|
||||||
|
|
||||||
setSerializer(Zone.class, new Serializer<Zone>(){
|
setSerializer(Zone.class, new Serializer<Zone>(){
|
||||||
@Override
|
@Override
|
||||||
@@ -42,6 +42,10 @@ public class JsonIO{
|
|||||||
return json.toJson(object);
|
return json.toJson(object);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <T> T copy(T object){
|
||||||
|
return read((Class<T>)object.getClass(), write(object));
|
||||||
|
}
|
||||||
|
|
||||||
public static <T> T read(Class<T> type, String string){
|
public static <T> T read(Class<T> type, String string){
|
||||||
return json.fromJson(type, string);
|
return json.fromJson(type, string);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,8 +38,13 @@ public abstract class SaveVersion extends SaveFileReader{
|
|||||||
public final void read(DataInputStream stream, CounterInputStream counter, WorldContext context) throws IOException{
|
public final void read(DataInputStream stream, CounterInputStream counter, WorldContext context) throws IOException{
|
||||||
region("meta", stream, counter, this::readMeta);
|
region("meta", stream, counter, this::readMeta);
|
||||||
region("content", stream, counter, this::readContentHeader);
|
region("content", stream, counter, this::readContentHeader);
|
||||||
region("map", stream, counter, in -> readMap(in, context));
|
|
||||||
region("entities", stream, counter, this::readEntities);
|
try{
|
||||||
|
region("map", stream, counter, in -> readMap(in, context));
|
||||||
|
region("entities", stream, counter, this::readEntities);
|
||||||
|
}finally{
|
||||||
|
content.setTemporaryMapper(null);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void write(DataOutputStream stream, StringMap extraTags) throws IOException{
|
public final void write(DataOutputStream stream, StringMap extraTags) throws IOException{
|
||||||
@@ -143,56 +148,57 @@ public abstract class SaveVersion extends SaveFileReader{
|
|||||||
boolean generating = context.isGenerating();
|
boolean generating = context.isGenerating();
|
||||||
|
|
||||||
if(!generating) context.begin();
|
if(!generating) context.begin();
|
||||||
|
try{
|
||||||
|
|
||||||
context.resize(width, height);
|
context.resize(width, height);
|
||||||
|
|
||||||
//read floor and create tiles first
|
//read floor and create tiles first
|
||||||
for(int i = 0; i < width * height; i++){
|
for(int i = 0; i < width * height; i++){
|
||||||
int x = i % width, y = i / width;
|
int x = i % width, y = i / width;
|
||||||
short floorid = stream.readShort();
|
short floorid = stream.readShort();
|
||||||
short oreid = stream.readShort();
|
short oreid = stream.readShort();
|
||||||
int consecutives = stream.readUnsignedByte();
|
|
||||||
|
|
||||||
context.create(x, y, floorid, oreid, (short)0);
|
|
||||||
|
|
||||||
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
|
||||||
int newx = j % width, newy = j / width;
|
|
||||||
context.create(newx, newy, floorid, oreid, (short)0);
|
|
||||||
}
|
|
||||||
|
|
||||||
i += consecutives;
|
|
||||||
}
|
|
||||||
|
|
||||||
//read blocks
|
|
||||||
for(int i = 0; i < width * height; i++){
|
|
||||||
int x = i % width, y = i / width;
|
|
||||||
Block block = content.block(stream.readShort());
|
|
||||||
Tile tile = context.tile(x, y);
|
|
||||||
tile.setBlock(block);
|
|
||||||
|
|
||||||
if(tile.entity != null){
|
|
||||||
try{
|
|
||||||
readChunk(stream, true, in -> {
|
|
||||||
byte version = in.readByte();
|
|
||||||
tile.entity.read(in, version);
|
|
||||||
});
|
|
||||||
}catch(Exception e){
|
|
||||||
throw new IOException("Failed to read tile entity of block: " + block, e);
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
int consecutives = stream.readUnsignedByte();
|
int consecutives = stream.readUnsignedByte();
|
||||||
|
|
||||||
|
context.create(x, y, floorid, oreid, (short)0);
|
||||||
|
|
||||||
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
||||||
int newx = j % width, newy = j / width;
|
int newx = j % width, newy = j / width;
|
||||||
context.tile(newx, newy).setBlock(block);
|
context.create(newx, newy, floorid, oreid, (short)0);
|
||||||
}
|
}
|
||||||
|
|
||||||
i += consecutives;
|
i += consecutives;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
content.setTemporaryMapper(null);
|
//read blocks
|
||||||
if(!generating) context.end();
|
for(int i = 0; i < width * height; i++){
|
||||||
|
int x = i % width, y = i / width;
|
||||||
|
Block block = content.block(stream.readShort());
|
||||||
|
Tile tile = context.tile(x, y);
|
||||||
|
tile.setBlock(block);
|
||||||
|
|
||||||
|
if(tile.entity != null){
|
||||||
|
try{
|
||||||
|
readChunk(stream, true, in -> {
|
||||||
|
byte version = in.readByte();
|
||||||
|
tile.entity.read(in, version);
|
||||||
|
});
|
||||||
|
}catch(Exception e){
|
||||||
|
throw new IOException("Failed to read tile entity of block: " + block, e);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
int consecutives = stream.readUnsignedByte();
|
||||||
|
|
||||||
|
for(int j = i + 1; j < i + 1 + consecutives; j++){
|
||||||
|
int newx = j % width, newy = j / width;
|
||||||
|
context.tile(newx, newy).setBlock(block);
|
||||||
|
}
|
||||||
|
|
||||||
|
i += consecutives;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}finally{
|
||||||
|
if(!generating) context.end();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeEntities(DataOutput stream) throws IOException{
|
public void writeEntities(DataOutput stream) throws IOException{
|
||||||
|
|||||||
@@ -100,19 +100,25 @@ public class CrashSender{
|
|||||||
ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name"))));
|
ex(() -> value.addChild("os", new JsonValue(System.getProperty("os.name"))));
|
||||||
ex(() -> value.addChild("trace", new JsonValue(parseException(exception))));
|
ex(() -> value.addChild("trace", new JsonValue(parseException(exception))));
|
||||||
|
|
||||||
|
boolean[] sent = {false};
|
||||||
|
|
||||||
Log.info("Sending crash report.");
|
Log.info("Sending crash report.");
|
||||||
//post to crash report URL
|
//post to crash report URL
|
||||||
Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> {
|
Net.http(Vars.crashReportURL, "POST", value.toJson(OutputType.json), r -> {
|
||||||
Log.info("Crash sent successfully.");
|
Log.info("Crash sent successfully.");
|
||||||
|
sent[0] = true;
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
}, t -> {
|
}, t -> {
|
||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
|
sent[0] = true;
|
||||||
System.exit(1);
|
System.exit(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
//sleep for 10 seconds or until crash report is sent
|
//sleep until report is sent
|
||||||
try{
|
try{
|
||||||
Thread.sleep(10000);
|
while(!sent[0]){
|
||||||
|
Thread.sleep(30);
|
||||||
|
}
|
||||||
}catch(InterruptedException ignored){
|
}catch(InterruptedException ignored){
|
||||||
}
|
}
|
||||||
}catch(Throwable death){
|
}catch(Throwable death){
|
||||||
|
|||||||
@@ -4,8 +4,7 @@ import io.anuke.arc.Core;
|
|||||||
import io.anuke.arc.util.Time;
|
import io.anuke.arc.util.Time;
|
||||||
import io.anuke.mindustry.entities.Entities;
|
import io.anuke.mindustry.entities.Entities;
|
||||||
import io.anuke.mindustry.entities.type.Player;
|
import io.anuke.mindustry.entities.type.Player;
|
||||||
import io.anuke.mindustry.game.Rules;
|
import io.anuke.mindustry.game.*;
|
||||||
import io.anuke.mindustry.game.Version;
|
|
||||||
import io.anuke.mindustry.io.JsonIO;
|
import io.anuke.mindustry.io.JsonIO;
|
||||||
import io.anuke.mindustry.io.SaveIO;
|
import io.anuke.mindustry.io.SaveIO;
|
||||||
import io.anuke.mindustry.maps.Map;
|
import io.anuke.mindustry.maps.Map;
|
||||||
|
|||||||
@@ -1,19 +1,22 @@
|
|||||||
package io.anuke.mindustry.type;
|
package io.anuke.mindustry.type;
|
||||||
|
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.arc.collection.Array;
|
||||||
|
import io.anuke.mindustry.content.Items;
|
||||||
|
|
||||||
public class ItemStack implements Comparable<ItemStack>{
|
public class ItemStack implements Comparable<ItemStack>{
|
||||||
public Item item;
|
public Item item;
|
||||||
public int amount;
|
public int amount;
|
||||||
|
|
||||||
public ItemStack(Item item, int amount){
|
public ItemStack(Item item, int amount){
|
||||||
|
if(item == null) item = Items.copper;
|
||||||
this.item = item;
|
this.item = item;
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
//serialization only
|
//serialization only
|
||||||
public ItemStack(){
|
public ItemStack(){
|
||||||
|
//prevent nulls.
|
||||||
|
item = Items.copper;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean equals(ItemStack other){
|
public boolean equals(ItemStack other){
|
||||||
|
|||||||
@@ -1,35 +1,28 @@
|
|||||||
package io.anuke.mindustry.ui.dialogs;
|
package io.anuke.mindustry.ui.dialogs;
|
||||||
|
|
||||||
import io.anuke.arc.Core;
|
import io.anuke.arc.Core;
|
||||||
import io.anuke.arc.collection.Array;
|
import io.anuke.arc.collection.*;
|
||||||
import io.anuke.arc.collection.ObjectSet;
|
|
||||||
import io.anuke.arc.graphics.Color;
|
import io.anuke.arc.graphics.Color;
|
||||||
import io.anuke.arc.scene.ui.ScrollPane;
|
import io.anuke.arc.scene.ui.ScrollPane;
|
||||||
import io.anuke.arc.scene.ui.layout.Cell;
|
import io.anuke.arc.scene.ui.layout.*;
|
||||||
import io.anuke.arc.scene.ui.layout.Table;
|
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.mindustry.graphics.Pal;
|
import io.anuke.mindustry.graphics.Pal;
|
||||||
import io.anuke.mindustry.io.Contributors;
|
|
||||||
import io.anuke.mindustry.io.Contributors.Contributor;
|
|
||||||
import io.anuke.mindustry.ui.Links;
|
import io.anuke.mindustry.ui.Links;
|
||||||
import io.anuke.mindustry.ui.Links.LinkEntry;
|
import io.anuke.mindustry.ui.Links.LinkEntry;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.ios;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.Vars.ui;
|
|
||||||
|
|
||||||
public class AboutDialog extends FloatingDialog{
|
public class AboutDialog extends FloatingDialog{
|
||||||
private Array<Contributor> contributors = new Array<>();
|
private Array<String> contributors = new Array<>();
|
||||||
private static ObjectSet<String> bannedItems = ObjectSet.with("google-play", "itch.io", "dev-builds", "trello");
|
private static ObjectSet<String> bannedItems = ObjectSet.with("google-play", "itch.io", "dev-builds", "trello");
|
||||||
|
|
||||||
public AboutDialog(){
|
public AboutDialog(){
|
||||||
super("$about.button");
|
super("$about.button");
|
||||||
|
|
||||||
if(!ios){
|
shown(() -> {
|
||||||
shown(() -> Contributors.getContributors(out -> {
|
contributors = Array.with(Core.files.internal("contributors").readString().split("\n"));
|
||||||
contributors = out;
|
Core.app.post(this::setup);
|
||||||
Core.app.post(this::setup);
|
});
|
||||||
}, Throwable::printStackTrace));
|
|
||||||
}
|
|
||||||
|
|
||||||
shown(this::setup);
|
shown(this::setup);
|
||||||
onResize(this::setup);
|
onResize(this::setup);
|
||||||
@@ -112,8 +105,8 @@ public class AboutDialog extends FloatingDialog{
|
|||||||
dialog.cont.pane(new Table(){{
|
dialog.cont.pane(new Table(){{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
left();
|
left();
|
||||||
for(Contributor c : contributors){
|
for(String c : contributors){
|
||||||
add("[lightgray]" + c.login).left().pad(3).padLeft(6).padRight(6);
|
add("[lightgray]" + c).left().pad(3).padLeft(6).padRight(6);
|
||||||
if(++i % 3 == 0){
|
if(++i % 3 == 0){
|
||||||
row();
|
row();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ public class MapPlayDialog extends FloatingDialog{
|
|||||||
|
|
||||||
cont.add(sdif);
|
cont.add(sdif);
|
||||||
cont.row();
|
cont.row();
|
||||||
cont.add(new BorderImage(map.texture, 3f)).size(250f).get().setScaling(Scaling.fit);
|
cont.add(new BorderImage(map.texture, 3f)).size(mobile && !Core.graphics.isPortrait() ? 150f : 250f).get().setScaling(Scaling.fit);
|
||||||
|
|
||||||
buttons.clearChildren();
|
buttons.clearChildren();
|
||||||
addCloseButton();
|
addCloseButton();
|
||||||
|
|||||||
@@ -63,9 +63,10 @@ public class MenuFragment extends Fragment{
|
|||||||
join = new MobileButton("icon-add", isize, "$joingame", ui.join::show),
|
join = new MobileButton("icon-add", isize, "$joingame", ui.join::show),
|
||||||
editor = new MobileButton("icon-editor", isize, "$editor", () -> ui.loadAnd(ui.editor::show)),
|
editor = new MobileButton("icon-editor", isize, "$editor", () -> ui.loadAnd(ui.editor::show)),
|
||||||
tools = new MobileButton("icon-tools", isize, "$settings", ui.settings::show),
|
tools = new MobileButton("icon-tools", isize, "$settings", ui.settings::show),
|
||||||
donate = new MobileButton("icon-donate", isize, "$donate", () -> Core.net.openURI(donationURL));
|
donate = new MobileButton("icon-donate", isize, "$donate", () -> Core.net.openURI(donationURL)),
|
||||||
|
exit = new MobileButton("icon-exit", isize, "$quit", () -> Core.app.exit());
|
||||||
|
|
||||||
if(Core.graphics.getWidth() > Core.graphics.getHeight()){
|
if(!Core.graphics.isPortrait()){
|
||||||
container.add(play);
|
container.add(play);
|
||||||
container.add(join);
|
container.add(join);
|
||||||
container.add(custom);
|
container.add(custom);
|
||||||
@@ -79,6 +80,7 @@ public class MenuFragment extends Fragment{
|
|||||||
table.add(tools);
|
table.add(tools);
|
||||||
|
|
||||||
if(Platform.instance.canDonate()) table.add(donate);
|
if(Platform.instance.canDonate()) table.add(donate);
|
||||||
|
table.add(exit);
|
||||||
}).colspan(4);
|
}).colspan(4);
|
||||||
}else{
|
}else{
|
||||||
container.add(play);
|
container.add(play);
|
||||||
@@ -95,6 +97,7 @@ public class MenuFragment extends Fragment{
|
|||||||
table.defaults().set(container.defaults());
|
table.defaults().set(container.defaults());
|
||||||
|
|
||||||
if(Platform.instance.canDonate()) table.add(donate);
|
if(Platform.instance.canDonate()) table.add(donate);
|
||||||
|
table.add(exit);
|
||||||
}).colspan(2);
|
}).colspan(2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -103,6 +103,8 @@ public class Block extends BlockStorage{
|
|||||||
public float buildCost;
|
public float buildCost;
|
||||||
/** Whether this block is visible and can currently be built. */
|
/** Whether this block is visible and can currently be built. */
|
||||||
public BooleanProvider buildVisibility = () -> false;
|
public BooleanProvider buildVisibility = () -> false;
|
||||||
|
/** Whether this block has instant transfer.*/
|
||||||
|
public boolean instantTransfer = false;
|
||||||
public boolean alwaysUnlocked = false;
|
public boolean alwaysUnlocked = false;
|
||||||
|
|
||||||
protected TextureRegion[] cacheRegions = {};
|
protected TextureRegion[] cacheRegions = {};
|
||||||
@@ -343,7 +345,7 @@ public class Block extends BlockStorage{
|
|||||||
cacheRegions[i] = Core.atlas.find(cacheRegionStrings.get(i));
|
cacheRegions[i] = Core.atlas.find(cacheRegionStrings.get(i));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(cracks == null){
|
if(cracks == null || cracks[0][0].getTexture().isDisposed()){
|
||||||
cracks = new TextureRegion[maxCrackSize][crackRegions];
|
cracks = new TextureRegion[maxCrackSize][crackRegions];
|
||||||
for(int size = 1; size <= maxCrackSize; size++){
|
for(int size = 1; size <= maxCrackSize; size++){
|
||||||
for(int i = 0; i < crackRegions; i++){
|
for(int i = 0; i < crackRegions; i++){
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import io.anuke.arc.math.Mathf;
|
|||||||
import io.anuke.arc.math.geom.Geometry;
|
import io.anuke.arc.math.geom.Geometry;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.tilesize;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
import static io.anuke.mindustry.Vars.world;
|
|
||||||
|
|
||||||
public class ExtendingItemBridge extends ItemBridge{
|
public class ExtendingItemBridge extends ItemBridge{
|
||||||
|
|
||||||
@@ -27,8 +26,10 @@ public class ExtendingItemBridge extends ItemBridge{
|
|||||||
float ex = other.worldx() - tile.worldx() - Geometry.d4[i].x * tilesize / 2f,
|
float ex = other.worldx() - tile.worldx() - Geometry.d4[i].x * tilesize / 2f,
|
||||||
ey = other.worldy() - tile.worldy() - Geometry.d4[i].y * tilesize / 2f;
|
ey = other.worldy() - tile.worldy() - Geometry.d4[i].y * tilesize / 2f;
|
||||||
|
|
||||||
ex *= entity.uptime;
|
float uptime = state.isEditor() ? 1f : entity.uptime;
|
||||||
ey *= entity.uptime;
|
|
||||||
|
ex *= uptime;
|
||||||
|
ey *= uptime;
|
||||||
|
|
||||||
Lines.stroke(8f);
|
Lines.stroke(8f);
|
||||||
Lines.line(bridgeRegion,
|
Lines.line(bridgeRegion,
|
||||||
@@ -49,10 +50,10 @@ public class ExtendingItemBridge extends ItemBridge{
|
|||||||
Draw.color();
|
Draw.color();
|
||||||
|
|
||||||
for(int a = 0; a < arrows; a++){
|
for(int a = 0; a < arrows; a++){
|
||||||
Draw.alpha(Mathf.absin(a / (float)arrows - entity.time / 100f, 0.1f, 1f) * entity.uptime);
|
Draw.alpha(Mathf.absin(a / (float)arrows - entity.time / 100f, 0.1f, 1f) * uptime);
|
||||||
Draw.rect(arrowRegion,
|
Draw.rect(arrowRegion,
|
||||||
tile.worldx() + Geometry.d4[i].x * (tilesize / 2f + a * 6f + 2) * entity.uptime,
|
tile.worldx() + Geometry.d4[i].x * (tilesize / 2f + a * 6f + 2) * uptime,
|
||||||
tile.worldy() + Geometry.d4[i].y * (tilesize / 2f + a * 6f + 2) * entity.uptime, i * 90f);
|
tile.worldy() + Geometry.d4[i].y * (tilesize / 2f + a * 6f + 2) * uptime, i * 90f);
|
||||||
}
|
}
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,12 +2,17 @@ package io.anuke.mindustry.world.blocks.distribution;
|
|||||||
|
|
||||||
import io.anuke.arc.util.Time;
|
import io.anuke.arc.util.Time;
|
||||||
import io.anuke.mindustry.entities.type.TileEntity;
|
import io.anuke.mindustry.entities.type.TileEntity;
|
||||||
|
import io.anuke.mindustry.entities.type.Unit;
|
||||||
import io.anuke.mindustry.gen.BufferItem;
|
import io.anuke.mindustry.gen.BufferItem;
|
||||||
import io.anuke.mindustry.type.Item;
|
import io.anuke.mindustry.type.Item;
|
||||||
import io.anuke.mindustry.world.*;
|
import io.anuke.mindustry.world.Block;
|
||||||
|
import io.anuke.mindustry.world.DirectionalItemBuffer;
|
||||||
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.mindustry.world.meta.BlockGroup;
|
import io.anuke.mindustry.world.meta.BlockGroup;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.DataInput;
|
||||||
|
import java.io.DataOutput;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.content;
|
import static io.anuke.mindustry.Vars.content;
|
||||||
|
|
||||||
@@ -19,9 +24,15 @@ public class Junction extends Block{
|
|||||||
super(name);
|
super(name);
|
||||||
update = true;
|
update = true;
|
||||||
solid = true;
|
solid = true;
|
||||||
|
instantTransfer = true;
|
||||||
group = BlockGroup.transportation;
|
group = BlockGroup.transportation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int acceptStack(Item item, int amount, Tile tile, Unit source){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean outputsItems(){
|
public boolean outputsItems(){
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.anuke.mindustry.world.blocks.distribution;
|
package io.anuke.mindustry.world.blocks.distribution;
|
||||||
|
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.Mathf;
|
||||||
|
import io.anuke.arc.util.Time;
|
||||||
import io.anuke.mindustry.entities.type.TileEntity;
|
import io.anuke.mindustry.entities.type.TileEntity;
|
||||||
import io.anuke.mindustry.type.Item;
|
import io.anuke.mindustry.type.Item;
|
||||||
import io.anuke.mindustry.world.*;
|
import io.anuke.mindustry.world.*;
|
||||||
@@ -9,8 +10,7 @@ import io.anuke.mindustry.world.meta.BlockGroup;
|
|||||||
import java.io.*;
|
import java.io.*;
|
||||||
|
|
||||||
public class OverflowGate extends Block{
|
public class OverflowGate extends Block{
|
||||||
protected int bufferCapacity = 10;
|
protected float speed = 1f;
|
||||||
protected float speed = 45f;
|
|
||||||
|
|
||||||
public OverflowGate(String name){
|
public OverflowGate(String name){
|
||||||
super(name);
|
super(name);
|
||||||
@@ -20,18 +20,38 @@ public class OverflowGate extends Block{
|
|||||||
group = BlockGroup.transportation;
|
group = BlockGroup.transportation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean outputsItems(){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int removeStack(Tile tile, Item item, int amount){
|
||||||
|
OverflowGateEntity entity = tile.entity();
|
||||||
|
int result = super.removeStack(tile, item, amount);
|
||||||
|
if(result != 0 && item == entity.lastItem){
|
||||||
|
entity.lastItem = null;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(Tile tile){
|
public void update(Tile tile){
|
||||||
OverflowGateEntity entity = tile.entity();
|
OverflowGateEntity entity = tile.entity();
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++){
|
if(entity.lastItem == null && entity.items.total() > 0){
|
||||||
Item item = entity.buffer.poll(i);
|
entity.items.clear();
|
||||||
if(item != null){
|
}
|
||||||
Tile other = getTileTarget(tile, item, tile.getNearby(i), true);
|
|
||||||
if(other != null && other.block().acceptItem(item, other, tile)){
|
if(entity.lastItem != null){
|
||||||
other.block().handleItem(item, other, tile);
|
entity.time += 1f / speed * Time.delta();
|
||||||
entity.buffer.remove(i);
|
Tile target = getTileTarget(tile, entity.lastItem, entity.lastInput, false);
|
||||||
}
|
|
||||||
|
if(target != null && (entity.time >= 1f)){
|
||||||
|
getTileTarget(tile, entity.lastItem, entity.lastInput, true);
|
||||||
|
target.block().handleItem(entity.lastItem, target, Edges.getFacingEdge(tile, target));
|
||||||
|
entity.items.remove(entity.lastItem, 1);
|
||||||
|
entity.lastItem = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -39,16 +59,17 @@ public class OverflowGate extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public boolean acceptItem(Item item, Tile tile, Tile source){
|
public boolean acceptItem(Item item, Tile tile, Tile source){
|
||||||
OverflowGateEntity entity = tile.entity();
|
OverflowGateEntity entity = tile.entity();
|
||||||
return entity.buffer.accepts(tile.relativeTo(source.x, source.y));
|
|
||||||
|
return tile.getTeam() == source.getTeam() && entity.lastItem == null && entity.items.total() == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleItem(Item item, Tile tile, Tile source){
|
public void handleItem(Item item, Tile tile, Tile source){
|
||||||
OverflowGateEntity entity = tile.entity();
|
OverflowGateEntity entity = tile.entity();
|
||||||
int buffer = tile.relativeTo(source.x, source.y);
|
entity.items.add(item, 1);
|
||||||
if(entity.buffer.accepts(buffer)){
|
entity.lastItem = item;
|
||||||
entity.buffer.accept(buffer, item);
|
entity.time = 0f;
|
||||||
}
|
entity.lastInput = source;
|
||||||
}
|
}
|
||||||
|
|
||||||
Tile getTileTarget(Tile tile, Item item, Tile src, boolean flip){
|
Tile getTileTarget(Tile tile, Item item, Tile src, boolean flip){
|
||||||
@@ -75,10 +96,10 @@ public class OverflowGate extends Block{
|
|||||||
}else{
|
}else{
|
||||||
if(tile.rotation() == 0){
|
if(tile.rotation() == 0){
|
||||||
to = a;
|
to = a;
|
||||||
if(flip) tile.rotation((byte)1);
|
if(flip) tile.rotation((byte) 1);
|
||||||
}else{
|
}else{
|
||||||
to = b;
|
to = b;
|
||||||
if(flip) tile.rotation((byte)0);
|
if(flip) tile.rotation((byte) 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -92,24 +113,25 @@ public class OverflowGate extends Block{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class OverflowGateEntity extends TileEntity{
|
public class OverflowGateEntity extends TileEntity{
|
||||||
DirectionalItemBuffer buffer = new DirectionalItemBuffer(bufferCapacity, speed);
|
Item lastItem;
|
||||||
|
Tile lastInput;
|
||||||
|
float time;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte version(){
|
public byte version(){
|
||||||
return 1;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(DataOutput stream) throws IOException{
|
public void write(DataOutput stream) throws IOException{
|
||||||
super.write(stream);
|
super.write(stream);
|
||||||
buffer.write(stream);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void read(DataInput stream, byte revision) throws IOException{
|
public void read(DataInput stream, byte revision) throws IOException{
|
||||||
super.read(stream, revision);
|
super.read(stream, revision);
|
||||||
if(revision == 1){
|
if(revision == 1){
|
||||||
buffer.read(stream);
|
new DirectionalItemBuffer(25, 50f).read(stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,7 @@ import io.anuke.arc.Core;
|
|||||||
import io.anuke.arc.graphics.g2d.Draw;
|
import io.anuke.arc.graphics.g2d.Draw;
|
||||||
import io.anuke.arc.math.Mathf;
|
import io.anuke.arc.math.Mathf;
|
||||||
import io.anuke.arc.scene.ui.layout.Table;
|
import io.anuke.arc.scene.ui.layout.Table;
|
||||||
import io.anuke.mindustry.entities.type.Player;
|
import io.anuke.mindustry.entities.type.*;
|
||||||
import io.anuke.mindustry.entities.type.TileEntity;
|
|
||||||
import io.anuke.mindustry.gen.Call;
|
import io.anuke.mindustry.gen.Call;
|
||||||
import io.anuke.mindustry.type.Item;
|
import io.anuke.mindustry.type.Item;
|
||||||
import io.anuke.mindustry.world.*;
|
import io.anuke.mindustry.world.*;
|
||||||
@@ -20,13 +19,11 @@ import static io.anuke.mindustry.Vars.content;
|
|||||||
public class Sorter extends Block{
|
public class Sorter extends Block{
|
||||||
private static Item lastItem;
|
private static Item lastItem;
|
||||||
|
|
||||||
protected int bufferCapacity = 20;
|
|
||||||
protected float speed = 45f;
|
|
||||||
|
|
||||||
public Sorter(String name){
|
public Sorter(String name){
|
||||||
super(name);
|
super(name);
|
||||||
update = true;
|
update = true;
|
||||||
solid = true;
|
solid = true;
|
||||||
|
instantTransfer = true;
|
||||||
group = BlockGroup.transportation;
|
group = BlockGroup.transportation;
|
||||||
configurable = true;
|
configurable = true;
|
||||||
}
|
}
|
||||||
@@ -57,42 +54,28 @@ public class Sorter extends Block{
|
|||||||
if(entity.sortItem == null) return;
|
if(entity.sortItem == null) return;
|
||||||
|
|
||||||
Draw.color(entity.sortItem.color);
|
Draw.color(entity.sortItem.color);
|
||||||
Draw.rect("center", tile.worldx(), tile.worldy());
|
Draw.rect("blank", tile.worldx(), tile.worldy(), 4f, 4f);
|
||||||
Draw.color();
|
Draw.color();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void update(Tile tile){
|
|
||||||
SorterEntity entity = tile.entity();
|
|
||||||
|
|
||||||
for(int i = 0; i < 4; i++){
|
|
||||||
Item item = entity.buffer.poll(i);
|
|
||||||
if(item != null){
|
|
||||||
Tile other = getTileTarget(item, tile, tile.getNearby(i), true);
|
|
||||||
if(other != null && other.block().acceptItem(item, other, tile)){
|
|
||||||
other.block().handleItem(item, other, tile);
|
|
||||||
entity.buffer.remove(i);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean acceptItem(Item item, Tile tile, Tile source){
|
public boolean acceptItem(Item item, Tile tile, Tile source){
|
||||||
SorterEntity entity = tile.entity();
|
Tile to = getTileTarget(item, tile, source, false);
|
||||||
return entity.buffer.accepts(tile.relativeTo(source.x, source.y));
|
|
||||||
|
return to != null && to.block().acceptItem(item, to, tile);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void handleItem(Item item, Tile tile, Tile source){
|
public void handleItem(Item item, Tile tile, Tile source){
|
||||||
SorterEntity entity = tile.entity();
|
Tile to = getTileTarget(item, tile, source, true);
|
||||||
int buffer = tile.relativeTo(source.x, source.y);
|
|
||||||
if(entity.buffer.accepts(buffer)){
|
to.block().handleItem(item, to, tile);
|
||||||
entity.buffer.accept(buffer, item);
|
}
|
||||||
}
|
|
||||||
|
boolean isSame(Tile tile, Tile other){
|
||||||
|
return other != null && other.block() == this && other.<SorterEntity>entity().sortItem == tile.<SorterEntity>entity().sortItem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
|
||||||
Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){
|
Tile getTileTarget(Item item, Tile dest, Tile source, boolean flip){
|
||||||
SorterEntity entity = dest.entity();
|
SorterEntity entity = dest.entity();
|
||||||
|
|
||||||
@@ -101,12 +84,18 @@ public class Sorter extends Block{
|
|||||||
Tile to;
|
Tile to;
|
||||||
|
|
||||||
if(item == entity.sortItem){
|
if(item == entity.sortItem){
|
||||||
|
//prevent 3-chains
|
||||||
|
if(isSame(dest, source) && isSame(dest, dest.getNearby(dir))){
|
||||||
|
return null;
|
||||||
|
}
|
||||||
to = dest.getNearby(dir);
|
to = dest.getNearby(dir);
|
||||||
}else{
|
}else{
|
||||||
Tile a = dest.getNearby(Mathf.mod(dir - 1, 4));
|
Tile a = dest.getNearby(Mathf.mod(dir - 1, 4));
|
||||||
Tile b = dest.getNearby(Mathf.mod(dir + 1, 4));
|
Tile b = dest.getNearby(Mathf.mod(dir + 1, 4));
|
||||||
boolean ac = a != null && a.block().acceptItem(item, a, dest);
|
boolean ac = a != null && !(a.block().instantTransfer && source.block().instantTransfer) &&
|
||||||
boolean bc = b != null && b.block().acceptItem(item, b, dest);
|
a.block().acceptItem(item, a, dest);
|
||||||
|
boolean bc = b != null && !(b.block().instantTransfer && source.block().instantTransfer) &&
|
||||||
|
b.block().acceptItem(item, b, dest);
|
||||||
|
|
||||||
if(ac && !bc){
|
if(ac && !bc){
|
||||||
to = a;
|
to = a;
|
||||||
@@ -117,10 +106,12 @@ public class Sorter extends Block{
|
|||||||
}else{
|
}else{
|
||||||
if(dest.rotation() == 0){
|
if(dest.rotation() == 0){
|
||||||
to = a;
|
to = a;
|
||||||
if(flip) dest.rotation((byte)1);
|
if(flip)
|
||||||
|
dest.rotation((byte)1);
|
||||||
}else{
|
}else{
|
||||||
to = b;
|
to = b;
|
||||||
if(flip) dest.rotation((byte)0);
|
if(flip)
|
||||||
|
dest.rotation((byte)0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -142,20 +133,19 @@ public class Sorter extends Block{
|
|||||||
return new SorterEntity();
|
return new SorterEntity();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public class SorterEntity extends TileEntity{
|
public class SorterEntity extends TileEntity{
|
||||||
DirectionalItemBuffer buffer = new DirectionalItemBuffer(bufferCapacity, speed);
|
|
||||||
Item sortItem;
|
Item sortItem;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte version(){
|
public byte version(){
|
||||||
return 1;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void write(DataOutput stream) throws IOException{
|
public void write(DataOutput stream) throws IOException{
|
||||||
super.write(stream);
|
super.write(stream);
|
||||||
stream.writeShort(sortItem == null ? -1 : sortItem.id);
|
stream.writeShort(sortItem == null ? -1 : sortItem.id);
|
||||||
buffer.write(stream);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -163,7 +153,7 @@ public class Sorter extends Block{
|
|||||||
super.read(stream, revision);
|
super.read(stream, revision);
|
||||||
sortItem = content.item(stream.readShort());
|
sortItem = content.item(stream.readShort());
|
||||||
if(revision == 1){
|
if(revision == 1){
|
||||||
buffer.read(stream);
|
new DirectionalItemBuffer(20, 45f).read(stream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,6 +37,7 @@ public class LiquidConverter extends GenericCrafter{
|
|||||||
if(hasPower){
|
if(hasPower){
|
||||||
use *= entity.power.satisfaction; // Produce less liquid if power is not maxed
|
use *= entity.power.satisfaction; // Produce less liquid if power is not maxed
|
||||||
}
|
}
|
||||||
|
useContent(tile, outputLiquid.liquid);
|
||||||
entity.progress += use / cl.amount / craftTime;
|
entity.progress += use / cl.amount / craftTime;
|
||||||
entity.liquids.add(outputLiquid.liquid, use);
|
entity.liquids.add(outputLiquid.liquid, use);
|
||||||
if(entity.progress >= 1f){
|
if(entity.progress >= 1f){
|
||||||
|
|||||||
@@ -72,16 +72,18 @@ public class MechPad extends Block{
|
|||||||
|
|
||||||
if(entity.player == null) return;
|
if(entity.player == null) return;
|
||||||
Mech mech = ((MechPad)tile.block()).mech;
|
Mech mech = ((MechPad)tile.block()).mech;
|
||||||
|
boolean resetSpawner = !entity.sameMech && entity.player.mech == mech;
|
||||||
entity.player.mech = !entity.sameMech && entity.player.mech == mech ? Mechs.starter : mech;
|
entity.player.mech = !entity.sameMech && entity.player.mech == mech ? Mechs.starter : mech;
|
||||||
|
|
||||||
entity.progress = 0;
|
entity.progress = 0;
|
||||||
entity.player.onRespawn(tile);
|
entity.player.onRespawn(tile);
|
||||||
|
if(resetSpawner) entity.player.lastSpawner = null;
|
||||||
entity.player = null;
|
entity.player = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected static boolean checkValidTap(Tile tile, Player player){
|
protected static boolean checkValidTap(Tile tile, Player player){
|
||||||
MechFactoryEntity entity = tile.entity();
|
MechFactoryEntity entity = tile.entity();
|
||||||
return Math.abs(player.x - tile.drawx()) <= tile.block().size * tilesize &&
|
return !player.isDead() && Math.abs(player.x - tile.drawx()) <= tile.block().size * tilesize &&
|
||||||
Math.abs(player.y - tile.drawy()) <= tile.block().size * tilesize && entity.cons.valid() && entity.player == null;
|
Math.abs(player.y - tile.drawy()) <= tile.block().size * tilesize && entity.cons.valid() && entity.player == null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ public class ServerControl implements ApplicationListener{
|
|||||||
private FileHandle currentLogFile;
|
private FileHandle currentLogFile;
|
||||||
private boolean inExtraRound;
|
private boolean inExtraRound;
|
||||||
private Task lastTask;
|
private Task lastTask;
|
||||||
|
private Gamemode lastMode = Gamemode.survival;
|
||||||
|
|
||||||
private Thread socketThread;
|
private Thread socketThread;
|
||||||
private PrintWriter socketOutput;
|
private PrintWriter socketOutput;
|
||||||
@@ -157,7 +158,7 @@ public class ServerControl implements ApplicationListener{
|
|||||||
? "[YELLOW]The " + event.winner.name() + " team is victorious![]" : "[SCARLET]Game over![]")
|
? "[YELLOW]The " + event.winner.name() + " team is victorious![]" : "[SCARLET]Game over![]")
|
||||||
+ "\nNext selected map:[accent] " + map.name() + "[]"
|
+ "\nNext selected map:[accent] " + map.name() + "[]"
|
||||||
+ (map.tags.containsKey("author") && !map.tags.get("author").trim().isEmpty() ? " by[accent] " + map.author() + "[]" : "") + "." +
|
+ (map.tags.containsKey("author") && !map.tags.get("author").trim().isEmpty() ? " by[accent] " + map.author() + "[]" : "") + "." +
|
||||||
"\nNew game begins in " + roundExtraTime + " seconds.");
|
"\nNew game begins in " + roundExtraTime + "[] seconds.");
|
||||||
|
|
||||||
info("Selected next map to be {0}.", map.name());
|
info("Selected next map to be {0}.", map.name());
|
||||||
|
|
||||||
@@ -235,9 +236,10 @@ public class ServerControl implements ApplicationListener{
|
|||||||
info("Loading map...");
|
info("Loading map...");
|
||||||
|
|
||||||
logic.reset();
|
logic.reset();
|
||||||
state.rules = preset.apply(result.rules());
|
lastMode = preset;
|
||||||
try{
|
try{
|
||||||
world.loadMap(result);
|
world.loadMap(result);
|
||||||
|
state.rules = preset.apply(result.rules());
|
||||||
logic.play();
|
logic.play();
|
||||||
|
|
||||||
info("Map loaded.");
|
info("Map loaded.");
|
||||||
@@ -698,12 +700,13 @@ public class ServerControl implements ApplicationListener{
|
|||||||
players.add(p);
|
players.add(p);
|
||||||
p.setDead(true);
|
p.setDead(true);
|
||||||
}
|
}
|
||||||
Rules rules = state.rules;
|
|
||||||
logic.reset();
|
logic.reset();
|
||||||
state.rules = rules;
|
|
||||||
Call.onWorldDataBegin();
|
Call.onWorldDataBegin();
|
||||||
run.run();
|
run.run();
|
||||||
logic.play();
|
logic.play();
|
||||||
|
state.rules = lastMode.apply(world.getMap().rules());
|
||||||
for(Player p : players){
|
for(Player p : players){
|
||||||
p.reset();
|
p.reset();
|
||||||
if(state.rules.pvp){
|
if(state.rules.pvp){
|
||||||
|
|||||||
Reference in New Issue
Block a user