Merge branch 'master' into patch-3
This commit is contained in:
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
4
.github/ISSUE_TEMPLATE/bug_report.md
vendored
@@ -17,7 +17,9 @@ assignees: ''
|
|||||||
|
|
||||||
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
|
**Link(s) to mod(s) used**: *The mod repositories or zip files that are related to the issue, if applicable.*
|
||||||
|
|
||||||
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.*
|
**Save file**: *The (zipped) save file you were playing on when the bug happened. THIS IS REQUIRED FOR ANY ISSUE HAPPENING IN-GAME OR IN MULTIPLAYER, REGARDLESS OF WHETHER YOU THINK IT HAPPENS EVERYWHERE. DO NOT DELETE OR OMIT THIS LINE UNLESS YOU ARE SURE THAT THE ISSUE DOES NOT HAPPEN IN-GAME.*
|
||||||
|
|
||||||
|
If you remove the line above without reading it properly and understanding what it means, I will reap your soul. Even if you're playing on someone's server, you can still save the game to a slot.
|
||||||
|
|
||||||
**Crash report**: *The contents of relevant crash report files. REQUIRED if you are reporting a crash.*
|
**Crash report**: *The contents of relevant crash report files. REQUIRED if you are reporting a crash.*
|
||||||
|
|
||||||
|
|||||||
22
.github/workflows/deployment.yml
vendored
22
.github/workflows/deployment.yml
vendored
@@ -15,45 +15,49 @@ jobs:
|
|||||||
uses: actions/setup-java@v1
|
uses: actions/setup-java@v1
|
||||||
with:
|
with:
|
||||||
java-version: 14
|
java-version: 14
|
||||||
|
- name: Set env
|
||||||
|
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||||
- name: Create artifacts
|
- name: Create artifacts
|
||||||
run: |
|
run: |
|
||||||
./gradlew desktop:dist server:dist core:javadoc -Pbuildversion=${GITHUB_REF:1}
|
./gradlew desktop:dist server:dist core:javadoc -Pbuildversion=${RELEASE_VERSION:1}
|
||||||
- name: Update docs
|
- name: Update docs
|
||||||
run: |
|
run: |
|
||||||
cd ../
|
cd ../
|
||||||
|
git config --global user.email "cli@github.com"
|
||||||
|
git config --global user.name "Github Actions"
|
||||||
git clone --depth=1 https://github.com/MindustryGame/docs.git
|
git clone --depth=1 https://github.com/MindustryGame/docs.git
|
||||||
cp -a Mindustry/core/build/docs/javadoc/. docs/
|
cp -a Mindustry/core/build/docs/javadoc/. docs/
|
||||||
cd docs
|
cd docs
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Update ${GITHUB_REF:1}"
|
git commit -m "Update ${RELEASE_VERSION:1}"
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/MindustryGame/docs
|
||||||
cd ../Mindustry
|
cd ../Mindustry
|
||||||
- name: Add Arc release
|
- name: Add Arc release
|
||||||
run: |
|
run: |
|
||||||
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
git clone --depth=1 --branch=master https://github.com/Anuken/Arc ../Arc
|
||||||
cd ../Arc
|
cd ../Arc
|
||||||
git tag ${GITHUB_REF}
|
git tag ${RELEASE_VERSION}
|
||||||
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${GITHUB_REF};
|
git push https://Anuken:${{ secrets.API_TOKEN_GITHUB }}@github.com/Anuken/Arc ${RELEASE_VERSION};
|
||||||
cd ../Mindustry
|
cd ../Mindustry
|
||||||
- name: Update F-Droid build string
|
- name: Update F-Droid build string
|
||||||
run: |
|
run: |
|
||||||
git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
|
git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
|
||||||
cd ../MindustryBuilds
|
cd ../MindustryBuilds
|
||||||
echo "Updating version to ${GITHUB_REF:1}"
|
echo "Updating version to ${RELEASE_VERSION:1}"
|
||||||
echo versionName=6-fdroid-${GITHUB_REF:1}$'\n'versionCode=${GITHUB_REF:1} > version_fdroid.txt
|
echo versionName=6-fdroid-${RELEASE_VERSION:1}$'\n'versionCode=${RELEASE_VERSION:1} > version_fdroid.txt
|
||||||
git add .
|
git add .
|
||||||
git commit -m "Updating to build ${GITHUB_REF:1}"
|
git commit -m "Updating to build ${RELEASE_VERSION:1}"
|
||||||
cd ../Mindustry
|
cd ../Mindustry
|
||||||
- name: Upload client artifacts
|
- name: Upload client artifacts
|
||||||
uses: svenstaro/upload-release-action@v2
|
uses: svenstaro/upload-release-action@v2
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: desktop/libs/Mindustry.jar
|
file: desktop/build/libs/Mindustry.jar
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
- name: Upload server artifacts
|
- name: Upload server artifacts
|
||||||
uses: svenstaro/upload-release-action@v2
|
uses: svenstaro/upload-release-action@v2
|
||||||
with:
|
with:
|
||||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
file: server/libs/server-release.jar
|
file: server/build/libs/server-release.jar
|
||||||
tag: ${{ github.ref }}
|
tag: ${{ github.ref }}
|
||||||
|
|
||||||
|
|||||||
3
.github/workflows/push.yml
vendored
3
.github/workflows/push.yml
vendored
@@ -1,6 +1,6 @@
|
|||||||
name: Tests
|
name: Tests
|
||||||
|
|
||||||
on: [push]
|
on: [push, workflow_dispatch]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
buildJava14:
|
buildJava14:
|
||||||
@@ -15,6 +15,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: ./gradlew test
|
run: ./gradlew test
|
||||||
- name: Trigger BE build
|
- name: Trigger BE build
|
||||||
|
if: ${{ github.repository == 'Anuken/Mindustry' }}
|
||||||
run: |
|
run: |
|
||||||
git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
|
git clone --depth=1 --branch=master https://github.com/Anuken/MindustryBuilds ../MindustryBuilds
|
||||||
cd ../MindustryBuilds
|
cd ../MindustryBuilds
|
||||||
|
|||||||
@@ -61,5 +61,5 @@ Post feature requests and feedback [here](https://github.com/Anuken/Mindustry-Su
|
|||||||
|
|
||||||
## Downloads
|
## Downloads
|
||||||
|
|
||||||
| [](https://anuke.itch.io/mindustry) | [](https://play.google.com/store/apps/details?id=io.anuke.mindustry) | [](https://f-droid.org/packages/io.anuke.mindustry) | [](https://flathub.org/apps/details/com.github.Anuken.Mindustry) |
|
| [](https://anuke.itch.io/mindustry) | [](https://play.google.com/store/apps/details?id=io.anuke.mindustry) | [](https://f-droid.org/packages/io.anuke.mindustry) | [](https://flathub.org/apps/details/com.github.Anuken.Mindustry)
|
||||||
|--- |--- |--- |--- |
|
|--- |--- |--- |--- |
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ allprojects{
|
|||||||
|
|
||||||
ext{
|
ext{
|
||||||
versionNumber = '6'
|
versionNumber = '6'
|
||||||
if(!project.hasProperty("versionModifier")) versionModifier = 'beta'
|
if(!project.hasProperty("versionModifier")) versionModifier = 'release'
|
||||||
if(!project.hasProperty("versionType")) versionType = 'official'
|
if(!project.hasProperty("versionType")) versionType = 'official'
|
||||||
appName = 'Mindustry'
|
appName = 'Mindustry'
|
||||||
steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256'
|
steamworksVersion = '891ed912791e01fe9ee6237a6497e5212b85c256'
|
||||||
|
|||||||
55
core/assets-raw/fontgen/extra/planet.svg
Normal file
55
core/assets-raw/fontgen/extra/planet.svg
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
version="1.1"
|
||||||
|
id="svg542"
|
||||||
|
sodipodi:docname="planet.svg"
|
||||||
|
inkscape:version="1.0.1 (0767f8302a, 2020-10-17)">
|
||||||
|
<metadata
|
||||||
|
id="metadata548">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs546" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="2560"
|
||||||
|
inkscape:window-height="1316"
|
||||||
|
id="namedview544"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:pagecheckerboard="true"
|
||||||
|
inkscape:zoom="15.75"
|
||||||
|
inkscape:cx="-16.385458"
|
||||||
|
inkscape:cy="16.16535"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg542" />
|
||||||
|
<path
|
||||||
|
id="polygon2"
|
||||||
|
style="fill:#ffffff"
|
||||||
|
d="M 5.5 0 L 5 0.5 L 4.5 1 L 3.5 1 L 3 1.5 L 2.5 2 L 2 2.5 L 1.5 3 L 1 3.5 L 1 4.5 L 0.5 5 L 0 5.5 L 0 6.5 L 0 7.5 L 0 8.5 L 0 9.5 L 0 10.5 L 0.5 11 L 1 11.5 L 1 12.5 L 1.5 13 L 2 13.5 L 2.5 14 L 3 14.5 L 3.5 15 L 4.5 15 L 5 15.5 L 5.5 16 L 6.5 16 L 7.5 16 L 8.5 16 L 9.5 16 L 10.5 16 L 11 15.5 L 11.5 15 L 12.5 15 L 13 14.5 L 13.5 14 L 14 13.5 L 14.5 13 L 15 12.5 L 15 11.5 L 15.5 11 L 16 10.5 L 16 9.5 L 16 8.5 L 16 7.5 L 16 6.5 L 16 5.5 L 15.5 5 L 15 4.5 L 15 3.5 L 14.5 3 L 14 2.5 L 13.5 2 L 13 1.5 L 12.5 1 L 11.5 1 L 11 0.5 L 10.5 0 L 9.5 0 L 8.5 0 L 7.5 0 L 6.5 0 L 5.5 0 z M 6.5 1 L 7 1.5 L 7.5 2 L 8.5 2 L 9 2.5 L 9 3.5 L 9.5 4 L 10 4.5 L 10.5 5 L 11 5.5 L 11.5 6 L 12.5 6 L 13.5 6 L 14.5 6 L 15 6.5 L 15 7.5 L 15 8.5 L 15 9.5 L 14.5 10 L 14 10.5 L 14 11.5 L 13.5 12 L 13 12.5 L 12.5 13 L 12 13.5 L 11.5 14 L 10.5 14 L 10 14.5 L 9.5 15 L 8.5 15 L 8 14.5 L 7.5 14 L 7 13.5 L 7 12.5 L 7.5 12 L 8 11.5 L 8.5 11 L 9 10.5 L 9 9.5 L 9 8.5 L 8.5 8 L 8 7.5 L 7.5 7 L 6.5 7 L 5.5 7 L 4.5 7 L 4 7.5 L 3.5 8 L 3 8.5 L 2.5 9 L 2 9.5 L 1.5 10 L 1 9.5 L 1 8.5 L 1 7.5 L 1 6.5 L 1.5 6 L 2 5.5 L 2 4.5 L 2.5 4 L 3 3.5 L 3.5 3 L 4 2.5 L 4.5 2 L 5.5 2 L 6 1.5 L 6.5 1 z M 11.5 9 L 11 9.5 L 11 10.5 L 11.5 11 L 12.5 11 L 13 10.5 L 13 9.5 L 12.5 9 L 11.5 9 z " />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
BIN
core/assets-raw/icons/planet.png
Normal file
BIN
core/assets-raw/icons/planet.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 578 B |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,2 +1,3 @@
|
|||||||
mschxœ-‹k
|
mschxњ-Ќ‹
|
||||||
1„ÇMÅîуôPÅ
|
В0EoЧКєўТЏЄ®И ¶Ґ«Ёџ.CfІJ‡<N‚З*Ш»Г<C2BB>lцЮѕ–иmЖ0№ељзTжЂN)>]6!NОРьж0,‚)Ь‡&ЩІЌцbKqщЌу~И$њя+А‘Vh¶•т№} ¶U
|
||||||
|
кwZР'И;¤$ґ]СUфґ…]P,(І»Љ‘ЎkҐ№ъЕ¶,e
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -22,9 +22,8 @@ gameover.pvp = The[accent] {0}[] team is victorious!
|
|||||||
gameover.waiting = [accent]Waiting for next map...
|
gameover.waiting = [accent]Waiting for next map...
|
||||||
highscore = [accent]New highscore!
|
highscore = [accent]New highscore!
|
||||||
copied = Copied.
|
copied = Copied.
|
||||||
indev.popup = [accent]v6[] is currently in [accent]beta[].\n[lightgray]This means:[]\n[scarlet]- The campaign is unfinished[]\n- Everything you see is subject to change or removal.\n\nReport bugs or crashes on [accent]Github[].
|
|
||||||
indev.notready = This part of the game isn't ready yet
|
indev.notready = This part of the game isn't ready yet
|
||||||
indev.campaign = [accent]You've reached the end of the campaign![]\n\nThis is as far as the content goes. Interplanetary travel will be added in future updates.
|
indev.campaign = [accent]Congratulations! You've reached the end of the campaign![]\n\nThis is as far as the content goes right now. Interplanetary travel will be added in future updates.
|
||||||
|
|
||||||
load.sound = Sounds
|
load.sound = Sounds
|
||||||
load.map = Maps
|
load.map = Maps
|
||||||
@@ -100,7 +99,7 @@ preparingconfig = Preparing Config
|
|||||||
preparingcontent = Preparing Content
|
preparingcontent = Preparing Content
|
||||||
uploadingcontent = Uploading Content
|
uploadingcontent = Uploading Content
|
||||||
uploadingpreviewfile = Uploading Preview File
|
uploadingpreviewfile = Uploading Preview File
|
||||||
committingchanges = Comitting Changes
|
committingchanges = Committing Changes
|
||||||
done = Done
|
done = Done
|
||||||
feature.unsupported = Your device does not support this feature.
|
feature.unsupported = Your device does not support this feature.
|
||||||
|
|
||||||
@@ -150,6 +149,9 @@ unlocked = New content unlocked!
|
|||||||
available = New research available!
|
available = New research available!
|
||||||
completed = [accent]Completed
|
completed = [accent]Completed
|
||||||
techtree = Tech Tree
|
techtree = Tech Tree
|
||||||
|
research.legacy = [accent]5.0[] research data found.\nDo you want to [accent]load this data[], or [accent]discard it[] and restart research in the new campaign (recommended)?
|
||||||
|
research.load = Load
|
||||||
|
research.discard = Discard
|
||||||
research.list = [lightgray]Research:
|
research.list = [lightgray]Research:
|
||||||
research = Research
|
research = Research
|
||||||
researched = [lightgray]{0} researched.
|
researched = [lightgray]{0} researched.
|
||||||
@@ -231,6 +233,7 @@ disconnect.timeout = Timed out.
|
|||||||
disconnect.data = Failed to load world data!
|
disconnect.data = Failed to load world data!
|
||||||
cantconnect = Unable to join game ([accent]{0}[]).
|
cantconnect = Unable to join game ([accent]{0}[]).
|
||||||
connecting = [accent]Connecting...
|
connecting = [accent]Connecting...
|
||||||
|
reconnecting = [accent]Reconnecting...
|
||||||
connecting.data = [accent]Loading world data...
|
connecting.data = [accent]Loading world data...
|
||||||
server.port = Port:
|
server.port = Port:
|
||||||
server.addressinuse = Address already in use!
|
server.addressinuse = Address already in use!
|
||||||
@@ -594,6 +597,11 @@ sector.tarFields.description = The outskirts of an oil production zone, between
|
|||||||
sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
sector.desolateRift.description = An extremely dangerous zone. Plentiful resources, but little space. High risk of destruction. Leave as soon as possible. Do not be fooled by the long spacing between enemy attacks.
|
||||||
sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
sector.nuclearComplex.description = A former facility for the production and processing of thorium, reduced to ruins.\n[lightgray]Research the thorium and its many uses.\n\nThe enemy is present here in great numbers, constantly scouting for attackers.
|
||||||
sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
sector.fungalPass.description = A transition area between high mountains and lower, spore-ridden lands. A small enemy reconnaissance base is located here.\nDestroy it.\nUse Dagger and Crawler units. Take out the two cores.
|
||||||
|
sector.biomassFacility.description = The origin of spores. This is the facility in which they were researched and initially produced.\nResearch the technology contained within. Cultivate spores for the production of fuel and plastics.\n\n[lightgray]Upon this facility's demise, the spores were released. Nothing in the local ecosystem could compete with such an invasive organism.
|
||||||
|
sector.windsweptIslands.description = Further past the shoreline is this remote chain of islands. Records show they once had [accent]Plastanium[]-producing structures.\n\nFend off the enemy's naval units. Establish a base on the islands. Research these factories.
|
||||||
|
sector.extractionOutpost.description = A remote outpost, constructed by the enemy for the purpose of launching resources to other sectors.\n\nCross-sector transport technology is essential for further conquest. Destroy the base. Research their Launch Pads.
|
||||||
|
sector.impact0078.description = Here lie remnants of the interstellar transport vessel that first entered this system.\n\nSalvage as much as possible from the wreckage. Research any intact technology.
|
||||||
|
sector.planetaryTerminal.description = The final target.\n\nThis coastal base contains a structure capable of launching Cores to local planets. It is extremely well guarded.\n\nProduce naval units. Eliminate the enemy as quickly as possible. Research the launch structure.
|
||||||
|
|
||||||
settings.language = Language
|
settings.language = Language
|
||||||
settings.data = Game Data
|
settings.data = Game Data
|
||||||
@@ -1243,10 +1251,10 @@ hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manuall
|
|||||||
hint.desktopShoot = [accent][[Left-click][] to shoot.
|
hint.desktopShoot = [accent][[Left-click][] to shoot.
|
||||||
hint.depositItems = To transfer items, drag from your ship to the core.
|
hint.depositItems = To transfer items, drag from your ship to the core.
|
||||||
hint.respawn = To respawn as a ship, press [accent][[V][].
|
hint.respawn = To respawn as a ship, press [accent][[V][].
|
||||||
hint.respawn.mobile = You have switched control a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
hint.respawn.mobile = You have switched control to a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
||||||
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
||||||
hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it.
|
hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it.
|
||||||
hint.placeDrill.mobile = Select the \ue85e[accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm.
|
hint.placeDrill.mobile = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm.
|
||||||
hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
||||||
hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
||||||
hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them.
|
hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them.
|
||||||
@@ -1255,14 +1263,14 @@ hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right
|
|||||||
hint.research = Use the \ue875 [accent]Research[] button to research new technology.
|
hint.research = Use the \ue875 [accent]Research[] button to research new technology.
|
||||||
hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology.
|
hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology.
|
||||||
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets.
|
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets.
|
||||||
hint.unitControl.mobile = [accent][Double-tap[] to control friendly units or turrets.
|
hint.unitControl.mobile = [accent][[Double-tap][] to control friendly units or turrets.
|
||||||
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right.
|
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right.
|
||||||
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[].
|
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[].
|
||||||
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
||||||
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
||||||
hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
||||||
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
||||||
hint.command = Press [accent][[G][] to command nearby units into formation.
|
hint.command = Press [accent][[G][] to command nearby units of [accent]similar type[] into formation.\n\nTo command ground units, you must first control another ground unit.
|
||||||
hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation.
|
hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation.
|
||||||
hint.payloadPickup = Press [accent][[[] to pick up small blocks or units.
|
hint.payloadPickup = Press [accent][[[] to pick up small blocks or units.
|
||||||
hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up.
|
hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up.
|
||||||
@@ -1270,6 +1278,7 @@ hint.payloadDrop = Press [accent]][] to drop a payload.
|
|||||||
hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there.
|
hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there.
|
||||||
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
||||||
hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[].
|
hint.generator = \uf879 [accent]Combustion Generators[] burn coal and transmit power to adjacent blocks.\n\nPower transmission range can be extended with \uf87f [accent]Power Nodes[].
|
||||||
|
hint.guardian = [accent]Guardian[] units are armored. Weak ammo such as [accent]Copper[] and [accent]Lead[] is [scarlet]not effective[].\n\nUse higher tier turrets or \uf835 [accent]Graphite[] \uf861Duo/\uf859Salvo ammunition to take Guardians down.
|
||||||
|
|
||||||
item.copper.description = Used in all types of construction and ammunition.
|
item.copper.description = Used in all types of construction and ammunition.
|
||||||
item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced.
|
item.copper.details = Copper. Abnormally abundant metal on Serpulo. Structurally weak unless reinforced.
|
||||||
@@ -1451,7 +1460,7 @@ unit.reign.description = Fires a barrage of massive piercing bullets at all near
|
|||||||
unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight.
|
unit.nova.description = Fires laser bolts that damage enemies and repair allied structures. Capable of flight.
|
||||||
unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight.
|
unit.pulsar.description = Fires arcs of electricity that damage enemies and repair allied structures. Capable of flight.
|
||||||
unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded.
|
unit.quasar.description = Fires piercing laser beams that damage enemies and repair allied structures. Capable of flight. Shielded.
|
||||||
unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repair allied structures. Capable of flight.
|
unit.vela.description = Fires a massive continuous laser beam that damages enemies, causes fires and repairs allied structures. Capable of flight.
|
||||||
unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain.
|
unit.corvus.description = Fires a massive laser blast that damages enemies and repairs allied structures. Can step over most terrain.
|
||||||
unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion.
|
unit.crawler.description = Runs toward enemies and self-destructs, causing a large explosion.
|
||||||
unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain.
|
unit.atrax.description = Fires debilitating orbs of slag at ground targets. Can step over most terrain.
|
||||||
|
|||||||
@@ -17,15 +17,11 @@ linkfail = Nepodařilo se otevřít odkaz!\nAdresa URL byla zkopírována do sch
|
|||||||
screenshot = Snímek obrazovky uložen {0}
|
screenshot = Snímek obrazovky uložen {0}
|
||||||
screenshot.invalid = Mapa je moc velká, nemusí být dost paměti pro získání snímku obrazovky.
|
screenshot.invalid = Mapa je moc velká, nemusí být dost paměti pro získání snímku obrazovky.
|
||||||
gameover = Konec hry
|
gameover = Konec hry
|
||||||
gameover.disconnect = Odpojit se
|
|
||||||
gameover.pvp = Vyhrál tým [accent]{0}[]!
|
gameover.pvp = Vyhrál tým [accent]{0}[]!
|
||||||
gameover.waiting = [accent]Hra čeká na další mapu...
|
|
||||||
highscore = [accent]Nový rekord!
|
highscore = [accent]Nový rekord!
|
||||||
copied = Zkopírováno.
|
copied = Zkopírováno.
|
||||||
indev.popup = Mindustry [accent]v6[] je aktuálně ve verzi [accent]beta[].\n[lightgray]To znamená:[]\n[scarlet]- Kampaň je nedokončená[]\n- Cokoli, co vidíte, se může změnit nebo být odstraněno.\n\nHlaste prosím chyby na [accent]Github[].
|
|
||||||
indev.notready = Tato část hry ještě není připravena
|
indev.notready = Tato část hry ještě není připravena
|
||||||
indev.campaign = [accent]Dovršil jsi kampaň![]\n\nTohle je vše, co Ti hra může po obsahové stránce nabídnout. Meziplanetární lety budou přidány až v budoucích aktualizacích.
|
indev.campaign = [accent]Blahopřejeme! Završil jsi kampaň![]\n\nTohle je vše, co Ti hra může po obsahové stránce nabídnout. Meziplanetární lety budou přidány až v budoucích aktualizacích.
|
||||||
|
|
||||||
|
|
||||||
load.sound = Zvuky
|
load.sound = Zvuky
|
||||||
load.map = Mapy
|
load.map = Mapy
|
||||||
@@ -148,8 +144,12 @@ planetmap = Planetární mapa
|
|||||||
launchcore = Vyslat jádro
|
launchcore = Vyslat jádro
|
||||||
filename = Název souboru:
|
filename = Název souboru:
|
||||||
unlocked = Byl odemmknut nový blok!
|
unlocked = Byl odemmknut nový blok!
|
||||||
|
available = Je zpřístupněn nový výzkum!
|
||||||
completed = [accent]Dokončeno[]
|
completed = [accent]Dokončeno[]
|
||||||
techtree = Technologie
|
techtree = Technologie
|
||||||
|
research.legacy = Nalezena výzkumná data z verze [accent]5.0[].\nChceš [accent]tato data načíst[], nebo [accent]je zahodit[] a začít výzkum v nové kampani (což doporučujeme)?
|
||||||
|
research.load = Načíst
|
||||||
|
research.discard = Zahodit
|
||||||
research.list = [lightgray]Výzkum:[]
|
research.list = [lightgray]Výzkum:[]
|
||||||
research = Výzkum
|
research = Výzkum
|
||||||
researched = Dokončen výzkum technologie: [lightgray]{0}[].
|
researched = Dokončen výzkum technologie: [lightgray]{0}[].
|
||||||
@@ -231,6 +231,7 @@ disconnect.timeout = Vypršel čas pro připojení.
|
|||||||
disconnect.data = Chyba načtení dat ze serveru!
|
disconnect.data = Chyba načtení dat ze serveru!
|
||||||
cantconnect = Není možno se připojit ke hře ([accent]{0}[]).
|
cantconnect = Není možno se připojit ke hře ([accent]{0}[]).
|
||||||
connecting = [accent]Připojuji se...[]
|
connecting = [accent]Připojuji se...[]
|
||||||
|
reconnecting = [accent]Znovu se připojuji...
|
||||||
connecting.data = [accent]Načítám data ze serveru...[]
|
connecting.data = [accent]Načítám data ze serveru...[]
|
||||||
server.port = Port:
|
server.port = Port:
|
||||||
server.addressinuse = Adresu již někdo používá!
|
server.addressinuse = Adresu již někdo používá!
|
||||||
@@ -498,10 +499,10 @@ requirement.produce = Vyrob {0}
|
|||||||
requirement.capture = Polap {0}
|
requirement.capture = Polap {0}
|
||||||
launch.text = Vyslat
|
launch.text = Vyslat
|
||||||
research.multiplayer = Jen hostitel hry může vynalézat nové technologie.
|
research.multiplayer = Jen hostitel hry může vynalézat nové technologie.
|
||||||
|
map.multiplayer = Jen hostitel může prohlížet sektory.
|
||||||
uncover = Odkrýt mapu
|
uncover = Odkrýt mapu
|
||||||
configure = Přizpůsobit vybavení
|
configure = Přizpůsobit vybavení
|
||||||
|
|
||||||
#TODO
|
|
||||||
loadout = Načtení
|
loadout = Načtení
|
||||||
resources = Zdroje
|
resources = Zdroje
|
||||||
bannedblocks = Zakázané bloky
|
bannedblocks = Zakázané bloky
|
||||||
@@ -509,12 +510,6 @@ addall = Přidat vše
|
|||||||
launch.from = Vysláno z: [accent]{0}
|
launch.from = Vysláno z: [accent]{0}
|
||||||
launch.destination = Cíl: {0}
|
launch.destination = Cíl: {0}
|
||||||
configure.invalid = Hodnota musí být číslo mezi 0 a {0}.
|
configure.invalid = Hodnota musí být číslo mezi 0 a {0}.
|
||||||
zone.unlocked = [lightgray]Mapa {0} byla odemknuta.[]
|
|
||||||
zone.requirement.complete = Bylo dosaženo vlny {0},\nčímž byla splněna podmínka pro mapu {1}.
|
|
||||||
zone.resources = [lightgray]Byly detekovány tyto suroviny:[]
|
|
||||||
zone.objective = [lightgray]Úkol: [][accent]{0}[]
|
|
||||||
zone.objective.survival = Přežij
|
|
||||||
zone.objective.attack = Znič nepřátelské jádro
|
|
||||||
add = Přidat...
|
add = Přidat...
|
||||||
boss.health = Životy Strážce
|
boss.health = Životy Strážce
|
||||||
|
|
||||||
@@ -548,12 +543,17 @@ sectors.launch = Vyslat
|
|||||||
sectors.select = Vybrat
|
sectors.select = Vybrat
|
||||||
sectors.nonelaunch = [lightgray]bez (slunce)[]
|
sectors.nonelaunch = [lightgray]bez (slunce)[]
|
||||||
sectors.rename = Přejmenovat sektor
|
sectors.rename = Přejmenovat sektor
|
||||||
|
sectors.enemybase = [scarlet]Nepřátelská základna
|
||||||
|
sectors.vulnerable = [scarlet]Zranitelný
|
||||||
|
sectors.underattack = [scarlet]Pod palbou! [accent]{0}% poškozeno
|
||||||
|
sectors.survives = [accent]Přežívá již {0} vln
|
||||||
|
sectors.go = Jdi
|
||||||
sector.curcapture = Sektor polapen
|
sector.curcapture = Sektor polapen
|
||||||
|
sector.curlost = Sektor ztracen
|
||||||
sector.missingresources = [scarlet]Nedostatečné zdroje v jádře
|
sector.missingresources = [scarlet]Nedostatečné zdroje v jádře
|
||||||
sector.attacked = Sektor [accent]{0}[white] pod útokem!
|
sector.attacked = Sektor [accent]{0}[white] pod útokem!
|
||||||
sector.lost = Sektor [accent]{0}[white] ztracen! :(
|
sector.lost = Sektor [accent]{0}[white] ztracen! :(
|
||||||
#note: the missing space in the line below is intentional
|
#note: chybějící mezera v řádce níže je záměrná :)
|
||||||
sector.captured = Sektor [accent]{0}[white]polapen! :)
|
sector.captured = Sektor [accent]{0}[white]polapen! :)
|
||||||
|
|
||||||
threat.low = Nízké
|
threat.low = Nízké
|
||||||
@@ -584,20 +584,22 @@ sector.windsweptIslands.name = Větrné ostrovy
|
|||||||
sector.extractionOutpost.name = Extrakční základna
|
sector.extractionOutpost.name = Extrakční základna
|
||||||
sector.planetaryTerminal.name = Planetární odpalovací terminál
|
sector.planetaryTerminal.name = Planetární odpalovací terminál
|
||||||
|
|
||||||
#unused
|
|
||||||
#sector.crags.name = Crags
|
|
||||||
|
|
||||||
sector.groundZero.description = Optimální místo, kde znovu začít. Nízký výskyt nepřátel. Několik málo surovin.\nPosbírej co nejvíce olova a mědi.\nBěž dál.
|
sector.groundZero.description = Optimální místo, kde znovu začít. Nízký výskyt nepřátel. Několik málo surovin.\nPosbírej co nejvíce olova a mědi.\nBěž dál.
|
||||||
sector.frozenForest.description = Dokonce až sem, blízko hor, se dokázaly spóry rozrůst. Mráz je však nemůže zadržet navěky.\n\nPusť se do práce za pomocí energie. Stav spalovací generátory. Nauč se, jak používat opravovací věže.
|
sector.frozenForest.description = Dokonce až sem, blízko hor, se dokázaly spóry rozrůst. Mráz je však nemůže zadržet navěky.\n\nPusť se do práce za pomocí energie. Stav spalovací generátory. Nauč se, jak používat opravovací věže.
|
||||||
sector.saltFlats.description = Na okraji pouště leží Solné nížiny. V této lokaci se nachází jen několik málo surovin.\n\nNepřítel zde vybudoval zásobovací komplex. Znič jádro v jeho základně. Nenechej kámen na kameni.
|
sector.saltFlats.description = Na okraji pouště leží Solné nížiny. V této lokaci se nachází jen několik málo surovin.\n\nNepřítel zde vybudoval zásobovací komplex. Znič jádro v jeho základně. Nenechej kámen na kameni.
|
||||||
sector.craters.description = V těchto relikviích starých válek se nahromadilo velké množství vody. Znovu získej tuto oblast. Sbírej písek. Vyrob z něj metasklo. Použij vodu k chlazení svých vrtů a střílen.
|
sector.craters.description = V těchto relikviích starých válek se nahromadilo velké množství vody. Znovu získej tuto oblast. Sbírej písek. Vyrob z něj metasklo. Použij vodu k chlazení svých vrtů a střílen.
|
||||||
sector.ruinousShores.description = Za pustinou se nachází pobřeží. Kdysi zde stál obranný pobřežní systém. Moc z něj už dneska nezbylo. Jen základní konstrukce zůstaly ušetřeny, zbytek se rozpadl na šrot.\nPokračuj ve své expanzi hlouběji. Objev ztracenou technologii.
|
sector.ruinousShores.description = Za pustinou se nachází pobřeží. Kdysi zde stál obranný pobřežní systém. Moc z něj už dneska nezbylo. Jen základní konstrukce zůstaly ušetřeny, zbytek se rozpadl na šrot.\nPokračuj ve své expanzi hlouběji. Objev ztracenou technologii.
|
||||||
sector.stainedMountains.description = Dále ve vnitrozemí leží hory, dosud neposkvrněny spórami.\nVytěž titan, kterým tato oblast oplývá. Nauč se jej používat.\n\nPřítomnost nepřátelských jednotek je zde větší. Radši jim nedej moc času na vyslání jejich nejsilnějších jednotech.
|
sector.stainedMountains.description = Dále ve vnitrozemí leží hory, dosud neposkvrněny spórami.\nVytěž titan, kterým tato oblast oplývá. Nauč se jej používat.\n\nPřítomnost nepřátelských jednotek je zde větší. Radši jim nedej moc času na vyslání jejich nejsilnějších jednotech.
|
||||||
sector.overgrowth.description = Tato přerostlá džungle se nachází blíže ke zdroji spór.\nNepřítel zde zbudoval předsunutou hlídku. Stav jednotky Dýka a znič s jejich pomocí jádro základny. Získej znovu to, co bylo již dávno ztraceno.
|
sector.overgrowth.description = Tato přerostlá džungle se nachází blíže ke zdroji spór.\nNepřítel zde zbudoval předsunutou hlídku. Stav jednotky Palcát a znič s jejich pomocí jádro základny.
|
||||||
sector.tarFields.description = Rozhraní produkční naftové oblasti mezi horami a pouští. Jedna z mála oblastí, kde se stále nachází dehet.\nAčkoliv je oblast opuštěná, stále se v jejím okolí nachází nebezpečné nepřátelské síly. Není radno je podcenit.\n\n[lightgray]Vyzkoumej technologii na zpracování nafty.[]
|
sector.tarFields.description = Rozhraní produkční naftové oblasti mezi horami a pouští. Jedna z mála oblastí, kde se stále nachází dehet.\nAčkoliv je oblast opuštěná, stále se v jejím okolí nachází nebezpečné nepřátelské síly. Není radno je podcenit.\n\n[lightgray]Vyzkoumej technologii na zpracování nafty.[]
|
||||||
sector.desolateRift.description = Extrémně nebezpečná mapa. Na úkor prostoru se zde nachází přehršel surovin. Vysoká pravděpodobnost zničení. Opusť tuto oblast co nejdříve to půjde. Nenech se zmást dlouhými prodlevami mezi vlnami nepřátel.
|
sector.desolateRift.description = Extrémně nebezpečná mapa. Na úkor prostoru se zde nachází přehršel surovin. Vysoká pravděpodobnost zničení. Opusť tuto oblast co nejdříve to půjde. Nenech se zmást dlouhými prodlevami mezi vlnami nepřátel.
|
||||||
sector.nuclearComplex.description = Bývalá továrna na zpracování thoria, dnes v troskách.\n[lightgray]Objev thorium a jeho široké využití.[]\n\nNepřátelské jednotky se zde nacházejí v hojném počtu, a neustále prohledávají oblast.
|
sector.nuclearComplex.description = Bývalá továrna na zpracování thoria, dnes v troskách.\n[lightgray]Objev thorium a jeho široké využití.[]\n\nNepřátelské jednotky se zde nacházejí v hojném počtu, a neustále prohledávají oblast.
|
||||||
sector.fungalPass.description = Přechodová oblast mezi vysokými horami a spórami nasycenou zemí. Nachází se zde malá průzkumná základna Tvého nepřítele.\nZnič ji.\nPoužij mechy Dýka a Slídil. Znič obě nepřátelské jádra.
|
sector.fungalPass.description = Přechodová oblast mezi vysokými horami a spórami nasycenou zemí. Nachází se zde malá průzkumná základna Tvého nepřítele.\nZnič ji.\nPoužij mechy Dýka a Slídil. Znič obě nepřátelské jádra.
|
||||||
|
sector.biomassFacility.description = Prapůvod všech spór. Toto je zařízení, be kterém byly spóry vynalezeny a zpočátku u vyráběny.\nVynalezni technologii, která se skrýbá uvnitř. Kultivuj spóry k výrobě paliva a plastů.\n\n[lightgray]Po vypnutí tohoto zařízení byly spóry vypuštěny. V okolním ekosystému však tomuto invazivnímu druhu nebylo nic schopné konkurovat.
|
||||||
|
sector.windsweptIslands.description = Vzdálen od pevniny je tento řetízek ostrovů. Záznamy ukazují, že zde kdysi byly zařízení na výrobu [accent]Plastany[].\n\nPoraž nepřátelské námořní jednotky. Vybuduj základnu na ostrově. Vynalezni továrny.
|
||||||
|
sector.extractionOutpost.description = Vzdálená pevnost, postavená nepřítelem za účelem vysílání zdrojů do okolních sektorů.\n\nDoprava položek napříč sektory je nezbytná pro lapení dalších sektorů. Znič základnu. Vyzkoumej jejich Vysílací plošiny.
|
||||||
|
sector.impact0078.description = Zde leží zbytky mezihvězdné lodi, která vstoupila d otohoto systému.\n\nZachraň z vraku vše, co se dá. Vyzkoumej nepoškozenou technologii.
|
||||||
|
sector.planetaryTerminal.description = Konečný cíl.\n\nTato pobřežní základna obsahuje konstrukce schopné vyslat jádra na okolní planety. Je mimořádně dobře opevněna.\n\nVyrob námořní jednotky. Odstraň nepřítele tak rychle, jak umíš. Vyzkoumej vysílací konstrukci.
|
||||||
|
|
||||||
settings.language = Jazyk
|
settings.language = Jazyk
|
||||||
settings.data = Data hry
|
settings.data = Data hry
|
||||||
@@ -803,16 +805,15 @@ setting.conveyorpathfinding.name = Hledat cestu při umisťování pásu
|
|||||||
setting.sensitivity.name = Citlivost ovladače
|
setting.sensitivity.name = Citlivost ovladače
|
||||||
setting.saveinterval.name = Interval automatického ukládání
|
setting.saveinterval.name = Interval automatického ukládání
|
||||||
setting.seconds = {0} sekund
|
setting.seconds = {0} sekund
|
||||||
setting.blockselecttimeout.name = Časový limit pro výběr bloku
|
|
||||||
setting.milliseconds = {0} milisekund
|
setting.milliseconds = {0} milisekund
|
||||||
setting.fullscreen.name = Celá obrazovka
|
setting.fullscreen.name = Celá obrazovka
|
||||||
setting.borderlesswindow.name = Bezokrajové okno[lightgray] (může výt vyžadován restart)[]
|
setting.borderlesswindow.name = Bezokrajové okno [lightgray](může výt vyžadován restart)
|
||||||
setting.fps.name = Ukázat FPS a ping
|
setting.fps.name = Ukázat FPS a ping
|
||||||
setting.smoothcamera.name = Plynulá kamera
|
setting.smoothcamera.name = Plynulá kamera
|
||||||
setting.vsync.name = Vertikální synchronizace
|
setting.vsync.name = Vertikální synchronizace
|
||||||
setting.pixelate.name = Rozpixlovat
|
setting.pixelate.name = Rozpixlovat
|
||||||
setting.minimap.name = Ukázat mapičku
|
setting.minimap.name = Ukázat mapičku
|
||||||
setting.coreitems.name = Ukázat položky jádra (WIP)
|
setting.coreitems.name = Ukázat položky jádra
|
||||||
setting.position.name = Ukázat pozici hráče
|
setting.position.name = Ukázat pozici hráče
|
||||||
setting.musicvol.name = Hlasitost hudby
|
setting.musicvol.name = Hlasitost hudby
|
||||||
setting.atmosphere.name = Ukázat atmosféru planety
|
setting.atmosphere.name = Ukázat atmosféru planety
|
||||||
@@ -892,6 +893,8 @@ keybind.menu.name = Hlavní nabídka
|
|||||||
keybind.pause.name = Pozastavení hry
|
keybind.pause.name = Pozastavení hry
|
||||||
keybind.pause_building.name = Pozastavit nebo spustit stavění
|
keybind.pause_building.name = Pozastavit nebo spustit stavění
|
||||||
keybind.minimap.name = Mapička
|
keybind.minimap.name = Mapička
|
||||||
|
keybind.planet_map.name = Planetární mapa
|
||||||
|
keybind.research.name = Výzkum
|
||||||
keybind.chat.name = Kanál zpráv
|
keybind.chat.name = Kanál zpráv
|
||||||
keybind.player_list.name = Seznam hráčů
|
keybind.player_list.name = Seznam hráčů
|
||||||
keybind.console.name = Terminál
|
keybind.console.name = Terminál
|
||||||
@@ -1016,6 +1019,7 @@ block.resupply-point.name = Zásobovací místo
|
|||||||
block.parallax.name = Paralaxa
|
block.parallax.name = Paralaxa
|
||||||
block.cliff.name = Útes
|
block.cliff.name = Útes
|
||||||
block.sand-boulder.name = Pískovec
|
block.sand-boulder.name = Pískovec
|
||||||
|
block.basalt-boulder.name = Čedičový balvan
|
||||||
block.grass.name = Tráva
|
block.grass.name = Tráva
|
||||||
block.slag.name = Struska
|
block.slag.name = Struska
|
||||||
block.space.name = Vesmír
|
block.space.name = Vesmír
|
||||||
@@ -1239,34 +1243,48 @@ team.derelict.name = opuštěný
|
|||||||
team.green.name = zelený
|
team.green.name = zelený
|
||||||
team.purple.name = fialový
|
team.purple.name = fialový
|
||||||
|
|
||||||
tutorial.next = [lightgray]<Klikni pro pokračování>
|
hint.skip = Přeskočit
|
||||||
tutorial.intro = Vítej ve [scarlet]výuce Mindustry[]. Zde se dozvíš základy hraní.\nPoznámka: výuka předpokládá [accent]výchozí klávesy[] v nastavení, pokud jsi je změnil, bude třeba to vzít v potaz.\nPoužij [accent][[WASD][] pro pohyb a [accent]kolečko myši[] pro přibližování a oddalování.\nZačni [accent]těžením mědi[]. Přibliž se k měděné žíle u Tvého jádra a klikni na ni pro zahájení těžby.\n\n[accent]{0}/{1} mědi[]
|
hint.desktopMove = Použij [accent][[WASD][] k pohybu.
|
||||||
tutorial.intro.mobile = Vítej ve [scarlet]výuce Mindustry[].\nPohybuj se táhnutím prstem do strany.\nPřibližuj a oddaluj mapu [accent]2 prsty[].\nZačni [accent] těžením mědi[]. Přibliž se k měděné žíle u Tvého jádra a ťupni na ni pro zahájení těžby.\n\n[accent]{0}/{1} mědi[]
|
hint.zoom = [accent]Roluj[] prp přiblížení a oddalování obrazvky.
|
||||||
tutorial.drill = Sám vidíš, že ruční těžba není moc efektivní.\n[accent]Vrty[] umožňují těžit automaticky.\nKlikni na vrt v nabídce v pravém dolním rohu.\nVyber [accent]mechanický vrt[]. Umisti jej kliknutím na měděnou žílu.\nTaké můžeš vybrat mechanický vrt stiskem kláves [accent][[2][] a následně [accent][[1][] rychle po sobě, nezávisle na tom, jaká záložka je v nabídce zrovna otevřena.\n[accent]Pravým klikem[] přerušíš stavění.
|
hint.mine = Přesuň se poblíž \uf8c4 měděné rudy a [accent]ťupni[] na ni pro zahájení těžby.
|
||||||
tutorial.drill.mobile = Sám vidíš, že ruční těžba není moc efektivní.\n[accent]Vrty[] umožňují těžit automaticky.\nŤupni na vrt v nabídce v pravém dolním rohu.\nVyber [accent]mechanický vrt[]. Umisti jej klikutím na měděnou žílu ťupnutím a následně zaškrtni [accent]fajfku[] na spodku nabídky pro potvrzení volby.\nŤupnutím na [accent]X[] přerušíš stavění.
|
hint.desktopShoot = Klikni na [accent][[levé tlačítko][] myši pro střelbu.
|
||||||
tutorial.blockinfo = Každý blok má jiné vlastnosti. Každý vrt může těžit pouze některé suroviny.\nPro zobrazení informací a statistik o bloku [accent]zvol "?" při vybraném bloku ve stavební nabídce[].\n\nNyní se podívej na [accent]vlastnosti mechanického vrtu[].
|
hint.depositItems = Pro přesun položek je přetáhni ze své lodi do jádra.
|
||||||
tutorial.conveyor = Pro dopravu materiálu k jádru jsou zapotřebí [accent]dopravníky[].\nVytvoř řadu dopravníků od vrtu až k jádru.\nDrž zmáčknuté [accent]levé tlačítko myši[], abys umístil dopravníky v jedné řadě.\nKdyž zmáčkneš [accent]Ctrl[], řada dopravníků se bude umisťovat navíc úhlopříčně.\nPoužij [accent]kolečko myši[] pro otáčení bloku před umístěním.\n[accent]Umísti dopravníky tak, abys dopravil měď do jádra[].
|
hint.respawn = Aby ses znovu přepnul na loď, zmáčkni [accent][[V][].
|
||||||
tutorial.conveyor.mobile = Pro dopravu materiálu k jádru jsou zapotřebí [accent]dopravníky[].\nVytvoř řadu dopravníků od vrtu až k jádru.\n[accent]Pokládej dopravníky v řadě ťupnutím a delším prstu[] a táhnutím v požadovaném směru.\n[accent]Umísti dopravníky tak, abys dopravil měď do jádra[].
|
hint.respawn.mobile = Přepnul ses na ovládání jednotky nebo konstrukce. Aby ses přepnul zpět na loď, klikni na avatara vlevo nahoře.
|
||||||
tutorial.turret = Jakmile se materiál dostane do jádra, může být použit pro konstrukci.\nPamatuj si, že ne všechno lze použít pro konstrukci.\nVěci, které melze použít jako stavební materiál, jako například [accent]uhlí[] nebo [accent]šrot[], nelze do jádra uložit, a zasekne tak celý dopravník na vstupu.\nPro odehnání útočných jednotek [lightgray]nepřítele[] od jádra je třeba postavit obranné konstrukce.\nPostav [accent]střílnu Duo[] poblíž svého jádra.
|
hint.desktopPause = Zmáčkni [accent][[mezerník][] k pozastavení a zase spuštění hry.
|
||||||
tutorial.drillturret = Střílny Duo potřebují jako střelivo [accent]měď[].\nPolož mechanický vrt blízko střílny.\nPro zásobování mědí veď dopravníky od vrtu ke střílně.\n\n[accent]Doručeno střeliva: {0}/{1}[]
|
hint.placeDrill = Vyber si záložku \ue85e [accent]Vrtů[] v nabídce vpravo dole, potom vyber \uf870 [accent]Vrt[] a klikni na oblast s mědí k umístění.
|
||||||
tutorial.pause = Během hry, například v boji, můžeš [accent]pozastavit hru[].\nPři pozastavení můžeš naplánovat konstrukci do fronty.\n\n[accent]Pozastav hru mezerníkem[].
|
hint.placeDrill.mobile = Vyber si záložku \ue85e[accent]Vrtů[] v nabídce vpravo dole, potom vyber \uf870 [accent]Vrt[] a ťupni na oblast s mědí k umístění.\n\Ťupni na \ue800 [accent]zaškrtnutí[] vpravo dole pro potvrzení.
|
||||||
tutorial.pause.mobile = Během hry, například v boji, můžeš [accent]pozastavit hru[].\nPři pozastavení můžeš naplánovat konstrukci do fronty.\n\n[accent]Pozastavení hry probedeš ťupnutím na dvě čárky vlevo nahoře.
|
hint.placeConveyor = Dopravníky přesouvají materiál z vrtu do dalších bloků. Vyber \uf896 [accent]Dopravník[] ze záložky \ue814 [accent]Distribuce[].\n\nKlikni a táhni pro umístění vícero dopravníků.\n[accent]Roluj[] pro otočení.
|
||||||
tutorial.unpause = Teď zmáčkni mezerník znova a pokračuj ve hře.
|
hint.placeConveyor.mobile = Dopravníky přesouvají materiál z vrtu do dalších bloků. Vyber \uf896 [accent]Dopravník[] ze záložky \ue814 [accent]Distribuce[].\n\nPodrž chvíli prst a táhni pro umístění vícero dopravníků.
|
||||||
tutorial.unpause.mobile = Teď ťupni na ikonu na stejném místě a pokračuj ve hře.
|
hint.placeTurret = Umisti \uf861 [accent]Věž[], abys ubránil Tvoji základnu před nepřáteli.\n\nVěže vyžaduj munici - v tomto případě je jí \uf838měď.\nPoužij vrty a dopravníky, abys nějakou získal.
|
||||||
tutorial.breaking = Bloky je třeba nejen stavět, ale Často rozbít.\n[accent]Drž pravé tlačítko myšu[] a táhni s ní pro výběr bloků, které potřebuješ rozbít.\n\n[accent]Znič všechen šrot vlevo od Tvého jádra použitím blokového výběru[].
|
hint.breaking = Klikni [accent]pravým tlačítkem[] a potáhni pro rozbití bloků.
|
||||||
tutorial.breaking.mobile = Bloky je třeba nejen stavět, ale Často rozbít.\n[accent]Ťupnu na ikonku kladiva dole[] a pak ťupni na blok, který chceš rozbít.\nRozbití více bloků se provádí delším podržením prstu a táhnutím.\nRozbití dokončíš ťupnutím na fajfku.\n\n[accent]Znič všechen šrot vlevo od Tvého jádra použitím blokového výběru[].
|
hint.breaking.mobile = Použij \ue817 [accent]kladivo[] v pravém spodním rohu a pak ťupni pro rozbití bloků.\n\nPodrž chvíli prst a táhni pro rozbití bloků ve výběru.
|
||||||
tutorial.withdraw = Někdy je třeba odebírat předměty přímo z bloků.\n[accent]Klikni na blok[], ve kterém jsou předměty a pak [accent]klikni na předmět[] z inventáře bloku.\nVícero předmětů může být odebráno [accent]ťupnutím a držením[].\n\n[accent]Odeber trochu mědi z jádra[].
|
hint.research = Použij tlačítko \ue875 [accent]Výzkum[] pro vyzkoumání nové technologie.
|
||||||
tutorial.deposit = Vložit předměty do bloku můžeš přetažením z Tvé lodi na cílový blok.\n\n[accent]Vlož odebranou měď zprátky do Tvého jádra[].
|
hint.research.mobile = Použij tlačítko \ue875 [accent]Výzkum[] v \ue88c [accent]nabídce[] pro vyzkoumání nové technologie.
|
||||||
tutorial.waves = [lightgray]Nepřítel[] se přibližuje.\n\nUbraň své jádro po dobu 2 vln. [accent]Klikni levým tlačítkem[] pro střílení.\nPostav více střílen a vrtů. Natěž více mědi.
|
hint.unitControl = Podrž [accent][[Levý Ctrl][] a [accent]klikni[] pro ovládání spřátelených jednotek nebo věží.
|
||||||
tutorial.waves.mobile = [lightgray]Nepřítel[] se přibližuje.\n\nUbraň své jádro po dobu 2 vln. Tvá loď bude automaticky střílet po nepřátelských jednotkách.\nPostav více střílen a vrtů. Natěž více mědi.
|
hint.unitControl.mobile = [accent][Dvojťupni[] pro ovládání spřátelených jednotek nebo věží.
|
||||||
tutorial.launch = Jakmile dosáhneš určité vlny, budeš moci [accent]vyslat své jádro zpět[]. Opustíš tím svou základnu a [accent]získáš suroviny uložené v jádře[].\nZískané suroviny mohou být použity pro výzkum nových technologií.\n\n[accent]Stiskni tlačítko pro vyslání jádra zpět[].
|
hint.launch = Jakmile je nasbíráno dostatek zdrojových materiálů, můžeš se [accent]vyslat[] do přilehlých sektorů z \ue827 [accent]mapy[] v pravém dolním rohu.
|
||||||
|
hint.launch.mobile = Jakmile je nasbíráno dostatek zdrojových materiálů, můžeš se [accent]vyslat[] do přilehlých sektorů z \ue827 [accent]mapy[] v the \ue88c [accent]nabídce[].
|
||||||
|
hint.schematicSelect = Podrž [accent][[F][] a potáhni pro výběr bloků, které chceš zkopírovat.\n\nKlikni na [accent][[prostřední tlačítko][] myši pro zkopírování jednoho typu bloku.
|
||||||
|
hint.conveyorPathfind = Podrž [accent][[levý Ctrl][], když táhneš dopravníky, pro automatické vygenerování cesty.
|
||||||
|
hint.conveyorPathfind.mobile = Povol \ue844 [accent]úhlopříčný režim[] a potáhni dopravníky pro automatické generování cesty.
|
||||||
|
hint.boost = Podrž [accent][[levý Shift][], abys přeletěl přes překážky se svou současnou jednotkou.\n\nPouze některé jednotky však mají takový posilovač.
|
||||||
|
hint.command = Zmáčkni [accent][[G][] pro vytvoření formace z blízkých jednotek [accent]podobného typu[].\n\nAbys mohl velet pozemní jednotce, musíš nejprve ovládat jinou pozemní jednotku.
|
||||||
|
hint.command.mobile = [accent][[Dvojťupni][] na Tvoji jednotku pro vytvoření formace z blízkých jednotek.
|
||||||
|
hint.payloadPickup = Zmáčkni [accent][[[] pro sebrání malých bloků nebo jednotek.
|
||||||
|
hint.payloadPickup.mobile = [accent]Ťupni a podrž[] na malém bloku nebo jednotce pro sebrání.
|
||||||
|
hint.payloadDrop = Zmáčkni [accent]][] pro položení nákladu.
|
||||||
|
hint.payloadDrop.mobile = [accent]Ťupni a drž[] na prázdném místě pro položení nákladu.
|
||||||
|
hint.waveFire = [accent]Naplň[] věže vodou místo munice pro automatické hašení okolních požárů.
|
||||||
|
hint.generator = \uf879 [accent]Spalovací generátory[] pálí uhlí a přenášení energii do sousedících bloků.\n\nPřenos energie na delší vzdálenost se provádí pomocí \uf87f [accent]Energetických uzlů[].
|
||||||
|
hint.guardian = Jednotky [accent]Strážce[] jsou obrněné. Měkká munice, jako je například [accent]měď[] a [accent]olovo[] je [scarlet]neefektivní[].\n\nPoužij vylepšené věže nebo \uf835 [accent]grafitovou[] munici pro \uf861Střílnu Duo/\uf859Salvu, abys Strážce sejmul.
|
||||||
|
|
||||||
item.copper.description = Používá se ve všech typech bloků a munice.
|
item.copper.description = Používá se ve všech typech bloků a munice.
|
||||||
item.copper.details = Měď. Nezvykle nadpočetný kov na Serpulu. Konstrukčně slabý, pokud není rafinovaná.
|
item.copper.details = Měď. Nezvykle nadpočetný kov na Serpulu. Konstrukčně slabý, pokud není rafinovaná.
|
||||||
item.lead.description = Používá se v přepravě kapalin a elektrických konstrukcích.
|
item.lead.description = Používá se v přepravě kapalin a energetických konstrukcích.
|
||||||
item.lead.details = Hutný, netečný materiál. Hojně používán v bateriích.\nPoznámka: Pravděpodobně toxický pro biologické formy života. Ne že by jich tady moc zbývalo.
|
item.lead.details = Hutný, netečný materiál. Hojně používán v bateriích.\nPoznámka: Pravděpodobně toxický pro biologické formy života. Ne že by jich tady moc zbývalo.
|
||||||
item.metaglass.description = Používá se v přepravě kapalin a úložných konstrukcích.
|
item.metaglass.description = Používá se v přepravě kapalin a úložných konstrukcích.
|
||||||
item.graphite.description = Používá se v elektrických komponentách a nábojích do věží.
|
item.graphite.description = Používá se v energerických komponentách a nábojích do věží.
|
||||||
item.sand.description = Používá se ve výrobě ostatních rafinovaných materiálů.
|
item.sand.description = Používá se ve výrobě ostatních rafinovaných materiálů.
|
||||||
item.coal.description = Používá se na palivo a výrobu rafinovaný materiálů.
|
item.coal.description = Používá se na palivo a výrobu rafinovaný materiálů.
|
||||||
item.coal.details = Jeví se být zkamenělou rostlinou hmotou, zformovaou dávno před událostí vytvoření tohoto světa náhodným číslem.
|
item.coal.details = Jeví se být zkamenělou rostlinou hmotou, zformovaou dávno před událostí vytvoření tohoto světa náhodným číslem.
|
||||||
@@ -1318,21 +1336,21 @@ block.copper-wall.description = Chrání konstrukce před nepřátelskými stře
|
|||||||
block.copper-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
block.copper-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
||||||
block.titanium-wall.description = Chrání konstrukce před nepřátelskými střelami.
|
block.titanium-wall.description = Chrání konstrukce před nepřátelskými střelami.
|
||||||
block.titanium-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
block.titanium-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
||||||
block.plastanium-wall.description = Chrání konstrukce před nepřátelskými střelami. Pohlcuje laserové a elektrické výboje. Automaticky blokuje energetické spoje.
|
block.plastanium-wall.description = Chrání konstrukce před nepřátelskými střelami. Pohlcuje laserové a energetické výboje. Automaticky blokuje energetické spoje.
|
||||||
block.plastanium-wall-large.description = Chrání konstrukce před nepřátelskými střelami. Absorbs lasers and electric arcs. Automaticky blokuje energetické spoje.
|
block.plastanium-wall-large.description = Chrání konstrukce před nepřátelskými střelami. Absorbs lasers and electric arcs. Automaticky blokuje energetické spoje.
|
||||||
block.thorium-wall.description = Chrání konstrukce před nepřátelskými střelami.
|
block.thorium-wall.description = Chrání konstrukce před nepřátelskými střelami.
|
||||||
block.thorium-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
block.thorium-wall-large.description = Chrání konstrukce před nepřátelskými střelami.
|
||||||
block.phase-wall.description = Chrání konstrukce před nepřátelskými střelami, reflecting most bullets upon impact.
|
block.phase-wall.description = Chrání konstrukce před nepřátelskými střelami, reflecting most bullets upon impact.
|
||||||
block.phase-wall-large.description = Chrání konstrukce před nepřátelskými střelami, reflecting most bullets upon impact.
|
block.phase-wall-large.description = Chrání konstrukce před nepřátelskými střelami, reflecting most bullets upon impact.
|
||||||
block.surge-wall.description = Chrání konstrukce před nepřátelskými střelami. Při doteku opakovaně vydává elektrické výboje.
|
block.surge-wall.description = Chrání konstrukce před nepřátelskými střelami. Při doteku opakovaně vydává energetické výboje.
|
||||||
block.surge-wall-large.description = Chrání konstrukce před nepřátelskými střelami. Při doteku opakovaně vydává elektrické výboje.
|
block.surge-wall-large.description = Chrání konstrukce před nepřátelskými střelami. Při doteku opakovaně vydává energetické výboje.
|
||||||
block.door.description = Zeď, která může být otevřena a zavřena.
|
block.door.description = Zeď, která může být otevřena a zavřena.
|
||||||
block.door-large.description = Zeď, která může být otevřena a zavřena.
|
block.door-large.description = Zeď, která může být otevřena a zavřena.
|
||||||
block.mender.description = Opakovaně opravuje bloky ve svém dosahu.\nVolitelně umí použít křemík pro posílení dosahu a efektivity.
|
block.mender.description = Opakovaně opravuje bloky ve svém dosahu.\nVolitelně umí použít křemík pro posílení dosahu a efektivity.
|
||||||
block.mend-projector.description = Opakovaně opravuje bloky ve svém dosahu.\nVolitelně umí použít fázovou tkaninu pro posílení dosahu a efektivity.
|
block.mend-projector.description = Opakovaně opravuje bloky ve svém dosahu.\nVolitelně umí použít fázovou tkaninu pro posílení dosahu a efektivity.
|
||||||
block.overdrive-projector.description = Zrychluje funkce budov v okolí.\nVolitelně umí využít fázovou tkaninu pro posílení dosahu a efektivity.
|
block.overdrive-projector.description = Zrychluje funkce budov v okolí.\nVolitelně umí využít fázovou tkaninu pro posílení dosahu a efektivity.
|
||||||
block.force-projector.description = Vytváří okolo sebe šestiúhelníkové silové pole. Chrání konstrukce a jednotky uvnitř pole před poškozením.\nPřehřívá se, pokud obdrží moc poškození. Přehřátí lze eliminovat použitím chlazení. Fázová tkanina zvyšje velikost pole.
|
block.force-projector.description = Vytváří okolo sebe šestiúhelníkové silové pole. Chrání konstrukce a jednotky uvnitř pole před poškozením.\nPřehřívá se, pokud obdrží moc poškození. Přehřátí lze eliminovat použitím chlazení. Fázová tkanina zvyšje velikost pole.
|
||||||
block.shock-mine.description = Vydává elektrické výboje při dotyku nepřátelskou jednotkou.
|
block.shock-mine.description = Vydává energetické výboje při dotyku nepřátelskou jednotkou.
|
||||||
block.conveyor.description = Přepravuje předměty vpřed.
|
block.conveyor.description = Přepravuje předměty vpřed.
|
||||||
block.titanium-conveyor.description = Přepravuje předměty vpřed. Rychlejší, než standardní dopravník.
|
block.titanium-conveyor.description = Přepravuje předměty vpřed. Rychlejší, než standardní dopravník.
|
||||||
block.plastanium-conveyor.description = Přepravuje předměty vpřed in batches. Přijímá předměty zezadu, a vykládá je do tří směrů vpředu. Vyžaduje více nakládacích a vykládacích bodů pro špičkový průtok.
|
block.plastanium-conveyor.description = Přepravuje předměty vpřed in batches. Přijímá předměty zezadu, a vykládá je do tří směrů vpředu. Vyžaduje více nakládacích a vykládacích bodů pro špičkový průtok.
|
||||||
@@ -1438,7 +1456,7 @@ unit.fortress.description = Střílí dělostřelecké salvy na pozemní cíle.
|
|||||||
unit.scepter.description = Střílí palbu nabitých střel na všechny okolní nepřátele.
|
unit.scepter.description = Střílí palbu nabitých střel na všechny okolní nepřátele.
|
||||||
unit.reign.description = Střílí palbu masivních střel pronikajících brněním na všechny okolní nepřátele.
|
unit.reign.description = Střílí palbu masivních střel pronikajících brněním na všechny okolní nepřátele.
|
||||||
unit.nova.description = Střílí laserové výboje, které poškozují nepřátele a opravují spojenecké konstrukce. Je schopný letu.
|
unit.nova.description = Střílí laserové výboje, které poškozují nepřátele a opravují spojenecké konstrukce. Je schopný letu.
|
||||||
unit.pulsar.description = Střílí oblouky elektřiny, které poškozují nepřátele a opravují spojenecké struktury. Schopný letu.
|
unit.pulsar.description = Střílí energetické oblouky, které poškozují nepřátele a opravují spojenecké struktury. Schopný letu.
|
||||||
unit.quasar.description = Střílí pronikavé laserové paprsky, které poškozují nepřátele a opravují spojenecké struktury. Schopný letu. Oštítovaný.
|
unit.quasar.description = Střílí pronikavé laserové paprsky, které poškozují nepřátele a opravují spojenecké struktury. Schopný letu. Oštítovaný.
|
||||||
unit.vela.description = Střílí masivní nepřetržitý laserový paprsek, který poškozuje nepřátele, způsobuje požáry a opravuje spojenecké struktury. Schopný letu.
|
unit.vela.description = Střílí masivní nepřetržitý laserový paprsek, který poškozuje nepřátele, způsobuje požáry a opravuje spojenecké struktury. Schopný letu.
|
||||||
unit.corvus.description = Střílí masivní laserový paprsek, který poškozuje nepřátele a opravuje spojenecké struktury. Může překonat většinu z terénů.
|
unit.corvus.description = Střílí masivní laserový paprsek, který poškozuje nepřátele a opravuje spojenecké struktury. Může překonat většinu z terénů.
|
||||||
@@ -1446,7 +1464,7 @@ unit.crawler.description = Běží směrem k nepřátelům, vybuchne a způsobí
|
|||||||
unit.atrax.description = Střílí oslabující koule strusky na pozemní cíle. Může překonat většinu z terénů.
|
unit.atrax.description = Střílí oslabující koule strusky na pozemní cíle. Může překonat většinu z terénů.
|
||||||
unit.spiroct.description = Střílí mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může překročit většinu terénu.
|
unit.spiroct.description = Střílí mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může překročit většinu terénu.
|
||||||
unit.arkyid.description = Střílí velké mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může překročit většinu terénu.
|
unit.arkyid.description = Střílí velké mířené laserové paprsky na nepřátele, a zároveň se tím opravuje. Může překročit většinu terénu.
|
||||||
unit.toxopid.description = Střílí na nepřátele velké elektrické kazetové střely a lasery pronikající brněním. Může překročit většinu z terénů.
|
unit.toxopid.description = Střílí na nepřátele velké energetické kazetové střely a lasery pronikající brněním. Může překročit většinu z terénů.
|
||||||
unit.flare.description = Střílí základní střely na okolní nepřátele.
|
unit.flare.description = Střílí základní střely na okolní nepřátele.
|
||||||
unit.horizon.description = Pouští shluky bomb na pozemní cíle.
|
unit.horizon.description = Pouští shluky bomb na pozemní cíle.
|
||||||
unit.zenith.description = Střílí salvy raket na všechny blízké nepřátele.
|
unit.zenith.description = Střílí salvy raket na všechny blízké nepřátele.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -17,11 +17,13 @@ linkfail = Gagal membuka tautan!\nURL disalin ke papan ke papan klip.
|
|||||||
screenshot = Tangkapan layar disimpan di {0}
|
screenshot = Tangkapan layar disimpan di {0}
|
||||||
screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar.
|
screenshot.invalid = Peta terlalu besar, tidak cukup memori untuk menangkap layar.
|
||||||
gameover = Permainan Habis
|
gameover = Permainan Habis
|
||||||
|
gameover.disconnect = Terputus
|
||||||
gameover.pvp = Tim[accent] {0}[] menang!
|
gameover.pvp = Tim[accent] {0}[] menang!
|
||||||
|
gameover.waiting = [accent]Menunggu peta selanjutnya...
|
||||||
highscore = [accent]Rekor Baru!
|
highscore = [accent]Rekor Baru!
|
||||||
copied = Tersalin.
|
copied = Tersalin.
|
||||||
indevpopup = [accent]v6[] saat ini dalam versi [accent]alpha[].\n[lightgray]Artinya:[]\n[scarlet]- Kampanye belum sepenuhnya selesai[]\n- Beberapa konten tidak tersedia\n - Beberapa [scarlet]Unit AI[] tidak sepenuhnya bekerja\n- Beberapa unit belum sepenuhnya selesai\n- Semua yang kamu lihat dapat berubah atau dihapus sewaktu-waktu.\n\nLaporkan bug atau crash di [accent]Github[].
|
|
||||||
indev.notready = Bagian tersebut saat ini belum siap
|
indev.notready = Bagian tersebut saat ini belum siap
|
||||||
|
indev.campaign = [accent]Selamat! Kamu telah mencapai batas dari kampanye![]\n\nHanya sejauh ini yang kamu bisa. Perjalanan antarplanet akan ditambahkan di masa mendatang.
|
||||||
|
|
||||||
load.sound = Suara
|
load.sound = Suara
|
||||||
load.map = Peta
|
load.map = Peta
|
||||||
@@ -57,6 +59,7 @@ schematic.rename = Ganti nama Skema
|
|||||||
schematic.info = {0}x{1}, {2} blok
|
schematic.info = {0}x{1}, {2} blok
|
||||||
schematic.disabled = [scarlet]Skema dilarang[]\nAnda tidak diperbolehkan untuk menggunakan skema di [accent]peta[] atau [accent]server ini.
|
schematic.disabled = [scarlet]Skema dilarang[]\nAnda tidak diperbolehkan untuk menggunakan skema di [accent]peta[] atau [accent]server ini.
|
||||||
|
|
||||||
|
stats = Statistik
|
||||||
stat.wave = Gelombang Terkalahkan:[accent] {0}
|
stat.wave = Gelombang Terkalahkan:[accent] {0}
|
||||||
stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0}
|
stat.enemiesDestroyed = Musuh Terhancurkan:[accent] {0}
|
||||||
stat.built = Jumlah Blok yang Dibangun:[accent] {0}
|
stat.built = Jumlah Blok yang Dibangun:[accent] {0}
|
||||||
@@ -143,8 +146,12 @@ planetmap = Peta Planet
|
|||||||
launchcore = Luncurkan Inti
|
launchcore = Luncurkan Inti
|
||||||
filename = Nama File:
|
filename = Nama File:
|
||||||
unlocked = Konten baru terbuka!
|
unlocked = Konten baru terbuka!
|
||||||
|
available = Penelitian baru tersedia!
|
||||||
completed = [accent]Terselesaikan
|
completed = [accent]Terselesaikan
|
||||||
techtree = Cabang Teknologi
|
techtree = Cabang Teknologi
|
||||||
|
research.legacy = Data penelitian [accent]5.0[] ditemukan.\nApakah kamu ingin [accent]memuat data ini[], atau [accent]mengabaikannya[] dan memulai ulang penelitian di kampanye terbaru (disarankan)?
|
||||||
|
research.load = Muat
|
||||||
|
research.discard = Abaikan
|
||||||
research.list = [lightgray]Penelitian:
|
research.list = [lightgray]Penelitian:
|
||||||
research = Penelitian
|
research = Penelitian
|
||||||
researched = [lightgray]{0} telah diteliti.
|
researched = [lightgray]{0} telah diteliti.
|
||||||
@@ -189,6 +196,10 @@ servers.local = Server Lokal
|
|||||||
servers.remote = Server Jarak Jauh (Simpanan)
|
servers.remote = Server Jarak Jauh (Simpanan)
|
||||||
servers.global = Server Komunitas
|
servers.global = Server Komunitas
|
||||||
|
|
||||||
|
servers.showhidden = Tampilkan Server Tersembunyi
|
||||||
|
server.shown = Ditampilkan
|
||||||
|
server.hidden = Disembunyikan
|
||||||
|
|
||||||
trace = Melacak Pemain
|
trace = Melacak Pemain
|
||||||
trace.playername = Nama pemain: [accent]{0}
|
trace.playername = Nama pemain: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}
|
trace.ip = IP: [accent]{0}
|
||||||
@@ -221,7 +232,8 @@ disconnect.closed = Koneksi ditutup.
|
|||||||
disconnect.timeout = Waktu habis.
|
disconnect.timeout = Waktu habis.
|
||||||
disconnect.data = Gagal memuat data server!
|
disconnect.data = Gagal memuat data server!
|
||||||
cantconnect = Gagal menyambung! ([accent]{0}[]).
|
cantconnect = Gagal menyambung! ([accent]{0}[]).
|
||||||
connecting = [accent]Memasuki...
|
connecting = [accent]Menghubungkan...
|
||||||
|
reconnecting = [accent]Menghubungkan kembali...
|
||||||
connecting.data = [accent]Memuat data server...
|
connecting.data = [accent]Memuat data server...
|
||||||
server.port = Port:
|
server.port = Port:
|
||||||
server.addressinuse = Alamat sudah ada!
|
server.addressinuse = Alamat sudah ada!
|
||||||
@@ -286,6 +298,7 @@ cancelbuilding = [accent][[{0}][] untuk menghapus rencana
|
|||||||
selectschematic = [accent][[{0}][] untuk memilih+salin
|
selectschematic = [accent][[{0}][] untuk memilih+salin
|
||||||
pausebuilding = [accent][[{0}][] untuk berhenti membangun
|
pausebuilding = [accent][[{0}][] untuk berhenti membangun
|
||||||
resumebuilding = [scarlet][[{0}][] untuk lanjut membangun
|
resumebuilding = [scarlet][[{0}][] untuk lanjut membangun
|
||||||
|
showui = UI disembunyikan.\nTekan [accent][[{0}][] untuk menampilkan UI.
|
||||||
wave = [accent]Gelombang {0}
|
wave = [accent]Gelombang {0}
|
||||||
wave.cap = [accent]Gelombang {0}/{1}
|
wave.cap = [accent]Gelombang {0}/{1}
|
||||||
wave.waiting = [lightgray]Gelombang di {0}
|
wave.waiting = [lightgray]Gelombang di {0}
|
||||||
@@ -293,9 +306,11 @@ wave.waveInProgress = [lightgray]Gelombang sedang berlangsung
|
|||||||
waiting = [lightgray]Menunggu...
|
waiting = [lightgray]Menunggu...
|
||||||
waiting.players = Menunggu pemain lainnya...
|
waiting.players = Menunggu pemain lainnya...
|
||||||
wave.enemies = [lightgray]{0} Musuh Tersisa
|
wave.enemies = [lightgray]{0} Musuh Tersisa
|
||||||
|
wave.enemycores = [accent]{0}[lightgray] Inti Musuh
|
||||||
|
wave.enemycore = [accent]{0}[lightgray] Inti Musuh
|
||||||
wave.enemy = [lightgray]{0} Musuh Tersisa
|
wave.enemy = [lightgray]{0} Musuh Tersisa
|
||||||
wave.guardianwarn = Guardian akan tiba dalam [accent]{0}[] gelombang.
|
wave.guardianwarn = Penjaga akan tiba dalam [accent]{0}[] gelombang.
|
||||||
wave.guardianwarn.one = Guardian akan tiba dalam [accent]{0}[] gelombang.
|
wave.guardianwarn.one = Penjaga akan tiba dalam [accent]{0}[] gelombang.
|
||||||
loadimage = Memuat Gambar
|
loadimage = Memuat Gambar
|
||||||
saveimage = Simpan Gambar
|
saveimage = Simpan Gambar
|
||||||
unknown = Tak diketahui
|
unknown = Tak diketahui
|
||||||
@@ -344,7 +359,7 @@ waves.waves = gelombang
|
|||||||
waves.perspawn = per muncul
|
waves.perspawn = per muncul
|
||||||
waves.shields = perisai/gelombang
|
waves.shields = perisai/gelombang
|
||||||
waves.to = sampai
|
waves.to = sampai
|
||||||
waves.guardian = Guardian
|
waves.guardian = Penjaga
|
||||||
waves.preview = Pratinjau
|
waves.preview = Pratinjau
|
||||||
waves.edit = Sunting...
|
waves.edit = Sunting...
|
||||||
waves.copy = Salin ke Papan klip
|
waves.copy = Salin ke Papan klip
|
||||||
@@ -482,28 +497,23 @@ complete = [lightgray]Mencapai:
|
|||||||
requirement.wave = Capai gelombang {0} dalam {1}
|
requirement.wave = Capai gelombang {0} dalam {1}
|
||||||
requirement.core = Hancurkan inti musuh dalam {0}
|
requirement.core = Hancurkan inti musuh dalam {0}
|
||||||
requirement.research = Kembangkan {0}
|
requirement.research = Kembangkan {0}
|
||||||
|
requirement.produce = Produksi {0}
|
||||||
requirement.capture = Kuasai {0}
|
requirement.capture = Kuasai {0}
|
||||||
bestwave = [lightgray]Gelombang Terbaik: {0}
|
|
||||||
launch.text = Luncurkan
|
launch.text = Luncurkan
|
||||||
research.multiplayer = Hanya host yang dapat meneliti item.
|
research.multiplayer = Hanya host yang dapat meneliti item.
|
||||||
|
map.multiplayer = Hanya host yang dapat melihat sektor.
|
||||||
uncover = Buka
|
uncover = Buka
|
||||||
configure = Konfigurasi Muatan
|
configure = Konfigurasi Muatan
|
||||||
|
|
||||||
#TODO
|
|
||||||
loadout = Muatan
|
loadout = Muatan
|
||||||
resources = Sumber Daya
|
resources = Sumber Daya
|
||||||
bannedblocks = Balok yang dilarang
|
bannedblocks = Balok yang dilarang
|
||||||
addall = Tambah Semua
|
addall = Tambah Semua
|
||||||
|
launch.from = Meluncurkan Dari: [accent]{0}
|
||||||
launch.destination = Destinasi: {0}
|
launch.destination = Destinasi: {0}
|
||||||
configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}.
|
configure.invalid = Jumlah harus berupa angka diantara 0 dan {0}.
|
||||||
zone.unlocked = [lightgray]{0} terbuka.
|
|
||||||
zone.requirement.complete = Gelombang {0} terselesaikan:\nPersyaratan zona {1} tercapai.
|
|
||||||
zone.resources = [lightgray]Sumber Daya Terdeteksi:
|
|
||||||
zone.objective = [lightgray]Objektif: [accent]{0}
|
|
||||||
zone.objective.survival = Bertahan
|
|
||||||
zone.objective.attack = Hancurkan Inti Musuh
|
|
||||||
add = Menambahkan...
|
add = Menambahkan...
|
||||||
boss.health = Darah Bos
|
boss.health = Darah Penjaga
|
||||||
|
|
||||||
connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0}
|
connectfail = [scarlet]Gagal menyambung ke server:\n\n[accent]{0}
|
||||||
error.unreachable = Server tak terjangkau.\nApakah alamatnya benar?
|
error.unreachable = Server tak terjangkau.\nApakah alamatnya benar?
|
||||||
@@ -525,34 +535,56 @@ weather.fog.name = Kabut
|
|||||||
sectors.unexplored = [lightgray]Belum Ditelusuri
|
sectors.unexplored = [lightgray]Belum Ditelusuri
|
||||||
sectors.resources = Sumber Daya:
|
sectors.resources = Sumber Daya:
|
||||||
sectors.production = Produksi:
|
sectors.production = Produksi:
|
||||||
|
sectors.export = Ekspor:
|
||||||
|
sectors.time = Waktu:
|
||||||
|
sectors.threat = Threat:
|
||||||
|
sectors.wave = Gelombang:
|
||||||
sectors.stored = Terisi:
|
sectors.stored = Terisi:
|
||||||
sectors.resume = Lanjutkan
|
sectors.resume = Lanjutkan
|
||||||
sectors.launch = Luncurkan
|
sectors.launch = Luncurkan
|
||||||
sectors.select = Pilih
|
sectors.select = Pilih
|
||||||
sectors.nonelaunch = [lightgray]tidak ada
|
sectors.nonelaunch = [lightgray]tidak ada
|
||||||
sectors.rename = Ganti Nama Sektor
|
sectors.rename = Ganti Nama Sektor
|
||||||
|
sectors.enemybase = [scarlet]Markas Musuh
|
||||||
|
sectors.vulnerable = [scarlet]Vulnerable
|
||||||
|
sectors.underattack = [scarlet]Under attack! [accent]{0}% damaged
|
||||||
|
sectors.survives = [accent]Survives {0} waves
|
||||||
|
sectors.go = Mulai
|
||||||
|
sector.curcapture = Sektor Ditaklukkan
|
||||||
|
sector.curlost = Sector Lost
|
||||||
sector.missingresources = [scarlet]Sumber Daya Inti Tidak Cukup
|
sector.missingresources = [scarlet]Sumber Daya Inti Tidak Cukup
|
||||||
|
sector.attacked = Sektor [accent]{0}[white] sedang diserang!
|
||||||
|
sector.lost = Sektor [accent]{0}[white] telah dihancurkan!
|
||||||
|
#note: the missing space in the line below is intentional
|
||||||
|
sector.captured = Sektor [accent]{0}[white]ditaklukkan!
|
||||||
|
|
||||||
|
threat.low = Rendah
|
||||||
|
threat.medium = Sedang
|
||||||
|
threat.high = Tinggi
|
||||||
|
threat.extreme = Ekstrem
|
||||||
|
threat.eradication = Pemusnahan
|
||||||
|
|
||||||
|
planets = Planet
|
||||||
|
|
||||||
planet.serpulo.name = Serpulo
|
planet.serpulo.name = Serpulo
|
||||||
#TODO better name
|
|
||||||
planet.sun.name = Matahari
|
planet.sun.name = Matahari
|
||||||
|
|
||||||
#NOTE TO TRANSLATORS: don't bother editing these, they'll be removed and/or rewritten anyway
|
sector.impact0078.name = Impact 0078
|
||||||
sector.groundZero.name = Ground Zero
|
sector.groundZero.name = Titik Nol
|
||||||
sector.craters.name = The Craters
|
sector.craters.name = Kawah
|
||||||
sector.frozenForest.name = Frozen Forest
|
sector.frozenForest.name = Hutan Yang Beku
|
||||||
sector.ruinousShores.name = Ruinous Shores
|
sector.ruinousShores.name = Pantai Yang Hancur
|
||||||
sector.stainedMountains.name = Stained Mountains
|
sector.stainedMountains.name = Gunung Bernoda
|
||||||
sector.desolateRift.name = Desolate Rift
|
sector.desolateRift.name = Retakan Terpencil
|
||||||
sector.nuclearComplex.name = Nuclear Production Complex
|
sector.nuclearComplex.name = Kompleks Produksi Nuklir
|
||||||
sector.overgrowth.name = Overgrowth
|
sector.overgrowth.name = Pertumbuhan
|
||||||
sector.tarFields.name = Tar Fields
|
sector.tarFields.name = Lahan Tar
|
||||||
sector.saltFlats.name = Salt Flats
|
sector.saltFlats.name = Dataran Garam
|
||||||
sector.fungalPass.name = Fungal Pass
|
sector.fungalPass.name = Lintasan Spora
|
||||||
|
sector.biomassFacility.name = Pabrik Sintesis Biomassa
|
||||||
#unused
|
sector.windsweptIslands.name = Pulau Bersemilir
|
||||||
#sector.impact0078.name = Impact 0078
|
sector.extractionOutpost.name = Pos Ekstraksi
|
||||||
#sector.crags.name = Crags
|
sector.planetaryTerminal.name = Pusat Peluncuran Planet
|
||||||
|
|
||||||
sector.groundZero.description = Lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Beberapa sumber daya dapat dikumpulkan.\nKumpulkan timah dan tembaga sebanyak yang kamu bisa.\nMulai dari sini.
|
sector.groundZero.description = Lokasi yang optimal untuk bermain satu kali lagi. Sangat sedikit musuh. Beberapa sumber daya dapat dikumpulkan.\nKumpulkan timah dan tembaga sebanyak yang kamu bisa.\nMulai dari sini.
|
||||||
sector.frozenForest.description = Disini, dekat dengan gunung, spora sudah menyebar. Suhu dingin tidak dapat menahannya.\n\nHasilkan listrik. Bangun generator pembakar. Pelajari cara menggunakan mender.
|
sector.frozenForest.description = Disini, dekat dengan gunung, spora sudah menyebar. Suhu dingin tidak dapat menahannya.\n\nHasilkan listrik. Bangun generator pembakar. Pelajari cara menggunakan mender.
|
||||||
@@ -565,6 +597,11 @@ sector.tarFields.description = Terletak di pinggiran zona produksi minyak, diant
|
|||||||
sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat beresiko tinggi untuk dihancurkan. Keluar secepat yang kamu bisa. Jangan terlena karena waktu antara gelombang yang lama.
|
sector.desolateRift.description = Zona yang sangat berbahaya. Banyak sumber daya, tetapi terdapat sedikit ruang. Sangat beresiko tinggi untuk dihancurkan. Keluar secepat yang kamu bisa. Jangan terlena karena waktu antara gelombang yang lama.
|
||||||
sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses thorium, telah hancur.\n[lightgray]Pelajari thorium dan cara penggunaanya.\n\nMusuh disini menyerang dalam jumlah besar, yang siap untuk menghadapi siapapun.
|
sector.nuclearComplex.description = Sebuah fasilitas untuk memproduksi dan memproses thorium, telah hancur.\n[lightgray]Pelajari thorium dan cara penggunaanya.\n\nMusuh disini menyerang dalam jumlah besar, yang siap untuk menghadapi siapapun.
|
||||||
sector.fungalPass.description = Area ini terdapat diantara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun basis kecil disini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka.
|
sector.fungalPass.description = Area ini terdapat diantara pegunungan yang lebih tinggi dengan yang lebih rendah, juga daerah yang dipenuhi spora. Musuh membangun basis kecil disini.\nHancurkan itu.\nGunakan unit Dagger dan Crawler. Hancurkan dua inti mereka.
|
||||||
|
sector.biomassFacility.description = Asal dari semua spora di planet ini. Tempat ini adalah fasilitas dimana spora dipelajari dan diproduksi.\nPelajari teknologi yang terkait dengannya. Budi dayakan spora untuk memproduksi bahan bakar dan plastik.\n\n[lightgray]Setelah fasilitas ini hancur, spora menyebar. Tidak ada di ekosistem lokal yang dapat bersaing dengan organisme invasif seperti itu.
|
||||||
|
sector.windsweptIslands.description = Jauh dari pantai terdapat sekumpulan pulau. Catatan yang ada mengatakan bahwa mereka memiliki struktur untuk memproduksi [accent]Plastanium[].\n\nKalahkan unit laut musuh. Bangun basis di kepulauan ini. Pelajari pabriknya.
|
||||||
|
sector.extractionOutpost.description = Sebuah pos jarak jauh, dibangun musuh untuk meluncurkan sumber daya ke sektor yang lain.\n\nTeknologi tarnsportasi antar sektor dapat memudahkan untuk menaklukan lebih banyak sektor. Hancurkan basis itu. Pelajari Alas Peluncur mereka.
|
||||||
|
sector.impact0078.description = Di sini terletak sisa-sisa pesawat antarbintang yang pertama kali memasuki sistem ini.\n\nSelamatkan apapun yang ada dari sisa-sisa pesawat. Pelajari teknologi apa pun yang utuh.
|
||||||
|
sector.planetaryTerminal.description = Target terakhir.\n\nBasis pantai ini memiliki struktur yang dapat meluncurkan inti ke planet disekitarnya. Memiliki pertahanan yang sangat bagus.\n\nProduksi unit laut. Hancurkan musuh secepat mungkin. Pelajari struktur peluncuran mereka.
|
||||||
|
|
||||||
settings.language = Bahasa
|
settings.language = Bahasa
|
||||||
settings.data = Data Game
|
settings.data = Data Game
|
||||||
@@ -596,7 +633,7 @@ unit.nobuild = [scarlet]Unit tidak dapat membangun
|
|||||||
lastaccessed = [lightgray]Terakhir Diakses: {0}
|
lastaccessed = [lightgray]Terakhir Diakses: {0}
|
||||||
block.unknown = [lightgray]???
|
block.unknown = [lightgray]???
|
||||||
|
|
||||||
stat.description = Purpose
|
stat.description = Kegunaan
|
||||||
stat.input = Masukan
|
stat.input = Masukan
|
||||||
stat.output = Pengeluaran
|
stat.output = Pengeluaran
|
||||||
stat.booster = Pendorong
|
stat.booster = Pendorong
|
||||||
@@ -624,6 +661,8 @@ stat.memorycapacity = Kapasitas Memori
|
|||||||
stat.basepowergeneration = Basis Generasi Tenaga
|
stat.basepowergeneration = Basis Generasi Tenaga
|
||||||
stat.productiontime = Waktu Produksi
|
stat.productiontime = Waktu Produksi
|
||||||
stat.repairtime = Waktu Memperbaiki Blok Penuh
|
stat.repairtime = Waktu Memperbaiki Blok Penuh
|
||||||
|
stat.weapons = Senjata
|
||||||
|
stat.bullet = Peluru
|
||||||
stat.speedincrease = Tambahan Kecepatan
|
stat.speedincrease = Tambahan Kecepatan
|
||||||
stat.range = Jarak
|
stat.range = Jarak
|
||||||
stat.drilltier = Sumber Daya yang Bisa di Bor
|
stat.drilltier = Sumber Daya yang Bisa di Bor
|
||||||
@@ -632,22 +671,22 @@ stat.boosteffect = Efek Pendorong
|
|||||||
stat.maxunits = Maks Unit Aktif
|
stat.maxunits = Maks Unit Aktif
|
||||||
stat.health = Darah
|
stat.health = Darah
|
||||||
stat.buildtime = Waktu Pembuatan
|
stat.buildtime = Waktu Pembuatan
|
||||||
stat.maxconsecutive = Max Consecutive
|
stat.maxconsecutive = Maks Konsekutif
|
||||||
stat.buildcost = Biaya Bangunan
|
stat.buildcost = Biaya Bangunan
|
||||||
stat.inaccuracy = Jarak Melenceng
|
stat.inaccuracy = Jarak Melenceng
|
||||||
stat.shots = Tembakan
|
stat.shots = Tembakan
|
||||||
stat.reload = Tembakan/Detik
|
stat.reload = Tembakan/Detik
|
||||||
stat.ammo = Amunisi
|
stat.ammo = Amunisi
|
||||||
stat.shieldhealth = Darah Perisai
|
stat.shieldhealth = Darah Perisai
|
||||||
stat.cooldowntime = Cooldown Time
|
stat.cooldowntime = Waktu Pendinginan
|
||||||
stat.explosiveness = Explosiveness
|
stat.explosiveness = Ledakan
|
||||||
stat.basedeflectchance = Base Deflect Chance
|
stat.basedeflectchance = Peluang Defleksi Dasar
|
||||||
stat.lightningchance = Lightning Chance
|
stat.lightningchance = Peluang Menghasilkan Petir
|
||||||
stat.lightningdamage = Lightning Damage
|
stat.lightningdamage = Kerusakan Petir
|
||||||
stat.flammability = Flammability
|
stat.flammability = Pembakar
|
||||||
stat.radioactivity = Radioactivity
|
stat.radioactivity = Radiasi
|
||||||
stat.heatcapacity = Heat Capacity
|
stat.heatcapacity = Kapasitas Panas
|
||||||
stat.viscosity = Viscosity
|
stat.viscosity = Kelekatan
|
||||||
stat.temperature = Temperatur
|
stat.temperature = Temperatur
|
||||||
stat.speed = Kecepatan
|
stat.speed = Kecepatan
|
||||||
stat.buildspeed = Kecepatan Membangun
|
stat.buildspeed = Kecepatan Membangun
|
||||||
@@ -655,15 +694,16 @@ stat.minespeed = Kecepatan Menambang
|
|||||||
stat.minetier = Tingkat Menambang
|
stat.minetier = Tingkat Menambang
|
||||||
stat.payloadcapacity = Kapasitas Muatan
|
stat.payloadcapacity = Kapasitas Muatan
|
||||||
stat.commandlimit = Batas Perintah
|
stat.commandlimit = Batas Perintah
|
||||||
stat.abilities = Abilities
|
stat.abilities = Kemampuan
|
||||||
stat.canboost = Can Boost
|
stat.canboost = Dapat dipercepat
|
||||||
stat.flying = Terbang
|
stat.flying = Terbang
|
||||||
|
|
||||||
ability.forcefield = Force Field
|
ability.forcefield = Bidang Kekuatan
|
||||||
ability.repairfield = Repair Field
|
ability.repairfield = Bidang Perbaikan
|
||||||
ability.statusfield = Status Field
|
ability.statusfield = Bidang Status
|
||||||
ability.unitspawn = {0} Pabrik
|
ability.unitspawn = {0} Pabrik
|
||||||
ability.shieldregenfield = Shield Regen Field
|
ability.shieldregenfield = Bidang Regenerasi Perisai
|
||||||
|
ability.movelightning = Pergerakan Petir
|
||||||
|
|
||||||
bar.drilltierreq = Membutuhkan Bor yang Lebih Baik
|
bar.drilltierreq = Membutuhkan Bor yang Lebih Baik
|
||||||
bar.noresources = Sumber Daya Tidak Ditemukan
|
bar.noresources = Sumber Daya Tidak Ditemukan
|
||||||
@@ -692,12 +732,14 @@ units.processorcontrol = [lightgray]Dikendalikan Prosesor
|
|||||||
bullet.damage = [stat]{0}[lightgray] kekuatan (dmg)
|
bullet.damage = [stat]{0}[lightgray] kekuatan (dmg)
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak
|
bullet.splashdamage = [stat]{0}[lightgray] kekuatan percikan~[stat] {1}[lightgray] kotak
|
||||||
bullet.incendiary = [stat]membakar
|
bullet.incendiary = [stat]membakar
|
||||||
|
bullet.sapping = [stat]sapping
|
||||||
bullet.homing = [stat]mengejar
|
bullet.homing = [stat]mengejar
|
||||||
bullet.shock = [stat]mengkejut
|
bullet.shock = [stat]mengkejut
|
||||||
bullet.frag = [stat]menyebar
|
bullet.frag = [stat]menyebar
|
||||||
bullet.knockback = [stat]{0}[lightgray] pantulan kembali
|
bullet.knockback = [stat]{0}[lightgray] pantulan kembali
|
||||||
bullet.pierce = [stat]{0}[lightgray]x tembus
|
bullet.pierce = [stat]{0}[lightgray]x tembus
|
||||||
bullet.infinitepierce = [stat]menembus
|
bullet.infinitepierce = [stat]menembus
|
||||||
|
bullet.healpercent = [stat]{0}[lightgray]% menyembuhkan
|
||||||
bullet.freezing = [stat]membeku
|
bullet.freezing = [stat]membeku
|
||||||
bullet.tarred = [stat]tar
|
bullet.tarred = [stat]tar
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x multiplikasi amunisi
|
bullet.multiplier = [stat]{0}[lightgray]x multiplikasi amunisi
|
||||||
@@ -722,7 +764,7 @@ unit.items = item
|
|||||||
unit.thousands = rb
|
unit.thousands = rb
|
||||||
unit.millions = jt
|
unit.millions = jt
|
||||||
unit.billions = m
|
unit.billions = m
|
||||||
category.purpose = Purpose
|
category.purpose = Kegunaan
|
||||||
category.general = Umum
|
category.general = Umum
|
||||||
category.power = Tenaga
|
category.power = Tenaga
|
||||||
category.liquids = Zat Cair
|
category.liquids = Zat Cair
|
||||||
@@ -765,7 +807,6 @@ setting.conveyorpathfinding.name = Navigasi Pengantar Otomatis
|
|||||||
setting.sensitivity.name = Sensitivitas Kontroler
|
setting.sensitivity.name = Sensitivitas Kontroler
|
||||||
setting.saveinterval.name = Jarak Menyimpan
|
setting.saveinterval.name = Jarak Menyimpan
|
||||||
setting.seconds = {0} detik
|
setting.seconds = {0} detik
|
||||||
setting.blockselecttimeout.name = Waktu Habis Pemilihan Blok
|
|
||||||
setting.milliseconds = {0} milidetik
|
setting.milliseconds = {0} milidetik
|
||||||
setting.fullscreen.name = Layar Penuh
|
setting.fullscreen.name = Layar Penuh
|
||||||
setting.borderlesswindow.name = Jendela tak Berbatas[lightgray] (mungkin memerlukan mengulang kembali)
|
setting.borderlesswindow.name = Jendela tak Berbatas[lightgray] (mungkin memerlukan mengulang kembali)
|
||||||
@@ -854,6 +895,8 @@ keybind.menu.name = Menu
|
|||||||
keybind.pause.name = Jeda
|
keybind.pause.name = Jeda
|
||||||
keybind.pause_building.name = Jeda/Lanjut Membangun
|
keybind.pause_building.name = Jeda/Lanjut Membangun
|
||||||
keybind.minimap.name = Peta Kecil
|
keybind.minimap.name = Peta Kecil
|
||||||
|
keybind.planet_map.name = Peta Planet
|
||||||
|
keybind.research.name = Penelitian
|
||||||
keybind.chat.name = Pesan
|
keybind.chat.name = Pesan
|
||||||
keybind.player_list.name = Daftar pemain
|
keybind.player_list.name = Daftar pemain
|
||||||
keybind.console.name = Papan Konsol
|
keybind.console.name = Papan Konsol
|
||||||
@@ -874,7 +917,7 @@ mode.editor.name = Sunting
|
|||||||
mode.pvp.name = PvP
|
mode.pvp.name = PvP
|
||||||
mode.pvp.description = Melawan pemain lain. Membutuhkan setidaknya 2 inti berbeda warna didalam peta untuk main.
|
mode.pvp.description = Melawan pemain lain. Membutuhkan setidaknya 2 inti berbeda warna didalam peta untuk main.
|
||||||
mode.attack.name = Penyerangan
|
mode.attack.name = Penyerangan
|
||||||
mode.attack.description = Menghancurkan tempat musuh. Tidak ada gelombang. Membutuhkan inti merah di dalam peta untuk main.
|
mode.attack.description = Hancurkan markas musuh. Membutuhkan inti merah di dalam peta untuk main.
|
||||||
mode.custom = Pengaturan Modifikasi
|
mode.custom = Pengaturan Modifikasi
|
||||||
|
|
||||||
rules.infiniteresources = Sumber Daya Tak Terbatas
|
rules.infiniteresources = Sumber Daya Tak Terbatas
|
||||||
@@ -894,10 +937,10 @@ rules.enemycorebuildradius = Dilarang Membangun Radius Inti Musuh :[lightgray] (
|
|||||||
rules.wavespacing = Jarak Gelombang:[lightgray] (detik)
|
rules.wavespacing = Jarak Gelombang:[lightgray] (detik)
|
||||||
rules.buildcostmultiplier = Multiplikasi Harga Bangunan
|
rules.buildcostmultiplier = Multiplikasi Harga Bangunan
|
||||||
rules.buildspeedmultiplier = Multiplikasi Waktu Pembuatan Bangunan
|
rules.buildspeedmultiplier = Multiplikasi Waktu Pembuatan Bangunan
|
||||||
rules.deconstructrefundmultiplier = Penggembalian Dana Mendekonstruksi Blok
|
rules.deconstructrefundmultiplier = Penggembalian Bahan Mendekonstruksi Blok
|
||||||
rules.waitForWaveToEnd = Gelombang menunggu musuh
|
rules.waitForWaveToEnd = Gelombang menunggu musuh
|
||||||
rules.dropzoneradius = Radius Titik Muncul:[lightgray] (Blok)
|
rules.dropzoneradius = Radius Titik Muncul:[lightgray] (Blok)
|
||||||
rules.unitammo = Unit Membutuhkan AMunisi
|
rules.unitammo = Unit Membutuhkan Amunisi
|
||||||
rules.title.waves = Gelombang
|
rules.title.waves = Gelombang
|
||||||
rules.title.resourcesbuilding = Sumber Daya & Bangunan
|
rules.title.resourcesbuilding = Sumber Daya & Bangunan
|
||||||
rules.title.enemy = Musuh
|
rules.title.enemy = Musuh
|
||||||
@@ -917,6 +960,7 @@ content.item.name = Item
|
|||||||
content.liquid.name = Zat Cair
|
content.liquid.name = Zat Cair
|
||||||
content.unit.name = Unit
|
content.unit.name = Unit
|
||||||
content.block.name = Blok
|
content.block.name = Blok
|
||||||
|
content.sector.name = Sektor
|
||||||
|
|
||||||
item.copper.name = Tembaga
|
item.copper.name = Tembaga
|
||||||
item.lead.name = Timah
|
item.lead.name = Timah
|
||||||
@@ -935,7 +979,7 @@ item.pyratite.name = Pyratit
|
|||||||
item.metaglass.name = Metaglass
|
item.metaglass.name = Metaglass
|
||||||
item.scrap.name = Rongsokan
|
item.scrap.name = Rongsokan
|
||||||
liquid.water.name = Air
|
liquid.water.name = Air
|
||||||
liquid.slag.name = Terak
|
liquid.slag.name = Lava
|
||||||
liquid.oil.name = Minyak
|
liquid.oil.name = Minyak
|
||||||
liquid.cryofluid.name = Cairan Pendingin
|
liquid.cryofluid.name = Cairan Pendingin
|
||||||
|
|
||||||
@@ -977,8 +1021,9 @@ block.resupply-point.name = Titik Pemasok Ulang
|
|||||||
block.parallax.name = Parallax
|
block.parallax.name = Parallax
|
||||||
block.cliff.name = Cliff
|
block.cliff.name = Cliff
|
||||||
block.sand-boulder.name = Batu Pasir Besar
|
block.sand-boulder.name = Batu Pasir Besar
|
||||||
|
block.basalt-boulder.name = Batu Basal Besar
|
||||||
block.grass.name = Rumput
|
block.grass.name = Rumput
|
||||||
block.slag.name = Slag
|
block.slag.name = Lahar
|
||||||
block.space.name = Luar Angkasa
|
block.space.name = Luar Angkasa
|
||||||
block.salt.name = Garam
|
block.salt.name = Garam
|
||||||
block.salt-wall.name = Bukit Garam
|
block.salt-wall.name = Bukit Garam
|
||||||
@@ -1066,7 +1111,7 @@ block.thorium-wall-large.name = Dinding Thorium Besar
|
|||||||
block.door.name = Pintu
|
block.door.name = Pintu
|
||||||
block.door-large.name = Pintu Besar
|
block.door-large.name = Pintu Besar
|
||||||
block.duo.name = Duo
|
block.duo.name = Duo
|
||||||
block.scorch.name = Scorch
|
block.scorch.name = Penyembur Api
|
||||||
block.scatter.name = Scatter
|
block.scatter.name = Scatter
|
||||||
block.hail.name = Hail
|
block.hail.name = Hail
|
||||||
block.lancer.name = Lancer
|
block.lancer.name = Lancer
|
||||||
@@ -1078,11 +1123,11 @@ block.junction.name = Simpangan
|
|||||||
block.router.name = Pengarah
|
block.router.name = Pengarah
|
||||||
block.distributor.name = Distributor
|
block.distributor.name = Distributor
|
||||||
block.sorter.name = Penyortir
|
block.sorter.name = Penyortir
|
||||||
block.inverted-sorter.name = Penyortir terbalik
|
block.inverted-sorter.name = Penyortir Terbalik
|
||||||
block.message.name = Pesan
|
block.message.name = Pesan
|
||||||
block.illuminator.name = Penerang
|
block.illuminator.name = Lampu
|
||||||
block.overflow-gate.name = Gerbang Luap
|
block.overflow-gate.name = Gerbang Luap
|
||||||
block.underflow-gate.name = Gerbang Tidak Meluap
|
block.underflow-gate.name = Gerbang Luap Terbalik
|
||||||
block.silicon-smelter.name = Pelebur Silikon
|
block.silicon-smelter.name = Pelebur Silikon
|
||||||
block.phase-weaver.name = Pengrajut Phase
|
block.phase-weaver.name = Pengrajut Phase
|
||||||
block.pulverizer.name = Pulverisator
|
block.pulverizer.name = Pulverisator
|
||||||
@@ -1119,7 +1164,7 @@ block.unloader.name = Pembongkar Muatan
|
|||||||
block.vault.name = Gudang
|
block.vault.name = Gudang
|
||||||
block.wave.name = Wave
|
block.wave.name = Wave
|
||||||
block.tsunami.name = Tsunami
|
block.tsunami.name = Tsunami
|
||||||
block.swarmer.name = Swarmer
|
block.swarmer.name = Peluncur Misil
|
||||||
block.salvo.name = Salvo
|
block.salvo.name = Salvo
|
||||||
block.ripple.name = Ripple
|
block.ripple.name = Ripple
|
||||||
block.phase-conveyor.name = Pengantar Berbahan Phase
|
block.phase-conveyor.name = Pengantar Berbahan Phase
|
||||||
@@ -1146,7 +1191,7 @@ block.thermal-pump.name = Pompa Suhu Panas
|
|||||||
block.thermal-generator.name = Generator Suhu Panas
|
block.thermal-generator.name = Generator Suhu Panas
|
||||||
block.alloy-smelter.name = Pelebur Paduan Listrik
|
block.alloy-smelter.name = Pelebur Paduan Listrik
|
||||||
block.mender.name = Mender
|
block.mender.name = Mender
|
||||||
block.mend-projector.name = Mender Proyektor
|
block.mend-projector.name = Mender Projektor
|
||||||
block.surge-wall.name = Dinding Listrik
|
block.surge-wall.name = Dinding Listrik
|
||||||
block.surge-wall-large.name = Dinding Listrik Besar
|
block.surge-wall-large.name = Dinding Listrik Besar
|
||||||
block.cyclone.name = Cyclone
|
block.cyclone.name = Cyclone
|
||||||
@@ -1177,14 +1222,15 @@ block.disassembler.name = Pembongkar
|
|||||||
block.silicon-crucible.name = Multi-Lebur
|
block.silicon-crucible.name = Multi-Lebur
|
||||||
block.overdrive-dome.name = Kubah Proyeksi Percepat
|
block.overdrive-dome.name = Kubah Proyeksi Percepat
|
||||||
#experimental, may be removed
|
#experimental, may be removed
|
||||||
block.block-forge.name = Block Forge
|
block.block-forge.name = Pemadu Blok
|
||||||
block.block-loader.name = Block Loader
|
block.block-loader.name = Pemuat Blok
|
||||||
block.block-unloader.name = Block Unloader
|
block.block-unloader.name = Pembongkar Blok
|
||||||
|
block.interplanetary-accelerator.name = Akselerator Antarplanet
|
||||||
|
|
||||||
block.switch.name = Saklar
|
block.switch.name = Saklar
|
||||||
block.micro-processor.name = Prosesor Mikro
|
block.micro-processor.name = Prosesor Mikro
|
||||||
block.logic-processor.name = Prosesor Logika
|
block.logic-processor.name = Prosesor Logika
|
||||||
block.hyper-processor.name = Prosesor Cepat
|
block.hyper-processor.name = Prosesor Raksasa
|
||||||
block.logic-display.name = Tampilan Logika
|
block.logic-display.name = Tampilan Logika
|
||||||
block.large-logic-display.name = Tampilan Logika Besar
|
block.large-logic-display.name = Tampilan Logika Besar
|
||||||
block.memory-cell.name = Sel Memori
|
block.memory-cell.name = Sel Memori
|
||||||
@@ -1192,33 +1238,47 @@ block.memory-bank.name = Bank Memori
|
|||||||
|
|
||||||
team.blue.name = biru
|
team.blue.name = biru
|
||||||
team.crux.name = merah
|
team.crux.name = merah
|
||||||
team.sharded.name = oranye
|
team.sharded.name = kuning
|
||||||
team.orange.name = jingga
|
team.orange.name = jingga
|
||||||
team.derelict.name = abu-abu
|
team.derelict.name = abu-abu
|
||||||
team.green.name = hijau
|
team.green.name = hijau
|
||||||
team.purple.name = ungu
|
team.purple.name = ungu
|
||||||
|
|
||||||
tutorial.next = [lightgray]<Tekan untuk lanjut>
|
hint.skip = Lewati
|
||||||
tutorial.intro = Kamu telah memasuki[scarlet] Tutorial Mindustry.[]\nMulai dengan[accent] menambang tembaga[]. Tekan bijih tembaga dekat intimu.\n\n[accent]{0}/{1} tembaga
|
hint.desktopMove = Tekan [accent][[WASD][] untuk bergerak.
|
||||||
tutorial.intro.mobile = Kamu telah memasuki[scarlet] Tutorial Mindustry.[]\nGesek layar untuk bergerak.\n[accent]Gunakan 2 jari [] untuk mengecilkan dan membesarkan gambar.\nMulai dengan[accent] menambang tembaga[]. Dekati tembaganya, kemudian tekan bijih tembaga untuk mulai menambang.\n\n[accent]{0}/{1} tembaga
|
hint.zoom = [accent]Skrol[] untuk membesarkan atau mengecilkan layar.
|
||||||
tutorial.drill = Menambang manual tidak efisien.\n[accent]Bor []bisa menambang otomatis.\nTaruh satu di sekumpulan tembaga.
|
hint.mine = Dekati \uf8c4 bijih tembaga dan [accent]tekan[] untuk menambangnya secara manual.
|
||||||
tutorial.drill.mobile = Menambang manual tidak efisien.\n[accent]Bor []dapat menambang otomatis.\nTekan kategori bor di bawah-kanan.\nPilih[accent] Bor Mekanik[].\nLetakkan di bijih tembaga, kemudian tekan tombol[accent] centang[] dibawah untuk mengonfirmasi pilihanmu.\nTekan[accent] tombol X[] untuk membatalkan rencana.
|
hint.desktopShoot = [accent][[Klik][] untuk menembak.
|
||||||
tutorial.blockinfo = Setiap blok memiliki status berbeda. Setiap bor hanya dapat menambang bijih tertentu.\nUntuk mencari info sebuah blok,[accent] Tekan tombol "?" saat memilih blok dari menu bangunan.[]\n\n[accent]Akses status Bor Mekanik sekarang.[]
|
hint.depositItems = Untuk mentransfer item, tarik item dari pesawatmu ke inti.
|
||||||
tutorial.conveyor = [accent]Pengantar[] digunakan untuk transportasi item ke inti.\nJejerlah pengantar dari bor ke inti.
|
hint.respawn = Untuk muncul kembali seperti awal, tekan [accent][[V][].
|
||||||
tutorial.conveyor.mobile = [accent]Pengantar[] digunakan untuk transportasi item ke inti.\nJejerlah pengantar dari bor ke inti.\n[accent] Buat sebuah garis dengan menekan jarimu selama beberapa detik[] dan tarik dengan suatu arah.\n\n[accent]{0}/{1} item dari garis pengantar\n[accent]0/1 terkirim
|
hint.respawn.mobile = Kamu telah mengambil alih kontrol dari sebuah unit/struktur. Untuk muncul kembali, [accent]tekan avatar di kiri atas.[]
|
||||||
tutorial.turret = Struktur pertahanan harus dibuat untuk menangkal [lightgray] musuh[].\nBangun menara "duo" dekat intimu.
|
hint.desktopPause = Tekan [accent][[Spasi][] untuk menjeda dan menghentikan jeda permainan.
|
||||||
tutorial.drillturret = Menara "duo" membutuhkan[accent] amunisi tembaga []untuk menembak.\nTaruh bor didekat menara untuk mengisinya dengan tembaga.
|
hint.placeDrill = Pilih \ue85e [accent]Bor[] menu di kanan bawah, lalu pilih \uf870 [accent]Bor[] dan klik diatas bijih tembaga untuk menaruhnya.
|
||||||
tutorial.pause = Disaat bermain, kamu dapat[accent] menjeda game.[]\nKamu berhenti membangun selama jeda.\n\n[accent]Tekan spasi untuk jeda.
|
hint.placeDrill.mobile = Pilih \ue85e[accent]Bor[] tab di menu di kanan bawah, lalu pilih \uf870 [accent]Bor[] dan klik diatas bijih tembaga untuk menaruhnya.\n\nTekan \ue800 [accent]checkmark[] di bawah kanan untuk menkonfirmasi pembangunan.
|
||||||
tutorial.pause.mobile = Disaat bermain, kamu dapat[accent] menjeda game.[]\nKamu berhenti membangun selama jeda.\n\n[accent]Tekan tombol ini di atas-kiri untuk jeda.
|
hint.placeConveyor = Pengantar dapat memindahkan item dari bor ke blok yang lain. Pilih \uf896 [accent]Pengantar[] dari menu \ue814 [accent]Distribusi[].\n\nKlik dan tarik untuk menaruh beberapa pengantar.\n[accent]Skrol[] untuk memutarnya.
|
||||||
tutorial.unpause = Tekan spasi lagi untuk menghentikan jeda.
|
hint.placeConveyor.mobile = Pengantar dapat memindahkan item dari bor ke blok yang lain. Pilih \uf896 [accent]Pengantar[] dari menu \ue814 [accent]Distribusi[].\n\nTahan jari kamu sebentar dan seret untuk menaruh beberapa pengantar.
|
||||||
tutorial.unpause.mobile = Tekan tombol tersebut lagi untuk berhenti jeda.
|
hint.placeTurret = Taruh \uf861 [accent]Turret[] untuk mempertahankan basismu daru musuh.\n\nTurret membutuhkan amunisi - yang satu ini, \uf838copper.\nGunakan pengantar dan bor untuk mengisinya.
|
||||||
tutorial.breaking = Blok biasanya butuh untuk dihapus.\n[accent]Tekan mouse-kanan[] untuk menghapus semua blok yang diseleksi.[]\n\n[accent]Hapus semua blok kepingan di sebelah intimu.
|
hint.breaking = [accent]Klik kanan[] dan tarik untuk menghancurkan blok.
|
||||||
tutorial.breaking.mobile = Blok biasanya butuh untuk dihapus.\n[accent]Tekan mode dekonstraksi[], kemudian tekan blok untuk mulai menghapus.\nHapus sebuah area dengan menahan jari beberapa detik[] dan tarik ke suatu arah .\nTekan tombol centang untuk mengonfirmasi.\n\n[accent]Hapus semua blok kepingan di sebelah intimu.
|
hint.breaking.mobile = Aktifkan \ue817 [accent]palu[] di kanan bawah dan tekan untuk menghancurkan blok.\n\nTahan jari kamu sebentar dan seret untuk menghancurkannya.
|
||||||
tutorial.withdraw = Di beberapa situasi, mengambil item dari blok diperlukan.\nUntuk melakukan ini, [accent]tekan sebuah blok[] berisi sebuah item, kemudian [accent]tekan item itu[] dalam inventaris.\nItem dengan jumlah banyak dapat diambil[accent]dengan cara menahan[].\n\n[accent]Ambil beberapa tembaga dari inti.[]
|
hint.research = Gunakan tombol \ue875 [accent]Riset[] untuk mempelajari teknologi baru.
|
||||||
tutorial.deposit = Setor item dari pesawatmu ke suatu blok dengan cara menarik itemnya.\n\n[accent]Setor kembali tembagamu ke inti.[]
|
hint.research.mobile = Gunakan tombol \ue875 [accent]Riset[] di \ue88c [accent]Menu[] untuk mempelajari teknologi baru.
|
||||||
tutorial.waves = [lightgray] Musuh[] mendatang.\n\nLindungi intimu selama 2 gelombang. Bangun lebih banyak kubah dan bor.
|
hint.unitControl = Tahan [accent][[L-ctrl][] dan [accent]klik[] untuk mengendalikan unit atau turret teman.
|
||||||
tutorial.waves.mobile = Para[lightgray] Musuh[] telah muncul.\n\nLindungi intimu selama 2 gelombang. Pesawatmu akan menembak musuh secara otomatis.\nBuat lebih banyak kubah dan bor. Tambang tembaga lebih banyak.
|
hint.unitControl.mobile = [accent][Klik dua kali[] untuk mengendalikan unit atau turret teman.
|
||||||
tutorial.launch = Saat kamu mencapai gelombang tertentu, kamu dapat[accent] meluncurkan intimu[], meninggalkan pertahananmu[accent] mendapatkan semua sumber daya di intimu.[]\nSumber daya ini digunakan sebagai riset teknologi.\n\n[accent]Tekan tombol meluncur.
|
hint.launch = Ketika sumber daya sudah mencukupi, kamu bisa [accent]Meluncurkan[] dengan memilih sektor terdekat dari \ue827 [accent]Map[] di kanan bawah.
|
||||||
|
hint.launch.mobile = Ketika sumber daya sudah mencukupi, kamu bisa [accent]Meluncurkan[] dengan memilih sektor terdekat dari \ue827 [accent]Map[] di \ue88c [accent]Menu[].
|
||||||
|
hint.schematicSelect = Tahan [accent][[F][] dan tarik ke bangunan untuk menyalin bangunan.\n\n[accent][[Klik tengah][] untuk menyalin blok setipe.
|
||||||
|
hint.conveyorPathfind = Tahan [accent][[L-Ctrl][] ketika menarik pengantar untuk membuat jalur secara otomatis.
|
||||||
|
hint.conveyorPathfind.mobile = Aktifkan \ue844 [accent]diagonal mode[] dan tarik pengantar untuk membuat jalur secara otomatis.
|
||||||
|
hint.boost = Tahan [accent][[L-Shift][] untuk terbang dengan unit sekarang.\n\nHanya beberapa unit darat yang memiliki pendorong.
|
||||||
|
hint.command = Tekan [accent][[G][] untuk memperintah unit sekitarmu kedalam formasi.
|
||||||
|
hint.command.mobile = [accent][[Klik dua kali][] unitmu untuk memperintah unit sekitarmu kedalam formasi.
|
||||||
|
hint.payloadPickup = Tekan [accent][[[] untuk membawa blok kecil atau unit.
|
||||||
|
hint.payloadPickup.mobile = [accent]Tekan dan tahan[] untuk membawa blok kecil atau unit.
|
||||||
|
hint.payloadDrop = Tekan [accent]][] untuk menurunkan muatan.
|
||||||
|
hint.payloadDrop.mobile = [accent]Tekan dan tahan[] di lokasi yang kosong untuk menurunkan muatan.
|
||||||
|
hint.waveFire = [accent]Wave[] yang terisi dengan air akan memadamkan air dalam jangkauannya.
|
||||||
|
hint.generator = \uf879 [accent]Generator Pembakar[] membakar batu bara dan menghasilkan energik ke blok yang berdekatan.\n\nTransmisi energi dapat diperluas menggunakan \uf87f [accent]Tiang Listrik[].
|
||||||
|
lhint.guardian = Unit [accent]Penjaga[] adalah unit yang diperkuat. Amunisi lemah seperti [accent]Tembaga[] dan [accent]Timah[] [scarlet]tidak berefek pada mereka[].\n\nGunakan turret yang lebih bagus atau gunakan amunisi yang lebih kuat seperti \uf835 [accent]Grafit[] \uf861Duo/\uf859Salvo untuk menghancurkan Penjaga.
|
||||||
|
|
||||||
item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok.
|
item.copper.description = Bahan struktur yang berguna. Digunakan di semua tipe blok.
|
||||||
item.copper.details = Tembaga. Logam yang sangat melimpah di Serpulo. Lemah secara struktural kecuali jika diperkuat.
|
item.copper.details = Tembaga. Logam yang sangat melimpah di Serpulo. Lemah secara struktural kecuali jika diperkuat.
|
||||||
@@ -1226,28 +1286,29 @@ item.lead.description = Bahan dasar di awal permainan. Digunakan di elektronik d
|
|||||||
item.lead.details = Padat. Lembam. Biasanya digunakan dalam baterai.\nCatatan : Kemungkinan beracun untuk kehidupan biologis. Bukan berarti tidak banyak disini.
|
item.lead.details = Padat. Lembam. Biasanya digunakan dalam baterai.\nCatatan : Kemungkinan beracun untuk kehidupan biologis. Bukan berarti tidak banyak disini.
|
||||||
item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan.
|
item.metaglass.description = Kaca yang super-kuat. Digunakan untuk distribusi zar cair dan penyimpanan.
|
||||||
item.graphite.description = Karbon termineralisasi, dipakai untuk amunisi dan penyekatan listrik.
|
item.graphite.description = Karbon termineralisasi, dipakai untuk amunisi dan penyekatan listrik.
|
||||||
item.sand.description = Bahan umum yang digunakan di berbagai peleburan
|
item.sand.description = Digunakan sebagai produksi untuk material yang akan dimurnikan.
|
||||||
item.coal.description = Bahan bakar umum.
|
item.coal.description = Digunakan sebagai bahan bakar dan memurnikan material.
|
||||||
item.coal.details = Hasil dari tumbuhan yang menjadi fosil, sudah terjadi sangat lama sebelum spora-spora menyebar.
|
item.coal.details = Hasil dari tumbuhan yang menjadi fosil, sudah terjadi sangat lama sebelum spora-spora menyebar.
|
||||||
item.titanium.description = Logam langka yang sangat ringan digunakan di transportasi zat cair, bor dan pesawat terbang.
|
item.titanium.description = Digunakan di transportasi zat cair, bor dan pesawat terbang.
|
||||||
item.thorium.description = Logam yang padat dan radioaktif, sebagai bantuan struktur ban bahan bakar nuklir.
|
item.thorium.description = Digunakan dalam struktur tahan lama dan sebagai bahan bakar nuklir.
|
||||||
item.scrap.description = Peninggalan bangunan dan unit tua. mengandung beberapa zat logam.
|
item.scrap.description = Dilebur dan dimurnikan menjadi material lain.
|
||||||
item.scrap.details = Sisa sisa bangunan dan unit tua.
|
item.scrap.details = Sisa sisa bangunan dan unit tua.
|
||||||
item.silicon.description = Semi-konduktor yang sangat berguna, penerapan di panel surya dan banyak benda elektronik.
|
item.silicon.description = Digunakan di panel surya, bahan elektronik yang kompleks, dan amunisi yang bisa mengejar.
|
||||||
item.plastanium.description = Bahan yang ringan dan elastis, digunakan di pesawat terbang canggih dan amunisi kepingan.
|
item.plastanium.description = Digunakan dalam unit canggih, isolasi dan amunisi fragmentasi .
|
||||||
item.phase-fabric.description = Zat yang hampir tidak ada bobot ini digunakan di elektronik canggih dan teknologi reparasi.
|
item.phase-fabric.description = Digunakan di elektronik canggih dan teknologi perbaikan diri sendiri.
|
||||||
item.surge-alloy.description = Paduan canggih dengan properti listrik yang unik.
|
item.surge-alloy.description = Digunakan di pertahanan yang lebih canggih dan struktur pertahanan reaktif.
|
||||||
item.spore-pod.description = Digunakan untuk produksi minyak, bahan peledak dan bahan bakar.
|
item.spore-pod.description = Digunakan untuk produksi minyak, bahan peledak dan bahan bakar.
|
||||||
item.spore-pod.details = Spora. Sepertinya bentuk kehidupan sintetis. Menghasilkan gas beracun yang meracuni kehidupan biologis lainnya. Sangat mudah menyebar. Sangat mudah terbakar dalam kondisi tertentu.
|
item.spore-pod.details = Spora. Sepertinya bentuk kehidupan sintetis. Menghasilkan gas beracun yang meracuni kehidupan biologis lainnya. Sangat mudah menyebar. Sangat mudah terbakar dalam kondisi tertentu.
|
||||||
item.blast-compound.description = Senyawa yang digunakan di bom dan peledak lainnya. Bisa dipakai untuk bahan bakar, tetapi tidak disarankan.
|
item.blast-compound.description = Senyawa yang digunakan di bom dan amunisi peledak.
|
||||||
item.pyratite.description = Zat yang mudah dibakar ini digunakan di senjata pembakar.
|
item.pyratite.description = Digunakan di senjata pembakar dan generator yang membutuhkan bahan mudah terbakar.
|
||||||
|
|
||||||
liquid.water.description = Umumnya digunakan untuk mendinginkan mesin-mesin dan pendaur ulang.
|
liquid.water.description = Umumnya digunakan untuk mendinginkan mesin-mesin dan pendaur ulang.
|
||||||
liquid.slag.description = Berbagai tipe logam yang meleleh. Dapat dipisahkan menjadi mineral masing-masing, atau disemprokat ke musuh dijadikn senjata.
|
liquid.slag.description = Berbagai campuran tipe logam yang meleleh. Dapat dipisahkan menjadi mineral masing-masing, atau disemprokan ke musuh sebagai senjata.
|
||||||
liquid.oil.description = Bisa dibakar, diledakkan atau sebagai pendigin.
|
liquid.oil.description = Digunakan di produksi material lanjutan dan sebagai amunisi yang mudah terbakar.
|
||||||
liquid.cryofluid.description = Zat cair paling efisien untuk mendinginkan hal-hal.
|
liquid.cryofluid.description = Digunakan sebagai pendingin di reaktor, turret, dan pabrik.
|
||||||
|
|
||||||
block.armored-conveyor.description = Memindahkan barang sama cepatnya dengan pengantar titanium, namun memiliki lebih banyak armor. Tidak dapat menerima masukan dari samping dari apapun kecuali dari pengantar.
|
block.armored-conveyor.description = Memindahkan barang sama cepatnya dengan pengantar titanium, namun memiliki lebih banyak armor. Tidak dapat menerima masukan dari samping dari apapun kecuali dari pengantar.
|
||||||
block.illuminator.description = Sebuah benda berukuran kecil, sumber penghasil cahaya. Membutuhkan tenaga untuk berfungsi.
|
block.illuminator.description = Sebuah lampu kecil untuk menerangi daerah sekitar. Perlu listrik untuk bekerja.
|
||||||
block.message.description = Menyimpan pesan. Digunakan untuk komunikasi antar sekutu.
|
block.message.description = Menyimpan pesan. Digunakan untuk komunikasi antar sekutu.
|
||||||
block.graphite-press.description = Memadatkan bongkahan batu bara menjadi lempengan grafit murni.
|
block.graphite-press.description = Memadatkan bongkahan batu bara menjadi lempengan grafit murni.
|
||||||
block.multi-press.description = Versi pemadat grafit yang lebih bagus. Membutuhkan air dan tenaga untuk memproses batu bara lebih cepat dan efisien.
|
block.multi-press.description = Versi pemadat grafit yang lebih bagus. Membutuhkan air dan tenaga untuk memproses batu bara lebih cepat dan efisien.
|
||||||
@@ -1259,8 +1320,8 @@ block.alloy-smelter.description = Memproduksi campuran logam dari titanium, tima
|
|||||||
block.cryofluidmixer.description = Mencampur air dan titanium menjadi cairan dingin yang lebih efisien untuk pendingin.
|
block.cryofluidmixer.description = Mencampur air dan titanium menjadi cairan dingin yang lebih efisien untuk pendingin.
|
||||||
block.blast-mixer.description = Menggunakan minyak untuk membentuk pyratite menjadi senyawa peledak yang kurang mudah terbakar tetapi lebih eksplosif.
|
block.blast-mixer.description = Menggunakan minyak untuk membentuk pyratite menjadi senyawa peledak yang kurang mudah terbakar tetapi lebih eksplosif.
|
||||||
block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratite yang sangat mudah terbakar.
|
block.pyratite-mixer.description = Mencampur batu bara, timah dan pasir menjadi pyratite yang sangat mudah terbakar.
|
||||||
block.melter.description = Melelehkan kepingan menjadi terak untuk proses selanjutnya atau digunakan menara.
|
block.melter.description = Melelehkan rongsokan menjadi lava.
|
||||||
block.separator.description = Mengekstrak logam-logam berguna dari terak.
|
block.separator.description = Mengekstrak komponen mineral dari lava.
|
||||||
block.spore-press.description = Menekan polong spora menjadi minyak.
|
block.spore-press.description = Menekan polong spora menjadi minyak.
|
||||||
block.pulverizer.description = Menghancurkan kepingan menjadi pasir. Berguna jika tidak ada pasir disekitar.
|
block.pulverizer.description = Menghancurkan kepingan menjadi pasir. Berguna jika tidak ada pasir disekitar.
|
||||||
block.coal-centrifuge.description = Memadatkan minyak menjadi bongkahan batu bara.
|
block.coal-centrifuge.description = Memadatkan minyak menjadi bongkahan batu bara.
|
||||||
@@ -1286,7 +1347,7 @@ block.surge-wall-large.description = Blok pelindung terkuat.\nMempunyai kemungki
|
|||||||
block.door.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak.
|
block.door.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak.
|
||||||
block.door-large.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak.\nSebesar 4 blok.
|
block.door-large.description = Pintu kecil yang bisa dibuka-tutup dengan menekannya.\nJika dibuka, musuh bisa masuk dan menembak.\nSebesar 4 blok.
|
||||||
block.mender.description = Menyembuhkan blok di sekelilingnya secara berkala. Menjaga keutuhan pertahanan di sela-sela gelombang.\nDapat menggunakan silikon untuk meningkatkan jangkauan dan efisiensi.
|
block.mender.description = Menyembuhkan blok di sekelilingnya secara berkala. Menjaga keutuhan pertahanan di sela-sela gelombang.\nDapat menggunakan silikon untuk meningkatkan jangkauan dan efisiensi.
|
||||||
block.mend-projector.description = Versi reparator yang lebih baik. Menyembuhkan blok di sekelilingnya secara berkala.\nDapat menggunakan silikon untuk meningkatkan jangkauan dan efisiensi.
|
block.mend-projector.description = Versi mender yang lebih besar. Menyembuhkan blok di sekelilingnya secara berkala.\nDapat menggunakan phase untuk meningkatkan jangkauan dan efisiensi.
|
||||||
block.overdrive-projector.description = Menambah kecepatan bangunan sekitar, seperti bor dan pengantar.
|
block.overdrive-projector.description = Menambah kecepatan bangunan sekitar, seperti bor dan pengantar.
|
||||||
block.force-projector.description = Membentuk medan gaya berbentuk heksagon disekitar, melindungi bangunan dan unit didalamnya dari tembakan. Dapat mengalami kelebihan panas jika membendung terlalu banyak kerusakan. Bisa menggunakan cairan untuk mendinginkan. Gunakan fabrik phase untuk memperbesar jangkauan.
|
block.force-projector.description = Membentuk medan gaya berbentuk heksagon disekitar, melindungi bangunan dan unit didalamnya dari tembakan. Dapat mengalami kelebihan panas jika membendung terlalu banyak kerusakan. Bisa menggunakan cairan untuk mendinginkan. Gunakan fabrik phase untuk memperbesar jangkauan.
|
||||||
block.shock-mine.description = Mencedera musuh yang menginjak ranjau. Hampir tak kasat mata kepada musuh.
|
block.shock-mine.description = Mencedera musuh yang menginjak ranjau. Hampir tak kasat mata kepada musuh.
|
||||||
@@ -1336,58 +1397,60 @@ block.laser-drill.description = Mengebor lebih cepat lewat teknologi laser, tapi
|
|||||||
block.blast-drill.description = Bor tercanggih. Membutuhkan banyak tenaga.
|
block.blast-drill.description = Bor tercanggih. Membutuhkan banyak tenaga.
|
||||||
block.water-extractor.description = Mengekstrak air dari tanah. Gunakan jika tidak ada sumber air disekitar.
|
block.water-extractor.description = Mengekstrak air dari tanah. Gunakan jika tidak ada sumber air disekitar.
|
||||||
block.cultivator.description = Membudidaya spora kecil menjadi polong siap diolah.
|
block.cultivator.description = Membudidaya spora kecil menjadi polong siap diolah.
|
||||||
block.cultivator.details = Recovered technology. Used to produce massive amounts of biomass as efficiently as possible. Likely the initial incubator of the spores now covering Serpulo.
|
block.cultivator.details = Teknologi yang dipulihkan. Digunakan untuk memproduksi biomassa secara efesien. Kemungkinan merupakan inkubator awal dari spora yang sekarang menutupi Serpulo.
|
||||||
block.oil-extractor.description = Menggunakan tenaga cukup besar untuk mengekstrak minyak dari pasir. Gunakan jika tidak ada sumber minyak disekitar.
|
block.oil-extractor.description = Menggunakan tenaga cukup besar untuk mengekstrak minyak dari pasir. Gunakan jika tidak ada sumber minyak disekitar.
|
||||||
block.core-shard.description = Versi pertama dari pengulangan kapsul inti. Jika hancur, Semua kontak dengan daerah akan hilang. Jangan biarkan ini terjadi.
|
block.core-shard.description = Versi pertama dari pengulangan kapsul inti. Jika hancur, Semua kontak dengan daerah akan hilang. Jangan biarkan ini terjadi.
|
||||||
block.core-shard.details = Iterasi pertama. Padat. Bisa menggandakan dirinya (untuk menguasai sektor disekitarnya). Dilengkapi dengan pendorong yang sekali pakai. Tidak didesain untuk perjalanan antar planet.
|
block.core-shard.details = Iterasi pertama. Padat. Bisa menggandakan dirinya (untuk menguasai sektor disekitarnya). Dilengkapi dengan pendorong yang sekali pakai. Tidak didesain untuk perjalanan antar planet.
|
||||||
block.core-foundation.description = Versi kedua dari intk. Lebih kuat. Menyimpan banyak sumber daya.
|
block.core-foundation.description = Versi kedua dari inti. Lebih kuat. Menyimpan banyak sumber daya.
|
||||||
block.core-foundation.details = Iterasi kedua.
|
block.core-foundation.details = Iterasi kedua.
|
||||||
block.core-nucleus.description = Versi ketiga dan pengulangan terakhir dari kapsul inti. Sangkat kuat. Menyimpan sangat banyak sumberr daya.
|
block.core-nucleus.description = Versi ketiga dan pengulangan terakhir dari kapsul inti. Sangat kuat. Menyimpan sangat banyak sumber daya.
|
||||||
block.core-nucleus.details = Iterasi ketiga dan yang terakhir.
|
block.core-nucleus.details = Iterasi ketiga dan yang terakhir.
|
||||||
block.vault.description = Menyimpan semua tipe item berkuantitas besar. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari gudang.
|
block.vault.description = Menyimpan semua tipe item berkuantitas besar. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari gudang.
|
||||||
block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer.
|
block.container.description = Menyimpan semua tipe item. [lightgray] pembongkar muatan[] bisa digunakan untuk mengeluarkan item dari kontainer.
|
||||||
block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan.
|
block.unloader.description = Mengeluarkan item dari kontainer, gudang atau inti kedalam pengantar atau langsung ke blok yang dituju. Tipe item yang dimuat bisa diganti dengan mengetuk pembongkar muatan.
|
||||||
block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat.
|
block.launch-pad.description = Meluncurkan beberapa item tanpa meninggalkan tempat.
|
||||||
block.launch-pad-large.description = Sebuah alas luncur yang ditingkatkan. Menyimpan lebih banyak item dan lebih sering meluncur.
|
block.launch-pad-large.description = Sebuah alas luncur yang ditingkatkan. Menyimpan lebih banyak item dan lebih sering meluncur.
|
||||||
block.duo.description = menara yang murah nan kecil. Berguna melawan unit darat.
|
block.duo.description = Menembakkan peluru bergantian ke musuh.
|
||||||
block.scatter.description = Menara Anti-Udara berukuran sedang. Melempar gumpalan timah atau kepingan ke unit musuh.
|
block.scatter.description = Menembakkan gumpalan timah, rongsokan atau metaglass ke musuh udara.
|
||||||
block.scorch.description = Membakar musuh yang dekat. Sangat efektif di jarak dekat.
|
block.scorch.description = Membakar musuh darat yang dekat dengannya. Sangat efektif dalam jarak dekat.
|
||||||
block.hail.description = Menara meriam kecil.
|
block.hail.description = Menembakkan peluru kecil ke musuh darat dari jarak jauh.
|
||||||
block.wave.description = Menara penembak beruntun ukuran sedang yang menembak gelembung air.
|
block.wave.description = Menembakkan aliran cairan ke musuh. Secara otomatis memadamkan api saat disuplai dengan air.
|
||||||
block.lancer.description = Menara ukuran sedang yang menembak sinar listrik.
|
block.lancer.description = Mengisi dan menembakkan sinar energi yang kuat ke target darat.
|
||||||
block.arc.description = Menara kecil jarak dekat ini menembak listrik secara acak ke arah musuh.
|
block.arc.description = Menembak petir ke musuh darat.
|
||||||
block.swarmer.description = Menara ukuran sedang yang menembak misil bertubi-tubi.
|
block.swarmer.description = Menembakkan misil yang mengejar ke arah musuh.
|
||||||
block.salvo.description = Menara ukuran sedang yang menembak pelurunya secara serentak.
|
block.salvo.description = Menembakkan peluru cepat ke arah musuh.
|
||||||
block.fuse.description = Menara besar ini menembak sinar pendek yang kuat.
|
block.fuse.description = Menembakkan tiga penusuk tajam jarak dekat ke musuh terdekat.
|
||||||
block.ripple.description = Menara meriam besar yang menembak beberapa peluru sekaligus.
|
block.ripple.description = Menembak cangkang berkelompok ke musuh darat dari jarak jauh.
|
||||||
block.cyclone.description = Menara penembak beruntun besar.
|
block.cyclone.description = Menembakkan gumpalan peledak ke musuh terdekat.
|
||||||
block.spectre.description = Menara besar yang menembak dua peluru kuat sekaligus.
|
block.spectre.description = Menembakkan peluru besar yang menembus lapis baja ke target udara dan darat.
|
||||||
block.meltdown.description = Menara besar ini menembak sinar panjang yang kuat.
|
block.meltdown.description = Mengisi dan menembakkan sinar laser yang terus-menerus ke musuh di sekitar. Membutuhkan pendingin untuk beroperasi.
|
||||||
|
block.foreshadow.description = Menembak baut besar jarak jauh yang hanya menembak satu target.
|
||||||
block.repair-point.description = Terus menerus memulihkan unit terluka disekitar.
|
block.repair-point.description = Terus menerus memulihkan unit terluka disekitar.
|
||||||
block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan.
|
block.segment.description = Merusakkan dan menghancurkan proyektil yang datang. Proyektil laser tidak akan ditargetkan.
|
||||||
block.parallax.description = Fires a tractor beam that pulls in air targets, damaging them in the process.
|
block.parallax.description = Menembak laser yang menarik target udara, juga merusaknya selama dalam proses.
|
||||||
block.tsunami.description = Fires powerful streams of liquid at enemies. Automatically extinguishes fires when supplied with water.
|
block.tsunami.description = Menembak cairan dalam jumlah dan tekanan besar ke arah musuh. Akan memadamkan api secara otomatis jika diisi dengan air.
|
||||||
block.silicon-crucible.description = Refines silicon from sand and coal, using pyratite as an additional heat source. More efficient in hot locations.
|
block.silicon-crucible.description = Memurnikan silikon dari pasir dan batubara, menggunakan pyratit sebagai sumber panas tambahan. Lebih efesien jika diletakkan di area yang panas.
|
||||||
block.disassembler.description = Separates slag into trace amounts of exotic mineral components at low efficiency. Can produce thorium.
|
block.disassembler.description = Memisahkan lava menjadi mineral langka dalam efesiensi rendah. Bisa memproduksi thorium.
|
||||||
block.overdrive-dome.description = Increases the speed of nearby buildings. Requires phase fabric and silicon to operate.
|
block.overdrive-dome.description = Menambah kecepatan kepada bangunan disekitarnya. Membutuhkan phase dan silikon untuk bekerja.
|
||||||
block.payload-conveyor.description = Moves large payloads, such as units from factories.
|
block.payload-conveyor.description = Memindahkan muatan yang besar, seperti unit dari pabrik.
|
||||||
block.payload-router.description = Splits input payloads into 3 output directions.
|
block.payload-router.description = Membagi muatan masukan menjadi 3 arah keluaran.
|
||||||
block.command-center.description = Controls unit behavior with several different commands.
|
block.command-center.description = Mengontrol perilaku unit dengan beberapa perintah berbeda.
|
||||||
block.ground-factory.description = Produces ground units. Output units can be used directly, or moved into reconstructors for upgrading.
|
block.ground-factory.description = Memproduksi unit darat. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan.
|
||||||
block.air-factory.description = Produces air units. Output units can be used directly, or moved into reconstructors for upgrading.
|
block.air-factory.description = Memproduksi unit udara. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan.
|
||||||
block.naval-factory.description = Produces naval units. Output units can be used directly, or moved into reconstructors for upgrading.
|
block.naval-factory.description = Memproduksi unit laut. Hasil unit dapat digunakan secara langsung, atau dipindah ke rekonstruktor untuk ditingkatkan.
|
||||||
block.additive-reconstructor.description = Upgrades inputted units to the second tier.
|
block.additive-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat dua
|
||||||
block.multiplicative-reconstructor.description = Upgrades inputted units to the third tier.
|
block.multiplicative-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat tiga.
|
||||||
block.exponential-reconstructor.description = Upgrades inputted units to the fourth tier.
|
block.exponential-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat empat.
|
||||||
block.tetrative-reconstructor.description = Upgrades inputted units to the fifth and final tier.
|
block.tetrative-reconstructor.description = Meningkatkan unit didalamnya menjadi tingkat lima dan terakhir.
|
||||||
block.switch.description = A toggleable switch. State can be read and controlled with logic processors.
|
block.switch.description = Sakelar yang dapat dialihkan. Status dapat dibaca dan dikontrol dengan prosesor logika.
|
||||||
block.micro-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings.
|
block.micro-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan.
|
||||||
block.logic-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the micro processor.
|
block.logic-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor mikro.
|
||||||
block.hyper-processor.description = Runs a sequence of logic instructions in a loop. Can be used to control units and buildings. Faster than the logic processor.
|
block.hyper-processor.description = Menjalankan urutan instruksi logika dalam satu lingkaran. Dapat digunakan untuk mengontrol unit dan bangunan. Lebih cepat dibandingkan prosesor logika.
|
||||||
block.memory-cell.description = Stores information for a logic processor.
|
block.memory-cell.description = Menyimpan informasi untuk prosesor.
|
||||||
block.memory-bank.description = Stores information for a logic processor. High capacity.
|
block.memory-bank.description = Menyimpan informasi untuk prosesor. Berkapasitas besar.
|
||||||
block.logic-display.description = Displays arbitrary graphics from a logic processor.
|
block.logic-display.description = Menampilkan grafik sembarang dari prosesor.
|
||||||
block.large-logic-display.description = Displays arbitrary graphics from a logic processor.
|
block.large-logic-display.description = Menampilkan grafik sembarang dari prosesor. Lebih besar.
|
||||||
|
block.interplanetary-accelerator.description = Sebuah menara railgun elektromagnetik. Mempercepat Inti dengan kecepatan tinggi untuk peluncuran antarplanet.
|
||||||
|
|
||||||
unit.dagger.description = Menembak musuh terdekat dengan amunisi standar.
|
unit.dagger.description = Menembak musuh terdekat dengan amunisi standar.
|
||||||
unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya.
|
unit.mace.description = Menyerang musuh terdekat dengan cara membakarnya.
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ screenshot.invalid = 맵이 너무 커서 스크린샷에 사용될 메모리가
|
|||||||
gameover = 게임 오버
|
gameover = 게임 오버
|
||||||
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
|
gameover.pvp = [accent]{0}[] 팀이 승리했습니다!
|
||||||
highscore = [accent]새로운 최고 점수!
|
highscore = [accent]새로운 최고 점수!
|
||||||
copied = 복사됨.
|
copied = 복사
|
||||||
indev.popup = 현재 [accent]v6[] 버전은 [accent]알파[] 단계입니다.\n[lightgray]이 말은:[]\n- [scarlet]캠페인이 아직 완전히 개발되지 않음[]\n- 몇몇 컨텐츠가 빠짐\n- 대부분의 [scarlet]유닛 AI[]가 작동하지 않음\n- 많은 유닛들이 아직 미완성\n- 보이는 것은 모두 바뀌거나 제거될 수 있음\n\n[accent]Github[] 에서 버그 또는 강제종료 오류를 신고 해 주세요.
|
indev.popup = 현재 [accent]v6[] 버전은 [accent]베타[] 단계입니다.\n\n[accent]Github[] 에서 버그 또는 강제종료 오류를 신고 해 주세요.
|
||||||
indev.notready = 이 부분은 아직 준비가 되지 않았습니다.
|
indev.notready = 이 부분은 아직 준비가 되지 않았습니다.
|
||||||
|
|
||||||
load.sound = 소리
|
load.sound = 소리
|
||||||
@@ -71,15 +71,15 @@ map.delete = 정말로 "[accent]{0}[]" 맵을 삭제하시겠습니까?
|
|||||||
level.highscore = 최고 점수: [accent]{0}
|
level.highscore = 최고 점수: [accent]{0}
|
||||||
level.select = 맵 선택
|
level.select = 맵 선택
|
||||||
level.mode = 게임 모드:
|
level.mode = 게임 모드:
|
||||||
coreattack = < 코어가 공격 받고 있습니다! >
|
coreattack = < 코어가 공격을 받고 있습니다! >
|
||||||
nearpoint = [[ [scarlet]즉시 스폰지점에서 떠나세요[] ]\n전멸 임박
|
nearpoint = [[ [scarlet]즉시 스폰지점에서 떠나세요[] ]\n인근 건물들과 유닛들은 초토화됩니다!
|
||||||
database = 코어 데이터베이스
|
database = 코어 데이터베이스
|
||||||
savegame = 게임 저장
|
savegame = 게임 저장
|
||||||
loadgame = 게임 불러오기
|
loadgame = 게임 불러오기
|
||||||
joingame = 게임 참여
|
joingame = 게임 참여
|
||||||
customgame = 사용자 지정 게임
|
customgame = 사용자 지정 게임
|
||||||
newgame = 새 게임
|
newgame = 새 게임
|
||||||
none = <없음>
|
none = < 없음 >
|
||||||
minimap = 미니맵
|
minimap = 미니맵
|
||||||
position = 위치
|
position = 위치
|
||||||
close = 닫기
|
close = 닫기
|
||||||
@@ -291,8 +291,8 @@ waiting = [lightgray]대기중...
|
|||||||
waiting.players = 상대 플레이어를 기다리는 중...
|
waiting.players = 상대 플레이어를 기다리는 중...
|
||||||
wave.enemies = [lightgray]적 유닛 {0}명 남음
|
wave.enemies = [lightgray]적 유닛 {0}명 남음
|
||||||
wave.enemy = [lightgray]{0}명 남음
|
wave.enemy = [lightgray]{0}명 남음
|
||||||
wave.guardianwarn = [accent]{0}[] 단계 후에 가디언이 접근합니다.
|
wave.guardianwarn = [accent]{0}[] 단계 후에 수호자가 접근합니다.
|
||||||
wave.guardianwarn.one = [accent]{0}[] 단계 후에 가디언이 접근합니다.
|
wave.guardianwarn.one = [accent]{0}[] 단계 후에 수호자가 접근합니다.
|
||||||
loadimage = 사진 불러오기
|
loadimage = 사진 불러오기
|
||||||
saveimage = 사진 저장
|
saveimage = 사진 저장
|
||||||
unknown = 알 수 없음
|
unknown = 알 수 없음
|
||||||
@@ -335,13 +335,13 @@ editor.center = 중앙
|
|||||||
workshop = 창작마당
|
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.shields = 보호막/단계
|
waves.shields = 방어막/단계
|
||||||
waves.to = 부터
|
waves.to = 부터
|
||||||
waves.guardian = 가디언
|
waves.guardian = 수호자
|
||||||
waves.preview = 미리보기
|
waves.preview = 미리보기
|
||||||
waves.edit = 편집
|
waves.edit = 편집
|
||||||
waves.copy = 클립보드로 복사
|
waves.copy = 클립보드로 복사
|
||||||
@@ -495,7 +495,7 @@ zone.objective = [lightgray]목표: [accent]{0}
|
|||||||
zone.objective.survival = 생존
|
zone.objective.survival = 생존
|
||||||
zone.objective.attack = 적 코어 파괴
|
zone.objective.attack = 적 코어 파괴
|
||||||
add = 추가...
|
add = 추가...
|
||||||
boss.health = 보스 체력
|
boss.health = 수호자 체력
|
||||||
|
|
||||||
connectfail = [scarlet]연결 오류:\n\n[accent]{0}
|
connectfail = [scarlet]연결 오류:\n\n[accent]{0}
|
||||||
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
|
error.unreachable = 서버에 연결하지 못했습니다.\n서버 주소가 정확히 입력되었나요?
|
||||||
@@ -522,11 +522,11 @@ sectors.resume = 재개
|
|||||||
sectors.launch = 출격
|
sectors.launch = 출격
|
||||||
sectors.select = 선택
|
sectors.select = 선택
|
||||||
sectors.nonelaunch = [lightgray]없음 (sun)
|
sectors.nonelaunch = [lightgray]없음 (sun)
|
||||||
sectors.rename = Rename Sector
|
sectors.rename = 구역 명명
|
||||||
sector.missingresources = [scarlet]Insufficient Core Resources
|
sector.missingresources = [scarlet]자원 부족
|
||||||
|
|
||||||
planet.serpulo.name = Serpulo
|
planet.serpulo.name = 세르플
|
||||||
planet.sun.name = Sun
|
planet.sun.name = 태양
|
||||||
|
|
||||||
sector.groundZero.name = 전초기지
|
sector.groundZero.name = 전초기지
|
||||||
sector.craters.name = 크레이터
|
sector.craters.name = 크레이터
|
||||||
@@ -561,26 +561,26 @@ settings.controls = 조작
|
|||||||
settings.game = 게임
|
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확인 버튼을 다시 눌러 모든 데이터를 삭제하고 게임에서 나갑니다.
|
settings.clearall.confirm = [scarlet]경고![]\n이 작업은 저장된 맵, 맵파일, 잠금 해제된 목록과 키 매핑, 그리고 모든 데이터를 삭제합니다.\n확인 버튼을 다시 눌러 모든 데이터를 삭제하고 게임에서 나갑니다.
|
||||||
settings.clearsaves.confirm = 정말로 모든 저장을 삭제 하시겠습니까?
|
settings.clearsaves.confirm = 정말로 모든 저장된 파일들을 삭제하시겠습니까?
|
||||||
settings.clearsaves = 저장 초기화
|
settings.clearsaves = 저장 초기화
|
||||||
settings.clearresearch = Clear Research
|
settings.clearresearch = 연구 초기화
|
||||||
settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research?
|
settings.clearresearch.confirm = 정말로 모든 연구를 삭제하시겠습니까?
|
||||||
settings.clearcampaignsaves = Clear Campaign Saves
|
settings.clearcampaignsaves = 캠페인 맵 초기화
|
||||||
settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves?
|
settings.clearcampaignsaves.confirm = 정말로 캠페인을 초기화하시겠습니까?
|
||||||
paused = [accent]< 일시정지 >
|
paused = [accent]< 일시정지 >
|
||||||
clear = 초기화
|
clear = 초기화
|
||||||
banned = [scarlet]차단됨
|
banned = [scarlet]차단됨
|
||||||
unplaceable.sectorcaptured = [scarlet]점령된 구역이 필요합니다
|
unplaceable.sectorcaptured = [scarlet]구역 점령 필요
|
||||||
yes = 예
|
yes = 예
|
||||||
no = 아니오
|
no = 아니오
|
||||||
info.title = 정보
|
info.title = 정보
|
||||||
error.title = [scarlet]오류가 발생했습니다.
|
error.title = [scarlet]오류가 발생했습니다.
|
||||||
error.crashtitle = 오류가 발생했습니다
|
error.crashtitle = 오류가 발생했습니다
|
||||||
unit.nobuild = [scarlet]이 유닛은 건설할 수 없습니다.
|
unit.nobuild = [scarlet]건설 불가
|
||||||
lastaccessed = [lightgray]마지막 접근: {0}
|
lastaccessed = [lightgray]마지막 조작: {0}
|
||||||
block.unknown = [lightgray]???
|
block.unknown = [lightgray]???
|
||||||
|
|
||||||
stat.input = 입력
|
stat.input = 입력
|
||||||
@@ -588,70 +588,70 @@ stat.output = 출력
|
|||||||
stat.booster = 가속
|
stat.booster = 가속
|
||||||
stat.tiles = 필요한 타일
|
stat.tiles = 필요한 타일
|
||||||
stat.affinities = 친화력
|
stat.affinities = 친화력
|
||||||
stat.powercapacity = Power Capacity
|
stat.powercapacity = 전력량
|
||||||
stat.powershot = Power/Shot
|
stat.powershot = 전력량/발
|
||||||
stat.damage = Damage
|
stat.damage = 공격력
|
||||||
stat.targetsair = Targets Air
|
stat.targetsair = 공중 공격
|
||||||
stat.targetsground = Targets Ground
|
stat.targetsground = 지상 공격
|
||||||
stat.itemsmoved = Move Speed
|
stat.itemsmoved = 이동 속도
|
||||||
stat.launchtime = Time Between Launches
|
stat.launchtime = 발사 간격
|
||||||
stat.shootrange = Range
|
stat.shootrange = 사거리
|
||||||
stat.size = Size
|
stat.size = 크기
|
||||||
stat.displaysize = Display Size
|
stat.displaysize = 화면 크기
|
||||||
stat.liquidcapacity = Liquid Capacity
|
stat.liquidcapacity = 액체 수용량
|
||||||
stat.powerrange = Power Range
|
stat.powerrange = 전선 길이
|
||||||
stat.linkrange = Link Range
|
stat.linkrange = 감지 길이
|
||||||
stat.instructions = Instructions
|
stat.instructions = 최대 명령어 수
|
||||||
stat.powerconnections = Max Connections
|
stat.powerconnections = 최대 연결 개수
|
||||||
stat.poweruse = Power Use
|
stat.poweruse = 전력 요구량
|
||||||
stat.powerdamage = Power/Damage
|
stat.powerdamage = 전력량/피해량
|
||||||
stat.itemcapacity = Item Capacity
|
stat.itemcapacity = 자원 수용량
|
||||||
stat.memorycapacity = Memory Capacity
|
stat.memorycapacity = 변수 개수
|
||||||
stat.basepowergeneration = Base Power Generation
|
stat.basepowergeneration = 기본 발전량
|
||||||
stat.productiontime = Production Time
|
stat.productiontime = 소요 시간
|
||||||
stat.repairtime = Block Full Repair Time
|
stat.repairtime = 건물 완전 복구 시간
|
||||||
stat.speedincrease = Speed Increase
|
stat.speedincrease = 속도 증가
|
||||||
stat.range = Range
|
stat.range = 사거리
|
||||||
stat.drilltier = Drillables
|
stat.drilltier = 채굴 가능 자원
|
||||||
stat.drillspeed = Base Drill Speed
|
stat.drillspeed = 기본 채굴 속도
|
||||||
stat.boosteffect = Boost Effect
|
stat.boosteffect = 버프 효과
|
||||||
stat.maxunits = Max Active Units
|
stat.maxunits = 최대 유닛 수
|
||||||
stat.health = Health
|
stat.health = 체력
|
||||||
stat.buildtime = Build Time
|
stat.buildtime = 건설 시간
|
||||||
stat.maxconsecutive = Max Consecutive
|
stat.maxconsecutive = 최대 체인 길이
|
||||||
stat.buildcost = Build Cost
|
stat.buildcost = 건설 비용
|
||||||
stat.inaccuracy = Inaccuracy
|
stat.inaccuracy = 오차각
|
||||||
stat.shots = Shots
|
stat.shots = 발사 당 탄
|
||||||
stat.reload = Shots/Second
|
stat.reload = 발/초
|
||||||
stat.ammo = Ammo
|
stat.ammo = 탄약
|
||||||
stat.shieldhealth = Shield Health
|
stat.shieldhealth = 보호막 체력
|
||||||
stat.cooldowntime = Cooldown Time
|
stat.cooldowntime = 쿨타임
|
||||||
stat.explosiveness = Explosiveness
|
stat.explosiveness = 폭발성
|
||||||
stat.basedeflectchance = Base Deflect Chance
|
stat.basedeflectchance = 기본 반사 확률
|
||||||
stat.lightningchance = Lightning Chance
|
stat.lightningchance = 전격 확률
|
||||||
stat.lightningdamage = Lightning Damage
|
stat.lightningdamage = 전격 공격량
|
||||||
stat.flammability = Flammability
|
stat.flammability = 휘발성
|
||||||
stat.radioactivity = Radioactivity
|
stat.radioactivity = 방사성
|
||||||
stat.heatcapacity = HeatCapacity
|
stat.heatcapacity = 열용량
|
||||||
stat.viscosity = Viscosity
|
stat.viscosity = 점성
|
||||||
stat.temperature = Temperature
|
stat.temperature = 온도
|
||||||
stat.speed = Speed
|
stat.speed = 속도
|
||||||
stat.buildspeed = Build Speed
|
stat.buildspeed = 건설 속도
|
||||||
stat.minespeed = Mine Speed
|
stat.minespeed = 채굴 속도
|
||||||
stat.minetier = Mine Tier
|
stat.minetier = 채굴 티어
|
||||||
stat.payloadcapacity = Payload Capacity
|
stat.payloadcapacity = 화물 수용량
|
||||||
stat.commandlimit = Command Limit
|
stat.commandlimit = 지휘 한계
|
||||||
stat.abilities = Abilities
|
stat.abilities = 능력
|
||||||
|
|
||||||
ability.forcefield = Force Field
|
ability.forcefield = 보호막
|
||||||
ability.repairfield = Repair Field
|
ability.repairfield = 수리장
|
||||||
ability.statusfield = Status Field
|
ability.statusfield = 버프장
|
||||||
ability.unitspawn = {0} Factory
|
ability.unitspawn = {0} 공장
|
||||||
ability.shieldregenfield = Shield Regen Field
|
ability.shieldregenfield = 방어막 복구장
|
||||||
|
|
||||||
bar.drilltierreq = 더 좋은 드릴이 필요
|
bar.drilltierreq = 더 좋은 드릴이 필요
|
||||||
bar.noresources = 자원 부족
|
bar.noresources = 자원 부족
|
||||||
bar.corereq = 코어 기지 필요
|
bar.corereq = 코어 필요
|
||||||
bar.drillspeed = 드릴 속도: {0}/s
|
bar.drillspeed = 드릴 속도: {0}/s
|
||||||
bar.pumpspeed = 펌프 속도: {0}/s
|
bar.pumpspeed = 펌프 속도: {0}/s
|
||||||
bar.efficiency = 효율: {0}%
|
bar.efficiency = 효율: {0}%
|
||||||
@@ -688,7 +688,7 @@ bullet.multiplier = [stat]{0}[lightgray]x 탄약 배수
|
|||||||
bullet.reload = [stat]{0}[lightgray]x 발사 속도
|
bullet.reload = [stat]{0}[lightgray]x 발사 속도
|
||||||
|
|
||||||
unit.blocks = 블록
|
unit.blocks = 블록
|
||||||
unit.blockssquared = blocks²
|
unit.blockssquared = 블록²
|
||||||
unit.powersecond = 전력/초
|
unit.powersecond = 전력/초
|
||||||
unit.liquidsecond = 액체/초
|
unit.liquidsecond = 액체/초
|
||||||
unit.itemssecond = 개/초
|
unit.itemssecond = 개/초
|
||||||
@@ -701,7 +701,7 @@ unit.persecond = /초
|
|||||||
unit.perminute = /분
|
unit.perminute = /분
|
||||||
unit.timesspeed = x 배
|
unit.timesspeed = x 배
|
||||||
unit.percent = %
|
unit.percent = %
|
||||||
unit.shieldhealth = 보호막 체력
|
unit.shieldhealth = 방어막 체력
|
||||||
unit.items = 자원
|
unit.items = 자원
|
||||||
unit.thousands = 천
|
unit.thousands = 천
|
||||||
unit.millions = 백만
|
unit.millions = 백만
|
||||||
@@ -711,7 +711,7 @@ category.power = 전력
|
|||||||
category.liquids = 액체
|
category.liquids = 액체
|
||||||
category.items = 자원
|
category.items = 자원
|
||||||
category.crafting = 입력/출력
|
category.crafting = 입력/출력
|
||||||
category.function = Function
|
category.function = 기능
|
||||||
category.optional = 보조 자원
|
category.optional = 보조 자원
|
||||||
setting.landscape.name = 가로화면 잠금
|
setting.landscape.name = 가로화면 잠금
|
||||||
setting.shadows.name = 그림자
|
setting.shadows.name = 그림자
|
||||||
@@ -722,7 +722,7 @@ setting.flow.name = 자원 흐름량 표시
|
|||||||
setting.buildautopause.name = 건설 자동 일시정지
|
setting.buildautopause.name = 건설 자동 일시정지
|
||||||
setting.animatedwater.name = 액체 애니메이션 효과
|
setting.animatedwater.name = 액체 애니메이션 효과
|
||||||
setting.animatedshields.name = 보호막 애니메이션 효과
|
setting.animatedshields.name = 보호막 애니메이션 효과
|
||||||
setting.antialias.name = 안티 에일리어싱[lightgray] (재시작 필요)[]
|
setting.antialias.name = 위신호 제거 필터[lightgray] (재시작 필요)[]
|
||||||
setting.playerindicators.name = 플레이어 위치 표시기
|
setting.playerindicators.name = 플레이어 위치 표시기
|
||||||
setting.indicators.name = 적 위치 표시기
|
setting.indicators.name = 적 위치 표시기
|
||||||
setting.autotarget.name = 자동 조준
|
setting.autotarget.name = 자동 조준
|
||||||
@@ -734,10 +734,10 @@ setting.fpscap.text = {0} FPS
|
|||||||
setting.uiscale.name = UI 스케일링[lightgray] (재시작 필요)[]
|
setting.uiscale.name = UI 스케일링[lightgray] (재시작 필요)[]
|
||||||
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 = 효과 보임
|
||||||
@@ -769,7 +769,7 @@ setting.savecreate.name = 자동 저장 활성화
|
|||||||
setting.publichost.name = 멀티플레이 공용 서버로 표시
|
setting.publichost.name = 멀티플레이 공용 서버로 표시
|
||||||
setting.playerlimit.name = 플레이어 제한
|
setting.playerlimit.name = 플레이어 제한
|
||||||
setting.chatopacity.name = 채팅창 투명도
|
setting.chatopacity.name = 채팅창 투명도
|
||||||
setting.lasersopacity.name = 전력 레이저 투명도
|
setting.lasersopacity.name = 전선 투명도
|
||||||
setting.bridgeopacity.name = 터널 투명도
|
setting.bridgeopacity.name = 터널 투명도
|
||||||
setting.playerchat.name = 채팅 말풍선 표시
|
setting.playerchat.name = 채팅 말풍선 표시
|
||||||
public.confirm = 게임을 모두에게 공개하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 하려고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요.
|
public.confirm = 게임을 모두에게 공개하시겠습니까?\n[accent]모든 플레이어가 게임에 참여할 수 있습니다.\n[lightgray]설정->게임->멀티플레이 공용 서버로 표시에서 나중에 변경할 수 있습니다.\n\n[sky]번역자 추가[]\n[accent]친구끼리 하려고 이 기능을 활성화 한 뒤에, 친구 외에 다른 플레이어가 들어왔을 때\n해당 플레이어를 차단하는 행위는 비매너를 넘어서는 얌체 행위 그 자체입니다.\n정말로 [scarlet]많은 다른 플레이어들이 오길 원한다[]면 확인하세요.
|
||||||
@@ -794,8 +794,8 @@ keybind.clear_building.name = 설계도 초기화
|
|||||||
keybind.press = 키를 누르세요...
|
keybind.press = 키를 누르세요...
|
||||||
keybind.press.axis = 마우스 휠 또는 키를 누르세요...
|
keybind.press.axis = 마우스 휠 또는 키를 누르세요...
|
||||||
keybind.screenshot.name = 맵 스크린샷
|
keybind.screenshot.name = 맵 스크린샷
|
||||||
keybind.toggle_power_lines.name = 전력 레이저 토글
|
keybind.toggle_power_lines.name = 전선 가시도 설정
|
||||||
keybind.toggle_block_status.name = 블록 상태 토글
|
keybind.toggle_block_status.name = 블록 상태 가시도
|
||||||
keybind.move_x.name = X축 이동
|
keybind.move_x.name = X축 이동
|
||||||
keybind.move_y.name = Y축 이동
|
keybind.move_y.name = Y축 이동
|
||||||
keybind.mouse_move.name = 커서를 따라서 이동
|
keybind.mouse_move.name = 커서를 따라서 이동
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ highscore = [accent]Nowy rekord!
|
|||||||
copied = Skopiowano.
|
copied = Skopiowano.
|
||||||
indev.popup = [accent]Wersja v6[] jest obecnie w [accent]alphie[].\n[lightgray]Oznacza to, że:[]\n[scarlet]- Kampania nie jest skończona[]\n- Brakuje zawartości\n - Większość [scarlet]SI jednostek[] nie działa poprawnie\n- Wiele jednostek jest niedokończonych\n- Wszystko to, co widzisz, może ulec zmianie lub usunięciu.\n\nZgłaszaj błędy i awarie na [accent]Githubie[].
|
indev.popup = [accent]Wersja v6[] jest obecnie w [accent]alphie[].\n[lightgray]Oznacza to, że:[]\n[scarlet]- Kampania nie jest skończona[]\n- Brakuje zawartości\n - Większość [scarlet]SI jednostek[] nie działa poprawnie\n- Wiele jednostek jest niedokończonych\n- Wszystko to, co widzisz, może ulec zmianie lub usunięciu.\n\nZgłaszaj błędy i awarie na [accent]Githubie[].
|
||||||
indev.notready = Ta część gry nie jest jeszcze ukończona
|
indev.notready = Ta część gry nie jest jeszcze ukończona
|
||||||
|
indev.campaign = [accent]Udało ci się zakończyć kampanie![]\n\nZawartość kończy się na tym. Podróż międzyplanetarna zostanie dodana w przyszłych aktualizacjach.
|
||||||
|
|
||||||
load.sound = Dźwięki
|
load.sound = Dźwięki
|
||||||
load.map = Mapy
|
load.map = Mapy
|
||||||
@@ -189,6 +190,10 @@ servers.local = Serwery Lokalne
|
|||||||
servers.remote = Serwery Zdalne
|
servers.remote = Serwery Zdalne
|
||||||
servers.global = Serwery Publiczne
|
servers.global = Serwery Publiczne
|
||||||
|
|
||||||
|
servers.showhidden = Pokaż Ukryte Serwery
|
||||||
|
server.shown = Pokazane
|
||||||
|
server.hidden = Ukryte
|
||||||
|
|
||||||
trace = Zlokalizuj Gracza
|
trace = Zlokalizuj Gracza
|
||||||
trace.playername = Nazwa gracza: [accent]{0}
|
trace.playername = Nazwa gracza: [accent]{0}
|
||||||
trace.ip = IP: [accent]{0}
|
trace.ip = IP: [accent]{0}
|
||||||
@@ -495,7 +500,7 @@ zone.objective = [lightgray]Cel: [accent]{0}
|
|||||||
zone.objective.survival = Przeżyj
|
zone.objective.survival = Przeżyj
|
||||||
zone.objective.attack = Zniszcz Rdzeń Wroga
|
zone.objective.attack = Zniszcz Rdzeń Wroga
|
||||||
add = Dodaj...
|
add = Dodaj...
|
||||||
boss.health = Zdrowie Bossa
|
boss.health = Zdrowie Strażnika
|
||||||
|
|
||||||
connectfail = [crimson]Nie można połączyć się z serwerem:\n\n[accent]{0}
|
connectfail = [crimson]Nie można połączyć się z serwerem:\n\n[accent]{0}
|
||||||
error.unreachable = Serwer niedostępny.\nCzy adres jest wpisany poprawnie?
|
error.unreachable = Serwer niedostępny.\nCzy adres jest wpisany poprawnie?
|
||||||
@@ -523,10 +528,12 @@ sectors.launch = Wystrzel
|
|||||||
sectors.select = Wybierz
|
sectors.select = Wybierz
|
||||||
sectors.nonelaunch = [lightgray]żaden (słońce)
|
sectors.nonelaunch = [lightgray]żaden (słońce)
|
||||||
sectors.rename = Zmień Nazwę Sektora
|
sectors.rename = Zmień Nazwę Sektora
|
||||||
sector.missingresources = [scarlet]Insufficient Core Resources
|
sector.missingresources = [scarlet]Niewystarczające Zasoby Rdzenia
|
||||||
|
sector.attacked = Sektor [accent]{0}[white] jest atakowany!
|
||||||
|
sector.lost = Sektor [accent]{0}[white] został stracony!
|
||||||
|
|
||||||
planet.serpulo.name = Serpulo
|
planet.serpulo.name = Serpulo
|
||||||
planet.sun.name = Sun
|
planet.sun.name = Słońce
|
||||||
|
|
||||||
sector.groundZero.name = Punkt Zerowy
|
sector.groundZero.name = Punkt Zerowy
|
||||||
sector.craters.name = Kratery
|
sector.craters.name = Kratery
|
||||||
@@ -539,6 +546,10 @@ sector.overgrowth.name = Przerośnięty Las
|
|||||||
sector.tarFields.name = Pola Smołowe
|
sector.tarFields.name = Pola Smołowe
|
||||||
sector.saltFlats.name = Solne Równiny
|
sector.saltFlats.name = Solne Równiny
|
||||||
sector.fungalPass.name = Grzybowa Przełęcz
|
sector.fungalPass.name = Grzybowa Przełęcz
|
||||||
|
sector.biomassFacility.name = Obiekt Syntezy Biomasy
|
||||||
|
sector.windsweptIslands.name = Wyspy Wiatru
|
||||||
|
sector.extractionOutpost.name = Placówka Ekstrakcji
|
||||||
|
sector.planetaryTerminal.name = Planetarny Terminal Startowy
|
||||||
|
|
||||||
sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
|
sector.groundZero.description = Optymalna lokalizacja, aby rozpocząć jeszcze raz. Niskie zagrożenie. Niewiele zasobów.\nZbierz jak najwięcej miedzi i ołowiu, tyle ile jest możliwe.\nPrzejdź do następnej strefy jak najszybciej.
|
||||||
sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od prądu. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
|
sector.frozenForest.description = Nawet tutaj, bliżej gór, zarodniki rozprzestrzeniły się. Niskie temperatury nie mogą ich zatrzymać na zawsze.\n\nRozpocznij przedsięwzięcie od prądu. Buduj generatory spalinowe. Naucz się korzystać z naprawiaczy.
|
||||||
@@ -551,6 +562,11 @@ sector.tarFields.description = Obrzeża strefy produkcji ropy, między górami a
|
|||||||
sector.desolateRift.description = Strefa wyjątkowo niebezpieczna. Obfita w zasoby ale mało miejsca. Wysokie ryzyko zniszczenia. Opuść tę strefe jak najszybciej. Nie daj się zwieść długiemu odstępowi między atakami wroga.
|
sector.desolateRift.description = Strefa wyjątkowo niebezpieczna. Obfita w zasoby ale mało miejsca. Wysokie ryzyko zniszczenia. Opuść tę strefe jak najszybciej. Nie daj się zwieść długiemu odstępowi między atakami wroga.
|
||||||
sector.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowny do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej ilości, nieustannie poszukuje napastników.
|
sector.nuclearComplex.description = Dawny zakład produkcji i przetwarzania toru, zredukowny do ruin.\n[lightgray]Zbadaj tor i jego zastosowania.\n\nWróg jest tutaj obecny w dużej ilości, nieustannie poszukuje napastników.
|
||||||
sector.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki równinami. Znajduje się tu mała postawiona przez wrogów baza zwiadowcza.\nZniszcz ją.\nUżyj jednostek Nóż i Pełzak. Zniszcz oba rdzenie.
|
sector.fungalPass.description = Przejściowy obszar pomiędzy wysokimi górami a nisko znajdującymi się, ogarniętymi przez zarodniki równinami. Znajduje się tu mała postawiona przez wrogów baza zwiadowcza.\nZniszcz ją.\nUżyj jednostek Nóż i Pełzak. Zniszcz oba rdzenie.
|
||||||
|
sector.biomassFacility.description = Miejsce powstania zarodników. Tutał były badane i początkowo produkowane.\nZbadaj zawartą w nim technologię. Hoduj zarodniki dla paliwa i tworzyw sztucznych.\n\n[lightgray]Po upadku tej placówki zarodniki zostały uwolnione. Nic w lokalnym ekosystemie nie mogło konkurować z tak inwazyjnym organizmem.
|
||||||
|
sector.windsweptIslands.description = Dalej za linią brzegową znajduje się ten odległy łańcuch wysp. Zapisy wyakzują ze były tu struktury produkujące [accent]Plastan[].\n\nOdeprzyj morskie jednostki wroga. Załóż bazę na wyspach. Odkryj te fabryki.
|
||||||
|
sector.extractionOutpost.description = Odległa placówka zbudowana przez wroga w celu wystrzeliwania zasobów do innych sektorów.\n\nDo dalszych podbojów niezbędna jest międzysektorowa technologia transportu. Zniszcz bazę. Zbadaj ich Wyrzutnie.
|
||||||
|
sector.impact0078.description = Tutaj leżą pozostałości międzygwiezdnego statku transportowego, który jako pierwszy wszedł do tego układu.\n\nWydobądź jak najwięcej z wraku. Zbadaj każdą nienaruszoną technologię.
|
||||||
|
sector.planetaryTerminal.description = Ostatni cel.\n\nTa baza przybrzeżna zawiera strukturę zdolną do wyrzucania rdzeni na lokalne planety. Jest wyjątkowo dobrze strzeżona.\n\nProdukuj jednostki morskie. Jak najszybciej wyeliminuj wroga. Zbadaj tą strukturę.
|
||||||
|
|
||||||
settings.language = Język
|
settings.language = Język
|
||||||
settings.data = Dane Gry
|
settings.data = Dane Gry
|
||||||
@@ -573,14 +589,14 @@ settings.clearcampaignsaves.confirm = Jesteś pewny że chcesz usunąć wszystki
|
|||||||
paused = [accent]< Wstrzymano >
|
paused = [accent]< Wstrzymano >
|
||||||
clear = Wyczyść
|
clear = Wyczyść
|
||||||
banned = [scarlet]Zbanowano
|
banned = [scarlet]Zbanowano
|
||||||
unplaceable.sectorcaptured = [scarlet]Requires captured sector
|
unplaceable.sectorcaptured = [scarlet]Wymaga podbitego sektora.
|
||||||
yes = Tak
|
yes = Tak
|
||||||
no = Nie
|
no = Nie
|
||||||
info.title = Informacje
|
info.title = Informacje
|
||||||
error.title = [crimson]Wystąpił błąd
|
error.title = [crimson]Wystąpił błąd
|
||||||
error.crashtitle = Wystąpił błąd
|
error.crashtitle = Wystąpił błąd
|
||||||
unit.nobuild = [scarlet]Jednostka nie może budować
|
unit.nobuild = [scarlet]Jednostka nie może budować
|
||||||
lastaccessed = [lightgray]Last Accessed: {0}
|
lastaccessed = [lightgray]Osatino wpłynął: {0}
|
||||||
block.unknown = [lightgray]???
|
block.unknown = [lightgray]???
|
||||||
|
|
||||||
stat.input = Wejście
|
stat.input = Wejście
|
||||||
@@ -600,7 +616,7 @@ stat.size = Rozmiar
|
|||||||
stat.displaysize = Wielkość Wyświetlania
|
stat.displaysize = Wielkość Wyświetlania
|
||||||
stat.liquidcapacity = Pojemność cieczy
|
stat.liquidcapacity = Pojemność cieczy
|
||||||
stat.powerrange = Zakres mocy
|
stat.powerrange = Zakres mocy
|
||||||
stat.linkrange = Link Range
|
stat.linkrange = Odległość połączeń
|
||||||
stat.instructions = Instrukcje
|
stat.instructions = Instrukcje
|
||||||
stat.powerconnections = Maksymalna ilość połączeń
|
stat.powerconnections = Maksymalna ilość połączeń
|
||||||
stat.poweruse = Zużycie prądu
|
stat.poweruse = Zużycie prądu
|
||||||
@@ -642,16 +658,19 @@ stat.minetier = Stopień Wydobycia
|
|||||||
stat.payloadcapacity = Ładowność
|
stat.payloadcapacity = Ładowność
|
||||||
stat.commandlimit = Limit Jednostek Zarządanych
|
stat.commandlimit = Limit Jednostek Zarządanych
|
||||||
stat.abilities = Umiejętności
|
stat.abilities = Umiejętności
|
||||||
|
stat.canboost = Może przyspieszyć
|
||||||
|
stat.flying = Latanie
|
||||||
|
|
||||||
ability.forcefield = Pole Mocy
|
ability.forcefield = Pole Mocy
|
||||||
ability.repairfield = Pole Naprawy
|
ability.repairfield = Pole Naprawy
|
||||||
ability.statusfield = Pole Statusu
|
ability.statusfield = Pole Statusu
|
||||||
ability.unitspawn = {0} Fabryka
|
ability.unitspawn = Fabryka jednostek {0}
|
||||||
ability.shieldregenfield = Strefa Tarczy Regenerującej
|
ability.shieldregenfield = Strefa Tarczy Regenerującej
|
||||||
|
ability.movelightning = Pioruny Poruszania
|
||||||
|
|
||||||
bar.drilltierreq = Wymagane Lepsze Wiertło
|
bar.drilltierreq = Wymagane Lepsze Wiertło
|
||||||
bar.noresources = Missing Resources
|
bar.noresources = Brak Zasobów
|
||||||
bar.corereq = Core Base Required
|
bar.corereq = Wymagany Rdzeń
|
||||||
bar.drillspeed = Prędkość wiertła: {0}/s
|
bar.drillspeed = Prędkość wiertła: {0}/s
|
||||||
bar.pumpspeed = Prędkość pompy: {0}/s
|
bar.pumpspeed = Prędkość pompy: {0}/s
|
||||||
bar.efficiency = Efektywność: {0}%
|
bar.efficiency = Efektywność: {0}%
|
||||||
@@ -659,7 +678,7 @@ bar.powerbalance = Moc: {0}
|
|||||||
bar.powerstored = Zmagazynowano: {0}/{1}
|
bar.powerstored = Zmagazynowano: {0}/{1}
|
||||||
bar.poweramount = Moc: {0}
|
bar.poweramount = Moc: {0}
|
||||||
bar.poweroutput = Wyjście mocy: {0}
|
bar.poweroutput = Wyjście mocy: {0}
|
||||||
bar.powerlines = Connections: {0}/{1}
|
bar.powerlines = Połączenia: {0}/{1}
|
||||||
bar.items = Przedmiotów: {0}
|
bar.items = Przedmiotów: {0}
|
||||||
bar.capacity = Pojemność: {0}
|
bar.capacity = Pojemność: {0}
|
||||||
bar.unitcap = {0} {1}/{2}
|
bar.unitcap = {0} {1}/{2}
|
||||||
@@ -671,7 +690,7 @@ bar.progress = Postęp Budowy
|
|||||||
bar.input = Wejście
|
bar.input = Wejście
|
||||||
bar.output = Wyjście
|
bar.output = Wyjście
|
||||||
|
|
||||||
units.processorcontrol = [lightgray]Procesor Kontrolowany
|
units.processorcontrol = [lightgray]Kontrolowany Procesorem
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray] Obrażenia
|
bullet.damage = [stat]{0}[lightgray] Obrażenia
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
|
bullet.splashdamage = [stat]{0}[lightgray] Obrażenia obszarowe ~[stat] {1}[lightgray] kratki
|
||||||
@@ -899,6 +918,7 @@ content.item.name = Przedmioty
|
|||||||
content.liquid.name = Płyny
|
content.liquid.name = Płyny
|
||||||
content.unit.name = Jednostki
|
content.unit.name = Jednostki
|
||||||
content.block.name = Klocki
|
content.block.name = Klocki
|
||||||
|
content.sector.name = Sektory
|
||||||
|
|
||||||
item.copper.name = Miedź
|
item.copper.name = Miedź
|
||||||
item.lead.name = Ołów
|
item.lead.name = Ołów
|
||||||
@@ -963,21 +983,21 @@ block.grass.name = Trawa
|
|||||||
block.slag.name = Żużel
|
block.slag.name = Żużel
|
||||||
block.space.name = Space
|
block.space.name = Space
|
||||||
block.salt.name = Sól
|
block.salt.name = Sól
|
||||||
block.salt-wall.name = Salt Wall
|
block.salt-wall.name = Solna Ściana
|
||||||
block.pebbles.name = Kamyki
|
block.pebbles.name = Kamyki
|
||||||
block.tendrils.name = Wić
|
block.tendrils.name = Wić
|
||||||
block.sand-wall.name = Sand Wall
|
block.sand-wall.name = Piaskowa Ściana
|
||||||
block.spore-pine.name = Sosna Zarodnikowa
|
block.spore-pine.name = Sosna Zarodnikowa
|
||||||
block.spore-wall.name = Spore Wall
|
block.spore-wall.name = Zarodinkowa Ściana
|
||||||
block.boulder.name = Boulder
|
block.boulder.name = Głaz
|
||||||
block.snow-boulder.name = Snow Boulder
|
block.snow-boulder.name = Śnieżny Głaz
|
||||||
block.snow-pine.name = Sosna śniegowa
|
block.snow-pine.name = Sosna śniegowa
|
||||||
block.shale.name = Łupek
|
block.shale.name = Łupek
|
||||||
block.shale-boulder.name = Głaz Łupkowy
|
block.shale-boulder.name = Głaz Łupkowy
|
||||||
block.moss.name = Mech
|
block.moss.name = Mech
|
||||||
block.shrubs.name = Krzewy
|
block.shrubs.name = Krzewy
|
||||||
block.spore-moss.name = Mech Zarodnikowy
|
block.spore-moss.name = Mech Zarodnikowy
|
||||||
block.shale-wall.name = Shale Wall
|
block.shale-wall.name = Ściana Z Łupku
|
||||||
block.scrap-wall.name = Ściana ze Złomu
|
block.scrap-wall.name = Ściana ze Złomu
|
||||||
block.scrap-wall-large.name = Duża Ściana ze Złomu
|
block.scrap-wall-large.name = Duża Ściana ze Złomu
|
||||||
block.scrap-wall-huge.name = Ogromna Ściana ze Złomu
|
block.scrap-wall-huge.name = Ogromna Ściana ze Złomu
|
||||||
@@ -1160,6 +1180,10 @@ block.payload-router.name = Rozdzielacz Ładunku
|
|||||||
block.disassembler.name = Rozkładacz
|
block.disassembler.name = Rozkładacz
|
||||||
block.silicon-crucible.name = Tygiel Krzemu
|
block.silicon-crucible.name = Tygiel Krzemu
|
||||||
block.overdrive-dome.name = Kopuła Pola Overdrive
|
block.overdrive-dome.name = Kopuła Pola Overdrive
|
||||||
|
block.block-forge.name = Piec Bloków
|
||||||
|
block.block-loader.name = Ładownik Bloków
|
||||||
|
block.block-unloader.name = Opróżniacz Bloków
|
||||||
|
block.interplanetary-accelerator.name = Przspieszacz Międzyplanetarny
|
||||||
|
|
||||||
block.switch.name = Przełącznik
|
block.switch.name = Przełącznik
|
||||||
block.micro-processor.name = Micro Procesor
|
block.micro-processor.name = Micro Procesor
|
||||||
@@ -1178,27 +1202,41 @@ team.derelict.name = szary
|
|||||||
team.green.name = zielony
|
team.green.name = zielony
|
||||||
team.purple.name = fioletowy
|
team.purple.name = fioletowy
|
||||||
|
|
||||||
tutorial.next = [lightgray]<Kliknij, aby kontynuować>
|
hint.skip = Pomiń
|
||||||
tutorial.intro = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nUżyj [accent][[WASD][], aby poruszyć się.\n[accent]Przytrzymaj [[Ctrl] podczas przewijania[], aby przybliżyć i oddalić widok.\nZacznij od[accent] wydobycia miedzi[]. W tym celu przybliż się, a następnie dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
|
hint.desktopMove = Użyj [accent][[WASD][] by się poruszać.
|
||||||
tutorial.intro.mobile = Wszedłeś do[scarlet] Samouczka Mindustry.[]\nPrzesuń palcem po ekranie, aby poruszyć się.\n[accent]Użyj dwóch palcy[], aby przybliżyć i oddalić widok.\nZacznij od[accent] wydobycia miedzi[]. W tym celu przybliż się, a następnie dotknij żyły rudy miedzi w pobliżu rdzenia.\n\n[accent]{0}/{1} miedź
|
hint.zoom = [accent]Przewiń[] by przybliżać lub oddlać obraz.
|
||||||
tutorial.drill = Wydobywanie ręczne nie jest efektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nKliknij zakładkę wiertła w prawym dolnym rogu.\nWybierz[accent] wiertło mechaniczne[]. Umieść go na złożu miedzi, klikając.\n[accent]Kliknij prawym przyciskiem myszy[], aby przestać budować.
|
hint.mine = Zbliż się do \uf8c4 rudy miedzi i [accent]kliknij[] by kopać manualnie.
|
||||||
tutorial.drill.mobile = Wydobywanie ręczne jest nieefektywne.\n[accent]Wiertła []mogą kopać automatycznie.\nDotknij zakładkę wiertła w prawym dolnym rogu.\nWybierz[accent] wiertło mechaniczne[].\nUmieść go na złożu miedzi poprzez Stuknięcie, potem wciśnij[accent] ptaszek[] na dole by potwierdzić wybór.\nNaciśnij przycisk[accent] X[] by anulować budowe.
|
hint.desktopShoot = Kliknij [accent][[Lewy przycisk myszy][] by strzelać.
|
||||||
tutorial.blockinfo = Każdy blok ma inne statystyki. Każde wiertło może kopać tylko wybrane rudy.\nBy sprawdzić informacje i statystyki bloku,[accent] kliknij przycisk "?" podczas jego wyboru w menu budowy.[]\n\n[accent]Sprawdź teraz statystyki mechanicznego wiertła.[]
|
hint.depositItems = By przenosić przedmoty, przeciągij je ze swojego statku do rdzenia.
|
||||||
tutorial.conveyor = [accent]Przenośnik[] jest używany do transportowania przedmiotów do rdzenia.\nStwórz linie przenośników z wierteł do rdzenia.\n[accent]Przytrzymaj przycisk myszy by położyć w linii.[]\nPrzytrzymaj[accent] CTRL[] podczas wybierania linii, by budować po skosie.\n\n[accent]{0}/{1} Przenośniki położone w linii\n[accent]0/1 Przedmioty dostarczone
|
hint.respawn = By się odrodzić jako statek, kliknij [accent][[V][].
|
||||||
tutorial.conveyor.mobile = [accent]Przenośnik[] jest używany do transportowania przedmiotów do rdzenia.\nStwórz linie przenośników z wierteł do rdzenia.\n[accent] Zbuduj w linii poprzez przytrzymanie palcem przez moment[] i przesunięcie w którymś kierunku.\n\n[accent]{0}/{1} Przenośniki położone w linii\n[accent]0/1 Przedmioty dostarczone
|
hint.respawn.mobile = Przełączyłeś się na inną jednoskę/strukturę. By odrodzić się jako statek, [accent]kliknij w awatar w górnym lewym rogu.[]
|
||||||
tutorial.turret = Kiedy przedmiot dociera do rdzenia, może zostać użyty do budowy.\nPamiętaj że nie każdy przedmiot może zostać użyty do budowy.\nprzedmioty które nie są używane do budowy, takie jak[accent] Węgiel[] lub[accent] złom[], nie moga zostać wprowadzone do rdzenia.\nStruktury obronne muszą zostać zbudowane by odeprzeć[lightgray] wroga[].\nZbuduj[accent] podwójne działko[] niedaleko swojej bazy.
|
hint.desktopPause = Naciśnij [accent][[Spację][] by zatrzymać lub wznowić grę.
|
||||||
tutorial.drillturret = Podwójne działka wymagają[accent] miedzianej amunicji []do strzelania.\nPołóż wiertło obok działka.\nPoprowadź przenośniki do działek by zaopatrzyć je w miedź.\n\n[accent]Amunicja dostarczona: 0/1
|
hint.placeDrill = Wybierz \ue85e [accent]Wiertło[] w menu w prawym dolnym rogu, i wybierz wtedy \uf870 [accent]Wiertło[] i kliknij na miedzi by je postawić.
|
||||||
tutorial.pause = Podczas gry, możesz[accent] zatrzymać grę.[]\nMożesz ustalić kolejkę budowy podczas pauzy.\n\n[accent]Naciśnij spacje by zapauzować.
|
hint.placeDrill.mobile = Wybierz zakładkę z \ue85e[accent]Wiertłem[] w menu w prawym dolnym rogu, i wtedy wybierz \uf870 [accent]Wietło[] i kliknij na miedzi by je postawić.\n\nNaciśnij \ue800 [accent]znak potwierdzenia[] w dolnym prawym rogu by potwierdzić.
|
||||||
tutorial.pause.mobile = Podczas gry, możesz[accent] zatrzymać grę.[]\nMożesz ustalić kolejkę budowy podczas pauzy.\n\n[accent]Nacniśnij przycisk w lewym górnym rogu by zapauzować.
|
hint.placeConveyor = Przenośniki mogą przenosić przedmioty z wierteł. Wybierz \uf896 [accent]Przenośnik[] z zakładki \ue814 [accent]Dystrybucja[].\n\nKliknij i przeciągnij by położyć wiele przeciągników.\n[accent]Przewiń[] by obrócić.
|
||||||
tutorial.unpause = Teraz znowu naciśnij spacje by odpauzować.
|
hint.placeConveyor.mobile = Przenośniki mogą przenosić przedmioty z wierteł. Wybierz \uf896 [accent]Przenośnik[] z zakładki \ue814 [accent]Dystrybucja[].\n\nPrzytrzymaj palcem i przeciągij by położyć wiele przeciągników.
|
||||||
tutorial.unpause.mobile = Naciśnij go znowu by odpauzować.
|
hint.placeTurret = Postaw \uf861 [accent]Działka[] by bronić się przed wrogami.\n\nDziałka potzebują amunicji - w tym wypadku, \uf838copper.\nUżyj przenośników i wierteł by je naładować.
|
||||||
tutorial.breaking = Bloki często wymagają rozbiórki.\n[accent]Przytrzymaj prawy przcisk myszy[] by niszczyć wszystkie wybrane bloki.[]\n\n[accent]Zniszcz wszystkie bloki złomu na lewo od twojego rdzenia używając selekcji obszarowej.
|
hint.breaking = Użyj [accent]Prawego przycisku myszy[] i przeciągnij by zniszczyć bloki.
|
||||||
tutorial.breaking.mobile = Bloki często wymagają rozbiórki.\n[accent]Wybierz tryb dekonstrukcji[], a następnie dotknij blok by zacząć go niszczyć.\nZdekonstruuj obszarowo poprzez przytrzymanie palcem przez moment[] i przesunięcie go w jakimś kierunku.\nNaciśnij przycisk ptaszka by potwierdzić rozbiórkę.\n\n[accent]Zniszcz wszystkie bloki złomu na lewo od twojego rdzenia używając selekcji obszarowej.
|
hint.breaking.mobile = Aktywuj \ue817 [accent]ikonę młota[] w dolnym prawym rogu by zniszczyć bloki.\n\nPrzytrymaj swój palec i przeciągij by wybrać wiele bloków do zniszczenia.
|
||||||
tutorial.withdraw = Czasami, konieczne jest wyjmowanie przedmiotów prosto z bloków.\nBy tego dokonać, [accent]kliknij blok[] z przedmiotami w nim, potem [accent]kliknij przedmiot[] w inwentarzu.\nMożesz zebrać wiele przedmiotów naraz poprzez [accent]kliknięcie i przytrzymanie[].\n\n[accent]Zabierz trochę miedzi z rdzenia.[]
|
hint.research = Klikij przycisk \ue875 [accent]Badań[] by odkrwyać nowe technologie.
|
||||||
tutorial.deposit = Włóż przedmioty do bloków poprzez przeciągnięcie z twojego statku do danego bloku.\n\n[accent]Włóż miedź z powrotem do rdzenia .[]
|
hint.research.mobile = Użyj przycisku \ue875 [accent]Badań[] w \ue88c [accent]Menu[] by odkrwyać nowe technologie.
|
||||||
tutorial.waves = [lightgray] Wrogowie[] nadchodzą.\n\nBroń swój rdzeń przez 2 fale.[accent] Kliknij[] by strzelać.\nZbuduj wiecej działek i wierteł. Wydobądź więcej miedzi.
|
hint.unitControl = Przytrzymaj [accent][[Lewy CTRL][] i [accent]kliknij[] to control by kontrolować sojusznicze jednostki i działka.
|
||||||
tutorial.waves.mobile = [lightgray] Wrogowie[] nadchodzą.\n\nBroń swój rdzeń przez 2 fale. Twój statek będzie automatycznie atakował wrogów.\nZbuduj wiecej działek i wierteł. Wydobądź więcej miedzi.
|
hint.unitControl.mobile = [accent][Kliknij dwukrotnie[] by kontrolować sojusznicze jednostki i działka.
|
||||||
tutorial.launch = Kiedy dotrzesz do określonej fali, masz możliwość[accent] wystrzelenia rdzenia[], pozostawiając struktury obronne za sobą i[accent] otrzymując wszystkie surowce znajdujące się w rdzeniu.[]\nSurowce te mogą potem zostać użyte do odkrywania nowych technologii.\n\n[accent]Naciśnij przycisk Wystrzału.
|
hint.launch = Gdy zebrałeś wystarczająco materiałów możesz [accent]Wystrzelić[] wybierając \ue827 [accent]Mape[] w dolnym prawym rogu.
|
||||||
|
hint.launch.mobile = Gdy zebrałeś wystarczająco materiałów możesz [accent]Wystrzelić[] do pobliskich sektorów klikając w \ue827 [accent]Mape[] w \ue88c [accent]Menu[].
|
||||||
|
hint.schematicSelect = Przytrzymaj [accent][[F][] by kopiować i wkleić bloki.\n\n[accent][[Środkowy przycisk myszy][] kopiuje pojedyńczy blok.
|
||||||
|
hint.conveyorPathfind = Przeciągij i przytrzymaj [accent][[Lewy CTRL][] w trakcie budowania przenośników by wygenerować ścieżkę.
|
||||||
|
hint.conveyorPathfind.mobile = Włącz \ue844 [accent]tryb ukośny[] i przeciągnij w trakcie budowania przenośników by wygenerować ścieżkę.
|
||||||
|
hint.boost = Przytrzymaj [accent][[Lewy Shift][] by przelecieć ponad przeszkody.\n\nNie wszystkie jednostki tak mogą.
|
||||||
|
hint.command = Kliknij [accent][[G][] by ukształtować formacje z pobliskich jednostek.
|
||||||
|
hint.command.mobile = [accent][[Podwójne kliknięcie][] kształtuje formacje z pobliskich jednostek.
|
||||||
|
hint.payloadPickup = Kliknij [accent][[[] by podnieść małe bloki lub jednostki.
|
||||||
|
hint.payloadPickup.mobile = [accent]Kliknij i przytrzymaj[] mały blok by go podnieść.
|
||||||
|
hint.payloadDrop = Kliknij [accent]][] by opuścić podniesoiny towar.
|
||||||
|
hint.payloadDrop.mobile = [accent]Kliknij i przytrzymaj[] w puste miejsce by opuścić podniesoiny towar.
|
||||||
|
hint.waveFire = [accent]Strumień[] wypełniony wodą będzie gasić pobiskie pożary.
|
||||||
|
hint.generator = \uf879 [accent]Generatory Spalinowe[] spalają węgiel i przekuzują moc do pobliskich bloków.\n\nMożesz powiększyć odległość transmitowanej mocy używająć \uf87f [accent]Węzeły Prądu[].
|
||||||
|
hint.guardian = Jednostki [accent]Strażnicze[] są uzbrojone. Słaba amunicja - taka jak [accent]Miedź[] oraz [accent]Ołów[] [scarlet]nie jest efektywna[].\n\nUżyj lepszych działek takich jak \uf835 [accent]Naładowane Grafitem[] \uf861Duo/\uf859Salwa by pozbyć się strażników.
|
||||||
|
|
||||||
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
|
item.copper.description = Przydatny materiał budowlany. Szeroko używany w prawie każdej konstrukcji.
|
||||||
item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
|
item.lead.description = Podstawowy materiał. Używany w przesyle przemiotów i płynów. Nie jest on przypadkiem szkodliwy?
|
||||||
@@ -1356,7 +1394,7 @@ block.memory-cell.description = Przechowuje informacje dla procesora.
|
|||||||
block.memory-bank.description = Przechowuje informacje dla procesora. Duża pojemność.
|
block.memory-bank.description = Przechowuje informacje dla procesora. Duża pojemność.
|
||||||
block.logic-display.description = Wyświetla obraz z procesora.
|
block.logic-display.description = Wyświetla obraz z procesora.
|
||||||
block.large-logic-display.description = Wyświetla obraz z procesora.
|
block.large-logic-display.description = Wyświetla obraz z procesora.
|
||||||
block.interplanetary-accelerator.description = Masywna elektromagnetyczna wierza. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach.
|
block.interplanetary-accelerator.description = Masywna elektromagnetyczna wieża. Przyspiesza rdzeń do prędkości ucieczki by wylądować na innych planetach.
|
||||||
|
|
||||||
|
|
||||||
unit.dagger.description = Strzela standardowymi pociskami w najbliższych wrogów.
|
unit.dagger.description = Strzela standardowymi pociskami w najbliższych wrogów.
|
||||||
@@ -1387,8 +1425,8 @@ unit.oct.description = Broni wszystkie jednostki tarczą regeneracyjną. Może p
|
|||||||
unit.risso.description = Strzela sporą ilością pocisków i rakiet w najbliższych przeciwników.
|
unit.risso.description = Strzela sporą ilością pocisków i rakiet w najbliższych przeciwników.
|
||||||
unit.minke.description = Strzela granatami i standardowymi pociskami w najbliższych przeciwników.
|
unit.minke.description = Strzela granatami i standardowymi pociskami w najbliższych przeciwników.
|
||||||
unit.bryde.description = Strzela granatami i rakietami na dużą odległość we wrogów.
|
unit.bryde.description = Strzela granatami i rakietami na dużą odległość we wrogów.
|
||||||
unit.sei.description = Strzela dużą ilością rakiet oraz przebijających zbroje pocisków we wrogów
|
unit.sei.description = Strzela dużą ilością rakiet oraz przebijających zbroje pocisków we wrogów.
|
||||||
unit.omura.description = Strzela przebijającym superszybkim pociskiem we wrogów ze sporej odległości. Produkuje Błyski (jednostki)
|
unit.omura.description = Strzela przebijającym superszybkim pociskiem we wrogów ze sporej odległości. Produkuje Błyski (jednostki).
|
||||||
unit.alpha.description = Chroni Rdzeń: Odłamek przed wrogami. Buduje struktury.
|
unit.alpha.description = Chroni Rdzeń: Odłamek przed wrogami. Buduje struktury.
|
||||||
unit.beta.description = Chroni Rdzeń: Podstawa przed wrogami. Buduje struktury.
|
unit.beta.description = Chroni Rdzeń: Podstawa przed wrogami. Buduje struktury.
|
||||||
unit.gamma.description = Chroni Rdzeń: Jądro przed wrogami. Buduje struktury.
|
unit.gamma.description = Chroni Rdzeń: Jądro przed wrogami. Buduje struktury.
|
||||||
|
|||||||
@@ -22,9 +22,8 @@ gameover.pvp = Echipa [accent] {0}[] este câștigătoare!
|
|||||||
gameover.waiting = [accent]Se așteaptă următoarea hartă...
|
gameover.waiting = [accent]Se așteaptă următoarea hartă...
|
||||||
highscore = [accent]Scor maxim nou!
|
highscore = [accent]Scor maxim nou!
|
||||||
copied = Copiat.
|
copied = Copiat.
|
||||||
indev.popup = [accent]v6[] este momentan în [accent]beta[].\n[lightgray]Asta înseamnă că:[]\n[scarlet]- Campania este neterminată[]\n- Tot ce vedeți se poate schimba sau poate fi eliminat.\n\nPentru a raporta buguri și crashuri intrați pe [accent]Github[].
|
|
||||||
indev.notready = Această secțiune a jocului nu este gata încă.
|
indev.notready = Această secțiune a jocului nu este gata încă.
|
||||||
indev.campaign = [accent]Ai ajuns la finalul campaniei![]\n\nAi mers cât de departe se poate momentan. Călătoria interplanetară va fi adăugată într-un update viitor.
|
indev.campaign = [accent]Felicitări! Ai ajuns la finalul campaniei![]\n\nAi mers cât de departe se poate momentan. Călătoria interplanetară va fi adăugată într-un update viitor.
|
||||||
|
|
||||||
load.sound = Sunete
|
load.sound = Sunete
|
||||||
load.map = Hărți
|
load.map = Hărți
|
||||||
@@ -147,8 +146,12 @@ planetmap = Harta Planetei
|
|||||||
launchcore = Lansează Nucleu
|
launchcore = Lansează Nucleu
|
||||||
filename = Nume Fișier:
|
filename = Nume Fișier:
|
||||||
unlocked = Nou conținut deblocat!
|
unlocked = Nou conținut deblocat!
|
||||||
|
available = Poți cerceta noi tehnologii!
|
||||||
completed = [accent]Finalizat
|
completed = [accent]Finalizat
|
||||||
techtree = Tehnologie
|
techtree = Cercetează
|
||||||
|
research.legacy = Au fost găsite date de cercetare din versiunea [accent]5.0[].\n Dorești să [accent]păstrezi aceste date[], sau [accent]să renunți la ele[] și să reîncepi cercetarea în noua campanie (recomandat)?
|
||||||
|
research.load = Păstrează Datele
|
||||||
|
research.discard = Renunță
|
||||||
research.list = [lightgray]Cercetare:
|
research.list = [lightgray]Cercetare:
|
||||||
research = Cercetează
|
research = Cercetează
|
||||||
researched = [lightgray]{0} cercetat.
|
researched = [lightgray]{0} cercetat.
|
||||||
@@ -230,6 +233,7 @@ disconnect.timeout = Întârzie să răspundă.
|
|||||||
disconnect.data = Nu s-au putut încărca datele lumii!
|
disconnect.data = Nu s-au putut încărca datele lumii!
|
||||||
cantconnect = Nu te-ai putut alătura jocului ([accent]{0}[]).
|
cantconnect = Nu te-ai putut alătura jocului ([accent]{0}[]).
|
||||||
connecting = [accent]Conectare...
|
connecting = [accent]Conectare...
|
||||||
|
reconnecting = [accent]Reconectare...
|
||||||
connecting.data = [accent]Se încarcă datele hărții...
|
connecting.data = [accent]Se încarcă datele hărții...
|
||||||
server.port = Port:
|
server.port = Port:
|
||||||
server.addressinuse = Adresa este deja în uz!
|
server.addressinuse = Adresa este deja în uz!
|
||||||
@@ -272,7 +276,7 @@ ok = OK
|
|||||||
open = Deschide
|
open = Deschide
|
||||||
customize = Personalizează Regulile
|
customize = Personalizează Regulile
|
||||||
cancel = Anulare
|
cancel = Anulare
|
||||||
openlink = Deschidr Linkul
|
openlink = Deschide Linkul
|
||||||
copylink = Copiază Linkul
|
copylink = Copiază Linkul
|
||||||
back = Înapoi
|
back = Înapoi
|
||||||
crash.export = Exportă Crash Logs
|
crash.export = Exportă Crash Logs
|
||||||
@@ -501,7 +505,6 @@ map.multiplayer = Doar gazda poate vedea harta sectoarelor.
|
|||||||
uncover = Descoperă
|
uncover = Descoperă
|
||||||
configure = Configurează Încărcarea
|
configure = Configurează Încărcarea
|
||||||
|
|
||||||
#Spațiu Necesar
|
|
||||||
loadout = Încărcare
|
loadout = Încărcare
|
||||||
resources = Resurse
|
resources = Resurse
|
||||||
bannedblocks = Blocuri Interzise
|
bannedblocks = Blocuri Interzise
|
||||||
@@ -509,12 +512,6 @@ addall = Adaugă-le pe toate
|
|||||||
launch.from = Lansează Din: [accent]{0}
|
launch.from = Lansează Din: [accent]{0}
|
||||||
launch.destination = Destinație: {0}
|
launch.destination = Destinație: {0}
|
||||||
configure.invalid = Cantitatea trebuie să fie un număr între 0 și {0}.
|
configure.invalid = Cantitatea trebuie să fie un număr între 0 și {0}.
|
||||||
zone.unlocked = [lightgray]{0} deblocat(ă).
|
|
||||||
zone.requirement.complete = Cerințele pt {0} finalizate:[lightgray]\n{1}
|
|
||||||
zone.resources = [lightgray]Resurse Detectate:
|
|
||||||
zone.objective = [lightgray]Obiectiv: [accent]{0}
|
|
||||||
zone.objective.survival = Supraviețuiește
|
|
||||||
zone.objective.attack = Distruge Nucleul Inamic
|
|
||||||
add = Adaugă...
|
add = Adaugă...
|
||||||
boss.health = Viața Gardianului
|
boss.health = Viața Gardianului
|
||||||
|
|
||||||
@@ -552,7 +549,7 @@ sectors.enemybase = [scarlet]Bază Inamică
|
|||||||
sectors.vulnerable = [scarlet]Vulnerabil
|
sectors.vulnerable = [scarlet]Vulnerabil
|
||||||
sectors.underattack = [scarlet]Sectorul e atacat! [accent]{0}% deteriorat
|
sectors.underattack = [scarlet]Sectorul e atacat! [accent]{0}% deteriorat
|
||||||
sectors.survives = [accent]Supraviețuiește {0} valuri
|
sectors.survives = [accent]Supraviețuiește {0} valuri
|
||||||
|
sectors.go = Start
|
||||||
sector.curcapture = Sector Capturat
|
sector.curcapture = Sector Capturat
|
||||||
sector.curlost = Sector Pierdut
|
sector.curlost = Sector Pierdut
|
||||||
sector.missingresources = [scarlet]Resurse din Nucleu Insuficiente
|
sector.missingresources = [scarlet]Resurse din Nucleu Insuficiente
|
||||||
@@ -591,15 +588,20 @@ sector.planetaryTerminal.name = Terminalul de Lansare Planetară
|
|||||||
|
|
||||||
sector.groundZero.description = Locația optimă pt a începe încă odată. Risc de inamici scăzut. Puține resurse.\nAdună cât de mult plumb și cupru se poate.\nMergi mai departe.
|
sector.groundZero.description = Locația optimă pt a începe încă odată. Risc de inamici scăzut. Puține resurse.\nAdună cât de mult plumb și cupru se poate.\nMergi mai departe.
|
||||||
sector.frozenForest.description = Chiar și aici, aproape de munți, sporii s-au împrăștiat. Temperaturile reci nu-i pot reține la infinit.\n\nÎncepe călătoria către electricitate. Construiește generatoare de combustie. Învață să folosești reparatoare.
|
sector.frozenForest.description = Chiar și aici, aproape de munți, sporii s-au împrăștiat. Temperaturile reci nu-i pot reține la infinit.\n\nÎncepe călătoria către electricitate. Construiește generatoare de combustie. Învață să folosești reparatoare.
|
||||||
sector.saltFlats.description = La periferia deșertului stau Podișurile Saline. Puține resurse pot fi găsite în această locație.\n\nInamicul a ridicat un complex-depozit aici. Distruge-le nucleul. Nu lăsa nimic în urmă.
|
sector.saltFlats.description = La periferia deșertului stau Podișurile Saline. Puține resurse pot fi găsite în această locație.\n\nInamicul a ridicat un complex de depozitare aici. Distruge-le nucleul. Nu lăsa nimic în urmă.
|
||||||
sector.craters.description = Apa s-a acumulat în acest crater, rămășiță a vechilor războaie. Cucerește din nou zona. Adună nisip. Toarnă-l în metasticlă. Pompează apă pt a răci armele și burghiele.
|
sector.craters.description = Apa s-a acumulat în acest crater, rămășiță a vechilor războaie. Cucerește din nou zona. Adună nisip. Toarnă-l în metasticlă. Pompează apă pt a răci armele și burghiele.
|
||||||
sector.ruinousShores.description = După deșerturi vine țărmul. Odată, locația aceasta a avut un sistem de apărare de coastă. N-a rămas mult din el. Doar structurile de apărare cele mai de bază rămas în picioare, restul fiind redus la fier vechi.\nContinuă expansiunea în afară. Redescoperă tehnologia.
|
sector.ruinousShores.description = După deșerturi vine țărmul. Odată, locația aceasta a avut un sistem de apărare de coastă. N-a rămas mult din el. Doar structurile de apărare cele mai simple au rămas în picioare, restul fiind redus la fier vechi.\nContinuă expansiunea înspre exterior. Redescoperă tehnologia.
|
||||||
sector.stainedMountains.description = Mai înspre continent sunt munții, încă neatinși de spori.\nExtrage abundentele resurse de titan din zonă. Învață cum să-l folosești.\n\nPrezența inamicului e mai mare aici. Nu le da timp să-și trimită cele mai puternice unități.
|
sector.stainedMountains.description = Mai spre mijlocul continentului sunt munții, încă neatinși de spori.\nExtrage abundentele resurse de titan din zonă. Învață cum să-l folosești.\n\nPrezența inamicului e mai mare aici. Nu le da timp să-și trimită cele mai puternice unități.
|
||||||
sector.overgrowth.description = Această zonă este plină de buruieni, mai aproape de sursa sporilor.\nInamicul și-a stabilit un adăpost aici. Construiește unități Mace. Distruge-o. Cucerește din nou ce s-a pierdut.
|
sector.overgrowth.description = Această zonă este plină de buruieni, mai aproape de sursa sporilor.\nInamicul și-a stabilit un avanpost aici. Construiește unități Mace. Distruge-l.
|
||||||
sector.tarFields.description = O zonă aflată la periferia unei zone de producție petrolieră, între munți și deșert. Una din puținele zone cu resurse utilizabile de țiței.\nDeși abandonată, zona aceasta are niște forțe inamice periculoase înapropiere. Nu le subestima.\n\n[lightgray]Cercetează tehnologia de procesare a petrolului dacă se poate.
|
sector.tarFields.description = O zonă aflată la periferia unui complex de producție petrolieră, între munți și deșert. Una din puținele zone cu resurse utilizabile de țiței.\nDeși abandonată, în apropierea zonei se află de forțe inamice periculoase. Nu le subestima.\n\n[lightgray]Cercetează tehnologie de procesare a petrolului pe cât posibil.
|
||||||
sector.desolateRift.description = O zonă extrem de periculoasă. Multe resurse, dar puțin spațiu. Mare risc de distrugere. Pleacă cât mai curând. Nu te lăsa păcălit de timpul mare dintre atacurile inamice.
|
sector.desolateRift.description = O zonă extrem de periculoasă. Multe resurse, dar puțin spațiu. Mare risc de distrugere. Pleacă curând, cât mai curând. Nu te lăsa păcălit de pauzele mari dintre atacurile inamice.
|
||||||
sector.nuclearComplex.description = O fostă facilitate pt producerea și procesarea de toriu, redusă la ruine.\n[lightgray]Cercetează toriul și multele sale utilizări.\n\nInamicul e prezent aici în mari numere, căutând constând atacatori.
|
sector.nuclearComplex.description = O fostă facilitate pt producerea și procesarea de toriu, redusă la ruine.\n[lightgray]Cercetează toriul și multele sale utilizări.\n\nInamicul e prezent aici în mari numere, căutând constant atacatori.
|
||||||
sector.fungalPass.description = O zonă de tranziție dintre munții înalți și zonele joase, pline cu spori. O mică bază de recunoaștere a inamicului este localizată aici.\nDistruge-o.\nFolosește unități Dagger și Crawler. Distruge cele 2 nuclee.
|
sector.fungalPass.description = O zonă de tranziție dintre munții înalți și zonele joase, pline cu spori. O mică bază de recunoaștere a inamicului este localizată aici.\nDistruge-o.\nFolosește unități Dagger și Crawler. Distruge cele 2 nuclee.
|
||||||
|
sector.biomassFacility.description = Originea sporilor. Aceasta este facilitatea în care au fost cercetați și produși inițial.\nCercetează tehnologia ce poate fi găsită aici. Cultivă spori pt producția de combustibil și mase plastice.\n\n[lightgray]Când facilitatea a decăzut, sporii au fost eliberați. Nimic din din ecosistemul local nu a putut concura cu un organism atât de invaziv.
|
||||||
|
sector.windsweptIslands.description = Acest arhipelag izolat se află mai departe, după țărm. Datele arată că odată aveau structuri care produceau [accent]Plastaniu[].\n\nApără-te de unitățile navale ale inamicului. Construiește o bază pe insule. Cercetează fabricile necesare.
|
||||||
|
sector.extractionOutpost.description = Un avanpost izolat, construit de inamic cu scopul de a lansa resurse către alte sectoare.\n\nTehnologia de transport intersectorial este esențială pt cuceririle ce urmează. Distruge baza. Cercetează platformele lor de lansare.
|
||||||
|
sector.impact0078.description = Aici se află rămășițele primei nave de transport interstelar care a intrat în acest sistem stelar.\n\nSalvează cât mai mult posibil din epavă. Cercetează orice tehnologie intactă.
|
||||||
|
sector.planetaryTerminal.description = Ținta finală.\n\nAceastă bază de coastă conține o structură capabilă să lanseze nuclee către alte planete locale. Este extrem de bine păzită.\n\nProdu unități navale. Elimină inamicul cât de rapid se poate. Cercetează structura de lansare.
|
||||||
|
|
||||||
settings.language = Limbă
|
settings.language = Limbă
|
||||||
settings.data = Datele Jocului
|
settings.data = Datele Jocului
|
||||||
@@ -693,13 +695,13 @@ stat.minetier = Minabile
|
|||||||
stat.payloadcapacity = Capacitate Încărcătură
|
stat.payloadcapacity = Capacitate Încărcătură
|
||||||
stat.commandlimit = Nr Unități Comandate
|
stat.commandlimit = Nr Unități Comandate
|
||||||
stat.abilities = Abilități
|
stat.abilities = Abilități
|
||||||
stat.canboost = Poate Îmbunătăți
|
stat.canboost = Are Propulsor
|
||||||
stat.flying = Zboară
|
stat.flying = Zboară
|
||||||
|
|
||||||
ability.forcefield = Câmp de Forță
|
ability.forcefield = Câmp de Forță
|
||||||
ability.repairfield = Câmp de Reparare
|
ability.repairfield = Câmp de Reparare
|
||||||
ability.statusfield = Câmp Suprasolicitare Unități
|
ability.statusfield = Câmp Suprasolicitare Unități
|
||||||
ability.unitspawn = {0} Fabrici
|
ability.unitspawn = Fabrică de {0}
|
||||||
ability.shieldregenfield = Câmp de Regenerare a Scutului
|
ability.shieldregenfield = Câmp de Regenerare a Scutului
|
||||||
ability.movelightning = Mișcare Fulger
|
ability.movelightning = Mișcare Fulger
|
||||||
|
|
||||||
@@ -813,7 +815,7 @@ setting.smoothcamera.name = Cameră Graduală
|
|||||||
setting.vsync.name = VSync
|
setting.vsync.name = VSync
|
||||||
setting.pixelate.name = Pixelează
|
setting.pixelate.name = Pixelează
|
||||||
setting.minimap.name = Vezi Miniharta
|
setting.minimap.name = Vezi Miniharta
|
||||||
setting.coreitems.name = Vezi Materialele din Nucleu (neterminat)
|
setting.coreitems.name = Vezi Materialele din Nucleu
|
||||||
setting.position.name = Vezi Poziția Jucătorului
|
setting.position.name = Vezi Poziția Jucătorului
|
||||||
setting.musicvol.name = Volumul Muzicii
|
setting.musicvol.name = Volumul Muzicii
|
||||||
setting.atmosphere.name = Vezi Atmosfera Planetelor
|
setting.atmosphere.name = Vezi Atmosfera Planetelor
|
||||||
@@ -894,6 +896,7 @@ keybind.pause.name = Pauză
|
|||||||
keybind.pause_building.name = Pauză/Reia Construit
|
keybind.pause_building.name = Pauză/Reia Construit
|
||||||
keybind.minimap.name = Minihartă
|
keybind.minimap.name = Minihartă
|
||||||
keybind.planet_map.name = Harta Planetei
|
keybind.planet_map.name = Harta Planetei
|
||||||
|
keybind.research.name = Cercetare
|
||||||
keybind.chat.name = Chat
|
keybind.chat.name = Chat
|
||||||
keybind.player_list.name = Listă Jucători
|
keybind.player_list.name = Listă Jucători
|
||||||
keybind.console.name = Consolă
|
keybind.console.name = Consolă
|
||||||
@@ -1009,7 +1012,7 @@ unit.omura.name = Omura
|
|||||||
unit.alpha.name = Alpha
|
unit.alpha.name = Alpha
|
||||||
unit.beta.name = Beta
|
unit.beta.name = Beta
|
||||||
unit.gamma.name = Gamma
|
unit.gamma.name = Gamma
|
||||||
unit.scepter.name = Scepter
|
unit.scepter.name = Septer
|
||||||
unit.reign.name = Reign
|
unit.reign.name = Reign
|
||||||
unit.vela.name = Vela
|
unit.vela.name = Vela
|
||||||
unit.corvus.name = Corvus
|
unit.corvus.name = Corvus
|
||||||
@@ -1019,6 +1022,7 @@ block.parallax.name = Parallax
|
|||||||
block.cliff.name = Deal
|
block.cliff.name = Deal
|
||||||
block.sand-boulder.name = Bolovan de Nisip
|
block.sand-boulder.name = Bolovan de Nisip
|
||||||
block.grass.name = Iarbă
|
block.grass.name = Iarbă
|
||||||
|
block.basalt-boulder.name = Bolovan de Bazalt
|
||||||
block.slag.name = Zgură
|
block.slag.name = Zgură
|
||||||
block.space.name = Cosmos
|
block.space.name = Cosmos
|
||||||
block.salt.name = Sare
|
block.salt.name = Sare
|
||||||
@@ -1240,40 +1244,41 @@ team.derelict.name = abandonată
|
|||||||
team.green.name = verde
|
team.green.name = verde
|
||||||
team.purple.name = mov
|
team.purple.name = mov
|
||||||
|
|
||||||
# A NU SE TRADUCE! NU SUNT GATA!
|
hint.skip = Treci peste
|
||||||
hint.skip = Skip
|
hint.desktopMove = Folosește [accent][[WASD][] ca să te miști.
|
||||||
hint.desktopMove = Use [accent][[WASD][] to move.
|
hint.zoom = [accent]Cu rotița de la mouse[] poți ajusta zoomul.
|
||||||
hint.zoom = [accent]Scroll[] to zoom in or out.
|
hint.mine = Du-te lângă \uf8c4 minereul de cupru și [accent]dă click[] pe el pt a mina manual.
|
||||||
hint.mine = Move near the \uf8c4 copper ore and [accent]tap[] it to mine manually.
|
hint.desktopShoot = [accent][[Click-stânga][] pt a trage cu armele navei.
|
||||||
hint.desktopShoot = [accent][[Left-click][] to shoot.
|
hint.depositItems = Pt a transfera materiale, trage-le din nava ta către nucleu.
|
||||||
hint.depositItems = To transfer items, drag from your ship to the core.
|
hint.respawn = Pt a te regenera ca navă în nucleu, apasă [accent][[V][].
|
||||||
hint.respawn = To respawn as a ship, press [accent][[V][].
|
hint.respawn.mobile = Acum controlezi o unitate/structură. Pt a te regenera ca navă în nucleu, [accent]dă click pe avatarul din colțul din stânga-sus.[]
|
||||||
hint.respawn.mobile = You have switched control a unit/structure. To respawn as a ship, [accent]tap the avatar in the top left.[]
|
hint.desktopPause = Apasă pe [accent][[Space][] pt a da pauză jocului. Apasă din nou pt a ieși din modul pauză.
|
||||||
hint.desktopPause = Press [accent][[Space][] to pause and unpause the game.
|
hint.placeDrill = Selectează tabul \ue85e [accent]Burghie[] din meniul din dreapta-jos, apoi selectează un \uf870 [accent]Burghiu[] și dă click pe un minereu de cupru pt a mina.
|
||||||
hint.placeDrill = Select the \ue85e [accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and click on a copper patch to place it.
|
hint.placeDrill.mobile = Selectează tabul \ue85e[accent]Burghie[] din meniul din dreapta-jos, apoi selectează un \uf870 [accent]Burghiu[] și dă click un minereu de cupru pt a mina.\n\nApasă pe \ue800 [accent]bifa[] din dreapta-jos pt confirmare.
|
||||||
hint.placeDrill.mobile = Select the \ue85e[accent]Drill[] tab in the menu at the bottom right, then select a \uf870 [accent]Drill[] and tap on a copper patch to place it.\n\nPress the \ue800 [accent]checkmark[] at the bottom right to confirm.
|
hint.placeConveyor = Benzile transportă materiale din burghie către alte blocuri. Selectează o \uf896 [accent]Bandă[] din tabul \ue814 [accent]Distribție[].\n\nDă click pe ecran și trage pt a desena o linie de bandă.\nFolosește [accent]rotița mouseului[] pt rotire.
|
||||||
hint.placeConveyor = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nClick and drag to place multiple conveyors.\n[accent]Scroll[] to rotate.
|
hint.placeConveyor.mobile = Benzile transportă materiale din burghie către alte blocuri. Selectează o \uf896 [accent]Bandă[] din tabul \ue814 [accent]Distribție[].\n\nȚine apăsat cu degetul pt o secundă și trage pt a desena o linie de bandă.
|
||||||
hint.placeConveyor.mobile = Conveyors move items from drills into other blocks. Select a \uf896 [accent]Conveyor[] from the \ue814 [accent]Distribution[] tab.\n\nHold down your finger for a second and drag to place multiple conveyors.
|
hint.placeTurret = Construiește \uf861 [accent]Arme[] pt a-ți apăra baza de inamici.\n\nArmele necesită muniție. Putem folosi \uf838cupru.\nAlimentează arma folosind benzi și burghie.
|
||||||
hint.placeTurret = Place \uf861 [accent]Turrets[] to defend your base from enemies.\n\nTurrets require ammo - in this case, \uf838copper.\nUse conveyors and drills to supply them.
|
hint.breaking = Ține apăsat [accent]click-dreapta[] și trage pe ecran pt a distruge blocuri.
|
||||||
hint.breaking = [accent]Right-click[] and drag to break blocks.
|
hint.breaking.mobile = Activează \ue817 [accent]ciocanul[] din dreapta-jos și dă click pt a distruge blocuri.\n\nȚine apăsat cu degetul pt o secundă și trage pt a distruge mai multe blocuri deodată.
|
||||||
hint.breaking.mobile = Activate the \ue817 [accent]hammer[] in the bottom right and tap to break blocks.\n\nHold down your finger for a second and drag to break in a selection.
|
hint.research = Folosește butonul \ue875 [accent]Cercetează[] pt a cerceta noi tehnologii.
|
||||||
hint.research = Use the \ue875 [accent]Research[] button to research new technology.
|
hint.research.mobile = Folosește butonul \ue875 [accent]Cercetează[] din \ue88c [accent]Meniu[] pt a cerceta noi tehnologii.
|
||||||
hint.research.mobile = Use the \ue875 [accent]Research[] button in the \ue88c [accent]Menu[] to research new technology.
|
hint.unitControl = Ține apăsat [accent][[Ctrl][] și [accent]dă click[] pt a controla unități aliate sau arme.
|
||||||
hint.unitControl = Hold [accent][[L-ctrl][] and [accent]click[] to control friendly units or turrets.
|
hint.unitControl.mobile = [accent][Dă dublu click[] pt a controla unități aliate sau arme.
|
||||||
hint.unitControl.mobile = [accent][Double-tap[] to control friendly units or turrets.
|
hint.launch = Odată ce s-au strâns suficiente resurse, poți [accent]Lansa[] către o altă zonă selectând sectoarele învecinate folosind \ue827 [accent]Harta[] din dreapta-jos.
|
||||||
hint.launch = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the bottom right.
|
hint.launch.mobile = Odată ce s-au strâns suficiente resurse, poți [accent]Lansa[] către o altă zonă selectând sectoarele învecinate folosind \ue827 [accent]Harta[] din \ue88c [accent]Meniu[].
|
||||||
hint.launch.mobile = Once enough resources are collected, you can [accent]Launch[] by selecting nearby sectors from the \ue827 [accent]Map[] in the \ue88c [accent]Menu[].
|
hint.schematicSelect = Ține apăsat [accent][[F][] și trage pt a selecta blocuri pt copiere.\n\n[accent][[Click pe rotiță][] pt a copia un singur tip de bloc.
|
||||||
hint.schematicSelect = Hold [accent][[F][] and drag to select blocks to copy and paste.\n\n[accent][[Middle Click][] to copy a single block type.
|
hint.conveyorPathfind = Ține apăsat [accent][[Ctrl][] în timp ce plasezi benzi pt a genera automat o cale între 2 puncte.
|
||||||
hint.conveyorPathfind = Hold [accent][[L-Ctrl][] while dragging conveyors to automatically generate a path.
|
hint.conveyorPathfind.mobile = Activează \ue844 [accent]modul diagonal[] și plasează benzi pt a genera automat o cale între 2 puncte.
|
||||||
hint.conveyorPathfind.mobile = Enable \ue844 [accent]diagonal mode[] and drag conveyors to automatically generate a path.
|
hint.boost = Ține apăsat [accent][[Shift][] pt a zbura peste obstacole cu unitatea ta.\n\nDoar câteva unități de artilerie au propulsoare.
|
||||||
hint.boost = Hold [accent][[L-Shift][] to fly over obstacles with your current unit.\n\nOnly a few ground units have boosters.
|
hint.command = Apasă [accent][[G][] pt a comanda unitățile [accent]similare[] din apropiere în formație.\n\nPt a comanda unități de artilerie, trebuie întâi să controlezi o unitate de artilerie.
|
||||||
hint.command = Press [accent][[G][] to command nearby units into formation.
|
hint.command.mobile = [accent][[Dublu-click][] pe unitatea ta pt a comanda unitățile [accent]similare[] din apropiere în formație.
|
||||||
hint.command.mobile = [accent][[Double-tap][] your unit to command nearby units into formation.
|
hint.payloadPickup = Apasă [accent][[[] pt a ridica blocuri mici sau unități.
|
||||||
hint.payloadPickup = Press [accent][[[] to pick up small blocks or units.
|
hint.payloadPickup.mobile = [accent]Ține apăsat[] pe un bloc mic/o unitate pt a o ridica.
|
||||||
hint.payloadPickup.mobile = [accent]Tap and hold[] a small block or unit to pick it up.
|
hint.payloadDrop = Apasă [accent]][] pt a descărca încărcătura.
|
||||||
hint.payloadDrop = Press [accent]][] to drop a payload.
|
hint.payloadDrop.mobile = [accent]Ține apăsat[] pe o locație goală pt a descărca încărcătura acolo.
|
||||||
hint.payloadDrop.mobile = [accent]Tap and hold[] an empty location to drop a payload there.
|
hint.waveFire = Armele [accent]Wave[] încărcate cu apă vor stinge incendiile automat.
|
||||||
hint.waveFire = [accent]Wave[] turrets with water as ammunition will automatically put out nearby fires.
|
hint.generator = \uf879 [accent]Generatoarele pe Combustie[] ard cărbunele și transmit electricitatea blocurilor învecinate.\n\nElectricitatea poate fi transmisă pe distanțe lungi folosind \uf87f [accent]Noduri Electrice[].
|
||||||
|
hint.guardian = Unitățile [accent]Gardian[] au armuri puternice. Munițiile slabe precum [accent]Cuprul[] și [accent]Plumbul[] [scarlet]nu sunt eficiente[].\n\nFolosește arme mai bune sau muniție de \uf835 [accent]Grafit[] pt \uf861Duo/\uf859Salvo pt a nimici Gardianul.
|
||||||
|
|
||||||
item.copper.description = Folosit în tot felul de construcții și muniție.
|
item.copper.description = Folosit în tot felul de construcții și muniție.
|
||||||
item.copper.details = Cupru. Metal anormal de abundent pe Serpulo. Structural slab dacă nu este consolidat.
|
item.copper.details = Cupru. Metal anormal de abundent pe Serpulo. Structural slab dacă nu este consolidat.
|
||||||
@@ -1287,15 +1292,15 @@ item.coal.details = Pare să fie materie vegetală fosilizată, formată cu mult
|
|||||||
item.titanium.description = Folosit pt structuri transportatoare de lichid, burghie și aeronautică.
|
item.titanium.description = Folosit pt structuri transportatoare de lichid, burghie și aeronautică.
|
||||||
item.thorium.description = Folosit în structuri durabile și combustibil nuclear.
|
item.thorium.description = Folosit în structuri durabile și combustibil nuclear.
|
||||||
item.scrap.description = Folosit in topitoare și pulverizatoare pt a fi rafinat în alte materiale.
|
item.scrap.description = Folosit in topitoare și pulverizatoare pt a fi rafinat în alte materiale.
|
||||||
item.scrap.details = Rămășițe ale structurilor și unităților vechi..
|
item.scrap.details = Rămășițe ale structurilor și unităților vechi.
|
||||||
item.silicon.description = Folosit în producerea energiei solare, electronice complexe și muniție cu radar pt armament.
|
item.silicon.description = Folosit în producerea energiei solare, electronice complexe și muniție cu radar pt armament.
|
||||||
item.plastanium.description = Folosit pt unitățile militare avansate, ca izolator electric și muniție fragilă.
|
item.plastanium.description = Folosit pt unitățile militare avansate, ca izolator electric și muniție fragilă.
|
||||||
item.phase-fabric.description = Folosită în electronica avansată și tehnologia de autoreparare.
|
item.phase-fabric.description = Folosită în electronica avansată și tehnologia de autoreparare.
|
||||||
item.surge-alloy.description = Folosit în electronica avansată și structuri defensive reactive.
|
item.surge-alloy.description = Folosit în electronica avansată și structurile defensive reactive.
|
||||||
item.spore-pod.description = Folosită pt a fi convertită în petrol, explozibili și combustibil.
|
item.spore-pod.description = Folosită pt a fi convertită în petrol, explozibili și combustibil.
|
||||||
item.spore-pod.details = Spori. Probabil o formă de viață sintetică. Emite gaze toxice altor forme de viață biologică. Nu că ar mai fi rămas prea multe aici.
|
item.spore-pod.details = Spori. Probabil o formă de viață sintetică. Emite gaze toxice altor forme de viață biologică. Nu că ar mai fi rămas prea multe aici.
|
||||||
item.blast-compound.description = Folosit în bombe și muniție explozibilă.
|
item.blast-compound.description = Folosit în bombe și muniție explozibilă.
|
||||||
item.pyratite.description = Folosită în armele incendiare și generatoare pe bază de procese de combustie.
|
item.pyratite.description = Folosită în armele incendiare și generatoarele pe bază de procese de combustie.
|
||||||
|
|
||||||
liquid.water.description = Folosită pt răcirea mașinăriilor și procesarea deșeurilor.
|
liquid.water.description = Folosită pt răcirea mașinăriilor și procesarea deșeurilor.
|
||||||
liquid.slag.description = Rafinată în separatoare înapoi în materialele constituente, sau pulverizată înspre unitățile inamice ca armă.
|
liquid.slag.description = Rafinată în separatoare înapoi în materialele constituente, sau pulverizată înspre unitățile inamice ca armă.
|
||||||
|
|||||||
@@ -17,11 +17,14 @@ linkfail = 打开链接失败!\n网址已复制到您的剪贴板。
|
|||||||
screenshot = 屏幕截图已保存到 {0}
|
screenshot = 屏幕截图已保存到 {0}
|
||||||
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
|
screenshot.invalid = 地图太大,可能没有足够的内存用于截图。
|
||||||
gameover = 游戏结束
|
gameover = 游戏结束
|
||||||
|
gameover.disconnect = 断开连接
|
||||||
gameover.pvp = [accent] {0}[]队获胜!
|
gameover.pvp = [accent] {0}[]队获胜!
|
||||||
|
gameover.waiting = [accent]正在等待下一张地图...
|
||||||
highscore = [accent]新纪录!
|
highscore = [accent]新纪录!
|
||||||
copied = 已复制。
|
copied = 已复制
|
||||||
indev.popup = [accent]6.0[]仍在[accent]测试版[].\n[lightgray]这意味着:[]\n[scarlet]- 战役玩法完全没有完成[]\n- 很多内容还没有做完\n - 大多[scarlet]单位AI[]无法正确地运行\n- 单位系统完全没有完成\n- 一切您所看到的内容都可能会移除或调整。\n\n在[accent]Github[]提交错误报告。\n[#66ccff]来自译者WinterUnderTheSnow的忠告:不建议新玩家游玩还在测试阶段的6.0!建议您先从[orange]v104.6[#66ccff]或[orange]v104.10[#66ccff]开始游玩!
|
indev.popup = [accent]6.0[]仍在[accent]测试版[].\n[lightgray]这意味着:[]\n[scarlet]- 战役玩法完全没有完成[]\n- 很多内容还没有做完\n - 大多[scarlet]单位AI[]无法正确地运行\n- 单位系统完全没有完成\n- 一切您所看到的内容都可能会移除或调整。\n\n在[accent]Github[]提交错误报告。\n[#66ccff]来自译者WinterUnderTheSnow的忠告:不建议新玩家游玩还在测试阶段的6.0!建议您先从[orange]v104.6[#66ccff]或[orange]v104.10[#66ccff]开始游玩!
|
||||||
indev.notready = 这部分玩法还未开发完成。
|
indev.notready = 这部分玩法还未开发完成。
|
||||||
|
indev.campaign = [accent]您已经到达战役模式的结尾![]\n\n这是内容所能做到的。 未来的更新中将添加行星际旅行。
|
||||||
|
|
||||||
load.sound = 音乐加载中
|
load.sound = 音乐加载中
|
||||||
load.map = 地图加载中
|
load.map = 地图加载中
|
||||||
@@ -57,6 +60,7 @@ schematic.rename = 重命名蓝图
|
|||||||
schematic.info = {0}x{1},{2} 个方块
|
schematic.info = {0}x{1},{2} 个方块
|
||||||
schematic.disabled = [scarlet]蓝图已禁用![]\n您不能在此[accent]地图[]或[accent]服务器[]上使用蓝图.
|
schematic.disabled = [scarlet]蓝图已禁用![]\n您不能在此[accent]地图[]或[accent]服务器[]上使用蓝图.
|
||||||
|
|
||||||
|
stats = 统计资料
|
||||||
stat.wave = 防守波数:[accent]{0}
|
stat.wave = 防守波数:[accent]{0}
|
||||||
stat.enemiesDestroyed = 消灭敌人:[accent]{0}
|
stat.enemiesDestroyed = 消灭敌人:[accent]{0}
|
||||||
stat.built = 建造建筑:[accent]{0}
|
stat.built = 建造建筑:[accent]{0}
|
||||||
@@ -189,6 +193,10 @@ servers.local = 本地服务器
|
|||||||
servers.remote = 远程服务器
|
servers.remote = 远程服务器
|
||||||
servers.global = 全球服务器
|
servers.global = 全球服务器
|
||||||
|
|
||||||
|
servers.showhidden = 显示隐藏的服务器
|
||||||
|
server.shown = 显示
|
||||||
|
server.hidden = 隐藏
|
||||||
|
|
||||||
trace = 跟踪玩家
|
trace = 跟踪玩家
|
||||||
trace.playername = 玩家名称:[accent]{0}
|
trace.playername = 玩家名称:[accent]{0}
|
||||||
trace.ip = IP 地址:[accent]{0}
|
trace.ip = IP 地址:[accent]{0}
|
||||||
@@ -267,6 +275,9 @@ cancel = 取消
|
|||||||
openlink = 打开链接
|
openlink = 打开链接
|
||||||
copylink = 复制链接
|
copylink = 复制链接
|
||||||
back = 返回
|
back = 返回
|
||||||
|
crash.export = 导出崩溃日志
|
||||||
|
crash.none = 找不到崩溃日志。
|
||||||
|
crash.exported = 崩溃日志已导出。
|
||||||
data.export = 导出数据
|
data.export = 导出数据
|
||||||
data.import = 导入数据
|
data.import = 导入数据
|
||||||
data.openfolder = 打开数据文件夹
|
data.openfolder = 打开数据文件夹
|
||||||
@@ -283,6 +294,7 @@ cancelbuilding = [accent][[{0}][]来清除规划
|
|||||||
selectschematic = [accent][[{0}][]来选择复制
|
selectschematic = [accent][[{0}][]来选择复制
|
||||||
pausebuilding = [accent][[{0}][]来暂停建造
|
pausebuilding = [accent][[{0}][]来暂停建造
|
||||||
resumebuilding = [scarlet][[{0}][]来恢复建造
|
resumebuilding = [scarlet][[{0}][]来恢复建造
|
||||||
|
showui = UI已隐藏\n按[accent][[{0}][]显示UI
|
||||||
wave = [accent]第{0}波
|
wave = [accent]第{0}波
|
||||||
wave.cap = [accent]Wave {0}/{1}
|
wave.cap = [accent]Wave {0}/{1}
|
||||||
wave.waiting = [lightgray]下一波倒计时:{0}秒
|
wave.waiting = [lightgray]下一波倒计时:{0}秒
|
||||||
@@ -290,6 +302,8 @@ wave.waveInProgress = [lightgray]波次袭来
|
|||||||
waiting = [lightgray]等待中…
|
waiting = [lightgray]等待中…
|
||||||
waiting.players = 等待玩家中…
|
waiting.players = 等待玩家中…
|
||||||
wave.enemies = [lightgray]剩余 {0} 个敌人
|
wave.enemies = [lightgray]剩余 {0} 个敌人
|
||||||
|
wave.enemycores = [accent]{0}[lightgray] 敌人核心(多个)
|
||||||
|
wave.enemycore = [accent]{0}[lightgray] 敌人核心
|
||||||
wave.enemy = [lightgray]剩余 {0} 个敌人
|
wave.enemy = [lightgray]剩余 {0} 个敌人
|
||||||
wave.guardianwarn = Boss 将在[accent]{0}[]波后到来。
|
wave.guardianwarn = Boss 将在[accent]{0}[]波后到来。
|
||||||
wave.guardianwarn.one = Boss 将在[accent]{0}[]波后到来。
|
wave.guardianwarn.one = Boss 将在[accent]{0}[]波后到来。
|
||||||
@@ -350,6 +364,7 @@ waves.invalid = 剪贴板中的波次信息无效。
|
|||||||
waves.copied = 波次信息已复制。
|
waves.copied = 波次信息已复制。
|
||||||
waves.none = 没有定义敌人。\n请注意,这将自动替换为默认的敌人列表。
|
waves.none = 没有定义敌人。\n请注意,这将自动替换为默认的敌人列表。
|
||||||
|
|
||||||
|
#these are intentionally in lower case
|
||||||
wavemode.counts = 数目
|
wavemode.counts = 数目
|
||||||
wavemode.totals = 总和
|
wavemode.totals = 总和
|
||||||
wavemode.health = 生命值
|
wavemode.health = 生命值
|
||||||
@@ -462,6 +477,8 @@ load = 载入游戏
|
|||||||
save = 保存
|
save = 保存
|
||||||
fps = 帧数:{0}
|
fps = 帧数:{0}
|
||||||
ping = 延迟:{0}毫秒
|
ping = 延迟:{0}毫秒
|
||||||
|
memory = 内存: {0}mb
|
||||||
|
memory2 = 内存:\n {0}mb +\n {1}mb
|
||||||
language.restart = 为了使语言设置生效请重启游戏。
|
language.restart = 为了使语言设置生效请重启游戏。
|
||||||
settings = 设置
|
settings = 设置
|
||||||
tutorial = 教程
|
tutorial = 教程
|
||||||
@@ -476,24 +493,21 @@ complete = [lightgray]完成:
|
|||||||
requirement.wave = {1}中的第{0}波次
|
requirement.wave = {1}中的第{0}波次
|
||||||
requirement.core = 在{0}中摧毁敌方核心
|
requirement.core = 在{0}中摧毁敌方核心
|
||||||
requirement.research = 研究 {0}
|
requirement.research = 研究 {0}
|
||||||
|
requirement.produce = 生产 {0}
|
||||||
requirement.capture = 占领 {0}
|
requirement.capture = 占领 {0}
|
||||||
bestwave = [lightgray]最高波次:{0}
|
|
||||||
launch.text = 发射
|
launch.text = 发射
|
||||||
research.multiplayer = 仅有服主可研究物品。
|
research.multiplayer = 仅有服主可研究物品。
|
||||||
|
map.multiplayer = 仅有服主可查看区域。
|
||||||
uncover = 解锁
|
uncover = 解锁
|
||||||
configure = 设定装运的数量
|
configure = 设定装运的数量
|
||||||
|
|
||||||
loadout = 装运
|
loadout = 装运
|
||||||
resources = 资源
|
resources = 资源
|
||||||
bannedblocks = 禁用建筑
|
bannedblocks = 禁用建筑
|
||||||
addall = 添加所有
|
addall = 添加所有
|
||||||
|
launch.from = 发射地: [accent]{0}
|
||||||
launch.destination = 目的地: {0}
|
launch.destination = 目的地: {0}
|
||||||
configure.invalid = 数量必须是0到{0}之间的数字。
|
configure.invalid = 数量必须是0到{0}之间的数字。
|
||||||
zone.unlocked = [lightgray]{0} 已解锁。
|
|
||||||
zone.requirement.complete = 完成{0}。\n已达成解锁{1}的要求。
|
|
||||||
zone.resources = 地图中的资源:
|
|
||||||
zone.objective = [lightgray]目标:[accent]{0}
|
|
||||||
zone.objective.survival = 生存
|
|
||||||
zone.objective.attack = 摧毁敌方核心
|
|
||||||
add = 添加…
|
add = 添加…
|
||||||
boss.health = Boss 生命值
|
boss.health = Boss 生命值
|
||||||
|
|
||||||
@@ -517,17 +531,41 @@ weather.fog.name = 雾
|
|||||||
sectors.unexplored = [lightgray]未探索
|
sectors.unexplored = [lightgray]未探索
|
||||||
sectors.resources = 资源:
|
sectors.resources = 资源:
|
||||||
sectors.production = 产出:
|
sectors.production = 产出:
|
||||||
|
sectors.export = 输出:
|
||||||
|
sectors.time = 时间:
|
||||||
|
sectors.threat = 威胁
|
||||||
|
sectors.wave = 进攻波:
|
||||||
sectors.stored = 贮存:
|
sectors.stored = 贮存:
|
||||||
sectors.resume = 继续
|
sectors.resume = 继续
|
||||||
sectors.launch = 发射
|
sectors.launch = 发射
|
||||||
sectors.select = 选择
|
sectors.select = 选择
|
||||||
sectors.nonelaunch = [lightgray]无 (太阳)
|
sectors.nonelaunch = [lightgray]无 (太阳)
|
||||||
sectors.rename = 重命名区块
|
sectors.rename = 重命名区块
|
||||||
|
sectors.enemybase = [scarlet]敌人基地
|
||||||
|
sectors.vulnerable = [scarlet]脆弱的
|
||||||
|
sectors.underattack = [scarlet]遭到攻击![accent]{0}% 被摧毁
|
||||||
|
sectors.survives = [accent]存活{0}波
|
||||||
|
sectors.go = 进入
|
||||||
|
sector.curcapture = 区域已占领
|
||||||
|
sector.curlost = 区域丢失
|
||||||
sector.missingresources = [scarlet]核心资源不足
|
sector.missingresources = [scarlet]核心资源不足
|
||||||
|
sector.attacked = 区域[accent]{0}[white]受到攻击!
|
||||||
|
sector.lost = 区域[accent]{0}[white]已丢失!
|
||||||
|
#note: the missing space in the line below is intentional
|
||||||
|
sector.captured = 区域[accent]{0}[white]已占领!
|
||||||
|
|
||||||
|
threat.low = 低
|
||||||
|
threat.medium = 中
|
||||||
|
threat.high = 高
|
||||||
|
threat.extreme = 极高
|
||||||
|
threat.eradication = 根除
|
||||||
|
|
||||||
|
planets = 行星
|
||||||
|
|
||||||
planet.serpulo.name = 塞普罗
|
planet.serpulo.name = 塞普罗
|
||||||
planet.sun.name = 太阳
|
planet.sun.name = 太阳
|
||||||
|
|
||||||
|
sector.impact0078.name = 影响0078
|
||||||
sector.groundZero.name = 零号地区
|
sector.groundZero.name = 零号地区
|
||||||
sector.craters.name = 陨石带
|
sector.craters.name = 陨石带
|
||||||
sector.frozenForest.name = 冰冻森林
|
sector.frozenForest.name = 冰冻森林
|
||||||
@@ -539,6 +577,10 @@ sector.overgrowth.name = 增生区
|
|||||||
sector.tarFields.name = 油田
|
sector.tarFields.name = 油田
|
||||||
sector.saltFlats.name = 盐碱荒滩
|
sector.saltFlats.name = 盐碱荒滩
|
||||||
sector.fungalPass.name = 真菌通道
|
sector.fungalPass.name = 真菌通道
|
||||||
|
sector.biomassFacility.name = 生物质合成设施
|
||||||
|
sector.windsweptIslands.name = 风吹群岛
|
||||||
|
sector.extractionOutpost.name = 萃取前哨
|
||||||
|
sector.planetaryTerminal.name = 行星发射终端
|
||||||
|
|
||||||
sector.groundZero.description = 踏上旅程的最佳位置。这儿的敌人威胁很小,但资源也少。\n收集尽可能多的铅和铜。\n出发吧!
|
sector.groundZero.description = 踏上旅程的最佳位置。这儿的敌人威胁很小,但资源也少。\n收集尽可能多的铅和铜。\n出发吧!
|
||||||
sector.frozenForest.description = 即使是靠近山脉的这里,孢子也已经扩散。他们不能长期停留在寒冷的温度中。\n\n开始运用电力。建造火力发电机并学会使用修理者。
|
sector.frozenForest.description = 即使是靠近山脉的这里,孢子也已经扩散。他们不能长期停留在寒冷的温度中。\n\n开始运用电力。建造火力发电机并学会使用修理者。
|
||||||
@@ -573,7 +615,6 @@ settings.clearcampaignsaves.confirm = 您确定要清除战役进度?
|
|||||||
paused = [accent]< 暂停 >
|
paused = [accent]< 暂停 >
|
||||||
clear = 清除
|
clear = 清除
|
||||||
banned = [scarlet]已禁止
|
banned = [scarlet]已禁止
|
||||||
unplaceable.sectorcaptured = [scarlet]需要占领区块
|
|
||||||
yes = 是
|
yes = 是
|
||||||
no = 否
|
no = 否
|
||||||
info.title = [accent]详情
|
info.title = [accent]详情
|
||||||
@@ -583,6 +624,7 @@ unit.nobuild = [scarlet]单位未能建造
|
|||||||
lastaccessed = [lightgray]上次操作: {0}
|
lastaccessed = [lightgray]上次操作: {0}
|
||||||
block.unknown = [lightgray]???
|
block.unknown = [lightgray]???
|
||||||
|
|
||||||
|
stat.description = 介绍
|
||||||
stat.input = 输入
|
stat.input = 输入
|
||||||
stat.output = 输出
|
stat.output = 输出
|
||||||
stat.booster = 增强物品/液体
|
stat.booster = 增强物品/液体
|
||||||
@@ -610,6 +652,8 @@ stat.memorycapacity = 内存容量
|
|||||||
stat.basepowergeneration = 基础能源输出
|
stat.basepowergeneration = 基础能源输出
|
||||||
stat.productiontime = 生产时间
|
stat.productiontime = 生产时间
|
||||||
stat.repairtime = 建筑完全修复时间
|
stat.repairtime = 建筑完全修复时间
|
||||||
|
stat.weapons = 武器
|
||||||
|
stat.bullet = 子弹
|
||||||
stat.speedincrease = 提速
|
stat.speedincrease = 提速
|
||||||
stat.range = 范围
|
stat.range = 范围
|
||||||
stat.drilltier = 可钻探矿物
|
stat.drilltier = 可钻探矿物
|
||||||
@@ -642,12 +686,15 @@ stat.minetier = 采矿等级
|
|||||||
stat.payloadcapacity = 载货容量
|
stat.payloadcapacity = 载货容量
|
||||||
stat.commandlimit = 指挥上限
|
stat.commandlimit = 指挥上限
|
||||||
stat.abilities = 能力
|
stat.abilities = 能力
|
||||||
|
stat.canboost = 助推器
|
||||||
|
stat.flying = 飞行
|
||||||
|
|
||||||
ability.forcefield = 力墙场
|
ability.forcefield = 力墙场
|
||||||
ability.repairfield = 修复场
|
ability.repairfield = 修复场
|
||||||
ability.statusfield = 状态场
|
ability.statusfield = 状态场
|
||||||
ability.unitspawn = {0} 工厂
|
ability.unitspawn = {0} 工厂
|
||||||
ability.shieldregenfield = 护盾再生场
|
ability.shieldregenfield = 护盾再生场
|
||||||
|
ability.movelightning = 闪电移动
|
||||||
|
|
||||||
bar.drilltierreq = 需要更好的钻头
|
bar.drilltierreq = 需要更好的钻头
|
||||||
bar.noresources = 缺失资源
|
bar.noresources = 缺失资源
|
||||||
@@ -676,12 +723,14 @@ units.processorcontrol = [lightgray]由处理器控制
|
|||||||
bullet.damage = [stat]{0}[lightgray] 伤害
|
bullet.damage = [stat]{0}[lightgray] 伤害
|
||||||
bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~[stat] {1}[lightgray] 格
|
bullet.splashdamage = [stat]{0}[lightgray] 范围伤害 ~[stat] {1}[lightgray] 格
|
||||||
bullet.incendiary = [stat] 燃烧
|
bullet.incendiary = [stat] 燃烧
|
||||||
|
bullet.sapping = [stat]sapping
|
||||||
bullet.homing = [stat] 追踪
|
bullet.homing = [stat] 追踪
|
||||||
bullet.shock = [stat] 电击
|
bullet.shock = [stat] 电击
|
||||||
bullet.frag = [stat] 分裂
|
bullet.frag = [stat] 分裂
|
||||||
bullet.knockback = [stat]{0}[lightgray] 击退
|
bullet.knockback = [stat]{0}[lightgray] 击退
|
||||||
bullet.pierce = [stat]{0}[lightgray]x 穿透
|
bullet.pierce = [stat]{0}[lightgray]x 穿透
|
||||||
bullet.infinitepierce = [stat]pierce
|
bullet.infinitepierce = [stat]pierce
|
||||||
|
bullet.healpercent = [stat]{0}[lightgray]% 修复
|
||||||
bullet.freezing = [stat] 冰冻
|
bullet.freezing = [stat] 冰冻
|
||||||
bullet.tarred = [stat] 减速
|
bullet.tarred = [stat] 减速
|
||||||
bullet.multiplier = [stat]{0}[lightgray]x 装弹数量
|
bullet.multiplier = [stat]{0}[lightgray]x 装弹数量
|
||||||
@@ -706,6 +755,7 @@ unit.items = 物品
|
|||||||
unit.thousands = K
|
unit.thousands = K
|
||||||
unit.millions = M
|
unit.millions = M
|
||||||
unit.billions = B
|
unit.billions = B
|
||||||
|
category.purpose = 介绍
|
||||||
category.general = 普通
|
category.general = 普通
|
||||||
category.power = 能量
|
category.power = 能量
|
||||||
category.liquids = 液体
|
category.liquids = 液体
|
||||||
@@ -719,6 +769,7 @@ setting.blockreplace.name = 自动推荐合适的建筑
|
|||||||
setting.linear.name = 抗锯齿
|
setting.linear.name = 抗锯齿
|
||||||
setting.hints.name = 提示
|
setting.hints.name = 提示
|
||||||
setting.flow.name = 显示资源传送速度[scarlet] (实验性)
|
setting.flow.name = 显示资源传送速度[scarlet] (实验性)
|
||||||
|
setting.backgroundpause.name = 在背景中暂停
|
||||||
setting.buildautopause.name = 自动暂停建造
|
setting.buildautopause.name = 自动暂停建造
|
||||||
setting.animatedwater.name = 流动的水
|
setting.animatedwater.name = 流动的水
|
||||||
setting.animatedshields.name = 动态画面
|
setting.animatedshields.name = 动态画面
|
||||||
@@ -747,7 +798,6 @@ setting.conveyorpathfinding.name = 传送带自动寻路
|
|||||||
setting.sensitivity.name = 控制器灵敏度
|
setting.sensitivity.name = 控制器灵敏度
|
||||||
setting.saveinterval.name = 自动保存间隔
|
setting.saveinterval.name = 自动保存间隔
|
||||||
setting.seconds = {0} 秒
|
setting.seconds = {0} 秒
|
||||||
setting.blockselecttimeout.name = 建筑选择超时
|
|
||||||
setting.milliseconds = {0} 毫秒
|
setting.milliseconds = {0} 毫秒
|
||||||
setting.fullscreen.name = 全屏
|
setting.fullscreen.name = 全屏
|
||||||
setting.borderlesswindow.name = 无边界窗口[lightgray](可能需要重启)
|
setting.borderlesswindow.name = 无边界窗口[lightgray](可能需要重启)
|
||||||
@@ -836,6 +886,8 @@ keybind.menu.name = 菜单
|
|||||||
keybind.pause.name = 暂停
|
keybind.pause.name = 暂停
|
||||||
keybind.pause_building.name = 暂停/继续建造
|
keybind.pause_building.name = 暂停/继续建造
|
||||||
keybind.minimap.name = 小地图
|
keybind.minimap.name = 小地图
|
||||||
|
keybind.planet_map.name = 行星地图
|
||||||
|
keybind.research.name = 研究
|
||||||
keybind.chat.name = 聊天
|
keybind.chat.name = 聊天
|
||||||
keybind.player_list.name = 玩家列表
|
keybind.player_list.name = 玩家列表
|
||||||
keybind.console.name = 控制台
|
keybind.console.name = 控制台
|
||||||
@@ -899,6 +951,7 @@ content.item.name = 物品
|
|||||||
content.liquid.name = 液体
|
content.liquid.name = 液体
|
||||||
content.unit.name = 部队
|
content.unit.name = 部队
|
||||||
content.block.name = 块
|
content.block.name = 块
|
||||||
|
content.sector.name = 区域
|
||||||
|
|
||||||
item.copper.name = 铜
|
item.copper.name = 铜
|
||||||
item.lead.name = 铅
|
item.lead.name = 铅
|
||||||
@@ -959,6 +1012,7 @@ block.resupply-point.name = 补给点
|
|||||||
block.parallax.name = 差扰光束
|
block.parallax.name = 差扰光束
|
||||||
block.cliff.name = 悬崖
|
block.cliff.name = 悬崖
|
||||||
block.sand-boulder.name = 砂岩
|
block.sand-boulder.name = 砂岩
|
||||||
|
block.basalt-boulder.name = 玄武岩巨石
|
||||||
block.grass.name = 草地
|
block.grass.name = 草地
|
||||||
block.slag.name = 矿渣
|
block.slag.name = 矿渣
|
||||||
block.space.name = 太空
|
block.space.name = 太空
|
||||||
@@ -1056,7 +1110,6 @@ block.conveyor.name = 传送带
|
|||||||
block.titanium-conveyor.name = 钛传送带
|
block.titanium-conveyor.name = 钛传送带
|
||||||
block.plastanium-conveyor.name = 塑钢传送带
|
block.plastanium-conveyor.name = 塑钢传送带
|
||||||
block.armored-conveyor.name = 装甲传送带
|
block.armored-conveyor.name = 装甲传送带
|
||||||
block.armored-conveyor.description = 运送物品,与钛传送带一样的速度,但有更强的装甲。除其他传送带,不接受任何边上的输入。
|
|
||||||
block.junction.name = 连接器
|
block.junction.name = 连接器
|
||||||
block.router.name = 路由器
|
block.router.name = 路由器
|
||||||
block.distributor.name = 分配器
|
block.distributor.name = 分配器
|
||||||
@@ -1064,7 +1117,6 @@ block.sorter.name = 分类器
|
|||||||
block.inverted-sorter.name = 反向分类器
|
block.inverted-sorter.name = 反向分类器
|
||||||
block.message.name = 信息板
|
block.message.name = 信息板
|
||||||
block.illuminator.name = 照明器
|
block.illuminator.name = 照明器
|
||||||
block.illuminator.description = 小型、紧凑、可配置的光源。需要能量运行。
|
|
||||||
block.overflow-gate.name = 溢流门
|
block.overflow-gate.name = 溢流门
|
||||||
block.underflow-gate.name = 反向溢流门
|
block.underflow-gate.name = 反向溢流门
|
||||||
block.silicon-smelter.name = 硅冶炼厂
|
block.silicon-smelter.name = 硅冶炼厂
|
||||||
@@ -1160,6 +1212,11 @@ block.payload-router.name = 载荷路由器
|
|||||||
block.disassembler.name = 解离机
|
block.disassembler.name = 解离机
|
||||||
block.silicon-crucible.name = 热能坩埚
|
block.silicon-crucible.name = 热能坩埚
|
||||||
block.overdrive-dome.name = 超速穹顶投射器
|
block.overdrive-dome.name = 超速穹顶投射器
|
||||||
|
#experimental, may be removed
|
||||||
|
block.block-forge.name = 方块熔炉
|
||||||
|
block.block-loader.name = 方块装载机
|
||||||
|
block.block-unloader.name = 方块卸载机
|
||||||
|
block.interplanetary-accelerator.name = 行星际加速器
|
||||||
|
|
||||||
block.switch.name = 开关
|
block.switch.name = 开关
|
||||||
block.micro-processor.name = 微型处理器
|
block.micro-processor.name = 微型处理器
|
||||||
@@ -1178,30 +1235,45 @@ team.derelict.name = 灰
|
|||||||
team.green.name = 绿
|
team.green.name = 绿
|
||||||
team.purple.name = 紫
|
team.purple.name = 紫
|
||||||
|
|
||||||
tutorial.next = [lightgray]<点击以继续>
|
hint.skip = 跳过
|
||||||
tutorial.intro = 您已进入[scarlet] Mindustry 教程[]。[]\n使用[accent][[WASD][]键移动机甲和视角。\n[accent]按住[[Ctrl]并转动鼠标滚轮[]缩放视野。\n让我们从[accent]采集铜矿[]开始。先移动到铜矿旁边,然后点按矿脉附近散落的矿物。\n\n[accent]{0}/{1} 铜
|
hint.desktopMove = 使用[accent][[WASD][]来移动.
|
||||||
tutorial.intro.mobile = 您已进入[scarlet] Mindustry 教程[]。\n在屏幕上滑动来继续。\n[accent]双指捏合[] 来缩小和放大。\n让我们从[accent]采集铜矿[]开始。先移动到铜矿旁边,然后点按矿脉附近散落的矿物。\n\n[accent]铜 {0}/{1}
|
hint.zoom = [accent]滚动[]放大或缩小.
|
||||||
tutorial.drill = 手动采矿效率不高。\n[accent]钻头[]可以自动采矿。\n让我们在在铜矿上放一个。\n点击右下角的钻头菜单。\n选择[accent]机械钻头[]。\n单击将其放置在铜矿上。\n[accent]右键单击[]来停止。
|
hint.mine = 移动到\uf8c4铜矿附近并点按[accent]tap[]进行手动开采
|
||||||
tutorial.drill.mobile = 手动采矿效率不高。\n[accent]钻头[]可以自动采矿。\n点右下角的钻头菜单。\n选择[accent]机械钻头[]。\n点一下将其放在铜矿上,点[accent]对号[]来确定。\n点[accent]叉号[]来取消。
|
hint.desktopShoot = [accent][[Left-click][]射击.
|
||||||
tutorial.blockinfo = 每种钻头都有其独特的数据。每个钻头只能开采部分矿石。\n若要查看建筑的详细信息,[accent]在菜单中点击问号。[]\n\n[accent]现在查看机械钻头的数据吧。[]
|
hint.depositItems = 要转移物品,请将其从飞船上拖到核心。
|
||||||
tutorial.conveyor = [accent]传送带[]可以把物资传送到核心。\n请在钻头到核心间建造一条传送带。
|
hint.respawn = 要重生飞船,请按[accent][[V][].
|
||||||
tutorial.conveyor.mobile = [accent]传送带[]可以把物资传送到核心。\n请在钻头到核心间建造一条传送带。\n[accent]长按数秒[]并向一个方向拖动来直线放置。\n\n[accent]{0}/{1} 条传送带\n[accent]0/1 物品
|
hint.respawn.mobile = 您已切换控制单元/结构. 如果要重生飞船请[accent]点击左上方的图标(那个和你长得一样的).[]
|
||||||
tutorial.turret = 必须建造防御建筑来击退[lightgray]敌人[]。\n请在核心附近造一个双管炮。
|
hint.desktopPause = 按[accent][[Space][]暂停和取消暂停游戏.
|
||||||
tutorial.drillturret = 双管炮需要[accent]铜[]作弹药来射击。\n可以放一个钻头在炮塔附近供应铜。
|
hint.placeDrill = 选择\ue85e[accent]钻头[]右下角菜单中的标签,然后选择一个\uf870 [accent]钻头[]然后单击铜矿将其放置.
|
||||||
tutorial.pause = 在战斗中,您可以[accent]暂停游戏[]。\n暂停时您可以规划建筑物。\n\n按[accent]空格[]暂停。
|
hint.placeDrill.mobile = 选择\ue85e[accent]钻头[]右下角菜单中的标签,然后选择一个\uf870 [accent]钻头[]然后点击铜矿将其放置.\n\n按下\ue800 [accent]复选标记[]在右下角按钮确认.
|
||||||
tutorial.pause.mobile = 在战斗中,您可以[accent]暂停游戏[]。\n暂停时您可以规划建筑物。\n\n[accent]点击左上角的按钮以暂停。
|
hint.placeConveyor = 传送带将物品从钻头移到其他块中。选择一个\uf896 [accent]传送带[]从\ue814 [accent]布局[]标签.\n\n单击并拖动以放置多个传送带.\n[accent]滚动[]旋转.
|
||||||
tutorial.unpause = 现在再次按空格以继续。
|
hint.placeConveyor.mobile = 传送带将物品从钻头移到其他块中。选择一个\uf896 [accent]传送带[]从\ue814 [accent]布局[]标签.\n\n按住手指一秒钟,然后拖动以放置多个传送带.
|
||||||
tutorial.unpause.mobile = 现在再次点按以继续。
|
hint.placeTurret = 放置\uf861 [accent]炮塔[]保卫你的基地从敌人手中.\n\n炮塔需要弹药-在这种情况下e, \uf838copper.\n使用传送带和钻头为它们供弹。
|
||||||
tutorial.breaking = 建筑经常需要拆除。\n[accent]按住鼠标右键[]来拆除选中的建筑。[]\n\n[accent]使用范围拆除来拆除核心左侧的废墙。
|
hint.breaking = [accent]右击[]并拖动以拆除方块.
|
||||||
tutorial.breaking.mobile = 建筑经常需要拆除。\n[accent]选择拆除模式[],点击建筑以拆除。\n[accent]长按几秒[]并拖动来范围拆除。\n点击对号来确定。\n\n[accent]使用范围拆除来拆除核心左侧的废墙。
|
hint.breaking.mobile = 激活\ue817 [accent]锤子[]在右下角点击以拆除方块.\n\n按住手指一秒钟,然后拖动以选择.
|
||||||
tutorial.withdraw = 有时,从建筑中取出物品是必要的。\n[accent]点击包含物品的建筑[],然后[accent]点击在方框中的物品[]。\n可以通过[accent]点击或长按[]来取出物品。\n\n[accent]从核心中取出一些铜[]。
|
hint.research = 使用\ue875 [accent]科技树[]按钮研究新技术.
|
||||||
tutorial.deposit = 将物品从机甲拖向建筑来放下物品。\n\n[accent]将铜放回核心[]。
|
hint.research.mobile = 使用\ue875 [accent]科技树[]按钮在\ue88c [accent]菜单[]去研究新技术.
|
||||||
tutorial.waves = [lightgray]敌人[]来了。\n\n保护核心,防御两波攻击。造更多的炮塔。[accent]点击[]以射击。\n建造更多的炮塔和钻头,并采更多的矿。
|
hint.unitControl = 按住[accent][[L-ctrl][]和[accent]点击[]控制友军单位或炮塔。
|
||||||
tutorial.waves.mobile = [lightgray]敌人[]来了。\n\n保护核心,防御两波攻击。造更多的炮塔。你的机甲将对敌人自动开火。\n建造更多的炮塔和钻头,并采更多的矿。
|
hint.unitControl.mobile = [accent][双击[]控制友军单位或炮塔(双击)。
|
||||||
tutorial.launch = 进入特定波次后,你可以[accent]发射核心(起飞)[],[accent]带走核心中的所有资源[]并抛下所有的建筑。\n装运的资源可用于研究科技。\n\n[accent]点击发射按钮。
|
hint.launch = 一旦收集到足够的资源,您就可以[accent]发射[]通过选择附近的区域从\ue827 [accent]地图[]在右下角.
|
||||||
|
hint.launch.mobile = 一旦收集到足够的资源,您就可以[accent]发射[]通过选择附近的区域从\ue827 [accent]地图[]在\ue88c [accent]菜单[].
|
||||||
|
hint.schematicSelect = 按住[accent][[F][]并拖动以选择要复制和粘贴的块.\n\n[accent][[Middle Click][]复制单个块类型.
|
||||||
|
hint.conveyorPathfind = 按住[accent][[L-Ctrl][]拖动,传送带会自动生成路径.
|
||||||
|
hint.conveyorPathfind.mobile = 启用\ue844 [accent]对角线模式[]并拖动,传送带会自动生成路径.
|
||||||
|
hint.boost = 按住[accent][[L-Shift][]用当前单位飞越障碍物.\n\n只有少数地面单位有助推器.(首先排除爬虫家族)
|
||||||
|
hint.command = 按accent][[G][]指挥附近的单位编队.
|
||||||
|
hint.command.mobile = [accent][双击][]您的部队指挥附近的部队编队.(双击)
|
||||||
|
hint.payloadPickup = 按[accent][[[]捡起小方块或单位.
|
||||||
|
hint.payloadPickup.mobile = [accent]点住]一个小方块或一个单位来捡起来.
|
||||||
|
hint.payloadDrop = 按[accent]][]放下有效载荷.
|
||||||
|
hint.payloadDrop.mobile = [accent]点住[]一个空的位置将有效载荷丢到那里.(不是很精准)
|
||||||
|
hint.waveFire = [accent]进攻波[]炮塔加水弹药会自动扑灭附近的大火.(浪涌和海啸)
|
||||||
|
hint.generator = \uf879 [accent]燃烧发电机[]燃烧煤炭并将电力传输到相邻方块.\n\n电力传输范围可以扩展,用\uf87f [accent]能量节点[].
|
||||||
|
|
||||||
item.copper.description = 一种最基本的的建筑材料。在各种类型的建筑中被广泛使用。
|
item.copper.description = 一种最基本的的建筑材料。在各种类型的建筑中被广泛使用。
|
||||||
|
item.copper.details = 铜. 在Serpulo上的金属异常丰富。 除非加固,否则结构较弱。
|
||||||
item.lead.description = 一种基本的电力材料。广泛用于电子设备和液体输送模块。
|
item.lead.description = 一种基本的电力材料。广泛用于电子设备和液体输送模块。
|
||||||
|
item.lead.details = Dense. Inert. Extensively used in batteries.\nNote: Likely toxic to biological life forms. Not that there are many left here.
|
||||||
item.metaglass.description = 一种致密坚硬的复合玻璃。广泛用于液体输送和存储。
|
item.metaglass.description = 一种致密坚硬的复合玻璃。广泛用于液体输送和存储。
|
||||||
item.graphite.description = 一种高密度的碳材料,用于弹药和电器元件。
|
item.graphite.description = 一种高密度的碳材料,用于弹药和电器元件。
|
||||||
item.sand.description = 一种常见的材料,广泛用于冶炼,包括制作合金和助熔剂。
|
item.sand.description = 一种常见的材料,广泛用于冶炼,包括制作合金和助熔剂。
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ schematic.saved = 藍圖已儲存。
|
|||||||
schematic.delete.confirm = 該藍圖將被完全清除。
|
schematic.delete.confirm = 該藍圖將被完全清除。
|
||||||
schematic.rename = 重新命名藍圖
|
schematic.rename = 重新命名藍圖
|
||||||
schematic.info = {0}x{1}, {2}方塊
|
schematic.info = {0}x{1}, {2}方塊
|
||||||
schematic.disabled = [scarlet]Schematics disabled[]\nYou are not allowed to use schematics on this [accent]map[] or [accent]server.
|
schematic.disabled = [scarlet]藍圖被進用[]\n你不能在這個[accent]地圖[] 或 [accent]伺服器中使用藍圖.
|
||||||
|
|
||||||
stat.wave = 打敗的波次:[accent]{0}
|
stat.wave = 打敗的波次:[accent]{0}
|
||||||
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
stat.enemiesDestroyed = 摧毀的敵人:[accent]{0}
|
||||||
@@ -115,7 +115,7 @@ mod.disable = 禁用
|
|||||||
mod.content = 內容:
|
mod.content = 內容:
|
||||||
mod.delete.error = 無法刪除模組,檔案可能在使用中。
|
mod.delete.error = 無法刪除模組,檔案可能在使用中。
|
||||||
mod.requiresversion = [scarlet]最低遊戲版本要求:[accent]{0}
|
mod.requiresversion = [scarlet]最低遊戲版本要求:[accent]{0}
|
||||||
mod.outdated = [scarlet]與 V6 不相容(無 minGameVersion: 105)
|
mod.outdated = [scarlet]與 V6 不相容(無 最低遊戲版本: 105)
|
||||||
mod.missingdependencies = [scarlet]缺少依賴關係:{0}
|
mod.missingdependencies = [scarlet]缺少依賴關係:{0}
|
||||||
mod.erroredcontent = [scarlet]內容錯誤
|
mod.erroredcontent = [scarlet]內容錯誤
|
||||||
mod.errors = 載入內容時發生錯誤
|
mod.errors = 載入內容時發生錯誤
|
||||||
@@ -331,7 +331,7 @@ editor.generation = 篩選器:
|
|||||||
editor.ingame = 在遊戲中編輯
|
editor.ingame = 在遊戲中編輯
|
||||||
editor.publish.workshop = 在工作坊上發佈
|
editor.publish.workshop = 在工作坊上發佈
|
||||||
editor.newmap = 新地圖
|
editor.newmap = 新地圖
|
||||||
editor.center = Center
|
editor.center = 中心
|
||||||
workshop = 工作坊
|
workshop = 工作坊
|
||||||
waves.title = 波次
|
waves.title = 波次
|
||||||
waves.remove = 移除
|
waves.remove = 移除
|
||||||
@@ -420,7 +420,7 @@ filters.empty = [lightgray]沒有過濾器!使用下面的按鈕新增一個
|
|||||||
filter.distort = 扭曲
|
filter.distort = 扭曲
|
||||||
filter.noise = 雜訊
|
filter.noise = 雜訊
|
||||||
filter.enemyspawn = 敵人重生選擇
|
filter.enemyspawn = 敵人重生選擇
|
||||||
filter.spawnpath = Path To Spawn
|
filter.spawnpath = 生成路徑
|
||||||
filter.corespawn = 核心選擇
|
filter.corespawn = 核心選擇
|
||||||
filter.median = 平均數
|
filter.median = 平均數
|
||||||
filter.oremedian = 礦石平均數
|
filter.oremedian = 礦石平均數
|
||||||
@@ -445,7 +445,7 @@ filter.option.amount = 數量
|
|||||||
filter.option.block = 方塊
|
filter.option.block = 方塊
|
||||||
filter.option.floor = 地板
|
filter.option.floor = 地板
|
||||||
filter.option.flooronto = 目標地板
|
filter.option.flooronto = 目標地板
|
||||||
filter.option.target = Target
|
filter.option.target = 目標
|
||||||
filter.option.wall = 牆
|
filter.option.wall = 牆
|
||||||
filter.option.ore = 礦石
|
filter.option.ore = 礦石
|
||||||
filter.option.floor2 = 次要地板
|
filter.option.floor2 = 次要地板
|
||||||
@@ -479,7 +479,7 @@ requirement.research = 研究 {0}
|
|||||||
requirement.capture = 捕獲 {0}
|
requirement.capture = 捕獲 {0}
|
||||||
bestwave = [lightgray]最高波次:{0}
|
bestwave = [lightgray]最高波次:{0}
|
||||||
launch.text = 發射
|
launch.text = 發射
|
||||||
research.multiplayer = Only the host can research items.
|
research.multiplayer = 只有管理者可以使用這個物品
|
||||||
uncover = 探索
|
uncover = 探索
|
||||||
configure = 設定
|
configure = 設定
|
||||||
loadout = 裝載
|
loadout = 裝載
|
||||||
@@ -512,7 +512,7 @@ weather.rain.name = 雨
|
|||||||
weather.snow.name = 雪
|
weather.snow.name = 雪
|
||||||
weather.sandstorm.name = 沙塵暴
|
weather.sandstorm.name = 沙塵暴
|
||||||
weather.sporestorm.name = 孢子風暴
|
weather.sporestorm.name = 孢子風暴
|
||||||
weather.fog.name = Fog
|
weather.fog.name = 霧
|
||||||
|
|
||||||
sectors.unexplored = [lightgray]未探索
|
sectors.unexplored = [lightgray]未探索
|
||||||
sectors.resources = 資源:
|
sectors.resources = 資源:
|
||||||
@@ -522,11 +522,11 @@ sectors.resume = 繼續
|
|||||||
sectors.launch = 發射
|
sectors.launch = 發射
|
||||||
sectors.select = 選取
|
sectors.select = 選取
|
||||||
sectors.nonelaunch = [lightgray]無(太陽)
|
sectors.nonelaunch = [lightgray]無(太陽)
|
||||||
sectors.rename = Rename Sector
|
sectors.rename = 重新命名區域
|
||||||
sector.missingresources = [scarlet]Insufficient Core Resources
|
sector.missingresources = [scarlet]核心資源不足
|
||||||
|
|
||||||
planet.serpulo.name = Serpulo
|
planet.serpulo.name = Serpulo
|
||||||
planet.sun.name = Sun
|
planet.sun.name = 太陽
|
||||||
|
|
||||||
sector.groundZero.name = 原點
|
sector.groundZero.name = 原點
|
||||||
sector.craters.name = 火山島
|
sector.craters.name = 火山島
|
||||||
@@ -566,10 +566,10 @@ settings.clear.confirm = 您確定要清除資料嗎?\n此動作無法復原
|
|||||||
settings.clearall.confirm = [scarlet]警告![]\n這會清除所有資料,包括存檔、地圖、解鎖項目和快捷鍵綁定。\n按「是」後,遊戲將刪除所有資料並自動結束。
|
settings.clearall.confirm = [scarlet]警告![]\n這會清除所有資料,包括存檔、地圖、解鎖項目和快捷鍵綁定。\n按「是」後,遊戲將刪除所有資料並自動結束。
|
||||||
settings.clearsaves.confirm = 您確定您想要清除所有存檔嗎?
|
settings.clearsaves.confirm = 您確定您想要清除所有存檔嗎?
|
||||||
settings.clearsaves = 清除存檔
|
settings.clearsaves = 清除存檔
|
||||||
settings.clearresearch = Clear Research
|
settings.clearresearch = 清除研究
|
||||||
settings.clearresearch.confirm = Are you sure you want to clear all of your campaign research?
|
settings.clearresearch.confirm = 你確定要清除所有研究?
|
||||||
settings.clearcampaignsaves = Clear Campaign Saves
|
settings.clearcampaignsaves = 清除戰役紀錄
|
||||||
settings.clearcampaignsaves.confirm = Are you sure you want to clear all of your campaign saves?
|
settings.clearcampaignsaves.confirm = 你確定要清除所有戰役紀錄?
|
||||||
paused = [accent](已暫停)
|
paused = [accent](已暫停)
|
||||||
clear = 清除
|
clear = 清除
|
||||||
banned = [scarlet]已被封鎖
|
banned = [scarlet]已被封鎖
|
||||||
@@ -606,7 +606,7 @@ stat.powerconnections = 最大連結數
|
|||||||
stat.poweruse = 能量使用
|
stat.poweruse = 能量使用
|
||||||
stat.powerdamage = 能量/傷害
|
stat.powerdamage = 能量/傷害
|
||||||
stat.itemcapacity = 物品容量
|
stat.itemcapacity = 物品容量
|
||||||
stat.memorycapacity = Memory Capacity
|
stat.memorycapacity = 記憶體容量
|
||||||
stat.basepowergeneration = 基礎能量生產
|
stat.basepowergeneration = 基礎能量生產
|
||||||
stat.productiontime = 生產時間
|
stat.productiontime = 生產時間
|
||||||
stat.repairtime = 方塊完全修復時間
|
stat.repairtime = 方塊完全修復時間
|
||||||
@@ -626,22 +626,22 @@ stat.reload = 射擊次數/秒
|
|||||||
stat.ammo = 彈藥
|
stat.ammo = 彈藥
|
||||||
stat.shieldhealth = 護盾生命值
|
stat.shieldhealth = 護盾生命值
|
||||||
stat.cooldowntime = 冷確時間
|
stat.cooldowntime = 冷確時間
|
||||||
stat.explosiveness = Explosiveness
|
stat.explosiveness = 爆炸性
|
||||||
stat.basedeflectchance = Base Deflect Chance
|
stat.basedeflectchance = 基礎偏移量
|
||||||
stat.lightningchance = Lightning Chance
|
stat.lightningchance = 燃燒機率
|
||||||
stat.lightningdamage = Lightning Damage
|
stat.lightningdamage = 燃燒傷害
|
||||||
stat.flammability = Flammability
|
stat.flammability = 易燃性
|
||||||
stat.radioactivity = Radioactivity
|
stat.radioactivity = 輻射性
|
||||||
stat.heatcapacity = HeatCapacity
|
stat.heatcapacity = 熱容量
|
||||||
stat.viscosity = Viscosity
|
stat.viscosity = 黏度
|
||||||
stat.temperature = Temperature
|
stat.temperature = 溫度
|
||||||
stat.speed = Speed
|
stat.speed = 速度
|
||||||
stat.buildspeed = Build Speed
|
stat.buildspeed = 建築速度
|
||||||
stat.minespeed = Mine Speed
|
stat.minespeed = 挖掘速度
|
||||||
stat.minetier = Mine Tier
|
stat.minetier = 挖掘等級
|
||||||
stat.payloadcapacity = Payload Capacity
|
stat.payloadcapacity = 負荷量
|
||||||
stat.commandlimit = Command Limit
|
stat.commandlimit = 指令限制
|
||||||
stat.abilities = Abilities
|
stat.abilities = 能力
|
||||||
|
|
||||||
ability.forcefield = Force Field
|
ability.forcefield = Force Field
|
||||||
ability.repairfield = Repair Field
|
ability.repairfield = Repair Field
|
||||||
@@ -659,7 +659,7 @@ bar.powerbalance = 能量變化:{0}
|
|||||||
bar.powerstored = 能量存量: {0}/{1}
|
bar.powerstored = 能量存量: {0}/{1}
|
||||||
bar.poweramount = 能量:{0}
|
bar.poweramount = 能量:{0}
|
||||||
bar.poweroutput = 能量輸出:{0}
|
bar.poweroutput = 能量輸出:{0}
|
||||||
bar.powerlines = Connections: {0}/{1}
|
bar.powerlines = 連線: {0}/{1}
|
||||||
bar.items = 物品:{0}
|
bar.items = 物品:{0}
|
||||||
bar.capacity = 容量: {0}
|
bar.capacity = 容量: {0}
|
||||||
bar.unitcap = {0} {1}/{2}
|
bar.unitcap = {0} {1}/{2}
|
||||||
@@ -671,7 +671,7 @@ bar.progress = 建造進度
|
|||||||
bar.input = 輸入
|
bar.input = 輸入
|
||||||
bar.output = 輸出
|
bar.output = 輸出
|
||||||
|
|
||||||
units.processorcontrol = [lightgray]Processor Controlled
|
units.processorcontrol = [lightgray]由微處理器控制
|
||||||
|
|
||||||
bullet.damage = [stat]{0}[lightgray]傷害
|
bullet.damage = [stat]{0}[lightgray]傷害
|
||||||
bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格
|
bullet.splashdamage = [stat]{0}[lightgray]範圍傷害 ~[stat] {1}[lightgray]格
|
||||||
@@ -680,15 +680,15 @@ bullet.homing = [stat]追蹤
|
|||||||
bullet.shock = [stat]電擊
|
bullet.shock = [stat]電擊
|
||||||
bullet.frag = [stat]破片彈
|
bullet.frag = [stat]破片彈
|
||||||
bullet.knockback = [stat]{0}[lightgray]擊退
|
bullet.knockback = [stat]{0}[lightgray]擊退
|
||||||
bullet.pierce = [stat]{0}[lightgray]x pierce
|
bullet.pierce = [stat]{0}[lightgray]×穿刺
|
||||||
bullet.infinitepierce = [stat]pierce
|
bullet.infinitepierce = [stat]穿刺
|
||||||
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.blockssquared = blocks²
|
unit.blockssquared = 方塊²
|
||||||
unit.powersecond = 能量單位/秒
|
unit.powersecond = 能量單位/秒
|
||||||
unit.liquidsecond = 液體單位/秒
|
unit.liquidsecond = 液體單位/秒
|
||||||
unit.itemssecond = 物品/秒
|
unit.itemssecond = 物品/秒
|
||||||
@@ -711,7 +711,7 @@ category.power = 能量
|
|||||||
category.liquids = 液體
|
category.liquids = 液體
|
||||||
category.items = 物品
|
category.items = 物品
|
||||||
category.crafting = 需求
|
category.crafting = 需求
|
||||||
category.function = Function
|
category.function = 方法
|
||||||
category.optional = 可選的強化
|
category.optional = 可選的強化
|
||||||
setting.landscape.name = 鎖定水平畫面
|
setting.landscape.name = 鎖定水平畫面
|
||||||
setting.shadows.name = 陰影
|
setting.shadows.name = 陰影
|
||||||
@@ -861,7 +861,7 @@ mode.custom = 自訂規則
|
|||||||
|
|
||||||
rules.infiniteresources = 無限資源
|
rules.infiniteresources = 無限資源
|
||||||
rules.reactorexplosions = 反應爐爆炸
|
rules.reactorexplosions = 反應爐爆炸
|
||||||
rules.schematic = Schematics Allowed
|
rules.schematic = 允許使用藍圖
|
||||||
rules.wavetimer = 波次時間
|
rules.wavetimer = 波次時間
|
||||||
rules.waves = 波次
|
rules.waves = 波次
|
||||||
rules.attack = 攻擊模式
|
rules.attack = 攻擊模式
|
||||||
@@ -1007,7 +1007,7 @@ block.darksand-water.name = 黑沙水
|
|||||||
block.char.name = 燒焦
|
block.char.name = 燒焦
|
||||||
block.dacite.name = 英安岩
|
block.dacite.name = 英安岩
|
||||||
block.dacite-wall.name = 英安岩牆
|
block.dacite-wall.name = 英安岩牆
|
||||||
block.dacite-boulder.name = Dacite Boulder
|
block.dacite-boulder.name = 英安岩石塊
|
||||||
block.ice-snow.name = 冰雪
|
block.ice-snow.name = 冰雪
|
||||||
block.stone-wall.name = 石牆
|
block.stone-wall.name = 石牆
|
||||||
block.ice-wall.name = 冰牆
|
block.ice-wall.name = 冰牆
|
||||||
@@ -1151,24 +1151,24 @@ block.command-center.name = 指揮中心
|
|||||||
block.ground-factory.name = 地面工廠
|
block.ground-factory.name = 地面工廠
|
||||||
block.air-factory.name = 航空工廠
|
block.air-factory.name = 航空工廠
|
||||||
block.naval-factory.name = 海軍工廠
|
block.naval-factory.name = 海軍工廠
|
||||||
block.additive-reconstructor.name = 加法重建者
|
block.additive-reconstructor.name = 一級升級者
|
||||||
block.multiplicative-reconstructor.name = 乘法重建者
|
block.multiplicative-reconstructor.name = 二級升級者
|
||||||
block.exponential-reconstructor.name = 指數重建者
|
block.exponential-reconstructor.name = 三級升級者
|
||||||
block.tetrative-reconstructor.name = 特殊重建者
|
block.tetrative-reconstructor.name = 四級升級者
|
||||||
block.payload-conveyor.name = 原料輸送帶
|
block.payload-conveyor.name = 原料輸送帶
|
||||||
block.payload-router.name = 原料分配器
|
block.payload-router.name = 原料分配器
|
||||||
block.disassembler.name = 拆裝機
|
block.disassembler.name = 拆裝機
|
||||||
block.silicon-crucible.name = 矽爐
|
block.silicon-crucible.name = 矽爐
|
||||||
block.overdrive-dome.name = 高速拱頂
|
block.overdrive-dome.name = 高速拱頂
|
||||||
|
|
||||||
block.switch.name = 交換器
|
block.switch.name = 按鈕
|
||||||
block.micro-processor.name = 微處理器
|
block.micro-processor.name = 微處理器
|
||||||
block.logic-processor.name = 邏輯處理器
|
block.logic-processor.name = 邏輯處理器
|
||||||
block.hyper-processor.name = 超級處理器
|
block.hyper-processor.name = 超級處理器
|
||||||
block.logic-display.name = 邏輯顯示
|
block.logic-display.name = 顯示器
|
||||||
block.large-logic-display.name = 大型邏輯顯示
|
block.large-logic-display.name = 大型顯示器
|
||||||
block.memory-cell.name = 記憶單元
|
block.memory-cell.name = 記憶單元
|
||||||
block.memory-bank.name = Memory Bank
|
block.memory-bank.name = 記憶體
|
||||||
|
|
||||||
team.blue.name = 藍
|
team.blue.name = 藍
|
||||||
team.crux.name = 紅
|
team.crux.name = 紅
|
||||||
|
|||||||
@@ -102,3 +102,5 @@ newlocknew (freesound.org)
|
|||||||
dsmolenaers (freesound.org)
|
dsmolenaers (freesound.org)
|
||||||
Headphaze (freesound.org)
|
Headphaze (freesound.org)
|
||||||
Nikolass
|
Nikolass
|
||||||
|
VolasYouKnow
|
||||||
|
Ángel Rodríguez Aguilera
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -112,8 +112,8 @@ public abstract class ClientLauncher extends ApplicationCore implements Platform
|
|||||||
super.add(module);
|
super.add(module);
|
||||||
|
|
||||||
//autoload modules when necessary
|
//autoload modules when necessary
|
||||||
if(module instanceof Loadable){
|
if(module instanceof Loadable l){
|
||||||
assets.load((Loadable)module);
|
assets.load(l);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,8 @@ public class Vars implements Loadable{
|
|||||||
public static final int bufferSize = 8192;
|
public static final int bufferSize = 8192;
|
||||||
/** global charset, since Android doesn't support the Charsets class */
|
/** global charset, since Android doesn't support the Charsets class */
|
||||||
public static final Charset charset = Charset.forName("UTF-8");
|
public static final Charset charset = Charset.forName("UTF-8");
|
||||||
|
/** mods suggested for import */
|
||||||
|
public static final String[] suggestedMods = {""};
|
||||||
/** main application name, capitalized */
|
/** main application name, capitalized */
|
||||||
public static final String appName = "Mindustry";
|
public static final String appName = "Mindustry";
|
||||||
/** URL for itch.io donations. */
|
/** URL for itch.io donations. */
|
||||||
@@ -56,7 +58,7 @@ public class Vars implements Loadable{
|
|||||||
/** URL for sending crash reports to */
|
/** URL for sending crash reports to */
|
||||||
public static final String crashReportURL = "http://192.99.169.18/report";
|
public static final String crashReportURL = "http://192.99.169.18/report";
|
||||||
/** URL the links to the wiki's modding guide.*/
|
/** URL the links to the wiki's modding guide.*/
|
||||||
public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/";
|
public static final String modGuideURL = "https://mindustrygame.github.io/wiki/modding/1-modding/";
|
||||||
/** URL to the JSON file containing all the global, public servers. Not queried in BE. */
|
/** URL to the JSON file containing all the global, public servers. Not queried in BE. */
|
||||||
public static final String serverJsonURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers.json";
|
public static final String serverJsonURL = "https://raw.githubusercontent.com/Anuken/Mindustry/master/servers.json";
|
||||||
/** URL to the JSON file containing all the BE servers. Only queried in BE. */
|
/** URL to the JSON file containing all the BE servers. Only queried in BE. */
|
||||||
@@ -88,7 +90,7 @@ public class Vars implements Loadable{
|
|||||||
/** duration of time between turns in ticks */
|
/** duration of time between turns in ticks */
|
||||||
public static final float turnDuration = 2 * Time.toMinutes;
|
public static final float turnDuration = 2 * Time.toMinutes;
|
||||||
/** chance of an invasion per turn, 1 = 100% */
|
/** chance of an invasion per turn, 1 = 100% */
|
||||||
public static final float baseInvasionChance = 1f / 50f;
|
public static final float baseInvasionChance = 1f / 100f;
|
||||||
/** how many turns have to pass before invasions start */
|
/** how many turns have to pass before invasions start */
|
||||||
public static final int invasionGracePeriod = 20;
|
public static final int invasionGracePeriod = 20;
|
||||||
/** min armor fraction damage; e.g. 0.05 = at least 5% damage */
|
/** min armor fraction damage; e.g. 0.05 = at least 5% damage */
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ import mindustry.gen.*;
|
|||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.defense.*;
|
import mindustry.world.blocks.defense.*;
|
||||||
|
import mindustry.world.blocks.distribution.*;
|
||||||
import mindustry.world.blocks.production.*;
|
import mindustry.world.blocks.production.*;
|
||||||
import mindustry.world.blocks.storage.*;
|
import mindustry.world.blocks.storage.*;
|
||||||
import mindustry.world.blocks.storage.CoreBlock.*;
|
import mindustry.world.blocks.storage.CoreBlock.*;
|
||||||
@@ -54,11 +55,12 @@ public class BaseAI{
|
|||||||
public void update(){
|
public void update(){
|
||||||
if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){
|
if(data.team.rules().aiCoreSpawn && timer.get(timerSpawn, 60 * 2.5f) && data.hasCore()){
|
||||||
CoreBlock block = (CoreBlock)data.core().block;
|
CoreBlock block = (CoreBlock)data.core().block;
|
||||||
|
int coreUnits = Groups.unit.count(u -> u.team == data.team && u.type == block.unitType);
|
||||||
|
|
||||||
//create AI core unit
|
//create AI core unit(s)
|
||||||
if(!state.isEditor() && !Groups.unit.contains(u -> u.team() == data.team && u.type == block.unitType)){
|
if(!state.isEditor() && coreUnits < data.cores.size){
|
||||||
Unit unit = block.unitType.create(data.team);
|
Unit unit = block.unitType.create(data.team);
|
||||||
unit.set(data.core());
|
unit.set(data.cores.random());
|
||||||
unit.add();
|
unit.add();
|
||||||
Fx.spawn.at(unit);
|
Fx.spawn.at(unit);
|
||||||
}
|
}
|
||||||
@@ -271,6 +273,10 @@ public class BaseAI{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Tile o = world.tile(tile.x + p.x, tile.y + p.y);
|
Tile o = world.tile(tile.x + p.x, tile.y + p.y);
|
||||||
|
if(o != null && (o.block() instanceof PayloadAcceptor || o.block() instanceof PayloadConveyor)){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if(o != null && o.team() == data.team && !(o.block() instanceof Wall)){
|
if(o != null && o.team() == data.team && !(o.block() instanceof Wall)){
|
||||||
any = true;
|
any = true;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import mindustry.game.EventType.*;
|
|||||||
import mindustry.game.*;
|
import mindustry.game.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
|
import mindustry.world.blocks.storage.*;
|
||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
import static mindustry.Vars.*;
|
import static mindustry.Vars.*;
|
||||||
@@ -115,7 +116,7 @@ public class Pathfinder implements Runnable{
|
|||||||
}
|
}
|
||||||
|
|
||||||
return PathTile.get(
|
return PathTile.get(
|
||||||
tile.build == null || !tile.solid() ? 0 : Math.min((int)(tile.build.health / 40), 80),
|
tile.build == null || !tile.solid() || tile.block() instanceof CoreBlock ? 0 : Math.min((int)(tile.build.health / 40), 80),
|
||||||
tile.getTeamID(),
|
tile.getTeamID(),
|
||||||
tile.solid(),
|
tile.solid(),
|
||||||
tile.floor().isLiquid,
|
tile.floor().isLiquid,
|
||||||
@@ -458,7 +459,7 @@ public class Pathfinder implements Runnable{
|
|||||||
/** costs of getting to a specific tile */
|
/** costs of getting to a specific tile */
|
||||||
public int[][] weights;
|
public int[][] weights;
|
||||||
/** search IDs of each position - the highest, most recent search is prioritized and overwritten */
|
/** search IDs of each position - the highest, most recent search is prioritized and overwritten */
|
||||||
int[][] searches;
|
public int[][] searches;
|
||||||
/** search frontier, these are Pos objects */
|
/** search frontier, these are Pos objects */
|
||||||
IntQueue frontier = new IntQueue();
|
IntQueue frontier = new IntQueue();
|
||||||
/** all target positions; these positions have a cost of 0, and must be synchronized on! */
|
/** all target positions; these positions have a cost of 0, and must be synchronized on! */
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package mindustry.ai.types;
|
package mindustry.ai.types;
|
||||||
|
|
||||||
|
import arc.math.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.entities.*;
|
import mindustry.entities.*;
|
||||||
@@ -83,8 +84,10 @@ public class BuilderAI extends AIController{
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
float rebuildTime = (unit.team.rules().ai ? Mathf.lerp(15f, 2f, unit.team.rules().aiTier) : 2f) * 60f;
|
||||||
|
|
||||||
//find new request
|
//find new request
|
||||||
if(!unit.team.data().blocks.isEmpty() && following == null && timer.get(timerTarget3, 60 * 2f)){
|
if(!unit.team.data().blocks.isEmpty() && following == null && timer.get(timerTarget3, rebuildTime)){
|
||||||
Queue<BlockPlan> blocks = unit.team.data().blocks;
|
Queue<BlockPlan> blocks = unit.team.data().blocks;
|
||||||
BlockPlan block = blocks.first();
|
BlockPlan block = blocks.first();
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class FormationAI extends AIController implements FormationMember{
|
|||||||
|
|
||||||
if(core != null && leader.mineTile.drop() != null && unit.within(core, unit.type.range) && !unit.acceptsItem(leader.mineTile.drop())){
|
if(core != null && leader.mineTile.drop() != null && unit.within(core, unit.type.range) && !unit.acceptsItem(leader.mineTile.drop())){
|
||||||
if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){
|
if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){
|
||||||
Call.transferItemTo(unit.stack.item, unit.stack.amount, unit.x, unit.y, core);
|
Call.transferItemTo(unit, unit.stack.item, unit.stack.amount, unit.x, unit.y, core);
|
||||||
|
|
||||||
unit.clearItem();
|
unit.clearItem();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public class MinerAI extends AIController{
|
|||||||
|
|
||||||
if(unit.within(core, unit.type.range)){
|
if(unit.within(core, unit.type.range)){
|
||||||
if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){
|
if(core.acceptStack(unit.stack.item, unit.stack.amount, unit) > 0){
|
||||||
Call.transferItemTo(unit.stack.item, unit.stack.amount, unit.x, unit.y, core);
|
Call.transferItemTo(unit, unit.stack.item, unit.stack.amount, unit.x, unit.y, core);
|
||||||
}
|
}
|
||||||
|
|
||||||
unit.clearItem();
|
unit.clearItem();
|
||||||
|
|||||||
@@ -14,8 +14,6 @@ import mindustry.world.blocks.*;
|
|||||||
import mindustry.world.blocks.campaign.*;
|
import mindustry.world.blocks.campaign.*;
|
||||||
import mindustry.world.blocks.defense.*;
|
import mindustry.world.blocks.defense.*;
|
||||||
import mindustry.world.blocks.defense.turrets.*;
|
import mindustry.world.blocks.defense.turrets.*;
|
||||||
import mindustry.world.blocks.defense.turrets.PointDefenseTurret;
|
|
||||||
import mindustry.world.blocks.defense.turrets.TractorBeamTurret;
|
|
||||||
import mindustry.world.blocks.distribution.*;
|
import mindustry.world.blocks.distribution.*;
|
||||||
import mindustry.world.blocks.environment.*;
|
import mindustry.world.blocks.environment.*;
|
||||||
import mindustry.world.blocks.experimental.*;
|
import mindustry.world.blocks.experimental.*;
|
||||||
@@ -363,7 +361,7 @@ public class Blocks implements ContentList{
|
|||||||
|
|
||||||
sandWall = new StaticWall("sand-wall"){{
|
sandWall = new StaticWall("sand-wall"){{
|
||||||
variants = 2;
|
variants = 2;
|
||||||
sandWater.asFloor().wall = this;
|
sandWater.asFloor().wall = water.asFloor().wall = deepwater.asFloor().wall = this;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
saltWall = new StaticWall("salt-wall");
|
saltWall = new StaticWall("salt-wall");
|
||||||
@@ -1195,7 +1193,7 @@ public class Blocks implements ContentList{
|
|||||||
size = 2;
|
size = 2;
|
||||||
|
|
||||||
ambientSound = Sounds.smelter;
|
ambientSound = Sounds.smelter;
|
||||||
ambientSoundVolume = 0.05f;
|
ambientSoundVolume = 0.06f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
differentialGenerator = new SingleTypeGenerator("differential-generator"){{
|
differentialGenerator = new SingleTypeGenerator("differential-generator"){{
|
||||||
@@ -1216,18 +1214,18 @@ public class Blocks implements ContentList{
|
|||||||
requirements(Category.power, with(Items.lead, 100, Items.silicon, 75, Items.phaseFabric, 25, Items.plastanium, 75, Items.thorium, 50));
|
requirements(Category.power, with(Items.lead, 100, Items.silicon, 75, Items.phaseFabric, 25, Items.plastanium, 75, Items.thorium, 50));
|
||||||
size = 2;
|
size = 2;
|
||||||
powerProduction = 4.5f;
|
powerProduction = 4.5f;
|
||||||
itemDuration = 60 * 15f;
|
itemDuration = 60 * 14f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
solarPanel = new SolarGenerator("solar-panel"){{
|
solarPanel = new SolarGenerator("solar-panel"){{
|
||||||
requirements(Category.power, with(Items.lead, 10, Items.silicon, 15));
|
requirements(Category.power, with(Items.lead, 10, Items.silicon, 15));
|
||||||
powerProduction = 0.08f;
|
powerProduction = 0.1f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
largeSolarPanel = new SolarGenerator("solar-panel-large"){{
|
largeSolarPanel = new SolarGenerator("solar-panel-large"){{
|
||||||
requirements(Category.power, with(Items.lead, 100, Items.silicon, 145, Items.phaseFabric, 15));
|
requirements(Category.power, with(Items.lead, 80, Items.silicon, 110, Items.phaseFabric, 15));
|
||||||
size = 3;
|
size = 3;
|
||||||
powerProduction = 1f;
|
powerProduction = 1.3f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
thoriumReactor = new NuclearReactor("thorium-reactor"){{
|
thoriumReactor = new NuclearReactor("thorium-reactor"){{
|
||||||
@@ -1377,7 +1375,7 @@ public class Blocks implements ContentList{
|
|||||||
itemCapacity = 9000;
|
itemCapacity = 9000;
|
||||||
size = 4;
|
size = 4;
|
||||||
|
|
||||||
unitCapModifier = 14;
|
unitCapModifier = 16;
|
||||||
researchCostMultiplier = 0.04f;
|
researchCostMultiplier = 0.04f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
@@ -1389,8 +1387,8 @@ public class Blocks implements ContentList{
|
|||||||
itemCapacity = 13000;
|
itemCapacity = 13000;
|
||||||
size = 5;
|
size = 5;
|
||||||
|
|
||||||
unitCapModifier = 20;
|
unitCapModifier = 24;
|
||||||
researchCostMultiplier = 0.05f;
|
researchCostMultiplier = 0.06f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
vault = new StorageBlock("vault"){{
|
vault = new StorageBlock("vault"){{
|
||||||
@@ -1515,14 +1513,14 @@ public class Blocks implements ContentList{
|
|||||||
flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher);
|
flags = EnumSet.of(BlockFlag.turret, BlockFlag.extinguisher);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
lancer = new ChargeTurret("lancer"){{
|
lancer = new PowerTurret("lancer"){{
|
||||||
requirements(Category.turret, with(Items.copper, 25, Items.lead, 50, Items.silicon, 45));
|
requirements(Category.turret, with(Items.copper, 25, Items.lead, 50, Items.silicon, 45));
|
||||||
range = 155f;
|
range = 165f;
|
||||||
chargeTime = 50f;
|
chargeTime = 40f;
|
||||||
chargeMaxDelay = 30f;
|
chargeMaxDelay = 30f;
|
||||||
chargeEffects = 7;
|
chargeEffects = 7;
|
||||||
recoilAmount = 2f;
|
recoilAmount = 2f;
|
||||||
reloadTime = 90f;
|
reloadTime = 80f;
|
||||||
cooldown = 0.03f;
|
cooldown = 0.03f;
|
||||||
powerUse = 6f;
|
powerUse = 6f;
|
||||||
shootShake = 2f;
|
shootShake = 2f;
|
||||||
@@ -1544,6 +1542,7 @@ public class Blocks implements ContentList{
|
|||||||
lifetime = 16f;
|
lifetime = 16f;
|
||||||
drawSize = 400f;
|
drawSize = 400f;
|
||||||
collidesAir = false;
|
collidesAir = false;
|
||||||
|
length = 173f;
|
||||||
}};
|
}};
|
||||||
}};
|
}};
|
||||||
|
|
||||||
@@ -1557,7 +1556,7 @@ public class Blocks implements ContentList{
|
|||||||
reloadTime = 35f;
|
reloadTime = 35f;
|
||||||
shootCone = 40f;
|
shootCone = 40f;
|
||||||
rotateSpeed = 8f;
|
rotateSpeed = 8f;
|
||||||
powerUse = 3f;
|
powerUse = 3.3f;
|
||||||
targetAir = false;
|
targetAir = false;
|
||||||
range = 90f;
|
range = 90f;
|
||||||
shootEffect = Fx.lightningShoot;
|
shootEffect = Fx.lightningShoot;
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ public class Bullets implements ContentList{
|
|||||||
waterShot, cryoShot, slagShot, oilShot, heavyWaterShot, heavyCryoShot, heavySlagShot, heavyOilShot,
|
waterShot, cryoShot, slagShot, oilShot, heavyWaterShot, heavyCryoShot, heavySlagShot, heavyOilShot,
|
||||||
|
|
||||||
//environment, misc.
|
//environment, misc.
|
||||||
damageLightning, damageLightningGround, fireball, basicFlame, pyraFlame, driverBolt, healBullet, healBulletBig;
|
damageLightning, damageLightningGround, fireball, basicFlame, pyraFlame, driverBolt;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void load(){
|
public void load(){
|
||||||
@@ -374,20 +374,6 @@ public class Bullets implements ContentList{
|
|||||||
knockback = 0.7f;
|
knockback = 0.7f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
healBullet = new LaserBoltBulletType(5.2f, 13){{
|
|
||||||
healPercent = 3f;
|
|
||||||
collidesTeam = true;
|
|
||||||
backColor = Pal.heal;
|
|
||||||
frontColor = Color.white;
|
|
||||||
}};
|
|
||||||
|
|
||||||
healBulletBig = new LaserBoltBulletType(5.2f, 15){{
|
|
||||||
healPercent = 5.5f;
|
|
||||||
collidesTeam = true;
|
|
||||||
backColor = Pal.heal;
|
|
||||||
frontColor = Color.white;
|
|
||||||
}};
|
|
||||||
|
|
||||||
fireball = new BulletType(1f, 4){
|
fireball = new BulletType(1f, 4){
|
||||||
{
|
{
|
||||||
pierce = true;
|
pierce = true;
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ public class Items implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
surgeAlloy = new Item("surge-alloy", Color.valueOf("f3e979")){{
|
surgeAlloy = new Item("surge-alloy", Color.valueOf("f3e979")){{
|
||||||
|
cost = 1.2f;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
sporePod = new Item("spore-pod", Color.valueOf("7457ce")){{
|
sporePod = new Item("spore-pod", Color.valueOf("7457ce")){{
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ public class Liquids implements ContentList{
|
|||||||
water = new Liquid("water", Color.valueOf("596ab8")){{
|
water = new Liquid("water", Color.valueOf("596ab8")){{
|
||||||
heatCapacity = 0.4f;
|
heatCapacity = 0.4f;
|
||||||
effect = StatusEffects.wet;
|
effect = StatusEffects.wet;
|
||||||
alwaysUnlocked = true;
|
|
||||||
}};
|
}};
|
||||||
|
|
||||||
slag = new Liquid("slag", Color.valueOf("ffa166")){{
|
slag = new Liquid("slag", Color.valueOf("ffa166")){{
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ public class SectorPresets implements ContentList{
|
|||||||
|
|
||||||
saltFlats = new SectorPreset("saltFlats", serpulo, 101){{
|
saltFlats = new SectorPreset("saltFlats", serpulo, 101){{
|
||||||
difficulty = 5;
|
difficulty = 5;
|
||||||
|
useAI = false;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
frozenForest = new SectorPreset("frozenForest", serpulo, 86){{
|
frozenForest = new SectorPreset("frozenForest", serpulo, 86){{
|
||||||
@@ -82,7 +83,7 @@ public class SectorPresets implements ContentList{
|
|||||||
}};
|
}};
|
||||||
|
|
||||||
desolateRift = new SectorPreset("desolateRift", serpulo, 123){{
|
desolateRift = new SectorPreset("desolateRift", serpulo, 123){{
|
||||||
captureWave = 30;
|
captureWave = 18;
|
||||||
difficulty = 8;
|
difficulty = 8;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
|||||||
@@ -98,11 +98,11 @@ public class TechTree implements ContentList{
|
|||||||
node(platedConduit, () -> {
|
node(platedConduit, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
node(rotaryPump, () -> {
|
node(rotaryPump, () -> {
|
||||||
node(thermalPump, () -> {
|
node(thermalPump, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@@ -121,7 +121,7 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
node(waterExtractor, () -> {
|
node(waterExtractor, Seq.with(new SectorComplete(saltFlats)), () -> {
|
||||||
node(oilExtractor, () -> {
|
node(oilExtractor, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -198,10 +198,10 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
node(illuminator, () -> {
|
node(illuminator, () -> {
|
||||||
|
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -421,8 +421,8 @@ public class TechTree implements ContentList{
|
|||||||
});
|
});
|
||||||
|
|
||||||
node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> {
|
node(additiveReconstructor, Seq.with(new SectorComplete(biomassFacility)), () -> {
|
||||||
node(multiplicativeReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> {
|
node(multiplicativeReconstructor, () -> {
|
||||||
node(exponentialReconstructor, () -> {
|
node(exponentialReconstructor, Seq.with(new SectorComplete(overgrowth)), () -> {
|
||||||
node(tetrativeReconstructor, () -> {
|
node(tetrativeReconstructor, () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -471,7 +471,8 @@ public class TechTree implements ContentList{
|
|||||||
node(desolateRift, Seq.with(
|
node(desolateRift, Seq.with(
|
||||||
new SectorComplete(impact0078),
|
new SectorComplete(impact0078),
|
||||||
new Research(thermalGenerator),
|
new Research(thermalGenerator),
|
||||||
new Research(thoriumReactor)
|
new Research(thoriumReactor),
|
||||||
|
new Research(coreNucleus)
|
||||||
), () -> {
|
), () -> {
|
||||||
node(planetaryTerminal, Seq.with(
|
node(planetaryTerminal, Seq.with(
|
||||||
new SectorComplete(desolateRift),
|
new SectorComplete(desolateRift),
|
||||||
@@ -484,6 +485,7 @@ public class TechTree implements ContentList{
|
|||||||
new Research(bryde),
|
new Research(bryde),
|
||||||
new Research(spectre),
|
new Research(spectre),
|
||||||
new Research(launchPad),
|
new Research(launchPad),
|
||||||
|
new Research(massDriver),
|
||||||
new Research(impactReactor),
|
new Research(impactReactor),
|
||||||
new Research(additiveReconstructor),
|
new Research(additiveReconstructor),
|
||||||
new Research(exponentialReconstructor)
|
new Research(exponentialReconstructor)
|
||||||
@@ -507,10 +509,11 @@ public class TechTree implements ContentList{
|
|||||||
|
|
||||||
node(saltFlats, Seq.with(
|
node(saltFlats, Seq.with(
|
||||||
new SectorComplete(windsweptIslands),
|
new SectorComplete(windsweptIslands),
|
||||||
|
new Research(commandCenter),
|
||||||
new Research(groundFactory),
|
new Research(groundFactory),
|
||||||
|
new Research(additiveReconstructor),
|
||||||
new Research(airFactory),
|
new Research(airFactory),
|
||||||
new Research(door),
|
new Research(door)
|
||||||
new Research(waterExtractor)
|
|
||||||
), () -> {
|
), () -> {
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -645,7 +648,7 @@ public class TechTree implements ContentList{
|
|||||||
static TechNode node(UnlockableContent content, ItemStack[] requirements, Seq<Objective> objectives, Runnable children){
|
static TechNode node(UnlockableContent content, ItemStack[] requirements, Seq<Objective> objectives, Runnable children){
|
||||||
TechNode node = new TechNode(context, content, requirements);
|
TechNode node = new TechNode(context, content, requirements);
|
||||||
if(objectives != null){
|
if(objectives != null){
|
||||||
node.objectives = objectives;
|
node.objectives.addAll(objectives);
|
||||||
}
|
}
|
||||||
|
|
||||||
TechNode prev = context;
|
TechNode prev = context;
|
||||||
|
|||||||
@@ -292,6 +292,7 @@ public class UnitTypes implements ContentList{
|
|||||||
shootSound = Sounds.lasershoot;
|
shootSound = Sounds.lasershoot;
|
||||||
|
|
||||||
bullet = new LaserBoltBulletType(5.2f, 14){{
|
bullet = new LaserBoltBulletType(5.2f, 14){{
|
||||||
|
lifetime = 37f;
|
||||||
healPercent = 5f;
|
healPercent = 5f;
|
||||||
collidesTeam = true;
|
collidesTeam = true;
|
||||||
backColor = Pal.heal;
|
backColor = Pal.heal;
|
||||||
@@ -311,7 +312,7 @@ public class UnitTypes implements ContentList{
|
|||||||
|
|
||||||
mineTier = 2;
|
mineTier = 2;
|
||||||
mineSpeed = 5f;
|
mineSpeed = 5f;
|
||||||
commandLimit = 8;
|
commandLimit = 9;
|
||||||
|
|
||||||
abilities.add(new ShieldRegenFieldAbility(20f, 40f, 60f * 5, 60f));
|
abilities.add(new ShieldRegenFieldAbility(20f, 40f, 60f * 5, 60f));
|
||||||
ammoType = AmmoTypes.power;
|
ammoType = AmmoTypes.power;
|
||||||
@@ -619,7 +620,7 @@ public class UnitTypes implements ContentList{
|
|||||||
drag = 0.4f;
|
drag = 0.4f;
|
||||||
hitSize = 12f;
|
hitSize = 12f;
|
||||||
rotateSpeed = 3f;
|
rotateSpeed = 3f;
|
||||||
health = 800;
|
health = 900;
|
||||||
immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting);
|
immunities = ObjectSet.with(StatusEffects.burning, StatusEffects.melting);
|
||||||
legCount = 6;
|
legCount = 6;
|
||||||
legLength = 13f;
|
legLength = 13f;
|
||||||
@@ -650,7 +651,7 @@ public class UnitTypes implements ContentList{
|
|||||||
bullet = new SapBulletType(){{
|
bullet = new SapBulletType(){{
|
||||||
sapStrength = 0.4f;
|
sapStrength = 0.4f;
|
||||||
length = 75f;
|
length = 75f;
|
||||||
damage = 18;
|
damage = 20;
|
||||||
shootEffect = Fx.shootSmall;
|
shootEffect = Fx.shootSmall;
|
||||||
hitColor = color = Color.valueOf("bf92f9");
|
hitColor = color = Color.valueOf("bf92f9");
|
||||||
despawnEffect = Fx.none;
|
despawnEffect = Fx.none;
|
||||||
@@ -670,7 +671,7 @@ public class UnitTypes implements ContentList{
|
|||||||
bullet = new SapBulletType(){{
|
bullet = new SapBulletType(){{
|
||||||
sapStrength = 0.8f;
|
sapStrength = 0.8f;
|
||||||
length = 40f;
|
length = 40f;
|
||||||
damage = 15;
|
damage = 16;
|
||||||
shootEffect = Fx.shootSmall;
|
shootEffect = Fx.shootSmall;
|
||||||
hitColor = color = Color.valueOf("bf92f9");
|
hitColor = color = Color.valueOf("bf92f9");
|
||||||
despawnEffect = Fx.none;
|
despawnEffect = Fx.none;
|
||||||
@@ -975,7 +976,7 @@ public class UnitTypes implements ContentList{
|
|||||||
|
|
||||||
zenith = new UnitType("zenith"){{
|
zenith = new UnitType("zenith"){{
|
||||||
health = 700;
|
health = 700;
|
||||||
speed = 1.7f;
|
speed = 1.8f;
|
||||||
accel = 0.04f;
|
accel = 0.04f;
|
||||||
drag = 0.016f;
|
drag = 0.016f;
|
||||||
flying = true;
|
flying = true;
|
||||||
@@ -997,7 +998,7 @@ public class UnitTypes implements ContentList{
|
|||||||
velocityRnd = 0.2f;
|
velocityRnd = 0.2f;
|
||||||
shootSound = Sounds.missile;
|
shootSound = Sounds.missile;
|
||||||
|
|
||||||
bullet = new MissileBulletType(3f, 12){{
|
bullet = new MissileBulletType(3f, 14){{
|
||||||
width = 8f;
|
width = 8f;
|
||||||
height = 8f;
|
height = 8f;
|
||||||
shrinkY = 0f;
|
shrinkY = 0f;
|
||||||
@@ -1005,7 +1006,7 @@ public class UnitTypes implements ContentList{
|
|||||||
homingRange = 60f;
|
homingRange = 60f;
|
||||||
keepVelocity = false;
|
keepVelocity = false;
|
||||||
splashDamageRadius = 25f;
|
splashDamageRadius = 25f;
|
||||||
splashDamage = 10f;
|
splashDamage = 16f;
|
||||||
lifetime = 60f;
|
lifetime = 60f;
|
||||||
trailColor = Pal.unitBack;
|
trailColor = Pal.unitBack;
|
||||||
backColor = Pal.unitBack;
|
backColor = Pal.unitBack;
|
||||||
@@ -1251,8 +1252,8 @@ public class UnitTypes implements ContentList{
|
|||||||
|
|
||||||
mineTier = 3;
|
mineTier = 3;
|
||||||
mineSpeed = 4f;
|
mineSpeed = 4f;
|
||||||
health = 500;
|
health = 460;
|
||||||
armor = 5f;
|
armor = 3f;
|
||||||
speed = 2.5f;
|
speed = 2.5f;
|
||||||
accel = 0.06f;
|
accel = 0.06f;
|
||||||
drag = 0.017f;
|
drag = 0.017f;
|
||||||
@@ -1264,6 +1265,7 @@ public class UnitTypes implements ContentList{
|
|||||||
engineSize = 3f;
|
engineSize = 3f;
|
||||||
payloadCapacity = (2 * 2) * tilePayload;
|
payloadCapacity = (2 * 2) * tilePayload;
|
||||||
buildSpeed = 2.6f;
|
buildSpeed = 2.6f;
|
||||||
|
isCounted = false;
|
||||||
|
|
||||||
ammoType = AmmoTypes.power;
|
ammoType = AmmoTypes.power;
|
||||||
|
|
||||||
@@ -1274,7 +1276,13 @@ public class UnitTypes implements ContentList{
|
|||||||
x = 8f;
|
x = 8f;
|
||||||
y = -6f;
|
y = -6f;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
bullet = Bullets.healBulletBig;
|
bullet = new LaserBoltBulletType(5.2f, 10){{
|
||||||
|
lifetime = 35f;
|
||||||
|
healPercent = 5.5f;
|
||||||
|
collidesTeam = true;
|
||||||
|
backColor = Pal.heal;
|
||||||
|
frontColor = Color.white;
|
||||||
|
}};
|
||||||
}},
|
}},
|
||||||
new Weapon("heal-weapon-mount"){{
|
new Weapon("heal-weapon-mount"){{
|
||||||
shootSound = Sounds.lasershoot;
|
shootSound = Sounds.lasershoot;
|
||||||
@@ -1282,7 +1290,13 @@ public class UnitTypes implements ContentList{
|
|||||||
x = 4f;
|
x = 4f;
|
||||||
y = 5f;
|
y = 5f;
|
||||||
rotate = true;
|
rotate = true;
|
||||||
bullet = Bullets.healBullet;
|
bullet = new LaserBoltBulletType(5.2f, 8){{
|
||||||
|
lifetime = 35f;
|
||||||
|
healPercent = 3f;
|
||||||
|
collidesTeam = true;
|
||||||
|
backColor = Pal.heal;
|
||||||
|
frontColor = Color.white;
|
||||||
|
}};
|
||||||
}});
|
}});
|
||||||
}};
|
}};
|
||||||
|
|
||||||
@@ -1349,7 +1363,7 @@ public class UnitTypes implements ContentList{
|
|||||||
collides = false;
|
collides = false;
|
||||||
|
|
||||||
healPercent = 15f;
|
healPercent = 15f;
|
||||||
splashDamage = 240f;
|
splashDamage = 230f;
|
||||||
splashDamageRadius = 120f;
|
splashDamageRadius = 120f;
|
||||||
}};
|
}};
|
||||||
}});
|
}});
|
||||||
@@ -1413,12 +1427,12 @@ public class UnitTypes implements ContentList{
|
|||||||
ejectEffect = Fx.casing1;
|
ejectEffect = Fx.casing1;
|
||||||
shootSound = Sounds.missile;
|
shootSound = Sounds.missile;
|
||||||
bullet = new MissileBulletType(2.7f, 12, "missile"){{
|
bullet = new MissileBulletType(2.7f, 12, "missile"){{
|
||||||
|
keepVelocity = true;
|
||||||
width = 8f;
|
width = 8f;
|
||||||
height = 8f;
|
height = 8f;
|
||||||
shrinkY = 0f;
|
shrinkY = 0f;
|
||||||
drag = -0.003f;
|
drag = -0.003f;
|
||||||
homingRange = 60f;
|
homingRange = 60f;
|
||||||
keepVelocity = false;
|
|
||||||
splashDamageRadius = 25f;
|
splashDamageRadius = 25f;
|
||||||
splashDamage = 10f;
|
splashDamage = 10f;
|
||||||
lifetime = 80f;
|
lifetime = 80f;
|
||||||
@@ -1643,6 +1657,7 @@ public class UnitTypes implements ContentList{
|
|||||||
recoil = 3f;
|
recoil = 3f;
|
||||||
occlusion = 12f;
|
occlusion = 12f;
|
||||||
ejectEffect = Fx.casing3;
|
ejectEffect = Fx.casing3;
|
||||||
|
shootSound = Sounds.shootBig;
|
||||||
|
|
||||||
shots = 3;
|
shots = 3;
|
||||||
shotDelay = 4f;
|
shotDelay = 4f;
|
||||||
@@ -1735,13 +1750,13 @@ public class UnitTypes implements ContentList{
|
|||||||
top = false;
|
top = false;
|
||||||
ejectEffect = Fx.casing1;
|
ejectEffect = Fx.casing1;
|
||||||
|
|
||||||
bullet = new BasicBulletType(2.5f, 10){{
|
bullet = new BasicBulletType(2.5f, 11){{
|
||||||
width = 7f;
|
width = 7f;
|
||||||
height = 9f;
|
height = 9f;
|
||||||
lifetime = 60f;
|
lifetime = 60f;
|
||||||
shootEffect = Fx.shootSmall;
|
shootEffect = Fx.shootSmall;
|
||||||
smokeEffect = Fx.shootSmallSmoke;
|
smokeEffect = Fx.shootSmallSmoke;
|
||||||
tileDamageMultiplier = 0.02f;
|
tileDamageMultiplier = 0.01f;
|
||||||
}};
|
}};
|
||||||
}});
|
}});
|
||||||
}};
|
}};
|
||||||
@@ -1777,13 +1792,13 @@ public class UnitTypes implements ContentList{
|
|||||||
spacing = 0f;
|
spacing = 0f;
|
||||||
ejectEffect = Fx.casing1;
|
ejectEffect = Fx.casing1;
|
||||||
|
|
||||||
bullet = new BasicBulletType(3f, 10){{
|
bullet = new BasicBulletType(3f, 11){{
|
||||||
width = 7f;
|
width = 7f;
|
||||||
height = 9f;
|
height = 9f;
|
||||||
lifetime = 60f;
|
lifetime = 60f;
|
||||||
shootEffect = Fx.shootSmall;
|
shootEffect = Fx.shootSmall;
|
||||||
smokeEffect = Fx.shootSmallSmoke;
|
smokeEffect = Fx.shootSmallSmoke;
|
||||||
tileDamageMultiplier = 0.02f;
|
tileDamageMultiplier = 0.01f;
|
||||||
}};
|
}};
|
||||||
}});
|
}});
|
||||||
}};
|
}};
|
||||||
@@ -1817,13 +1832,13 @@ public class UnitTypes implements ContentList{
|
|||||||
shotDelay = 3f;
|
shotDelay = 3f;
|
||||||
ejectEffect = Fx.casing1;
|
ejectEffect = Fx.casing1;
|
||||||
|
|
||||||
bullet = new BasicBulletType(3.5f, 10){{
|
bullet = new BasicBulletType(3.5f, 11){{
|
||||||
width = 6.5f;
|
width = 6.5f;
|
||||||
height = 11f;
|
height = 11f;
|
||||||
lifetime = 70f;
|
lifetime = 70f;
|
||||||
shootEffect = Fx.shootSmall;
|
shootEffect = Fx.shootSmall;
|
||||||
smokeEffect = Fx.shootSmallSmoke;
|
smokeEffect = Fx.shootSmallSmoke;
|
||||||
tileDamageMultiplier = 0.02f;
|
tileDamageMultiplier = 0.01f;
|
||||||
homingPower = 0.04f;
|
homingPower = 0.04f;
|
||||||
}};
|
}};
|
||||||
}});
|
}});
|
||||||
|
|||||||
@@ -53,10 +53,11 @@ public class Weathers implements ContentList{
|
|||||||
baseSpeed = 5.4f;
|
baseSpeed = 5.4f;
|
||||||
attrs.set(Attribute.light, -0.1f);
|
attrs.set(Attribute.light, -0.1f);
|
||||||
attrs.set(Attribute.water, -0.1f);
|
attrs.set(Attribute.water, -0.1f);
|
||||||
opacityMultiplier = 0.5f;
|
opacityMultiplier = 0.35f;
|
||||||
force = 0.1f;
|
force = 0.1f;
|
||||||
sound = Sounds.wind;
|
sound = Sounds.wind;
|
||||||
soundVol = 0.3f;
|
soundVol = 0.8f;
|
||||||
|
duration = 7f * Time.toMinutes;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
sporestorm = new ParticleWeather("sporestorm"){{
|
sporestorm = new ParticleWeather("sporestorm"){{
|
||||||
@@ -77,7 +78,8 @@ public class Weathers implements ContentList{
|
|||||||
opacityMultiplier = 0.75f;
|
opacityMultiplier = 0.75f;
|
||||||
force = 0.1f;
|
force = 0.1f;
|
||||||
sound = Sounds.wind;
|
sound = Sounds.wind;
|
||||||
soundVol = 0.3f;
|
soundVol = 0.7f;
|
||||||
|
duration = 7f * Time.toMinutes;
|
||||||
}};
|
}};
|
||||||
|
|
||||||
fog = new ParticleWeather("fog"){{
|
fog = new ParticleWeather("fog"){{
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import mindustry.gen.*;
|
|||||||
import mindustry.input.*;
|
import mindustry.input.*;
|
||||||
import mindustry.io.*;
|
import mindustry.io.*;
|
||||||
import mindustry.io.SaveIO.*;
|
import mindustry.io.SaveIO.*;
|
||||||
|
import mindustry.maps.*;
|
||||||
import mindustry.maps.Map;
|
import mindustry.maps.Map;
|
||||||
import mindustry.net.*;
|
import mindustry.net.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
@@ -322,17 +323,45 @@ public class Control implements ApplicationListener, Loadable{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//set spawn for sector damage to use
|
||||||
|
Tile spawn = world.tile(sector.info.spawnPosition);
|
||||||
|
spawn.setBlock(Blocks.coreShard, state.rules.defaultTeam);
|
||||||
|
|
||||||
|
//add extra damage.
|
||||||
|
SectorDamage.apply(1f);
|
||||||
|
|
||||||
//reset wave so things are more fair
|
//reset wave so things are more fair
|
||||||
state.wave = 1;
|
state.wave = 1;
|
||||||
|
//set up default wave time
|
||||||
|
state.wavetime = state.rules.waveSpacing * 2f;
|
||||||
|
//reset captured state
|
||||||
|
sector.info.wasCaptured = false;
|
||||||
|
//re-enable waves
|
||||||
|
state.rules.waves = true;
|
||||||
|
|
||||||
//reset win wave??
|
//reset win wave??
|
||||||
state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null ? sector.preset.captureWave : 40;
|
state.rules.winWave = state.rules.attackMode ? -1 : sector.preset != null ? sector.preset.captureWave : state.rules.winWave > state.wave ? state.rules.winWave : 40;
|
||||||
|
|
||||||
|
//if there's still an enemy base left, fix it
|
||||||
|
if(state.rules.attackMode){
|
||||||
|
//replace all broken blocks
|
||||||
|
for(var plan : state.rules.waveTeam.data().blocks){
|
||||||
|
Tile tile = world.tile(plan.x, plan.y);
|
||||||
|
if(tile != null){
|
||||||
|
tile.setBlock(content.block(plan.block), state.rules.waveTeam, plan.rotation);
|
||||||
|
if(plan.config != null && tile.build != null){
|
||||||
|
tile.build.configure(plan.config);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
state.rules.waveTeam.data().blocks.clear();
|
||||||
|
}
|
||||||
|
|
||||||
//kill all units, since they should be dead anyway
|
//kill all units, since they should be dead anyway
|
||||||
Groups.unit.clear();
|
Groups.unit.clear();
|
||||||
Groups.fire.clear();
|
Groups.fire.clear();
|
||||||
|
Groups.puddle.clear();
|
||||||
|
|
||||||
Tile spawn = world.tile(sector.info.spawnPosition);
|
|
||||||
Schematics.placeLaunchLoadout(spawn.x, spawn.y);
|
Schematics.placeLaunchLoadout(spawn.x, spawn.y);
|
||||||
|
|
||||||
//set up camera/player locations
|
//set up camera/player locations
|
||||||
|
|||||||
@@ -33,9 +33,8 @@ public class GameState{
|
|||||||
/** Current game state. */
|
/** Current game state. */
|
||||||
private State state = State.menu;
|
private State state = State.menu;
|
||||||
|
|
||||||
//TODO optimize
|
|
||||||
public Unit boss(){
|
public Unit boss(){
|
||||||
return Groups.unit.find(u -> u.isBoss() && u.team == rules.waveTeam);
|
return teams.boss;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void set(State astate){
|
public void set(State astate){
|
||||||
|
|||||||
@@ -107,8 +107,15 @@ public class Logic implements ApplicationListener{
|
|||||||
if(!(state.getSector().preset != null && !state.getSector().preset.useAI)){
|
if(!(state.getSector().preset != null && !state.getSector().preset.useAI)){
|
||||||
state.rules.waveTeam.rules().ai = true;
|
state.rules.waveTeam.rules().ai = true;
|
||||||
}
|
}
|
||||||
state.rules.waveTeam.rules().aiTier = state.getSector().threat;
|
state.rules.waveTeam.rules().aiTier = state.getSector().threat * 0.8f;
|
||||||
state.rules.waveTeam.rules().infiniteResources = true;
|
state.rules.waveTeam.rules().infiniteResources = true;
|
||||||
|
|
||||||
|
//fill enemy cores by default.
|
||||||
|
for(var core : state.rules.waveTeam.cores()){
|
||||||
|
for(Item item : content.items()){
|
||||||
|
core.items.set(item, core.block.itemCapacity);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//save settings
|
//save settings
|
||||||
@@ -128,8 +135,8 @@ public class Logic implements ApplicationListener{
|
|||||||
//convert all blocks to neutral, randomly killing them
|
//convert all blocks to neutral, randomly killing them
|
||||||
if(tile.isCenter() && tile.build != null && tile.build.team == state.rules.waveTeam){
|
if(tile.isCenter() && tile.build != null && tile.build.team == state.rules.waveTeam){
|
||||||
Building b = tile.build;
|
Building b = tile.build;
|
||||||
|
Call.setTeam(b, Team.derelict);
|
||||||
Time.run(Mathf.random(0f, 60f * 6f), () -> {
|
Time.run(Mathf.random(0f, 60f * 6f), () -> {
|
||||||
Call.setTeam(b, Team.derelict);
|
|
||||||
if(Mathf.chance(0.25)){
|
if(Mathf.chance(0.25)){
|
||||||
b.kill();
|
b.kill();
|
||||||
}
|
}
|
||||||
@@ -260,6 +267,8 @@ public class Logic implements ApplicationListener{
|
|||||||
|
|
||||||
if(state.rules.sector == null) return;
|
if(state.rules.sector == null) return;
|
||||||
|
|
||||||
|
state.rules.sector.info.wasCaptured = true;
|
||||||
|
|
||||||
//fire capture event
|
//fire capture event
|
||||||
Events.fire(new SectorCaptureEvent(state.rules.sector));
|
Events.fire(new SectorCaptureEvent(state.rules.sector));
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
private boolean connecting = false;
|
private boolean connecting = false;
|
||||||
/** If true, no message will be shown on disconnect. */
|
/** If true, no message will be shown on disconnect. */
|
||||||
private boolean quiet = false;
|
private boolean quiet = false;
|
||||||
/** Whether to supress disconnect events completely.*/
|
/** Whether to suppress disconnect events completely.*/
|
||||||
private boolean quietReset = false;
|
private boolean quietReset = false;
|
||||||
/** Counter for data timeout. */
|
/** Counter for data timeout. */
|
||||||
private float timeoutTime = 0f;
|
private float timeoutTime = 0f;
|
||||||
@@ -257,6 +257,11 @@ public class NetClient implements ApplicationListener{
|
|||||||
public static void kick(KickReason reason){
|
public static void kick(KickReason reason){
|
||||||
netClient.disconnectQuietly();
|
netClient.disconnectQuietly();
|
||||||
logic.reset();
|
logic.reset();
|
||||||
|
|
||||||
|
if(reason == KickReason.serverRestarting){
|
||||||
|
ui.join.reconnect();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(!reason.quiet){
|
if(!reason.quiet){
|
||||||
if(reason.extraText() != null){
|
if(reason.extraText() != null){
|
||||||
@@ -340,7 +345,7 @@ public class NetClient implements ApplicationListener{
|
|||||||
|
|
||||||
ui.showInfoToast(message, duration);
|
ui.showInfoToast(message, duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Remote(variants = Variant.both)
|
@Remote(variants = Variant.both)
|
||||||
public static void warningToast(int unicode, String text){
|
public static void warningToast(int unicode, String text){
|
||||||
if(text == null || Fonts.icon.getData().getGlyph((char)unicode) == null) return;
|
if(text == null || Fonts.icon.getData().getGlyph((char)unicode) == null) return;
|
||||||
|
|||||||
@@ -422,7 +422,7 @@ public class NetServer implements ApplicationListener{
|
|||||||
currentlyKicking[0] = session;
|
currentlyKicking[0] = session;
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
player.sendMessage("[scarlet]No player[orange]'" + args[0] + "'[scarlet] found.");
|
player.sendMessage("[scarlet]No player [orange]'" + args[0] + "'[scarlet] found.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -447,6 +447,11 @@ public class NetServer implements ApplicationListener{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(currentlyKicking[0].target.team() != player.team()){
|
||||||
|
player.sendMessage("[scarlet]You can't vote for other teams.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(!arg[0].toLowerCase().equals("y") && !arg[0].toLowerCase().equals("n")){
|
if(!arg[0].toLowerCase().equals("y") && !arg[0].toLowerCase().equals("n")){
|
||||||
player.sendMessage("[scarlet]Vote either 'y' (yes) or 'n' (no).");
|
player.sendMessage("[scarlet]Vote either 'y' (yes) or 'n' (no).");
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -258,11 +258,11 @@ public class UI implements ApplicationListener, Loadable{
|
|||||||
TextField field = cont.field(def, t -> {}).size(330f, 50f).get();
|
TextField field = cont.field(def, t -> {}).size(330f, 50f).get();
|
||||||
field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c));
|
field.setFilter((f, c) -> field.getText().length() < textLength && filter.acceptChar(f, c));
|
||||||
buttons.defaults().size(120, 54).pad(4);
|
buttons.defaults().size(120, 54).pad(4);
|
||||||
|
buttons.button("@cancel", this::hide);
|
||||||
buttons.button("@ok", () -> {
|
buttons.button("@ok", () -> {
|
||||||
confirmed.get(field.getText());
|
confirmed.get(field.getText());
|
||||||
hide();
|
hide();
|
||||||
}).disabled(b -> field.getText().isEmpty());
|
}).disabled(b -> field.getText().isEmpty());
|
||||||
buttons.button("@cancel", this::hide);
|
|
||||||
keyDown(KeyCode.enter, () -> {
|
keyDown(KeyCode.enter, () -> {
|
||||||
String text = field.getText();
|
String text = field.getText();
|
||||||
if(!text.isEmpty()){
|
if(!text.isEmpty()){
|
||||||
|
|||||||
@@ -311,7 +311,7 @@ public class World{
|
|||||||
//TODO bad code
|
//TODO bad code
|
||||||
boolean hasSnow = floors[0].name.contains("ice") || floors[0].name.contains("snow");
|
boolean hasSnow = floors[0].name.contains("ice") || floors[0].name.contains("snow");
|
||||||
boolean hasRain = !hasSnow && content.contains(Liquids.water) && !floors[0].name.contains("sand");
|
boolean hasRain = !hasSnow && content.contains(Liquids.water) && !floors[0].name.contains("sand");
|
||||||
boolean hasDesert = !hasSnow && !hasRain && floors[0].name.contains("sand");
|
boolean hasDesert = !hasSnow && !hasRain && floors[0] == Blocks.sand;
|
||||||
boolean hasSpores = floors[0].name.contains("spore") || floors[0].name.contains("moss") || floors[0].name.contains("tainted");
|
boolean hasSpores = floors[0].name.contains("spore") || floors[0].name.contains("moss") || floors[0].name.contains("tainted");
|
||||||
|
|
||||||
if(hasSnow){
|
if(hasSnow){
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ public abstract class Content implements Comparable<Content>, Disposable{
|
|||||||
*/
|
*/
|
||||||
public void load(){}
|
public void load(){}
|
||||||
|
|
||||||
/** @return whether an error ocurred during mod loading. */
|
/** @return whether an error occurred during mod loading. */
|
||||||
public boolean hasErrored(){
|
public boolean hasErrored(){
|
||||||
return minfo.error != null;
|
return minfo.error != null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public abstract class UnlockableContent extends MappableContent{
|
|||||||
|
|
||||||
/** Makes this piece of content unlocked; if it already unlocked, nothing happens. */
|
/** Makes this piece of content unlocked; if it already unlocked, nothing happens. */
|
||||||
public void unlock(){
|
public void unlock(){
|
||||||
if(!unlocked()){
|
if(!net.client() && !unlocked()){
|
||||||
unlocked = true;
|
unlocked = true;
|
||||||
Core.settings.put(name + "-unlocked", true);
|
Core.settings.put(name + "-unlocked", true);
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import mindustry.ui.*;
|
|||||||
|
|
||||||
public class WaveGraph extends Table{
|
public class WaveGraph extends Table{
|
||||||
public Seq<SpawnGroup> groups = new Seq<>();
|
public Seq<SpawnGroup> groups = new Seq<>();
|
||||||
public int from, to = 20;
|
public int from = 0, to = 20;
|
||||||
|
|
||||||
private Mode mode = Mode.counts;
|
private Mode mode = Mode.counts;
|
||||||
private int[][] values;
|
private int[][] values;
|
||||||
@@ -114,7 +114,7 @@ public class WaveGraph extends Table{
|
|||||||
|
|
||||||
Lines.line(cx, cy, cx, cy + len);
|
Lines.line(cx, cy, cx, cy + len);
|
||||||
if(i == values.length/2){
|
if(i == values.length/2){
|
||||||
font.draw("" + (i + from), cx, cy - 2f, Align.center);
|
font.draw("" + (i + from + 1), cx, cy - 2f, Align.center);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
font.setColor(Color.white);
|
font.setColor(Color.white);
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package mindustry.entities;
|
|||||||
|
|
||||||
import arc.*;
|
import arc.*;
|
||||||
import arc.func.*;
|
import arc.func.*;
|
||||||
import arc.graphics.*;
|
|
||||||
import arc.math.*;
|
import arc.math.*;
|
||||||
import arc.math.geom.*;
|
import arc.math.geom.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
@@ -33,15 +32,22 @@ public class Damage{
|
|||||||
private static Unit tmpUnit;
|
private static Unit tmpUnit;
|
||||||
|
|
||||||
/** Creates a dynamic explosion based on specified parameters. */
|
/** Creates a dynamic explosion based on specified parameters. */
|
||||||
public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, Color color, boolean damage){
|
public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, boolean damage){
|
||||||
|
dynamicExplosion(x, y, flammability, explosiveness, power, radius, damage, true, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Creates a dynamic explosion based on specified parameters. */
|
||||||
|
public static void dynamicExplosion(float x, float y, float flammability, float explosiveness, float power, float radius, boolean damage, boolean fire, @Nullable Team ignoreTeam){
|
||||||
if(damage){
|
if(damage){
|
||||||
for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){
|
for(int i = 0; i < Mathf.clamp(power / 20, 0, 6); i++){
|
||||||
int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20);
|
int branches = 5 + Mathf.clamp((int)(power / 30), 1, 20);
|
||||||
Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2)));
|
Time.run(i * 2f + Mathf.random(4f), () -> Lightning.create(Team.derelict, Pal.power, 3, x, y, Mathf.random(360f), branches + Mathf.range(2)));
|
||||||
}
|
}
|
||||||
|
|
||||||
for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
|
if(fire){
|
||||||
Time.run(i / 2f, () -> Call.createBullet(Bullets.fireball, Team.derelict, x, y, Mathf.random(360f), Bullets.fireball.damage, 1, 1));
|
for(int i = 0; i < Mathf.clamp(flammability / 4, 0, 30); i++){
|
||||||
|
Time.run(i / 2f, () -> Call.createBullet(Bullets.fireball, Team.derelict, x, y, Mathf.random(360f), Bullets.fireball.damage, 1, 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int waves = Mathf.clamp((int)(explosiveness / 4), 0, 30);
|
int waves = Mathf.clamp((int)(explosiveness / 4), 0, 30);
|
||||||
@@ -49,7 +55,7 @@ public class Damage{
|
|||||||
for(int i = 0; i < waves; i++){
|
for(int i = 0; i < waves; i++){
|
||||||
int f = i;
|
int f = i;
|
||||||
Time.run(i * 2f, () -> {
|
Time.run(i * 2f, () -> {
|
||||||
Damage.damage(x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f);
|
Damage.damage(ignoreTeam, x, y, Mathf.clamp(radius + explosiveness, 0, 50f) * ((f + 1f) / waves), explosiveness / 2f, false);
|
||||||
Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius));
|
Fx.blockExplosionSmoke.at(x + Mathf.range(radius), y + Mathf.range(radius));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ public class Fires{
|
|||||||
private static final float baseLifetime = 1000f;
|
private static final float baseLifetime = 1000f;
|
||||||
private static final IntMap<Fire> map = new IntMap<>();
|
private static final IntMap<Fire> map = new IntMap<>();
|
||||||
|
|
||||||
/** Start a fire on the tile. If there already is a file there, refreshes its lifetime. */
|
/** Start a fire on the tile. If there already is a fire there, refreshes its lifetime. */
|
||||||
public static void create(Tile tile){
|
public static void create(Tile tile){
|
||||||
if(net.client() || tile == null || !state.rules.fire) return; //not clientside.
|
if(net.client() || tile == null || !state.rules.fire) return; //not clientside.
|
||||||
|
|
||||||
|
|||||||
@@ -12,5 +12,6 @@ class GroupDefs<G>{
|
|||||||
@GroupDef(value = Syncc.class, mapping = true) G sync;
|
@GroupDef(value = Syncc.class, mapping = true) G sync;
|
||||||
@GroupDef(value = Drawc.class) G draw;
|
@GroupDef(value = Drawc.class) G draw;
|
||||||
@GroupDef(value = Firec.class) G fire;
|
@GroupDef(value = Firec.class) G fire;
|
||||||
|
@GroupDef(value = Puddlec.class) G puddle;
|
||||||
@GroupDef(value = WeatherStatec.class) G weather;
|
@GroupDef(value = WeatherStatec.class) G weather;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class Lightning{
|
|||||||
world.raycastEach(World.toTile(from.getX()), World.toTile(from.getY()), World.toTile(to.getX()), World.toTile(to.getY()), (wx, wy) -> {
|
world.raycastEach(World.toTile(from.getX()), World.toTile(from.getY()), World.toTile(to.getX()), World.toTile(to.getY()), (wx, wy) -> {
|
||||||
|
|
||||||
Tile tile = world.tile(wx, wy);
|
Tile tile = world.tile(wx, wy);
|
||||||
if(tile != null && tile.block().insulated){
|
if(tile != null && tile.block().insulated && tile.team() != team){
|
||||||
bhit = true;
|
bhit = true;
|
||||||
//snap it instead of removing
|
//snap it instead of removing
|
||||||
lines.get(lines.size -1).set(wx * tilesize, wy * tilesize);
|
lines.get(lines.size -1).set(wx * tilesize, wy * tilesize);
|
||||||
|
|||||||
@@ -38,9 +38,9 @@ public class Puddles{
|
|||||||
|
|
||||||
Puddle p = map.get(tile.pos());
|
Puddle p = map.get(tile.pos());
|
||||||
|
|
||||||
if(generation == 0 && p != null && p.lastRipple() <= Time.time() - 40f){
|
if(generation == 0 && p != null && p.lastRipple() <= Time.time - 40f){
|
||||||
Fx.ripple.at((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f, 1f, tile.floor().liquidDrop.color);
|
Fx.ripple.at((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f, 1f, tile.floor().liquidDrop.color);
|
||||||
p.lastRipple(Time.time());
|
p.lastRipple(Time.time);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -62,9 +62,9 @@ public class Puddles{
|
|||||||
}else if(p.liquid() == liquid){
|
}else if(p.liquid() == liquid){
|
||||||
p.accepting(Math.max(amount, p.accepting()));
|
p.accepting(Math.max(amount, p.accepting()));
|
||||||
|
|
||||||
if(generation == 0 && p.lastRipple() <= Time.time() - 40f && p.amount() >= maxLiquid / 2f){
|
if(generation == 0 && p.lastRipple() <= Time.time - 40f && p.amount() >= maxLiquid / 2f){
|
||||||
Fx.ripple.at((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f, 1f, p.liquid().color);
|
Fx.ripple.at((tile.worldx() + source.worldx()) / 2f, (tile.worldy() + source.worldy()) / 2f, 1f, p.liquid().color);
|
||||||
p.lastRipple(Time.time());
|
p.lastRipple(Time.time);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
p.amount(p.amount() + reactPuddle(p.liquid(), liquid, amount, p.tile(), (p.x() + source.worldx())/2f, (p.y() + source.worldy())/2f));
|
p.amount(p.amount() + reactPuddle(p.liquid(), liquid, amount, p.tile(), (p.x() + source.worldx())/2f, (p.y() + source.worldy())/2f));
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class RepairFieldAbility extends Ability{
|
|||||||
|
|
||||||
Units.nearby(unit.team, unit.x, unit.y, range, other -> {
|
Units.nearby(unit.team, unit.x, unit.y, range, other -> {
|
||||||
if(other.damaged()){
|
if(other.damaged()){
|
||||||
healEffect.at(unit);
|
healEffect.at(other);
|
||||||
wasHealed = true;
|
wasHealed = true;
|
||||||
}
|
}
|
||||||
other.heal(amount);
|
other.heal(amount);
|
||||||
|
|||||||
@@ -273,7 +273,8 @@ public abstract class BulletType extends Content{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(weaveMag > 0){
|
if(weaveMag > 0){
|
||||||
b.vel.rotate(Mathf.sin(Mathf.randomSeed(b.id, 10f) + b.time, weaveScale, weaveMag) * Time.delta);
|
float scl = Mathf.randomSeed(id, 0.9f, 1.1f);
|
||||||
|
b.vel.rotate(Mathf.sin(b.time + Mathf.PI * weaveScale/2f * scl, weaveScale * scl, weaveMag) * Time.delta);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(trailChance > 0){
|
if(trailChance > 0){
|
||||||
@@ -317,11 +318,11 @@ public abstract class BulletType extends Content{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Bullet create(Bullet parent, float x, float y, float angle){
|
public Bullet create(Bullet parent, float x, float y, float angle){
|
||||||
return create(parent.owner(), parent.team, x, y, angle);
|
return create(parent.owner, parent.team, x, y, angle);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bullet create(Bullet parent, float x, float y, float angle, float velocityScl, float lifeScale){
|
public Bullet create(Bullet parent, float x, float y, float angle, float velocityScl, float lifeScale){
|
||||||
return create(parent.owner(), parent.team, x, y, angle, velocityScl, lifeScale);
|
return create(parent.owner, parent.team, x, y, angle, velocityScl, lifeScale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Bullet create(Bullet parent, float x, float y, float angle, float velocityScl){
|
public Bullet create(Bullet parent, float x, float y, float angle, float velocityScl){
|
||||||
|
|||||||
@@ -85,10 +85,10 @@ public class ContinuousLaserBulletType extends BulletType{
|
|||||||
|
|
||||||
Lines.lineAngle(b.x, b.y, b.rotation(), baseLen);
|
Lines.lineAngle(b.x, b.y, b.rotation(), baseLen);
|
||||||
for(int s = 0; s < colors.length; s++){
|
for(int s = 0; s < colors.length; s++){
|
||||||
Draw.color(Tmp.c1.set(colors[s]).mul(1f + Mathf.absin(Time.time(), 1f, 0.1f)));
|
Draw.color(Tmp.c1.set(colors[s]).mul(1f + Mathf.absin(Time.time, 1f, 0.1f)));
|
||||||
for(int i = 0; i < tscales.length; i++){
|
for(int i = 0; i < tscales.length; i++){
|
||||||
Tmp.v1.trns(b.rotation() + 180f, (lenscales[i] - 1f) * spaceMag);
|
Tmp.v1.trns(b.rotation() + 180f, (lenscales[i] - 1f) * spaceMag);
|
||||||
Lines.stroke((width + Mathf.absin(Time.time(), oscScl, oscMag)) * fout * strokes[s] * tscales[i]);
|
Lines.stroke((width + Mathf.absin(Time.time, oscScl, oscMag)) * fout * strokes[s] * tscales[i]);
|
||||||
Lines.lineAngle(b.x + Tmp.v1.x, b.y + Tmp.v1.y, b.rotation(), baseLen * lenscales[i], false);
|
Lines.lineAngle(b.x + Tmp.v1.x, b.y + Tmp.v1.y, b.rotation(), baseLen * lenscales[i], false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class SapBulletType extends BulletType{
|
|||||||
b.data = target;
|
b.data = target;
|
||||||
|
|
||||||
if(target != null){
|
if(target != null){
|
||||||
float result = Math.min(target.health(), damage);
|
float result = Math.max(Math.min(target.health(), damage), 0);
|
||||||
|
|
||||||
if(b.owner instanceof Healthc h){
|
if(b.owner instanceof Healthc h){
|
||||||
h.heal(result * sapStrength);
|
h.heal(result * sapStrength);
|
||||||
|
|||||||
@@ -16,11 +16,13 @@ abstract class BoundedComp implements Velc, Posc, Healthc, Flyingc{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
//repel unit out of bounds
|
if(!net.client() || isLocal()){
|
||||||
if(x < 0) vel.x += (-x/warpDst);
|
//repel unit out of bounds
|
||||||
if(y < 0) vel.y += (-y/warpDst);
|
if(x < 0) vel.x += (-x/warpDst);
|
||||||
if(x > world.unitWidth()) vel.x -= (x - world.unitWidth())/warpDst;
|
if(y < 0) vel.y += (-y/warpDst);
|
||||||
if(y > world.unitHeight()) vel.y -= (y - world.unitHeight())/warpDst;
|
if(x > world.unitWidth()) vel.x -= (x - world.unitWidth())/warpDst;
|
||||||
|
if(y > world.unitHeight()) vel.y -= (y - world.unitHeight())/warpDst;
|
||||||
|
}
|
||||||
|
|
||||||
//clamp position if not flying
|
//clamp position if not flying
|
||||||
if(isGrounded()){
|
if(isGrounded()){
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import mindustry.annotations.Annotations.*;
|
|||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
|
import mindustry.game.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
@@ -28,6 +29,7 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
|
|
||||||
@Import float x, y, rotation;
|
@Import float x, y, rotation;
|
||||||
@Import UnitType type;
|
@Import UnitType type;
|
||||||
|
@Import Team team;
|
||||||
|
|
||||||
@SyncLocal Queue<BuildPlan> plans = new Queue<>(1);
|
@SyncLocal Queue<BuildPlan> plans = new Queue<>(1);
|
||||||
@SyncLocal transient boolean updateBuilding = true;
|
@SyncLocal transient boolean updateBuilding = true;
|
||||||
@@ -75,27 +77,27 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
Tile tile = world.tile(current.x, current.y);
|
Tile tile = world.tile(current.x, current.y);
|
||||||
|
|
||||||
if(!(tile.block() instanceof ConstructBlock)){
|
if(!(tile.block() instanceof ConstructBlock)){
|
||||||
if(!current.initialized && !current.breaking && Build.validPlace(current.block, team(), current.x, current.y, current.rotation)){
|
if(!current.initialized && !current.breaking && Build.validPlace(current.block, team, current.x, current.y, current.rotation)){
|
||||||
boolean hasAll = infinite || !Structs.contains(current.block.requirements, i -> core != null && !core.items.has(i.item));
|
boolean hasAll = infinite || !Structs.contains(current.block.requirements, i -> core != null && !core.items.has(i.item));
|
||||||
|
|
||||||
if(hasAll){
|
if(hasAll){
|
||||||
Call.beginPlace(current.block, team(), current.x, current.y, current.rotation);
|
Call.beginPlace(self(), current.block, team, current.x, current.y, current.rotation);
|
||||||
}else{
|
}else{
|
||||||
current.stuck = true;
|
current.stuck = true;
|
||||||
}
|
}
|
||||||
}else if(!current.initialized && current.breaking && Build.validBreak(team(), current.x, current.y)){
|
}else if(!current.initialized && current.breaking && Build.validBreak(team, current.x, current.y)){
|
||||||
Call.beginBreak(team(), current.x, current.y);
|
Call.beginBreak(self(), team, current.x, current.y);
|
||||||
}else{
|
}else{
|
||||||
plans.removeFirst();
|
plans.removeFirst();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}else if(tile.team() != team()){
|
}else if(tile.team() != team){
|
||||||
plans.removeFirst();
|
plans.removeFirst();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tile.build instanceof ConstructBuild && !current.initialized){
|
if(tile.build instanceof ConstructBuild && !current.initialized){
|
||||||
Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, team(), (Builderc)this, current.breaking)));
|
Core.app.post(() -> Events.fire(new BuildSelectEvent(tile, team, self(), current.breaking)));
|
||||||
current.initialized = true;
|
current.initialized = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,7 +130,7 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
control.input.drawBreaking(request);
|
control.input.drawBreaking(request);
|
||||||
}else{
|
}else{
|
||||||
request.block.drawRequest(request, control.input.allRequests(),
|
request.block.drawRequest(request, control.input.allRequests(),
|
||||||
Build.validPlace(request.block, team(), request.x, request.y, request.rotation) || control.input.requestMatches(request));
|
Build.validPlace(request.block, team, request.x, request.y, request.rotation) || control.input.requestMatches(request));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +140,7 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
/** @return whether this request should be skipped, in favor of the next one. */
|
/** @return whether this request should be skipped, in favor of the next one. */
|
||||||
boolean shouldSkip(BuildPlan request, @Nullable Building core){
|
boolean shouldSkip(BuildPlan request, @Nullable Building core){
|
||||||
//requests that you have at least *started* are considered
|
//requests that you have at least *started* are considered
|
||||||
if(state.rules.infiniteResources || team().rules().infiniteResources || request.breaking || core == null) return false;
|
if(state.rules.infiniteResources || team.rules().infiniteResources || request.breaking || core == null) return false;
|
||||||
return (request.stuck && !core.items.has(request.block.requirements)) || (Structs.contains(request.block.requirements, i -> !core.items.has(i.item) && Mathf.round(i.amount * state.rules.buildCostMultiplier) > 0) && !request.initialized);
|
return (request.stuck && !core.items.has(request.block.requirements)) || (Structs.contains(request.block.requirements, i -> !core.items.has(i.item) && Mathf.round(i.amount * state.rules.buildCostMultiplier) > 0) && !request.initialized);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -222,7 +224,7 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
float tx = plan.drawx(), ty = plan.drawy();
|
float tx = plan.drawx(), ty = plan.drawy();
|
||||||
|
|
||||||
Lines.stroke(1f, Pal.accent);
|
Lines.stroke(1f, Pal.accent);
|
||||||
float focusLen = 3.8f + Mathf.absin(Time.time(), 1.1f, 0.6f);
|
float focusLen = 3.8f + Mathf.absin(Time.time, 1.1f, 0.6f);
|
||||||
float px = x + Angles.trnsx(rotation, focusLen);
|
float px = x + Angles.trnsx(rotation, focusLen);
|
||||||
float py = y + Angles.trnsy(rotation, focusLen);
|
float py = y + Angles.trnsy(rotation, focusLen);
|
||||||
|
|
||||||
@@ -244,7 +246,7 @@ abstract class BuilderComp implements Posc, Teamc, Rotc{
|
|||||||
Lines.line(px, py, x1, y1);
|
Lines.line(px, py, x1, y1);
|
||||||
Lines.line(px, py, x3, y3);
|
Lines.line(px, py, x3, y3);
|
||||||
|
|
||||||
Fill.circle(px, py, 1.6f + Mathf.absin(Time.time(), 0.8f, 1.5f));
|
Fill.circle(px, py, 1.6f + Mathf.absin(Time.time, 0.8f, 1.5f));
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import arc.scene.ui.layout.*;
|
|||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import arc.util.io.*;
|
import arc.util.io.*;
|
||||||
|
import mindustry.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.audio.*;
|
import mindustry.audio.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
@@ -29,8 +30,8 @@ import mindustry.logic.*;
|
|||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
|
||||||
import mindustry.world.blocks.ConstructBlock.*;
|
import mindustry.world.blocks.ConstructBlock.*;
|
||||||
|
import mindustry.world.blocks.*;
|
||||||
import mindustry.world.blocks.environment.*;
|
import mindustry.world.blocks.environment.*;
|
||||||
import mindustry.world.blocks.payloads.*;
|
import mindustry.world.blocks.payloads.*;
|
||||||
import mindustry.world.blocks.power.*;
|
import mindustry.world.blocks.power.*;
|
||||||
@@ -435,7 +436,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** Handle a stack input. */
|
/** Handle a stack input. */
|
||||||
public void handleStack(Item item, int amount, Teamc source){
|
public void handleStack(Item item, int amount, @Nullable Teamc source){
|
||||||
noSleep();
|
noSleep();
|
||||||
items.add(item, amount);
|
items.add(item, amount);
|
||||||
}
|
}
|
||||||
@@ -519,6 +520,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
public void dumpLiquid(Liquid liquid){
|
public void dumpLiquid(Liquid liquid){
|
||||||
int dump = this.cdump;
|
int dump = this.cdump;
|
||||||
|
|
||||||
|
if(liquids.get(liquid) <= 0.0001f) return;
|
||||||
|
|
||||||
if(!net.client() && state.isCampaign() && team == state.rules.defaultTeam) liquid.unlock();
|
if(!net.client() && state.isCampaign() && team == state.rules.defaultTeam) liquid.unlock();
|
||||||
|
|
||||||
for(int i = 0; i < proximity.size; i++){
|
for(int i = 0; i < proximity.size; i++){
|
||||||
@@ -619,6 +622,7 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
* containers, it gets added to the block's inventory.
|
* containers, it gets added to the block's inventory.
|
||||||
*/
|
*/
|
||||||
public void offload(Item item){
|
public void offload(Item item){
|
||||||
|
produced(item, 1);
|
||||||
int dump = this.cdump;
|
int dump = this.cdump;
|
||||||
if(!net.client() && state.isCampaign() && team == state.rules.defaultTeam) item.unlock();
|
if(!net.client() && state.isCampaign() && team == state.rules.defaultTeam) item.unlock();
|
||||||
|
|
||||||
@@ -652,6 +656,14 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void produced(Item item){
|
||||||
|
produced(item, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void produced(Item item, int amount){
|
||||||
|
if(Vars.state.rules.sector != null && team == state.rules.defaultTeam) Vars.state.rules.sector.info.handleProduction(item, amount);
|
||||||
|
}
|
||||||
|
|
||||||
/** Try dumping any item near the */
|
/** Try dumping any item near the */
|
||||||
public boolean dump(){
|
public boolean dump(){
|
||||||
return dump(null);
|
return dump(null);
|
||||||
@@ -917,6 +929,8 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
//null is of type void.class; anonymous classes use their superclass.
|
//null is of type void.class; anonymous classes use their superclass.
|
||||||
Class<?> type = value == null ? void.class : value.getClass().isAnonymousClass() || value.getClass().getSimpleName().startsWith("adapter") ? value.getClass().getSuperclass() : value.getClass();
|
Class<?> type = value == null ? void.class : value.getClass().isAnonymousClass() || value.getClass().getSimpleName().startsWith("adapter") ? value.getClass().getSuperclass() : value.getClass();
|
||||||
|
|
||||||
|
if(value instanceof Block) type = Block.class;
|
||||||
|
|
||||||
if(builder != null && builder.isPlayer()){
|
if(builder != null && builder.isPlayer()){
|
||||||
lastAccessed = builder.getPlayer().name;
|
lastAccessed = builder.getPlayer().name;
|
||||||
}
|
}
|
||||||
@@ -970,34 +984,13 @@ abstract class BuildingComp implements Posc, Teamc, Healthc, Buildingc, Timerc,
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, Pal.darkFlame, state.rules.damageExplosions);
|
Damage.dynamicExplosion(x, y, flammability, explosiveness * 3.5f, power, tilesize * block.size / 2f, state.rules.damageExplosions);
|
||||||
|
|
||||||
if(!floor().solid && !floor().isLiquid){
|
if(!floor().solid && !floor().isLiquid){
|
||||||
Effect.rubble(x, y, block.size);
|
Effect.rubble(x, y, block.size);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the flammability of the Used for fire calculations.
|
|
||||||
* Takes flammability of floor liquid into account.
|
|
||||||
*/
|
|
||||||
public float getFlammability(){
|
|
||||||
if(!block.hasItems){
|
|
||||||
if(floor().isLiquid && !block.solid){
|
|
||||||
return floor().liquidDrop.flammability;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}else{
|
|
||||||
float result = items.sum((item, amount) -> item.flammability * amount);
|
|
||||||
|
|
||||||
if(block.hasLiquids){
|
|
||||||
result += liquids.sum((liquid, amount) -> liquid.flammability * amount / 3f);
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDisplayName(){
|
public String getDisplayName(){
|
||||||
return block.localizedName;
|
return block.localizedName;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ abstract class FireComp implements Timedc, Posc, Firec, Syncc{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(){
|
public void update(){
|
||||||
if(Mathf.chance(0.1 * Time.delta)){
|
if(Mathf.chance(0.09 * Time.delta)){
|
||||||
Fx.fire.at(x + Mathf.range(4f), y + Mathf.range(4f));
|
Fx.fire.at(x + Mathf.range(4f), y + Mathf.range(4f));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,7 +59,7 @@ abstract class FireComp implements Timedc, Posc, Firec, Syncc{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(baseFlammability < 0 || block != tile.block()){
|
if(baseFlammability < 0 || block != tile.block()){
|
||||||
baseFlammability = tile.build == null ? 0 : tile.build.getFlammability();
|
baseFlammability = tile.build == null ? 0 : tile.getFlammability();
|
||||||
block = tile.block();
|
block = tile.block();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,12 +77,12 @@ abstract class FireComp implements Timedc, Posc, Firec, Syncc{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(Mathf.chance(0.1 * Time.delta)){
|
if(Mathf.chance(0.025 * Time.delta)){
|
||||||
Puddlec p = Puddles.get(tile);
|
Puddlec p = Puddles.get(tile);
|
||||||
puddleFlammability = p != null ? p.getFlammability() / 3f : 0;
|
puddleFlammability = p != null ? p.getFlammability() / 3f : 0;
|
||||||
|
|
||||||
if(damage){
|
if(damage){
|
||||||
entity.damage(0.4f);
|
entity.damage(1.6f);
|
||||||
}
|
}
|
||||||
Damage.damageUnits(null, tile.worldx(), tile.worldy(), tilesize, 3f,
|
Damage.damageUnits(null, tile.worldx(), tile.worldy(), tilesize, 3f,
|
||||||
unit -> !unit.isFlying() && !unit.isImmune(StatusEffects.burning),
|
unit -> !unit.isFlying() && !unit.isImmune(StatusEffects.burning),
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ abstract class FlyingComp implements Posc, Velc, Healthc, Hitboxc{
|
|||||||
}
|
}
|
||||||
|
|
||||||
void wobble(){
|
void wobble(){
|
||||||
x += Mathf.sin(Time.time() + id() * 99, 25f, 0.05f) * Time.delta * elevation;
|
x += Mathf.sin(Time.time + (id() % 10) * 12, 25f, 0.05f) * Time.delta * elevation;
|
||||||
y += Mathf.cos(Time.time() + id() * 99, 25f, 0.05f) * Time.delta * elevation;
|
y += Mathf.cos(Time.time + (id() % 10) * 12, 25f, 0.05f) * Time.delta * elevation;
|
||||||
}
|
}
|
||||||
|
|
||||||
void moveAt(Vec2 vector, float acceleration){
|
void moveAt(Vec2 vector, float acceleration){
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ abstract class MinerComp implements Itemsc, Posc, Teamc, Rotc, Drawc{
|
|||||||
if(core != null && mineTile != null && mineTile.drop() != null && !acceptsItem(mineTile.drop()) && within(core, mineTransferRange) && !offloadImmediately()){
|
if(core != null && mineTile != null && mineTile.drop() != null && !acceptsItem(mineTile.drop()) && within(core, mineTransferRange) && !offloadImmediately()){
|
||||||
int accepted = core.acceptStack(item(), stack().amount, this);
|
int accepted = core.acceptStack(item(), stack().amount, this);
|
||||||
if(accepted > 0){
|
if(accepted > 0){
|
||||||
Call.transferItemTo(item(), accepted,
|
Call.transferItemTo(self(), item(), accepted,
|
||||||
mineTile.worldx() + Mathf.range(tilesize / 2f),
|
mineTile.worldx() + Mathf.range(tilesize / 2f),
|
||||||
mineTile.worldy() + Mathf.range(tilesize / 2f), core);
|
mineTile.worldy() + Mathf.range(tilesize / 2f), core);
|
||||||
clearItem();
|
clearItem();
|
||||||
@@ -76,8 +76,12 @@ abstract class MinerComp implements Itemsc, Posc, Teamc, Rotc, Drawc{
|
|||||||
if(mineTimer >= 50f + item.hardness*15f){
|
if(mineTimer >= 50f + item.hardness*15f){
|
||||||
mineTimer = 0;
|
mineTimer = 0;
|
||||||
|
|
||||||
|
if(state.rules.sector != null && team() == state.rules.defaultTeam) state.rules.sector.info.handleProduction(item, 1);
|
||||||
|
|
||||||
if(core != null && within(core, mineTransferRange) && core.acceptStack(item, 1, this) == 1 && offloadImmediately()){
|
if(core != null && within(core, mineTransferRange) && core.acceptStack(item, 1, this) == 1 && offloadImmediately()){
|
||||||
Call.transferItemTo(item, 1,
|
//add item to inventory before it is transferred
|
||||||
|
if(item() == item) addItem(item);
|
||||||
|
Call.transferItemTo(self(), item, 1,
|
||||||
mineTile.worldx() + Mathf.range(tilesize / 2f),
|
mineTile.worldx() + Mathf.range(tilesize / 2f),
|
||||||
mineTile.worldy() + Mathf.range(tilesize / 2f), core);
|
mineTile.worldy() + Mathf.range(tilesize / 2f), core);
|
||||||
}else if(acceptsItem(item)){
|
}else if(acceptsItem(item)){
|
||||||
@@ -101,25 +105,25 @@ abstract class MinerComp implements Itemsc, Posc, Teamc, Rotc, Drawc{
|
|||||||
@Override
|
@Override
|
||||||
public void draw(){
|
public void draw(){
|
||||||
if(!mining()) return;
|
if(!mining()) return;
|
||||||
float focusLen = hitSize / 2f + Mathf.absin(Time.time(), 1.1f, 0.5f);
|
float focusLen = hitSize / 2f + Mathf.absin(Time.time, 1.1f, 0.5f);
|
||||||
float swingScl = 12f, swingMag = tilesize / 8f;
|
float swingScl = 12f, swingMag = tilesize / 8f;
|
||||||
float flashScl = 0.3f;
|
float flashScl = 0.3f;
|
||||||
|
|
||||||
float px = x + Angles.trnsx(rotation, focusLen);
|
float px = x + Angles.trnsx(rotation, focusLen);
|
||||||
float py = y + Angles.trnsy(rotation, focusLen);
|
float py = y + Angles.trnsy(rotation, focusLen);
|
||||||
|
|
||||||
float ex = mineTile.worldx() + Mathf.sin(Time.time() + 48, swingScl, swingMag);
|
float ex = mineTile.worldx() + Mathf.sin(Time.time + 48, swingScl, swingMag);
|
||||||
float ey = mineTile.worldy() + Mathf.sin(Time.time() + 48, swingScl + 2f, swingMag);
|
float ey = mineTile.worldy() + Mathf.sin(Time.time + 48, swingScl + 2f, swingMag);
|
||||||
|
|
||||||
Draw.z(Layer.flyingUnit + 0.1f);
|
Draw.z(Layer.flyingUnit + 0.1f);
|
||||||
|
|
||||||
Draw.color(Color.lightGray, Color.white, 1f - flashScl + Mathf.absin(Time.time(), 0.5f, flashScl));
|
Draw.color(Color.lightGray, Color.white, 1f - flashScl + Mathf.absin(Time.time, 0.5f, flashScl));
|
||||||
|
|
||||||
Drawf.laser(team(), Core.atlas.find("minelaser"), Core.atlas.find("minelaser-end"), px, py, ex, ey, 0.75f);
|
Drawf.laser(team(), Core.atlas.find("minelaser"), Core.atlas.find("minelaser-end"), px, py, ex, ey, 0.75f);
|
||||||
|
|
||||||
if(isLocal()){
|
if(isLocal()){
|
||||||
Lines.stroke(1f, Pal.accent);
|
Lines.stroke(1f, Pal.accent);
|
||||||
Lines.poly(mineTile.worldx(), mineTile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Time.time());
|
Lines.poly(mineTile.worldx(), mineTile.worldy(), 4, tilesize / 2f * Mathf.sqrt2, Time.time);
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.color();
|
Draw.color();
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ abstract class PlayerComp implements UnitController, Entityc, Syncc, Timerc, Dra
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(Core.settings.getBool("playerchat") && ((textFadeTime > 0 && lastText != null) || typing)){
|
if(Core.settings.getBool("playerchat") && ((textFadeTime > 0 && lastText != null) || typing)){
|
||||||
String text = textFadeTime <= 0 || lastText == null ? "[lightgray]" + Strings.animated(Time.time(), 4, 15f, ".") : lastText;
|
String text = textFadeTime <= 0 || lastText == null ? "[lightgray]" + Strings.animated(Time.time, 4, 15f, ".") : lastText;
|
||||||
float width = 100f;
|
float width = 100f;
|
||||||
float visualFadeTime = 1f - Mathf.curve(1f - textFadeTime, 0.9f);
|
float visualFadeTime = 1f - Mathf.curve(1f - textFadeTime, 0.9f);
|
||||||
font.setColor(1f, 1f, 1f, textFadeTime <= 0 || lastText == null ? 1f : visualFadeTime);
|
font.setColor(1f, 1f, 1f, textFadeTime <= 0 || lastText == null ? 1f : visualFadeTime);
|
||||||
|
|||||||
@@ -101,10 +101,10 @@ abstract class PuddleComp implements Posc, Puddlec, Drawc{
|
|||||||
float sscl = 25f;
|
float sscl = 25f;
|
||||||
|
|
||||||
Draw.color(tmp.set(liquid.color).shiftValue(-0.05f));
|
Draw.color(tmp.set(liquid.color).shiftValue(-0.05f));
|
||||||
Fill.circle(x + Mathf.sin(Time.time() + seeds * 532, sscl, smag), y + Mathf.sin(Time.time() + seeds * 53, sscl, smag), f * 8f);
|
Fill.circle(x + Mathf.sin(Time.time + seeds * 532, sscl, smag), y + Mathf.sin(Time.time + seeds * 53, sscl, smag), f * 8f);
|
||||||
Angles.randLenVectors(id(), 3, f * 6f, (ex, ey) -> {
|
Angles.randLenVectors(id(), 3, f * 6f, (ex, ey) -> {
|
||||||
Fill.circle(x + ex + Mathf.sin(Time.time() + seeds * 532, sscl, smag),
|
Fill.circle(x + ex + Mathf.sin(Time.time + seeds * 532, sscl, smag),
|
||||||
y + ey + Mathf.sin(Time.time() + seeds * 53, sscl, smag), f * 5f);
|
y + ey + Mathf.sin(Time.time + seeds * 53, sscl, smag), f * 5f);
|
||||||
seeds++;
|
seeds++;
|
||||||
});
|
});
|
||||||
Draw.color();
|
Draw.color();
|
||||||
|
|||||||
@@ -90,8 +90,8 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
public float prefRotation(){
|
public float prefRotation(){
|
||||||
if(activelyBuilding()){
|
if(activelyBuilding()){
|
||||||
return angleTo(buildPlan());
|
return angleTo(buildPlan());
|
||||||
}else if(mineTile() != null){
|
}else if(mineTile != null){
|
||||||
return angleTo(mineTile());
|
return angleTo(mineTile);
|
||||||
}else if(moving()){
|
}else if(moving()){
|
||||||
return vel().angle();
|
return vel().angle();
|
||||||
}
|
}
|
||||||
@@ -310,7 +310,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
drag = type.drag * (isGrounded() ? (floorOn().dragMultiplier) : 1f);
|
drag = type.drag * (isGrounded() ? (floorOn().dragMultiplier) : 1f);
|
||||||
|
|
||||||
//apply knockback based on spawns
|
//apply knockback based on spawns
|
||||||
if(team != state.rules.waveTeam && state.hasSpawns()){
|
if(team != state.rules.waveTeam && state.hasSpawns() && (!net.client() || isLocal())){
|
||||||
float relativeSize = state.rules.dropZoneRadius + hitSize/2f + 1f;
|
float relativeSize = state.rules.dropZoneRadius + hitSize/2f + 1f;
|
||||||
for(Tile spawn : spawner.getSpawns()){
|
for(Tile spawn : spawner.getSpawns()){
|
||||||
if(within(spawn.worldx(), spawn.worldy(), relativeSize)){
|
if(within(spawn.worldx(), spawn.worldy(), relativeSize)){
|
||||||
@@ -397,9 +397,12 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
|
|
||||||
/** Actually destroys the unit, removing it and creating explosions. **/
|
/** Actually destroys the unit, removing it and creating explosions. **/
|
||||||
public void destroy(){
|
public void destroy(){
|
||||||
float explosiveness = 2f + item().explosiveness * stack().amount / 2f;
|
float explosiveness = 2f + item().explosiveness * stack().amount * 1.53f;
|
||||||
float flammability = item().flammability * stack().amount / 2f;
|
float flammability = item().flammability * stack().amount / 1.9f;
|
||||||
Damage.dynamicExplosion(x, y, flammability, explosiveness, 0f, bounds() / 2f, Pal.darkFlame, state.rules.damageExplosions);
|
|
||||||
|
if(!spawnedByCore){
|
||||||
|
Damage.dynamicExplosion(x, y, flammability, explosiveness, 0f, bounds() / 2f, state.rules.damageExplosions, item().flammability > 1, team);
|
||||||
|
}
|
||||||
|
|
||||||
float shake = hitSize / 3f;
|
float shake = hitSize / 3f;
|
||||||
|
|
||||||
@@ -415,7 +418,7 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if this unit crash landed (was flying), damage stuff in a radius
|
//if this unit crash landed (was flying), damage stuff in a radius
|
||||||
if(type.flying){
|
if(type.flying && !spawnedByCore){
|
||||||
Damage.damage(team,x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f, true, false, true);
|
Damage.damage(team,x, y, Mathf.pow(hitSize, 0.94f) * 1.25f, Mathf.pow(hitSize, 0.75f) * type.crashDamageMultiplier * 5f, true, false, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -91,6 +91,10 @@ abstract class WeaponsComp implements Teamc, Posc, Rotc, Velc, Statusc{
|
|||||||
mount.bullet.time = mount.bullet.lifetime - 10f;
|
mount.bullet.time = mount.bullet.lifetime - 10f;
|
||||||
mount.bullet = null;
|
mount.bullet = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(mount.sound != null){
|
||||||
|
mount.sound.stop();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ public class EventType{
|
|||||||
impactPower,
|
impactPower,
|
||||||
thoriumReactorOverheat,
|
thoriumReactorOverheat,
|
||||||
fireExtinguish,
|
fireExtinguish,
|
||||||
|
acceleratorUse,
|
||||||
newGame,
|
newGame,
|
||||||
tutorialComplete,
|
tutorialComplete,
|
||||||
flameAmmo,
|
flameAmmo,
|
||||||
@@ -277,11 +278,13 @@ public class EventType{
|
|||||||
public static class BlockBuildBeginEvent{
|
public static class BlockBuildBeginEvent{
|
||||||
public final Tile tile;
|
public final Tile tile;
|
||||||
public final Team team;
|
public final Team team;
|
||||||
|
public final @Nullable Unit unit;
|
||||||
public final boolean breaking;
|
public final boolean breaking;
|
||||||
|
|
||||||
public BlockBuildBeginEvent(Tile tile, Team team, boolean breaking){
|
public BlockBuildBeginEvent(Tile tile, Team team, Unit unit, boolean breaking){
|
||||||
this.tile = tile;
|
this.tile = tile;
|
||||||
this.team = team;
|
this.team = team;
|
||||||
|
this.unit = unit;
|
||||||
this.breaking = breaking;
|
this.breaking = breaking;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -309,10 +312,10 @@ public class EventType{
|
|||||||
public static class BuildSelectEvent{
|
public static class BuildSelectEvent{
|
||||||
public final Tile tile;
|
public final Tile tile;
|
||||||
public final Team team;
|
public final Team team;
|
||||||
public final Builderc builder;
|
public final Unit builder;
|
||||||
public final boolean breaking;
|
public final boolean breaking;
|
||||||
|
|
||||||
public BuildSelectEvent(Tile tile, Team team, Builderc builder, boolean breaking){
|
public BuildSelectEvent(Tile tile, Team team, Unit builder, boolean breaking){
|
||||||
this.tile = tile;
|
this.tile = tile;
|
||||||
this.team = team;
|
this.team = team;
|
||||||
this.builder = builder;
|
this.builder = builder;
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class Objectives{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean complete(){
|
public boolean complete(){
|
||||||
return preset.sector.save != null && !preset.sector.isAttacked() && preset.sector.hasBase();
|
return preset.sector.save != null && (!preset.sector.isAttacked() || preset.sector.info.wasCaptured) && preset.sector.hasBase();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -127,6 +127,9 @@ public class Schematics implements Loadable{
|
|||||||
newSchematic.tags.putAll(target.tags);
|
newSchematic.tags.putAll(target.tags);
|
||||||
newSchematic.file = target.file;
|
newSchematic.file = target.file;
|
||||||
|
|
||||||
|
loadouts.each((block, list) -> list.remove(target));
|
||||||
|
checkLoadout(target, true);
|
||||||
|
|
||||||
try{
|
try{
|
||||||
write(newSchematic, target.file);
|
write(newSchematic, target.file);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
@@ -134,6 +137,8 @@ public class Schematics implements Loadable{
|
|||||||
Log.err(e);
|
Log.err(e);
|
||||||
ui.showException(e);
|
ui.showException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private @Nullable Schematic loadFile(Fi file){
|
private @Nullable Schematic loadFile(Fi file){
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ public class SectorInfo{
|
|||||||
|
|
||||||
/** Core input statistics. */
|
/** Core input statistics. */
|
||||||
public ObjectMap<Item, ExportStat> production = new ObjectMap<>();
|
public ObjectMap<Item, ExportStat> production = new ObjectMap<>();
|
||||||
|
/** Raw item production statistics. */
|
||||||
|
public ObjectMap<Item, ExportStat> rawProduction = new ObjectMap<>();
|
||||||
/** Export statistics. */
|
/** Export statistics. */
|
||||||
public ObjectMap<Item, ExportStat> export = new ObjectMap<>();
|
public ObjectMap<Item, ExportStat> export = new ObjectMap<>();
|
||||||
/** Items stored in all cores. */
|
/** Items stored in all cores. */
|
||||||
@@ -33,6 +35,8 @@ public class SectorInfo{
|
|||||||
public int storageCapacity = 0;
|
public int storageCapacity = 0;
|
||||||
/** Whether a core is available here. */
|
/** Whether a core is available here. */
|
||||||
public boolean hasCore = true;
|
public boolean hasCore = true;
|
||||||
|
/** Whether this sector was ever fully captured. */
|
||||||
|
public boolean wasCaptured = false;
|
||||||
/** Sector that was launched from. */
|
/** Sector that was launched from. */
|
||||||
public @Nullable Sector origin;
|
public @Nullable Sector origin;
|
||||||
/** Launch destination. */
|
/** Launch destination. */
|
||||||
@@ -69,19 +73,27 @@ public class SectorInfo{
|
|||||||
public boolean shown = false;
|
public boolean shown = false;
|
||||||
|
|
||||||
/** Special variables for simulation. */
|
/** Special variables for simulation. */
|
||||||
public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope;
|
public float sumHealth, sumRps, sumDps, waveHealthBase, waveHealthSlope, waveDpsBase, waveDpsSlope, bossHealth, bossDps;
|
||||||
|
/** Wave where first boss shows up. */
|
||||||
|
public int bossWave = -1;
|
||||||
|
|
||||||
/** Counter refresh state. */
|
/** Counter refresh state. */
|
||||||
private transient Interval time = new Interval();
|
private transient Interval time = new Interval();
|
||||||
/** Core item storage to prevent spoofing. */
|
/** Core item storage input/output deltas. */
|
||||||
private transient int[] coreItemCounts;
|
private @Nullable transient int[] coreDeltas;
|
||||||
|
/** Core item storage input/output deltas. */
|
||||||
|
private @Nullable transient int[] productionDeltas;
|
||||||
|
|
||||||
/** Handles core item changes. */
|
/** Handles core item changes. */
|
||||||
public void handleCoreItem(Item item, int amount){
|
public void handleCoreItem(Item item, int amount){
|
||||||
if(coreItemCounts == null){
|
if(coreDeltas == null) coreDeltas = new int[content.items().size];
|
||||||
coreItemCounts = new int[content.items().size];
|
coreDeltas[item.id] += amount;
|
||||||
}
|
}
|
||||||
coreItemCounts[item.id] += amount;
|
|
||||||
|
/** Handles raw production stats. */
|
||||||
|
public void handleProduction(Item item, int amount){
|
||||||
|
if(productionDeltas == null) productionDeltas = new int[content.items().size];
|
||||||
|
productionDeltas[item.id] += amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return the real location items go when launched on this sector */
|
/** @return the real location items go when launched on this sector */
|
||||||
@@ -172,6 +184,11 @@ public class SectorInfo{
|
|||||||
damage = 0;
|
damage = 0;
|
||||||
hasSpawns = spawner.countSpawns() > 0;
|
hasSpawns = spawner.countSpawns() > 0;
|
||||||
|
|
||||||
|
//cap production at raw production.
|
||||||
|
production.each((item, stat) -> {
|
||||||
|
stat.mean = Math.min(stat.mean, rawProduction.get(item, ExportStat::new).mean);
|
||||||
|
});
|
||||||
|
|
||||||
if(state.rules.sector != null){
|
if(state.rules.sector != null){
|
||||||
state.rules.sector.saveInfo();
|
state.rules.sector.saveInfo();
|
||||||
}
|
}
|
||||||
@@ -185,8 +202,6 @@ public class SectorInfo{
|
|||||||
//updating in multiplayer as a client doesn't make sense
|
//updating in multiplayer as a client doesn't make sense
|
||||||
if(net.client()) return;
|
if(net.client()) return;
|
||||||
|
|
||||||
CoreBuild ent = state.rules.defaultTeam.core();
|
|
||||||
|
|
||||||
//refresh throughput
|
//refresh throughput
|
||||||
if(time.get(refreshPeriod)){
|
if(time.get(refreshPeriod)){
|
||||||
|
|
||||||
@@ -204,30 +219,38 @@ public class SectorInfo{
|
|||||||
stat.mean = stat.means.rawMean();
|
stat.mean = stat.means.rawMean();
|
||||||
});
|
});
|
||||||
|
|
||||||
if(coreItemCounts == null){
|
if(coreDeltas == null) coreDeltas = new int[content.items().size];
|
||||||
coreItemCounts = new int[content.items().size];
|
if(productionDeltas == null) productionDeltas = new int[content.items().size];
|
||||||
}
|
|
||||||
|
|
||||||
//refresh core items
|
//refresh core items
|
||||||
for(Item item : content.items()){
|
for(Item item : content.items()){
|
||||||
ExportStat stat = production.get(item, ExportStat::new);
|
updateDelta(item, production, coreDeltas);
|
||||||
if(!stat.loaded){
|
updateDelta(item, rawProduction, productionDeltas);
|
||||||
stat.means.fill(stat.mean);
|
|
||||||
stat.loaded = true;
|
//cap production/export by production
|
||||||
|
production.get(item).mean = Math.min(production.get(item).mean, rawProduction.get(item).mean);
|
||||||
|
if(export.containsKey(item)){
|
||||||
|
export.get(item).mean = Math.min(export.get(item).mean, rawProduction.get(item).mean);
|
||||||
}
|
}
|
||||||
|
|
||||||
//get item delta
|
|
||||||
int delta = coreItemCounts[item.id];
|
|
||||||
|
|
||||||
//store means
|
|
||||||
stat.means.add(delta);
|
|
||||||
stat.mean = stat.means.rawMean();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Arrays.fill(coreItemCounts, 0);
|
Arrays.fill(coreDeltas, 0);
|
||||||
|
Arrays.fill(productionDeltas, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void updateDelta(Item item, ObjectMap<Item, ExportStat> map, int[] deltas){
|
||||||
|
ExportStat stat = map.get(item, ExportStat::new);
|
||||||
|
if(!stat.loaded){
|
||||||
|
stat.means.fill(stat.mean);
|
||||||
|
stat.loaded = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//store means
|
||||||
|
stat.means.add(deltas[item.id]);
|
||||||
|
stat.mean = stat.means.rawMean();
|
||||||
|
}
|
||||||
|
|
||||||
public ObjectFloatMap<Item> exportRates(){
|
public ObjectFloatMap<Item> exportRates(){
|
||||||
ObjectFloatMap<Item> map = new ObjectFloatMap<>();
|
ObjectFloatMap<Item> map = new ObjectFloatMap<>();
|
||||||
export.each((item, value) -> map.put(item, value.mean));
|
export.each((item, value) -> map.put(item, value.mean));
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ public class Teams{
|
|||||||
public Seq<TeamData> active = new Seq<>();
|
public Seq<TeamData> active = new Seq<>();
|
||||||
/** Teams with block or unit presence. */
|
/** Teams with block or unit presence. */
|
||||||
public Seq<TeamData> present = new Seq<>(TeamData.class);
|
public Seq<TeamData> present = new Seq<>(TeamData.class);
|
||||||
|
/** Current boss unit. */
|
||||||
|
public @Nullable Unit boss;
|
||||||
|
|
||||||
public Teams(){
|
public Teams(){
|
||||||
active.add(get(Team.crux));
|
active.add(get(Team.crux));
|
||||||
@@ -144,6 +146,7 @@ public class Teams{
|
|||||||
|
|
||||||
public void updateTeamStats(){
|
public void updateTeamStats(){
|
||||||
present.clear();
|
present.clear();
|
||||||
|
boss = null;
|
||||||
|
|
||||||
for(Team team : Team.all){
|
for(Team team : Team.all){
|
||||||
TeamData data = team.data();
|
TeamData data = team.data();
|
||||||
@@ -178,6 +181,10 @@ public class Teams{
|
|||||||
data.units.add(unit);
|
data.units.add(unit);
|
||||||
data.presentFlag = true;
|
data.presentFlag = true;
|
||||||
|
|
||||||
|
if(unit.team == state.rules.waveTeam && unit.isBoss()){
|
||||||
|
boss = unit;
|
||||||
|
}
|
||||||
|
|
||||||
if(data.unitsByType == null || data.unitsByType.length <= unit.type.id){
|
if(data.unitsByType == null || data.unitsByType.length <= unit.type.id){
|
||||||
data.unitsByType = new Seq[content.units().size];
|
data.unitsByType = new Seq[content.units().size];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import arc.struct.*;
|
|||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
import mindustry.content.*;
|
import mindustry.content.*;
|
||||||
import mindustry.game.EventType.*;
|
import mindustry.game.EventType.*;
|
||||||
import mindustry.io.legacy.*;
|
import mindustry.game.SectorInfo.*;
|
||||||
import mindustry.maps.*;
|
import mindustry.maps.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.world.blocks.storage.*;
|
import mindustry.world.blocks.storage.*;
|
||||||
@@ -27,13 +27,6 @@ public class Universe{
|
|||||||
public Universe(){
|
public Universe(){
|
||||||
load();
|
load();
|
||||||
|
|
||||||
//load legacy research
|
|
||||||
Events.on(ClientLoadEvent.class, e -> {
|
|
||||||
if(Core.settings.has("unlocks")){
|
|
||||||
LegacyIO.readResearch();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//update base coverage on capture
|
//update base coverage on capture
|
||||||
Events.on(SectorCaptureEvent.class, e -> {
|
Events.on(SectorCaptureEvent.class, e -> {
|
||||||
if(!net.client() && state.isCampaign()){
|
if(!net.client() && state.isCampaign()){
|
||||||
@@ -188,6 +181,7 @@ public class Universe{
|
|||||||
}else if(attacked && wavesPassed > 0 && sector.info.winWave > 1 && sector.info.wave + wavesPassed >= sector.info.winWave && !sector.hasEnemyBase()){
|
}else if(attacked && wavesPassed > 0 && sector.info.winWave > 1 && sector.info.wave + wavesPassed >= sector.info.winWave && !sector.hasEnemyBase()){
|
||||||
//autocapture the sector
|
//autocapture the sector
|
||||||
sector.info.waves = false;
|
sector.info.waves = false;
|
||||||
|
sector.info.wasCaptured = true;
|
||||||
|
|
||||||
//fire the event
|
//fire the event
|
||||||
Events.fire(new SectorCaptureEvent(sector));
|
Events.fire(new SectorCaptureEvent(sector));
|
||||||
@@ -206,8 +200,17 @@ public class Universe{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sector.info.export.each((item, amount) -> {
|
||||||
|
if(sector.info.items.get(item) <= 0 && sector.info.production.get(item, ExportStat::new).mean < 0){
|
||||||
|
//disable export when production is negative.
|
||||||
|
sector.info.export.get(item).mean = 0f;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
//add production, making sure that it's capped
|
//add production, making sure that it's capped
|
||||||
sector.info.production.each((item, stat) -> sector.info.items.add(item, Math.min((int)(stat.mean * newSecondsPassed * scl), sector.info.storageCapacity - sector.info.items.get(item))));
|
sector.info.production.each((item, stat) -> sector.info.items.add(item, Math.min((int)(stat.mean * newSecondsPassed * scl), sector.info.storageCapacity - sector.info.items.get(item))));
|
||||||
|
//prevent negative values with unloaders
|
||||||
|
sector.info.items.checkNegative();
|
||||||
|
|
||||||
sector.saveInfo();
|
sector.saveInfo();
|
||||||
}
|
}
|
||||||
@@ -216,15 +219,17 @@ public class Universe{
|
|||||||
if(!sector.isAttacked() && turn > invasionGracePeriod && sector.info.hasSpawns){
|
if(!sector.isAttacked() && turn > invasionGracePeriod && sector.info.hasSpawns){
|
||||||
//invasion chance depends on # of nearby bases
|
//invasion chance depends on # of nearby bases
|
||||||
if(Mathf.chance(baseInvasionChance * Math.min(sector.near().count(Sector::hasEnemyBase), 1))){
|
if(Mathf.chance(baseInvasionChance * Math.min(sector.near().count(Sector::hasEnemyBase), 1))){
|
||||||
int waveMax = Math.max(sector.info.winWave, sector.isBeingPlayed() ? state.wave : sector.info.wave + sector.info.wavesPassed) + Mathf.random(2, 5) * 5;
|
int waveMax = Math.max(sector.info.winWave, sector.isBeingPlayed() ? state.wave : sector.info.wave + sector.info.wavesPassed) + Mathf.random(2, 4) * 5;
|
||||||
|
|
||||||
//assign invasion-related things
|
//assign invasion-related things
|
||||||
if(sector.isBeingPlayed()){
|
if(sector.isBeingPlayed()){
|
||||||
state.rules.winWave = waveMax;
|
state.rules.winWave = waveMax;
|
||||||
state.rules.waves = true;
|
state.rules.waves = true;
|
||||||
|
state.rules.attackMode = false;
|
||||||
}else{
|
}else{
|
||||||
sector.info.winWave = waveMax;
|
sector.info.winWave = waveMax;
|
||||||
sector.info.waves = true;
|
sector.info.waves = true;
|
||||||
|
sector.info.attack = false;
|
||||||
sector.saveInfo();
|
sector.saveInfo();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import mindustry.type.*;
|
|||||||
import static mindustry.content.UnitTypes.*;
|
import static mindustry.content.UnitTypes.*;
|
||||||
|
|
||||||
public class Waves{
|
public class Waves{
|
||||||
public static final int waveVersion = 3;
|
public static final int waveVersion = 4;
|
||||||
|
|
||||||
private Seq<SpawnGroup> spawns;
|
private Seq<SpawnGroup> spawns;
|
||||||
|
|
||||||
@@ -277,7 +277,7 @@ public class Waves{
|
|||||||
int cap = 150;
|
int cap = 150;
|
||||||
|
|
||||||
float shieldStart = 30, shieldsPerWave = 20 + difficulty*30f;
|
float shieldStart = 30, shieldsPerWave = 20 + difficulty*30f;
|
||||||
float[] scaling = {1, 1.2f, 1.5f, 3f, 4f};
|
float[] scaling = {1, 1.5f, 3f, 4f, 5f};
|
||||||
|
|
||||||
Intc createProgression = start -> {
|
Intc createProgression = start -> {
|
||||||
//main sequence
|
//main sequence
|
||||||
@@ -286,7 +286,7 @@ public class Waves{
|
|||||||
|
|
||||||
for(int i = start; i < cap;){
|
for(int i = start; i < cap;){
|
||||||
int f = i;
|
int f = i;
|
||||||
int next = rand.random(8, 16) + (int)Mathf.lerp(4f, 0f, difficulty) + curTier * 4;
|
int next = rand.random(8, 16) + (int)Mathf.lerp(5f, 0f, difficulty) + curTier * 4;
|
||||||
|
|
||||||
float shieldAmount = Math.max((i - shieldStart) * shieldsPerWave, 0);
|
float shieldAmount = Math.max((i - shieldStart) * shieldsPerWave, 0);
|
||||||
int space = start == 0 ? 1 : rand.random(1, 2);
|
int space = start == 0 ? 1 : rand.random(1, 2);
|
||||||
@@ -340,10 +340,10 @@ public class Waves{
|
|||||||
step += (int)(rand.random(15, 30) * Mathf.lerp(1f, 0.5f, difficulty));
|
step += (int)(rand.random(15, 30) * Mathf.lerp(1f, 0.5f, difficulty));
|
||||||
}
|
}
|
||||||
|
|
||||||
int bossWave = (int)(rand.random(50, 70) * Mathf.lerp(1f, 0.5f, difficulty));
|
int bossWave = (int)(rand.random(50, 70) * Mathf.lerp(1f, 0.7f, difficulty));
|
||||||
int bossSpacing = (int)(rand.random(25, 40) * Mathf.lerp(1f, 0.6f, difficulty));
|
int bossSpacing = (int)(rand.random(25, 40) * Mathf.lerp(1f, 0.6f, difficulty));
|
||||||
|
|
||||||
int bossTier = difficulty < 0.5 ? 3 : 4;
|
int bossTier = difficulty < 0.6 ? 3 : 4;
|
||||||
|
|
||||||
//main boss progression
|
//main boss progression
|
||||||
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{
|
out.add(new SpawnGroup(Structs.random(species)[bossTier]){{
|
||||||
@@ -411,7 +411,7 @@ public class Waves{
|
|||||||
}
|
}
|
||||||
|
|
||||||
//shift back waves on higher difficulty for a harder start
|
//shift back waves on higher difficulty for a harder start
|
||||||
int shift = Math.max((int)(difficulty * 15 - 5), 0);
|
int shift = Math.max((int)(difficulty * 14 - 5), 0);
|
||||||
|
|
||||||
for(SpawnGroup group : out){
|
for(SpawnGroup group : out){
|
||||||
group.begin -= shift;
|
group.begin -= shift;
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ public class BlockRenderer implements Disposable{
|
|||||||
if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset, block.y * tilesize + b.offset))) continue;
|
if(!camera.bounds(Tmp.r1).grow(tilesize * 2f).overlaps(Tmp.r2.setSize(b.size * tilesize).setCenter(block.x * tilesize + b.offset, block.y * tilesize + b.offset))) continue;
|
||||||
|
|
||||||
Draw.alpha(0.33f * brokenFade);
|
Draw.alpha(0.33f * brokenFade);
|
||||||
Draw.mixcol(Color.white, 0.2f + Mathf.absin(Time.globalTime(), 6f, 0.2f));
|
Draw.mixcol(Color.white, 0.2f + Mathf.absin(Time.globalTime, 6f, 0.2f));
|
||||||
Draw.rect(b.icon(Cicon.full), block.x * tilesize + b.offset, block.y * tilesize + b.offset, b.rotate ? block.rotation * 90 : 0f);
|
Draw.rect(b.icon(Cicon.full), block.x * tilesize + b.offset, block.y * tilesize + b.offset, b.rotate ? block.rotation * 90 : 0f);
|
||||||
}
|
}
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
|
|||||||
@@ -257,11 +257,11 @@ public class MenuRenderer implements Disposable{
|
|||||||
|
|
||||||
Draw.color(Pal.engine);
|
Draw.color(Pal.engine);
|
||||||
Fill.circle(x + Angles.trnsx(rotation + 180, engineOffset), y + Angles.trnsy(rotation + 180, engineOffset),
|
Fill.circle(x + Angles.trnsx(rotation + 180, engineOffset), y + Angles.trnsy(rotation + 180, engineOffset),
|
||||||
engineSize + Mathf.absin(Time.time(), 2f, engineSize / 4f));
|
engineSize + Mathf.absin(Time.time, 2f, engineSize / 4f));
|
||||||
|
|
||||||
Draw.color(Color.white);
|
Draw.color(Color.white);
|
||||||
Fill.circle(x + Angles.trnsx(rotation + 180, engineOffset - 1f), y + Angles.trnsy(rotation + 180, engineOffset - 1f),
|
Fill.circle(x + Angles.trnsx(rotation + 180, engineOffset - 1f), y + Angles.trnsy(rotation + 180, engineOffset - 1f),
|
||||||
(engineSize + Mathf.absin(Time.time(), 2f, engineSize / 4f)) / 2f);
|
(engineSize + Mathf.absin(Time.time, 2f, engineSize / 4f)) / 2f);
|
||||||
Draw.color();
|
Draw.color();
|
||||||
|
|
||||||
Draw.rect(icon, x, y, flyerRot - 90);
|
Draw.rect(icon, x, y, flyerRot - 90);
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ public class OverlayRenderer{
|
|||||||
}
|
}
|
||||||
|
|
||||||
Lines.stroke(unitFade);
|
Lines.stroke(unitFade);
|
||||||
Lines.square(select.x, select.y, select.hitSize() * 1.5f, Time.time() * 2f);
|
Lines.square(select.x, select.y, select.hitSize() * 1.5f, Time.time * 2f);
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -112,14 +112,14 @@ public class OverlayRenderer{
|
|||||||
if(dst < state.rules.enemyCoreBuildRadius * 2.2f){
|
if(dst < state.rules.enemyCoreBuildRadius * 2.2f){
|
||||||
Draw.color(Color.darkGray);
|
Draw.color(Color.darkGray);
|
||||||
Lines.circle(core.x, core.y - 2, state.rules.enemyCoreBuildRadius);
|
Lines.circle(core.x, core.y - 2, state.rules.enemyCoreBuildRadius);
|
||||||
Draw.color(Pal.accent, core.team.color, 0.5f + Mathf.absin(Time.time(), 10f, 0.5f));
|
Draw.color(Pal.accent, core.team.color, 0.5f + Mathf.absin(Time.time, 10f, 0.5f));
|
||||||
Lines.circle(core.x, core.y, state.rules.enemyCoreBuildRadius);
|
Lines.circle(core.x, core.y, state.rules.enemyCoreBuildRadius);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Lines.stroke(2f);
|
Lines.stroke(2f);
|
||||||
Draw.color(Color.gray, Color.lightGray, Mathf.absin(Time.time(), 8f, 1f));
|
Draw.color(Color.gray, Color.lightGray, Mathf.absin(Time.time, 8f, 1f));
|
||||||
|
|
||||||
if(state.hasSpawns()){
|
if(state.hasSpawns()){
|
||||||
for(Tile tile : spawner.getSpawns()){
|
for(Tile tile : spawner.getSpawns()){
|
||||||
@@ -167,15 +167,15 @@ public class OverlayRenderer{
|
|||||||
float size = 8;
|
float size = 8;
|
||||||
Draw.rect(player.unit().item().icon(Cicon.medium), v.x, v.y, size, size);
|
Draw.rect(player.unit().item().icon(Cicon.medium), v.x, v.y, size, size);
|
||||||
Draw.color(Pal.accent);
|
Draw.color(Pal.accent);
|
||||||
Lines.circle(v.x, v.y, 6 + Mathf.absin(Time.time(), 5f, 1f));
|
Lines.circle(v.x, v.y, 6 + Mathf.absin(Time.time, 5f, 1f));
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
|
|
||||||
Building tile = world.buildWorld(v.x, v.y);
|
Building tile = world.buildWorld(v.x, v.y);
|
||||||
if(input.canDropItem() && tile != null && tile.interactable(player.team()) && tile.acceptStack(player.unit().item(), player.unit().stack.amount, player.unit()) > 0 && player.within(tile, itemTransferRange)){
|
if(input.canDropItem() && tile != null && tile.interactable(player.team()) && tile.acceptStack(player.unit().item(), player.unit().stack.amount, player.unit()) > 0 && player.within(tile, itemTransferRange)){
|
||||||
Lines.stroke(3f, Pal.gray);
|
Lines.stroke(3f, Pal.gray);
|
||||||
Lines.square(tile.x, tile.y, tile.block.size * tilesize / 2f + 3 + Mathf.absin(Time.time(), 5f, 1f));
|
Lines.square(tile.x, tile.y, tile.block.size * tilesize / 2f + 3 + Mathf.absin(Time.time, 5f, 1f));
|
||||||
Lines.stroke(1f, Pal.place);
|
Lines.stroke(1f, Pal.place);
|
||||||
Lines.square(tile.x, tile.y, tile.block.size * tilesize / 2f + 2 + Mathf.absin(Time.time(), 5f, 1f));
|
Lines.square(tile.x, tile.y, tile.block.size * tilesize / 2f + 2 + Mathf.absin(Time.time, 5f, 1f));
|
||||||
Draw.reset();
|
Draw.reset();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user