Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ad5cdebca8 | ||
|
|
ff794d485a | ||
|
|
65a7a5afe2 | ||
|
|
2fcae6d27c | ||
|
|
6023b312e3 | ||
|
|
c4cbb85e03 | ||
|
|
3280bceaa1 | ||
|
|
b7e788d529 | ||
|
|
15cbc5fe42 |
@@ -14,6 +14,7 @@
|
|||||||
android:roundIcon="@mipmap/ic_launcher_round"
|
android:roundIcon="@mipmap/ic_launcher_round"
|
||||||
android:isGame="true"
|
android:isGame="true"
|
||||||
android:appCategory="game"
|
android:appCategory="game"
|
||||||
|
android:usesCleartextTraffic="true"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules">
|
android:theme="@style/GdxTheme" android:fullBackupContent="@xml/backup_rules">
|
||||||
<meta-data android:name="android.max_aspect" android:value="2.1"/>
|
<meta-data android:name="android.max_aspect" android:value="2.1"/>
|
||||||
|
|||||||
@@ -1094,7 +1094,7 @@ block.junction.description = Acts as a bridge for two crossing conveyor belts. U
|
|||||||
block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building.
|
block.bridge-conveyor.description = Advanced item transport block. Allows transporting items over up to 3 tiles of any terrain or building.
|
||||||
block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
|
block.phase-conveyor.description = Advanced item transport block. Uses power to teleport items to a connected phase conveyor over several tiles.
|
||||||
block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
block.sorter.description = Sorts items. If an item matches the selection, it is allowed to pass. Otherwise, the item is outputted to the left and right.
|
||||||
block.inverted-sorter.descriptions = Processes items like a standard sorter, but outputs selected items to the sides instead.
|
block.inverted-sorter.description = Processes items like a standard sorter, but outputs selected items to the sides instead.
|
||||||
block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[]
|
block.router.description = Accepts items, then outputs them to up to 3 other directions equally. Useful for splitting the materials from one source to multiple targets.\n\n[scarlet]Never use next to production inputs, as they will get clogged by output.[]
|
||||||
block.distributor.description = An advanced router. Splits items to up to 7 other directions equally.
|
block.distributor.description = An advanced router. Splits items to up to 7 other directions equally.
|
||||||
block.overflow-gate.description = A combination splitter and router. Only outputs to the left and right if the front path is blocked.
|
block.overflow-gate.description = A combination splitter and router. Only outputs to the left and right if the front path is blocked.
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ credits = Crédits
|
|||||||
contributors = Traducteurs et contributeurs
|
contributors = Traducteurs et contributeurs
|
||||||
discord = Rejoignez le Discord de Mindustry
|
discord = Rejoignez le Discord de Mindustry
|
||||||
link.discord.description = Le discord officiel de Mindustry!
|
link.discord.description = Le discord officiel de Mindustry!
|
||||||
|
link.reddit.description = Le subreddit de Mindustry
|
||||||
link.github.description = Code source du jeu
|
link.github.description = Code source du jeu
|
||||||
link.changelog.description = Liste des mises a jour
|
link.changelog.description = Liste des mises a jour
|
||||||
link.dev-builds.description = Versions instables du jeu
|
link.dev-builds.description = Versions instables du jeu
|
||||||
@@ -17,15 +18,18 @@ gameover = Game over
|
|||||||
gameover.pvp = L'équipe [accent] {0}[] a gagné !
|
gameover.pvp = L'équipe [accent] {0}[] a gagné !
|
||||||
highscore = [accent]Nouveau meilleur score!
|
highscore = [accent]Nouveau meilleur score!
|
||||||
copied = Copié.
|
copied = Copié.
|
||||||
|
|
||||||
load.sound = Sons
|
load.sound = Sons
|
||||||
load.map = Cartes
|
load.map = Cartes
|
||||||
load.image = Images
|
load.image = Images
|
||||||
load.content = Contenu
|
load.content = Contenu
|
||||||
load.system = Système
|
load.system = Système
|
||||||
load.mod = Mods
|
load.mod = Mods
|
||||||
|
|
||||||
schematic = Schéma
|
schematic = Schéma
|
||||||
schematic.add = Sauvegarder le schéma...
|
schematic.add = Sauvegarder le schéma...
|
||||||
schematics = Schémas
|
schematics = Schémas
|
||||||
|
schematic.replace = Un schéma avec ce nom existe déjà. Remplacer?
|
||||||
schematic.import = Importer un schéma...
|
schematic.import = Importer un schéma...
|
||||||
schematic.exportfile = Exporter le fichier
|
schematic.exportfile = Exporter le fichier
|
||||||
schematic.importfile = Importer un fichier
|
schematic.importfile = Importer un fichier
|
||||||
@@ -38,6 +42,7 @@ schematic.saved = Schéma sauvegardé.
|
|||||||
schematic.delete.confirm = Ce schéma sera complètement éradiqué.
|
schematic.delete.confirm = Ce schéma sera complètement éradiqué.
|
||||||
schematic.rename = Renommer le schéma
|
schematic.rename = Renommer le schéma
|
||||||
schematic.info = {0}x{1}, {2} blocs
|
schematic.info = {0}x{1}, {2} blocs
|
||||||
|
|
||||||
stat.wave = Vagues vaincues:[accent] {0}
|
stat.wave = Vagues vaincues:[accent] {0}
|
||||||
stat.enemiesDestroyed = Ennemis détruits:[accent] {0}
|
stat.enemiesDestroyed = Ennemis détruits:[accent] {0}
|
||||||
stat.built = Bâtiments construits:[accent] {0}
|
stat.built = Bâtiments construits:[accent] {0}
|
||||||
@@ -45,6 +50,7 @@ stat.destroyed = Bâtiments détruits:[accent] {0}
|
|||||||
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
|
stat.deconstructed = Bâtiments déconstruits:[accent] {0}
|
||||||
stat.delivered = Ressources transférées:
|
stat.delivered = Ressources transférées:
|
||||||
stat.rank = Rang Final: [accent]{0}
|
stat.rank = Rang Final: [accent]{0}
|
||||||
|
|
||||||
launcheditems = [accent]Ressources transférées
|
launcheditems = [accent]Ressources transférées
|
||||||
launchinfo = [unlaunched][[LANCER] votre noyau pour obtenir les objets indiqués en bleu.
|
launchinfo = [unlaunched][[LANCER] votre noyau pour obtenir les objets indiqués en bleu.
|
||||||
map.delete = Êtes-vous certain(e) de vouloir supprimer la carte "[accent]{0}[]"?
|
map.delete = Êtes-vous certain(e) de vouloir supprimer la carte "[accent]{0}[]"?
|
||||||
@@ -66,7 +72,7 @@ position = Position
|
|||||||
close = Fermer
|
close = Fermer
|
||||||
website = Site Web
|
website = Site Web
|
||||||
quit = Quitter
|
quit = Quitter
|
||||||
save.quit = Sauvegarder et Quitter
|
save.quit = Sauvegarder\net Quitter
|
||||||
maps = Cartes
|
maps = Cartes
|
||||||
maps.browse = Parcourir les cartes
|
maps.browse = Parcourir les cartes
|
||||||
continue = Continuer
|
continue = Continuer
|
||||||
@@ -78,6 +84,7 @@ uploadingcontent = Publication du contenu
|
|||||||
uploadingpreviewfile = Publication du fichier d'aperçu
|
uploadingpreviewfile = Publication du fichier d'aperçu
|
||||||
committingchanges = Validation des modifications
|
committingchanges = Validation des modifications
|
||||||
done = Fait
|
done = Fait
|
||||||
|
|
||||||
mods.alphainfo = Gardez à l'esprit que les mods sont en alpha et[scarlet] peuvent être très buggés[].\nMerci de signaler les problèmes que vous rencontrez via le Github ou le Discord Mindustry.
|
mods.alphainfo = Gardez à l'esprit que les mods sont en alpha et[scarlet] peuvent être très buggés[].\nMerci de signaler les problèmes que vous rencontrez via le Github ou le Discord Mindustry.
|
||||||
mods.alpha = [accent](Alpha)
|
mods.alpha = [accent](Alpha)
|
||||||
mods = Mods
|
mods = Mods
|
||||||
@@ -97,6 +104,7 @@ mod.author = [LIGHT_GRAY]Auteur:[] {0}
|
|||||||
mod.missing = Cette sauvegarde contient des mods que vous avez récemment mis à jour ou que vous avez désinstallés. Votre sauvegarde risque d'être corrompue. Êtes-vous sûr de vouloir l'importer?\n[lightgray]Mods:\n{0}
|
mod.missing = Cette sauvegarde contient des mods que vous avez récemment mis à jour ou que vous avez désinstallés. Votre sauvegarde risque d'être corrompue. Êtes-vous sûr de vouloir l'importer?\n[lightgray]Mods:\n{0}
|
||||||
mod.preview.missing = Avant de publier ce mod dans le workshop, vous devez ajouter une image servant d'aperçu.\nPlacez une image nommée[accent] preview.png[] dans le dossier du mod et réessayez.
|
mod.preview.missing = Avant de publier ce mod dans le workshop, vous devez ajouter une image servant d'aperçu.\nPlacez une image nommée[accent] preview.png[] dans le dossier du mod et réessayez.
|
||||||
mod.folder.missing = Seuls les mods sous forme de dossiers peuvent être publiés sur l'atelier.\nPour convertir n'importe quel mod en un dossier, dézippez-le tout simplement dans un dossier et supprimez l'ancien zip, puis redémarrez votre jeu ou rechargez vos mods.
|
mod.folder.missing = Seuls les mods sous forme de dossiers peuvent être publiés sur l'atelier.\nPour convertir n'importe quel mod en un dossier, dézippez-le tout simplement dans un dossier et supprimez l'ancien zip, puis redémarrez votre jeu ou rechargez vos mods.
|
||||||
|
|
||||||
about.button = À propos
|
about.button = À propos
|
||||||
name = Nom:
|
name = Nom:
|
||||||
noname = Commencer par choisir un[accent] nom de joueur[].
|
noname = Commencer par choisir un[accent] nom de joueur[].
|
||||||
@@ -263,6 +271,7 @@ missing = Cet élément a été supprimé ou déplacé.\n[lightgray]Le listing d
|
|||||||
publishing = [accent]Publication...
|
publishing = [accent]Publication...
|
||||||
publish.confirm = Êtes-vous sûr de vouloir publier ceci ?\n\n[lightgray]Assurez-vous d'être d'abord d'accord avec les CGU du workshop, sinon vos éléments n'apparaîtront pas !
|
publish.confirm = Êtes-vous sûr de vouloir publier ceci ?\n\n[lightgray]Assurez-vous d'être d'abord d'accord avec les CGU du workshop, sinon vos éléments n'apparaîtront pas !
|
||||||
publish.error = Erreur de publication de l'élément: {0}
|
publish.error = Erreur de publication de l'élément: {0}
|
||||||
|
|
||||||
editor.brush = Pinceau
|
editor.brush = Pinceau
|
||||||
editor.openin = Ouvrir dans l'éditeur
|
editor.openin = Ouvrir dans l'éditeur
|
||||||
editor.oregen = Génération de minerais
|
editor.oregen = Génération de minerais
|
||||||
@@ -339,6 +348,7 @@ editor.overwrite = [accent]Attention!\nCeci écrase une carte existante.
|
|||||||
editor.overwrite.confirm = [scarlet]Attention![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir l'écraser?
|
editor.overwrite.confirm = [scarlet]Attention![] Une carte avec ce nom existe déjà. Êtes-vous sûr de vouloir l'écraser?
|
||||||
editor.exists = Une carte avec ce nom existe déjà.
|
editor.exists = Une carte avec ce nom existe déjà.
|
||||||
editor.selectmap = Sélectionnez une carte:
|
editor.selectmap = Sélectionnez une carte:
|
||||||
|
|
||||||
toolmode.replace = Remplacer
|
toolmode.replace = Remplacer
|
||||||
toolmode.replace.description = Dessiner seulement sur les blocs solides.
|
toolmode.replace.description = Dessiner seulement sur les blocs solides.
|
||||||
toolmode.replaceall = Tout remplacer
|
toolmode.replaceall = Tout remplacer
|
||||||
@@ -353,11 +363,12 @@ toolmode.fillteams = Remplir les équipes
|
|||||||
toolmode.fillteams.description = Rempli les équipes au lieu des blocs.
|
toolmode.fillteams.description = Rempli les équipes au lieu des blocs.
|
||||||
toolmode.drawteams = Dessiner les équipes
|
toolmode.drawteams = Dessiner les équipes
|
||||||
toolmode.drawteams.description = Dessine les équipes au lieu de blocs.
|
toolmode.drawteams.description = Dessine les équipes au lieu de blocs.
|
||||||
|
|
||||||
filters.empty = [lightgray]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
|
filters.empty = [lightgray]Aucun filtre! Ajoutez-en un avec les boutons ci-dessous.
|
||||||
filter.distort = Déformation
|
filter.distort = Déformation
|
||||||
filter.noise = Bruit
|
filter.noise = Bruit
|
||||||
filter.median = Median
|
filter.median = Médian
|
||||||
filter.oremedian = Ore Median
|
filter.oremedian = Minerai Médian
|
||||||
filter.blend = Fusion
|
filter.blend = Fusion
|
||||||
filter.defaultores = Minerai par défaut
|
filter.defaultores = Minerai par défaut
|
||||||
filter.ore = Minerai
|
filter.ore = Minerai
|
||||||
@@ -365,7 +376,7 @@ filter.rivernoise = Bruit des rivières
|
|||||||
filter.mirror = Miroir
|
filter.mirror = Miroir
|
||||||
filter.clear = Effacer
|
filter.clear = Effacer
|
||||||
filter.option.ignore = Ignorer
|
filter.option.ignore = Ignorer
|
||||||
filter.scatter = Dispersement
|
filter.scatter = Disperser
|
||||||
filter.terrain = Terrain
|
filter.terrain = Terrain
|
||||||
filter.option.scale = Gamme
|
filter.option.scale = Gamme
|
||||||
filter.option.chance = Chance
|
filter.option.chance = Chance
|
||||||
@@ -384,6 +395,7 @@ filter.option.floor2 = Sol secondaire
|
|||||||
filter.option.threshold2 = Seuil secondaire
|
filter.option.threshold2 = Seuil secondaire
|
||||||
filter.option.radius = Rayon
|
filter.option.radius = Rayon
|
||||||
filter.option.percentile = Centile
|
filter.option.percentile = Centile
|
||||||
|
|
||||||
width = Largeur:
|
width = Largeur:
|
||||||
height = Hauteur:
|
height = Hauteur:
|
||||||
menu = Menu
|
menu = Menu
|
||||||
@@ -396,9 +408,10 @@ ping = Ping: {0}ms
|
|||||||
language.restart = Veuillez redémarrez votre jeu pour que le changement de langue prenne effet.
|
language.restart = Veuillez redémarrez votre jeu pour que le changement de langue prenne effet.
|
||||||
settings = Paramètres
|
settings = Paramètres
|
||||||
tutorial = Tutoriel
|
tutorial = Tutoriel
|
||||||
tutorial.retake = Rejouer le Tutoriel
|
tutorial.retake = Refaire le Tutoriel
|
||||||
editor = Éditeur
|
editor = Éditeur
|
||||||
mapeditor = Éditeur de carte
|
mapeditor = Éditeur de carte
|
||||||
|
|
||||||
abandon = Abandonner
|
abandon = Abandonner
|
||||||
abandon.text = Cette zone et toutes ses ressources vont être perdues.
|
abandon.text = Cette zone et toutes ses ressources vont être perdues.
|
||||||
locked = Verrouillé
|
locked = Verrouillé
|
||||||
@@ -429,6 +442,7 @@ zone.objective.survival = Survivre
|
|||||||
zone.objective.attack = Détruire le noyau ennemi
|
zone.objective.attack = Détruire le noyau ennemi
|
||||||
add = Ajouter...
|
add = Ajouter...
|
||||||
boss.health = Santé du Boss
|
boss.health = Santé du Boss
|
||||||
|
|
||||||
connectfail = [crimson]Échec de la connexion au serveur :\n\n[accent]{0}
|
connectfail = [crimson]Échec de la connexion au serveur :\n\n[accent]{0}
|
||||||
error.unreachable = Serveur injoignable.\nL'adresse IP est correcte?
|
error.unreachable = Serveur injoignable.\nL'adresse IP est correcte?
|
||||||
error.invalidaddress = Adresse invalide.
|
error.invalidaddress = Adresse invalide.
|
||||||
@@ -439,6 +453,7 @@ error.mapnotfound = Carte introuvable!
|
|||||||
error.io = Erreur de Réseau (I/O)
|
error.io = Erreur de Réseau (I/O)
|
||||||
error.any = Erreur réseau inconnue
|
error.any = Erreur réseau inconnue
|
||||||
error.bloom = Échec de l'initialisation du flou lumineux.\nVotre appareil peux ne pas le supporter.
|
error.bloom = Échec de l'initialisation du flou lumineux.\nVotre appareil peux ne pas le supporter.
|
||||||
|
|
||||||
zone.groundZero.name = Première Bataille
|
zone.groundZero.name = Première Bataille
|
||||||
zone.desertWastes.name = Désert Sauvage
|
zone.desertWastes.name = Désert Sauvage
|
||||||
zone.craters.name = Les Cratères
|
zone.craters.name = Les Cratères
|
||||||
@@ -453,6 +468,7 @@ zone.saltFlats.name = Marais Salants
|
|||||||
zone.impact0078.name = Impact 0078
|
zone.impact0078.name = Impact 0078
|
||||||
zone.crags.name = Rochers
|
zone.crags.name = Rochers
|
||||||
zone.fungalPass.name = Passe Fongique
|
zone.fungalPass.name = Passe Fongique
|
||||||
|
|
||||||
zone.groundZero.description = L'emplacement optimal pour débuter. Faible menace ennemie. Peu de ressources. \nRecueillez autant de plomb et de cuivre que possible.\nRien d'autre à signaler.
|
zone.groundZero.description = L'emplacement optimal pour débuter. Faible menace ennemie. Peu de ressources. \nRecueillez autant de plomb et de cuivre que possible.\nRien d'autre à signaler.
|
||||||
zone.frozenForest.description = Même ici, plus près des montagnes, les spores se sont propagées. Les températures glaciales ne pourront pas les contenir pour toujours.\n\nFamiliarisez vous avec l'Énergie. Construisez des générateurs a combustion. Apprenez a utiliser les réparateurs.
|
zone.frozenForest.description = Même ici, plus près des montagnes, les spores se sont propagées. Les températures glaciales ne pourront pas les contenir pour toujours.\n\nFamiliarisez vous avec l'Énergie. Construisez des générateurs a combustion. Apprenez a utiliser les réparateurs.
|
||||||
zone.desertWastes.description = Cette étendue désertique est immense, imprévisible. On y croise des structures abandonnées.\nLe charbon est présent dans la région. Brûlez-le pour générer de l'Énergie ou synthétisez-le en graphite.\n\n[lightgray]Ce lieu d'atterisage est imprévisible.
|
zone.desertWastes.description = Cette étendue désertique est immense, imprévisible. On y croise des structures abandonnées.\nLe charbon est présent dans la région. Brûlez-le pour générer de l'Énergie ou synthétisez-le en graphite.\n\n[lightgray]Ce lieu d'atterisage est imprévisible.
|
||||||
@@ -467,6 +483,7 @@ zone.nuclearComplex.description = Une ancienne installation de production et tra
|
|||||||
zone.fungalPass.description = Une zone de transition entre les hautes montagnes et les basses régions infestées de spores. Une petite base de reconnaissance ennemie s'y trouve.\nDétruisez la.\nUtilisez les unités Poignard et Rampeurs. Détruisez les deux noyaux.
|
zone.fungalPass.description = Une zone de transition entre les hautes montagnes et les basses régions infestées de spores. Une petite base de reconnaissance ennemie s'y trouve.\nDétruisez la.\nUtilisez les unités Poignard et Rampeurs. Détruisez les deux noyaux.
|
||||||
zone.impact0078.description = <insérer une description ici>
|
zone.impact0078.description = <insérer une description ici>
|
||||||
zone.crags.description = <insérer une description ici>
|
zone.crags.description = <insérer une description ici>
|
||||||
|
|
||||||
settings.language = Langue
|
settings.language = Langue
|
||||||
settings.data = Données du Jeu
|
settings.data = Données du Jeu
|
||||||
settings.reset = Valeurs par Défaut
|
settings.reset = Valeurs par Défaut
|
||||||
@@ -520,6 +537,7 @@ blocks.inaccuracy = Imprécision
|
|||||||
blocks.shots = Tirs
|
blocks.shots = Tirs
|
||||||
blocks.reload = Tirs/Seconde
|
blocks.reload = Tirs/Seconde
|
||||||
blocks.ammo = Munitions
|
blocks.ammo = Munitions
|
||||||
|
|
||||||
bar.drilltierreq = Foreuse Améliorée Requise
|
bar.drilltierreq = Foreuse Améliorée Requise
|
||||||
bar.drillspeed = Vitesse de forage: {0}/s
|
bar.drillspeed = Vitesse de forage: {0}/s
|
||||||
bar.efficiency = Efficacité: {0}%
|
bar.efficiency = Efficacité: {0}%
|
||||||
@@ -534,6 +552,7 @@ bar.heat = Chaleur
|
|||||||
bar.power = Énergie
|
bar.power = Énergie
|
||||||
bar.progress = Progression de la construction
|
bar.progress = Progression de la construction
|
||||||
bar.spawned = Unités: {0}/{1}
|
bar.spawned = Unités: {0}/{1}
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] dégâts
|
bullet.damage = [stat]{0}[lightgray] dégâts
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgray] blocs
|
bullet.splashdamage = [stat]{0}[lightgray] dégâts de zone ~[stat] {1}[lightgray] blocs
|
||||||
bullet.incendiary = [stat]incendiaire
|
bullet.incendiary = [stat]incendiaire
|
||||||
@@ -545,6 +564,7 @@ bullet.freezing = [stat]gel
|
|||||||
bullet.tarred = [stat]goudronné
|
bullet.tarred = [stat]goudronné
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions
|
bullet.multiplier = [stat]{0}[lightgray]x multiplicateur de munitions
|
||||||
bullet.reload = [stat]{0}[lightgray]x vitesse de tir
|
bullet.reload = [stat]{0}[lightgray]x vitesse de tir
|
||||||
|
|
||||||
unit.blocks = blocs
|
unit.blocks = blocs
|
||||||
unit.powersecond = énergie/seconde
|
unit.powersecond = énergie/seconde
|
||||||
unit.liquidsecond = unité de liquide/seconde
|
unit.liquidsecond = unité de liquide/seconde
|
||||||
@@ -607,7 +627,7 @@ setting.crashreport.name = Envoyer un Rapport de Crash Anonyme
|
|||||||
setting.savecreate.name = Sauvegardes Auto
|
setting.savecreate.name = Sauvegardes Auto
|
||||||
setting.publichost.name = Visibilité de la Partie Publique
|
setting.publichost.name = Visibilité de la Partie Publique
|
||||||
setting.chatopacity.name = Opacité du Chat
|
setting.chatopacity.name = Opacité du Chat
|
||||||
setting.lasersopacity.name = Power Laser Opacity
|
setting.lasersopacity.name = Opacité des Connections Laser
|
||||||
setting.playerchat.name = Montrer le Chat
|
setting.playerchat.name = Montrer le Chat
|
||||||
public.confirm = Voulez-vous rendre votre partie publique?\n[accent]N'importe qui pourra rejoindre vos parties.\n[lightgray]Ce paramètre peut être changé plus tard dans Paramètres->Jeu->Visibilité de la Partie Publique
|
public.confirm = Voulez-vous rendre votre partie publique?\n[accent]N'importe qui pourra rejoindre vos parties.\n[lightgray]Ce paramètre peut être changé plus tard dans Paramètres->Jeu->Visibilité de la Partie Publique
|
||||||
public.beta = Notez que les versions bêta du jeu ne peuvent pas créer des lobby publics.
|
public.beta = Notez que les versions bêta du jeu ne peuvent pas créer des lobby publics.
|
||||||
@@ -668,6 +688,7 @@ mode.pvp.description = Battez-vous contre d'autres joueurs en local.\n[gray]Requ
|
|||||||
mode.attack.name = Attaque
|
mode.attack.name = Attaque
|
||||||
mode.attack.description = Pas de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un noyaux rouge dans la map pour y jouer.
|
mode.attack.description = Pas de vagues, le but étant de détruire la base ennemie.\n[gray]Requiert un noyaux rouge dans la map pour y jouer.
|
||||||
mode.custom = Règles personnalisées
|
mode.custom = Règles personnalisées
|
||||||
|
|
||||||
rules.infiniteresources = Ressources infinies
|
rules.infiniteresources = Ressources infinies
|
||||||
rules.wavetimer = Minuterie pour les vagues
|
rules.wavetimer = Minuterie pour les vagues
|
||||||
rules.waves = Vagues
|
rules.waves = Vagues
|
||||||
@@ -694,6 +715,7 @@ rules.title.resourcesbuilding = Ressources & Construction
|
|||||||
rules.title.player = Joueurs
|
rules.title.player = Joueurs
|
||||||
rules.title.enemy = Ennemis
|
rules.title.enemy = Ennemis
|
||||||
rules.title.unit = Unités
|
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
|
||||||
@@ -755,6 +777,7 @@ 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.sand-boulder.name = Bloc de Sable
|
block.sand-boulder.name = Bloc de Sable
|
||||||
block.grass.name = Herbe
|
block.grass.name = Herbe
|
||||||
block.salt.name = Sel
|
block.salt.name = Sel
|
||||||
@@ -986,6 +1009,7 @@ tutorial.deposit = Déposez des ressources dans des blocs en les faisant glisser
|
|||||||
tutorial.waves = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues.[accent] Cliquez[] pour tirer.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
tutorial.waves = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues.[accent] Cliquez[] pour tirer.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
||||||
tutorial.waves.mobile = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues. Votre vaisseau tirera automatiquement sur les ennemis.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
tutorial.waves.mobile = L'[lightgray] ennemi[] approche.\n\nDéfendez le noyau pendant 2 vagues. Votre vaisseau tirera automatiquement sur les ennemis.\nConstruisez plus de tourelles et de foreuses. Minez plus de cuivre.
|
||||||
tutorial.launch = Une fois que vous aurez atteint une vague spécifique, vous aurez la possibilité de[accent] faire décoller le noyau[], abandonnant vos défenses mais [accent]sécurisant toutes les ressources stockées dans votre noyau.[]\nCes ressources peuvent ensuite être utilisées pour rechercher de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement.
|
tutorial.launch = Une fois que vous aurez atteint une vague spécifique, vous aurez la possibilité de[accent] faire décoller le noyau[], abandonnant vos défenses mais [accent]sécurisant toutes les ressources stockées dans votre noyau.[]\nCes ressources peuvent ensuite être utilisées pour rechercher de nouvelles technologies.\n\n[accent]Appuyez sur le bouton de lancement.
|
||||||
|
|
||||||
item.copper.description = Le matériau structurel de base. Utilisé intensivement dans tout les blocs.
|
item.copper.description = Le matériau structurel de base. Utilisé intensivement dans tout les blocs.
|
||||||
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et dans les blocs de transport de liquides.
|
item.lead.description = Un matériau de départ. Utilisé intensivement en électronique et dans les blocs de transport de liquides.
|
||||||
item.metaglass.description = Un composé de vitre super-résistant. Utilisé largement pour le transport et le stockage de liquides.
|
item.metaglass.description = Un composé de vitre super-résistant. Utilisé largement pour le transport et le stockage de liquides.
|
||||||
@@ -1070,7 +1094,7 @@ block.junction.description = Agit comme un pont pour deux lignes de convoyeurs s
|
|||||||
block.bridge-conveyor.description = Bloc de transport avancé permettant de traverser jusqu'à 3 blocs de n'importe quel terrain ou bâtiment.
|
block.bridge-conveyor.description = Bloc de transport avancé permettant de traverser jusqu'à 3 blocs de n'importe quel terrain ou bâtiment.
|
||||||
block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un convoyeur phasé connecté jusqu'à une longue distance .
|
block.phase-conveyor.description = Convoyeur très avancé. Utilise de l'énergie pour téléporter des objets à un convoyeur phasé connecté jusqu'à une longue distance .
|
||||||
block.sorter.description = Trie les articles. Si un article correspond à 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 correspond à la sélection, il peut passer. Autrement, l'article est distribué vers la gauche ou la droite.
|
||||||
block.inverted-sorter.descriptions = Trie les articles comme un trieur standard, mais ceux correspondant à la sélection sont envoyés sur les côtés.
|
block.inverted-sorter.description = Trie les articles comme un trieur standard, mais ceux correspondant à la sélection sont envoyés sur les côtés.
|
||||||
block.router.description = Accepte les objets depuis une ou plus directions et le renvoie dans n'importe quelle direction. Utile pour séparer une chaîne de convoyeurs en plusieurs.[accent]Le seul et l'Unique[]
|
block.router.description = Accepte les objets depuis une ou plus directions et le renvoie dans n'importe quelle direction. Utile pour séparer une chaîne de convoyeurs en plusieurs.[accent]Le seul et l'Unique[]
|
||||||
block.distributor.description = Un routeur avancé qui sépare les objets jusqu'à 7 autres directions équitablement.
|
block.distributor.description = Un routeur avancé qui sépare les objets jusqu'à 7 autres directions équitablement.
|
||||||
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é.
|
||||||
|
|||||||
@@ -2,7 +2,8 @@ credits.text = Створив [ROYAL]Anuken[] — [SKY]anukendev@gmail.com[]\n\n
|
|||||||
credits = Творці
|
credits = Творці
|
||||||
contributors = Перекладачі та помічники
|
contributors = Перекладачі та помічники
|
||||||
discord = Приєднуйтесь до Mindustry Discord!
|
discord = Приєднуйтесь до Mindustry Discord!
|
||||||
link.discord.description = Офіційний Discord-сервер Mindustry
|
link.discord.description = Офіційний Discord сервер Mindustry
|
||||||
|
link.reddit.description = Гілка Mindustry на Reddit
|
||||||
link.github.description = Вихідний код гри
|
link.github.description = Вихідний код гри
|
||||||
link.changelog.description = Список змін
|
link.changelog.description = Список змін
|
||||||
link.dev-builds.description = Нестабільні версії
|
link.dev-builds.description = Нестабільні версії
|
||||||
@@ -16,28 +17,29 @@ screenshot.invalid = Мапа занадто велика, тому, мабут
|
|||||||
gameover = Гра завершена
|
gameover = Гра завершена
|
||||||
gameover.pvp = [accent] {0}[] команда перемогла!
|
gameover.pvp = [accent] {0}[] команда перемогла!
|
||||||
highscore = [YELLOW]Новий рекорд!
|
highscore = [YELLOW]Новий рекорд!
|
||||||
copied = Copied.
|
copied = Скопійовано.
|
||||||
load.sound = Звуки
|
load.sound = Звуки
|
||||||
load.map = Мапи
|
load.map = Мапи
|
||||||
load.image = Зображення
|
load.image = Зображення
|
||||||
load.content = Зміст
|
load.content = Зміст
|
||||||
load.system = Система
|
load.system = Система
|
||||||
load.mod = Модифікації
|
load.mod = Модифікації
|
||||||
schematic = Schematic
|
schematic = Схема
|
||||||
schematic.add = Save Schematic...
|
schematic.add = Зберегти схему...
|
||||||
schematics = Schematics
|
schematics = Схеми
|
||||||
schematic.import = Import Schematic...
|
schematic.replace = Схема з такою ж назвою вже існує. Замінити її?
|
||||||
schematic.exportfile = Export File
|
schematic.import = Імпортувати схему...
|
||||||
schematic.importfile = Import File
|
schematic.exportfile = Експортувати файл
|
||||||
schematic.browseworkshop = Browse Workshop
|
schematic.importfile = Імпортувати файл
|
||||||
schematic.copy = Copy to Clipboard
|
schematic.browseworkshop = Переглянути в Майстерні
|
||||||
schematic.copy.import = Import from Clipboard
|
schematic.copy = Копіювати в буфер обміну
|
||||||
schematic.shareworkshop = Share on Workshop
|
schematic.copy.import = Імпортувати з клавіатури
|
||||||
|
schematic.shareworkshop = Поширити в Майстерні
|
||||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
|
schematic.flip = [accent][[{0}][]/[accent][[{1}][]: Flip Schematic
|
||||||
schematic.saved = Schematic saved.
|
schematic.saved = Схема збережена.
|
||||||
schematic.delete.confirm = This schematic will be utterly eradicated.
|
schematic.delete.confirm = Ця схема буде повністю випалена.
|
||||||
schematic.rename = Rename Schematic
|
schematic.rename = Перейменувати схему.
|
||||||
schematic.info = {0}x{1}, {2} blocks
|
schematic.info = {0}x{1}, {2} блоків
|
||||||
stat.wave = Хвиль відбито:[accent] {0}
|
stat.wave = Хвиль відбито:[accent] {0}
|
||||||
stat.enemiesDestroyed = Ворогів знищено:[accent] {0}
|
stat.enemiesDestroyed = Ворогів знищено:[accent] {0}
|
||||||
stat.built = Будівель збудувано:[accent] {0}
|
stat.built = Будівель збудувано:[accent] {0}
|
||||||
@@ -62,7 +64,7 @@ customgame = Користувацька гра
|
|||||||
newgame = Нова гра
|
newgame = Нова гра
|
||||||
none = <нічого>
|
none = <нічого>
|
||||||
minimap = Мінімапа
|
minimap = Мінімапа
|
||||||
position = Position
|
position = Позиція
|
||||||
close = Закрити
|
close = Закрити
|
||||||
website = Веб-сайт
|
website = Веб-сайт
|
||||||
quit = Вихід
|
quit = Вихід
|
||||||
@@ -78,25 +80,25 @@ uploadingcontent = Вивантаження вмісту
|
|||||||
uploadingpreviewfile = Вивантаження файлу передперегляду
|
uploadingpreviewfile = Вивантаження файлу передперегляду
|
||||||
committingchanges = Здійснення змін
|
committingchanges = Здійснення змін
|
||||||
done = Зроблено
|
done = Зроблено
|
||||||
mods.alphainfo = Майте на увазі, що модифікації знаходяться в альфі, і [scarlet]може бути дуже глючними[].\nПовідомте про будь-які проблеми, які ви знайдете до Mindustry Github або Discord.
|
mods.alphainfo = Майте на увазі, що модифікації знаходяться в альфі, і [scarlet]можуть бути дуже глючними[].\nПовідомте про будь-які проблеми, які ви знайдете до Mindustry Github або Discord.
|
||||||
mods.alpha = [scarlet](Альфа)
|
mods.alpha = [scarlet](Альфа)
|
||||||
mods = Модифікації
|
mods = Модифікації
|
||||||
mods.none = [LIGHT_GRAY]Модифікацій не знайдено!
|
mods.none = [LIGHT_GRAY]Модифікацій не знайдено!
|
||||||
mods.guide = Modding Guide
|
mods.guide = Посібник зі створення модифицій
|
||||||
mods.report = Report Bug
|
mods.report = Повідомити про ваду
|
||||||
mod.enabled = [lightgray]Увімкнено
|
mod.enabled = [lightgray]Увімкнено
|
||||||
mod.disabled = [scarlet]Вимкнено
|
mod.disabled = [scarlet]Вимкнено
|
||||||
mod.disable = Disable
|
mod.disable = Вимкнути
|
||||||
mod.enable = Enable
|
mod.enable = Увімкнути
|
||||||
mod.requiresrestart = А тепер гра закриється, щоб застосувати зміни модифікацій.
|
mod.requiresrestart = А тепер гра закриється, щоб застосувати зміни модифікацій.
|
||||||
mod.reloadrequired = [scarlet]Reload Required
|
mod.reloadrequired = [scarlet]Потрібно перезавантаження
|
||||||
mod.import = Імпортувати модифікацію
|
mod.import = Імпортувати модифікацію
|
||||||
mod.import.github = Import Github Mod
|
mod.import.github = Import Github Mod
|
||||||
mod.remove.confirm = Цю модифікацію буде видалено.
|
mod.remove.confirm = Цю модифікацію буде видалено.
|
||||||
mod.author = [LIGHT_GRAY]Автор:[] {0}
|
mod.author = [LIGHT_GRAY]Автор:[] {0}
|
||||||
mod.missing = This save contains mods that you have recently updated or no longer have installed. Save corruption may occur. Are you sure you want to load it?\n[lightgray]Mods:\n{0}
|
mod.missing = Це збереження містить модифікації, які ви нещодавно оновили або більше не встановлювали. Збереження може зіпсуватися. Ви впевнені, що хочете завантажити його?\n[lightgray]Модифікації:\n{0}
|
||||||
mod.preview.missing = Before publishing this mod in the workshop, you must add an image preview.\nPlace an image named[accent] preview.png[] into the mod's folder and try again.
|
mod.preview.missing = До публікації цієї модифікації в Майстерні, ви повинні додати зображення попереднього перегляду.\nПомістіть зображення з назвою [accent] preview.png[] у теку з модификаціями і спробуйте знову.
|
||||||
mod.folder.missing = Only mods in folder form can be published on the workshop.\nTo convert any mod into a folder, simply unzip its file into a folder and delete the old zip, then restart your game or reload your mods.
|
mod.folder.missing = Тільки модификації у формі теці можуть бути опубліковані в Майстерні.\nЩоб перетворити будь-яку модификацію у теку, просто розархівуйте цей файлу теку та видаліть старий архів, і потім перезапустіть гру або перезавантажте ваші модификації.
|
||||||
about.button = Про гру
|
about.button = Про гру
|
||||||
name = Ім’я:
|
name = Ім’я:
|
||||||
noname = Спочатку придумайте[accent] собі ім’я[].
|
noname = Спочатку придумайте[accent] собі ім’я[].
|
||||||
@@ -963,7 +965,7 @@ unit.fortress.name = Фортеця
|
|||||||
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.next = [lightgray]<Натисніть для продовження>
|
tutorial.next = [lightgray]<Натисніть для продовження>
|
||||||
@@ -1070,7 +1072,7 @@ block.junction.description = Діє як міст для двох перехре
|
|||||||
block.bridge-conveyor.description = Покращений блок транспорту елементів. Дозволяє транспортувати предмети до 3-ох плиток з будь-якої місцевості чи будівлі.
|
block.bridge-conveyor.description = Покращений блок транспорту елементів. Дозволяє транспортувати предмети до 3-ох плиток з будь-якої місцевості чи будівлі.
|
||||||
block.phase-conveyor.description = Покращений блок транспорту елементів. Використовує енергію для телепортування елементів на підключений фазовий конвеєр через кілька плиток.
|
block.phase-conveyor.description = Покращений блок транспорту елементів. Використовує енергію для телепортування елементів на підключений фазовий конвеєр через кілька плиток.
|
||||||
block.sorter.description = Сортує предмети. Якщо елемент відповідає вибраному, його можна передати. В іншому випадку елемент виводиться зліва та справа.
|
block.sorter.description = Сортує предмети. Якщо елемент відповідає вибраному, його можна передати. В іншому випадку елемент виводиться зліва та справа.
|
||||||
block.inverted-sorter.descriptions = Processes items like a standard sorter, but outputs selected items to the sides instead.
|
block.inverted-sorter.description = Обробляє елементи, як звичайний сортувальник, але виводить обрані елементи на сторони.
|
||||||
block.router.description = Приймає елементи з одного напрямку та виводить їх до трьох інших напрямків порівну. Корисно для поділу матеріалів від одного джерела до кількох цілей.\n\n[scarlet]Ніколи не використовуйте поруч із входами до механізмів, оскільки вони будуть забиті вихідними предметами.[]
|
block.router.description = Приймає елементи з одного напрямку та виводить їх до трьох інших напрямків порівну. Корисно для поділу матеріалів від одного джерела до кількох цілей.\n\n[scarlet]Ніколи не використовуйте поруч із входами до механізмів, оскільки вони будуть забиті вихідними предметами.[]
|
||||||
block.distributor.description = Розширений маршрутизатор. Розділяє предмети до 7 інших напрямків порівну.
|
block.distributor.description = Розширений маршрутизатор. Розділяє предмети до 7 інших напрямків порівну.
|
||||||
block.overflow-gate.description = Комбінований розгалужувач і маршрутизатор. Виходи лише вліво і вправо, якщо передній шлях заблокований.
|
block.overflow-gate.description = Комбінований розгалужувач і маршрутизатор. Виходи лише вліво і вправо, якщо передній шлях заблокований.
|
||||||
|
|||||||
@@ -23,20 +23,20 @@ load.image = 图片加载中
|
|||||||
load.content = 内容加载中
|
load.content = 内容加载中
|
||||||
load.system = 系统加载中
|
load.system = 系统加载中
|
||||||
load.mod = 模组加载中
|
load.mod = 模组加载中
|
||||||
schematic = 示意图
|
schematic = 蓝图
|
||||||
schematic.add = 保存示意图中……
|
schematic.add = 保存蓝图中……
|
||||||
schematics = 示意图
|
schematics = 蓝图
|
||||||
schematic.import = 导出示意图中……
|
schematic.import = 导入蓝图中……
|
||||||
schematic.exportfile = 导入文件
|
schematic.exportfile = 导出文件
|
||||||
schematic.importfile = 导出文件
|
schematic.importfile = 导入文件
|
||||||
schematic.browseworkshop = 流览创意工坊
|
schematic.browseworkshop = 流览创意工坊
|
||||||
schematic.copy = 复制到剪贴板
|
schematic.copy = 复制蓝图到剪贴板
|
||||||
schematic.copy.import = 从剪贴板导入
|
schematic.copy.import = 从剪贴板导入蓝图
|
||||||
schematic.shareworkshop = 在创意工坊上分享
|
schematic.shareworkshop = 在创意工坊上分享蓝图
|
||||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻转示意图
|
schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻转蓝图
|
||||||
schematic.saved = 示意图已保存。
|
schematic.saved = 蓝图已保存。
|
||||||
schematic.delete.confirm = 这个示意图将被清除。
|
schematic.delete.confirm = 确认删除蓝图?
|
||||||
schematic.rename = 重命名示意图
|
schematic.rename = 重命名蓝图
|
||||||
schematic.info = {0}x{1}, {2} 方块
|
schematic.info = {0}x{1}, {2} 方块
|
||||||
stat.wave = 战胜的波数:[accent]{0}
|
stat.wave = 战胜的波数:[accent]{0}
|
||||||
stat.enemiesDestroyed = 消灭的敌人:[accent]{0}
|
stat.enemiesDestroyed = 消灭的敌人:[accent]{0}
|
||||||
@@ -629,7 +629,7 @@ keybind.screenshot.name = 地图截图
|
|||||||
keybind.move_x.name = 水平移动
|
keybind.move_x.name = 水平移动
|
||||||
keybind.move_y.name = 竖直移动
|
keybind.move_y.name = 竖直移动
|
||||||
keybind.schematic_select.name = 选择区域
|
keybind.schematic_select.name = 选择区域
|
||||||
keybind.schematic_menu.name = 示意图目录
|
keybind.schematic_menu.name = 蓝图目录
|
||||||
keybind.schematic_flip_x.name = 水平翻转
|
keybind.schematic_flip_x.name = 水平翻转
|
||||||
keybind.schematic_flip_y.name = 竖直翻转
|
keybind.schematic_flip_y.name = 竖直翻转
|
||||||
keybind.fullscreen.name = 切换全屏
|
keybind.fullscreen.name = 切换全屏
|
||||||
|
|||||||
@@ -24,20 +24,21 @@ load.image = 圖片載入中
|
|||||||
load.content = 內容載入中
|
load.content = 內容載入中
|
||||||
load.system = 系統載入中
|
load.system = 系統載入中
|
||||||
load.mod = 模組載入中
|
load.mod = 模組載入中
|
||||||
schematic = 計畫圖
|
schematic = 藍圖
|
||||||
schematic.add = 儲存計畫圖...
|
schematic.add = 儲存藍圖...
|
||||||
schematics = 計畫圖
|
schematics = 藍圖
|
||||||
schematic.import = 匯入計畫圖...
|
schematic.replace = 具有該名稱的藍圖已經存在。是否要取代它?
|
||||||
|
schematic.import = 匯入藍圖...
|
||||||
schematic.exportfile = 匯出檔案
|
schematic.exportfile = 匯出檔案
|
||||||
schematic.importfile = 匯入檔案
|
schematic.importfile = 匯入檔案
|
||||||
schematic.browseworkshop = 瀏覽工作坊
|
schematic.browseworkshop = 瀏覽工作坊
|
||||||
schematic.copy = 複製到剪貼簿
|
schematic.copy = 複製到剪貼簿
|
||||||
schematic.copy.import = 從剪貼簿匯入
|
schematic.copy.import = 從剪貼簿匯入
|
||||||
schematic.shareworkshop = 分享到工作坊
|
schematic.shareworkshop = 分享到工作坊
|
||||||
schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻轉計畫圖
|
schematic.flip = [accent][[{0}][]/[accent][[{1}][]:翻轉藍圖
|
||||||
schematic.saved = 計畫圖已保存。
|
schematic.saved = 藍圖已保存。
|
||||||
schematic.delete.confirm = 該計畫圖將被完全清除。
|
schematic.delete.confirm = 該藍圖將被完全清除。
|
||||||
schematic.rename = 重新命名計畫圖
|
schematic.rename = 重新命名藍圖
|
||||||
schematic.info = {0}x{1}, {2}方塊
|
schematic.info = {0}x{1}, {2}方塊
|
||||||
stat.wave = 打敗的波次:[accent]{0}
|
stat.wave = 打敗的波次:[accent]{0}
|
||||||
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
||||||
@@ -282,9 +283,9 @@ workshop = 工作坊
|
|||||||
waves.title = 波次
|
waves.title = 波次
|
||||||
waves.remove = 移除
|
waves.remove = 移除
|
||||||
waves.never = 〈從來沒有〉
|
waves.never = 〈從來沒有〉
|
||||||
waves.every = 一切
|
waves.every = 每
|
||||||
waves.waves = 波次
|
waves.waves = 波次
|
||||||
waves.perspawn = 每個重生
|
waves.perspawn = 每次生成
|
||||||
waves.to = 至
|
waves.to = 至
|
||||||
waves.boss = 頭目
|
waves.boss = 頭目
|
||||||
waves.preview = 預覽
|
waves.preview = 預覽
|
||||||
@@ -546,7 +547,7 @@ bullet.knockback = [stat]{0}[lightgray]擊退
|
|||||||
bullet.freezing = [stat]冷凍
|
bullet.freezing = [stat]冷凍
|
||||||
bullet.tarred = [stat]焦油
|
bullet.tarred = [stat]焦油
|
||||||
bullet.multiplier = [stat]{0}[lightgray]×彈藥倍數
|
bullet.multiplier = [stat]{0}[lightgray]×彈藥倍數
|
||||||
bullet.reload = [stat]{0}[lightgray]×重裝
|
bullet.reload = [stat]{0}[lightgray]×重新裝填
|
||||||
unit.blocks = 方塊
|
unit.blocks = 方塊
|
||||||
unit.powersecond = 能量單位/秒
|
unit.powersecond = 能量單位/秒
|
||||||
unit.liquidsecond = 液體單位/秒
|
unit.liquidsecond = 液體單位/秒
|
||||||
@@ -563,7 +564,7 @@ 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 = 鎖定景觀
|
setting.landscape.name = 鎖定景觀
|
||||||
@@ -573,7 +574,7 @@ setting.hints.name = 提示
|
|||||||
setting.animatedwater.name = 水動畫
|
setting.animatedwater.name = 水動畫
|
||||||
setting.animatedshields.name = 護盾動畫
|
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.keyboard.name = 滑鼠+鍵盤控制
|
setting.keyboard.name = 滑鼠+鍵盤控制
|
||||||
setting.touchscreen.name = 觸控螢幕控制
|
setting.touchscreen.name = 觸控螢幕控制
|
||||||
@@ -631,7 +632,7 @@ keybind.screenshot.name = 地圖截圖
|
|||||||
keybind.move_x.name = 水平移動
|
keybind.move_x.name = 水平移動
|
||||||
keybind.move_y.name = 垂直移動
|
keybind.move_y.name = 垂直移動
|
||||||
keybind.schematic_select.name = 選擇區域
|
keybind.schematic_select.name = 選擇區域
|
||||||
keybind.schematic_menu.name = 計畫圖目錄
|
keybind.schematic_menu.name = 藍圖目錄
|
||||||
keybind.schematic_flip_x.name = X軸翻轉
|
keybind.schematic_flip_x.name = X軸翻轉
|
||||||
keybind.schematic_flip_y.name = Y軸翻轉
|
keybind.schematic_flip_y.name = Y軸翻轉
|
||||||
keybind.fullscreen.name = 全螢幕切換
|
keybind.fullscreen.name = 全螢幕切換
|
||||||
@@ -686,7 +687,7 @@ rules.respawntime = 重生時間︰[LIGHT_GRAY](秒)
|
|||||||
rules.wavespacing = 波次間距︰[LIGHT_GRAY](秒)
|
rules.wavespacing = 波次間距︰[LIGHT_GRAY](秒)
|
||||||
rules.buildcostmultiplier = 建設成本倍數
|
rules.buildcostmultiplier = 建設成本倍數
|
||||||
rules.buildspeedmultiplier = 建設速度倍數
|
rules.buildspeedmultiplier = 建設速度倍數
|
||||||
rules.waitForWaveToEnd = 等待所有敵人毀滅才開始波次
|
rules.waitForWaveToEnd = 等待所有敵人毀滅才開始下一波次
|
||||||
rules.dropzoneradius = 掉落區半徑:[LIGHT_GRAY](格)
|
rules.dropzoneradius = 掉落區半徑:[LIGHT_GRAY](格)
|
||||||
rules.respawns = 每波次最多重生次數
|
rules.respawns = 每波次最多重生次數
|
||||||
rules.limitedRespawns = 限制重生
|
rules.limitedRespawns = 限制重生
|
||||||
@@ -887,13 +888,13 @@ 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 = 物品源
|
||||||
block.item-void.name = 物品虚空
|
block.item-void.name = 物品虛空
|
||||||
block.liquid-source.name = 液體源
|
block.liquid-source.name = 液體源
|
||||||
block.power-void.name = 能量虛空
|
block.power-void.name = 能量虛空
|
||||||
block.power-source.name = 無限能量源
|
block.power-source.name = 無限能量源
|
||||||
block.unloader.name = 裝卸器
|
block.unloader.name = 裝卸器
|
||||||
block.vault.name = 存儲庫
|
block.vault.name = 存儲庫
|
||||||
block.wave.name = 波浪
|
block.wave.name = 波浪砲
|
||||||
block.swarmer.name = 群集砲
|
block.swarmer.name = 群集砲
|
||||||
block.salvo.name = 齊射砲
|
block.salvo.name = 齊射砲
|
||||||
block.ripple.name = 波紋砲
|
block.ripple.name = 波紋砲
|
||||||
@@ -1018,7 +1019,7 @@ mech.trident-ship.description = 一種重型轟炸機。用以摧毀敵方建築
|
|||||||
mech.glaive-ship.description = 一種大型、配有良好裝甲的砲艇。配備燃燒機關槍。高機動性。
|
mech.glaive-ship.description = 一種大型、配有良好裝甲的砲艇。配備燃燒機關槍。高機動性。
|
||||||
unit.draug.description = 原始的採礦無人機。生產便宜。消耗品。自動在附近開採銅和鉛。將開採的資源送入最接近的核心。
|
unit.draug.description = 原始的採礦無人機。生產便宜。消耗品。自動在附近開採銅和鉛。將開採的資源送入最接近的核心。
|
||||||
unit.spirit.description = 改造的殭屍採礦無人機,設計來修復而非採礦。會自動修理整個區域內的受損方塊。
|
unit.spirit.description = 改造的殭屍採礦無人機,設計來修復而非採礦。會自動修理整個區域內的受損方塊。
|
||||||
unit.phantom.description = 一種高級的無人機。跟隨玩家,並輔助建造。
|
unit.phantom.description = 一種高級的無人機。跟隨玩家,並輔助建造及重建被摧毀的建築。
|
||||||
unit.dagger.description = 一種基本的地面單位。成群使用時具有壓倒性威力。
|
unit.dagger.description = 一種基本的地面單位。成群使用時具有壓倒性威力。
|
||||||
unit.crawler.description = 一種地面單位,由精簡的機架組成,頂部綁有炸藥。不特別耐打。與敵人接觸時爆炸。
|
unit.crawler.description = 一種地面單位,由精簡的機架組成,頂部綁有炸藥。不特別耐打。與敵人接觸時爆炸。
|
||||||
unit.titan.description = 一種高級的具有裝甲的地面單位。配備兩具迷你的焦土級火焰發射器。攻擊地面單位和空中單位。
|
unit.titan.description = 一種高級的具有裝甲的地面單位。配備兩具迷你的焦土級火焰發射器。攻擊地面單位和空中單位。
|
||||||
@@ -1072,7 +1073,7 @@ block.junction.description = 作為兩個交叉輸送帶的橋樑。適用於兩
|
|||||||
block.bridge-conveyor.description = 高級的物品運輸方塊。允許跨過最多3個任何地形或建築物的方塊運輸物品。
|
block.bridge-conveyor.description = 高級的物品運輸方塊。允許跨過最多3個任何地形或建築物的方塊運輸物品。
|
||||||
block.phase-conveyor.description = 高級物品傳輸方塊。使用能量將物品傳送到幾個方塊外連接的相織輸送帶。
|
block.phase-conveyor.description = 高級物品傳輸方塊。使用能量將物品傳送到幾個方塊外連接的相織輸送帶。
|
||||||
block.sorter.description = 對物品進行分類。如果物品與所選種類匹配,則允許其通過。否則,物品將從左邊和右邊輸出。
|
block.sorter.description = 對物品進行分類。如果物品與所選種類匹配,則允許其通過。否則,物品將從左邊和右邊輸出。
|
||||||
block.inverted-sorter.descriptions = 處理物品的方式類似於分類器,但將所選擇的物品輸出到側面。
|
block.inverted-sorter.description = 處理物品的方式類似於分類器,但將所選擇的物品輸出到側面。
|
||||||
block.router.description = 接受來自一個方向的物品並將它們平均輸出到最多3個其他方向。用於將物品從一個來源分割為多個目標。
|
block.router.description = 接受來自一個方向的物品並將它們平均輸出到最多3個其他方向。用於將物品從一個來源分割為多個目標。
|
||||||
block.distributor.description = 高級的分配器,可將物品均分到最多7個其他方向。
|
block.distributor.description = 高級的分配器,可將物品均分到最多7個其他方向。
|
||||||
block.overflow-gate.description = 分離器和分配器的組合。如果前面被擋住,則向從左邊和右邊輸出物品。
|
block.overflow-gate.description = 分離器和分配器的組合。如果前面被擋住,則向從左邊和右邊輸出物品。
|
||||||
|
|||||||
@@ -472,7 +472,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
player.pointerX, player.pointerY, player.rotation, player.baseRotation,
|
player.pointerX, player.pointerY, player.rotation, player.baseRotation,
|
||||||
player.velocity().x, player.velocity().y,
|
player.velocity().x, player.velocity().y,
|
||||||
player.getMineTile(),
|
player.getMineTile(),
|
||||||
player.isBoosting, player.isShooting, ui.chatfrag.chatOpen(),
|
player.isBoosting, player.isShooting, ui.chatfrag.chatOpen(), player.isBuilding,
|
||||||
requests,
|
requests,
|
||||||
Core.camera.position.x, Core.camera.position.y,
|
Core.camera.position.x, Core.camera.position.y,
|
||||||
Core.camera.width * viewScale, Core.camera.height * viewScale);
|
Core.camera.width * viewScale, Core.camera.height * viewScale);
|
||||||
|
|||||||
@@ -450,7 +450,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
float rotation, float baseRotation,
|
float rotation, float baseRotation,
|
||||||
float xVelocity, float yVelocity,
|
float xVelocity, float yVelocity,
|
||||||
Tile mining,
|
Tile mining,
|
||||||
boolean boosting, boolean shooting, boolean chatting,
|
boolean boosting, boolean shooting, boolean chatting, boolean building,
|
||||||
BuildRequest[] requests,
|
BuildRequest[] requests,
|
||||||
float viewX, float viewY, float viewWidth, float viewHeight
|
float viewX, float viewY, float viewWidth, float viewHeight
|
||||||
){
|
){
|
||||||
@@ -477,6 +477,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
player.isTyping = chatting;
|
player.isTyping = chatting;
|
||||||
player.isBoosting = boosting;
|
player.isBoosting = boosting;
|
||||||
player.isShooting = shooting;
|
player.isShooting = shooting;
|
||||||
|
player.isBuilding = building;
|
||||||
player.buildQueue().clear();
|
player.buildQueue().clear();
|
||||||
for(BuildRequest req : requests){
|
for(BuildRequest req : requests){
|
||||||
if(req == null) continue;
|
if(req == null) continue;
|
||||||
|
|||||||
@@ -76,6 +76,8 @@ public class Schematics implements Loadable{
|
|||||||
|
|
||||||
target.tiles.clear();
|
target.tiles.clear();
|
||||||
target.tiles.addAll(newSchematic.tiles);
|
target.tiles.addAll(newSchematic.tiles);
|
||||||
|
target.width = newSchematic.width;
|
||||||
|
target.height = newSchematic.height;
|
||||||
newSchematic.tags.putAll(target.tags);
|
newSchematic.tags.putAll(target.tags);
|
||||||
newSchematic.file = target.file;
|
newSchematic.file = target.file;
|
||||||
|
|
||||||
|
|||||||
@@ -302,13 +302,17 @@ public class DesktopInput extends InputHandler{
|
|||||||
player.clearBuilding();
|
player.clearBuilding();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Core.input.keyTap(Binding.schematic_select)){
|
if(Core.input.keyTap(Binding.schematic_select) && !ui.chatfrag.chatOpen()){
|
||||||
schemX = rawCursorX;
|
schemX = rawCursorX;
|
||||||
schemY = rawCursorY;
|
schemY = rawCursorY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Core.input.keyTap(Binding.schematic_menu)){
|
if(Core.input.keyTap(Binding.schematic_menu) && !ui.chatfrag.chatOpen()){
|
||||||
ui.schematics.show();
|
if(ui.schematics.isShown()){
|
||||||
|
ui.schematics.hide();
|
||||||
|
}else{
|
||||||
|
ui.schematics.show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Core.input.keyTap(Binding.clear_building)){
|
if(Core.input.keyTap(Binding.clear_building)){
|
||||||
|
|||||||
@@ -401,6 +401,11 @@ public abstract class InputHandler implements InputProcessor, GestureListener{
|
|||||||
protected void flushSelectRequests(Array<BuildRequest> requests){
|
protected void flushSelectRequests(Array<BuildRequest> requests){
|
||||||
for(BuildRequest req : requests){
|
for(BuildRequest req : requests){
|
||||||
if(req.block != null && validPlace(req.x, req.y, req.block, req.rotation)){
|
if(req.block != null && validPlace(req.x, req.y, req.block, req.rotation)){
|
||||||
|
BuildRequest other = getRequest(req.x, req.y);
|
||||||
|
if(other != null){
|
||||||
|
selectRequests.remove(other);
|
||||||
|
}
|
||||||
|
|
||||||
selectRequests.add(req.copy());
|
selectRequests.add(req.copy());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -126,6 +126,8 @@ public class TypeIO{
|
|||||||
if(!request.breaking){
|
if(!request.breaking){
|
||||||
buffer.putShort(request.block.id);
|
buffer.putShort(request.block.id);
|
||||||
buffer.put((byte)request.rotation);
|
buffer.put((byte)request.rotation);
|
||||||
|
buffer.put(request.hasConfig ? (byte)1 : 0);
|
||||||
|
buffer.putInt(request.config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -148,7 +150,12 @@ public class TypeIO{
|
|||||||
}else{ //place
|
}else{ //place
|
||||||
short block = buffer.getShort();
|
short block = buffer.getShort();
|
||||||
byte rotation = buffer.get();
|
byte rotation = buffer.get();
|
||||||
|
boolean hasConfig = buffer.get() == 1;
|
||||||
|
int config = buffer.getInt();
|
||||||
currentRequest = new BuildRequest(Pos.x(position), Pos.y(position), rotation, content.block(block));
|
currentRequest = new BuildRequest(Pos.x(position), Pos.y(position), rotation, content.block(block));
|
||||||
|
if(hasConfig){
|
||||||
|
currentRequest.configure(config);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
reqs[i] = (currentRequest);
|
reqs[i] = (currentRequest);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ public class Mods implements Loadable{
|
|||||||
|
|
||||||
file.copyTo(dest);
|
file.copyTo(dest);
|
||||||
try{
|
try{
|
||||||
loaded.add(loadMod(dest, false));
|
loaded.add(loadMod(dest));
|
||||||
requiresReload = true;
|
requiresReload = true;
|
||||||
}catch(IOException e){
|
}catch(IOException e){
|
||||||
dest.delete();
|
dest.delete();
|
||||||
@@ -172,7 +172,7 @@ public class Mods implements Loadable{
|
|||||||
|
|
||||||
Log.debug("[Mods] Loading mod {0}", file);
|
Log.debug("[Mods] Loading mod {0}", file);
|
||||||
try{
|
try{
|
||||||
LoadedMod mod = loadMod(file, false);
|
LoadedMod mod = loadMod(file);
|
||||||
if(mod.enabled() || headless){
|
if(mod.enabled() || headless){
|
||||||
loaded.add(mod);
|
loaded.add(mod);
|
||||||
}else{
|
}else{
|
||||||
@@ -187,12 +187,13 @@ public class Mods implements Loadable{
|
|||||||
//load workshop mods now
|
//load workshop mods now
|
||||||
for(FileHandle file : platform.getWorkshopContent(LoadedMod.class)){
|
for(FileHandle file : platform.getWorkshopContent(LoadedMod.class)){
|
||||||
try{
|
try{
|
||||||
LoadedMod mod = loadMod(file, true);
|
LoadedMod mod = loadMod(file);
|
||||||
if(mod.enabled()){
|
if(mod.enabled()){
|
||||||
loaded.add(mod);
|
loaded.add(mod);
|
||||||
}else{
|
}else{
|
||||||
disabled.add(mod);
|
disabled.add(mod);
|
||||||
}
|
}
|
||||||
|
mod.addSteamID(file.parent().name());
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
Log.err("Failed to load mod workshop file {0}. Skipping.", file);
|
Log.err("Failed to load mod workshop file {0}. Skipping.", file);
|
||||||
Log.err(e);
|
Log.err(e);
|
||||||
@@ -399,7 +400,7 @@ public class Mods implements Loadable{
|
|||||||
|
|
||||||
/** Loads a mod file+meta, but does not add it to the list.
|
/** Loads a mod file+meta, but does not add it to the list.
|
||||||
* Note that directories can be loaded as mods.*/
|
* Note that directories can be loaded as mods.*/
|
||||||
private LoadedMod loadMod(FileHandle sourceFile, boolean workshop) throws Exception{
|
private LoadedMod loadMod(FileHandle sourceFile) throws Exception{
|
||||||
FileHandle zip = sourceFile.isDirectory() ? sourceFile : new ZipFileHandle(sourceFile);
|
FileHandle zip = sourceFile.isDirectory() ? sourceFile : new ZipFileHandle(sourceFile);
|
||||||
if(zip.list().length == 1 && zip.list()[0].isDirectory()){
|
if(zip.list().length == 1 && zip.list()[0].isDirectory()){
|
||||||
zip = zip.list()[0];
|
zip = zip.list()[0];
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package io.anuke.mindustry.ui.dialogs;
|
package io.anuke.mindustry.ui.dialogs;
|
||||||
|
|
||||||
import io.anuke.arc.*;
|
import io.anuke.arc.*;
|
||||||
|
import io.anuke.arc.Net.*;
|
||||||
import io.anuke.arc.collection.*;
|
import io.anuke.arc.collection.*;
|
||||||
|
import io.anuke.arc.files.*;
|
||||||
import io.anuke.arc.util.*;
|
import io.anuke.arc.util.*;
|
||||||
import io.anuke.arc.util.io.*;
|
import io.anuke.arc.util.io.*;
|
||||||
import io.anuke.mindustry.gen.*;
|
import io.anuke.mindustry.gen.*;
|
||||||
@@ -34,19 +36,27 @@ public class ModsDialog extends FloatingDialog{
|
|||||||
ui.loadfrag.show();
|
ui.loadfrag.show();
|
||||||
Core.net.httpGet("http://api.github.com/repos/" + text + "/zipball/master", loc -> {
|
Core.net.httpGet("http://api.github.com/repos/" + text + "/zipball/master", loc -> {
|
||||||
Core.net.httpGet(loc.getHeader("Location"), result -> {
|
Core.net.httpGet(loc.getHeader("Location"), result -> {
|
||||||
try{
|
if(result.getStatus() != HttpStatus.OK){
|
||||||
Streams.copyStream(result.getResultAsStream(), modDirectory.child(text.replace("/", "") + ".zip").write(false));
|
ui.showErrorMessage(Core.bundle.format("connectfail", result.getStatus()));
|
||||||
Core.app.post(() -> {
|
ui.loadfrag.hide();
|
||||||
try{
|
}else{
|
||||||
mods.reloadContent();
|
try{
|
||||||
setup();
|
FileHandle file = tmpDirectory.child(text.replace("/", "") + ".zip");
|
||||||
ui.loadfrag.hide();
|
Streams.copyStream(result.getResultAsStream(), file.write(false));
|
||||||
}catch(Throwable e){
|
mods.importMod(file);
|
||||||
ui.showException(e);
|
file.delete();
|
||||||
}
|
Core.app.post(() -> {
|
||||||
});
|
try{
|
||||||
}catch(Throwable e){
|
mods.reloadContent();
|
||||||
ui.showException(e);
|
setup();
|
||||||
|
ui.loadfrag.hide();
|
||||||
|
}catch(Throwable e){
|
||||||
|
ui.showException(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}catch(Throwable e){
|
||||||
|
ui.showException(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}, t -> Core.app.post(() -> ui.showException(t)));
|
}, t -> Core.app.post(() -> ui.showException(t)));
|
||||||
}, t -> Core.app.post(() -> ui.showException(t)));
|
}, t -> Core.app.post(() -> ui.showException(t)));
|
||||||
@@ -150,6 +160,6 @@ public class ModsDialog extends FloatingDialog{
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}).margin(12f).width(500f);
|
}).margin(12f).width(400f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -137,15 +137,17 @@ public class ZoneInfoDialog extends FloatingDialog{
|
|||||||
});
|
});
|
||||||
|
|
||||||
cont.row();
|
cont.row();
|
||||||
|
|
||||||
cont.addButton(zone.canConfigure() ? "$configure" : Core.bundle.format("configure.locked", zone.configureObjective.display()),
|
|
||||||
() -> loadout.show(zone.loadout.core().itemCapacity, zone.getStartingItems(), zone::resetStartingItems, zone::updateLaunchCost, rebuildItems)
|
|
||||||
).fillX().pad(3).disabled(b -> !zone.canConfigure());
|
|
||||||
}
|
}
|
||||||
cont.marginRight(12f);
|
cont.marginRight(12f);
|
||||||
});
|
});
|
||||||
cont.row();
|
cont.row();
|
||||||
|
|
||||||
|
cont.addButton(zone.canConfigure() ? "$configure" : Core.bundle.format("configure.locked", zone.configureObjective.display()),
|
||||||
|
() -> loadout.show(zone.loadout.core().itemCapacity, zone.getStartingItems(), zone::resetStartingItems, zone::updateLaunchCost, rebuildItems)
|
||||||
|
).fillX().pad(3).disabled(b -> !zone.canConfigure());
|
||||||
|
|
||||||
|
cont.row();
|
||||||
|
|
||||||
Button button = cont.addButton(zone.locked() ? "$uncover" : "$launch", () -> {
|
Button button = cont.addButton(zone.locked() ? "$uncover" : "$launch", () -> {
|
||||||
if(!data.isUnlocked(zone)){
|
if(!data.isUnlocked(zone)){
|
||||||
Sounds.unlock.play();
|
Sounds.unlock.play();
|
||||||
|
|||||||
@@ -106,9 +106,7 @@ public class MenuFragment extends Fragment{
|
|||||||
container.add(play);
|
container.add(play);
|
||||||
container.add(join);
|
container.add(join);
|
||||||
container.add(custom);
|
container.add(custom);
|
||||||
if(ios) container.row();
|
|
||||||
container.add(maps);
|
container.add(maps);
|
||||||
if(!ios) container.row();
|
|
||||||
|
|
||||||
container.table(table -> {
|
container.table(table -> {
|
||||||
table.defaults().set(container.defaults());
|
table.defaults().set(container.defaults());
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ public class Build{
|
|||||||
|
|
||||||
/** Returns whether a tile can be placed at this location by this team. */
|
/** Returns whether a tile can be placed at this location by this team. */
|
||||||
public static boolean validPlace(Team team, int x, int y, Block type, int rotation){
|
public static boolean validPlace(Team team, int x, int y, Block type, int rotation){
|
||||||
if(!type.isVisible() || type.isHidden()){
|
if(type == null || !type.isVisible() || type.isHidden()){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public class ArmoredConveyor extends Conveyor{
|
|||||||
@Override
|
@Override
|
||||||
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
||||||
return otherblock.outputsItems() && (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
return otherblock.outputsItems() && (Point2.equals(tile.x + Geometry.d4(rotation).x, tile.y + Geometry.d4(rotation).y, otherx, othery)
|
||||||
|| ((!otherblock.rotate && Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == tile.rotation()) || Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
|
|| ((!otherblock.rotate && Edges.getFacingEdge(otherblock, otherx, othery, tile) != null &&
|
||||||
|
Edges.getFacingEdge(otherblock, otherx, othery, tile).relativeTo(tile) == tile.rotation()) || Point2.equals(otherx + Geometry.d4(otherrot).x, othery + Geometry.d4(otherrot).y, tile.x, tile.y)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ public class LiquidSource extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configured(Tile tile, Player player, int value){
|
public void configured(Tile tile, Player player, int value){
|
||||||
tile.<LiquidSourceEntity>entity().source = content.liquid(value);
|
tile.<LiquidSourceEntity>entity().source = value == -1 ? null : content.liquid(value);
|
||||||
}
|
}
|
||||||
|
|
||||||
class LiquidSourceEntity extends TileEntity{
|
class LiquidSourceEntity extends TileEntity{
|
||||||
|
|||||||
Reference in New Issue
Block a user