Merge branch 'master' of https://github.com/tobspr/shapez.io
@ -28,7 +28,7 @@ Your goal is to produce shapes by cutting, rotating, merging and painting parts
|
||||
- Cd into `gulp` folder
|
||||
- Run `yarn` and then `yarn gulp` - it should now open in your browser
|
||||
|
||||
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify `config.js`.
|
||||
**Notice**: This will produce a debug build with several debugging flags enabled. If you want to disable them, modify [`src/js/core/config.js`](src/js/core/config.js).
|
||||
|
||||
## Helping translate
|
||||
|
||||
|
@ -1,16 +1,16 @@
|
||||
{
|
||||
"name": "electron",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"startDev": "electron --disable-direct-composition --in-process-gpu . --dev --local",
|
||||
"startDevGpu": "electron --enable-gpu-rasterization --enable-accelerated-2d-canvas --num-raster-threads=8 --enable-zero-copy . --dev --local",
|
||||
"start": "electron --disable-direct-composition --in-process-gpu ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "^6.1.12"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
{
|
||||
"name": "electron",
|
||||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"startDev": "electron --disable-direct-composition --in-process-gpu . --dev --local",
|
||||
"startDevGpu": "electron --enable-gpu-rasterization --enable-accelerated-2d-canvas --num-raster-threads=8 --enable-zero-copy . --dev --local",
|
||||
"start": "electron --disable-direct-composition --in-process-gpu ."
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "10.1.3"
|
||||
},
|
||||
"dependencies": {}
|
||||
}
|
||||
|
1533
electron/yarn.lock
3
gulp/.gitignore
vendored
@ -1,2 +1 @@
|
||||
additional_build_files
|
||||
steampipe
|
||||
additional_build_files
|
||||
|
@ -8,23 +8,6 @@ const path = require("path");
|
||||
const deleteEmpty = require("delete-empty");
|
||||
const execSync = require("child_process").execSync;
|
||||
|
||||
const lfsOutput = execSync("git lfs install", { encoding: "utf-8" });
|
||||
if (!lfsOutput.toLowerCase().includes("git lfs initialized")) {
|
||||
console.error(`
|
||||
Git LFS is not installed, unable to build.
|
||||
|
||||
To install Git LFS on Linux:
|
||||
- Arch:
|
||||
sudo pacman -S git-lfs
|
||||
- Debian/Ubuntu:
|
||||
sudo apt install git-lfs
|
||||
|
||||
For other systems, see:
|
||||
https://github.com/git-lfs/git-lfs/wiki/Installation
|
||||
`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
// Load other plugins dynamically
|
||||
const $ = require("gulp-load-plugins")({
|
||||
scope: ["devDependencies"],
|
||||
@ -44,8 +27,8 @@ const envVars = [
|
||||
"SHAPEZ_CLI_LIVE_FTP_PW",
|
||||
"SHAPEZ_CLI_APPLE_ID",
|
||||
"SHAPEZ_CLI_APPLE_CERT_NAME",
|
||||
"SHAPEZ_CLI_GITHUB_USER",
|
||||
"SHAPEZ_CLI_GITHUB_TOKEN",
|
||||
"SHAPEZ_CLI_GITHUB_USER",
|
||||
"SHAPEZ_CLI_GITHUB_TOKEN",
|
||||
];
|
||||
|
||||
for (let i = 0; i < envVars.length; ++i) {
|
||||
@ -82,9 +65,9 @@ docs.gulptasksDocs($, gulp, buildFolder);
|
||||
const standalone = require("./standalone");
|
||||
standalone.gulptasksStandalone($, gulp, buildFolder);
|
||||
|
||||
const releaseUploader = require("./release-uploader");
|
||||
releaseUploader.gulptasksReleaseUploader($, gulp, buildFolder);
|
||||
|
||||
const releaseUploader = require("./release-uploader");
|
||||
releaseUploader.gulptasksReleaseUploader($, gulp, buildFolder);
|
||||
|
||||
const translations = require("./translations");
|
||||
translations.gulptasksTranslations($, gulp, buildFolder);
|
||||
|
||||
@ -306,17 +289,17 @@ gulp.task(
|
||||
gulp.series("utils.cleanup", "step.standalone-prod.all", "step.postbuild")
|
||||
);
|
||||
|
||||
// OS X build and release upload
|
||||
gulp.task(
|
||||
"build.darwin64-prod",
|
||||
gulp.series(
|
||||
"build.standalone-prod",
|
||||
"standalone.prepare",
|
||||
"standalone.package.prod.darwin64",
|
||||
"standalone.uploadRelease.darwin64"
|
||||
)
|
||||
);
|
||||
|
||||
// OS X build and release upload
|
||||
gulp.task(
|
||||
"build.darwin64-prod",
|
||||
gulp.series(
|
||||
"build.standalone-prod",
|
||||
"standalone.prepare",
|
||||
"standalone.package.prod.darwin64",
|
||||
"standalone.uploadRelease.darwin64"
|
||||
)
|
||||
);
|
||||
|
||||
// Deploying!
|
||||
gulp.task(
|
||||
"main.deploy.alpha",
|
||||
|
@ -47,6 +47,7 @@
|
||||
"serialize-error": "^3.0.0",
|
||||
"strictdom": "^1.0.1",
|
||||
"string-replace-webpack-plugin": "^0.1.3",
|
||||
"strip-indent": "^3.0.0",
|
||||
"terser-webpack-plugin": "^1.1.0",
|
||||
"through2": "^3.0.1",
|
||||
"uglify-template-string-loader": "^1.1.0",
|
||||
@ -66,7 +67,6 @@
|
||||
"babel-plugin-danger-remove-unused-import": "^1.1.2",
|
||||
"css-mqpacker": "^7.0.0",
|
||||
"cssnano": "^4.1.10",
|
||||
"postcss-critical-split": "^2.5.3",
|
||||
"electron-packager": "^14.0.6",
|
||||
"faster.js": "^1.1.0",
|
||||
"glob": "^7.1.3",
|
||||
@ -99,6 +99,7 @@
|
||||
"jimp": "^0.6.1",
|
||||
"js-yaml": "^3.13.1",
|
||||
"postcss-assets": "^5.0.0",
|
||||
"postcss-critical-split": "^2.5.3",
|
||||
"postcss-preset-env": "^6.5.0",
|
||||
"postcss-round-subpixels": "^1.2.0",
|
||||
"postcss-unprefix": "^2.1.3",
|
||||
|
@ -1,9 +1,10 @@
|
||||
require('colors');
|
||||
require("colors");
|
||||
const packager = require("electron-packager");
|
||||
const path = require("path");
|
||||
const { getVersion } = require("./buildutils");
|
||||
const fs = require("fs");
|
||||
const fse = require("fs-extra");
|
||||
const buildutils = require("./buildutils");
|
||||
const execSync = require("child_process").execSync;
|
||||
|
||||
function gulptasksStandalone($, gulp) {
|
||||
@ -47,6 +48,20 @@ function gulptasksStandalone($, gulp) {
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task("standalone.prepareVDF", cb => {
|
||||
const hash = buildutils.getRevision();
|
||||
|
||||
const steampipeDir = path.join(__dirname, "steampipe", "scripts");
|
||||
const templateContents = fs
|
||||
.readFileSync(path.join(steampipeDir, "app.vdf.template"), { encoding: "utf-8" })
|
||||
.toString();
|
||||
|
||||
const convertedContents = templateContents.replace("$DESC$", "Commit " + hash);
|
||||
fs.writeFileSync(path.join(steampipeDir, "app.vdf"), convertedContents);
|
||||
|
||||
cb();
|
||||
});
|
||||
|
||||
gulp.task("standalone.prepare.minifyCode", () => {
|
||||
return gulp.src(path.join(electronBaseDir, "*.js")).pipe(gulp.dest(tempDestBuildDir));
|
||||
});
|
||||
@ -101,20 +116,21 @@ function gulptasksStandalone($, gulp) {
|
||||
overwrite: true,
|
||||
appBundleId: "io.shapez.standalone",
|
||||
appCategoryType: "public.app-category.games",
|
||||
...(isRelease && platform === "darwin" && {
|
||||
osxSign: {
|
||||
identity: process.env.SHAPEZ_CLI_APPLE_CERT_NAME,
|
||||
"hardened-runtime": true,
|
||||
hardenedRuntime: true,
|
||||
entitlements: 'entitlements.plist',
|
||||
'entitlements-inherit': 'entitlements.plist',
|
||||
'signature-flags': 'library'
|
||||
},
|
||||
osxNotarize: {
|
||||
appleId: process.env.SHAPEZ_CLI_APPLE_ID,
|
||||
appleIdPassword: "@keychain:SHAPEZ_CLI_APPLE_ID"
|
||||
}
|
||||
})
|
||||
...(isRelease &&
|
||||
platform === "darwin" && {
|
||||
osxSign: {
|
||||
"identity": process.env.SHAPEZ_CLI_APPLE_CERT_NAME,
|
||||
"hardened-runtime": true,
|
||||
"hardenedRuntime": true,
|
||||
"entitlements": "entitlements.plist",
|
||||
"entitlements-inherit": "entitlements.plist",
|
||||
"signature-flags": "library",
|
||||
},
|
||||
osxNotarize: {
|
||||
appleId: process.env.SHAPEZ_CLI_APPLE_ID,
|
||||
appleIdPassword: "@keychain:SHAPEZ_CLI_APPLE_ID",
|
||||
},
|
||||
}),
|
||||
}).then(
|
||||
appPaths => {
|
||||
console.log("Packages created:", appPaths);
|
||||
@ -140,9 +156,13 @@ function gulptasksStandalone($, gulp) {
|
||||
}
|
||||
|
||||
if (process.platform === "win32" && platform === "darwin") {
|
||||
console.warn("Cross-building for macOS on Windows: dereferencing symlinks.\n".red +
|
||||
"This will nearly double app size and make code signature invalid. Sorry!\n".red.bold +
|
||||
"For more information, see " + "https://github.com/electron/electron-packager/issues/71".underline);
|
||||
console.warn(
|
||||
"Cross-building for macOS on Windows: dereferencing symlinks.\n".red +
|
||||
"This will nearly double app size and make code signature invalid. Sorry!\n"
|
||||
.red.bold +
|
||||
"For more information, see " +
|
||||
"https://github.com/electron/electron-packager/issues/71".underline
|
||||
);
|
||||
|
||||
// Clear up framework folders
|
||||
fs.writeFileSync(
|
||||
@ -195,7 +215,9 @@ function gulptasksStandalone($, gulp) {
|
||||
gulp.task("standalone.package.prod.linux64", cb => packageStandalone("linux", "x64", cb));
|
||||
gulp.task("standalone.package.prod.linux32", cb => packageStandalone("linux", "ia32", cb));
|
||||
gulp.task("standalone.package.prod.darwin64", cb => packageStandalone("darwin", "x64", cb));
|
||||
gulp.task("standalone.package.prod.darwin64.unsigned", cb => packageStandalone("darwin", "x64", cb, false));
|
||||
gulp.task("standalone.package.prod.darwin64.unsigned", cb =>
|
||||
packageStandalone("darwin", "x64", cb, false)
|
||||
);
|
||||
|
||||
gulp.task(
|
||||
"standalone.package.prod",
|
||||
|
2
gulp/steampipe/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
steamtemp
|
||||
app.vdf
|
15
gulp/steampipe/scripts/app.vdf.template
Normal file
@ -0,0 +1,15 @@
|
||||
"appbuild"
|
||||
{
|
||||
"appid" "1318690"
|
||||
"desc" "$DESC$"
|
||||
"buildoutput" "C:\work\shapez\shapez.io\gulp\steampipe\steamtemp"
|
||||
"contentroot" ""
|
||||
"setlive" ""
|
||||
"preview" "0"
|
||||
"local" ""
|
||||
"depots"
|
||||
{
|
||||
"1318691" "C:\work\shapez\shapez.io\gulp\steampipe\scripts\windows.vdf"
|
||||
"1318692" "C:\work\shapez\shapez.io\gulp\steampipe\scripts\linux.vdf"
|
||||
}
|
||||
}
|
12
gulp/steampipe/scripts/linux.vdf
Normal file
@ -0,0 +1,12 @@
|
||||
"DepotBuildConfig"
|
||||
{
|
||||
"DepotID" "1318692"
|
||||
"contentroot" "C:\work\shapez\shapez.io\tmp_standalone_files\shapez.io-standalone-linux-x64"
|
||||
"FileMapping"
|
||||
{
|
||||
"LocalPath" "*"
|
||||
"DepotPath" "."
|
||||
"recursive" "1"
|
||||
}
|
||||
"FileExclusion" "*.pdb"
|
||||
}
|
12
gulp/steampipe/scripts/windows.vdf
Normal file
@ -0,0 +1,12 @@
|
||||
"DepotBuildConfig"
|
||||
{
|
||||
"DepotID" "1318691"
|
||||
"contentroot" "C:\work\shapez\shapez.io\tmp_standalone_files\shapez.io-standalone-win32-x64"
|
||||
"FileMapping"
|
||||
{
|
||||
"LocalPath" "*"
|
||||
"DepotPath" "."
|
||||
"recursive" "1"
|
||||
}
|
||||
"FileExclusion" "*.pdb"
|
||||
}
|
4
gulp/steampipe/upload.bat
Normal file
@ -0,0 +1,4 @@
|
||||
@echo off
|
||||
cmd /c gulp standalone.prepareVDF
|
||||
steamcmd +login %STEAM_UPLOAD_SHAPEZ_ID% %STEAM_UPLOAD_SHAPEZ_USER% +run_app_build %cd%/scripts/app.vdf +quit
|
||||
start https://partner.steamgames.com/apps/builds/1318690
|
@ -1,22 +1,89 @@
|
||||
const path = require("path");
|
||||
|
||||
const yaml = require("gulp-yaml");
|
||||
|
||||
const translationsSourceDir = path.join(__dirname, "..", "translations");
|
||||
const translationsJsonDir = path.join(__dirname, "..", "src", "js", "built-temp");
|
||||
|
||||
function gulptasksTranslations($, gulp) {
|
||||
gulp.task("translations.convertToJson", () => {
|
||||
return gulp
|
||||
.src(path.join(translationsSourceDir, "*.yaml"))
|
||||
.pipe($.plumber())
|
||||
.pipe(yaml({ space: 2, safe: true }))
|
||||
.pipe(gulp.dest(translationsJsonDir));
|
||||
});
|
||||
|
||||
gulp.task("translations.fullBuild", gulp.series("translations.convertToJson"));
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
gulptasksTranslations,
|
||||
};
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const gulpYaml = require("gulp-yaml");
|
||||
const YAML = require("yaml");
|
||||
const stripIndent = require("strip-indent");
|
||||
const trim = require("trim");
|
||||
|
||||
const translationsSourceDir = path.join(__dirname, "..", "translations");
|
||||
const translationsJsonDir = path.join(__dirname, "..", "src", "js", "built-temp");
|
||||
|
||||
function gulptasksTranslations($, gulp) {
|
||||
gulp.task("translations.convertToJson", () => {
|
||||
return gulp
|
||||
.src(path.join(translationsSourceDir, "*.yaml"))
|
||||
.pipe($.plumber())
|
||||
.pipe(gulpYaml({ space: 2, safe: true }))
|
||||
.pipe(gulp.dest(translationsJsonDir));
|
||||
});
|
||||
|
||||
gulp.task("translations.fullBuild", gulp.series("translations.convertToJson"));
|
||||
|
||||
gulp.task("translations.prepareSteamPage", cb => {
|
||||
const files = fs.readdirSync(translationsSourceDir);
|
||||
|
||||
files
|
||||
.filter(name => name.endsWith(".yaml"))
|
||||
.forEach(fname => {
|
||||
const languageName = fname.replace(".yaml", "");
|
||||
const abspath = path.join(translationsSourceDir, fname);
|
||||
|
||||
const destpath = path.join(translationsSourceDir, "tmp", languageName + "-store.txt");
|
||||
|
||||
const contents = fs.readFileSync(abspath, { encoding: "utf-8" });
|
||||
const data = YAML.parse(contents);
|
||||
|
||||
const storePage = data.steamPage;
|
||||
|
||||
const content = `
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
|
||||
${storePage.intro.replace(/\n/gi, "\n\n")}
|
||||
|
||||
[h2]${storePage.title_advantages}[/h2]
|
||||
|
||||
[list]
|
||||
${storePage.advantages
|
||||
.map(x => "[*] " + x.replace(/<b>/, "[b]").replace(/<\/b>/, "[/b]"))
|
||||
.join("\n")}
|
||||
[/list]
|
||||
|
||||
[h2]${storePage.title_future}[/h2]
|
||||
|
||||
[list]
|
||||
${storePage.planned
|
||||
.map(x => "[*] " + x.replace(/<b>/, "[b]").replace(/<\/b>/, "[/b]"))
|
||||
.join("\n")}
|
||||
[/list]
|
||||
|
||||
[h2]${storePage.title_open_source}[/h2]
|
||||
|
||||
${storePage.text_open_source.replace(/\n/gi, "\n\n")}
|
||||
|
||||
[h2]${storePage.title_links}[/h2]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]${storePage.links.discord}[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]${storePage.links.roadmap}[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]${storePage.links.subreddit}[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]${storePage.links.source_code}[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]${
|
||||
storePage.links.translate
|
||||
}[/url]
|
||||
[/list]
|
||||
|
||||
|
||||
`;
|
||||
|
||||
fs.writeFileSync(destpath, trim(content.replace(/(\n[ \t\r]*)/gi, "\n")), {
|
||||
encoding: "utf-8",
|
||||
});
|
||||
});
|
||||
|
||||
cb();
|
||||
});
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
gulptasksTranslations,
|
||||
};
|
||||
|
@ -8198,6 +8198,11 @@ min-document@^2.19.0:
|
||||
dependencies:
|
||||
dom-walk "^0.1.0"
|
||||
|
||||
min-indent@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
|
||||
integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
|
||||
|
||||
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
|
||||
@ -11945,6 +11950,13 @@ strip-indent@^1.0.1:
|
||||
dependencies:
|
||||
get-stdin "^4.0.1"
|
||||
|
||||
strip-indent@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001"
|
||||
integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==
|
||||
dependencies:
|
||||
min-indent "^1.0.0"
|
||||
|
||||
strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
|
||||
|
BIN
res/ui/building_icons/item_producer.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
res/ui/building_tutorials/item_producer.png
Normal file
After Width: | Height: | Size: 271 KiB |
BIN
res/ui/get_on_steam_with_price.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
res/ui/icons/advantage_buildings.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
res/ui/icons/advantage_dark_mode.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
res/ui/icons/advantage_markers.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
res/ui/icons/advantage_new_levels.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
res/ui/icons/advantage_savegames.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
res/ui/icons/advantage_support.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
res/ui/icons/advantage_upgrades.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
res/ui/icons/advantage_wires.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
res/ui/icons/demo_steam_link_indicator.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
res/ui/memes/cat1.png
Normal file
After Width: | Height: | Size: 236 KiB |
@ -58,7 +58,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_7.png":
|
||||
{
|
||||
"frame": {"x":1144,"y":1261,"w":116,"h":144},
|
||||
"frame": {"x":1187,"y":1407,"w":116,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_8.png":
|
||||
{
|
||||
"frame": {"x":1187,"y":1411,"w":116,"h":144},
|
||||
"frame": {"x":1187,"y":1557,"w":116,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
|
||||
@ -74,7 +74,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_9.png":
|
||||
{
|
||||
"frame": {"x":1187,"y":1561,"w":116,"h":144},
|
||||
"frame": {"x":1208,"y":1707,"w":116,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
|
||||
@ -114,7 +114,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_0.png":
|
||||
{
|
||||
"frame": {"x":1272,"y":1137,"w":130,"h":130},
|
||||
"frame": {"x":1281,"y":1170,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_1.png":
|
||||
{
|
||||
"frame": {"x":1266,"y":1273,"w":130,"h":130},
|
||||
"frame": {"x":1417,"y":1170,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -130,7 +130,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_2.png":
|
||||
{
|
||||
"frame": {"x":1443,"y":1559,"w":130,"h":130},
|
||||
"frame": {"x":1581,"y":1559,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -138,7 +138,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_3.png":
|
||||
{
|
||||
"frame": {"x":1450,"y":1695,"w":130,"h":130},
|
||||
"frame": {"x":1544,"y":1695,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -146,7 +146,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_4.png":
|
||||
{
|
||||
"frame": {"x":1460,"y":1831,"w":130,"h":130},
|
||||
"frame": {"x":1443,"y":1851,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -154,7 +154,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_5.png":
|
||||
{
|
||||
"frame": {"x":1538,"y":1273,"w":130,"h":130},
|
||||
"frame": {"x":1579,"y":1831,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -162,7 +162,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_6.png":
|
||||
{
|
||||
"frame": {"x":1544,"y":1137,"w":130,"h":130},
|
||||
"frame": {"x":1680,"y":1695,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -170,7 +170,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_7.png":
|
||||
{
|
||||
"frame": {"x":1579,"y":1559,"w":130,"h":130},
|
||||
"frame": {"x":1715,"y":1831,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_8.png":
|
||||
{
|
||||
"frame": {"x":1586,"y":1695,"w":130,"h":130},
|
||||
"frame": {"x":1590,"y":450,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -186,7 +186,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_9.png":
|
||||
{
|
||||
"frame": {"x":1596,"y":1831,"w":130,"h":130},
|
||||
"frame": {"x":1449,"y":567,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -194,7 +194,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_10.png":
|
||||
{
|
||||
"frame": {"x":1314,"y":1701,"w":130,"h":130},
|
||||
"frame": {"x":1309,"y":1565,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -202,7 +202,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_11.png":
|
||||
{
|
||||
"frame": {"x":1324,"y":1837,"w":130,"h":130},
|
||||
"frame": {"x":1443,"y":1423,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -210,7 +210,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_12.png":
|
||||
{
|
||||
"frame": {"x":1402,"y":1273,"w":130,"h":130},
|
||||
"frame": {"x":1445,"y":1559,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -218,7 +218,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_13.png":
|
||||
{
|
||||
"frame": {"x":1408,"y":1137,"w":130,"h":130},
|
||||
"frame": {"x":1579,"y":1423,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -226,7 +226,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_0.png":
|
||||
{
|
||||
"frame": {"x":1590,"y":450,"w":130,"h":130},
|
||||
"frame": {"x":1585,"y":586,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -234,7 +234,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_1.png":
|
||||
{
|
||||
"frame": {"x":1449,"y":567,"w":130,"h":130},
|
||||
"frame": {"x":1449,"y":703,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -242,7 +242,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_2.png":
|
||||
{
|
||||
"frame": {"x":1584,"y":858,"w":130,"h":130},
|
||||
"frame": {"x":1651,"y":994,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -250,7 +250,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_3.png":
|
||||
{
|
||||
"frame": {"x":1565,"y":994,"w":130,"h":130},
|
||||
"frame": {"x":1553,"y":1130,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -258,7 +258,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_4.png":
|
||||
{
|
||||
"frame": {"x":1701,"y":994,"w":130,"h":130},
|
||||
"frame": {"x":1689,"y":1130,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -266,7 +266,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_5.png":
|
||||
{
|
||||
"frame": {"x":1680,"y":1130,"w":130,"h":130},
|
||||
"frame": {"x":1676,"y":1266,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -274,7 +274,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_6.png":
|
||||
{
|
||||
"frame": {"x":1720,"y":858,"w":130,"h":130},
|
||||
"frame": {"x":1715,"y":1402,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -282,7 +282,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_7.png":
|
||||
{
|
||||
"frame": {"x":1816,"y":1130,"w":130,"h":130},
|
||||
"frame": {"x":1717,"y":1538,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_8.png":
|
||||
{
|
||||
"frame": {"x":1837,"y":994,"w":130,"h":130},
|
||||
"frame": {"x":1720,"y":858,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -298,7 +298,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_9.png":
|
||||
{
|
||||
"frame": {"x":1726,"y":450,"w":130,"h":130},
|
||||
"frame": {"x":1787,"y":994,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -306,7 +306,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_10.png":
|
||||
{
|
||||
"frame": {"x":1585,"y":586,"w":130,"h":130},
|
||||
"frame": {"x":1585,"y":722,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -314,7 +314,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_11.png":
|
||||
{
|
||||
"frame": {"x":1449,"y":703,"w":130,"h":130},
|
||||
"frame": {"x":1448,"y":839,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -322,7 +322,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_12.png":
|
||||
{
|
||||
"frame": {"x":1585,"y":722,"w":130,"h":130},
|
||||
"frame": {"x":1584,"y":858,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -330,7 +330,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_13.png":
|
||||
{
|
||||
"frame": {"x":1448,"y":839,"w":130,"h":130},
|
||||
"frame": {"x":1515,"y":994,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -386,7 +386,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_left.png":
|
||||
{
|
||||
"frame": {"x":1721,"y":586,"w":130,"h":130},
|
||||
"frame": {"x":1825,"y":1130,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -394,7 +394,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_right.png":
|
||||
{
|
||||
"frame": {"x":1721,"y":722,"w":130,"h":130},
|
||||
"frame": {"x":1812,"y":1266,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -402,7 +402,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_top.png":
|
||||
{
|
||||
"frame": {"x":1309,"y":1409,"w":116,"h":144},
|
||||
"frame": {"x":1216,"y":1857,"w":116,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":116,"h":144},
|
||||
@ -418,7 +418,7 @@
|
||||
},
|
||||
"sprites/blueprints/constant_signal.png":
|
||||
{
|
||||
"frame": {"x":1856,"y":858,"w":105,"h":130},
|
||||
"frame": {"x":1851,"y":1402,"w":105,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":20,"y":0,"w":105,"h":130},
|
||||
@ -442,7 +442,7 @@
|
||||
},
|
||||
"sprites/blueprints/display.png":
|
||||
{
|
||||
"frame": {"x":1309,"y":1559,"w":128,"h":136},
|
||||
"frame": {"x":1309,"y":1423,"w":128,"h":136},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":8,"y":8,"w":128,"h":136},
|
||||
@ -456,9 +456,17 @@
|
||||
"spriteSourceSize": {"x":16,"y":0,"w":268,"h":144},
|
||||
"sourceSize": {"w":288,"h":144}
|
||||
},
|
||||
"sprites/blueprints/item_producer.png":
|
||||
{
|
||||
"frame": {"x":1144,"y":1111,"w":131,"h":142},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":8,"y":0,"w":131,"h":142},
|
||||
"sourceSize": {"w":144,"h":144}
|
||||
},
|
||||
"sprites/blueprints/lever.png":
|
||||
{
|
||||
"frame": {"x":1857,"y":631,"w":100,"h":116},
|
||||
"frame": {"x":1726,"y":450,"w":100,"h":116},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":22,"y":9,"w":100,"h":116},
|
||||
@ -602,7 +610,7 @@
|
||||
},
|
||||
"sprites/blueprints/transistor-mirrored.png":
|
||||
{
|
||||
"frame": {"x":1208,"y":1711,"w":100,"h":144},
|
||||
"frame": {"x":1409,"y":1020,"w":100,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":44,"y":0,"w":100,"h":144},
|
||||
@ -610,7 +618,7 @@
|
||||
},
|
||||
"sprites/blueprints/transistor.png":
|
||||
{
|
||||
"frame": {"x":1216,"y":1861,"w":102,"h":144},
|
||||
"frame": {"x":1330,"y":1701,"w":102,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":102,"h":144},
|
||||
@ -754,7 +762,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_left.png":
|
||||
{
|
||||
"frame": {"x":1272,"y":1137,"w":130,"h":130},
|
||||
"frame": {"x":1281,"y":1170,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":14,"w":130,"h":130},
|
||||
@ -762,7 +770,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_right.png":
|
||||
{
|
||||
"frame": {"x":1590,"y":450,"w":130,"h":130},
|
||||
"frame": {"x":1585,"y":586,"w":130,"h":130},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":14,"w":130,"h":130},
|
||||
@ -786,7 +794,7 @@
|
||||
},
|
||||
"sprites/buildings/constant_signal.png":
|
||||
{
|
||||
"frame": {"x":1862,"y":496,"w":104,"h":129},
|
||||
"frame": {"x":1853,"y":1538,"w":104,"h":129},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":20,"y":0,"w":104,"h":129},
|
||||
@ -832,9 +840,17 @@
|
||||
"spriteSourceSize": {"x":14,"y":16,"w":548,"h":549},
|
||||
"sourceSize": {"w":576,"h":576}
|
||||
},
|
||||
"sprites/buildings/item_producer.png":
|
||||
{
|
||||
"frame": {"x":1144,"y":1259,"w":130,"h":142},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":8,"y":0,"w":130,"h":142},
|
||||
"sourceSize": {"w":144,"h":144}
|
||||
},
|
||||
"sprites/buildings/lever.png":
|
||||
{
|
||||
"frame": {"x":1674,"y":1273,"w":98,"h":114},
|
||||
"frame": {"x":1721,"y":586,"w":98,"h":114},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":23,"y":10,"w":98,"h":114},
|
||||
@ -842,7 +858,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate-not.png":
|
||||
{
|
||||
"frame": {"x":1144,"y":1111,"w":122,"h":144},
|
||||
"frame": {"x":1281,"y":1020,"w":122,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":12,"y":0,"w":122,"h":144},
|
||||
@ -978,7 +994,7 @@
|
||||
},
|
||||
"sprites/buildings/transistor-mirrored.png":
|
||||
{
|
||||
"frame": {"x":1537,"y":1409,"w":99,"h":144},
|
||||
"frame": {"x":1338,"y":1851,"w":99,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":45,"y":0,"w":99,"h":144},
|
||||
@ -986,7 +1002,7 @@
|
||||
},
|
||||
"sprites/buildings/transistor.png":
|
||||
{
|
||||
"frame": {"x":1431,"y":1409,"w":100,"h":144},
|
||||
"frame": {"x":1438,"y":1701,"w":100,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":100,"h":144},
|
||||
@ -1010,7 +1026,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_entry.png":
|
||||
{
|
||||
"frame": {"x":1279,"y":1020,"w":137,"h":111},
|
||||
"frame": {"x":1390,"y":1306,"w":137,"h":111},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":5,"y":33,"w":137,"h":111},
|
||||
@ -1018,7 +1034,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_exit-tier2.png":
|
||||
{
|
||||
"frame": {"x":1422,"y":1020,"w":137,"h":111},
|
||||
"frame": {"x":1533,"y":1306,"w":137,"h":111},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":5,"y":0,"w":137,"h":111},
|
||||
@ -1082,7 +1098,7 @@
|
||||
},
|
||||
"sprites/colors/blue.png":
|
||||
{
|
||||
"frame": {"x":1972,"y":586,"w":54,"h":49},
|
||||
"frame": {"x":1919,"y":685,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1090,7 +1106,7 @@
|
||||
},
|
||||
"sprites/colors/cyan.png":
|
||||
{
|
||||
"frame": {"x":1963,"y":641,"w":54,"h":49},
|
||||
"frame": {"x":1579,"y":1967,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1098,7 +1114,7 @@
|
||||
},
|
||||
"sprites/colors/green.png":
|
||||
{
|
||||
"frame": {"x":1963,"y":696,"w":54,"h":49},
|
||||
"frame": {"x":1639,"y":1967,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1106,7 +1122,7 @@
|
||||
},
|
||||
"sprites/colors/purple.png":
|
||||
{
|
||||
"frame": {"x":1419,"y":1973,"w":54,"h":49},
|
||||
"frame": {"x":1699,"y":1967,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1114,7 +1130,7 @@
|
||||
},
|
||||
"sprites/colors/red.png":
|
||||
{
|
||||
"frame": {"x":1479,"y":1967,"w":54,"h":49},
|
||||
"frame": {"x":1759,"y":1967,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1122,7 +1138,7 @@
|
||||
},
|
||||
"sprites/colors/uncolored.png":
|
||||
{
|
||||
"frame": {"x":1539,"y":1967,"w":54,"h":49},
|
||||
"frame": {"x":1819,"y":1967,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1130,7 +1146,7 @@
|
||||
},
|
||||
"sprites/colors/white.png":
|
||||
{
|
||||
"frame": {"x":1599,"y":1967,"w":54,"h":49},
|
||||
"frame": {"x":1979,"y":685,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1138,7 +1154,7 @@
|
||||
},
|
||||
"sprites/colors/yellow.png":
|
||||
{
|
||||
"frame": {"x":1659,"y":1967,"w":54,"h":49},
|
||||
"frame": {"x":1923,"y":740,"w":54,"h":49},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":54,"h":49},
|
||||
@ -1170,7 +1186,7 @@
|
||||
},
|
||||
"sprites/misc/processor_disabled.png":
|
||||
{
|
||||
"frame": {"x":1888,"y":1266,"w":78,"h":81},
|
||||
"frame": {"x":1916,"y":598,"w":78,"h":81},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":10,"y":10,"w":78,"h":81},
|
||||
@ -1178,7 +1194,7 @@
|
||||
},
|
||||
"sprites/misc/processor_disconnected.png":
|
||||
{
|
||||
"frame": {"x":1972,"y":496,"w":65,"h":84},
|
||||
"frame": {"x":1856,"y":830,"w":65,"h":84},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":17,"y":8,"w":65,"h":84},
|
||||
@ -1186,7 +1202,7 @@
|
||||
},
|
||||
"sprites/misc/reader_overlay.png":
|
||||
{
|
||||
"frame": {"x":1778,"y":1266,"w":104,"h":70},
|
||||
"frame": {"x":1280,"y":1306,"w":104,"h":70},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":20,"y":38,"w":104,"h":70},
|
||||
@ -1194,7 +1210,7 @@
|
||||
},
|
||||
"sprites/misc/slot_bad_arrow.png":
|
||||
{
|
||||
"frame": {"x":1674,"y":1513,"w":35,"h":35},
|
||||
"frame": {"x":1216,"y":2007,"w":35,"h":35},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":2,"w":35,"h":35},
|
||||
@ -1210,7 +1226,7 @@
|
||||
},
|
||||
"sprites/misc/storage_overlay.png":
|
||||
{
|
||||
"frame": {"x":1324,"y":1973,"w":89,"h":44},
|
||||
"frame": {"x":1828,"y":780,"w":89,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":89,"h":44},
|
||||
@ -1226,7 +1242,7 @@
|
||||
},
|
||||
"sprites/wires/boolean_false.png":
|
||||
{
|
||||
"frame": {"x":1768,"y":1630,"w":31,"h":41},
|
||||
"frame": {"x":1832,"y":448,"w":31,"h":41},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":5,"w":31,"h":41},
|
||||
@ -1242,7 +1258,7 @@
|
||||
},
|
||||
"sprites/wires/display/blue.png":
|
||||
{
|
||||
"frame": {"x":1715,"y":1513,"w":47,"h":47},
|
||||
"frame": {"x":1983,"y":740,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1250,7 +1266,7 @@
|
||||
},
|
||||
"sprites/wires/display/cyan.png":
|
||||
{
|
||||
"frame": {"x":1715,"y":1566,"w":47,"h":47},
|
||||
"frame": {"x":1927,"y":795,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1258,7 +1274,7 @@
|
||||
},
|
||||
"sprites/wires/display/green.png":
|
||||
{
|
||||
"frame": {"x":1715,"y":1619,"w":47,"h":47},
|
||||
"frame": {"x":1927,"y":848,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1266,7 +1282,7 @@
|
||||
},
|
||||
"sprites/wires/display/purple.png":
|
||||
{
|
||||
"frame": {"x":1768,"y":1524,"w":47,"h":47},
|
||||
"frame": {"x":1927,"y":901,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1274,7 +1290,7 @@
|
||||
},
|
||||
"sprites/wires/display/red.png":
|
||||
{
|
||||
"frame": {"x":1768,"y":1577,"w":47,"h":47},
|
||||
"frame": {"x":1443,"y":1987,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1282,7 +1298,7 @@
|
||||
},
|
||||
"sprites/wires/display/white.png":
|
||||
{
|
||||
"frame": {"x":1821,"y":1524,"w":47,"h":47},
|
||||
"frame": {"x":1496,"y":1987,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1290,7 +1306,7 @@
|
||||
},
|
||||
"sprites/wires/display/yellow.png":
|
||||
{
|
||||
"frame": {"x":1821,"y":1577,"w":47,"h":47},
|
||||
"frame": {"x":1948,"y":1266,"w":47,"h":47},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":47,"h":47},
|
||||
@ -1298,7 +1314,7 @@
|
||||
},
|
||||
"sprites/wires/lever_on.png":
|
||||
{
|
||||
"frame": {"x":1674,"y":1393,"w":101,"h":114},
|
||||
"frame": {"x":1721,"y":706,"w":101,"h":114},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":21,"y":10,"w":101,"h":114},
|
||||
@ -1314,7 +1330,7 @@
|
||||
},
|
||||
"sprites/wires/logical_ejector.png":
|
||||
{
|
||||
"frame": {"x":1872,"y":1444,"w":60,"h":67},
|
||||
"frame": {"x":1856,"y":920,"w":60,"h":67},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":44,"y":0,"w":60,"h":67},
|
||||
@ -1322,7 +1338,7 @@
|
||||
},
|
||||
"sprites/wires/network_conflict.png":
|
||||
{
|
||||
"frame": {"x":1874,"y":1517,"w":47,"h":44},
|
||||
"frame": {"x":1948,"y":1319,"w":47,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":2,"w":47,"h":44},
|
||||
@ -1330,7 +1346,7 @@
|
||||
},
|
||||
"sprites/wires/network_empty.png":
|
||||
{
|
||||
"frame": {"x":1874,"y":1567,"w":41,"h":48},
|
||||
"frame": {"x":2000,"y":587,"w":41,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":5,"y":0,"w":41,"h":48},
|
||||
@ -1338,7 +1354,7 @@
|
||||
},
|
||||
"sprites/wires/overlay_tile.png":
|
||||
{
|
||||
"frame": {"x":1857,"y":753,"w":96,"h":96},
|
||||
"frame": {"x":1832,"y":496,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1370,7 +1386,7 @@
|
||||
},
|
||||
"sprites/wires/sets/conflict_turn.png":
|
||||
{
|
||||
"frame": {"x":1781,"y":1342,"w":85,"h":85},
|
||||
"frame": {"x":1934,"y":496,"w":85,"h":85},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":59,"y":59,"w":85,"h":85},
|
||||
@ -1402,7 +1418,7 @@
|
||||
},
|
||||
"sprites/wires/sets/first_turn.png":
|
||||
{
|
||||
"frame": {"x":1781,"y":1433,"w":85,"h":85},
|
||||
"frame": {"x":1825,"y":598,"w":85,"h":85},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":59,"y":59,"w":85,"h":85},
|
||||
@ -1418,7 +1434,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_forward.png":
|
||||
{
|
||||
"frame": {"x":1642,"y":1409,"w":26,"h":144},
|
||||
"frame": {"x":1816,"y":1674,"w":26,"h":144},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":59,"y":0,"w":26,"h":144},
|
||||
@ -1434,7 +1450,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_turn.png":
|
||||
{
|
||||
"frame": {"x":1872,"y":1353,"w":85,"h":85},
|
||||
"frame": {"x":1828,"y":689,"w":85,"h":85},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":59,"y":59,"w":85,"h":85},
|
||||
@ -1455,6 +1471,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":2048,"h":2048},
|
||||
"scale": "0.75",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.3 MiB |
@ -2,7 +2,7 @@
|
||||
|
||||
"sprites/belt/built/forward_0.png":
|
||||
{
|
||||
"frame": {"x":803,"y":522,"w":40,"h":48},
|
||||
"frame": {"x":903,"y":557,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -10,7 +10,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_1.png":
|
||||
{
|
||||
"frame": {"x":887,"y":543,"w":40,"h":48},
|
||||
"frame": {"x":949,"y":595,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -18,7 +18,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_2.png":
|
||||
{
|
||||
"frame": {"x":144,"y":422,"w":40,"h":48},
|
||||
"frame": {"x":190,"y":422,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -26,7 +26,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_3.png":
|
||||
{
|
||||
"frame": {"x":190,"y":422,"w":40,"h":48},
|
||||
"frame": {"x":236,"y":422,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -34,7 +34,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_4.png":
|
||||
{
|
||||
"frame": {"x":236,"y":422,"w":40,"h":48},
|
||||
"frame": {"x":282,"y":441,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -42,7 +42,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_5.png":
|
||||
{
|
||||
"frame": {"x":282,"y":441,"w":40,"h":48},
|
||||
"frame": {"x":328,"y":461,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -50,7 +50,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_6.png":
|
||||
{
|
||||
"frame": {"x":328,"y":461,"w":40,"h":48},
|
||||
"frame": {"x":374,"y":461,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -58,7 +58,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_7.png":
|
||||
{
|
||||
"frame": {"x":374,"y":461,"w":40,"h":48},
|
||||
"frame": {"x":420,"y":464,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_8.png":
|
||||
{
|
||||
"frame": {"x":420,"y":464,"w":40,"h":48},
|
||||
"frame": {"x":506,"y":482,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -74,7 +74,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_9.png":
|
||||
{
|
||||
"frame": {"x":506,"y":482,"w":40,"h":48},
|
||||
"frame": {"x":552,"y":525,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -82,7 +82,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_10.png":
|
||||
{
|
||||
"frame": {"x":933,"y":553,"w":40,"h":48},
|
||||
"frame": {"x":6,"y":409,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -90,7 +90,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_11.png":
|
||||
{
|
||||
"frame": {"x":6,"y":409,"w":40,"h":48},
|
||||
"frame": {"x":52,"y":409,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -98,7 +98,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_12.png":
|
||||
{
|
||||
"frame": {"x":52,"y":409,"w":40,"h":48},
|
||||
"frame": {"x":98,"y":409,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -106,7 +106,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_13.png":
|
||||
{
|
||||
"frame": {"x":98,"y":409,"w":40,"h":48},
|
||||
"frame": {"x":144,"y":422,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -114,7 +114,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_0.png":
|
||||
{
|
||||
"frame": {"x":887,"y":493,"w":44,"h":44},
|
||||
"frame": {"x":395,"y":311,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_1.png":
|
||||
{
|
||||
"frame": {"x":937,"y":503,"w":44,"h":44},
|
||||
"frame": {"x":445,"y":311,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -130,7 +130,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_2.png":
|
||||
{
|
||||
"frame": {"x":292,"y":322,"w":44,"h":44},
|
||||
"frame": {"x":392,"y":361,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -138,7 +138,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_3.png":
|
||||
{
|
||||
"frame": {"x":342,"y":341,"w":44,"h":44},
|
||||
"frame": {"x":442,"y":361,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -146,7 +146,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_4.png":
|
||||
{
|
||||
"frame": {"x":392,"y":361,"w":44,"h":44},
|
||||
"frame": {"x":492,"y":364,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -154,7 +154,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_5.png":
|
||||
{
|
||||
"frame": {"x":442,"y":361,"w":44,"h":44},
|
||||
"frame": {"x":542,"y":382,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -162,7 +162,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_6.png":
|
||||
{
|
||||
"frame": {"x":492,"y":364,"w":44,"h":44},
|
||||
"frame": {"x":592,"y":425,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -170,7 +170,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_7.png":
|
||||
{
|
||||
"frame": {"x":542,"y":382,"w":44,"h":44},
|
||||
"frame": {"x":642,"y":425,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_8.png":
|
||||
{
|
||||
"frame": {"x":592,"y":425,"w":44,"h":44},
|
||||
"frame": {"x":692,"y":426,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -186,7 +186,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_9.png":
|
||||
{
|
||||
"frame": {"x":642,"y":425,"w":44,"h":44},
|
||||
"frame": {"x":742,"y":470,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -194,7 +194,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_10.png":
|
||||
{
|
||||
"frame": {"x":395,"y":311,"w":44,"h":44},
|
||||
"frame": {"x":192,"y":322,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -202,7 +202,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_11.png":
|
||||
{
|
||||
"frame": {"x":445,"y":311,"w":44,"h":44},
|
||||
"frame": {"x":242,"y":322,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -210,7 +210,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_12.png":
|
||||
{
|
||||
"frame": {"x":192,"y":322,"w":44,"h":44},
|
||||
"frame": {"x":292,"y":322,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -218,7 +218,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_13.png":
|
||||
{
|
||||
"frame": {"x":242,"y":322,"w":44,"h":44},
|
||||
"frame": {"x":342,"y":341,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -226,7 +226,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_0.png":
|
||||
{
|
||||
"frame": {"x":692,"y":426,"w":44,"h":44},
|
||||
"frame": {"x":6,"y":359,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -234,7 +234,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_1.png":
|
||||
{
|
||||
"frame": {"x":742,"y":470,"w":44,"h":44},
|
||||
"frame": {"x":56,"y":359,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -242,7 +242,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_2.png":
|
||||
{
|
||||
"frame": {"x":206,"y":372,"w":44,"h":44},
|
||||
"frame": {"x":306,"y":391,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -250,7 +250,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_3.png":
|
||||
{
|
||||
"frame": {"x":256,"y":372,"w":44,"h":44},
|
||||
"frame": {"x":356,"y":411,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -258,7 +258,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_4.png":
|
||||
{
|
||||
"frame": {"x":306,"y":391,"w":44,"h":44},
|
||||
"frame": {"x":406,"y":411,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -266,7 +266,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_5.png":
|
||||
{
|
||||
"frame": {"x":356,"y":411,"w":44,"h":44},
|
||||
"frame": {"x":456,"y":414,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -274,7 +274,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_6.png":
|
||||
{
|
||||
"frame": {"x":406,"y":411,"w":44,"h":44},
|
||||
"frame": {"x":506,"y":432,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -282,7 +282,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_7.png":
|
||||
{
|
||||
"frame": {"x":456,"y":414,"w":44,"h":44},
|
||||
"frame": {"x":556,"y":475,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_8.png":
|
||||
{
|
||||
"frame": {"x":506,"y":432,"w":44,"h":44},
|
||||
"frame": {"x":606,"y":475,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -298,7 +298,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_9.png":
|
||||
{
|
||||
"frame": {"x":556,"y":475,"w":44,"h":44},
|
||||
"frame": {"x":656,"y":476,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -306,7 +306,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_10.png":
|
||||
{
|
||||
"frame": {"x":6,"y":359,"w":44,"h":44},
|
||||
"frame": {"x":106,"y":359,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -314,7 +314,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_11.png":
|
||||
{
|
||||
"frame": {"x":56,"y":359,"w":44,"h":44},
|
||||
"frame": {"x":156,"y":372,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -322,7 +322,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_12.png":
|
||||
{
|
||||
"frame": {"x":106,"y":359,"w":44,"h":44},
|
||||
"frame": {"x":206,"y":372,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -330,7 +330,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_13.png":
|
||||
{
|
||||
"frame": {"x":156,"y":372,"w":44,"h":44},
|
||||
"frame": {"x":256,"y":372,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -386,7 +386,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_left.png":
|
||||
{
|
||||
"frame": {"x":606,"y":475,"w":44,"h":44},
|
||||
"frame": {"x":706,"y":520,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -394,7 +394,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_right.png":
|
||||
{
|
||||
"frame": {"x":656,"y":476,"w":44,"h":44},
|
||||
"frame": {"x":756,"y":520,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -402,7 +402,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_top.png":
|
||||
{
|
||||
"frame": {"x":552,"y":525,"w":40,"h":48},
|
||||
"frame": {"x":598,"y":525,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -442,7 +442,7 @@
|
||||
},
|
||||
"sprites/blueprints/display.png":
|
||||
{
|
||||
"frame": {"x":837,"y":470,"w":44,"h":46},
|
||||
"frame": {"x":888,"y":493,"w":44,"h":46},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
|
||||
@ -456,6 +456,14 @@
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":91,"h":48},
|
||||
"sourceSize": {"w":96,"h":48}
|
||||
},
|
||||
"sprites/blueprints/item_producer.png":
|
||||
{
|
||||
"frame": {"x":771,"y":416,"w":45,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":0,"w":45,"h":48},
|
||||
"sourceSize": {"w":48,"h":48}
|
||||
},
|
||||
"sprites/blueprints/lever.png":
|
||||
{
|
||||
"frame": {"x":864,"y":222,"w":35,"h":41},
|
||||
@ -466,7 +474,7 @@
|
||||
},
|
||||
"sprites/blueprints/logic_gate-not.png":
|
||||
{
|
||||
"frame": {"x":755,"y":520,"w":42,"h":48},
|
||||
"frame": {"x":855,"y":545,"w":42,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":42,"h":48},
|
||||
@ -602,7 +610,7 @@
|
||||
},
|
||||
"sprites/blueprints/transistor-mirrored.png":
|
||||
{
|
||||
"frame": {"x":979,"y":559,"w":34,"h":48},
|
||||
"frame": {"x":466,"y":464,"w":34,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":34,"h":48},
|
||||
@ -674,7 +682,7 @@
|
||||
},
|
||||
"sprites/blueprints/virtual_processor-stacker.png":
|
||||
{
|
||||
"frame": {"x":771,"y":416,"w":44,"h":48},
|
||||
"frame": {"x":895,"y":439,"w":44,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
|
||||
@ -754,7 +762,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_left.png":
|
||||
{
|
||||
"frame": {"x":887,"y":493,"w":44,"h":44},
|
||||
"frame": {"x":395,"y":311,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":4,"w":44,"h":44},
|
||||
@ -762,7 +770,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_right.png":
|
||||
{
|
||||
"frame": {"x":692,"y":426,"w":44,"h":44},
|
||||
"frame": {"x":6,"y":359,"w":44,"h":44},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":44,"h":44},
|
||||
@ -770,7 +778,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_top.png":
|
||||
{
|
||||
"frame": {"x":803,"y":522,"w":40,"h":48},
|
||||
"frame": {"x":903,"y":557,"w":40,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":40,"h":48},
|
||||
@ -810,7 +818,7 @@
|
||||
},
|
||||
"sprites/buildings/display.png":
|
||||
{
|
||||
"frame": {"x":944,"y":451,"w":44,"h":46},
|
||||
"frame": {"x":938,"y":505,"w":44,"h":46},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":2,"w":44,"h":46},
|
||||
@ -832,9 +840,17 @@
|
||||
"spriteSourceSize": {"x":4,"y":4,"w":184,"h":185},
|
||||
"sourceSize": {"w":192,"h":192}
|
||||
},
|
||||
"sprites/buildings/item_producer.png":
|
||||
{
|
||||
"frame": {"x":844,"y":416,"w":45,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":0,"w":45,"h":48},
|
||||
"sourceSize": {"w":48,"h":48}
|
||||
},
|
||||
"sprites/buildings/lever.png":
|
||||
{
|
||||
"frame": {"x":598,"y":525,"w":34,"h":40},
|
||||
"frame": {"x":684,"y":570,"w":34,"h":40},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":7,"y":2,"w":34,"h":40},
|
||||
@ -842,7 +858,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate-not.png":
|
||||
{
|
||||
"frame": {"x":706,"y":520,"w":43,"h":48},
|
||||
"frame": {"x":806,"y":524,"w":43,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":43,"h":48},
|
||||
@ -978,7 +994,7 @@
|
||||
},
|
||||
"sprites/buildings/transistor-mirrored.png":
|
||||
{
|
||||
"frame": {"x":466,"y":464,"w":34,"h":48},
|
||||
"frame": {"x":644,"y":526,"w":34,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":14,"y":0,"w":34,"h":48},
|
||||
@ -1034,7 +1050,7 @@
|
||||
},
|
||||
"sprites/buildings/virtual_processor-painter.png":
|
||||
{
|
||||
"frame": {"x":844,"y":416,"w":44,"h":48},
|
||||
"frame": {"x":838,"y":470,"w":44,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
|
||||
@ -1050,7 +1066,7 @@
|
||||
},
|
||||
"sprites/buildings/virtual_processor-stacker.png":
|
||||
{
|
||||
"frame": {"x":894,"y":439,"w":44,"h":48},
|
||||
"frame": {"x":945,"y":451,"w":44,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":4,"y":0,"w":44,"h":48},
|
||||
@ -1202,7 +1218,7 @@
|
||||
},
|
||||
"sprites/misc/slot_good_arrow.png":
|
||||
{
|
||||
"frame": {"x":821,"y":428,"w":13,"h":13},
|
||||
"frame": {"x":822,"y":428,"w":13,"h":13},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":13,"h":13},
|
||||
@ -1226,7 +1242,7 @@
|
||||
},
|
||||
"sprites/wires/boolean_false.png":
|
||||
{
|
||||
"frame": {"x":821,"y":447,"w":12,"h":15},
|
||||
"frame": {"x":822,"y":447,"w":12,"h":15},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":1,"w":12,"h":15},
|
||||
@ -1338,7 +1354,7 @@
|
||||
},
|
||||
"sprites/wires/overlay_tile.png":
|
||||
{
|
||||
"frame": {"x":849,"y":522,"w":32,"h":32},
|
||||
"frame": {"x":949,"y":557,"w":32,"h":32},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
|
||||
@ -1354,7 +1370,7 @@
|
||||
},
|
||||
"sprites/wires/sets/conflict_forward.png":
|
||||
{
|
||||
"frame": {"x":821,"y":468,"w":10,"h":48},
|
||||
"frame": {"x":822,"y":468,"w":10,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":19,"y":0,"w":10,"h":48},
|
||||
@ -1386,7 +1402,7 @@
|
||||
},
|
||||
"sprites/wires/sets/first_forward.png":
|
||||
{
|
||||
"frame": {"x":994,"y":451,"w":10,"h":48},
|
||||
"frame": {"x":995,"y":451,"w":10,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":19,"y":0,"w":10,"h":48},
|
||||
@ -1418,7 +1434,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_forward.png":
|
||||
{
|
||||
"frame": {"x":987,"y":505,"w":10,"h":48},
|
||||
"frame": {"x":988,"y":505,"w":10,"h":48},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":19,"y":0,"w":10,"h":48},
|
||||
@ -1455,6 +1471,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":1024,"h":1024},
|
||||
"scale": "0.25",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 283 KiB After Width: | Height: | Size: 286 KiB |
@ -10,7 +10,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_1.png":
|
||||
{
|
||||
"frame": {"x":936,"y":1756,"w":78,"h":96},
|
||||
"frame": {"x":568,"y":924,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -18,7 +18,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_2.png":
|
||||
{
|
||||
"frame": {"x":174,"y":1858,"w":78,"h":96},
|
||||
"frame": {"x":342,"y":1897,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -26,7 +26,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_3.png":
|
||||
{
|
||||
"frame": {"x":174,"y":1744,"w":78,"h":96},
|
||||
"frame": {"x":864,"y":1536,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -34,7 +34,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_4.png":
|
||||
{
|
||||
"frame": {"x":348,"y":1690,"w":78,"h":96},
|
||||
"frame": {"x":766,"y":1576,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -42,7 +42,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_5.png":
|
||||
{
|
||||
"frame": {"x":258,"y":1747,"w":78,"h":96},
|
||||
"frame": {"x":666,"y":1656,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -50,7 +50,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_6.png":
|
||||
{
|
||||
"frame": {"x":432,"y":1700,"w":78,"h":96},
|
||||
"frame": {"x":568,"y":1723,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -58,7 +58,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_7.png":
|
||||
{
|
||||
"frame": {"x":342,"y":1792,"w":78,"h":96},
|
||||
"frame": {"x":471,"y":1795,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -66,7 +66,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_8.png":
|
||||
{
|
||||
"frame": {"x":258,"y":1849,"w":78,"h":96},
|
||||
"frame": {"x":426,"y":1897,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -74,7 +74,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_9.png":
|
||||
{
|
||||
"frame": {"x":342,"y":1894,"w":78,"h":96},
|
||||
"frame": {"x":510,"y":1897,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -82,7 +82,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_10.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1858,"w":78,"h":96},
|
||||
"frame": {"x":6,"y":1940,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -90,7 +90,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_11.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1744,"w":78,"h":96},
|
||||
"frame": {"x":90,"y":1940,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -98,7 +98,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_12.png":
|
||||
{
|
||||
"frame": {"x":90,"y":1858,"w":78,"h":96},
|
||||
"frame": {"x":174,"y":1940,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -106,7 +106,7 @@
|
||||
},
|
||||
"sprites/belt/built/forward_13.png":
|
||||
{
|
||||
"frame": {"x":90,"y":1744,"w":78,"h":96},
|
||||
"frame": {"x":258,"y":1905,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -114,7 +114,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_0.png":
|
||||
{
|
||||
"frame": {"x":203,"y":1372,"w":87,"h":87},
|
||||
"frame": {"x":103,"y":1466,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -122,7 +122,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_1.png":
|
||||
{
|
||||
"frame": {"x":104,"y":1415,"w":87,"h":87},
|
||||
"frame": {"x":6,"y":1487,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -130,7 +130,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_2.png":
|
||||
{
|
||||
"frame": {"x":575,"y":1465,"w":87,"h":87},
|
||||
"frame": {"x":99,"y":1559,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -138,7 +138,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_3.png":
|
||||
{
|
||||
"frame": {"x":668,"y":1490,"w":87,"h":87},
|
||||
"frame": {"x":6,"y":1580,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -146,7 +146,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_4.png":
|
||||
{
|
||||
"frame": {"x":761,"y":1569,"w":87,"h":87},
|
||||
"frame": {"x":585,"y":1444,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -154,7 +154,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_5.png":
|
||||
{
|
||||
"frame": {"x":854,"y":1570,"w":87,"h":87},
|
||||
"frame": {"x":487,"y":1516,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -162,7 +162,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_6.png":
|
||||
{
|
||||
"frame": {"x":197,"y":1465,"w":87,"h":87},
|
||||
"frame": {"x":387,"y":1538,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -170,7 +170,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_7.png":
|
||||
{
|
||||
"frame": {"x":99,"y":1508,"w":87,"h":87},
|
||||
"frame": {"x":289,"y":1618,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -178,7 +178,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_8.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1553,"w":87,"h":87},
|
||||
"frame": {"x":192,"y":1626,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -186,7 +186,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_9.png":
|
||||
{
|
||||
"frame": {"x":290,"y":1465,"w":87,"h":87},
|
||||
"frame": {"x":99,"y":1652,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -194,7 +194,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_10.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1460,"w":87,"h":87},
|
||||
"frame": {"x":492,"y":1423,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -202,7 +202,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_11.png":
|
||||
{
|
||||
"frame": {"x":296,"y":1372,"w":87,"h":87},
|
||||
"frame": {"x":394,"y":1445,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -210,7 +210,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_12.png":
|
||||
{
|
||||
"frame": {"x":389,"y":1411,"w":87,"h":87},
|
||||
"frame": {"x":294,"y":1525,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -218,7 +218,7 @@
|
||||
},
|
||||
"sprites/belt/built/left_13.png":
|
||||
{
|
||||
"frame": {"x":482,"y":1421,"w":87,"h":87},
|
||||
"frame": {"x":196,"y":1533,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -226,7 +226,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_0.png":
|
||||
{
|
||||
"frame": {"x":383,"y":1504,"w":87,"h":87},
|
||||
"frame": {"x":6,"y":1673,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -234,7 +234,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_1.png":
|
||||
{
|
||||
"frame": {"x":476,"y":1514,"w":87,"h":87},
|
||||
"frame": {"x":678,"y":1470,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -242,7 +242,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_2.png":
|
||||
{
|
||||
"frame": {"x":192,"y":1558,"w":87,"h":87},
|
||||
"frame": {"x":192,"y":1719,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -250,7 +250,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_3.png":
|
||||
{
|
||||
"frame": {"x":99,"y":1601,"w":87,"h":87},
|
||||
"frame": {"x":99,"y":1745,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -258,7 +258,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_4.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1646,"w":87,"h":87},
|
||||
"frame": {"x":6,"y":1766,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -266,7 +266,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_5.png":
|
||||
{
|
||||
"frame": {"x":285,"y":1558,"w":87,"h":87},
|
||||
"frame": {"x":771,"y":1483,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -274,7 +274,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_6.png":
|
||||
{
|
||||
"frame": {"x":378,"y":1597,"w":87,"h":87},
|
||||
"frame": {"x":673,"y":1563,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -282,7 +282,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_7.png":
|
||||
{
|
||||
"frame": {"x":471,"y":1607,"w":87,"h":87},
|
||||
"frame": {"x":573,"y":1630,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -290,7 +290,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_8.png":
|
||||
{
|
||||
"frame": {"x":564,"y":1651,"w":87,"h":87},
|
||||
"frame": {"x":475,"y":1702,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -298,7 +298,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_9.png":
|
||||
{
|
||||
"frame": {"x":657,"y":1676,"w":87,"h":87},
|
||||
"frame": {"x":378,"y":1724,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -306,7 +306,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_10.png":
|
||||
{
|
||||
"frame": {"x":569,"y":1558,"w":87,"h":87},
|
||||
"frame": {"x":580,"y":1537,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -314,7 +314,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_11.png":
|
||||
{
|
||||
"frame": {"x":662,"y":1583,"w":87,"h":87},
|
||||
"frame": {"x":480,"y":1609,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -322,7 +322,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_12.png":
|
||||
{
|
||||
"frame": {"x":755,"y":1662,"w":87,"h":87},
|
||||
"frame": {"x":382,"y":1631,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -330,7 +330,7 @@
|
||||
},
|
||||
"sprites/belt/built/right_13.png":
|
||||
{
|
||||
"frame": {"x":848,"y":1663,"w":87,"h":87},
|
||||
"frame": {"x":285,"y":1711,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -346,7 +346,7 @@
|
||||
},
|
||||
"sprites/blueprints/balancer-merger-inverse.png":
|
||||
{
|
||||
"frame": {"x":791,"y":1193,"w":95,"h":93},
|
||||
"frame": {"x":794,"y":1206,"w":95,"h":93},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
|
||||
@ -362,7 +362,7 @@
|
||||
},
|
||||
"sprites/blueprints/balancer-splitter-inverse.png":
|
||||
{
|
||||
"frame": {"x":892,"y":1207,"w":95,"h":93},
|
||||
"frame": {"x":689,"y":1274,"w":95,"h":93},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":1,"w":95,"h":93},
|
||||
@ -370,7 +370,7 @@
|
||||
},
|
||||
"sprites/blueprints/balancer-splitter.png":
|
||||
{
|
||||
"frame": {"x":454,"y":1216,"w":93,"h":93},
|
||||
"frame": {"x":451,"y":1244,"w":93,"h":93},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":1,"w":93,"h":93},
|
||||
@ -386,7 +386,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_left.png":
|
||||
{
|
||||
"frame": {"x":750,"y":1755,"w":87,"h":87},
|
||||
"frame": {"x":285,"y":1804,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -394,7 +394,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_right.png":
|
||||
{
|
||||
"frame": {"x":843,"y":1756,"w":87,"h":87},
|
||||
"frame": {"x":192,"y":1812,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -402,7 +402,7 @@
|
||||
},
|
||||
"sprites/blueprints/belt_top.png":
|
||||
{
|
||||
"frame": {"x":516,"y":1744,"w":78,"h":96},
|
||||
"frame": {"x":850,"y":1638,"w":78,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":78,"h":96},
|
||||
@ -410,7 +410,7 @@
|
||||
},
|
||||
"sprites/blueprints/comparator.png":
|
||||
{
|
||||
"frame": {"x":461,"y":924,"w":96,"h":89},
|
||||
"frame": {"x":461,"y":1023,"w":96,"h":89},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":89},
|
||||
@ -456,6 +456,14 @@
|
||||
"spriteSourceSize": {"x":10,"y":0,"w":180,"h":96},
|
||||
"sourceSize": {"w":192,"h":96}
|
||||
},
|
||||
"sprites/blueprints/item_producer.png":
|
||||
{
|
||||
"frame": {"x":804,"y":799,"w":88,"h":95},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":5,"y":0,"w":88,"h":95},
|
||||
"sourceSize": {"w":96,"h":96}
|
||||
},
|
||||
"sprites/blueprints/lever.png":
|
||||
{
|
||||
"frame": {"x":285,"y":876,"w":68,"h":78},
|
||||
@ -466,7 +474,7 @@
|
||||
},
|
||||
"sprites/blueprints/logic_gate-not.png":
|
||||
{
|
||||
"frame": {"x":563,"y":924,"w":83,"h":96},
|
||||
"frame": {"x":563,"y":1026,"w":83,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":7,"y":0,"w":83,"h":96},
|
||||
@ -474,7 +482,7 @@
|
||||
},
|
||||
"sprites/blueprints/logic_gate-or.png":
|
||||
{
|
||||
"frame": {"x":795,"y":1105,"w":96,"h":82},
|
||||
"frame": {"x":694,"y":1084,"w":96,"h":82},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":82},
|
||||
@ -490,7 +498,7 @@
|
||||
},
|
||||
"sprites/blueprints/logic_gate.png":
|
||||
{
|
||||
"frame": {"x":461,"y":1019,"w":96,"h":89},
|
||||
"frame": {"x":357,"y":1024,"w":96,"h":89},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":89},
|
||||
@ -498,7 +506,7 @@
|
||||
},
|
||||
"sprites/blueprints/miner-chainable.png":
|
||||
{
|
||||
"frame": {"x":243,"y":1270,"w":92,"h":96},
|
||||
"frame": {"x":886,"y":1434,"w":92,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
|
||||
@ -506,7 +514,7 @@
|
||||
},
|
||||
"sprites/blueprints/miner.png":
|
||||
{
|
||||
"frame": {"x":341,"y":1270,"w":92,"h":96},
|
||||
"frame": {"x":105,"y":1263,"w":92,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":96},
|
||||
@ -554,7 +562,7 @@
|
||||
},
|
||||
"sprites/blueprints/reader.png":
|
||||
{
|
||||
"frame": {"x":796,"y":901,"w":95,"h":96},
|
||||
"frame": {"x":796,"y":1002,"w":95,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
|
||||
@ -626,7 +634,7 @@
|
||||
},
|
||||
"sprites/blueprints/underground_belt_entry-tier2.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1290,"w":93,"h":84},
|
||||
"frame": {"x":180,"y":1173,"w":93,"h":84},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":12,"w":93,"h":84},
|
||||
@ -634,7 +642,7 @@
|
||||
},
|
||||
"sprites/blueprints/underground_belt_entry.png":
|
||||
{
|
||||
"frame": {"x":883,"y":1306,"w":93,"h":75},
|
||||
"frame": {"x":890,"y":1353,"w":93,"h":75},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":21,"w":93,"h":75},
|
||||
@ -642,7 +650,7 @@
|
||||
},
|
||||
"sprites/blueprints/underground_belt_exit-tier2.png":
|
||||
{
|
||||
"frame": {"x":320,"y":1189,"w":94,"h":75},
|
||||
"frame": {"x":351,"y":1182,"w":94,"h":75},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":0,"w":94,"h":75},
|
||||
@ -650,7 +658,7 @@
|
||||
},
|
||||
"sprites/blueprints/underground_belt_exit.png":
|
||||
{
|
||||
"frame": {"x":883,"y":1387,"w":93,"h":75},
|
||||
"frame": {"x":787,"y":1402,"w":93,"h":75},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":0,"w":93,"h":75},
|
||||
@ -658,7 +666,7 @@
|
||||
},
|
||||
"sprites/blueprints/virtual_processor-painter.png":
|
||||
{
|
||||
"frame": {"x":804,"y":799,"w":87,"h":96},
|
||||
"frame": {"x":804,"y":900,"w":87,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":87,"h":96},
|
||||
@ -666,7 +674,7 @@
|
||||
},
|
||||
"sprites/blueprints/virtual_processor-rotater.png":
|
||||
{
|
||||
"frame": {"x":897,"y":950,"w":96,"h":94},
|
||||
"frame": {"x":466,"y":923,"w":96,"h":94},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":96,"h":94},
|
||||
@ -674,7 +682,7 @@
|
||||
},
|
||||
"sprites/blueprints/virtual_processor-stacker.png":
|
||||
{
|
||||
"frame": {"x":555,"y":1128,"w":87,"h":96},
|
||||
"frame": {"x":557,"y":1224,"w":87,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":87,"h":96},
|
||||
@ -698,7 +706,7 @@
|
||||
},
|
||||
"sprites/blueprints/wire_tunnel.png":
|
||||
{
|
||||
"frame": {"x":685,"y":1288,"w":93,"h":91},
|
||||
"frame": {"x":550,"y":1326,"w":93,"h":91},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":2,"y":2,"w":93,"h":91},
|
||||
@ -706,7 +714,7 @@
|
||||
},
|
||||
"sprites/buildings/analyzer.png":
|
||||
{
|
||||
"frame": {"x":897,"y":848,"w":96,"h":96},
|
||||
"frame": {"x":898,"y":848,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -714,7 +722,7 @@
|
||||
},
|
||||
"sprites/buildings/balancer-merger-inverse.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1193,"w":94,"h":91},
|
||||
"frame": {"x":790,"y":1305,"w":94,"h":91},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":94,"h":91},
|
||||
@ -722,7 +730,7 @@
|
||||
},
|
||||
"sprites/buildings/balancer-merger.png":
|
||||
{
|
||||
"frame": {"x":784,"y":1292,"w":93,"h":91},
|
||||
"frame": {"x":688,"y":1373,"w":93,"h":91},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
|
||||
@ -730,7 +738,7 @@
|
||||
},
|
||||
"sprites/buildings/balancer-splitter-inverse.png":
|
||||
{
|
||||
"frame": {"x":180,"y":1141,"w":95,"h":91},
|
||||
"frame": {"x":895,"y":1256,"w":95,"h":91},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":95,"h":91},
|
||||
@ -738,7 +746,7 @@
|
||||
},
|
||||
"sprites/buildings/balancer-splitter.png":
|
||||
{
|
||||
"frame": {"x":144,"y":1238,"w":93,"h":91},
|
||||
"frame": {"x":6,"y":1193,"w":93,"h":91},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":2,"w":93,"h":91},
|
||||
@ -754,7 +762,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_left.png":
|
||||
{
|
||||
"frame": {"x":203,"y":1372,"w":87,"h":87},
|
||||
"frame": {"x":103,"y":1466,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":9,"w":87,"h":87},
|
||||
@ -762,7 +770,7 @@
|
||||
},
|
||||
"sprites/buildings/belt_right.png":
|
||||
{
|
||||
"frame": {"x":383,"y":1504,"w":87,"h":87},
|
||||
"frame": {"x":6,"y":1673,"w":87,"h":87},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":9,"w":87,"h":87},
|
||||
@ -778,7 +786,7 @@
|
||||
},
|
||||
"sprites/buildings/comparator.png":
|
||||
{
|
||||
"frame": {"x":694,"y":1002,"w":96,"h":89},
|
||||
"frame": {"x":180,"y":1078,"w":96,"h":89},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":89},
|
||||
@ -810,7 +818,7 @@
|
||||
},
|
||||
"sprites/buildings/display.png":
|
||||
{
|
||||
"frame": {"x":258,"y":1651,"w":84,"h":90},
|
||||
"frame": {"x":561,"y":1128,"w":84,"h":90},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":6,"y":6,"w":84,"h":90},
|
||||
@ -832,6 +840,14 @@
|
||||
"spriteSourceSize": {"x":9,"y":10,"w":366,"h":367},
|
||||
"sourceSize": {"w":384,"h":384}
|
||||
},
|
||||
"sprites/buildings/item_producer.png":
|
||||
{
|
||||
"frame": {"x":201,"y":1432,"w":87,"h":95},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":5,"y":0,"w":87,"h":95},
|
||||
"sourceSize": {"w":96,"h":96}
|
||||
},
|
||||
"sprites/buildings/lever.png":
|
||||
{
|
||||
"frame": {"x":108,"y":1074,"w":66,"h":77},
|
||||
@ -842,7 +858,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate-not.png":
|
||||
{
|
||||
"frame": {"x":563,"y":1026,"w":82,"h":96},
|
||||
"frame": {"x":99,"y":1838,"w":82,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":8,"y":0,"w":82,"h":96},
|
||||
@ -850,7 +866,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate-or.png":
|
||||
{
|
||||
"frame": {"x":693,"y":1097,"w":96,"h":83},
|
||||
"frame": {"x":694,"y":995,"w":96,"h":83},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":83},
|
||||
@ -858,7 +874,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate-xor.png":
|
||||
{
|
||||
"frame": {"x":694,"y":901,"w":96,"h":95},
|
||||
"frame": {"x":466,"y":822,"w":96,"h":95},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":95},
|
||||
@ -866,7 +882,7 @@
|
||||
},
|
||||
"sprites/buildings/logic_gate.png":
|
||||
{
|
||||
"frame": {"x":897,"y":1050,"w":96,"h":88},
|
||||
"frame": {"x":694,"y":901,"w":96,"h":88},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":88},
|
||||
@ -874,7 +890,7 @@
|
||||
},
|
||||
"sprites/buildings/miner-chainable.png":
|
||||
{
|
||||
"frame": {"x":733,"y":1389,"w":91,"h":95},
|
||||
"frame": {"x":104,"y":1365,"w":91,"h":95},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
|
||||
@ -882,7 +898,7 @@
|
||||
},
|
||||
"sprites/buildings/miner.png":
|
||||
{
|
||||
"frame": {"x":830,"y":1468,"w":91,"h":95},
|
||||
"frame": {"x":6,"y":1386,"w":91,"h":95},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":91,"h":95},
|
||||
@ -930,7 +946,7 @@
|
||||
},
|
||||
"sprites/buildings/reader.png":
|
||||
{
|
||||
"frame": {"x":796,"y":1003,"w":95,"h":96},
|
||||
"frame": {"x":897,"y":1052,"w":95,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
|
||||
@ -938,7 +954,7 @@
|
||||
},
|
||||
"sprites/buildings/rotater-ccw.png":
|
||||
{
|
||||
"frame": {"x":353,"y":1087,"w":95,"h":96},
|
||||
"frame": {"x":796,"y":1104,"w":95,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
|
||||
@ -946,7 +962,7 @@
|
||||
},
|
||||
"sprites/buildings/rotater-rotate180.png":
|
||||
{
|
||||
"frame": {"x":454,"y":1114,"w":95,"h":96},
|
||||
"frame": {"x":693,"y":1172,"w":95,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
|
||||
@ -954,7 +970,7 @@
|
||||
},
|
||||
"sprites/buildings/rotater.png":
|
||||
{
|
||||
"frame": {"x":690,"y":1186,"w":95,"h":96},
|
||||
"frame": {"x":897,"y":1154,"w":95,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":95,"h":96},
|
||||
@ -994,7 +1010,7 @@
|
||||
},
|
||||
"sprites/buildings/trash.png":
|
||||
{
|
||||
"frame": {"x":364,"y":822,"w":96,"h":96},
|
||||
"frame": {"x":897,"y":950,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1002,7 +1018,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_entry-tier2.png":
|
||||
{
|
||||
"frame": {"x":537,"y":1332,"w":92,"h":83},
|
||||
"frame": {"x":203,"y":1263,"w":92,"h":83},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":13,"w":92,"h":83},
|
||||
@ -1010,7 +1026,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_entry.png":
|
||||
{
|
||||
"frame": {"x":105,"y":1335,"w":92,"h":74},
|
||||
"frame": {"x":301,"y":1263,"w":92,"h":74},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":22,"w":92,"h":74},
|
||||
@ -1018,7 +1034,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_exit-tier2.png":
|
||||
{
|
||||
"frame": {"x":6,"y":1380,"w":92,"h":74},
|
||||
"frame": {"x":301,"y":1343,"w":92,"h":74},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
|
||||
@ -1026,7 +1042,7 @@
|
||||
},
|
||||
"sprites/buildings/underground_belt_exit.png":
|
||||
{
|
||||
"frame": {"x":635,"y":1385,"w":92,"h":74},
|
||||
"frame": {"x":203,"y":1352,"w":92,"h":74},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":92,"h":74},
|
||||
@ -1034,7 +1050,7 @@
|
||||
},
|
||||
"sprites/buildings/virtual_processor-painter.png":
|
||||
{
|
||||
"frame": {"x":553,"y":1230,"w":87,"h":96},
|
||||
"frame": {"x":399,"y":1343,"w":87,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":87,"h":96},
|
||||
@ -1050,7 +1066,7 @@
|
||||
},
|
||||
"sprites/buildings/virtual_processor-stacker.png":
|
||||
{
|
||||
"frame": {"x":927,"y":1468,"w":87,"h":96},
|
||||
"frame": {"x":301,"y":1423,"w":87,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":9,"y":0,"w":87,"h":96},
|
||||
@ -1058,7 +1074,7 @@
|
||||
},
|
||||
"sprites/buildings/virtual_processor-unstacker.png":
|
||||
{
|
||||
"frame": {"x":183,"y":876,"w":96,"h":96},
|
||||
"frame": {"x":364,"y":822,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1074,7 +1090,7 @@
|
||||
},
|
||||
"sprites/buildings/wire_tunnel.png":
|
||||
{
|
||||
"frame": {"x":439,"y":1315,"w":92,"h":90},
|
||||
"frame": {"x":6,"y":1290,"w":92,"h":90},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":3,"w":92,"h":90},
|
||||
@ -1114,7 +1130,7 @@
|
||||
},
|
||||
"sprites/colors/red.png":
|
||||
{
|
||||
"frame": {"x":651,"y":1051,"w":36,"h":34},
|
||||
"frame": {"x":652,"y":1051,"w":36,"h":34},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":36,"h":34},
|
||||
@ -1122,7 +1138,7 @@
|
||||
},
|
||||
"sprites/colors/uncolored.png":
|
||||
{
|
||||
"frame": {"x":651,"y":1091,"w":36,"h":34},
|
||||
"frame": {"x":652,"y":1091,"w":36,"h":34},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":36,"h":34},
|
||||
@ -1130,7 +1146,7 @@
|
||||
},
|
||||
"sprites/colors/white.png":
|
||||
{
|
||||
"frame": {"x":648,"y":1131,"w":36,"h":34},
|
||||
"frame": {"x":651,"y":1131,"w":36,"h":34},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":36,"h":34},
|
||||
@ -1138,7 +1154,7 @@
|
||||
},
|
||||
"sprites/colors/yellow.png":
|
||||
{
|
||||
"frame": {"x":648,"y":1171,"w":36,"h":34},
|
||||
"frame": {"x":651,"y":1171,"w":36,"h":34},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":2,"w":36,"h":34},
|
||||
@ -1162,7 +1178,7 @@
|
||||
},
|
||||
"sprites/misc/hub_direction_indicator.png":
|
||||
{
|
||||
"frame": {"x":646,"y":1328,"w":32,"h":32},
|
||||
"frame": {"x":649,"y":1406,"w":32,"h":32},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
|
||||
@ -1194,7 +1210,7 @@
|
||||
},
|
||||
"sprites/misc/slot_bad_arrow.png":
|
||||
{
|
||||
"frame": {"x":993,"y":1239,"w":24,"h":24},
|
||||
"frame": {"x":321,"y":1202,"w":24,"h":24},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":1,"w":24,"h":24},
|
||||
@ -1202,7 +1218,7 @@
|
||||
},
|
||||
"sprites/misc/slot_good_arrow.png":
|
||||
{
|
||||
"frame": {"x":993,"y":1207,"w":24,"h":26},
|
||||
"frame": {"x":321,"y":1170,"w":24,"h":26},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":1,"y":0,"w":24,"h":26},
|
||||
@ -1226,7 +1242,7 @@
|
||||
},
|
||||
"sprites/wires/boolean_false.png":
|
||||
{
|
||||
"frame": {"x":993,"y":1269,"w":21,"h":28},
|
||||
"frame": {"x":996,"y":1256,"w":21,"h":28},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":6,"y":3,"w":21,"h":28},
|
||||
@ -1242,7 +1258,7 @@
|
||||
},
|
||||
"sprites/wires/display/blue.png":
|
||||
{
|
||||
"frame": {"x":648,"y":1211,"w":33,"h":33},
|
||||
"frame": {"x":651,"y":1211,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1250,7 +1266,7 @@
|
||||
},
|
||||
"sprites/wires/display/cyan.png":
|
||||
{
|
||||
"frame": {"x":282,"y":1132,"w":33,"h":33},
|
||||
"frame": {"x":650,"y":1250,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1258,7 +1274,7 @@
|
||||
},
|
||||
"sprites/wires/display/green.png":
|
||||
{
|
||||
"frame": {"x":281,"y":1171,"w":33,"h":33},
|
||||
"frame": {"x":650,"y":1289,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1266,7 +1282,7 @@
|
||||
},
|
||||
"sprites/wires/display/purple.png":
|
||||
{
|
||||
"frame": {"x":108,"y":1157,"w":33,"h":33},
|
||||
"frame": {"x":282,"y":1132,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1274,7 +1290,7 @@
|
||||
},
|
||||
"sprites/wires/display/red.png":
|
||||
{
|
||||
"frame": {"x":281,"y":1210,"w":33,"h":33},
|
||||
"frame": {"x":282,"y":1171,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1282,7 +1298,7 @@
|
||||
},
|
||||
"sprites/wires/display/white.png":
|
||||
{
|
||||
"frame": {"x":646,"y":1250,"w":33,"h":33},
|
||||
"frame": {"x":649,"y":1328,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1290,7 +1306,7 @@
|
||||
},
|
||||
"sprites/wires/display/yellow.png":
|
||||
{
|
||||
"frame": {"x":646,"y":1289,"w":33,"h":33},
|
||||
"frame": {"x":649,"y":1367,"w":33,"h":33},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":33,"h":33},
|
||||
@ -1322,7 +1338,7 @@
|
||||
},
|
||||
"sprites/wires/network_conflict.png":
|
||||
{
|
||||
"frame": {"x":106,"y":1234,"w":32,"h":30},
|
||||
"frame": {"x":279,"y":1210,"w":32,"h":30},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":1,"w":32,"h":30},
|
||||
@ -1330,7 +1346,7 @@
|
||||
},
|
||||
"sprites/wires/network_empty.png":
|
||||
{
|
||||
"frame": {"x":420,"y":1189,"w":28,"h":32},
|
||||
"frame": {"x":146,"y":1157,"w":28,"h":32},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":3,"y":0,"w":28,"h":32},
|
||||
@ -1346,7 +1362,7 @@
|
||||
},
|
||||
"sprites/wires/sets/conflict_cross.png":
|
||||
{
|
||||
"frame": {"x":6,"y":889,"w":96,"h":96},
|
||||
"frame": {"x":183,"y":876,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1354,7 +1370,7 @@
|
||||
},
|
||||
"sprites/wires/sets/conflict_forward.png":
|
||||
{
|
||||
"frame": {"x":999,"y":848,"w":18,"h":96},
|
||||
"frame": {"x":1000,"y":848,"w":18,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":39,"y":0,"w":18,"h":96},
|
||||
@ -1362,7 +1378,7 @@
|
||||
},
|
||||
"sprites/wires/sets/conflict_split.png":
|
||||
{
|
||||
"frame": {"x":897,"y":1144,"w":96,"h":57},
|
||||
"frame": {"x":459,"y":1118,"w":96,"h":57},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":39,"w":96,"h":57},
|
||||
@ -1378,7 +1394,7 @@
|
||||
},
|
||||
"sprites/wires/sets/first_cross.png":
|
||||
{
|
||||
"frame": {"x":6,"y":991,"w":96,"h":96},
|
||||
"frame": {"x":6,"y":889,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1394,7 +1410,7 @@
|
||||
},
|
||||
"sprites/wires/sets/first_split.png":
|
||||
{
|
||||
"frame": {"x":357,"y":1024,"w":96,"h":57},
|
||||
"frame": {"x":353,"y":1119,"w":96,"h":57},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":39,"w":96,"h":57},
|
||||
@ -1410,7 +1426,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_cross.png":
|
||||
{
|
||||
"frame": {"x":466,"y":822,"w":96,"h":96},
|
||||
"frame": {"x":6,"y":991,"w":96,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":96,"h":96},
|
||||
@ -1418,7 +1434,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_forward.png":
|
||||
{
|
||||
"frame": {"x":999,"y":1052,"w":18,"h":96},
|
||||
"frame": {"x":998,"y":1052,"w":18,"h":96},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":39,"y":0,"w":18,"h":96},
|
||||
@ -1426,7 +1442,7 @@
|
||||
},
|
||||
"sprites/wires/sets/second_split.png":
|
||||
{
|
||||
"frame": {"x":180,"y":1078,"w":96,"h":57},
|
||||
"frame": {"x":455,"y":1181,"w":96,"h":57},
|
||||
"rotated": false,
|
||||
"trimmed": true,
|
||||
"spriteSourceSize": {"x":0,"y":39,"w":96,"h":57},
|
||||
@ -1442,7 +1458,7 @@
|
||||
},
|
||||
"sprites/wires/wires_preview.png":
|
||||
{
|
||||
"frame": {"x":106,"y":1196,"w":32,"h":32},
|
||||
"frame": {"x":108,"y":1157,"w":32,"h":32},
|
||||
"rotated": false,
|
||||
"trimmed": false,
|
||||
"spriteSourceSize": {"x":0,"y":0,"w":32,"h":32},
|
||||
@ -1455,6 +1471,6 @@
|
||||
"format": "RGBA8888",
|
||||
"size": {"w":1024,"h":2048},
|
||||
"scale": "0.5",
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:19330d11a27d320d8e46be8f211ea26a:6c32332cb8456652726098bfd11407a1:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
"smartupdate": "$TexturePacker:SmartUpdate:a1c027d325ef1c92a9318164b1241662:a9c9c3627ec9506697a7e24a7a287d67:908b89f5ca8ff73e331a35a3b14d0604$"
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 706 KiB After Width: | Height: | Size: 723 KiB |
@ -268,6 +268,7 @@
|
||||
<key type="filename">sprites/blueprints/comparator.png</key>
|
||||
<key type="filename">sprites/blueprints/constant_signal.png</key>
|
||||
<key type="filename">sprites/blueprints/display.png</key>
|
||||
<key type="filename">sprites/blueprints/item_producer.png</key>
|
||||
<key type="filename">sprites/blueprints/lever.png</key>
|
||||
<key type="filename">sprites/blueprints/logic_gate-not.png</key>
|
||||
<key type="filename">sprites/blueprints/logic_gate-or.png</key>
|
||||
@ -300,6 +301,7 @@
|
||||
<key type="filename">sprites/buildings/comparator.png</key>
|
||||
<key type="filename">sprites/buildings/constant_signal.png</key>
|
||||
<key type="filename">sprites/buildings/display.png</key>
|
||||
<key type="filename">sprites/buildings/item_producer.png</key>
|
||||
<key type="filename">sprites/buildings/lever.png</key>
|
||||
<key type="filename">sprites/buildings/logic_gate-not.png</key>
|
||||
<key type="filename">sprites/buildings/logic_gate-or.png</key>
|
||||
|
BIN
res_raw/sprites/blueprints/item_producer.png
Normal file
After Width: | Height: | Size: 8.4 KiB |
BIN
res_raw/sprites/buildings/item_producer.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
@ -1,39 +1,40 @@
|
||||
#ingame_HUD_BlueprintPlacer {
|
||||
position: absolute;
|
||||
@include S(top, 50px);
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
color: #333;
|
||||
z-index: 9999;
|
||||
background: $ingameHudBg;
|
||||
@include S(padding, 5px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
color: #fff;
|
||||
@include S(width, 120px);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
.label {
|
||||
@include PlainText;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.costContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@include Heading;
|
||||
|
||||
> canvas {
|
||||
@include S(margin-left, 5px);
|
||||
@include S(width, 30px);
|
||||
@include S(height, 30px);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.canAfford) {
|
||||
background: rgba(98, 27, 41, 0.8);
|
||||
// .costContainer {
|
||||
color: rgb(255, 97, 128);
|
||||
// }
|
||||
}
|
||||
}
|
||||
#ingame_HUD_BlueprintPlacer {
|
||||
position: absolute;
|
||||
@include S(top, 70px);
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
color: #333;
|
||||
z-index: 9999;
|
||||
background: $ingameHudBg;
|
||||
@include S(padding, 5px);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
color: #fff;
|
||||
@include S(width, 120px);
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
@include S(border-radius, $globalBorderRadius);
|
||||
|
||||
.label {
|
||||
@include PlainText;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.costContainer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@include Heading;
|
||||
|
||||
> canvas {
|
||||
@include S(margin-left, 5px);
|
||||
@include S(width, 30px);
|
||||
@include S(height, 30px);
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.canAfford) {
|
||||
background: rgba(98, 27, 41, 0.8);
|
||||
// .costContainer {
|
||||
color: rgb(255, 97, 128);
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
23
src/css/ingame_hud/cat_memes.scss
Normal file
@ -0,0 +1,23 @@
|
||||
#ingame_HUD_CatMemes {
|
||||
position: absolute;
|
||||
@include S(width, 150px);
|
||||
@include S(height, 150px);
|
||||
background: transparent center center / contain no-repeat;
|
||||
|
||||
right: 0;
|
||||
@include S(bottom, 150px);
|
||||
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/memes/cat1.png") !important;
|
||||
}
|
||||
|
||||
@include InlineAnimation(0.5s ease-in-out) {
|
||||
0% {
|
||||
transform: translateX(100%);
|
||||
}
|
||||
100% {
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
}
|
@ -180,11 +180,13 @@
|
||||
}
|
||||
|
||||
.ingameItemChooser {
|
||||
@include S(margin, 20px, 0);
|
||||
@include S(margin, 10px, 0);
|
||||
display: grid;
|
||||
grid-auto-flow: column;
|
||||
grid-auto-columns: 1fr;
|
||||
@include S(grid-column-gap, 3px);
|
||||
@include S(grid-row-gap, 5px);
|
||||
grid-template-columns: repeat(10, 1fr);
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
|
||||
canvas {
|
||||
pointer-events: all;
|
||||
|
169
src/css/ingame_hud/standalone_advantages.scss
Normal file
@ -0,0 +1,169 @@
|
||||
#ingame_HUD_StandaloneAdvantages {
|
||||
.content {
|
||||
@include S(width, 440px);
|
||||
@include S(min-height, 300px);
|
||||
}
|
||||
p {
|
||||
@include PlainText;
|
||||
}
|
||||
|
||||
.points {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
@include S(grid-column-gap, 10px);
|
||||
@include S(grid-row-gap, 20px);
|
||||
@include S(margin, 10px, 0, 20px);
|
||||
grid-template-rows: #{D(40px)};
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.lowerBar {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
|
||||
> button {
|
||||
transition: opacity 0.12s ease-in-out;
|
||||
&:hover {
|
||||
opacity: 0.85;
|
||||
}
|
||||
}
|
||||
|
||||
.otherCloseButton {
|
||||
@include SuperSmallText;
|
||||
@include S(margin-right, 30px);
|
||||
color: #aaa;
|
||||
@include S(margin, 0);
|
||||
@include IncreasedClickArea(0px);
|
||||
@include S(margin-top, 15px);
|
||||
|
||||
@include InlineAnimation(5s ease-in-out) {
|
||||
0% {
|
||||
opacity: 0.05;
|
||||
}
|
||||
50% {
|
||||
opacity: 0.05;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.steamLinkButton {
|
||||
@include IncreasedClickArea(5px);
|
||||
@include S(margin, 0);
|
||||
@include S(width, 180px);
|
||||
@include S(height, 40px);
|
||||
background: #171a23 center center / contain no-repeat;
|
||||
|
||||
@include S(border-radius, $globalBorderRadius);
|
||||
}
|
||||
}
|
||||
|
||||
.point {
|
||||
display: grid;
|
||||
grid-template-columns: #{D(55px)} auto;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
|
||||
> strong {
|
||||
grid-column: 2 / 3;
|
||||
grid-row: 1 / 2;
|
||||
@include PlainText;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
> p {
|
||||
grid-column: 2 / 3;
|
||||
grid-row: 2 / 3;
|
||||
@include SuperSmallText;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
background: transparent #{D(10px)} center / #{D(30px)} no-repeat;
|
||||
|
||||
&.levels {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_new_levels.png");
|
||||
}
|
||||
> strong {
|
||||
color: #f13555;
|
||||
}
|
||||
}
|
||||
|
||||
&.upgrades {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_upgrades.png");
|
||||
}
|
||||
> strong {
|
||||
color: #8a00ff;
|
||||
}
|
||||
}
|
||||
|
||||
&.buildings {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_buildings.png");
|
||||
}
|
||||
> strong {
|
||||
color: #3fce8b;
|
||||
}
|
||||
}
|
||||
|
||||
&.wires {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_wires.png");
|
||||
}
|
||||
> strong {
|
||||
color: #ef2fdb;
|
||||
}
|
||||
}
|
||||
|
||||
&.markers {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_markers.png");
|
||||
}
|
||||
> strong {
|
||||
color: #4294ff;
|
||||
}
|
||||
}
|
||||
|
||||
&.savegames {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_savegames.png");
|
||||
}
|
||||
> strong {
|
||||
color: #ff9500;
|
||||
}
|
||||
}
|
||||
|
||||
&.darkmode {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_dark_mode.png");
|
||||
}
|
||||
> strong {
|
||||
color: #292c32;
|
||||
}
|
||||
}
|
||||
|
||||
&.support {
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/advantage_support.png");
|
||||
}
|
||||
> strong {
|
||||
color: #e72d2d;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -1,22 +1,85 @@
|
||||
#ingame_HUD_Watermark {
|
||||
position: absolute;
|
||||
& {
|
||||
/* @load-async */
|
||||
background: uiResource("get_on_steam.png") center center / contain no-repeat;
|
||||
}
|
||||
|
||||
@include S(width, 110px);
|
||||
@include S(height, 40px);
|
||||
@include S(top, 10px);
|
||||
@include S(border-radius, $globalBorderRadius);
|
||||
@include S(top, 70px);
|
||||
pointer-events: all;
|
||||
cursor: pointer;
|
||||
@include S(left, 160px);
|
||||
left: 50%;
|
||||
text-align: center;
|
||||
|
||||
background: rgba(207, 65, 65, 0.8);
|
||||
color: #fff;
|
||||
transform: translateX(-50%);
|
||||
@include PlainText;
|
||||
@include S(padding, 10px);
|
||||
|
||||
transition: all 0.12s ease-in;
|
||||
transition-property: opacity, transform;
|
||||
transform: skewX(-0.5deg);
|
||||
&:hover {
|
||||
transform: skewX(-1deg) scale(1.02);
|
||||
opacity: 0.9;
|
||||
transform: translateX(-50%) scale(1.02) !important;
|
||||
}
|
||||
|
||||
> strong {
|
||||
@include PlainText;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
> p {
|
||||
@include SuperSmallText;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
opacity: 0;
|
||||
|
||||
&.visible {
|
||||
@include InlineAnimation(0.5s ease-in-out) {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
&:not(.visible) {
|
||||
@include InlineAnimation(0.5s ease-in-out) {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ingame_HUD_WatermarkClicker {
|
||||
@include S(top, 55px);
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
transform: translateX(-50%) !important;
|
||||
@include SuperSmallText;
|
||||
color: $colorBlueBright;
|
||||
text-transform: uppercase;
|
||||
pointer-events: all;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
&:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
&::after {
|
||||
@include S(margin-left, 4px);
|
||||
content: "";
|
||||
@include S(width, 10px);
|
||||
@include S(height, 10px);
|
||||
display: inline-flex;
|
||||
background: center center / contain no-repeat;
|
||||
& {
|
||||
/* @load-async */
|
||||
background-image: uiResource("res/ui/icons/demo_steam_link_indicator.png");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -52,6 +52,8 @@
|
||||
@import "ingame_hud/color_blind_helper";
|
||||
@import "ingame_hud/shape_viewer";
|
||||
@import "ingame_hud/sandbox_controller";
|
||||
@import "ingame_hud/standalone_advantages";
|
||||
@import "ingame_hud/cat_memes";
|
||||
|
||||
// prettier-ignore
|
||||
$elements:
|
||||
@ -73,10 +75,11 @@ ingame_HUD_DebugInfo,
|
||||
ingame_HUD_EntityDebugger,
|
||||
ingame_HUD_InteractiveTutorial,
|
||||
ingame_HUD_TutorialHints,
|
||||
ingame_HUD_buildings_toolbar,
|
||||
ingame_HUD_BuildingsToolbar,
|
||||
ingame_HUD_wires_toolbar,
|
||||
ingame_HUD_BlueprintPlacer,
|
||||
ingame_HUD_Waypoints_Hint,
|
||||
ingame_HUD_WatermarkClicker,
|
||||
ingame_HUD_Watermark,
|
||||
ingame_HUD_ColorBlindBelowTileHelper,
|
||||
ingame_HUD_SandboxController,
|
||||
@ -88,9 +91,11 @@ ingame_HUD_BetaOverlay,
|
||||
ingame_HUD_Shop,
|
||||
ingame_HUD_Statistics,
|
||||
ingame_HUD_ShapeViewer,
|
||||
ingame_HUD_StandaloneAdvantages,
|
||||
ingame_HUD_UnlockNotification,
|
||||
ingame_HUD_SettingsMenu,
|
||||
ingame_HUD_ModalDialogs;
|
||||
ingame_HUD_ModalDialogs,
|
||||
ingame_HUD_CatMemes;
|
||||
|
||||
$zindex: 100;
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
$buildings: belt, cutter, miner, mixer, painter, rotater, balancer, stacker, trash, underground_belt, wire,
|
||||
constant_signal, logic_gate, lever, filter, wire_tunnel, display, virtual_processor, reader, storage,
|
||||
transistor, analyzer, comparator;
|
||||
transistor, analyzer, comparator, item_producer;
|
||||
|
||||
@each $building in $buildings {
|
||||
[data-icon="building_icons/#{$building}.png"] {
|
||||
@ -12,7 +12,7 @@ $buildings: belt, cutter, miner, mixer, painter, rotater, balancer, stacker, tra
|
||||
$buildingsAndVariants: belt, balancer, underground_belt, underground_belt-tier2, miner, miner-chainable,
|
||||
cutter, cutter-quad, rotater, rotater-ccw, stacker, mixer, painter-double, painter-quad, trash, storage,
|
||||
reader, rotater-rotate180, display, constant_signal, wire, wire_tunnel, logic_gate-or, logic_gate-not,
|
||||
logic_gate-xor, analyzer, virtual_processor-rotater, virtual_processor-unstacker,
|
||||
logic_gate-xor, analyzer, virtual_processor-rotater, virtual_processor-unstacker, item_producer,
|
||||
virtual_processor-stacker, virtual_processor-painter, wire-second, painter, painter-mirrored, comparator;
|
||||
@each $building in $buildingsAndVariants {
|
||||
[data-icon="building_tutorials/#{$building}.png"] {
|
||||
@ -75,3 +75,17 @@ $languages: en, de, cs, da, et, es-419, fr, it, pt-BR, sv, tr, el, ru, uk, zh-TW
|
||||
background-image: uiResource("languages/#{$language}.svg") !important;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
PRICE
|
||||
*/
|
||||
|
||||
.steam_1_pr {
|
||||
/* @load-async */
|
||||
background-image: uiResource("get_on_steam_with_price.png") !important;
|
||||
}
|
||||
|
||||
.steam_2_npr {
|
||||
/* @load-async */
|
||||
background-image: uiResource("get_on_steam.png") !important;
|
||||
}
|
||||
|
@ -133,10 +133,7 @@
|
||||
width: 100%;
|
||||
@include S(height, 40px);
|
||||
@include S(width, 180px);
|
||||
& {
|
||||
/* @load-async */
|
||||
background: #171a23 uiResource("get_on_steam.png") center center / contain no-repeat;
|
||||
}
|
||||
background: #171a23 center center / contain no-repeat;
|
||||
overflow: hidden;
|
||||
display: block;
|
||||
text-indent: -999em;
|
||||
|
@ -6,14 +6,6 @@ export const CHANGELOG = [
|
||||
"⚠️⚠️This update is HUGE, view the full changelog <a href='https://shapez.io/wires/' target='_blank'>here</a>! ⚠️⚠️",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "1.1.19",
|
||||
date: "02.07.2020",
|
||||
entries: [
|
||||
"There are now notifications every 15 minutes in the demo version to buy the full version (For further details and the reason, check the #surveys channel in the Discord)",
|
||||
"I'm still working on the wires update, I hope to release it mid july!",
|
||||
],
|
||||
},
|
||||
{
|
||||
version: "1.1.18",
|
||||
date: "27.06.2020",
|
||||
|
@ -25,6 +25,8 @@ export const THIRDPARTY_URLS = {
|
||||
standaloneStorePage: "https://store.steampowered.com/app/1318690/shapezio/",
|
||||
};
|
||||
|
||||
export const A_B_TESTING_LINK_TYPE = Math.random() > 0.5 ? "steam_1_pr" : "steam_2_npr";
|
||||
|
||||
export const globalConfig = {
|
||||
// Size of a single tile in Pixels.
|
||||
// NOTICE: Update webpack.production.config too!
|
||||
|
@ -23,7 +23,7 @@ export class MetaFilterBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers);
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_filter);
|
||||
}
|
||||
|
||||
getDimensions() {
|
||||
|
44
src/js/game/buildings/item_producer.js
Normal file
@ -0,0 +1,44 @@
|
||||
import { enumDirection, Vector } from "../../core/vector";
|
||||
import { ItemEjectorComponent } from "../components/item_ejector";
|
||||
import { ItemProducerComponent } from "../components/item_producer";
|
||||
import { enumPinSlotType, WiredPinsComponent } from "../components/wired_pins";
|
||||
import { Entity } from "../entity";
|
||||
import { MetaBuilding } from "../meta_building";
|
||||
|
||||
export class MetaItemProducerBuilding extends MetaBuilding {
|
||||
constructor() {
|
||||
super("item_producer");
|
||||
}
|
||||
|
||||
getSilhouetteColor() {
|
||||
return "#b37dcd";
|
||||
}
|
||||
|
||||
getShowWiresLayerPreview() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the entity at the given location
|
||||
* @param {Entity} entity
|
||||
*/
|
||||
setupEntityComponents(entity) {
|
||||
entity.addComponent(
|
||||
new ItemEjectorComponent({
|
||||
slots: [{ pos: new Vector(0, 0), direction: enumDirection.top }],
|
||||
})
|
||||
);
|
||||
entity.addComponent(
|
||||
new WiredPinsComponent({
|
||||
slots: [
|
||||
{
|
||||
pos: new Vector(0, 0),
|
||||
type: enumPinSlotType.logicalAcceptor,
|
||||
direction: enumDirection.bottom,
|
||||
},
|
||||
],
|
||||
})
|
||||
);
|
||||
entity.addComponent(new ItemProducerComponent());
|
||||
}
|
||||
}
|
@ -20,7 +20,7 @@ export class MetaLeverBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers);
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers);
|
||||
}
|
||||
|
||||
getDimensions() {
|
||||
|
@ -71,7 +71,7 @@ export class MetaPainterBuilding extends MetaBuilding {
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_double)) {
|
||||
variants.push(enumPainterVariants.double);
|
||||
}
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_quad)) {
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers)) {
|
||||
variants.push(enumPainterVariants.quad);
|
||||
}
|
||||
return variants;
|
||||
|
@ -4,6 +4,7 @@ import { WiredPinsComponent, enumPinSlotType } from "../components/wired_pins";
|
||||
import { Entity } from "../entity";
|
||||
import { defaultBuildingVariant, MetaBuilding } from "../meta_building";
|
||||
import { GameRoot } from "../root";
|
||||
import { enumHubGoalRewards } from "../tutorial_goals";
|
||||
import { MetaCutterBuilding } from "./cutter";
|
||||
import { MetaPainterBuilding } from "./painter";
|
||||
import { MetaRotaterBuilding } from "./rotater";
|
||||
@ -47,8 +48,7 @@ export class MetaVirtualProcessorBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
// @todo
|
||||
return true;
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_virtual_processing);
|
||||
}
|
||||
|
||||
/** @returns {"wires"} **/
|
||||
|
@ -82,7 +82,7 @@ export class MetaWireBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers);
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -21,7 +21,7 @@ export class MetaWireTunnelBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers);
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -353,7 +353,7 @@ export class Camera extends BasicSerializableObject {
|
||||
.add(() => (this.desiredZoom = this.zoomLevel * 1.2));
|
||||
mapper
|
||||
.getBinding(KEYMAPPINGS.navigation.mapZoomOut)
|
||||
.add(() => (this.desiredZoom = this.zoomLevel * 0.8));
|
||||
.add(() => (this.desiredZoom = this.zoomLevel / 1.2));
|
||||
|
||||
mapper.getBinding(KEYMAPPINGS.navigation.centerMap).add(() => this.centerOnMap());
|
||||
}
|
||||
@ -502,10 +502,10 @@ export class Camera extends BasicSerializableObject {
|
||||
}
|
||||
const prevZoom = this.zoomLevel;
|
||||
|
||||
const delta = Math.sign(event.deltaY) * -0.15 * this.root.app.settings.getScrollWheelSensitivity();
|
||||
assert(Number.isFinite(delta), "Got invalid delta in mouse wheel event: " + event.deltaY);
|
||||
const scale = 1 + 0.15 * this.root.app.settings.getScrollWheelSensitivity();
|
||||
assert(Number.isFinite(scale), "Got invalid scale in mouse wheel event: " + event.deltaY);
|
||||
assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *before* wheel: " + this.zoomLevel);
|
||||
this.zoomLevel *= 1 + delta;
|
||||
this.zoomLevel *= event.deltaY < 0 ? scale : 1 / scale;
|
||||
assert(Number.isFinite(this.zoomLevel), "Got invalid zoom level *after* wheel: " + this.zoomLevel);
|
||||
|
||||
this.clampZoomLevel();
|
||||
@ -939,6 +939,7 @@ export class Camera extends BasicSerializableObject {
|
||||
this.zoomLevel = this.zoomLevel * fade + this.desiredZoom * (1 - fade);
|
||||
assert(Number.isFinite(this.zoomLevel), "Zoom level is NaN after fade: " + this.zoomLevel);
|
||||
} else {
|
||||
this.zoomLevel = this.desiredZoom;
|
||||
this.desiredZoom = null;
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ import { WireTunnelComponent } from "./components/wire_tunnel";
|
||||
import { DisplayComponent } from "./components/display";
|
||||
import { BeltReaderComponent } from "./components/belt_reader";
|
||||
import { FilterComponent } from "./components/filter";
|
||||
import { ItemProducerComponent } from "./components/item_producer";
|
||||
|
||||
export function initComponentRegistry() {
|
||||
gComponentRegistry.register(StaticMapEntityComponent);
|
||||
@ -39,6 +40,7 @@ export function initComponentRegistry() {
|
||||
gComponentRegistry.register(DisplayComponent);
|
||||
gComponentRegistry.register(BeltReaderComponent);
|
||||
gComponentRegistry.register(FilterComponent);
|
||||
gComponentRegistry.register(ItemProducerComponent);
|
||||
|
||||
// IMPORTANT ^^^^^ UPDATE ENTITY COMPONENT STORAGE AFTERWARDS
|
||||
|
||||
|
7
src/js/game/components/item_producer.js
Normal file
@ -0,0 +1,7 @@
|
||||
import { Component } from "../component";
|
||||
|
||||
export class ItemProducerComponent extends Component {
|
||||
static getId() {
|
||||
return "ItemProducer";
|
||||
}
|
||||
}
|
@ -18,6 +18,7 @@ import { WireTunnelComponent } from "./components/wire_tunnel";
|
||||
import { DisplayComponent } from "./components/display";
|
||||
import { BeltReaderComponent } from "./components/belt_reader";
|
||||
import { FilterComponent } from "./components/filter";
|
||||
import { ItemProducerComponent } from "./components/item_producer";
|
||||
/* typehints:end */
|
||||
|
||||
/**
|
||||
@ -85,6 +86,9 @@ export class EntityComponentStorage {
|
||||
/** @type {FilterComponent} */
|
||||
this.Filter;
|
||||
|
||||
/** @type {ItemProducerComponent} */
|
||||
this.ItemProducer;
|
||||
|
||||
/* typehints:end */
|
||||
}
|
||||
}
|
||||
|
@ -23,6 +23,7 @@ import { DisplaySystem } from "./systems/display";
|
||||
import { ItemProcessorOverlaysSystem } from "./systems/item_processor_overlays";
|
||||
import { BeltReaderSystem } from "./systems/belt_reader";
|
||||
import { FilterSystem } from "./systems/filter";
|
||||
import { ItemProducerSystem } from "./systems/item_producer";
|
||||
|
||||
const logger = createLogger("game_system_manager");
|
||||
|
||||
@ -96,6 +97,9 @@ export class GameSystemManager {
|
||||
/** @type {FilterSystem} */
|
||||
filter: null,
|
||||
|
||||
/** @type {ItemProducerSystem} */
|
||||
itemProducer: null,
|
||||
|
||||
/* typehints:end */
|
||||
};
|
||||
this.systemUpdateOrder = [];
|
||||
@ -130,6 +134,8 @@ export class GameSystemManager {
|
||||
|
||||
add("filter", FilterSystem);
|
||||
|
||||
add("itemProducer", ItemProducerSystem);
|
||||
|
||||
add("itemEjector", ItemEjectorSystem);
|
||||
|
||||
add("mapResources", MapResourcesSystem);
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { globalConfig } from "../core/config";
|
||||
import { globalConfig, IS_DEMO } from "../core/config";
|
||||
import { RandomNumberGenerator } from "../core/rng";
|
||||
import { clamp, findNiceIntegerValue, randomChoice, randomInt } from "../core/utils";
|
||||
import { BasicSerializableObject, types } from "../savegame/serialization";
|
||||
@ -29,6 +29,10 @@ export class HubGoals extends BasicSerializableObject {
|
||||
return errorCode;
|
||||
}
|
||||
|
||||
if (IS_DEMO) {
|
||||
this.level = Math.min(this.level, tutorialGoals.length);
|
||||
}
|
||||
|
||||
// Compute gained rewards
|
||||
for (let i = 0; i < this.level - 1; ++i) {
|
||||
if (i < tutorialGoals.length) {
|
||||
@ -102,13 +106,23 @@ export class HubGoals extends BasicSerializableObject {
|
||||
if (ev.key === "b") {
|
||||
// root is not guaranteed to exist within ~0.5s after loading in
|
||||
if (this.root && this.root.app && this.root.app.gameAnalytics) {
|
||||
this.onGoalCompleted();
|
||||
if (!this.isEndOfDemoReached()) {
|
||||
this.onGoalCompleted();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether the end of the demo is reached
|
||||
* @returns {boolean}
|
||||
*/
|
||||
isEndOfDemoReached() {
|
||||
return IS_DEMO && this.level >= tutorialGoals.length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns how much of the current shape is stored
|
||||
* @param {ShapeDefinition} definition
|
||||
@ -144,9 +158,11 @@ export class HubGoals extends BasicSerializableObject {
|
||||
*/
|
||||
getCurrentGoalDelivered() {
|
||||
if (this.currentGoal.throughputOnly) {
|
||||
return this.root.productionAnalytics.getCurrentShapeRate(
|
||||
enumAnalyticsDataSource.delivered,
|
||||
this.currentGoal.definition
|
||||
return (
|
||||
this.root.productionAnalytics.getCurrentShapeRate(
|
||||
enumAnalyticsDataSource.delivered,
|
||||
this.currentGoal.definition
|
||||
) / globalConfig.analyticsSliceDurationSeconds
|
||||
);
|
||||
}
|
||||
|
||||
@ -188,7 +204,9 @@ export class HubGoals extends BasicSerializableObject {
|
||||
this.getCurrentGoalDelivered() >= this.currentGoal.required ||
|
||||
(G_IS_DEV && globalConfig.debug.rewardsInstant)
|
||||
) {
|
||||
this.onGoalCompleted();
|
||||
if (!this.isEndOfDemoReached()) {
|
||||
this.onGoalCompleted();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -209,10 +227,8 @@ export class HubGoals extends BasicSerializableObject {
|
||||
return;
|
||||
}
|
||||
|
||||
const required = 4 + (this.level - 27) * 0.25;
|
||||
|
||||
const required = Math.min(200, 4 + (this.level - 27) * 0.25);
|
||||
this.currentGoal = {
|
||||
/** @type {ShapeDefinition} */
|
||||
definition: this.computeFreeplayShape(this.level),
|
||||
required,
|
||||
reward: enumHubGoalRewards.no_reward_freeplay,
|
||||
@ -254,6 +270,11 @@ export class HubGoals extends BasicSerializableObject {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (IS_DEMO && currentLevel >= 4) {
|
||||
// DEMO
|
||||
return false;
|
||||
}
|
||||
|
||||
if (G_IS_DEV && globalConfig.debug.upgradesNoCost) {
|
||||
return true;
|
||||
}
|
||||
|
@ -47,6 +47,8 @@ import { HUDLayerPreview } from "./parts/layer_preview";
|
||||
import { HUDMinerHighlight } from "./parts/miner_highlight";
|
||||
import { HUDBetaOverlay } from "./parts/beta_overlay";
|
||||
import { HUDPerformanceWarning } from "./parts/performance_warning";
|
||||
import { HUDStandaloneAdvantages } from "./parts/standalone_advantages";
|
||||
import { HUDCatMemes } from "./parts/cat_memes";
|
||||
|
||||
export class GameHUD {
|
||||
/**
|
||||
@ -118,6 +120,8 @@ export class GameHUD {
|
||||
|
||||
if (IS_DEMO) {
|
||||
this.parts.watermark = new HUDWatermark(this.root);
|
||||
this.parts.standaloneAdvantages = new HUDStandaloneAdvantages(this.root);
|
||||
this.parts.catMemes = new HUDCatMemes(this.root);
|
||||
}
|
||||
|
||||
if (G_IS_DEV && globalConfig.debug.renderChanges) {
|
||||
@ -141,7 +145,7 @@ export class GameHUD {
|
||||
this.parts.sandboxController = new HUDSandboxController(this.root);
|
||||
}
|
||||
|
||||
if (!G_IS_RELEASE) {
|
||||
if (!G_IS_RELEASE && !G_IS_DEV) {
|
||||
this.parts.betaOverlay = new HUDBetaOverlay(this.root);
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,7 @@ export class HUDBetaOverlay extends BaseHUDPart {
|
||||
parent,
|
||||
"ingame_HUD_BetaOverlay",
|
||||
[],
|
||||
"<h2>CLOSED BETA VERSION</h2><span>This version is unstable, might crash and is not final!</span>"
|
||||
"<h2>UNSTABLE BETA VERSION</h2><span>Steam Release: 9th October 2020!</span>"
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,8 @@ import { MetaTrashBuilding } from "../../buildings/trash";
|
||||
import { MetaUndergroundBeltBuilding } from "../../buildings/underground_belt";
|
||||
import { HUDBaseToolbar } from "./base_toolbar";
|
||||
import { MetaStorageBuilding } from "../../buildings/storage";
|
||||
import { MetaItemProducerBuilding } from "../../buildings/item_producer";
|
||||
import { queryParamOptions } from "../../../core/query_parameters";
|
||||
|
||||
export class HUDBuildingsToolbar extends HUDBaseToolbar {
|
||||
constructor(root) {
|
||||
@ -29,6 +31,7 @@ export class HUDBuildingsToolbar extends HUDBaseToolbar {
|
||||
MetaMixerBuilding,
|
||||
MetaPainterBuilding,
|
||||
MetaTrashBuilding,
|
||||
...(queryParamOptions.sandboxMode || G_IS_DEV ? [MetaItemProducerBuilding] : []),
|
||||
],
|
||||
secondaryBuildings: [
|
||||
MetaStorageBuilding,
|
||||
@ -39,7 +42,7 @@ export class HUDBuildingsToolbar extends HUDBaseToolbar {
|
||||
],
|
||||
visibilityCondition: () =>
|
||||
!this.root.camera.getIsMapOverlayActive() && this.root.currentLayer === "regular",
|
||||
htmlElementId: "ingame_HUD_buildings_toolbar",
|
||||
htmlElementId: "ingame_HUD_BuildingsToolbar",
|
||||
});
|
||||
}
|
||||
}
|
||||
|
21
src/js/game/hud/parts/cat_memes.js
Normal file
@ -0,0 +1,21 @@
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DynamicDomAttach } from "../dynamic_dom_attach";
|
||||
|
||||
const memeShowIntervalSeconds = 70 * 60;
|
||||
const memeShowDuration = 5;
|
||||
|
||||
export class HUDCatMemes extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(parent, "ingame_HUD_CatMemes");
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element);
|
||||
}
|
||||
|
||||
update() {
|
||||
const now = this.root.time.realtimeNow();
|
||||
this.domAttach.update(now % memeShowIntervalSeconds > memeShowIntervalSeconds - memeShowDuration);
|
||||
}
|
||||
}
|
@ -259,7 +259,7 @@ export class HUDKeybindingOverlay extends BaseHUDPart {
|
||||
label: T.ingame.keybindingsOverlay.switchLayers,
|
||||
keys: [k.ingame.switchLayers],
|
||||
condition: () =>
|
||||
this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers),
|
||||
this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers),
|
||||
},
|
||||
];
|
||||
|
||||
|
@ -122,7 +122,7 @@ export class HUDModalDialogs extends BaseHUDPart {
|
||||
|
||||
dialog.buttonSignals.getStandalone.add(() => {
|
||||
this.app.analytics.trackUiClick("demo_dialog_click");
|
||||
window.open(THIRDPARTY_URLS.standaloneStorePage);
|
||||
window.open(THIRDPARTY_URLS.standaloneStorePage + "?ref=ddc");
|
||||
});
|
||||
|
||||
return dialog.buttonSignals;
|
||||
|
@ -6,6 +6,7 @@ import { blueprintShape, UPGRADES } from "../../upgrades";
|
||||
import { enumHubGoalRewards } from "../../tutorial_goals";
|
||||
import { enumAnalyticsDataSource } from "../../production_analytics";
|
||||
import { T } from "../../../translations";
|
||||
import { globalConfig } from "../../../core/config";
|
||||
|
||||
/**
|
||||
* Manages the pinned shapes on the left side of the screen
|
||||
@ -265,10 +266,11 @@ export class HUDPinnedShapes extends BaseHUDPart {
|
||||
let currentValueFormatted = formatBigNumber(currentValue);
|
||||
|
||||
if (handle.throughputOnly) {
|
||||
currentValue = this.root.productionAnalytics.getCurrentShapeRate(
|
||||
enumAnalyticsDataSource.delivered,
|
||||
handle.definition
|
||||
);
|
||||
currentValue =
|
||||
this.root.productionAnalytics.getCurrentShapeRate(
|
||||
enumAnalyticsDataSource.delivered,
|
||||
handle.definition
|
||||
) / globalConfig.analyticsSliceDurationSeconds;
|
||||
currentValueFormatted = T.ingame.statistics.shapesDisplayUnits.second.replace(
|
||||
"<shapes>",
|
||||
String(currentValue)
|
||||
|
@ -43,7 +43,7 @@ export class HUDSettingsMenu extends BaseHUDPart {
|
||||
];
|
||||
|
||||
for (let i = 0; i < buttons.length; ++i) {
|
||||
const { title, action, id } = buttons[i];
|
||||
const { action, id } = buttons[i];
|
||||
|
||||
const element = document.createElement("button");
|
||||
element.classList.add("styledButton");
|
||||
@ -88,13 +88,8 @@ export class HUDSettingsMenu extends BaseHUDPart {
|
||||
this.close();
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
}
|
||||
|
||||
show() {
|
||||
this.visible = true;
|
||||
document.body.classList.add("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
|
||||
const totalMinutesPlayed = Math.ceil(this.root.time.now() / 60);
|
||||
@ -120,7 +115,6 @@ export class HUDSettingsMenu extends BaseHUDPart {
|
||||
|
||||
close() {
|
||||
this.visible = false;
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
@ -67,7 +67,6 @@ export class HUDShapeViewer extends BaseHUDPart {
|
||||
*/
|
||||
close() {
|
||||
this.visible = false;
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
@ -78,7 +77,6 @@ export class HUDShapeViewer extends BaseHUDPart {
|
||||
*/
|
||||
renderForShape(definition) {
|
||||
this.visible = true;
|
||||
document.body.classList.add("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
|
||||
removeAllChildren(this.renderArea);
|
||||
@ -124,13 +122,6 @@ export class HUDShapeViewer extends BaseHUDPart {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleans up everything
|
||||
*/
|
||||
cleanup() {
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
}
|
||||
|
||||
update() {
|
||||
this.domAttach.update(this.visible);
|
||||
}
|
||||
|
@ -205,8 +205,6 @@ export class HUDShop extends BaseHUDPart {
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
|
||||
// Cleanup detectors
|
||||
for (const upgradeId in this.upgradeToElements) {
|
||||
const handle = this.upgradeToElements[upgradeId];
|
||||
@ -222,15 +220,12 @@ export class HUDShop extends BaseHUDPart {
|
||||
|
||||
show() {
|
||||
this.visible = true;
|
||||
document.body.classList.add("ingameDialogOpen");
|
||||
// this.background.classList.add("visible");
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
this.rerenderFull();
|
||||
}
|
||||
|
||||
close() {
|
||||
this.visible = false;
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
85
src/js/game/hud/parts/standalone_advantages.js
Normal file
@ -0,0 +1,85 @@
|
||||
import { A_B_TESTING_LINK_TYPE, THIRDPARTY_URLS } from "../../../core/config";
|
||||
import { InputReceiver } from "../../../core/input_receiver";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { T } from "../../../translations";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DynamicDomAttach } from "../dynamic_dom_attach";
|
||||
|
||||
const showIntervalSeconds = 30 * 60;
|
||||
|
||||
export class HUDStandaloneAdvantages extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.background = makeDiv(parent, "ingame_HUD_StandaloneAdvantages", ["ingameDialog"]);
|
||||
|
||||
// DIALOG Inner / Wrapper
|
||||
this.dialogInner = makeDiv(this.background, null, ["dialogInner"]);
|
||||
this.title = makeDiv(this.dialogInner, null, ["title"], T.ingame.standaloneAdvantages.title);
|
||||
this.contentDiv = makeDiv(
|
||||
this.dialogInner,
|
||||
null,
|
||||
["content"],
|
||||
`
|
||||
<div class="points">
|
||||
${Object.entries(T.ingame.standaloneAdvantages.points)
|
||||
.map(
|
||||
([key, trans]) => `
|
||||
<div class="point ${key}">
|
||||
<strong>${trans.title}</strong>
|
||||
<p>${trans.desc}</p>
|
||||
</div>`
|
||||
)
|
||||
.join("")}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="lowerBar">
|
||||
<button class="steamLinkButton ${A_B_TESTING_LINK_TYPE}"></button>
|
||||
<button class="otherCloseButton">${T.ingame.standaloneAdvantages.no_thanks}</button>
|
||||
</div>
|
||||
`
|
||||
);
|
||||
|
||||
this.trackClicks(this.contentDiv.querySelector("button.steamLinkButton"), () => {
|
||||
this.root.app.analytics.trackUiClick("standalone_advantage_visit_steam");
|
||||
this.root.app.platformWrapper.openExternalLink(
|
||||
THIRDPARTY_URLS.standaloneStorePage + "?ref=savs&prc=" + A_B_TESTING_LINK_TYPE
|
||||
);
|
||||
this.close();
|
||||
});
|
||||
this.trackClicks(this.contentDiv.querySelector("button.otherCloseButton"), () => {
|
||||
this.root.app.analytics.trackUiClick("standalone_advantage_no_thanks");
|
||||
this.close();
|
||||
});
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.background, {
|
||||
attachClass: "visible",
|
||||
});
|
||||
|
||||
this.inputReciever = new InputReceiver("standalone-advantages");
|
||||
this.close();
|
||||
|
||||
this.lastShown = this.root.gameIsFresh ? this.root.time.now() : 0;
|
||||
}
|
||||
|
||||
show() {
|
||||
this.lastShown = this.root.time.now();
|
||||
this.visible = true;
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
}
|
||||
|
||||
close() {
|
||||
this.visible = false;
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
||||
update() {
|
||||
if (!this.visible && this.root.time.now() - this.lastShown > showIntervalSeconds) {
|
||||
this.show();
|
||||
}
|
||||
|
||||
this.domAttach.update(this.visible);
|
||||
}
|
||||
}
|
@ -151,17 +151,12 @@ export class HUDStatistics extends BaseHUDPart {
|
||||
}
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
}
|
||||
|
||||
isBlockingOverlay() {
|
||||
return this.visible;
|
||||
}
|
||||
|
||||
show() {
|
||||
this.visible = true;
|
||||
document.body.classList.add("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
this.rerenderFull();
|
||||
this.update();
|
||||
@ -169,7 +164,6 @@ export class HUDStatistics extends BaseHUDPart {
|
||||
|
||||
close() {
|
||||
this.visible = false;
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
@ -1,109 +1,106 @@
|
||||
import { InputReceiver } from "../../../core/input_receiver";
|
||||
import { TrackedState } from "../../../core/tracked_state";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DynamicDomAttach } from "../dynamic_dom_attach";
|
||||
import { T } from "../../../translations";
|
||||
|
||||
const tutorialVideos = [2, 3, 4, 5, 6, 7, 9, 10, 11];
|
||||
|
||||
export class HUDPartTutorialHints extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(
|
||||
parent,
|
||||
"ingame_HUD_TutorialHints",
|
||||
[],
|
||||
`
|
||||
<div class="header">
|
||||
<span>${T.ingame.tutorialHints.title}</span>
|
||||
<button class="styledButton toggleHint">
|
||||
<span class="show">${T.ingame.tutorialHints.showHint}</span>
|
||||
<span class="hide">${T.ingame.tutorialHints.hideHint}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<video autoplay muted loop class="fullscreenBackgroundVideo">
|
||||
<source type="video/webm">
|
||||
</video>
|
||||
`
|
||||
);
|
||||
|
||||
this.videoElement = this.element.querySelector("video");
|
||||
}
|
||||
|
||||
shouldPauseGame() {
|
||||
return this.enlarged;
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.trackClicks(this.element.querySelector(".toggleHint"), this.toggleHintEnlarged);
|
||||
|
||||
this.videoAttach = new DynamicDomAttach(this.root, this.videoElement, {
|
||||
timeToKeepSeconds: 0.3,
|
||||
});
|
||||
|
||||
this.videoAttach.update(false);
|
||||
this.enlarged = false;
|
||||
|
||||
this.inputReciever = new InputReceiver("tutorial_hints");
|
||||
this.keyActionMapper = new KeyActionMapper(this.root, this.inputReciever);
|
||||
this.keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.close, this);
|
||||
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element);
|
||||
|
||||
this.currentShownLevel = new TrackedState(this.updateVideoUrl, this);
|
||||
}
|
||||
|
||||
updateVideoUrl(level) {
|
||||
if (tutorialVideos.indexOf(level) < 0) {
|
||||
this.videoElement.querySelector("source").setAttribute("src", "");
|
||||
this.videoElement.pause();
|
||||
} else {
|
||||
this.videoElement
|
||||
.querySelector("source")
|
||||
.setAttribute("src", "https://static.shapez.io/tutorial_videos/level_" + level + ".webm");
|
||||
this.videoElement.currentTime = 0;
|
||||
this.videoElement.load();
|
||||
}
|
||||
}
|
||||
|
||||
close() {
|
||||
this.enlarged = false;
|
||||
document.body.classList.remove("ingameDialogOpen");
|
||||
this.element.classList.remove("enlarged", "noBlur");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
||||
show() {
|
||||
this.root.app.analytics.trackUiClick("tutorial_hint_show");
|
||||
this.root.app.analytics.trackUiClick("tutorial_hint_show_lvl_" + this.root.hubGoals.level);
|
||||
|
||||
document.body.classList.add("ingameDialogOpen");
|
||||
this.element.classList.add("enlarged", "noBlur");
|
||||
this.enlarged = true;
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
this.update();
|
||||
|
||||
this.videoElement.currentTime = 0;
|
||||
this.videoElement.play();
|
||||
}
|
||||
|
||||
update() {
|
||||
this.videoAttach.update(this.enlarged);
|
||||
|
||||
this.currentShownLevel.set(this.root.hubGoals.level);
|
||||
|
||||
const tutorialVisible = tutorialVideos.indexOf(this.root.hubGoals.level) >= 0;
|
||||
this.domAttach.update(tutorialVisible);
|
||||
}
|
||||
|
||||
toggleHintEnlarged() {
|
||||
if (this.enlarged) {
|
||||
this.close();
|
||||
} else {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
import { InputReceiver } from "../../../core/input_receiver";
|
||||
import { TrackedState } from "../../../core/tracked_state";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { KeyActionMapper, KEYMAPPINGS } from "../../key_action_mapper";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DynamicDomAttach } from "../dynamic_dom_attach";
|
||||
import { T } from "../../../translations";
|
||||
|
||||
const tutorialVideos = [2, 3, 4, 5, 6, 7, 9, 10, 11];
|
||||
|
||||
export class HUDPartTutorialHints extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(
|
||||
parent,
|
||||
"ingame_HUD_TutorialHints",
|
||||
[],
|
||||
`
|
||||
<div class="header">
|
||||
<span>${T.ingame.tutorialHints.title}</span>
|
||||
<button class="styledButton toggleHint">
|
||||
<span class="show">${T.ingame.tutorialHints.showHint}</span>
|
||||
<span class="hide">${T.ingame.tutorialHints.hideHint}</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<video autoplay muted loop class="fullscreenBackgroundVideo">
|
||||
<source type="video/webm">
|
||||
</video>
|
||||
`
|
||||
);
|
||||
|
||||
this.videoElement = this.element.querySelector("video");
|
||||
}
|
||||
|
||||
shouldPauseGame() {
|
||||
return this.enlarged;
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.trackClicks(this.element.querySelector(".toggleHint"), this.toggleHintEnlarged);
|
||||
|
||||
this.videoAttach = new DynamicDomAttach(this.root, this.videoElement, {
|
||||
timeToKeepSeconds: 0.3,
|
||||
});
|
||||
|
||||
this.videoAttach.update(false);
|
||||
this.enlarged = false;
|
||||
|
||||
this.inputReciever = new InputReceiver("tutorial_hints");
|
||||
this.keyActionMapper = new KeyActionMapper(this.root, this.inputReciever);
|
||||
this.keyActionMapper.getBinding(KEYMAPPINGS.general.back).add(this.close, this);
|
||||
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element);
|
||||
|
||||
this.currentShownLevel = new TrackedState(this.updateVideoUrl, this);
|
||||
}
|
||||
|
||||
updateVideoUrl(level) {
|
||||
if (tutorialVideos.indexOf(level) < 0) {
|
||||
this.videoElement.querySelector("source").setAttribute("src", "");
|
||||
this.videoElement.pause();
|
||||
} else {
|
||||
this.videoElement
|
||||
.querySelector("source")
|
||||
.setAttribute("src", "https://static.shapez.io/tutorial_videos/level_" + level + ".webm");
|
||||
this.videoElement.currentTime = 0;
|
||||
this.videoElement.load();
|
||||
}
|
||||
}
|
||||
|
||||
close() {
|
||||
this.enlarged = false;
|
||||
this.element.classList.remove("enlarged", "noBlur");
|
||||
this.root.app.inputMgr.makeSureDetached(this.inputReciever);
|
||||
this.update();
|
||||
}
|
||||
|
||||
show() {
|
||||
this.root.app.analytics.trackUiClick("tutorial_hint_show");
|
||||
this.root.app.analytics.trackUiClick("tutorial_hint_show_lvl_" + this.root.hubGoals.level);
|
||||
this.element.classList.add("enlarged", "noBlur");
|
||||
this.enlarged = true;
|
||||
this.root.app.inputMgr.makeSureAttachedAndOnTop(this.inputReciever);
|
||||
this.update();
|
||||
|
||||
this.videoElement.currentTime = 0;
|
||||
this.videoElement.play();
|
||||
}
|
||||
|
||||
update() {
|
||||
this.videoAttach.update(this.enlarged);
|
||||
|
||||
this.currentShownLevel.set(this.root.hubGoals.level);
|
||||
|
||||
const tutorialVisible = tutorialVideos.indexOf(this.root.hubGoals.level) >= 0;
|
||||
this.domAttach.update(tutorialVisible);
|
||||
}
|
||||
|
||||
toggleHintEnlarged() {
|
||||
if (this.enlarged) {
|
||||
this.close();
|
||||
} else {
|
||||
this.show();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -51,6 +51,8 @@ export class HUDUnlockNotification extends BaseHUDPart {
|
||||
* @param {enumHubGoalRewards} reward
|
||||
*/
|
||||
showForLevel(level, reward) {
|
||||
this.root.soundProxy.playUi(SOUNDS.levelComplete);
|
||||
|
||||
if (level > tutorialGoals.length) {
|
||||
this.root.hud.signals.notification.dispatch(
|
||||
T.ingame.notifications.freeplayLevelComplete.replace("<level>", String(level)),
|
||||
@ -92,7 +94,6 @@ export class HUDUnlockNotification extends BaseHUDPart {
|
||||
|
||||
this.elemContents.innerHTML = html;
|
||||
this.visible = true;
|
||||
this.root.soundProxy.playUi(SOUNDS.levelComplete);
|
||||
|
||||
if (this.buttonShowTimeout) {
|
||||
clearTimeout(this.buttonShowTimeout);
|
||||
|
@ -1,44 +1,72 @@
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DrawParameters } from "../../../core/draw_parameters";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { THIRDPARTY_URLS } from "../../../core/config";
|
||||
import { T } from "../../../translations";
|
||||
|
||||
export class HUDWatermark extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(parent, "ingame_HUD_Watermark");
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.trackClicks(this.element, this.onWatermarkClick);
|
||||
}
|
||||
|
||||
onWatermarkClick() {
|
||||
this.root.app.analytics.trackUiClick("watermark_click_2");
|
||||
this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
drawOverlays(parameters) {
|
||||
const w = this.root.gameWidth;
|
||||
const x = 280 * this.root.app.getEffectiveUiScale();
|
||||
|
||||
parameters.context.fillStyle = "#f77";
|
||||
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 17 + "px GameFont";
|
||||
// parameters.context.textAlign = "center";
|
||||
parameters.context.fillText(
|
||||
T.demoBanners.title.toUpperCase(),
|
||||
x,
|
||||
this.root.app.getEffectiveUiScale() * 27
|
||||
);
|
||||
|
||||
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 12 + "px GameFont";
|
||||
// parameters.context.textAlign = "center";
|
||||
parameters.context.fillText(T.demoBanners.intro, x, this.root.app.getEffectiveUiScale() * 45);
|
||||
|
||||
// parameters.context.textAlign = "left";
|
||||
}
|
||||
}
|
||||
import { THIRDPARTY_URLS } from "../../../core/config";
|
||||
import { makeDiv } from "../../../core/utils";
|
||||
import { T } from "../../../translations";
|
||||
import { BaseHUDPart } from "../base_hud_part";
|
||||
import { DynamicDomAttach } from "../dynamic_dom_attach";
|
||||
|
||||
const watermarkShowIntervalSeconds = G_IS_DEV ? 120 : 7 * 60;
|
||||
const watermarkShowDuration = 5;
|
||||
|
||||
export class HUDWatermark extends BaseHUDPart {
|
||||
createElements(parent) {
|
||||
this.element = makeDiv(
|
||||
parent,
|
||||
"ingame_HUD_Watermark",
|
||||
[],
|
||||
`
|
||||
<strong>${T.ingame.watermark.title}</strong>
|
||||
<p>${T.ingame.watermark.desc}</p>
|
||||
`
|
||||
);
|
||||
|
||||
this.linkElement = makeDiv(
|
||||
parent,
|
||||
"ingame_HUD_WatermarkClicker",
|
||||
[],
|
||||
T.ingame.watermark.get_on_steam
|
||||
);
|
||||
this.trackClicks(this.linkElement, () => {
|
||||
this.root.app.analytics.trackUiClick("watermark_click_2_direct");
|
||||
this.root.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?ref=wtmd");
|
||||
});
|
||||
}
|
||||
|
||||
initialize() {
|
||||
this.trackClicks(this.element, this.onWatermarkClick);
|
||||
|
||||
this.domAttach = new DynamicDomAttach(this.root, this.element, {
|
||||
attachClass: "visible",
|
||||
timeToKeepSeconds: 0.5,
|
||||
});
|
||||
}
|
||||
|
||||
update() {
|
||||
this.domAttach.update(
|
||||
this.root.time.realtimeNow() % watermarkShowIntervalSeconds < watermarkShowDuration
|
||||
);
|
||||
}
|
||||
|
||||
onWatermarkClick() {
|
||||
this.root.app.analytics.trackUiClick("watermark_click_2_new");
|
||||
this.root.hud.parts.standaloneAdvantages.show();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param {import("../../../core/draw_utils").DrawParameters} parameters
|
||||
*/
|
||||
drawOverlays(parameters) {
|
||||
const w = this.root.gameWidth;
|
||||
|
||||
parameters.context.fillStyle = "rgba(230, 230, 230, 0.9)";
|
||||
parameters.context.font = "bold " + this.root.app.getEffectiveUiScale() * 40 + "px GameFont";
|
||||
parameters.context.textAlign = "center";
|
||||
parameters.context.fillText(
|
||||
T.demoBanners.title.toUpperCase(),
|
||||
w / 2,
|
||||
this.root.app.getEffectiveUiScale() * 50
|
||||
);
|
||||
|
||||
parameters.context.textAlign = "left";
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,10 @@ export class HUDWiresOverlay extends BaseHUDPart {
|
||||
*/
|
||||
switchLayers() {
|
||||
if (this.root.currentLayer === "regular") {
|
||||
if (this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_filters_and_levers)) {
|
||||
if (
|
||||
this.root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_wires_painter_and_levers) ||
|
||||
(G_IS_DEV && globalConfig.debug.allBuildingsUnlocked)
|
||||
) {
|
||||
this.root.currentLayer = "wires";
|
||||
}
|
||||
} else {
|
||||
|
@ -56,6 +56,9 @@ export const KEYMAPPINGS = {
|
||||
painter: { keyCode: key("9") },
|
||||
trash: { keyCode: key("0") },
|
||||
|
||||
// Sandbox
|
||||
item_producer: { keyCode: key("L") },
|
||||
|
||||
// Secondary toolbar
|
||||
storage: { keyCode: key("Y") },
|
||||
reader: { keyCode: key("U") },
|
||||
|
@ -26,11 +26,6 @@ export class MapView extends BaseMap {
|
||||
|
||||
/** @type {CanvasRenderingContext2D} */
|
||||
this.cachedBackgroundContext = null;
|
||||
/**
|
||||
* Cached pattern of the stripes background
|
||||
* @type {CanvasPattern} */
|
||||
this.cachedBackgroundPattern = null;
|
||||
|
||||
this.internalInitializeCachedBackgroundCanvases();
|
||||
this.root.signals.aboutToDestruct.add(this.cleanup, this);
|
||||
|
||||
@ -42,7 +37,6 @@ export class MapView extends BaseMap {
|
||||
cleanup() {
|
||||
freeCanvas(this.cachedBackgroundCanvas);
|
||||
this.cachedBackgroundCanvas = null;
|
||||
this.cachedBackgroundPattern = null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -191,19 +185,15 @@ export class MapView extends BaseMap {
|
||||
* @param {DrawParameters} parameters
|
||||
*/
|
||||
drawBackground(parameters) {
|
||||
if (!this.cachedBackgroundPattern) {
|
||||
this.cachedBackgroundPattern = parameters.context.createPattern(
|
||||
this.cachedBackgroundCanvas,
|
||||
"repeat"
|
||||
);
|
||||
}
|
||||
|
||||
// Render tile grid
|
||||
if (!this.root.app.settings.getAllSettings().disableTileGrid) {
|
||||
const dpi = this.backgroundCacheDPI;
|
||||
parameters.context.scale(1 / dpi, 1 / dpi);
|
||||
|
||||
parameters.context.fillStyle = this.cachedBackgroundPattern;
|
||||
parameters.context.fillStyle = parameters.context.createPattern(
|
||||
this.cachedBackgroundCanvas,
|
||||
"repeat"
|
||||
);
|
||||
parameters.context.fillRect(
|
||||
parameters.visibleRect.x * dpi,
|
||||
parameters.visibleRect.y * dpi,
|
||||
|
@ -10,6 +10,7 @@ import { enumCutterVariants, MetaCutterBuilding } from "./buildings/cutter";
|
||||
import { MetaDisplayBuilding } from "./buildings/display";
|
||||
import { MetaFilterBuilding } from "./buildings/filter";
|
||||
import { MetaHubBuilding } from "./buildings/hub";
|
||||
import { MetaItemProducerBuilding } from "./buildings/item_producer";
|
||||
import { MetaLeverBuilding } from "./buildings/lever";
|
||||
import { enumLogicGateVariants, MetaLogicGateBuilding } from "./buildings/logic_gate";
|
||||
import { enumMinerVariants, MetaMinerBuilding } from "./buildings/miner";
|
||||
@ -19,7 +20,7 @@ import { MetaReaderBuilding } from "./buildings/reader";
|
||||
import { enumRotaterVariants, MetaRotaterBuilding } from "./buildings/rotater";
|
||||
import { MetaStackerBuilding } from "./buildings/stacker";
|
||||
import { MetaStorageBuilding } from "./buildings/storage";
|
||||
import { MetaTransistorBuilding, enumTransistorVariants } from "./buildings/transistor";
|
||||
import { enumTransistorVariants, MetaTransistorBuilding } from "./buildings/transistor";
|
||||
import { MetaTrashBuilding } from "./buildings/trash";
|
||||
import { enumUndergroundBeltVariants, MetaUndergroundBeltBuilding } from "./buildings/underground_belt";
|
||||
import { enumVirtualProcessorVariants, MetaVirtualProcessorBuilding } from "./buildings/virtual_processor";
|
||||
@ -57,6 +58,7 @@ export function initMetaBuildingRegistry() {
|
||||
gMetaBuildingRegistry.register(MetaTransistorBuilding);
|
||||
gMetaBuildingRegistry.register(MetaAnalyzerBuilding);
|
||||
gMetaBuildingRegistry.register(MetaComparatorBuilding);
|
||||
gMetaBuildingRegistry.register(MetaItemProducerBuilding);
|
||||
|
||||
// Belt
|
||||
registerBuildingVariant(1, MetaBeltBuilding, defaultBuildingVariant, 0);
|
||||
@ -160,6 +162,9 @@ export function initMetaBuildingRegistry() {
|
||||
// Reader
|
||||
registerBuildingVariant(49, MetaReaderBuilding);
|
||||
|
||||
// Item producer
|
||||
registerBuildingVariant(61, MetaItemProducerBuilding);
|
||||
|
||||
// Propagate instances
|
||||
for (const key in gBuildingVariants) {
|
||||
gBuildingVariants[key].metaInstance = gMetaBuildingRegistry.findByClass(
|
||||
|
@ -61,7 +61,13 @@ export class ConstantSignalSystem extends GameSystemWithFilter {
|
||||
BOOL_FALSE_SINGLETON,
|
||||
BOOL_TRUE_SINGLETON,
|
||||
...Object.values(COLOR_ITEM_SINGLETONS),
|
||||
this.root.shapeDefinitionMgr.getShapeItemFromDefinition(
|
||||
this.root.hubGoals.currentGoal.definition
|
||||
),
|
||||
this.root.shapeDefinitionMgr.getShapeItemFromShortKey(blueprintShape),
|
||||
...this.root.hud.parts.pinnedShapes.pinnedShapes.map(key =>
|
||||
this.root.shapeDefinitionMgr.getShapeItemFromShortKey(key)
|
||||
),
|
||||
],
|
||||
});
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { globalConfig } from "../../core/config";
|
||||
import { globalConfig, IS_DEMO } from "../../core/config";
|
||||
import { smoothenDpi } from "../../core/dpi_manager";
|
||||
import { DrawParameters } from "../../core/draw_parameters";
|
||||
import { drawSpriteClipped } from "../../core/draw_utils";
|
||||
@ -65,6 +65,17 @@ export class HubSystem extends GameSystemWithFilter {
|
||||
|
||||
this.hubSprite.draw(context, 0, 0, w, h);
|
||||
|
||||
if (this.root.hubGoals.isEndOfDemoReached()) {
|
||||
// End of demo
|
||||
context.font = "bold 12px GameFont";
|
||||
context.fillStyle = "#fd0752";
|
||||
context.textAlign = "center";
|
||||
context.fillText(T.buildings.hub.endOfDemo.toUpperCase(), w / 2, h / 2 + 6);
|
||||
context.textAlign = "left";
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const definition = this.root.hubGoals.currentGoal.definition;
|
||||
definition.drawCentered(45, 58, parameters, 36);
|
||||
|
||||
|
24
src/js/game/systems/item_producer.js
Normal file
@ -0,0 +1,24 @@
|
||||
import { ItemProducerComponent } from "../components/item_producer";
|
||||
import { GameSystemWithFilter } from "../game_system_with_filter";
|
||||
|
||||
export class ItemProducerSystem extends GameSystemWithFilter {
|
||||
constructor(root) {
|
||||
super(root, [ItemProducerComponent]);
|
||||
}
|
||||
|
||||
update() {
|
||||
for (let i = 0; i < this.allEntities.length; ++i) {
|
||||
const entity = this.allEntities[i];
|
||||
const pinsComp = entity.components.WiredPins;
|
||||
const pin = pinsComp.slots[0];
|
||||
const network = pin.linkedNetwork;
|
||||
|
||||
if (!network || !network.hasValue()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
const ejectorComp = entity.components.ItemEjector;
|
||||
ejectorComp.tryEject(0, network.currentValue);
|
||||
}
|
||||
}
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { IS_DEMO } from "../core/config";
|
||||
import { ShapeDefinition } from "./shape_definition";
|
||||
import { finalGameShape } from "./upgrades";
|
||||
|
||||
@ -22,14 +23,16 @@ export const enumHubGoalRewards = {
|
||||
reward_splitter: "reward_splitter",
|
||||
reward_cutter_quad: "reward_cutter_quad",
|
||||
reward_painter_double: "reward_painter_double",
|
||||
reward_painter_quad: "reward_painter_quad",
|
||||
reward_storage: "reward_storage",
|
||||
reward_merger: "reward_merger",
|
||||
reward_wires_filters_and_levers: "reward_wires_filters_and_levers",
|
||||
reward_wires_painter_and_levers: "reward_wires_painter_and_levers",
|
||||
reward_display: "reward_display",
|
||||
reward_constant_signal: "reward_constant_signal",
|
||||
reward_logic_gates: "reward_logic_gates",
|
||||
reward_virtual_processing: "reward_virtual_processing",
|
||||
reward_filter: "reward_filter",
|
||||
|
||||
reward_demo_end: "reward_demo_end",
|
||||
|
||||
reward_blueprints: "reward_blueprints",
|
||||
reward_freeplay: "reward_freeplay",
|
||||
@ -140,107 +143,118 @@ export const tutorialGoals = [
|
||||
reward: enumHubGoalRewards.reward_underground_belt_tier_2,
|
||||
},
|
||||
|
||||
// 14
|
||||
// Belt reader
|
||||
{
|
||||
shape: "--Cg----:--Cr----", // unused
|
||||
required: 16, // Per second!
|
||||
reward: enumHubGoalRewards.reward_belt_reader,
|
||||
throughputOnly: true,
|
||||
},
|
||||
// DEMO STOPS HERE
|
||||
...(IS_DEMO
|
||||
? [
|
||||
{
|
||||
shape: "RpRpRpRp:CwCwCwCw",
|
||||
required: 0,
|
||||
reward: enumHubGoalRewards.reward_demo_end,
|
||||
},
|
||||
]
|
||||
: [
|
||||
// 14
|
||||
// Belt reader
|
||||
{
|
||||
shape: "--Cg----:--Cr----", // unused
|
||||
required: 16, // Per second!
|
||||
reward: enumHubGoalRewards.reward_belt_reader,
|
||||
throughputOnly: true,
|
||||
},
|
||||
|
||||
// 15
|
||||
// Storage
|
||||
{
|
||||
shape: "SrSrSrSr:CyCyCyCy", // unused
|
||||
required: 10000,
|
||||
reward: enumHubGoalRewards.reward_storage,
|
||||
},
|
||||
// 15
|
||||
// Storage
|
||||
{
|
||||
shape: "SrSrSrSr:CyCyCyCy", // unused
|
||||
required: 10000,
|
||||
reward: enumHubGoalRewards.reward_storage,
|
||||
},
|
||||
|
||||
// 16
|
||||
// Quad Cutter
|
||||
{
|
||||
shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants)
|
||||
required: 6000,
|
||||
reward: enumHubGoalRewards.reward_cutter_quad,
|
||||
},
|
||||
// 16
|
||||
// Quad Cutter
|
||||
{
|
||||
shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants)
|
||||
required: 6000,
|
||||
reward: enumHubGoalRewards.reward_cutter_quad,
|
||||
},
|
||||
|
||||
// 17
|
||||
// Double painter
|
||||
{
|
||||
shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // miner t4 (two variants)
|
||||
required: 20000,
|
||||
reward: enumHubGoalRewards.reward_painter_double,
|
||||
},
|
||||
// 17
|
||||
// Double painter
|
||||
{
|
||||
shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // miner t4 (two variants)
|
||||
required: 20000,
|
||||
reward: enumHubGoalRewards.reward_painter_double,
|
||||
},
|
||||
|
||||
// 18
|
||||
// Rotater (180deg)
|
||||
{
|
||||
shape: "Sg----Sg:CgCgCgCg:--CyCy--", // unused
|
||||
required: 20000,
|
||||
reward: enumHubGoalRewards.reward_rotater_180,
|
||||
},
|
||||
// 18
|
||||
// Rotater (180deg)
|
||||
{
|
||||
shape: "Sg----Sg:CgCgCgCg:--CyCy--", // unused
|
||||
required: 20000,
|
||||
reward: enumHubGoalRewards.reward_rotater_180,
|
||||
},
|
||||
|
||||
// 19
|
||||
// Compact splitter
|
||||
{
|
||||
shape: "CpRpCp--:SwSwSwSw",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_splitter,
|
||||
},
|
||||
// 19
|
||||
// Compact splitter
|
||||
{
|
||||
shape: "CpRpCp--:SwSwSwSw",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_splitter,
|
||||
},
|
||||
|
||||
// 20
|
||||
// WIRES
|
||||
{
|
||||
shape: finalGameShape,
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_wires_filters_and_levers,
|
||||
},
|
||||
// 20
|
||||
// WIRES
|
||||
{
|
||||
shape: finalGameShape,
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_wires_painter_and_levers,
|
||||
},
|
||||
|
||||
// 21
|
||||
// Display
|
||||
{
|
||||
shape: "CrCrCrCr:CwCwCwCw:CrCrCrCr:CwCwCwCw",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_display,
|
||||
},
|
||||
// 21
|
||||
// Filter
|
||||
{
|
||||
shape: "CrCwCrCw:CwCrCwCr:CrCwCrCw:CwCrCwCr",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_filter,
|
||||
},
|
||||
|
||||
// 22
|
||||
// Constant signal
|
||||
{
|
||||
shape: "Cg----Cr:Cw----Cw:Sy------:Cy----Cy",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_constant_signal,
|
||||
},
|
||||
// 22
|
||||
// Constant signal
|
||||
{
|
||||
shape: "Cg----Cr:Cw----Cw:Sy------:Cy----Cy",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_constant_signal,
|
||||
},
|
||||
|
||||
// 23
|
||||
// Quad Painter
|
||||
{
|
||||
shape: "CcSyCcSy:SyCcSyCc:CcSyCcSy",
|
||||
required: 5000,
|
||||
reward: enumHubGoalRewards.reward_painter_quad,
|
||||
},
|
||||
// 23
|
||||
// Display
|
||||
{
|
||||
shape: "CcSyCcSy:SyCcSyCc:CcSyCcSy",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_display,
|
||||
},
|
||||
|
||||
// 24 Logic gates
|
||||
{
|
||||
shape: "CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy",
|
||||
required: 10000,
|
||||
reward: enumHubGoalRewards.reward_logic_gates,
|
||||
},
|
||||
// 24 Logic gates
|
||||
{
|
||||
shape: "CcRcCcRc:RwCwRwCw:Sr--Sw--:CyCyCyCy",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_logic_gates,
|
||||
},
|
||||
|
||||
// 25 Virtual Processing
|
||||
{
|
||||
shape: "Rg--Rg--:CwRwCwRw:--Rg--Rg",
|
||||
required: 10000,
|
||||
reward: enumHubGoalRewards.reward_virtual_processing,
|
||||
},
|
||||
// 25 Virtual Processing
|
||||
{
|
||||
shape: "Rg--Rg--:CwRwCwRw:--Rg--Rg",
|
||||
required: 25000,
|
||||
reward: enumHubGoalRewards.reward_virtual_processing,
|
||||
},
|
||||
|
||||
// 26 Freeplay
|
||||
{
|
||||
shape: "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw",
|
||||
required: 10000,
|
||||
reward: enumHubGoalRewards.reward_freeplay,
|
||||
},
|
||||
// 26 Freeplay
|
||||
{
|
||||
shape: "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw",
|
||||
required: 50000,
|
||||
reward: enumHubGoalRewards.reward_freeplay,
|
||||
},
|
||||
]),
|
||||
];
|
||||
|
||||
if (G_IS_DEV) {
|
||||
|
@ -3,7 +3,7 @@ import { enumBalancerVariants, MetaBalancerBuilding } from "./buildings/balancer
|
||||
import { MetaConstantSignalBuilding } from "./buildings/constant_signal";
|
||||
import { enumCutterVariants, MetaCutterBuilding } from "./buildings/cutter";
|
||||
import { MetaDisplayBuilding } from "./buildings/display";
|
||||
import { MetaLeverBuilding } from "./buildings/lever";
|
||||
import { MetaFilterBuilding } from "./buildings/filter";
|
||||
import { MetaLogicGateBuilding } from "./buildings/logic_gate";
|
||||
import { enumMinerVariants, MetaMinerBuilding } from "./buildings/miner";
|
||||
import { MetaMixerBuilding } from "./buildings/mixer";
|
||||
@ -46,7 +46,6 @@ export const enumHubGoalRewardsToContentUnlocked = {
|
||||
[enumHubGoalRewards.reward_merger]: typed([[MetaBalancerBuilding, enumBalancerVariants.merger]]),
|
||||
[enumHubGoalRewards.reward_cutter_quad]: typed([[MetaCutterBuilding, enumCutterVariants.quad]]),
|
||||
[enumHubGoalRewards.reward_painter_double]: typed([[MetaPainterBuilding, enumPainterVariants.double]]),
|
||||
[enumHubGoalRewards.reward_painter_quad]: typed([[MetaPainterBuilding, enumPainterVariants.quad]]),
|
||||
[enumHubGoalRewards.reward_storage]: typed([[MetaStorageBuilding, defaultBuildingVariant]]),
|
||||
|
||||
[enumHubGoalRewards.reward_belt_reader]: typed([[MetaReaderBuilding, defaultBuildingVariant]]),
|
||||
@ -55,15 +54,17 @@ export const enumHubGoalRewardsToContentUnlocked = {
|
||||
[MetaConstantSignalBuilding, defaultBuildingVariant],
|
||||
]),
|
||||
[enumHubGoalRewards.reward_logic_gates]: typed([[MetaLogicGateBuilding, defaultBuildingVariant]]),
|
||||
[enumHubGoalRewards.reward_filter]: typed([[MetaFilterBuilding, defaultBuildingVariant]]),
|
||||
[enumHubGoalRewards.reward_virtual_processing]: null, // @TODO!
|
||||
|
||||
[enumHubGoalRewards.reward_wires_filters_and_levers]: typed([
|
||||
[MetaLeverBuilding, defaultBuildingVariant],
|
||||
[enumHubGoalRewards.reward_wires_painter_and_levers]: typed([
|
||||
[MetaPainterBuilding, enumPainterVariants.quad],
|
||||
]),
|
||||
[enumHubGoalRewards.reward_freeplay]: null,
|
||||
[enumHubGoalRewards.reward_blueprints]: null,
|
||||
[enumHubGoalRewards.no_reward]: null,
|
||||
[enumHubGoalRewards.no_reward_freeplay]: null,
|
||||
[enumHubGoalRewards.reward_demo_end]: null,
|
||||
};
|
||||
|
||||
if (G_IS_DEV) {
|
||||
|
@ -1,18 +1,20 @@
|
||||
import { IS_DEMO } from "../core/config";
|
||||
import { findNiceIntegerValue } from "../core/utils";
|
||||
import { ShapeDefinition } from "./shape_definition";
|
||||
|
||||
export const preparementShape = "CpRpCp--:SwSwSwSw";
|
||||
export const finalGameShape = "RuCw--Cw:----Ru--";
|
||||
export const rocketShape = "CbCuCbCu:Sr------:--CrSrCr:CwCwCwCw";
|
||||
export const blueprintShape = "CbCbCbRb:CwCwCwCw";
|
||||
|
||||
const fixedImprovements = [0.5, 0.5, 1, 1, 2, 2];
|
||||
const fixedImprovements = [0.5, 0.5, 1, 1, 2, 1, 1];
|
||||
|
||||
const numEndgameUpgrades = G_IS_DEV || G_IS_STANDALONE ? 20 - fixedImprovements.length - 1 : 0;
|
||||
const numEndgameUpgrades = !IS_DEMO ? 20 - fixedImprovements.length - 1 : 0;
|
||||
|
||||
function generateEndgameUpgrades() {
|
||||
return new Array(numEndgameUpgrades).fill(null).map((_, i) => ({
|
||||
required: [
|
||||
{ shape: blueprintShape, amount: 30000 + i * 10000 },
|
||||
{ shape: preparementShape, amount: 30000 + i * 10000 },
|
||||
{ shape: finalGameShape, amount: 20000 + i * 5000 },
|
||||
{ shape: rocketShape, amount: 20000 + i * 5000 },
|
||||
],
|
||||
@ -56,7 +58,14 @@ export const UPGRADES = {
|
||||
required: [{ shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", amount: 25000 }],
|
||||
},
|
||||
{
|
||||
required: [{ shape: finalGameShape, amount: 50000 }],
|
||||
required: [{ shape: preparementShape, amount: 25000 }],
|
||||
excludePrevious: true,
|
||||
},
|
||||
{
|
||||
required: [
|
||||
{ shape: preparementShape, amount: 25000 },
|
||||
{ shape: finalGameShape, amount: 50000 },
|
||||
],
|
||||
excludePrevious: true,
|
||||
},
|
||||
...generateEndgameUpgrades(),
|
||||
@ -79,7 +88,14 @@ export const UPGRADES = {
|
||||
required: [{ shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", amount: 50000 }],
|
||||
},
|
||||
{
|
||||
required: [{ shape: finalGameShape, amount: 50000 }],
|
||||
required: [{ shape: preparementShape, amount: 25000 }],
|
||||
excludePrevious: true,
|
||||
},
|
||||
{
|
||||
required: [
|
||||
{ shape: preparementShape, amount: 25000 },
|
||||
{ shape: finalGameShape, amount: 50000 },
|
||||
],
|
||||
excludePrevious: true,
|
||||
},
|
||||
...generateEndgameUpgrades(),
|
||||
@ -102,7 +118,14 @@ export const UPGRADES = {
|
||||
required: [{ shape: "WrRgWrRg:CwCrCwCr:SgSgSgSg", amount: 50000 }],
|
||||
},
|
||||
{
|
||||
required: [{ shape: finalGameShape, amount: 50000 }],
|
||||
required: [{ shape: preparementShape, amount: 25000 }],
|
||||
excludePrevious: true,
|
||||
},
|
||||
{
|
||||
required: [
|
||||
{ shape: preparementShape, amount: 25000 },
|
||||
{ shape: finalGameShape, amount: 50000 },
|
||||
],
|
||||
excludePrevious: true,
|
||||
},
|
||||
...generateEndgameUpgrades(),
|
||||
@ -125,7 +148,14 @@ export const UPGRADES = {
|
||||
required: [{ shape: "WpWpWpWp:CwCwCwCw:WpWpWpWp:CwCwCwCw", amount: 50000 }],
|
||||
},
|
||||
{
|
||||
required: [{ shape: finalGameShape, amount: 50000 }],
|
||||
required: [{ shape: preparementShape, amount: 25000 }],
|
||||
excludePrevious: true,
|
||||
},
|
||||
{
|
||||
required: [
|
||||
{ shape: preparementShape, amount: 25000 },
|
||||
{ shape: finalGameShape, amount: 50000 },
|
||||
],
|
||||
excludePrevious: true,
|
||||
},
|
||||
...generateEndgameUpgrades(),
|
||||
|
@ -8,6 +8,7 @@ import { blueprintShape, UPGRADES } from "../../game/upgrades";
|
||||
import { tutorialGoals } from "../../game/tutorial_goals";
|
||||
import { BeltComponent } from "../../game/components/belt";
|
||||
import { StaticMapEntityComponent } from "../../game/components/static_map_entity";
|
||||
import { queryParamOptions } from "../../core/query_parameters";
|
||||
|
||||
const logger = createLogger("game_analytics");
|
||||
|
||||
@ -24,6 +25,9 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
|
||||
}
|
||||
|
||||
if (G_IS_STANDALONE) {
|
||||
if (queryParamOptions.sandboxMode) {
|
||||
return "steam-sandbox";
|
||||
}
|
||||
return "steam";
|
||||
}
|
||||
|
||||
@ -31,7 +35,17 @@ export class ShapezGameAnalytics extends GameAnalyticsInterface {
|
||||
return "prod";
|
||||
}
|
||||
|
||||
return "beta";
|
||||
if (window.location.host.indexOf("alpha") >= 0) {
|
||||
if (queryParamOptions.sandboxMode) {
|
||||
return "alpha-sandbox";
|
||||
}
|
||||
return "alpha";
|
||||
} else {
|
||||
if (queryParamOptions.sandboxMode) {
|
||||
return "beta-sandbox";
|
||||
}
|
||||
return "beta";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -6,7 +6,7 @@ import { GameRoot } from "../game/root";
|
||||
|
||||
import { newEmptyMap, clamp } from "../core/utils";
|
||||
import { createLogger } from "../core/logging";
|
||||
import { globalConfig } from "../core/config";
|
||||
import { globalConfig, IS_DEMO } from "../core/config";
|
||||
|
||||
const logger = createLogger("sound");
|
||||
|
||||
@ -29,7 +29,7 @@ export const SOUNDS = {
|
||||
};
|
||||
|
||||
export const MUSIC = {
|
||||
theme: G_IS_STANDALONE ? "theme-full" : "theme-short",
|
||||
theme: IS_DEMO ? "theme-short" : "theme-full",
|
||||
menu: "menu",
|
||||
};
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { GameState } from "../core/game_state";
|
||||
import { cachebust } from "../core/cachebust";
|
||||
import { globalConfig, IS_DEMO, THIRDPARTY_URLS } from "../core/config";
|
||||
import { A_B_TESTING_LINK_TYPE, globalConfig, IS_DEMO, THIRDPARTY_URLS } from "../core/config";
|
||||
import {
|
||||
makeDiv,
|
||||
makeButtonElement,
|
||||
@ -52,7 +52,7 @@ export class MainMenuState extends GameState {
|
||||
|
||||
<p>${T.demoBanners.intro}</p>
|
||||
|
||||
<a href="#" class="steamLink" target="_blank">Get the shapez.io standalone!</a>
|
||||
<a href="#" class="steamLink ${A_B_TESTING_LINK_TYPE}" target="_blank">Get the shapez.io standalone!</a>
|
||||
`;
|
||||
|
||||
return `
|
||||
@ -311,8 +311,11 @@ export class MainMenuState extends GameState {
|
||||
}
|
||||
|
||||
onSteamLinkClicked() {
|
||||
this.app.analytics.trackUiClick("main_menu_steam_link_2");
|
||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage);
|
||||
this.app.analytics.trackUiClick("main_menu_steam_link_" + A_B_TESTING_LINK_TYPE);
|
||||
this.app.platformWrapper.openExternalLink(
|
||||
THIRDPARTY_URLS.standaloneStorePage + "?ref=mmsl2&prc=" + A_B_TESTING_LINK_TYPE
|
||||
);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -537,7 +540,7 @@ export class MainMenuState extends GameState {
|
||||
);
|
||||
getStandalone.add(() => {
|
||||
this.app.analytics.trackUiClick("visit_steampage_from_slot_limit");
|
||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage);
|
||||
this.app.platformWrapper.openExternalLink(THIRDPARTY_URLS.standaloneStorePage + "?reF=ssll");
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -21,7 +21,7 @@ export class MobileWarningState extends GameState {
|
||||
|
||||
|
||||
<a href="${
|
||||
THIRDPARTY_URLS.standaloneStorePage
|
||||
THIRDPARTY_URLS.standaloneStorePage + "?ref=mobile"
|
||||
}" class="standaloneLink" target="_blank">Get the shapez.io standalone!</a>
|
||||
`;
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ const originalContents = fs
|
||||
|
||||
const original = YAML.parse(originalContents);
|
||||
|
||||
const placeholderRegexp = /[[<]([a-zA-Z_0-9]+)[\]<]/gi;
|
||||
const placeholderRegexp = /[[<]([a-zA-Z_0-9/-_]+?)[\]>]/gi;
|
||||
|
||||
function match(originalObj, translatedObj, path = "/") {
|
||||
for (const key in originalObj) {
|
||||
@ -29,6 +29,7 @@ function match(originalObj, translatedObj, path = "/") {
|
||||
const valueMatching = translatedObj[key];
|
||||
if (typeof valueOriginal !== typeof valueMatching) {
|
||||
console.warn(" | MISMATCHING type (obj|non-obj) in", path + key);
|
||||
translatedObj[key] = originalObj[key];
|
||||
continue;
|
||||
}
|
||||
|
||||
|
1
translations/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
tmp
|
@ -2,61 +2,51 @@ steamPage:
|
||||
shortText: shapez.io is a game about building factories to automate the creation
|
||||
and processing of increasingly complex shapes across an infinitely
|
||||
expanding map.
|
||||
discordLink: Official Discord - Chat with me!
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io is a relaxed game in which you have to build factories for the
|
||||
automated production of geometric shapes.
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map.
|
||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||
|
||||
Upon delivering the requested shapes you'll progress within the game and unlock upgrades to speed up your factory.
|
||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
||||
|
||||
As the demand for shapes increases, you'll have to scale up your factory to meet the demand - Don't forget about resources though, you'll have to expand across the [b]infinite map[/b]!
|
||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
||||
|
||||
Soon you'll have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with them to satisfy the demand.
|
||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
||||
title_advantages: Standalone Advantages
|
||||
advantages:
|
||||
- <b>12 New Level</b> for a total of 26 levels
|
||||
- <b>18 New Buildings</b> for a fully automated factory!
|
||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Unlimited Markers
|
||||
- Support me! ❤️
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library (Standalone Exclusive)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
title_open_source: This game is open source!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and
|
||||
attempt to review all suggestions and take feedback into consideration
|
||||
where possible.
|
||||
|
||||
This game features 18 progressive levels (Which should already keep you busy for hours!) but I'm constantly adding new content - There's a lot planned!
|
||||
|
||||
Purchasing the game gives you access to the standalone version which has additional features, and you'll also receive access to newly developed features.
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Dark Mode
|
||||
[*] Unlimited Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Additional settings
|
||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
||||
[*] Coming soon: More Levels
|
||||
[*] Allows me to further develop shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Future Updates[/b]
|
||||
|
||||
I am updating the game often and trying to push an update at least once every week!
|
||||
|
||||
[list]
|
||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
||||
[*] A story mode where buildings have a cost
|
||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
||||
[*] Additional types of shapes
|
||||
[*] Performance improvements (The game already runs pretty well!)
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
[b]This game is open source![/b]
|
||||
|
||||
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible. Be sure to check out my trello board for the full roadmap!
|
||||
|
||||
[b]Links[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
|
||||
[/list]
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
global:
|
||||
loading: Loading
|
||||
error: Error
|
||||
@ -131,7 +121,9 @@ dialogs:
|
||||
text: "Failed to load your savegame:"
|
||||
confirmSavegameDelete:
|
||||
title: Confirm deletion
|
||||
text: Are you sure you want to delete the game?
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Failed to delete
|
||||
text: "Failed to delete the savegame:"
|
||||
@ -191,8 +183,7 @@ dialogs:
|
||||
title: New Marker
|
||||
titleEdit: Edit Marker
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <a
|
||||
href="https://viewer.shapez.io" target="_blank">here</a>)
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
markerDemoLimit:
|
||||
desc: You can only create two custom markers in the demo. Get the standalone for
|
||||
unlimited markers!
|
||||
@ -208,6 +199,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that
|
||||
the game can not handle an endless count of buildings - So try to
|
||||
keep your factories compact!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Move
|
||||
@ -345,6 +341,38 @@ ingame:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the Steam version advantages!
|
||||
get_on_steam: Get on steam
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Belts, Distributor & Tunnels
|
||||
@ -363,6 +391,7 @@ buildings:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
endOfDemo: End of Demo
|
||||
belt:
|
||||
default:
|
||||
name: Conveyor Belt
|
||||
@ -433,8 +462,9 @@ buildings:
|
||||
input.
|
||||
quad:
|
||||
name: Painter (Quad)
|
||||
description: Allows you to color each quadrant of the shape with a different
|
||||
color.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
trash:
|
||||
default:
|
||||
name: Trash
|
||||
@ -544,14 +574,20 @@ buildings:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the
|
||||
wires layer on the regular layer.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes half from
|
||||
<strong>top to bottom</strong> regardless of its
|
||||
orientation!<br><br>Be sure to get rid of the waste, or otherwise
|
||||
<strong>it will stall</strong> - For this purpose I gave you a
|
||||
trash, which destroys everything you put into it!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
desc: The <strong>rotater</strong> has been unlocked! It rotates shapes
|
||||
@ -574,9 +610,9 @@ storyRewards:
|
||||
<strong>stacked on top</strong> of the left input!
|
||||
reward_splitter:
|
||||
title: Splitter/Merger
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
||||
be used to build bigger factories by <strong>splitting and merging
|
||||
items</strong> onto multiple belts!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: The <strong>tunnel</strong> has been unlocked - You can now tunnel items
|
||||
@ -589,9 +625,10 @@ storyRewards:
|
||||
variants</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Chaining Extractor
|
||||
desc: You have unlocked the <strong>chaining extractor</strong>! It can
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Tier II
|
||||
desc: You have unlocked a new variant of the <strong>tunnel</strong> - It has a
|
||||
@ -606,19 +643,20 @@ storyRewards:
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works as
|
||||
the regular painter but processes <strong>two shapes at
|
||||
once</strong> consuming just one color instead of two!
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It allows
|
||||
you to paint each part of the shape individually!
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
desc: You have unlocked a variant of the <strong>trash</strong> - It allows you
|
||||
to store items up to a given capacity!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Freeplay
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now randomly generated! (No worries, more content is
|
||||
planned for the standalone!)
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Blueprints
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select
|
||||
@ -653,17 +691,12 @@ storyRewards:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -687,6 +720,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
@ -907,7 +957,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -916,6 +965,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: About this Game
|
||||
body: >-
|
||||
@ -1000,3 +1051,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -2,61 +2,52 @@ steamPage:
|
||||
shortText: shapez.io és un joc que té com a objectiu construir i automatitzar
|
||||
fàbriques per tal de produir figures cada cop més complexes en un mapa
|
||||
infinit.
|
||||
discordLink: Discord Oficial (en Anglès)
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io es un joc relaxant en el qual has de construir fàbriques per a
|
||||
la producció automàtica de formes geomètriques.
|
||||
|
||||
shapez.io és un joc que té com a objectiu construir i automatitzar fàbriques per tal de produir figures cada cop més complexes en un mapa infinit.
|
||||
A mesura que el nivell augmenta, les formes esdevenen més complexes, i has d'explorar el mapa infinit.
|
||||
|
||||
Al lliurar les formes geomètriques sol·licitades, progressaràs i desbloquejaràs millores per accelerar la teva fàbrica.
|
||||
Per si això no era suficient, la demanda de formes creixerà exponencialment, pel que hauràs d'escalar les teves fàbriques!
|
||||
|
||||
Com que la demanda de figures va augmentant, hauràs de augmentar proporcionalment la teva fàbrica per satisfer la demanda. Però no t'oblidis dels recursos, ja que t'hauràs d'expandre a través del [b]mapa infinit[/b]!
|
||||
Mentre que al principi només processes formes, més envant les hauràs de colorejar, pel que necessitaràs extreure y mesclar colors!
|
||||
|
||||
Sovint, hauràs de començar a mesclar color i pintar les figures amb aquests; combina roig, verd i blau per produïr diferents colors i pintar les figures amb aquests per satisfer la demanda.
|
||||
Si compres el joc a Steam tendràs accés al joc complet, però també pots jugar a la demo a shapez.io primer i decidir-te més tard!
|
||||
title_advantages: "Avantatges de la versió completa:"
|
||||
advantages:
|
||||
- <b>12 Nous nivells</b> per a un total de 26 nivells
|
||||
- <b>18 Nous edificis</b> per construir una fàbrica completament
|
||||
automatitzada!
|
||||
- <b>20 Nivells de millora</b> per més hores de diversió!
|
||||
- <b>Actualització de Cablejat</b> per a una dimensió totalment nova!
|
||||
- <b>Mode Oscur</b>!
|
||||
- Pots guardar jocs il·limitats
|
||||
- Marcadors il·limitats
|
||||
- Em dones suport! ❤️
|
||||
title_future: Contingut Planejat
|
||||
planned:
|
||||
- Llibreria de plànols (Exclusiu de la versió completa)
|
||||
- Trofeus d'Steam
|
||||
- Mode Puzzle
|
||||
- Minimapa
|
||||
- Mods
|
||||
- Mode Sandbox
|
||||
- ... i mot més!
|
||||
title_open_source: Aquest joc és de codi obert!
|
||||
title_links: Enllaços
|
||||
links:
|
||||
discord: Discord Oficial
|
||||
roadmap: Full de ruta
|
||||
subreddit: Subreddit
|
||||
source_code: Codi font (GitHub)
|
||||
translate: Ajuda a traduir-lo
|
||||
text_open_source: >-
|
||||
Qualsevol pot contribuir, i estic activament involucrat en la comunitat
|
||||
i intent prestar atenció a tots els suggeriments i tenir en compte tots
|
||||
el comentaris.
|
||||
|
||||
Aquest joc presenta 18 nivells progressius (Els quals ja haurien de mantenir-te ocupat durant hores!) però estic constantment afegint nou contingut. Tenim moltes coses planejades!
|
||||
|
||||
La compra del joc et dona accés a versió independent amb característiques adicionals, i també rebràs accés a les noves característiques que es desenvolupin.
|
||||
|
||||
[b]Ventatges de la Versió Independent[/b]
|
||||
|
||||
[list]
|
||||
[*] Mode Oscur
|
||||
[*] Punts d'interès il·limitats
|
||||
[*] Guardar partides il·limitades
|
||||
[*] Configuracions Adicionals
|
||||
[*] Pròximament: Cables i Energia! Objectiu (aproximadament) per finals de Juliol del 2020.
|
||||
[*] Pròximament: Més Nivells
|
||||
[*] Em permet seguir desenvolupant shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Futures Actualitzacions[/b]
|
||||
|
||||
Actualitzo el joc sovint i intent treure una actualització nova per setmana!
|
||||
|
||||
[list]
|
||||
[*] Mapes i reptes diferents (p.e. mapes amb obstacles)
|
||||
[*] Trencaclosques (Entrega la figura amb una àrea/conjunt d'edificis delimitats)
|
||||
[*] Un "Mode Història" on els edificis tenen un cost
|
||||
[*] Generador de mapes configurable (Configura el tamany/densitat de les formes/recursos, llavors i més)
|
||||
[*] Formes geomètriques adicionals
|
||||
[*] Millores de rendiment (El joc ja funciona força bé!)
|
||||
[*] Moltes coses més!
|
||||
[/list]
|
||||
|
||||
[b]Aquest joc és de codi obert![/b]
|
||||
|
||||
Qualsevol pot contribuir, estic involucrat activament en la comunitat i intento revisar tots els suggeriments i tenir en compte els comentaris sempre que sigui possible. Assegureu-vos de consultar el meu tauler de trello per obtenir el full de ruta complet!
|
||||
|
||||
[b]Enllaços[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
|
||||
[/list]
|
||||
Assegura't de mirar el meu tauler de Trello per al full de ruta complet!
|
||||
global:
|
||||
loading: Carregant
|
||||
error: Error
|
||||
@ -132,7 +123,9 @@ dialogs:
|
||||
text: "Ha ocurrit un error al intentar carregar la teva partida:"
|
||||
confirmSavegameDelete:
|
||||
title: Eliminar
|
||||
text: Estàs segur que vols eliminar la partida guardada?
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Error en eliminar
|
||||
text: "Ha ocurrit un error al intentar eliminar la teva partida:"
|
||||
@ -193,10 +186,9 @@ dialogs:
|
||||
transportadores ja col·locades.<br>"
|
||||
createMarker:
|
||||
title: Nou Marcador
|
||||
titleEdit: Edit Marker
|
||||
desc: 'Dona-li un nom significatiu, també pots usar <strong>claus</strong> de
|
||||
les figures (Pots generarles a: <a href="https://viewer.shapez.io"
|
||||
target="_blank">aquí</a>)'
|
||||
titleEdit: Editar Marcador
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
markerDemoLimit:
|
||||
desc: En la Demo només pots crear dos marcadors, aconsegueix la versió completa
|
||||
per gaudir de l'experiència completa!
|
||||
@ -206,13 +198,18 @@ dialogs:
|
||||
conte que aquest procés pot ser molt lent i inclús crashear el teu
|
||||
joc!
|
||||
editSignal:
|
||||
title: Set Signal
|
||||
descItems: "Choose a pre-defined item:"
|
||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
||||
can generate <link>here</link>)
|
||||
title: Configura la Senyal
|
||||
descItems: "Tria un ítem predefinit:"
|
||||
descShortKey: ... o introdueix un<strong>códi de forma</strong> (El qual pots
|
||||
generar <link>aqui</link>)
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
title: Canviar el nom.
|
||||
desc: Canviar el nom de la partida guardada.
|
||||
entityWarning:
|
||||
title: Alerta de rendiment
|
||||
desc: Has col·locat molts edificis, això és una alerta amistosa de que el joc no
|
||||
pot suportar edificis infinits, així que intenta mantenir els teus
|
||||
dissenys minimament compactes!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Moure
|
||||
@ -351,7 +348,39 @@ ingame:
|
||||
connectedMiners:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
limited_items: Limitat a <max_throughput>
|
||||
watermark:
|
||||
title: Versió demo
|
||||
desc: Premeu aquí per veure les avantatges d'Steam!
|
||||
get_on_steam: Comprar a Steam
|
||||
standaloneAdvantages:
|
||||
title: Aconsegueix la versió completa!
|
||||
no_thanks: No, gràcies!
|
||||
points:
|
||||
levels:
|
||||
title: 12 Nivells now
|
||||
desc: Per a un total de 26 nivells!
|
||||
buildings:
|
||||
title: 18 Nous edificis
|
||||
desc: Automatitza la teva fàbrica completament!
|
||||
savegames:
|
||||
title: Guarda ∞ partides
|
||||
desc: Tantes com vulguis!
|
||||
upgrades:
|
||||
title: 20 Nivells de millora
|
||||
desc: La versió demo només en té 5!
|
||||
markers:
|
||||
title: ∞ Marcadors
|
||||
desc: Mai et perdis per el mapa!
|
||||
wires:
|
||||
title: Cables
|
||||
desc: Una nova dimensió!
|
||||
darkmode:
|
||||
title: Mode Oscur
|
||||
desc: Deixa de fer-te mal als ulls!
|
||||
support:
|
||||
title: Dona'm suport
|
||||
desc: EL desenvolupo en el meu temps lliure!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Cintes transportadores, Distribuidors i Túnels
|
||||
@ -370,6 +399,7 @@ buildings:
|
||||
deliver: Envia
|
||||
toUnlock: per a desbloquejar
|
||||
levelShortcut: NVL
|
||||
endOfDemo: Fi de la Demo
|
||||
belt:
|
||||
default:
|
||||
name: Cinta transportadora
|
||||
@ -380,9 +410,9 @@ buildings:
|
||||
name: Cable
|
||||
description: Permet transportar energia.
|
||||
second:
|
||||
name: Wire
|
||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
||||
Different colored wires do not connect.
|
||||
name: Cable
|
||||
description: Transfereix senyals, que poden ser ítems, colors o booleà. Cables
|
||||
de diferents colors no es connecten entre ells.
|
||||
miner:
|
||||
default:
|
||||
name: Extractor
|
||||
@ -400,12 +430,12 @@ buildings:
|
||||
description: Permet transportar recursos per sota d'edificis i cintes.
|
||||
cutter:
|
||||
default:
|
||||
name: Cisalla
|
||||
name: Tallador
|
||||
description: Talla figures de dalt a baix i produeix les dues meitats.
|
||||
<strong>Si utilitzes sols una part, assegura't de destruir
|
||||
l'altra o es pararà!</strong>
|
||||
quad:
|
||||
name: Cisalla (Quàdruple)
|
||||
name: Tallador (Quàdruple)
|
||||
description: Talla figures en quatre parts. <strong>Si no utilitzes totes les
|
||||
parts, assegura't de destruir les altres o es pararà!</strong>
|
||||
rotater:
|
||||
@ -416,8 +446,8 @@ buildings:
|
||||
name: Rotador (Antihorari)
|
||||
description: Rota formes en sentit antihorari 90 graus.
|
||||
rotate180:
|
||||
name: Rotate (180)
|
||||
description: Rotates shapes by 180 degrees.
|
||||
name: Rotador (180)
|
||||
description: Rota formes 180 graus.
|
||||
stacker:
|
||||
default:
|
||||
name: Apilador
|
||||
@ -441,124 +471,137 @@ buildings:
|
||||
description: Pinta les figures de l'esquerra amb el color de dalt.
|
||||
quad:
|
||||
name: Pintor (Quàdruple)
|
||||
description: Permet pintar cadascun dels quadrants de forma diferent.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
trash:
|
||||
default:
|
||||
name: Paperera
|
||||
description: Acepta objectes de tots els costats i els destrueix. Permanentment.
|
||||
balancer:
|
||||
default:
|
||||
name: Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
name: Equilibrador
|
||||
description: Multifuncional - Reparteix uniformament totes les entrades a totes
|
||||
les sortides.
|
||||
merger:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Fusionador (compacte)
|
||||
description: Fusiona dues cintes transportadores en una.
|
||||
merger-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Fusionador (compacte)
|
||||
description: Fusiona dues cintes transportadores en una.
|
||||
splitter:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Divisor (compacte)
|
||||
description: Divideix una cinta transportadora en dues.
|
||||
splitter-inverse:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Divisor (compacte)
|
||||
description: Divideix una cinta transportadora en dues.
|
||||
storage:
|
||||
default:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
||||
output and can be used as an overflow gate.
|
||||
name: Emmagatzematge
|
||||
description: Emmagatzema articles en excés fins a una capacitat determinada.
|
||||
Prioritza la sortida esquerra i es pot utilitzar com a porta de
|
||||
desbordament.
|
||||
wire_tunnel:
|
||||
default:
|
||||
name: Wire Crossing
|
||||
description: Allows to cross two wires without connecting them.
|
||||
name: Encreuament de cablejat
|
||||
description: Permet creuar dos cables sense conectar-los.
|
||||
constant_signal:
|
||||
default:
|
||||
name: Constant Signal
|
||||
description: Emits a constant signal, which can be either a shape, color or
|
||||
boolean (1 / 0).
|
||||
name: Senyal Constant
|
||||
description: EEmet una senyal constant, que pot esser una forma, color o
|
||||
booleana (1 / 0).
|
||||
lever:
|
||||
default:
|
||||
name: Switch
|
||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
||||
which can then be used to control for example an item filter.
|
||||
name: Interruptor
|
||||
description: Pot esser alternat per emetre una senyal booleana (1 / 0) a la capa
|
||||
de cablejat.
|
||||
logic_gate:
|
||||
default:
|
||||
name: AND Gate
|
||||
name: Porta AND
|
||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
||||
color or boolean "1")
|
||||
not:
|
||||
name: NOT Gate
|
||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
description: Emet una senyal booleana "1" si les dues entrades són vertaderes.
|
||||
(Vertadera significa que la senyal és una forma, un color o la
|
||||
senyal booleana "1").
|
||||
xor:
|
||||
name: XOR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
||||
(Truthy means shape, color or boolean "1")
|
||||
name: Porta XOR
|
||||
description: Emet una senyal booleana "1" si i només si una de les senyals és
|
||||
vertadera. (Vertadera significa que la senyal és una forma, un
|
||||
color o la senyal booleana "1").
|
||||
or:
|
||||
name: OR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
name: Porta OR
|
||||
description: Emet una senyal booleana "1" si una de les senyals és vertadera.
|
||||
(Vertadera significa que la senyal és una forma, un color o la
|
||||
senyal booleana "1").
|
||||
transistor:
|
||||
default:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
description: Deixa passar la senyal inferior si la senyal lateral és vertadera
|
||||
(una forma, color o "1").
|
||||
mirrored:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
description: Deixa passar la senyal inferior si la senyal lateral és vertadera
|
||||
(una forma, color o "1").
|
||||
filter:
|
||||
default:
|
||||
name: Filter
|
||||
description: Connect a signal to route all matching items to the top and the
|
||||
remaining to the right. Can be controlled with boolean signals
|
||||
too.
|
||||
name: Filtre
|
||||
description: Conecta una senyal per redirigir tots els ítems que coincideixin
|
||||
amb la senyal a la part superior, i la resta a la dreta. També
|
||||
es pot controlar amb senyals booleanes.
|
||||
display:
|
||||
default:
|
||||
name: Display
|
||||
description: Connect a signal to show it on the display - It can be a shape,
|
||||
color or boolean.
|
||||
name: Pantalla
|
||||
description: Conecta una senyal per que es mostri a la pantalla. Pot ser una
|
||||
forma, color o booleà
|
||||
reader:
|
||||
default:
|
||||
name: Belt Reader
|
||||
description: Allows to measure the average belt throughput. Outputs the last
|
||||
read item on the wires layer (once unlocked).
|
||||
name: Lector de cinta
|
||||
description: Permet mesurar el rendiment de la cinta. Emet el darrer ítem llegit
|
||||
a la capa de cablejat (un pic desbloquejada).
|
||||
analyzer:
|
||||
default:
|
||||
name: Shape Analyzer
|
||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
||||
and returns its shape and color.
|
||||
name: Analitzador de formes
|
||||
description: Analitza el quadrant superior dret de la capa més baixa de la forma
|
||||
i retorna el color i la forma.
|
||||
comparator:
|
||||
default:
|
||||
name: Compare
|
||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
||||
shapes, items and booleans.
|
||||
name: Comparador
|
||||
description: Retorna una senyal booleana "1" si les dues senyals són exactament
|
||||
iguales.Pot comparar formes, colors i booleans.
|
||||
virtual_processor:
|
||||
default:
|
||||
name: Virtual Cutter
|
||||
description: Virtually cuts the shape into two halves.
|
||||
name: Tallador virtual
|
||||
description: Talla la forma virtual en dues parts.
|
||||
rotater:
|
||||
name: Virtual Rotater
|
||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
||||
name: Rotador Virtual
|
||||
description: Rota la forma virtual, tant en sentit horari com antihorari.
|
||||
unstacker:
|
||||
name: Virtual Unstacker
|
||||
description: Virtually extracts the topmost layer to the right output and the
|
||||
remaining ones to the left.
|
||||
name: Desapilador Virtual
|
||||
description: Extreu la capa superior a la sortida dreta i la resta a la sortida
|
||||
esquerra.
|
||||
stacker:
|
||||
name: Virtual Stacker
|
||||
description: Virtually stacks the right shape onto the left.
|
||||
name: Apilador Virtual
|
||||
description: Apila la figura de l'entrada dreta damunt l'entrada esquerra.
|
||||
painter:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
name: Pintador Virtual
|
||||
description: Pinta la capa de l'entrada inferior amb la figura de la entrada
|
||||
dreta.
|
||||
item_producer:
|
||||
default:
|
||||
name: Productor d'ítems
|
||||
description: Només avaliable en mode "sandbox", emet la senyal de la capa de
|
||||
cablejat a la capa normal.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Tallar figures
|
||||
desc: Acabes de desbloquejar la <strong>Cisalla</strong> - talla les figures per
|
||||
la meitat <strong>de dalt a baix</strong>; sense importar la seva/ua
|
||||
orientació!<br><br>Assegura't d'eliminar les parts que no utilitzes,
|
||||
si no <strong>es pararà</strong> - Es per això que t'he donat una
|
||||
paperera, utilitza-la!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Rotar
|
||||
desc: El <strong>Rotador</strong> s'ha desbloquejat! Rota formes en sentit
|
||||
@ -582,10 +625,9 @@ storyRewards:
|
||||
<strong>s'apilarà damunt</strong> de la de l'esquerra!
|
||||
reward_splitter:
|
||||
title: Distribuïdor
|
||||
desc: El <strong>distribuïdor</strong> multifuncional s'ha desbloquejat - Pot
|
||||
ser utilitzat per a construir fàbriques més grans per mitjà de la
|
||||
<strong>separació i fusió</strong> de figures de diferents
|
||||
cintes!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Túnel
|
||||
desc: El <strong>túnel</strong> s'ha desbloquejat - Ara pots passar objectes a
|
||||
@ -598,17 +640,18 @@ storyRewards:
|
||||
variants</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Extractor en cadena
|
||||
desc: Has desbloquejat el <strong>extractor en cadena</strong>! Pot
|
||||
<strong>passar els seus recursos</strong> a altres extractors perquè
|
||||
pugues extraure recursos més eficientment!
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Túnel de Nivell II
|
||||
desc: Has desbloquejat una nova variant del <strong>túnel</strong> - Té una
|
||||
<strong>major distància màxima</strong>, i ara pots mesclar tipus de
|
||||
túnels!
|
||||
reward_cutter_quad:
|
||||
title: Cisalla quàdruple
|
||||
desc: Has desbloquejat una variant de la <strong>cisalla</strong> - Et permet
|
||||
title: Tallador quàdruple
|
||||
desc: Has desbloquejat una variant de la <strong>tallador</strong> - Et permet
|
||||
tallar figures en <strong>quatre parts</strong> en lloc de sols en
|
||||
dos!
|
||||
reward_painter_double:
|
||||
@ -616,20 +659,20 @@ storyRewards:
|
||||
desc: Has desbloquejat una variant del <strong>pintor</strong> - Funciona com el
|
||||
pintor regular però processa <strong>dos figures alhora</strong>,
|
||||
consumint sols un color en lloc de dos!
|
||||
reward_painter_quad:
|
||||
title: Pintor quàdruple
|
||||
desc: Has desbloquejat una variant del <strong>pintor</strong> - Et permet
|
||||
pintar cada part de la figura individualment!
|
||||
reward_storage:
|
||||
title: Magatzem de reserva
|
||||
desc: Has desbloquejat una variant de la <strong>paperera</strong> - Et permet
|
||||
emmagatzemar objectes fins a una capacitat màxima!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Joc lliure
|
||||
desc: Ho has fet! Has desbloquejat el <strong>mode de joc lliure</strong>! Això
|
||||
significa que les figures ara són generades aleatòriament! (No
|
||||
t'angoixis/es, hi ha més contingut planejat per a la versió completa
|
||||
- fora del web)
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Plànols
|
||||
desc: Ara pots <strong>copiar i apegar/enxegar</strong> parts de la teva/ua
|
||||
@ -648,68 +691,82 @@ storyRewards:
|
||||
desc: Enhorabona! Per cert, hi ha més contingut planejat per a la versió
|
||||
completa - fora del web!
|
||||
reward_balancer:
|
||||
title: Balancer
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
||||
be used to build bigger factories by <strong>splitting and merging
|
||||
items</strong> onto multiple belts!<br><br>
|
||||
title: Equilibrador
|
||||
desc: Has desbloquejat el multifuncional <strong>equilibrador</strong>! Pot
|
||||
ésser emprat per construir fàbriques més grans <strong>dividint i
|
||||
fusionant ítems</strong> a múltiples cintes!<br><br>
|
||||
reward_merger:
|
||||
title: Compact Merger
|
||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
||||
into one belt!
|
||||
title: Fusionador Compacte
|
||||
desc: Has desbloquejat una variant <strong>fusionadora</strong> de
|
||||
l'<strong>equilibrador</strong>. Accepta dues entrades i les fusiona
|
||||
en una cinta!
|
||||
reward_belt_reader:
|
||||
title: Belt reader
|
||||
title: Lector de cinta
|
||||
desc: You have now unlocked the <strong>belt reader</strong>! It allows you to
|
||||
measure the throughput of a belt.<br><br>And wait until you unlock
|
||||
wires - then it gets really useful!
|
||||
reward_rotater_180:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
title: Rotador (180 graus)
|
||||
desc: Acabes de desbloquejar un altre <strong>rotador</strong>!. Et permet rotar
|
||||
una forma 180 graus.
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
title: Pantalla
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
layer! This is useful to connect it to <strong>item filters</strong>
|
||||
for example.<br><br> The constant signal can emit a
|
||||
<strong>shape</strong>, <strong>color</strong> or
|
||||
<strong>boolean</strong> (1 / 0).
|
||||
title: Senyal constant
|
||||
desc: >-
|
||||
Has desbloquejat l'emisor de <strong>senyal constant</strong> a la
|
||||
capa de cables! És molt util per conectar-los a <strong>filtres
|
||||
d'ítems</strong>, per exemple.<br><br> Pot emetre una
|
||||
<strong>forma</strong>, <strong>color</strong> or
|
||||
<strong>booleà</strong> (1 / 0).
|
||||
reward_logic_gates:
|
||||
title: Logic Gates
|
||||
desc: You unlocked <strong>logic gates</strong>! You don't have to be excited
|
||||
about this, but it's actually super cool!<br><br> With those gates
|
||||
you can now compute AND, OR, XOR and NOT operations.<br><br> As a
|
||||
bonus on top I also just gave you a <strong>transistor</strong>!
|
||||
title: Portes lògiques
|
||||
desc: Has desbloquejat les <strong>portes lògiques</strong>! No fa falta
|
||||
t'emocionis per això, però és molt guai!<br><br> Amb aquestes portes
|
||||
lògiques pots computar operacions AND, OR, XOR i NOT. <br><br> També
|
||||
tens disponible un <strong>transistor</strong>!
|
||||
reward_virtual_processing:
|
||||
title: Virtual Processing
|
||||
desc: I just gave a whole bunch of new buildings which allow you to
|
||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
||||
With this you now have three options to continue the game:<br><br> -
|
||||
Build an <strong>automated machine</strong> to create any possible
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
title: Processament Virtual
|
||||
desc: Acabes de desbloquejar un munt de nous edificis que et permeten
|
||||
<strong>simular el processament de figures</strong>!<br><br> Ara
|
||||
pots simular una tallador, rotador, apilador i més a la capa de
|
||||
cables! Amb això ara tens tres opcions per continuar el
|
||||
joc:<br><br> - Construir una <strong>màquina automàtica</strong>
|
||||
que crea totes les formes demanades per el NEXE (Recoman
|
||||
provar-ho!).<br><br> - Construir algo guai amb cables.<br><br> -
|
||||
Continua jugant normalment.<br><br> Triis el que triis, recorda
|
||||
passar-ho bé!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Cables i Pintador Quàdruple
|
||||
desc: "\"Has desbloquejat la <strong>Capa de Cables</strong>: És una capa
|
||||
separada damunt la capa normal i introdueix moltes mecàniques
|
||||
noves!<br><br> Per començar t'he desbloquejat el <strong>Pintador
|
||||
Quàdruple</strong>. Conecta les ranures que vols pintar a la capa de
|
||||
Cables!<br><br> Per canviar a la capa de Cables, prem
|
||||
<strong>E</strong>.\""
|
||||
reward_filter:
|
||||
title: Filtre d'Ítems
|
||||
desc: Has desbloquejat el <strong>Filtre d'Ítems</strong>! Filtrarà els ítems a
|
||||
la part superior o a la part dreta depenent de si coincideixen amb
|
||||
la senyal de la capa de Cables o no.<br><br> També pots conectar-li
|
||||
una senyal booleana (1 / 0) per encendra-la per complet o apagarla.
|
||||
reward_demo_end:
|
||||
title: Final de la Demo
|
||||
desc: Has arribat al final de la Demo!
|
||||
settings:
|
||||
title: Opcions
|
||||
categories:
|
||||
general: General
|
||||
userInterface: User Interface
|
||||
advanced: Advanced
|
||||
performance: Performance
|
||||
userInterface: Interfície d'Usuari
|
||||
advanced: Avançat
|
||||
performance: Rendiment
|
||||
versionBadges:
|
||||
dev: Desenvolupament
|
||||
staging: Staging
|
||||
staging: Posada en escena
|
||||
prod: Producció
|
||||
buildDate: Generat <at-date>
|
||||
labels:
|
||||
@ -819,47 +876,48 @@ settings:
|
||||
description: Desactiva els diàlegs d'advertència que es mostren en tallar /
|
||||
suprimir més de 100 entitats.
|
||||
soundVolume:
|
||||
title: Sound Volume
|
||||
description: Set the volume for sound effects
|
||||
title: Volum de sò
|
||||
description: Defineix el volum dels sons
|
||||
musicVolume:
|
||||
title: Music Volume
|
||||
description: Set the volume for music
|
||||
title: Volum de música
|
||||
description: Defineix el volum de la música
|
||||
lowQualityMapResources:
|
||||
title: Low Quality Map Resources
|
||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
||||
improve performance. It even looks cleaner, so be sure to try it
|
||||
out!
|
||||
title: Map de Recursos de Baixa Qualitat
|
||||
description: Simplifica la renderització dels recursos en el mapa al fer zoom
|
||||
per millorar el rendiment. Fins i tot es veu més net, així que
|
||||
assegureu-vos de provar-ho!
|
||||
disableTileGrid:
|
||||
title: Disable Grid
|
||||
description: Disabling the tile grid can help with the performance. This also
|
||||
makes the game look cleaner!
|
||||
title: Desactiva la Graella
|
||||
description: Desactivar la graella pot ajudar al rendiment. També fa que el joc
|
||||
es vegi més net!
|
||||
clearCursorOnDeleteWhilePlacing:
|
||||
title: Clear Cursor on Right Click
|
||||
description: Enabled by default, clears the cursor whenever you right click
|
||||
while you have a building selected for placement. If disabled,
|
||||
you can delete buildings by right-clicking while placing a
|
||||
building.
|
||||
title: Esborreu el cursor en fer clic amb el botó dret
|
||||
description: Encés per defecte, borra el cursor quan es prem el botó dret
|
||||
mentres hi ha un edifici seleccionat. Si es desactiva, pots
|
||||
eliminar edificis prement amb el botó dret mentres col·loques un
|
||||
altre edifici.
|
||||
lowQualityTextures:
|
||||
title: Low quality textures (Ugly)
|
||||
description: Uses low quality textures to save performance. This will make the
|
||||
game look very ugly!
|
||||
title: Textures de baixa qualitat (Molt lleig)
|
||||
description: Emprar textures de baixa qualitat per millorar el rendiment. Aixó
|
||||
farà que el joc sigui molt lleig!
|
||||
displayChunkBorders:
|
||||
title: Display Chunk Borders
|
||||
description: The game is divided into chunks of 16x16 tiles, if this setting is
|
||||
enabled the borders of each chunk are displayed.
|
||||
title: Mostrar les vores dels Chunks
|
||||
description: El joc està dividit en chunks de 16x16 caselles. Si es selecciona
|
||||
aquesta opció, les vores dels chunks es mostraràn.
|
||||
pickMinerOnPatch:
|
||||
title: Pick miner on resource patch
|
||||
description: Enabled by default, selects the miner if you use the pipette when
|
||||
hovering a resource patch.
|
||||
title: Triar el miner a la zona de recursos
|
||||
description: Seleccionat per defecte, es selecciona el miner si empres la pipeta
|
||||
damunt una zona de recursos.
|
||||
simplifiedBelts:
|
||||
title: Simplified Belts (Ugly)
|
||||
description: Does not render belt items except when hovering the belt to save
|
||||
performance. I do not recommend to play with this setting if you
|
||||
do not absolutely need the performance.
|
||||
title: Cintes simplificades (Lleig)
|
||||
description: No renderitze els ítems de les cintes fins que passis el ratolí per
|
||||
sobre, per millorar el rendiment.No recoman usar aquesta opció
|
||||
si no necessites un augment de rendiment.
|
||||
enableMousePan:
|
||||
title: Enable Mouse Pan
|
||||
description: Allows to move the map by moving the cursor to the edges of the
|
||||
screen. The speed depends on the Movement Speed setting.
|
||||
title: Activa el desplaçament del ratolí
|
||||
description: Permet moure el mapa quan mous el cursor a les vores de la
|
||||
pantalla. La velocitat de moviment depèn de la configuració de
|
||||
Velocitat de Moviment.
|
||||
rangeSliderPercentage: <amount> %
|
||||
keybindings:
|
||||
title: Combinacions de tecles
|
||||
@ -896,7 +954,7 @@ keybindings:
|
||||
belt: Cinta transportadora
|
||||
underground_belt: Túnel
|
||||
miner: Extractor
|
||||
cutter: Cisalla
|
||||
cutter: Tallador
|
||||
rotater: Rotador
|
||||
stacker: Apilador
|
||||
mixer: Mesclador de colors
|
||||
@ -905,13 +963,13 @@ keybindings:
|
||||
wire: Cable
|
||||
pipette: Pipeta
|
||||
rotateWhilePlacing: Rotar
|
||||
rotateInverseModifier: "Modifier: Rotar en sentit antihorari"
|
||||
rotateInverseModifier: "Modificador: Rotar en sentit antihorari"
|
||||
cycleBuildingVariants: Rotar les Variants
|
||||
confirmMassDelete: Eliminar àrea
|
||||
pasteLastBlueprint: Afferar el darrer pla
|
||||
cycleBuildings: Rotar els Buildings
|
||||
lockBeltDirection: Habilitar el planificador de cintes transportadores
|
||||
switchDirectionLockSide: "Planner: Canviar costat"
|
||||
switchDirectionLockSide: "Planificador: Canviar costat"
|
||||
massSelectStart: Manteniu premut i arrossegueu per començar
|
||||
massSelectSelectMultiple: Seleccionar múltiples àrees
|
||||
massSelectCopy: Copiar àrea
|
||||
@ -919,20 +977,21 @@ keybindings:
|
||||
placementDisableAutoOrientation: Desactivar orientació automàtica
|
||||
placeMultiple: Mantenir-se en mode de col·locació
|
||||
placeInverse: Invertir orientació automàtica de les cintes transportadores
|
||||
balancer: Balancer
|
||||
storage: Storage
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
reader: Belt Reader
|
||||
virtual_processor: Virtual Cutter
|
||||
balancer: Equilibrador
|
||||
storage: Emmagatzematge
|
||||
constant_signal: Senyal Constant
|
||||
logic_gate: Porta lògica
|
||||
lever: Interruptor (regular)
|
||||
filter: Filtre
|
||||
wire_tunnel: Creuament de Cables
|
||||
display: Pantalla
|
||||
reader: Lector de cinta
|
||||
virtual_processor: Tallador Virtual
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
analyzer: Analitzador de Figura
|
||||
comparator: Comparador
|
||||
item_producer: Productor d'items (Sandbox)
|
||||
copyWireValue: "Cables: Copiar valor davall el cursor"
|
||||
about:
|
||||
title: Sobre aquest Joc
|
||||
body: >-
|
||||
@ -958,62 +1017,78 @@ demo:
|
||||
exportingBase: Exportar la base com a Imatge
|
||||
settingNotAvailable: No disponible en la versió de demostració.
|
||||
tips:
|
||||
- The hub accepts input of any kind, not just the current shape!
|
||||
- Make sure your factories are modular - it will pay out!
|
||||
- Don't build too close to the hub, or it will be a huge chaos!
|
||||
- If stacking does not work, try switching the inputs.
|
||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
||||
- Ratios stay the same, as long as all upgrades are on the same Tier.
|
||||
- Serial execution is more efficient than parallel.
|
||||
- You will unlock more variants of buildings later in the game!
|
||||
- You can use <b>T</b> to switch between different variants.
|
||||
- Symmetry is key!
|
||||
- You can weave different tiers of tunnels.
|
||||
- Try to build compact factories - it will pay out!
|
||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
||||
- Having the right building ratios will maximize efficiency.
|
||||
- At maximum level, 5 extractors will fill a single belt.
|
||||
- Don't forget about tunnels!
|
||||
- You don't need to divide up items evenly for full efficiency.
|
||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
||||
long lines of belts easily.
|
||||
- Cutters always cut vertically, regardless of their orientation.
|
||||
- To get white mix all three colors.
|
||||
- The storage buffer priorities the first output.
|
||||
- Invest time to build repeatable designs - it's worth it!
|
||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||
- Efficiency is key!
|
||||
- Shape patches that are further away from the hub are more complex.
|
||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
||||
- Use balancers to maximize your efficiency.
|
||||
- Organization is important. Try not to cross conveyors too much.
|
||||
- Plan in advance, or it will be a huge chaos!
|
||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
||||
- Try beating level 20 on your own before seeking for help!
|
||||
- Don't complicate things, try to stay simple and you'll go far.
|
||||
- You may need to re-use factories later in the game. Plan your factories to
|
||||
be re-usable.
|
||||
- Sometimes, you can find a needed shape in the map without creating it with
|
||||
stackers.
|
||||
- Full windmills / pinwheels can never spawn naturally.
|
||||
- Color your shapes before cutting for maximum efficiency.
|
||||
- With modules, space is merely a perception; a concern for mortal men.
|
||||
- Make a separate blueprint factory. They're important for modules.
|
||||
- Have a closer look on the color mixer, and your questions will be answered.
|
||||
- Use <b>CTRL</b> + Click to select an area.
|
||||
- Building too close to the hub can get in the way of later projects.
|
||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
||||
- Mix all primary colors together to make white!
|
||||
- You have an infinite map, don't cramp your factory, expand!
|
||||
- Also try Factorio! It's my favorite game.
|
||||
- The quad cutter cuts clockwise starting from the top right!
|
||||
- You can download your savegames in the main menu!
|
||||
- This game has a lot of useful keybindings! Be sure to check out the
|
||||
settings page.
|
||||
- This game has a lot of settings, be sure to check them out!
|
||||
- The marker to your hub has a small compass to indicate its direction!
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- El NEXE accepta qualsevol tipus d’entrada, no només la forma actual.
|
||||
- Assegureu-vos que les vostres fàbriques siguin modulars; donarà els seus
|
||||
fruits.
|
||||
- No construïu massa a prop del NEXE, ja que serà un enorme caos.
|
||||
- Si l'apilament no funciona, proveu de canviar les entrades.
|
||||
- Podeu canviar la direcció del planificador de cinturons prement <b> R </b>.
|
||||
- Mantenir premut <b> CTRL </b> permet arrossegar cinturons sense orientació
|
||||
automàtica.
|
||||
- Les proporcions continuen igual, sempre que totes les millores de
|
||||
velocitat es facin al mateix nivell.
|
||||
- L’execució en sèrie és més eficient que la paral·lela.
|
||||
- Desbloquejaràs més variants d’edificis més endavant en el joc.
|
||||
- Podeu utilitzar <b> T </b> per canviar entre diferents variants.
|
||||
- La simetria és clau!
|
||||
- Podeu teixir diferents nivells de túnels.
|
||||
- "Intenteu construir fàbriques compactes: donarà els seus fruits!"
|
||||
- El pintor té una variant reflectida que podeu seleccionar amb <b> T </b>
|
||||
- Tenir les relacions constructives adequades maximitzarà l’eficiència.
|
||||
- Al nivell màxim, 5 extractors ompliran un sol cinturó.
|
||||
- No us oblideu dels túnels!
|
||||
- No cal dividir els articles de manera uniforme per obtenir una eficiència
|
||||
completa.
|
||||
- Mantenint premut <b> SHIFT </b> s’activarà el planificador de cinturons,
|
||||
cosa que us permetrà col·locar llargues línies de cinturons fàcilment.
|
||||
- Els talladors sempre tallen verticalment, independentment de la seva
|
||||
orientació.
|
||||
- Per obtenir blanc barregeu els tres colors primaris.
|
||||
- La memòria intermèdia d’emmagatzematge prioritza la primera sortida.
|
||||
- "Invertiu temps per crear dissenys repetibles: val la pena."
|
||||
- Si mantingueu <b> CTRL </b> permet col·locar diversos edificis.
|
||||
- Podeu mantenir premut <b> ALT </b> per invertir la direcció dels cinturons
|
||||
col·locats.
|
||||
- L’eficiència és clau!
|
||||
- Les formes geomètriques que apareixen més lluny del NEXE són més complexes.
|
||||
- Les màquines tenen una velocitat limitada, dividiu-les per obtenir la
|
||||
màxima eficiència.
|
||||
- Utilitzeu equilibradors per maximitzar la vostra eficiència.
|
||||
- L’organització és important. Intenteu no creuar massa els transportadors.
|
||||
- Planifiqueu amb antelació, o serà un enorme caos!
|
||||
- No borreu les vostres antigues fàbriques! Les necessitareu per
|
||||
desbloquejar actualitzacions.
|
||||
- Proveu de superar el nivell 20 pel vostre compte abans de buscar ajuda.
|
||||
- No compliqueu les coses, intenteu ser senzill i arribareu molt lluny.
|
||||
- És possible que hàgiu de tornar a utilitzar fàbriques més endavant del
|
||||
joc. Planifiqueu les vostres fàbriques de forma que puguin ser
|
||||
reutilitzables.
|
||||
- De vegades, podeu trobar una forma necessària al mapa sense crear-la amb
|
||||
apiladors.
|
||||
- Els molins de vent o molins de vent complets mai no poden generar de forma
|
||||
natural.
|
||||
- Pinteu les formes abans de tallar per obtenir la màxima eficiència.
|
||||
- Amb els mòduls, l’espai és només una percepció; una preocupació per als
|
||||
homes mortals.
|
||||
- Feu una fàbrica de plànols independent. Són importants per als mòduls.
|
||||
- Feu una ullada més de prop al mesclador de colors i les vostres preguntes
|
||||
seran contestades.
|
||||
- Utilitzeu <b> CTRL </b> + Feu clic per seleccionar una àrea.
|
||||
- Construir massa a prop del centre pot dificultar els projectes posteriors.
|
||||
- La icona de fixació situada al costat de cada forma de la llista
|
||||
d'actualitzacions la fixa a la pantalla.
|
||||
- Barregeu tots els colors primaris per fer blanc.
|
||||
- Teniu un mapa infinit, no restringiu la vostra fàbrica, amplieu-la.
|
||||
- També proveu Factorio! És el meu joc preferit.
|
||||
- El tallador de quadres talla en sentit horari a partir de la part superior
|
||||
dreta.
|
||||
- Podeu descarregar els vostres jocs desats al menú principal.
|
||||
- Aquest joc té moltes combinacions de tecles útils. Assegureu-vos de
|
||||
consultar el fitxer pàgina de configuració.
|
||||
- Aquest joc té moltes opcions de configuració, no oblideu consultar-les.
|
||||
- El marcador del concentrador té una petita brúixola per indicar-ne la
|
||||
direcció.
|
||||
- Per netejar els cinturons, talleu la zona i enganxeu-la al mateix lloc.
|
||||
- Premeu F4 per mostrar la vostra tarifa FPS i Tick.
|
||||
- Premeu F4 dues vegades per mostrar el mosaic del ratolí i la càmera.
|
||||
- Podeu fer clic a una forma fixada al costat esquerre per desenganxar-la.
|
||||
|
@ -1,59 +1,51 @@
|
||||
steamPage:
|
||||
shortText: shapez.io je hra o stavbě továren pro automatizaci výroby a
|
||||
kombinování čím dál složitějších tvarů na nekonečné mapě.
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io je relaxační hra, ve které musíte stavět továrny pro
|
||||
automatizaci výroby geometrických tvarů.
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map. Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
|
||||
Jak se zvyšuje úroveň, tvary se stávají stále složitějšími a vy se musíte rozšířit po nekonečné mapě.
|
||||
|
||||
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
|
||||
A jako by to nestačilo, musíte také produkovat exponenciálně více, abyste uspokojili požadavky - jediná věc, která pomáhá, je škálování!
|
||||
|
||||
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
Zatímco tvary zpracováváte pouze na začátku, musíte je později obarvit - k tomu musíte těžit a míchat barvy!
|
||||
|
||||
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
|
||||
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Dark Mode
|
||||
[*] Unlimited Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Additional settings
|
||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
||||
[*] Coming soon: More Levels
|
||||
[*] Allows me to further develop shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Future Updates[/b]
|
||||
|
||||
I am updating the game very often and trying to push an update at least every week!
|
||||
|
||||
[list]
|
||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
||||
[*] A story mode where buildings have a cost
|
||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
||||
[*] Additional types of shapes
|
||||
[*] Performance improvements (The game already runs pretty well!)
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
[b]This game is open source![/b]
|
||||
|
||||
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible. Be sure to check out my trello board for the full roadmap!
|
||||
|
||||
[b]Links[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
|
||||
[/list]
|
||||
discordLink: Official Discord - Chat with me!
|
||||
Koupením hry na platformě Steam vám dá přístup k plné verzi hry, ale také můžete hrát demo verzi na shapez.io a potom se můžete rozhodnou jestli hru koupíte!
|
||||
title_advantages: Samostatné výhody
|
||||
advantages:
|
||||
- <b>12 Nových úrovní</b> celkem 26 úrovní
|
||||
- <b>18 Nových budov</b> pro plně automatizovanou továrnu!
|
||||
- <b>20 vylepšení</b> pro mnoho hodin zábavy!
|
||||
- <b>Wires Update</b> pro zcela nové rozměry!
|
||||
- <b>Dark Mode</b>!
|
||||
- Neomezené Savegames
|
||||
- Neomezené značky
|
||||
- Podpořte mě! ❤️
|
||||
title_future: Plánovaný kontent
|
||||
planned:
|
||||
- Blueprintová knihovna (Samostatně exkluzivní)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minnimapa
|
||||
- Mody
|
||||
- Sandbox mode
|
||||
- ... a o hodně víc!
|
||||
title_open_source: Tato hra je open source!
|
||||
title_links: Odkazy
|
||||
links:
|
||||
discord: Officiální Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Pomozte přeložit hru!
|
||||
text_open_source: |-
|
||||
Kdokoli může přispět, aktivně se zapojit do komunity,
|
||||
pokusit se zkontrolovat všechny návrhy a vzít v úvahu zpětnou vazbu
|
||||
kde je to možné.
|
||||
|
||||
Nezapomeňte se podívat na můj trello board, kde najdete kompletní plán!
|
||||
global:
|
||||
loading: Načítám
|
||||
error: Chyba
|
||||
@ -104,7 +96,7 @@ mainMenu:
|
||||
newGame: Nová hra
|
||||
madeBy: Vytvořil <author-link>
|
||||
subreddit: Reddit
|
||||
savegameUnnamed: Unnamed
|
||||
savegameUnnamed: Nepojmenovaný
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
@ -129,7 +121,9 @@ dialogs:
|
||||
text: "Nepovedlo se načíst vaši uloženou hru:"
|
||||
confirmSavegameDelete:
|
||||
title: Potvrdit smazání
|
||||
text: Opravdu chcete smazat hru?
|
||||
text: Jste si jisti, že chcete smazat tuto uloženou hru?<br><br>
|
||||
'<savegameName>' s úrovní <savegameLevel><br><br> Tato akce je
|
||||
nevratná!
|
||||
savegameDeletionError:
|
||||
title: Chyba mazání
|
||||
text: "Nepovedlo se smazat vaši uloženou hru:"
|
||||
@ -179,9 +173,8 @@ dialogs:
|
||||
umístěných pásů.<br>"
|
||||
createMarker:
|
||||
title: Nová značka
|
||||
desc: Pojmenuj jí nějak výstižně, též ji můžeš doplnit <strong>zkratkou</strong>
|
||||
pro tvar (Kterou si můžete vytvořit <a
|
||||
href="https://viewer.shapez.io" target="_blank">zde</a>)
|
||||
desc: Použijte smysluplný název, můžete také zahrnout <strong>krátký
|
||||
klíč</strong> tvaru (který můžete vygenerovat <link>zde</link>)
|
||||
titleEdit: Upravit značku
|
||||
markerDemoLimit:
|
||||
desc: V ukázce můžete vytvořit pouze dvě značky. Získejte plnou verzi pro
|
||||
@ -199,13 +192,17 @@ dialogs:
|
||||
title: Potvrdit vyjmutí
|
||||
desc: Nemůžeš si dovolit vložení této oblasti! Skutečně ji chceš vyjmout?
|
||||
editSignal:
|
||||
title: Set Signal
|
||||
descItems: "Choose a pre-defined item:"
|
||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
||||
can generate <link>here</link>)
|
||||
title: Nastavte signál
|
||||
descItems: "Vyberte předdefinovanou položku:"
|
||||
descShortKey: ... nebo zadejte <strong>krátký klíč</strong> tvaru (který
|
||||
můžete vygenerovat <link>zde</link>)
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
title: Přejmenovat uloženou hru
|
||||
desc: Zde můžeš přejmenovat svoji uloženou hru.
|
||||
entityWarning:
|
||||
title: Varování výkonu
|
||||
desc: Umístili jste spoustu budov, to je jen přátelská připomínka. Hra nezvládne
|
||||
nekonečný počet budov - zkuste udržet své továrny kompaktní!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Posun mapy
|
||||
@ -226,7 +223,7 @@ ingame:
|
||||
copySelection: Kopírovat
|
||||
clearSelection: Zrušit výběr
|
||||
pipette: Kapátko
|
||||
switchLayers: Změnit vrstvi
|
||||
switchLayers: Změnit vrstvy
|
||||
buildingPlacement:
|
||||
cycleBuildingVariants: Zmáčkněte <key> pro přepínání mezi variantami.
|
||||
hotkeyLabel: "Klávesová zkratka: <key>"
|
||||
@ -246,7 +243,7 @@ ingame:
|
||||
notifications:
|
||||
newUpgrade: Nová aktualizace je k dispozici!
|
||||
gameSaved: Hra byla uložena.
|
||||
freeplayLevelComplete: Level <level> has been completed!
|
||||
freeplayLevelComplete: Level <level> byl dokončen!
|
||||
shop:
|
||||
title: Vylepšení
|
||||
buttonUnlock: Vylepšit
|
||||
@ -334,15 +331,47 @@ ingame:
|
||||
cyan: Tyrkysová
|
||||
white: Bílá
|
||||
uncolored: Bez barvy
|
||||
black: Black
|
||||
black: Černá
|
||||
shapeViewer:
|
||||
title: Vrstvy
|
||||
empty: Prázdné
|
||||
copyKey: Copy Key
|
||||
connectedMiners:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
one_miner: 1 Extraktor
|
||||
n_miners: <amount> Extraktorů
|
||||
limited_items: Limit je <max_throughput>
|
||||
watermark:
|
||||
title: Demo verze
|
||||
desc: Kliknutím sem zobrazíte výhody Steam verze!
|
||||
get_on_steam: Získejte na steamu
|
||||
standaloneAdvantages:
|
||||
title: Získejte plnou verzy!
|
||||
no_thanks: Ne, děkuji!
|
||||
points:
|
||||
levels:
|
||||
title: 12 Nových úrovní
|
||||
desc: Celkem 26 úrovní!
|
||||
buildings:
|
||||
title: 18 Nových budov
|
||||
desc: Plně automatizujte svou továrnu!
|
||||
savegames:
|
||||
title: ∞ Uložených her
|
||||
desc: Tolik, kolik vaše srdce touží!
|
||||
upgrades:
|
||||
title: 20 vylepšení
|
||||
desc: Tato demo verze má pouze 5!
|
||||
markers:
|
||||
title: ∞ Značek
|
||||
desc: Nikdy se neztraťte ve své továrně!
|
||||
wires:
|
||||
title: Kabely
|
||||
desc: Zcela nový rozměr!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Přestanou vás bolet oči!
|
||||
support:
|
||||
title: Podpořte mě
|
||||
desc: Vyvíjím to ve svém volném čase!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Pásy, distribuce & tunely
|
||||
@ -361,11 +390,12 @@ buildings:
|
||||
deliver: Dodejte
|
||||
toUnlock: pro odemčení
|
||||
levelShortcut: LVL
|
||||
endOfDemo: konec Demo verze
|
||||
belt:
|
||||
default:
|
||||
name: Dopravníkový pás
|
||||
description: Přepravuje tvary a barvy, přidržením můžete umístit více pásů za
|
||||
sebe tahem.
|
||||
description: Přepravuje tvary a barvy, přidržením můžete tahem umístit více pásů
|
||||
za sebou.
|
||||
miner:
|
||||
default:
|
||||
name: Extraktor
|
||||
@ -398,10 +428,10 @@ buildings:
|
||||
description: Otáčí tvary o 90 stupňů po směru hodinových ručiček.
|
||||
ccw:
|
||||
name: Rotor (opačný)
|
||||
description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček
|
||||
description: Otáčí tvary o 90 stupňů proti směru hodinových ručiček.
|
||||
rotate180:
|
||||
name: Rotate (180)
|
||||
description: Rotates shapes by 180 degrees.
|
||||
name: Rotor (180°)
|
||||
description: Otáčí tvary o 180 stupňů.
|
||||
stacker:
|
||||
default:
|
||||
name: Kombinátor
|
||||
@ -420,135 +450,135 @@ buildings:
|
||||
description: Obarví tvary z levých vstupů barvou z horního vstupu.
|
||||
quad:
|
||||
name: Barvič (čtyřnásobný)
|
||||
description: Umožňuje obarvit každý dílek tvaru samostatně.
|
||||
description: Umožnuje obarvit každou čtvrtinu tvaru individuálně. Jen
|
||||
čtvrtiny se vstupy barev s <strong>logickým signálem</strong> na vrstvě kabelů
|
||||
budou obarveny!
|
||||
mirrored:
|
||||
name: Barvič
|
||||
description: Obarví celý tvar v levém vstupu barvou z pravého vstupu.
|
||||
trash:
|
||||
default:
|
||||
name: Koš
|
||||
description: Příjmá tvary a barvy ze všech stran a smaže je. Navždy.
|
||||
description: Přijímá tvary a barvy ze všech stran a smaže je. Navždy.
|
||||
wire:
|
||||
default:
|
||||
name: Kabel
|
||||
description: Dovoluje přenos energie.
|
||||
second:
|
||||
name: Wire
|
||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
||||
Different colored wires do not connect.
|
||||
name: Kabel
|
||||
description: Dovoluje přenos energie.
|
||||
balancer:
|
||||
default:
|
||||
name: Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
name: Vyvažovač
|
||||
description: Multifunkční - Rozděluje vstupy do výstupy.
|
||||
merger:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Spojovač (kompaktní)
|
||||
description: Spojí dva pásy do jednoho.
|
||||
merger-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Spojovač (kompaktní)
|
||||
description: Spojí dva pásy do jednoho.
|
||||
splitter:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Rozdělovač (kompaktní)
|
||||
description: Rozdělí jeden pás na dva.
|
||||
splitter-inverse:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Rozdělovač (kompaktní)
|
||||
description: Rozdělí jeden pás na dva.
|
||||
storage:
|
||||
default:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
||||
output and can be used as an overflow gate.
|
||||
name: Sklad
|
||||
description: Skladuje přebytečné věci až do naplnění kapacity. Může být použit na
|
||||
skladování surovin navíc.
|
||||
wire_tunnel:
|
||||
default:
|
||||
name: Wire Crossing
|
||||
description: Allows to cross two wires without connecting them.
|
||||
name: Křížení kabelů
|
||||
description: Umožňuje křížení dvou kabelů bez jejich spojení.
|
||||
constant_signal:
|
||||
default:
|
||||
name: Constant Signal
|
||||
description: Emits a constant signal, which can be either a shape, color or
|
||||
boolean (1 / 0).
|
||||
name: Konstantní signál
|
||||
description: Vydává konstantní signál, který může mít tvar, barvu nebo logickou
|
||||
hodnotu (1 / 0).
|
||||
lever:
|
||||
default:
|
||||
name: Switch
|
||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
||||
which can then be used to control for example an item filter.
|
||||
name: Přepínač
|
||||
description: Lze přepínat, aby vydával signál (1/0) na vrstvě vodičů, pomocí
|
||||
kterého lze například ovládat filtr tvarů a barev.
|
||||
logic_gate:
|
||||
default:
|
||||
name: AND Gate
|
||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
||||
color or boolean "1")
|
||||
description: Vysílá signál "1" pokud oba vstupy vysílají signál.
|
||||
not:
|
||||
name: NOT Gate
|
||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
description: Vysílá signál "1" pokud oba vstupy nevysílají signál.
|
||||
xor:
|
||||
name: XOR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
||||
(Truthy means shape, color or boolean "1")
|
||||
description: Vysílá signál "1" pokud jeden vstup vysílá signál, ale druhý vstup
|
||||
nevysílá signál.
|
||||
or:
|
||||
name: OR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
description: Vysílá signál "1" pokud jeden vstup vysílá signál.
|
||||
transistor:
|
||||
default:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
name: Tranzistor
|
||||
description: Přeposílá spodní vstup, pokud boční vstup vysílá signál.
|
||||
mirrored:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
name: Tranzistor
|
||||
description: Přeposílá spodní vstup, pokud boční vstup vysílá signál.
|
||||
filter:
|
||||
default:
|
||||
name: Filter
|
||||
description: Connect a signal to route all matching items to the top and the
|
||||
remaining to the right. Can be controlled with boolean signals
|
||||
too.
|
||||
name: Filtr
|
||||
description: Připojte signál k třídění tvarů a barev.
|
||||
display:
|
||||
default:
|
||||
name: Display
|
||||
description: Connect a signal to show it on the display - It can be a shape,
|
||||
color or boolean.
|
||||
description: Připojte signál a zobrazte jej na displeji - může to být tvar nebo
|
||||
barva.
|
||||
reader:
|
||||
default:
|
||||
name: Belt Reader
|
||||
description: Allows to measure the average belt throughput. Outputs the last
|
||||
read item on the wires layer (once unlocked).
|
||||
name: Čtečka pásů
|
||||
description: Umožňuje měřit průměrnou propustnost pásu. Výstup čte poslední
|
||||
položku ve vrstvě kabelů.
|
||||
analyzer:
|
||||
default:
|
||||
name: Shape Analyzer
|
||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
||||
and returns its shape and color.
|
||||
name: Analyzátor tvarů
|
||||
description: Analyzuje pravou horní část nejnižší vrstvy tvaru a vrací tvar a
|
||||
barvu.
|
||||
comparator:
|
||||
default:
|
||||
name: Compare
|
||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
||||
shapes, items and booleans.
|
||||
name: Porovnávač
|
||||
description: Vrátí signál „1“, pokud jsou oba signály přesně stejné. Může
|
||||
srovnávat tvary, předměty a signály.
|
||||
virtual_processor:
|
||||
default:
|
||||
name: Virtual Cutter
|
||||
description: Virtually cuts the shape into two halves.
|
||||
name: Virtuální pila
|
||||
description: Virtuálně rozřízne tvar svisle na dvě části.
|
||||
rotater:
|
||||
name: Virtual Rotater
|
||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
||||
name: Virtuální rotor
|
||||
description: Virtuálně otáčí tvary o 90 stupňů po směru hodinových ručiček.
|
||||
unstacker:
|
||||
name: Virtual Unstacker
|
||||
description: Virtually extracts the topmost layer to the right output and the
|
||||
remaining ones to the left.
|
||||
name: Virtuální extrahátor
|
||||
description: Virtuálně extrahuje nejvyšší vrstvu do pravého výstupu a zbývající
|
||||
do levé.
|
||||
stacker:
|
||||
name: Virtual Stacker
|
||||
description: Virtually stacks the right shape onto the left.
|
||||
name: Virtuální kombinátor
|
||||
description: Virtuálně Spojí tvary dohromady. Pokud nemohou být spojeny, pravý
|
||||
tvar je položen na levý.
|
||||
painter:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
name: Virtual barvič
|
||||
description: Virtuálně obarví celý tvar v levém vstupu barvou z pravého vstupu.
|
||||
item_producer:
|
||||
default:
|
||||
name: Výrobník předmětů
|
||||
description: Dostupný pouze v sandboxovém módu, vydává daný signál z
|
||||
vrstvy kabelů na běžnou vrstvu.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Řezání tvarů
|
||||
desc: Právě jste odemknuli <strong>pilu</strong> - řeže tvary
|
||||
<strong>svisle</strong> bez ohledu na svou
|
||||
orientaci!<br><br>Nezapomeňte se zbavovat odpadu, jinak <strong>se
|
||||
vám zasekne produkce</strong> - pro tento účel jsem vám odemknul
|
||||
koš, který můžete použít na mazání odpadu!
|
||||
desc: Právě jste odemkli <strong>pilu</strong>, která řeže tvary
|
||||
svisle na poloviny <strong>bez ohledu na její
|
||||
orientaci</strong>!<br><br>Nezapoměňte se zbavit zbytku tvarů, jinak
|
||||
se <strong>vám produkce zasekne</strong> - za tímto účelem
|
||||
jsem vám dal <strong>koš</strong>, který smaže
|
||||
vše, co do něj vložíte!
|
||||
reward_rotater:
|
||||
title: Otáčení
|
||||
desc: <strong>Rotor</strong> byl právě odemčen! Otáčí tvary po směru hodinových
|
||||
@ -570,9 +600,9 @@ storyRewards:
|
||||
vpravo se <strong>nalepí na</strong> tvar vlevo!
|
||||
reward_splitter:
|
||||
title: Rozřazování/Spojování pásu
|
||||
desc: Multifuknční <strong>balancer</strong> byl právě odemčen - Může být použít
|
||||
pro stavbu větších továren díky tomu, že <strong>rozřazuje</strong>
|
||||
tvary mezi dva pásy!<br><br>
|
||||
desc: Právě jste odemkli <strong>rozdělovací</strong> variantu
|
||||
<strong>vyvažovače</strong> - Přijímá jeden vstup a rozdělí ho
|
||||
na dva!
|
||||
reward_tunnel:
|
||||
title: Tunel
|
||||
desc: <strong>Tunel</strong> byl právě odemčen - Umožňuje vézt suroviny pod
|
||||
@ -584,9 +614,10 @@ storyRewards:
|
||||
'T' pro přepnutí mezi variantami</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Napojovací extraktor
|
||||
desc: Odemknuli jste variantu <strong>extraktoru</strong>! Může
|
||||
<strong>přesměrovat vytěžené zdroje</strong> do dalších extraktorů
|
||||
pro efektivnější těžbu!
|
||||
desc: "Právě jste odemkli <strong>napojovací extraktor</strong>! Může
|
||||
<strong>předat své zdroje</strong> ostatním extraktorům, čímž
|
||||
můžete efektivněji těžit více zdrojů!<br><br> PS: Starý
|
||||
extraktor bude od teď nahrazen ve vašem panelu nástrojů!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunel II. úrovně
|
||||
desc: Odemknuli jste <strong>tunel II. úrovně</strong> - Má <strong>delší
|
||||
@ -600,19 +631,20 @@ storyRewards:
|
||||
desc: Odemknuli jste variantu <strong>barviče</strong> - Funguje stejně jako
|
||||
normální, ale nabarví <strong>dva tvary naráz</strong> pomocí jedné
|
||||
barvy!
|
||||
reward_painter_quad:
|
||||
title: Čtyřstranné barvení
|
||||
desc: Odemknuli jste variantu <strong>painter</strong> - Umožní vám nabarvit
|
||||
každou čtvrtinu tvaru jinou barvou!
|
||||
reward_storage:
|
||||
title: Sklad
|
||||
desc: Odemknuli jste variantu <strong>koše</strong> - Umožňuje vám skladovat
|
||||
věci až do určité kapacity!
|
||||
desc: Právě jste odemkli <strong>sklad</strong> - Umožnuje skladovat přebytečné věci
|
||||
až do naplnění kapacity!<br><br> Dává prioritu levému
|
||||
výstupu, takže ho také můžete použít jako <strong>průtokovou bránu</strong>!
|
||||
reward_freeplay:
|
||||
title: Volná hra
|
||||
desc: Dokázali jste to! Odemknuli jste <strong>volnou hru</strong>! Další tvary
|
||||
jsou již náhodně generované! (pro plnou verzi plánujeme více
|
||||
obsahu!)
|
||||
desc: Zvládli jste to! Odemkli jste <strong>mód volné hry</strong>! To znamená,
|
||||
budou od teď <strong>náhodně</strong> generovány!<br><br>
|
||||
Vzhledem k tomu, že Hub nadále potřebuje <strong>propustnost</strong>
|
||||
, především doporučuji postavit továrnu, která automaticky
|
||||
doručí požadovaný tvar!<br><br> Hub vysílá požadovaný
|
||||
tvar na vrstvu kabelů, takže jediné co musíte udělat, je analyzovat tvar a
|
||||
automaticky nastavit svou továrnu dle této analýzy.
|
||||
reward_blueprints:
|
||||
title: Plány
|
||||
desc: Nyní můžete <strong>kopírovat a vkládat</strong> části továrny! Vyberte
|
||||
@ -630,58 +662,70 @@ storyRewards:
|
||||
title: Další úroveň
|
||||
desc: Gratuluji! Mimochodem, více obsahu najdete v plné verzi!
|
||||
reward_balancer:
|
||||
title: Balancer
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
||||
be used to build bigger factories by <strong>splitting and merging
|
||||
items</strong> onto multiple belts!<br><br>
|
||||
title: Vyvažovač
|
||||
desc: Multifunkční <strong>vyvažovač</strong> byl odemknut - Může
|
||||
být použit ke zvětšení vašich továren <strong>rozdělováním a spojováním
|
||||
předmětů</strong> na několik pásu!<br><br>
|
||||
reward_merger:
|
||||
title: Compact Merger
|
||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
||||
into one belt!
|
||||
title: Kompaktní spojovač
|
||||
desc: Právě jste odemkli <strong>spojovací</strong> variantu
|
||||
<strong>vyvažovače</strong> - Přijímá dva vstupy a spojí je
|
||||
do jednoho!
|
||||
reward_belt_reader:
|
||||
title: Belt reader
|
||||
desc: You have now unlocked the <strong>belt reader</strong>! It allows you to
|
||||
measure the throughput of a belt.<br><br>And wait until you unlock
|
||||
wires - then it gets really useful!
|
||||
title: Čtečka pásů
|
||||
desc: Právě jste odemkli <strong>čtečku pásů</strong>! Umožnuje vám
|
||||
změřit propustnost pásu.<br><br>A počkejte na odemčení
|
||||
kabelů - později to bude velmi užitečné!
|
||||
reward_rotater_180:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
title: Rotor (180°)
|
||||
desc: Právě jste odemkli 180 stupňoví <strong>rotor</strong>! - Umožňuje
|
||||
vám otáčet tvar o 180 stupňů!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "Právě jste odemkli <strong>Display</strong> - Připojte signál ve
|
||||
vrstvě kabelů pro vizualizaci!<br><br> PS: Všimli jste si, že čtečka
|
||||
pásů a sklad vysílájí jejich poslední přečtěný předmět? Zkuste ho ukázat na
|
||||
displeji!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
layer! This is useful to connect it to <strong>item filters</strong>
|
||||
for example.<br><br> The constant signal can emit a
|
||||
<strong>shape</strong>, <strong>color</strong> or
|
||||
<strong>boolean</strong> (1 / 0).
|
||||
title: Konstantní signál
|
||||
desc: Právě jste odemkli <strong>konstantní signál</strong> na vrstvě
|
||||
kabelů! Tohle je například užitečné pro připojení k <strong>filtrům předmětů</strong>
|
||||
.<br><br> Konstantní signál může vysílat
|
||||
<strong>tvar</strong>, <strong>barvu</strong> nebo
|
||||
<strong>logickou hodnotu</strong> (1 / 0).
|
||||
reward_logic_gates:
|
||||
title: Logic Gates
|
||||
desc: You unlocked <strong>logic gates</strong>! You don't have to be excited
|
||||
about this, but it's actually super cool!<br><br> With those gates
|
||||
you can now compute AND, OR, XOR and NOT operations.<br><br> As a
|
||||
bonus on top I also just gave you a <strong>transistor</strong>!
|
||||
title: Logické brány
|
||||
desc: Právě jste odemkli <strong>logické brány</strong>! Nemusíte být zrovna nadšení,
|
||||
ale ve skutečnosti je to celkem cool!<br><br> S těmito bránami
|
||||
můžete propočítat AND, OR, XOR a NOT operace.<br><br> Jako
|
||||
bonus navíc vám také zpřístupním <strong>tranzistor</strong>!
|
||||
reward_virtual_processing:
|
||||
title: Virtual Processing
|
||||
desc: I just gave a whole bunch of new buildings which allow you to
|
||||
<strong>simulate the processing of shapes</strong>!<br><br> You can
|
||||
now simulate a cutter, rotater, stacker and more on the wires layer!
|
||||
With this you now have three options to continue the game:<br><br> -
|
||||
Build an <strong>automated machine</strong> to create any possible
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
title: Virtuální zpracování
|
||||
desc: Právě jsem zpřístupnil spoustu nových budov, které vám umožní
|
||||
<strong>simulovat výrobu různých tvarů</strong>!<br><br> Můžete
|
||||
teď také simulovat pilu, rotor, kombinátor a mnoho dalšího na vrstvě kabelů!
|
||||
Nadále máte tři možnosti, jak pokračovat ve hře:<br><br> -
|
||||
Postavit <strong>automatickou továrnu</strong> k vytvoření jakéhokoliv
|
||||
tvaru požadovaného Hubem (Doporučuji to alespoň vyzkoušet!).<br><br> - Postavit
|
||||
něco zajímavého s použitím kabelů.<br><br> - Pokračovat ve hře
|
||||
pravidelně.<br><br> Bez ohledu na tvou volbu, nezapomeň si svou hru užít!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Kabely a čtyřnásobný barvič
|
||||
desc: "Právě jste odemkli <strong>vrstvu kabelů</strong>: Je to samostatná
|
||||
vrstva navíc oproti běžné vrstvě a představuje spoustu nových
|
||||
možností!<br><br> Do začátku jsem zpřístupnil <strong>čtyřnásobný
|
||||
barvič</strong> - Připojte vstupy, které byste chtěli obarvit
|
||||
na vrstvě kabelů!<br><br> Pro přepnutí mezi vrstvami stiskněte klávesu
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Filtr předmětů
|
||||
desc: Právě jste odemkli <strong>filtr předmětů</strong>! Nasměruje předměty buď
|
||||
na horní nebo pravý výstup podle toho, zda se shodují
|
||||
nebo neshodují se signálem na vrstvě kabelů.<br><br> Také můžete vyslat logickou hodnotu
|
||||
(1 / 0) pro zapnutí nebo kompletní vypnutí filtru.
|
||||
reward_demo_end:
|
||||
title: Konec demo verze
|
||||
desc: Právě jste dosáhli konce demo verze!
|
||||
settings:
|
||||
title: Nastavení
|
||||
categories:
|
||||
@ -792,52 +836,52 @@ settings:
|
||||
description: Zapné různé nástroje, které vám umožní hrát hru i pokud jste
|
||||
barvoslepí.
|
||||
rotationByBuilding:
|
||||
title: Rotation by building type
|
||||
description: Each building type remembers the rotation you last set it to
|
||||
individually. This may be more comfortable if you frequently
|
||||
switch between placing different building types.
|
||||
title: Rotace dle typu budov
|
||||
description: Každý typ budovy si zapamatuje poslední rotaci, na kterou jste je individuálně
|
||||
nastavili. Tohle může být pohodlnější pokud často
|
||||
přepínáte mezi pokládáním budov různých typů.
|
||||
soundVolume:
|
||||
title: Sound Volume
|
||||
description: Set the volume for sound effects
|
||||
title: Hlasitost zvuků
|
||||
description: Nastavte hlasitost zvukových efektů
|
||||
musicVolume:
|
||||
title: Music Volume
|
||||
description: Set the volume for music
|
||||
title: Hlasitost hudby
|
||||
description: Nastavte hlasitost hudby
|
||||
lowQualityMapResources:
|
||||
title: Low Quality Map Resources
|
||||
description: Simplifies the rendering of resources on the map when zoomed in to
|
||||
improve performance. It even looks cleaner, so be sure to try it
|
||||
out!
|
||||
title: Nižší kvalita zdrojů na mapě
|
||||
description: Zjednoduší vykreslování zdrojů na mapě při přiblížení pro
|
||||
zlepšení výkonu. Také to zlepšuje vzhled hry, takže neváhejte toto nastavení
|
||||
vyzkoušet!
|
||||
disableTileGrid:
|
||||
title: Disable Grid
|
||||
description: Disabling the tile grid can help with the performance. This also
|
||||
makes the game look cleaner!
|
||||
title: Vypnout mřížku
|
||||
description: Vypnutí mřížky částic může pomoct s výkonem. Toto nastavení
|
||||
zlepšuje vzhled hry!
|
||||
clearCursorOnDeleteWhilePlacing:
|
||||
title: Clear Cursor on Right Click
|
||||
description: Enabled by default, clears the cursor whenever you right click
|
||||
while you have a building selected for placement. If disabled,
|
||||
you can delete buildings by right-clicking while placing a
|
||||
building.
|
||||
title: Uvolní kurzor při kliknutím pravým tlačitkem
|
||||
description: Povoleno dle výchozího nastavení, uvolní kurzor pokaždé co kliknete pravým tlačítkem,
|
||||
když máte budovu vybranou pro pokládání. Při vypnutí,
|
||||
můžete smazat budovy při kliknutí pravým tlačikem spolu s položením dalších
|
||||
budov.
|
||||
lowQualityTextures:
|
||||
title: Low quality textures (Ugly)
|
||||
description: Uses low quality textures to save performance. This will make the
|
||||
game look very ugly!
|
||||
title: Nižší kvalita textur (Horší vzhled)
|
||||
description: Používá nižší kvalitu textur pro zlepšení výkonu. Toto nastavení
|
||||
zhorší vzhled hry!
|
||||
displayChunkBorders:
|
||||
title: Display Chunk Borders
|
||||
description: The game is divided into chunks of 16x16 tiles, if this setting is
|
||||
enabled the borders of each chunk are displayed.
|
||||
title: Zobrazit hranice oblastí
|
||||
description: Hra je rozdělena na oblasti 16x16 částic. Pokud je toto nastavení povolené,
|
||||
zobrazí se hranice těchto oblastí.
|
||||
pickMinerOnPatch:
|
||||
title: Pick miner on resource patch
|
||||
description: Enabled by default, selects the miner if you use the pipette when
|
||||
hovering a resource patch.
|
||||
title: Vybrat extraktor na naležistě zdrojů
|
||||
description: Povoleno dle výchozího nastavení, vybere extraktor, pokud použijete kapátko pro
|
||||
kliknutí na nalezistě zdrojů.
|
||||
simplifiedBelts:
|
||||
title: Simplified Belts (Ugly)
|
||||
description: Does not render belt items except when hovering the belt to save
|
||||
performance. I do not recommend to play with this setting if you
|
||||
do not absolutely need the performance.
|
||||
title: Zjednodušené pásy (Horší vzhled)
|
||||
description: Nevykresluje předměty na pásech, pokud nad nimi nepřejíždíte kurzorem, pro ušetření
|
||||
výkonu. Nedoporučuji hrát s tímto nastavením, pokud
|
||||
opravdu nepotřebujete ušetřit výkon.
|
||||
enableMousePan:
|
||||
title: Enable Mouse Pan
|
||||
description: Allows to move the map by moving the cursor to the edges of the
|
||||
screen. The speed depends on the Movement Speed setting.
|
||||
title: Posouvání myší
|
||||
description: Umožnuje posouvání po mapě, pokud myší přejedete na okraj
|
||||
obrazovky. Rychlost žáleží na nastavení rychlosti pohybu.
|
||||
rangeSliderPercentage: <amount> %
|
||||
keybindings:
|
||||
title: Klávesové zkratky
|
||||
@ -895,22 +939,23 @@ keybindings:
|
||||
switchDirectionLockSide: Otočit strany zámku plánovače
|
||||
pipette: Kapátko
|
||||
menuClose: Zavřít menu
|
||||
switchLayers: Změnit vrstvi
|
||||
switchLayers: Změnit vrstvy
|
||||
wire: Kabel
|
||||
balancer: Balancer
|
||||
storage: Storage
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
balancer: Vyvažovač
|
||||
storage: Sklad
|
||||
constant_signal: Konstantní signál
|
||||
logic_gate: Logická brána
|
||||
lever: Přepínač (běžný)
|
||||
filter: Filtr
|
||||
wire_tunnel: Křížení kabelů
|
||||
display: Display
|
||||
reader: Belt Reader
|
||||
virtual_processor: Virtual Cutter
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
reader: Čtečka pásů
|
||||
virtual_processor: Virtuální pila
|
||||
transistor: Tranzistor
|
||||
analyzer: Analyzátor tvarů
|
||||
comparator: Porovnávač
|
||||
item_producer: Výrobník předmětů (Sandbox)
|
||||
copyWireValue: "Kabely: Zkopírovat hodnotu pod kurzorem"
|
||||
about:
|
||||
title: O hře
|
||||
body: >-
|
||||
@ -936,62 +981,63 @@ demo:
|
||||
exportingBase: Exportovat celou základnu jako obrázek
|
||||
settingNotAvailable: Nedostupné v demo verzi.
|
||||
tips:
|
||||
- The hub accepts input of any kind, not just the current shape!
|
||||
- Make sure your factories are modular - it will pay out!
|
||||
- Don't build too close to the hub, or it will be a huge chaos!
|
||||
- If stacking does not work, try switching the inputs.
|
||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
||||
- Ratios stay the same, as long as all upgrades are on the same Tier.
|
||||
- Serial execution is more efficient than parallel.
|
||||
- You will unlock more variants of buildings later in the game!
|
||||
- You can use <b>T</b> to switch between different variants.
|
||||
- Symmetry is key!
|
||||
- You can weave different tiers of tunnels.
|
||||
- Try to build compact factories - it will pay out!
|
||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
||||
- Having the right building ratios will maximize efficiency.
|
||||
- At maximum level, 5 extractors will fill a single belt.
|
||||
- Don't forget about tunnels!
|
||||
- You don't need to divide up items evenly for full efficiency.
|
||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
||||
long lines of belts easily.
|
||||
- Cutters always cut vertically, regardless of their orientation.
|
||||
- To get white mix all three colors.
|
||||
- The storage buffer priorities the first output.
|
||||
- Invest time to build repeatable designs - it's worth it!
|
||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||
- Efficiency is key!
|
||||
- Shape patches that are further away from the hub are more complex.
|
||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
||||
- Use balancers to maximize your efficiency.
|
||||
- Organization is important. Try not to cross conveyors too much.
|
||||
- Plan in advance, or it will be a huge chaos!
|
||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
||||
- Try beating level 20 on your own before seeking for help!
|
||||
- Don't complicate things, try to stay simple and you'll go far.
|
||||
- You may need to re-use factories later in the game. Plan your factories to
|
||||
be re-usable.
|
||||
- Sometimes, you can find a needed shape in the map without creating it with
|
||||
stackers.
|
||||
- Full windmills / pinwheels can never spawn naturally.
|
||||
- Color your shapes before cutting for maximum efficiency.
|
||||
- With modules, space is merely a perception; a concern for mortal men.
|
||||
- Make a separate blueprint factory. They're important for modules.
|
||||
- Have a closer look on the color mixer, and your questions will be answered.
|
||||
- Use <b>CTRL</b> + Click to select an area.
|
||||
- Building too close to the hub can get in the way of later projects.
|
||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
||||
- Mix all primary colors together to make white!
|
||||
- You have an infinite map, don't cramp your factory, expand!
|
||||
- Also try Factorio! It's my favorite game.
|
||||
- The quad cutter cuts clockwise starting from the top right!
|
||||
- You can download your savegames in the main menu!
|
||||
- This game has a lot of useful keybindings! Be sure to check out the
|
||||
settings page.
|
||||
- This game has a lot of settings, be sure to check them out!
|
||||
- The marker to your hub has a small compass to indicate its direction!
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- Hub přijímá vstup jakéhokoliv tvaru, nejen právě požadovaný tvar!
|
||||
- Ujistěte se, že vaše továrny jsou rozšiřitelné - vyplatí se to!
|
||||
- Nestavte přilíš blízko Hubu nebo vznikne velký chaos!
|
||||
- Pokud skládání nefunguje, zkuste prohodit vstupy.
|
||||
- Směr plánovače pásů můžete změnit stisknutím klávesy <b>R</b>.
|
||||
- Držení klávesy <b>CTRL</b> umožnuje natažení pásů bez auto-orientace.
|
||||
- Poměry zůstávají stejné, dokud jsou všechny vylepšení na stejné úrovní.
|
||||
- Sériové zapojení je efektivnější nez paralelní.
|
||||
- V průběhu hry později odemknete další varianty mnoha budov!
|
||||
- Můžete použít klávesu <b>T</b> k přepnutí mezi různými variantami.
|
||||
- Symetrie je klíčová!
|
||||
- Můžete proplétat různé úrovně tunelů.
|
||||
- Snažte se postavit kompaktní továrny - vyplatí se to!
|
||||
- Barvič má zrcadlově otočenou variantu, kterou můžete vybrat klávesou <b>T</b>
|
||||
- Užití správné kombinace vylepšení maximalizuje efektivitu.
|
||||
- Na maximální úrovní, 5 extraktorů zaplní jeden celý pás.
|
||||
- Nezapomeňte na tunely!
|
||||
- Pro plnou efektivitu nemusíte rozdělovat předměty rovnoměrně.
|
||||
- Držení klávesy <b>SHIFT</b> spolu s pásy aktivuje plánovač pásy, který vám snadno umožní
|
||||
postavit dlouhé řady pásů.
|
||||
- Pily řežou vždy svisle, bez ohledu na jejich orientaci.
|
||||
- Smícháním všech 3 barev získáte bílou barvu.
|
||||
- Sklad preferuje levý výstup.
|
||||
- Investujte čas pro vytvoření opakovatelných designů - ulehčí vám to pozdější expanzy!
|
||||
- Držení klávesy <b>CTRL</b> umožnuje postavit více budov stejného typu.
|
||||
- Můžete podržet klávesu <b>ALT</b> k obrácení směru pokládaných pásů.
|
||||
- Efektivita je klíčová!
|
||||
- Nalezistě zdrojů, které jsou více vzdálené od Hubu, jsou větší.
|
||||
- Továrny mají omezenou rychlost, rozdělte předměty pro vyšší efektivitu.
|
||||
- Použijte vyvažovače pro maximalizaci efektivity.
|
||||
- Organizace je důležitá. Zkuste nekřížit příliš mnoho pásů.
|
||||
- Plánujte dopředu, abyste předešli vzniku velkého chaosu!
|
||||
- Neodstraňujte své staré továrny! Budete je potřebovat pro další vylepšení.
|
||||
- Před vyhledáním pomoci zkuste sami porazit úroveň 20!
|
||||
- Snažte se věci nekomplikovat, zůstaňtě u jednoduchých designů a dostanete se daleko.
|
||||
- Možná budete muset použít stejné továrny i v budoucnu. Vytvořte své továrny takovým stylem,
|
||||
abyste je mohli použít i v dalších případech.
|
||||
- V nektěrých případech můžete najít celý požadovaný tvar bez nutnosti jeho výroby s pomocí
|
||||
kombinátorů.
|
||||
- Celý tvar typu mlýnu se na mapě nikdy nevyskytne.
|
||||
- Obarvěte své tvary před řezáním pro zvýšení efektivity.
|
||||
- S moduly, prostor je pouze vnímáním; starost pro smrtelníky.
|
||||
- Vytvořtě si samostatnou továrnu jen na plány (blueprinty). Jsou důležité pro moduly.
|
||||
- Podívejte se zblízka na míchač barev, a vaše otázky budou odpovězeny.
|
||||
- Použijte klávesu <b>CTRL</b> a myš pro označení oblasti.
|
||||
- Pokud stavíte příliš blízko Hubu, v budoucnu můžete narazit na problémy s dalšími projekty.
|
||||
- Ikona připínáčku vedle každého tvaru vám umožnuje připnout tvar, čímž se vám bude neustále zobrazovat vlevo na obrazovce.
|
||||
- Smíchejte všechny základní barvy pro vytvoření bílé barvy!
|
||||
- Vaše mapa je nekonečná, nesnažte se postavit továrnu na malinkém prostoru, rozšiřte se do okolí!
|
||||
- Neváhejte vyzkoušet hru Factorio! Je to má oblíbená hra.
|
||||
- Rozebírač funguje po směru hodinových ručiček, počínaje pravým horním rohem!
|
||||
- V hlavním menu můžete stáhnout své uložené hry!
|
||||
- Tato hra má spoustu užitečných klávesových zkratek! Určitě si je projděte v
|
||||
nastavení.
|
||||
- Tato hra má spoustu nastavení, určitě si je projděte!
|
||||
- Značka Hubu má vedle sebe malý kompas, který ukazuje směr k Hubu!
|
||||
- Pro vyčistění pásů, vyjměte budovy z prostoru a pak je zkopírujte zpět na stejné místo.
|
||||
- Stisknutím F4 zobrazíte FPS a rychlost ticků.
|
||||
- Stisknutím F4 dvakrát zobrazíte častici myši a kamery.
|
||||
- Můžete kliknout na připínáček vlevo vedle připnutého tvaru k jeho odepnutí.
|
||||
|
@ -1,62 +1,52 @@
|
||||
steamPage:
|
||||
shortText: shapez.io handler om at bygge fabrikker på en grænseløs spilleflade
|
||||
shortText: Shapez.io handler om at bygge fabrikker på en grænseløs spilleflade
|
||||
for automatisk at skabe og kombinere figurer, der i stigende grad bliver
|
||||
mere komplicerede.
|
||||
discordLink: Officiel Discord - Snak lidt med mig!
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io er et afslapet spil hvor du skal bygge fabrikker for at
|
||||
automatisere productionen af geometriske figurer.
|
||||
|
||||
shapez.io handler om at bygge fabrikker over en grænseløs spilleflade for automatisk at skabe og kombinere figurer, der i stigende grad bliver mere komplicerede.
|
||||
Jo længer du når, jo mere kompliseret bliver figurene, og du bliver nød til at spræde dig ud på den grænseløse spilleflade.
|
||||
|
||||
Når efterspurgte figurer bliver afleveret, vil du gøre fremskridt i spillet og modtage opgraderinger, der gør din fabrik hurtigere.
|
||||
og hvis det ikke var nok, så skal du også producere eksponentielt flere figurer for at måde behovene spillet giver dig - det eneste der virker er skalering!
|
||||
|
||||
Som efterspørgslen på figurer stiger, må du opskalere din fabrik for at holde trit - Glem dog ikke resurserne, du vil blive nødt til at udvide over hele den [b]uendelige flade[/b]!
|
||||
Mens du i starten kun laver former, skal du senere farve lægge dem - for at gøre dette skal du udvinde og blande farver!
|
||||
|
||||
Der går ikke lang tid før du må mikse farver og male dine figurer med dem - Kombiner rød, grøn og blå farveresurser for at producere forskellige farver og mal derefter figurer med dem for at møde efterspørgslen.
|
||||
At købe spllet på Steam, giver dig adgang til det fulde spil, men du kan også spille en demo version på shapez.io og vælge senere!
|
||||
title_advantages: Steam version Fordele
|
||||
advantages:
|
||||
- <b>12 Nye Niveauer</b> for i alt 26 niveauer
|
||||
- <b>18 Nye Byginger</b> for en fuldt autmaticeret fabrik!
|
||||
- <b>20 Upgraderings Niveauer</b> for mange timers sjov!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Uendelige Markører
|
||||
- Hjælp med at støtte mig! ❤️
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library (Standalone Exclusive)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
title_open_source: This game is open source!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and
|
||||
attempt to review all suggestions and take feedback into consideration
|
||||
where possible.
|
||||
|
||||
Dette spil indeholder 18 fremadskridende Niveauers (Som allerede burde holde dig beskæftiget i timevis!) men jeg tilføjer hele tiden nyt - Der er en hel masse planlagt!
|
||||
|
||||
Hvis du køber spillet, får du adgang til den selvstændige version, der har endnu flere ting, og du får også adgang til nyudviklet indhold.
|
||||
|
||||
[b]Fordele for køb[/b]
|
||||
|
||||
[list]
|
||||
[*] Mørk Tilstand
|
||||
[*] Uendelige Markører
|
||||
[*] Uendelige Gem
|
||||
[*] Yderligere Indstillinger
|
||||
[*] Kommer snart: Ledninger & Energi! Går efter at udgive (omkring) enden af juli 2020.
|
||||
[*] Kommer snart: Niveauer
|
||||
[*] Støtter mig i yderligere at udvikle shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Fremtidige Opdateringer[/b]
|
||||
|
||||
Jeg opdaterer spillet meget ofte og prøver at få frigivet en opdatering mindst hver uge!
|
||||
|
||||
[list]
|
||||
[*] Forskellige spilleflader og udfordringer (f.eks. flader med forhindringer)
|
||||
[*] Hjernevridere (Aflever den efterspurgte figur med et afgrænset areal / mængde bygninger)
|
||||
[*] En 'story mode' hvor bygninger har en pris
|
||||
[*] En spillefladeskaber med forskellige indstillinger (Konfigurer resurse/figur størrelse/tæthed, seed m.m.)
|
||||
[*] Flere typer af figurer
|
||||
[*] Forbedringer til hvor godt spillet kører (Det kører allerede rimelig godt!)
|
||||
[*] Og meget mere!
|
||||
[/list]
|
||||
|
||||
[b]Dette spil er open source![/b]
|
||||
|
||||
Enhver kan kontribuere, jeg er aktivt involveret i fælleskabet og prøver at gennemgå alle forslag og tage feedback i betragtning når det er muligt. Husk at tjekke mit trello board for den fulde køreplan!
|
||||
|
||||
[b]Link[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Officiel Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Køreplan[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Kildekode (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hjælp med at oversætte[/url]
|
||||
[/list]
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
global:
|
||||
loading: Indlæser
|
||||
error: Fejl
|
||||
@ -86,7 +76,7 @@ global:
|
||||
control: CTRL
|
||||
alt: ALT
|
||||
escape: ESC
|
||||
shift: SKIFT
|
||||
shift: SKIFT/SHIFT
|
||||
space: MELLEMRUM
|
||||
demoBanners:
|
||||
title: Demo Version
|
||||
@ -131,7 +121,9 @@ dialogs:
|
||||
text: "Det lykkedes ikke at åbne dit gemte spil:"
|
||||
confirmSavegameDelete:
|
||||
title: Bekræft sletning
|
||||
text: Er du sikker på du vil slette dit gemte spil?
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Sletning fejlede
|
||||
text: "Det lykkedes ikke at slette dit gemte spil:"
|
||||
@ -187,9 +179,8 @@ dialogs:
|
||||
transportbånd.<br>"
|
||||
createMarker:
|
||||
title: Ny Markør
|
||||
desc: Giv det et betydningsfuldt navn. du kan også inkludere en <strong>kort
|
||||
kode</strong> der repræsenterer en figur (Som du kan lave <a
|
||||
href="https://viewer.shapez.io" target="_blank">her</a>)
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
titleEdit: Rediger Markør
|
||||
markerDemoLimit:
|
||||
desc: Du kan kun lave to markører i demoen. Køb spillet for uendelige markører!
|
||||
@ -210,6 +201,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that
|
||||
the game can not handle an endless count of buildings - So try to
|
||||
keep your factories compact!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Bevæg dig
|
||||
@ -347,6 +343,38 @@ ingame:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the Steam version advantages!
|
||||
get_on_steam: Get on steam
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Bælter, Fordelere & Tuneller
|
||||
@ -365,6 +393,7 @@ buildings:
|
||||
deliver: Aflever
|
||||
toUnlock: for at få adgang til
|
||||
levelShortcut: NIV
|
||||
endOfDemo: End of Demo
|
||||
belt:
|
||||
default:
|
||||
name: Transportbælte
|
||||
@ -425,7 +454,9 @@ buildings:
|
||||
description: Farver figurerne fra venstre side med farven fra toppen.
|
||||
quad:
|
||||
name: Maler (Quad)
|
||||
description: Lader dig farve hver fjerdel af figuren med forskellige farver.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
trash:
|
||||
default:
|
||||
name: Skraldespand
|
||||
@ -543,14 +574,20 @@ buildings:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the
|
||||
wires layer on the regular layer.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Klippe Figurer
|
||||
desc: Du har lige fået adgang til <strong>klipperen</strong> - den klipper
|
||||
figurer i to fra <strong>top til bund</strong> uanset hvordan den
|
||||
vender!<br><br>Sørg for at ødelægge alt du ikke har brug for, ellers
|
||||
<strong>går den i stå</strong> - Til dette har jeg givet dig
|
||||
skraldespanden, som ødelægger alt du putter i den!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Rotation
|
||||
desc: <strong>Drejeren</strong> er nu tilgængelig! Den drejer figurer 90 grader
|
||||
@ -564,8 +601,8 @@ storyRewards:
|
||||
indstillingerne!"
|
||||
reward_mixer:
|
||||
title: Farveblanding
|
||||
desc: <strong>Farveblanderen</strong> er nu tilgængelig - Kombiner to farver ved
|
||||
brug af (strong>additiv blanding</strong> med denne bygning!
|
||||
desc: The <strong>mixer</strong> has been unlocked - It mixes two colors using
|
||||
<strong>additive blending</strong>!
|
||||
reward_stacker:
|
||||
title: Stabler
|
||||
desc: Du kan du stable figurer med <strong>stableren</strong>! Begge inputs
|
||||
@ -574,9 +611,9 @@ storyRewards:
|
||||
<strong>stablet ovenpå</strong> det venstre!
|
||||
reward_splitter:
|
||||
title: Fordeler/Sammenlægger
|
||||
desc: Den flerfunktionelle <strong>Fordeler</strong> er nu tilgængelig - Den kan
|
||||
bruges til at bygge større fabrikker ved at <strong>fordele og
|
||||
sammenlægge varer</strong> på flere bælter!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: <strong>Tunnellen</strong> er nu tilgængelig - Du kan nu lave tuneller
|
||||
@ -588,9 +625,10 @@ storyRewards:
|
||||
<strong>trykke 'T'</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Kædeudvinder
|
||||
desc: <strong>Kædeudvinder</strong> er nu tilgængelig! Den kan
|
||||
<strong>videregive sine resurser</strong> til andre udvindere, så du
|
||||
kan udvinde resurser mere effektivt!
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Trin II
|
||||
desc: Du har fået adgang til en variant af <strong>tunnellen</strong> - Den har
|
||||
@ -606,19 +644,20 @@ storyRewards:
|
||||
desc: Du har fået adgang til en variant af <strong>maleren</strong> - Den virker
|
||||
som en normal maler, men maler <strong>to figurer samtidig</strong>
|
||||
og bruger kun en farve i stedet for to.
|
||||
reward_painter_quad:
|
||||
title: Quad Maling
|
||||
desc: Du har fået adgang til en variant af <strong>maleren</strong> - Den lader
|
||||
dig male alle dele af en figur hver for sig!
|
||||
reward_storage:
|
||||
title: Opbevaringsbuffer
|
||||
desc: Du har fået adgang til en variant af <strong>skraldespanden</strong> - Den
|
||||
lader dig opbevare varer til en hvis kapacitet!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Frit spil
|
||||
desc: Du klarede det! Du har fået adgang til <strong>frit spil</strong>! Dette
|
||||
betyder at figurer nu er tilfældigt genereret! (Vær ikke bekymret,
|
||||
mere indhold er planlagt for den betalte version!)
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Arbejdstegninger
|
||||
desc: Du kan nu <strong>kopiere og indsætte</strong> dele af din fabrik! Vælg et
|
||||
@ -654,17 +693,12 @@ storyRewards:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -688,6 +722,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Indstillinger
|
||||
categories:
|
||||
@ -911,7 +962,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -920,6 +970,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: Om dette spil
|
||||
body: >-
|
||||
@ -1004,3 +1056,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -1,61 +1,47 @@
|
||||
steamPage:
|
||||
shortText: In shapez.io nutzt du die vorhandenen Ressourcen, um mit deinen
|
||||
Maschinen durch Kombination immer komplexere Formen zu erschaffen.
|
||||
discordLink: Offizieller Discord - Hier kannst du mit mir schreiben!
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
intro: >-
|
||||
Du magst Automatisierungsspiele? Dann bist du hier genau richtig!
|
||||
|
||||
In shapez.io musst du Maschinen geschickt verbinden, damit Formen automatisiert erstellt, bearbeitet und kombiniert werden.
|
||||
shapez.io ist ein ruhiges Spiel, in dem du Fabriken zur automatisierten Produktion von geometrischen Formen bauen musst. Mit steigendem Level werden die Formen immer komplexer, und du musst dich auf der unendlich großen Karte ausbreiten.
|
||||
|
||||
Liefere die gewünschten, stetig komplexer werdenden Formen an dein Hauptgebäude, um im Spiel voranzukommen. Schalte mit ihnen außerdem Upgrades frei, die deine Maschinen und somit auch deine Fabriken beschleunigen!
|
||||
Und als ob das noch nicht genug wäre, musst du auch exponentiell mehr produzieren, um die Anforderungen zu erfüllen - Da hilft nur skalieren! Während du am Anfang nur Formen verarbeitest, musst du diese später einfärben - Dafür musst du Farben extrahieren und mischen!
|
||||
|
||||
Da die Nachfrage sowohl in der Komplexität, als auch der Menge steigt, wirst du deine Fabriken erweitern müssen. Vergiss nicht, dass du die dafür benötigten Ressourcen beschaffen musst und expandiere auf der [b]unendlichen Karte[/b]!
|
||||
Der Kauf des Spiels auf Steam gibt dir Zugriff auf die Vollversion, du kannst aber auch zuerst eine Demo auf shapez.io spielen und dich später entscheiden!
|
||||
title_advantages: Vorteile der Vollversion
|
||||
advantages:
|
||||
- <b>12 Neue Level</b> für insgesamt 26 Level
|
||||
- <b>18 Neue Gebäude</b> für eine komplett automatisierte Fabrik!
|
||||
- <b>20 Upgrade Stufen</b> für viele Stunden Spielspaß
|
||||
- <b>Wires Update</b> für eine komplett neue Dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unbegrenzte Speicherstände
|
||||
- Unbegrenzte Wegpunkte
|
||||
- Unterstütze mich! ❤️
|
||||
discordLinkShort: Offizieller Discord
|
||||
title_future: Geplante Inhalte
|
||||
planned:
|
||||
- Blaupausen-Bibliothek
|
||||
- Steam Errungenschaften
|
||||
- Puzzel-Modus
|
||||
- Minimap
|
||||
- Mod Unterstützung
|
||||
- Sandkasten - Modus
|
||||
- ... und noch viel mehr!
|
||||
title_open_source: Dieses Spiel ist Quelloffen!
|
||||
text_open_source: >-
|
||||
Jeder kann etwas zum Spiel beitragen! Ich engagiere mich aktiv in der
|
||||
Community und versuche alle Vorschläge zu berücksichtigen.
|
||||
|
||||
Bald wirst du Farben mischen und deine Formen damit bemalen lassen. Staple dann deine fertigen Formen aufeinander und lasse so die wildesten Kreationen entstehen.
|
||||
|
||||
Nutze dein gesammeltes Wissen über die Maschinen und lasse deine Fabriken die gewünschten Formen der 18 verschiedenen Level abliefern. Schalte mit jedem Level neue Arbeitsschritte oder Gebäude frei. Das sollte dich schon für Stunden beschäftigt halten! Danach werden im Freispielmodus zufällige Formen generiert, die du ebenfalls abliefern kannst. Ich füge regelmäßig neue Funktionen hinzu und davon sind eine ganze Menge geplant!
|
||||
|
||||
Wenn du das Spiel erwirbst, erhälst du Zugriff auf die zusätzlichen Features der Standalone-Version. Das bedeutet, du kannst unter anderem die neuesten Updates zuerst spielen!
|
||||
|
||||
[b]Vorteile der Standalone[/b]
|
||||
|
||||
[list]
|
||||
[*] Dark-Mode
|
||||
[*] Unbegrenzte Anzahl an Wegpunkten
|
||||
[*] Unbegrenzte Anzahl an Speicherständen
|
||||
[*] Zusätzliche Einstellungen
|
||||
[*] Es kommen: Kabel & Energie! Voraussichtlich gegen Ende Juli 2020
|
||||
[*] Es kommen: Mehr Levels
|
||||
[*] Unterstütze die Entwicklung von shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Geplante Funktionen[/b]
|
||||
|
||||
Ich bin aktiv mit der Entwicklung beschäftigt und versuche jede Woche ein Update oder den aktuellen Stand der Entwicklung zu veröffentlichen.
|
||||
|
||||
[list]
|
||||
[*] Verschiedene Karten und Herausforderungen (z.B. Karten mit Hindernissen)
|
||||
[*] Puzzle (Liefere die geforderte Form mit begrenztem Platz/limitierten Gebäuden)
|
||||
[*] Eine Kampagne mit Gebäudekosten
|
||||
[*] Konfigurierbarer Kartengenerator (Ändere die Grösse/Anzahl/Dichte der Ressourcenflecken, den Seed und vieles mehr)
|
||||
[*] Mehr Formentypen
|
||||
[*] Performanceverbesserungen (Das Spiel läuft bereits sehr gut!)
|
||||
[*] Und vieles mehr!
|
||||
[/list]
|
||||
|
||||
[b]Das Spiel ist Open Source![/b]
|
||||
|
||||
Jeder kann dazu beitragen! Ich bin aktiv in die Community involviert, versuche alle Vorschläge zu lesen und beziehe so viel Feedback wie möglich mit in die Entwicklung ein. Die komplette Roadmap gibt es auf dem Trello-Board zum Nachlesen.
|
||||
|
||||
[b]Links[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Offizieller Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Quelltext (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Hilf beim Übersetzen[/url]
|
||||
[/list]
|
||||
Die vollständige Roadmap findet ihr in meinem Trello-Board!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Offizieller Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Quellcode (GitHub)
|
||||
translate: Hilf beim Übersetzen
|
||||
global:
|
||||
loading: Laden
|
||||
error: Fehler
|
||||
@ -89,7 +75,7 @@ global:
|
||||
space: LEER
|
||||
demoBanners:
|
||||
title: Demo Version
|
||||
intro: Kauf die Standalone für alle Features!
|
||||
intro: Kauf die Vollversion für alle Features!
|
||||
mainMenu:
|
||||
play: Spielen
|
||||
changelog: Änderungsprotokoll
|
||||
@ -102,11 +88,11 @@ mainMenu:
|
||||
helpTranslate: Hilf beim Übersetzen!
|
||||
madeBy: Ein Spiel von <author-link>
|
||||
browserWarning: Sorry, aber das Spiel wird in deinem Browser langsam laufen!
|
||||
Kaufe die Standalone-Version oder verwende Chrome für die beste
|
||||
Kaufe die Vollversion oder verwende Google Chrome für die beste
|
||||
Erfahrung!
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unbekanntes Level
|
||||
savegameUnnamed: Unnamed
|
||||
savegameUnnamed: Unbenannt
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
@ -115,28 +101,29 @@ dialogs:
|
||||
later: Später
|
||||
restart: Neustart
|
||||
reset: Zurücksetzen
|
||||
getStandalone: Standalone Ansehen
|
||||
deleteGame: Ich weiß, was ich tue!
|
||||
getStandalone: Zur Vollversion
|
||||
deleteGame: Ich weiß, was ich tue
|
||||
viewUpdate: Update anzeigen
|
||||
showUpgrades: Upgrades anzeigen
|
||||
showKeybindings: Kürzel anzeigen
|
||||
importSavegameError:
|
||||
title: Importierfehler
|
||||
text: "Fehler beim Importieren deines Spielstands:"
|
||||
title: Importfehler
|
||||
text: "Fehler beim Importieren deines Speicherstands:"
|
||||
importSavegameSuccess:
|
||||
title: Spielstand importieren
|
||||
text: Dein Spielstand wurde erfolgreich importiert.
|
||||
title: Speicherstand Importieren
|
||||
text: Dein Speicherstand wurde erfolgreich importiert.
|
||||
gameLoadFailure:
|
||||
title: Der Spielstand ist kaputt
|
||||
text: Der Spielstand konnte nicht geladen werden.
|
||||
title: Der Speicherstand ist kaputt
|
||||
text: Der Speicherstand konnte nicht geladen werden. Sorry!
|
||||
confirmSavegameDelete:
|
||||
title: Löschen bestätigen
|
||||
text: Bist du sicher, dass du den Spielstand löschen willst?
|
||||
text: Bist du sicher, dass du folgenden Speicherstand löschen willst?<br><br>
|
||||
'<savegameName>' auf Level <savegameLevel><br><br>Das kann nicht rückgängig gemacht werden!
|
||||
savegameDeletionError:
|
||||
title: Löschen gescheitert
|
||||
text: "Das Löschen des Spiels ist gescheitert:"
|
||||
title: Löschen fehlgeschlagen
|
||||
text: "Das Löschen des Spiels ist fehlgeschlagen:"
|
||||
restartRequired:
|
||||
title: Neustart benötigt
|
||||
title: Neustart nötig
|
||||
text: Du musst das Spiel neu starten, um die Einstellungen anzuwenden.
|
||||
editKeybinding:
|
||||
title: Tastenbelegung ändern
|
||||
@ -150,31 +137,32 @@ dialogs:
|
||||
desc: Die Tastenbelegung wurde auf den Standard zurückgesetzt!
|
||||
featureRestriction:
|
||||
title: Demo-Version
|
||||
desc: Du hast ein Feature gefunden (<feature>), welches nicht in der Demo
|
||||
enthalten ist. Erwerbe die Standalone für das volle Erlebnis!
|
||||
desc: Du hast ein Feature benutzt (<feature>), welches nicht in der Demo
|
||||
enthalten ist. Erwerbe die Vollversion auf Steam für das volle Erlebnis!
|
||||
oneSavegameLimit:
|
||||
title: Begrenzte Spielstände
|
||||
desc: Du kannst in der Demo nur einen Spielstand haben. Bitte lösche den
|
||||
existierenden Spielstand oder hole dir die Standalone!
|
||||
existierenden Spielstand oder hole dir die Vollversion!
|
||||
updateSummary:
|
||||
title: Neues Update!
|
||||
desc: "Hier sind die Änderungen, seitdem du das letzte Mal gespielt hast:"
|
||||
upgradesIntroduction:
|
||||
title: Upgrades Freischalten
|
||||
desc: Viele deiner Formen können noch benutzt werden, um Upgrades freizuschalten
|
||||
desc: >-
|
||||
Viele deiner Formen können noch benutzt werden, um Upgrades freizuschalten
|
||||
- <strong>Zerstöre deine alten Fabriken nicht!</strong> Den
|
||||
Upgrade-Tab findest du oben rechts im Bildschirm.
|
||||
massDeleteConfirm:
|
||||
title: Löschen bestätigen
|
||||
desc: Du löscht sehr viele Gebäude (<count> um genau zu sein)! Bist du dir
|
||||
desc: Du löscht viele Gebäude (<count> um genau zu sein)! Bist du dir
|
||||
sicher?
|
||||
massCutConfirm:
|
||||
title: Ausschneiden bestätigen
|
||||
desc: Du schneidest sehr viele Gebäude aus (<count> um genau zu sein)! Bist du
|
||||
desc: Du schneidest viele Gebäude aus (<count> um genau zu sein)! Bist du
|
||||
dir sicher?
|
||||
massCutInsufficientConfirm:
|
||||
title: Ausschneiden bestätigen
|
||||
desc: Du kannst dir das Einfügen nicht leisten! Bist du sicher, dass du trotzdem
|
||||
desc: Du wirst dir das Einfügen nicht leisten können! Bist du sicher, dass du trotzdem
|
||||
Ausschneiden möchtest?
|
||||
blueprintsNotUnlocked:
|
||||
title: Noch nicht freigeschaltet
|
||||
@ -191,13 +179,10 @@ dialogs:
|
||||
<code class='keybinding'>ALT</code>: Invertiere die Platzierungsrichtung der Förderbänder.<br>
|
||||
createMarker:
|
||||
title: Neuer Marker
|
||||
desc: Gib ihm einen griffigen Namen. Du kannst sogar die
|
||||
<strong>Abkürzung</strong> einer Form eingeben (Diese kann <a
|
||||
href="https://viewer.shapez.io" target="_blank">hier</a> generiert
|
||||
werden).
|
||||
desc: Vergib einen vernünftigen namen, du kannst auch den <strong>Kurz-Code</strong> einer Form eingeben (Welchen du <link>hier</link>) generieren kannst.
|
||||
titleEdit: Marker bearbeiten
|
||||
markerDemoLimit:
|
||||
desc: Du kannst nur 2 Marker in der Demo benutzen. Hol dir die Standalone, um
|
||||
desc: Du kannst nur 2 Marker in der Demo benutzen. Hol dir die Vollversion, um
|
||||
unendlich viele Marker zu erstellen!
|
||||
exportScreenshotWarning:
|
||||
title: Bildschirmfoto exportieren
|
||||
@ -205,13 +190,15 @@ dialogs:
|
||||
extrem große Fabriken kann das jedoch sehr lange dauern und ggf. zum
|
||||
Spielabsturz führen!
|
||||
editSignal:
|
||||
title: Set Signal
|
||||
descItems: "Choose a pre-defined item:"
|
||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
||||
can generate <link>here</link>)
|
||||
title: Signal Setzen
|
||||
descItems: "Wähle ein vordefiniertes item:"
|
||||
descShortKey: ... oder gib den <strong>Kurz-Code</strong> einer Form an (Welchen du <link>hier</link> generieren kannst)
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
title: Speicherstand umbenennen
|
||||
desc: Hier kannst du deinen Speicherstand umbenennen.
|
||||
entityWarning:
|
||||
title: Leistungswarnung
|
||||
desc: Du hast eine Menge Gebäude platziert, das hier ist nur ein freundlicher Hinweis dass das Spiel nicht mit unendlich vielen Gebäuden umgehen kann!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Bewegen
|
||||
@ -244,7 +231,7 @@ ingame:
|
||||
black: Schwarz
|
||||
uncolored: Farblos
|
||||
buildingPlacement:
|
||||
cycleBuildingVariants: <key> Wechsle Variante
|
||||
cycleBuildingVariants: Presse <key> zum Wechseln
|
||||
hotkeyLabel: "Taste: <key>"
|
||||
infoTexts:
|
||||
speed: Geschw.
|
||||
@ -262,7 +249,7 @@ ingame:
|
||||
notifications:
|
||||
newUpgrade: Ein neues Upgrade ist verfügbar!
|
||||
gameSaved: Dein Spiel wurde gespeichert.
|
||||
freeplayLevelComplete: Level <level> has been completed!
|
||||
freeplayLevelComplete: Level <level> abgeschlossen!
|
||||
shop:
|
||||
title: Upgrades
|
||||
buttonUnlock: Upgrade
|
||||
@ -294,16 +281,15 @@ ingame:
|
||||
dataSources:
|
||||
stored:
|
||||
title: Gelagert
|
||||
description: Zeigt die Menge an Formen, die im Hub gelagert sind.
|
||||
description: Alle im Hub gelagerten Formen.
|
||||
produced:
|
||||
title: Produziert
|
||||
description: Zeigt die Menge an Formen, die deine gesamte Fabrik produziert
|
||||
(inkl. Zwischenprodukte).
|
||||
description: Alle Formen, die in deiner Fabrik hergestellt werden, einschließlich Zwischenprodukte.
|
||||
delivered:
|
||||
title: Abgeliefert
|
||||
description: Zeigt die Menge an Formen, die im zentralen Gebäude abgeliefert
|
||||
werden.
|
||||
noShapesProduced: Es werden noch keine Formen produziert oder abgeliefert.
|
||||
title: Geliefert
|
||||
description: Formen, die an den Hub geliefert werden.
|
||||
|
||||
noShapesProduced: Es werden noch keine Formen produziert oder geliefert.
|
||||
shapesDisplayUnits:
|
||||
second: <shapes> / s
|
||||
minute: <shapes> / m
|
||||
@ -312,10 +298,7 @@ ingame:
|
||||
playtime: Spielzeit
|
||||
buildingsPlaced: Gebäude
|
||||
beltsPlaced: Förderbänder
|
||||
buttons:
|
||||
continue: Weiter
|
||||
settings: Einstellungen
|
||||
menu: Zurück zum Menü
|
||||
|
||||
tutorialHints:
|
||||
title: Brauchst du Hilfe?
|
||||
showHint: Hinweis
|
||||
@ -347,9 +330,42 @@ ingame:
|
||||
Halte <strong>UMSCH</strong>, um mehrere Gebäude zu platzieren
|
||||
und nutze <strong>R</strong>, um sie zu rotieren."
|
||||
connectedMiners:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
one_miner: 1 Extrahierer
|
||||
n_miners: <amount> Extrahierer
|
||||
limited_items: Begrenzt auf <max_throughput>
|
||||
watermark:
|
||||
title: Demo Version
|
||||
desc: Klicke hier, um die Vorteile der Vollversion zu sehen!
|
||||
get_on_steam: Zur Vollversion
|
||||
|
||||
standaloneAdvantages:
|
||||
title: Vorteile der Vollversion
|
||||
no_thanks: Nein, Dank!
|
||||
points:
|
||||
levels:
|
||||
title: 12 Neue Level
|
||||
desc: Für insgesamt 26 Level!
|
||||
buildings:
|
||||
title: 18 Neue Gebäude
|
||||
desc: Automatisiere deine Fabrik!
|
||||
savegames:
|
||||
title: ∞ Speicherstände
|
||||
desc: So viele dein Herz begehrt!
|
||||
upgrades:
|
||||
title: 20 Upgrade Stufen
|
||||
desc: Diese Demo hat nur 5!
|
||||
markers:
|
||||
title: ∞ Marker
|
||||
desc: Verliere dich nie in deiner Fabrik!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: Eine ganz neue Dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Werde nicht mehr geblendet!
|
||||
support:
|
||||
title: Unterstütze Mich
|
||||
desc: Ich verwende meine Freizeit!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Förderbänder, Verteiler & Tunnel
|
||||
@ -366,8 +382,9 @@ shopUpgrades:
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Liefere
|
||||
toUnlock: "Für folgende Belohnung:"
|
||||
toUnlock: "Für die Belohnung:"
|
||||
levelShortcut: LVL
|
||||
endOfDemo: Ende der Demo
|
||||
belt:
|
||||
default:
|
||||
name: Förderband
|
||||
@ -395,19 +412,19 @@ buildings:
|
||||
description: Zerschneidet Formen von oben nach unten. <strong>Benutze oder
|
||||
zerstöre beide Hälften, sonst verstopft die Maschine!</strong>
|
||||
quad:
|
||||
name: Schneider (4-fach)
|
||||
name: Schneider (Vierfach)
|
||||
description: Zerschneidet Formen in vier Teile. <strong>Benutze oder zerstöre
|
||||
alle Viertel, sonst verstopft die Maschine!</strong>
|
||||
rotater:
|
||||
default:
|
||||
name: Rotierer (-90°)
|
||||
name: Rotierer (90°)
|
||||
description: Rotiert Formen im Uhrzeigersinn um 90 Grad.
|
||||
ccw:
|
||||
name: Rotierer (+90°)
|
||||
name: Rotierer (-90°)
|
||||
description: Rotiert Formen gegen den Uhrzeigersinn um 90 Grad.
|
||||
rotate180:
|
||||
name: Rotate (180)
|
||||
description: Rotates shapes by 180 degrees.
|
||||
name: Rotierer (180°)
|
||||
description: Rotiert formen um 180 Grad.
|
||||
stacker:
|
||||
default:
|
||||
name: Stapler
|
||||
@ -432,7 +449,9 @@ buildings:
|
||||
oberen Eingang.
|
||||
quad:
|
||||
name: Färber (4-fach)
|
||||
description: Erlaubt es, jedes einzelne Viertel einer Form beliebig einzufärben.
|
||||
description: Erlaubt dir, jeden Quadranten der Form individuell zu färben. Nur
|
||||
Quadranten mit einem <strong>wahren Signal</strong> auf der Wires-Ebene
|
||||
werden angemalt!
|
||||
trash:
|
||||
default:
|
||||
name: Mülleimer
|
||||
@ -440,125 +459,128 @@ buildings:
|
||||
Für immer ...
|
||||
wire:
|
||||
default:
|
||||
name: Stromkabel
|
||||
description: Erlaubt dir Strom zu transportieren.
|
||||
name: Signalkabel
|
||||
description: Erlaubt dir Signale zu transportieren.
|
||||
second:
|
||||
name: Wire
|
||||
description: Transfers signals, which can be items, colors or booleans (1 / 0).
|
||||
Different colored wires do not connect.
|
||||
name: Signalkabel
|
||||
description: Überträgt Signale, die Gegenstände, Farben oder Wahrheitswerte (1 oder 0) sein können. Unterschiedlich farbige Kabel verbinden sich nicht miteinander.
|
||||
balancer:
|
||||
default:
|
||||
name: Balancer
|
||||
description: Multifunctional - Evenly distributes all inputs onto all outputs.
|
||||
name: Verteiler
|
||||
description: Multifunktional - Verteilt alle Eingänge gleichmäßig auf alle Ausgänge.
|
||||
merger:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Kombinierer (kompakt)
|
||||
description: Kombiniert zwei Fließbänder in eins.
|
||||
merger-inverse:
|
||||
name: Merger (compact)
|
||||
description: Merges two conveyor belts into one.
|
||||
name: Kombinierer (kompakt)
|
||||
description: Kombiniert zwei Fließbänder in eins.
|
||||
splitter:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Verteiler (kompakt)
|
||||
description: Teilt ein Fließband in zwei.
|
||||
splitter-inverse:
|
||||
name: Splitter (compact)
|
||||
description: Splits one conveyor belt into two.
|
||||
name: Verteiler (kompakt)
|
||||
description: Teilt ein Fließband in zwei.
|
||||
storage:
|
||||
default:
|
||||
name: Storage
|
||||
description: Stores excess items, up to a given capacity. Prioritizes the left
|
||||
output and can be used as an overflow gate.
|
||||
name: Speicher
|
||||
description:
|
||||
Speichert überschüssige Gegenstände, bis zu einer bestimmten Kapazität. Priorisiert den linken
|
||||
Ausgang und kann als Überlauftor verwendet werden.
|
||||
wire_tunnel:
|
||||
default:
|
||||
name: Wire Crossing
|
||||
description: Allows to cross two wires without connecting them.
|
||||
name: Signal-Kreuzung
|
||||
description: Erlaubt es, zwei Kabel zu kreuzen, ohne sie zu verbinden.
|
||||
constant_signal:
|
||||
default:
|
||||
name: Constant Signal
|
||||
description: Emits a constant signal, which can be either a shape, color or
|
||||
boolean (1 / 0).
|
||||
name: Konstantes Signal
|
||||
description: Sendet ein konstantes Signal, das entweder eine Form, eine Farbe oder
|
||||
Wahrheitswert (1 / 0) sein kann.
|
||||
lever:
|
||||
default:
|
||||
name: Switch
|
||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer,
|
||||
which can then be used to control for example an item filter.
|
||||
name: Schalter
|
||||
description:
|
||||
Kann umgeschaltet werden, um einen Wahrheitswert (1 / 0) auf der Wires-Ebene auszusenden,
|
||||
welcher dann z.B. zur Steuerung eines Filters verwendet werden kann.
|
||||
logic_gate:
|
||||
default:
|
||||
name: AND Gate
|
||||
description: Emits a boolean "1" if both inputs are truthy. (Truthy means shape,
|
||||
color or boolean "1")
|
||||
name: UND Gatter
|
||||
description: Gibt eine "1" aus, wenn beide Eingänge wahr sind (wahr bedeutet Form,
|
||||
Farbe oder "1").
|
||||
not:
|
||||
name: NOT Gate
|
||||
description: Emits a boolean "1" if the input is not truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
name: NICHT Gatter
|
||||
description: Gibt eine "1" aus, wenn der Eingang nicht wahr ist (wahr bedeutet Form,
|
||||
Farbe oder "1").
|
||||
xor:
|
||||
name: XOR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy, but not both.
|
||||
(Truthy means shape, color or boolean "1")
|
||||
name: XOR Gatter
|
||||
description: Gibt eine "1" aus, wenn einer der Eingänge wahr ist, aber nicht beide
|
||||
(wahr bedeutet Form, Farbe oder "1").
|
||||
or:
|
||||
name: OR Gate
|
||||
description: Emits a boolean "1" if one of the inputs is truthy. (Truthy means
|
||||
shape, color or boolean "1")
|
||||
name: ODER Gatter
|
||||
description: Gibt eine "1" aus, wenn eine der Eingäge wahr ist (wahr bedeutet Form, Farbe oder "1").
|
||||
transistor:
|
||||
default:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
description: Leitet den unteren Eingang weiter, wenn der seitliche Eingang wahr ist (eine Form,
|
||||
Farbe oder "1").
|
||||
mirrored:
|
||||
name: Transistor
|
||||
description: Forwards the bottom input if the side input is truthy (a shape,
|
||||
color or "1").
|
||||
description: Leitet den unteren Eingang weiter, wenn der seitliche Eingang wahr ist (eine Form,
|
||||
Farbe oder "1").
|
||||
filter:
|
||||
default:
|
||||
name: Filter
|
||||
description: Connect a signal to route all matching items to the top and the
|
||||
remaining to the right. Can be controlled with boolean signals
|
||||
too.
|
||||
description: Verbinde ein Signal, um alle passenden Gegenstände nach oben zu leiten und die
|
||||
restlichen nach rechts. Kann auch mit Wahrheitswerten gesteuert werden.
|
||||
display:
|
||||
default:
|
||||
name: Display
|
||||
description: Connect a signal to show it on the display - It can be a shape,
|
||||
color or boolean.
|
||||
description: Verbinde ein Signal, um es auf dem Display anzuzeigen - Es kann eine Form sein,
|
||||
Farbe oder Wahrheitswert.
|
||||
reader:
|
||||
default:
|
||||
name: Belt Reader
|
||||
description: Allows to measure the average belt throughput. Outputs the last
|
||||
read item on the wires layer (once unlocked).
|
||||
name: Fließband Leser
|
||||
description:
|
||||
Ermöglicht es, den durchschnittlichen Durchsatz des Fließbandes zu messen. Gibt den letzten
|
||||
Gegenstand auf der Wires-Ebene aus (sobald freigeschaltet).
|
||||
analyzer:
|
||||
default:
|
||||
name: Shape Analyzer
|
||||
description: Analyzes the top right quadrant of the lowest layer of the shape
|
||||
and returns its shape and color.
|
||||
name: Formanalyse
|
||||
description: Analysiert den oberen rechten Quadranten der untersten Schicht der Form
|
||||
und gibt seine Form und Farbe zurück.
|
||||
comparator:
|
||||
default:
|
||||
name: Compare
|
||||
description: Returns boolean "1" if both signals are exactly equal. Can compare
|
||||
shapes, items and booleans.
|
||||
name: Vergleich
|
||||
description: Gibt eine "1" zurück, wenn beide Signale genau gleich sind. Kann Formen, Gegenstände und Wahrheitswerte vergleichen.
|
||||
virtual_processor:
|
||||
default:
|
||||
name: Virtual Cutter
|
||||
description: Virtually cuts the shape into two halves.
|
||||
name: Virtueller Schneider
|
||||
description: Schneidet die Form virtuell in zwei Hälften.
|
||||
rotater:
|
||||
name: Virtual Rotater
|
||||
description: Virtually rotates the shape, both clockwise and counter-clockwise.
|
||||
name: Virtueller Rotierer
|
||||
description: Dreht die Form virtuell, sowohl im als auch gegen den Uhrzeigersinn.
|
||||
unstacker:
|
||||
name: Virtual Unstacker
|
||||
description: Virtually extracts the topmost layer to the right output and the
|
||||
remaining ones to the left.
|
||||
name: Virtueller Unstapler
|
||||
description: Extrahiert virtuell die oberste Ebene nach rechts und die
|
||||
die restlichen Ebenen nach links.
|
||||
stacker:
|
||||
name: Virtual Stacker
|
||||
description: Virtually stacks the right shape onto the left.
|
||||
name: Virtueller Stapler
|
||||
description: Stapelt virtuell die rechte Form auf die linke.
|
||||
painter:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
name: Virtueller Färber
|
||||
description: Färbt virtuell die Form vom unteren Eingang mit der Farbe aus dem rechten Eingang.
|
||||
|
||||
item_producer:
|
||||
default:
|
||||
name: Item-Produzent
|
||||
description: Nur im Sandbox-Modus verfügbar, gibt das Signal aus der Wires-Ebene auf der regulären Schicht aus.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Formen zerschneiden
|
||||
desc: Du hast den <strong>Schneider</strong> freigeschaltet! Er zerschneidet
|
||||
Formen von <strong>oben nach unten</strong>, unabhängig von ihrer
|
||||
Orientierung.<br><br>Stelle sicher, dass du den Abfall loswirst,
|
||||
sonst <strong>verstopft die Maschine</strong>! Dafür habe ich dir
|
||||
extra einen Mülleimer freigeschaltet.
|
||||
desc:
|
||||
Du hast gerade den <strong>Schneider</strong> freigeschaltet, der Formen in zwei Hälften schneidet,
|
||||
von oben nach unten, <b>unabhängig der Orientierung</b>!<br><br>Achte darauf, den Abfall loszuwerden, oder
|
||||
<b>er wird verstopfen und blockieren</b> - Zu diesem Zweck habe ich dir den <strong>Mülleimer</strong> gegeben, der
|
||||
alles entsorgt, was du hineintust!
|
||||
reward_rotater:
|
||||
title: Rotieren
|
||||
desc: Der <strong>Rotierer</strong> wurde freigeschaltet! Er rotiert Formen im
|
||||
@ -582,10 +604,8 @@ storyRewards:
|
||||
<strong>gestapelt</strong>.
|
||||
reward_splitter:
|
||||
title: Verteiler/Kombinierer
|
||||
desc: Der multifunktionale <strong>Verteiler</strong> wurde freigeschaltet! Er
|
||||
ermöglicht die Konstruktion größerer Fabriken, indem er Items auf
|
||||
mehrere Förderbänder <strong>verteilt oder diese
|
||||
zusammenführt</strong>!<br><br>
|
||||
desc: Du hast eine <strong>Splitter</strong> Variante des
|
||||
<strong>Verteilers</strong> freigeschaltet - Er teilt ein Fließband auf zwei auf!
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: Der <strong>Tunnel</strong> wurde freigeschaltet! Du kannst Items nun
|
||||
@ -598,9 +618,10 @@ storyRewards:
|
||||
verschiedene Varianten zuzugreifen</strong>.
|
||||
reward_miner_chainable:
|
||||
title: Extrahierer (Kette)
|
||||
desc: Du hast den <strong>Extrahierer (Kette)</strong> freigeschaltet! Damit
|
||||
können die Ressourcen an den Nächsten <strong>weitergegeben</strong>
|
||||
werden, um Ressourcen effizienter zu extrahieren.
|
||||
desc: >-
|
||||
Du hast den <strong>Kettenextrahierer</strong> freigeschaltet! Er kann
|
||||
seine Resourcen an andere Extrahierer <strong>weiterleiten</strong>! <br><br>
|
||||
PS: Die alten Extrahierer wurde jetzt in deiner Symbolleiste ersetzt!
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunnel Stufe II
|
||||
desc: Du hast eine neue Variante des <strong>Tunnels</strong> freigeschaltet!
|
||||
@ -616,22 +637,23 @@ storyRewards:
|
||||
desc: Du hast eine neue Variante des <strong>Färbers</strong> freigeschaltet!
|
||||
Hiermit kannst du <strong>zwei Formen auf einmal</strong> färben und
|
||||
verbrauchst nur eine Farbe.
|
||||
reward_painter_quad:
|
||||
title: Färber (4-fach)
|
||||
desc: Du hast eine neue Variante des <strong>Färbers</strong> freigeschaltet! Er
|
||||
kann jedes Viertel einer Form einzeln färben, verbraucht aber auch
|
||||
jeweils eine Farbe.
|
||||
reward_storage:
|
||||
title: Zwischenlager
|
||||
desc: Du hast eine neue Variante des <strong>Mülleimers</strong> freigeschaltet!
|
||||
Bis zu einer gewissen Kapazität können hier Items zwischengelagert
|
||||
werden.
|
||||
title: Speicher
|
||||
desc: Du hast das <strong>Speicher</strong> Gebäude freigeschaltet - Es erlaubt dir
|
||||
Gegenstände bis zu einer bestimmten Kapazität zu speichern!<br><br>
|
||||
Es priorisiert den linken Ausgang, also kannst du es auch als <strong>Überlauftor</strong> benutzen!
|
||||
reward_freeplay:
|
||||
title: Freies Spiel
|
||||
desc: Du hast es geschafft! Du bist im <strong>freien Spiel</strong> angekommen!
|
||||
Das heißt, dass abzuliefernde Formen jetzt zufällig generiert
|
||||
werden! (Keine Sorge, für die Standaloneversion ist noch mehr
|
||||
geplant!)
|
||||
desc: >-
|
||||
Du hast es geschafft! Du hast den <strong>Freispiel-Modus</strong> freigeschaltet! Das bedeutet,
|
||||
dass die Formen jetzt <strong>zufällig</strong> erzeugt werden!<br><br>
|
||||
|
||||
Da der Hub ab jetzt einen <strong>Durchsatz</strong> benötigt, empfehle ich dringend eine Maschine zu bauen,
|
||||
die automatisch die gewünschte Form liefert!<br><br>
|
||||
|
||||
Der HUB gibt die gewünschte Form auf der Wires-Ebene aus, also ist alles was du tun musst, sie zu analysieren und
|
||||
automatisch deine Fabrik basierend darauf zu konfigurieren.
|
||||
|
||||
reward_blueprints:
|
||||
title: Blaupause
|
||||
desc: Jetzt kannst du Teile deiner Fabrik <strong>kopieren und
|
||||
@ -648,38 +670,31 @@ storyRewards:
|
||||
um <strong>Upgrades freizuschalten</strong>!"
|
||||
no_reward_freeplay:
|
||||
title: Nächstes Level
|
||||
desc: Herzlichen Glückwunsch! Apropos, in der Standalone-Version ist noch vieles
|
||||
mehr geplant!
|
||||
desc: Du hast das nächste Level freigeschalten!
|
||||
|
||||
reward_balancer:
|
||||
title: Balancer
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can
|
||||
be used to build bigger factories by <strong>splitting and merging
|
||||
items</strong> onto multiple belts!<br><br>
|
||||
title: Verteiler
|
||||
desc: Der multifunktionale <strong>Verteiler</strong> wurde freigeschaltet - Er kann
|
||||
benutzt werden, um größere Fabriken zu bauen, indem Gegenstände auf mehrere Fließbänder aufgeteilt und zusammengelegt werden!
|
||||
reward_merger:
|
||||
title: Compact Merger
|
||||
desc: You have unlocked a <strong>merger</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts two inputs and merges them
|
||||
into one belt!
|
||||
title: Kompakter Verteiler
|
||||
desc: >-
|
||||
Du hast eine <strong>kompakte Variante</strong> des <strong>Verteilers</strong> freigeschalten - Sie verteilt zwei Fließbänder auf eins!
|
||||
reward_belt_reader:
|
||||
title: Belt reader
|
||||
title: Fließband Leser
|
||||
desc: You have now unlocked the <strong>belt reader</strong>! It allows you to
|
||||
measure the throughput of a belt.<br><br>And wait until you unlock
|
||||
wires - then it gets really useful!
|
||||
reward_rotater_180:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
desc: You just unlocked the 180 degrees <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degrees (Surprise! :D)
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -703,6 +718,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Einstellungen
|
||||
categories:
|
||||
@ -929,7 +961,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -938,6 +969,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: Über dieses Spiel
|
||||
body: >-
|
||||
@ -963,62 +996,75 @@ demo:
|
||||
exportingBase: Ganze Fabrik als Foto exportieren
|
||||
settingNotAvailable: Nicht verfügbar in der Demo.
|
||||
tips:
|
||||
- The hub accepts input of any kind, not just the current shape!
|
||||
- Make sure your factories are modular - it will pay out!
|
||||
- Don't build too close to the hub, or it will be a huge chaos!
|
||||
- If stacking does not work, try switching the inputs.
|
||||
- You can toggle the belt planner direction by pressing <b>R</b>.
|
||||
- Holding <b>CTRL</b> allows dragging of belts without auto-orientation.
|
||||
- Ratios stay the same, as long as all upgrades are on the same Tier.
|
||||
- Serial execution is more efficient than parallel.
|
||||
- You will unlock more variants of buildings later in the game!
|
||||
- You can use <b>T</b> to switch between different variants.
|
||||
- Symmetry is key!
|
||||
- You can weave different tiers of tunnels.
|
||||
- Try to build compact factories - it will pay out!
|
||||
- The painter has a mirrored variant which you can select with <b>T</b>
|
||||
- Having the right building ratios will maximize efficiency.
|
||||
- At maximum level, 5 extractors will fill a single belt.
|
||||
- Don't forget about tunnels!
|
||||
- You don't need to divide up items evenly for full efficiency.
|
||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place
|
||||
long lines of belts easily.
|
||||
- Cutters always cut vertically, regardless of their orientation.
|
||||
- To get white mix all three colors.
|
||||
- The storage buffer priorities the first output.
|
||||
- Invest time to build repeatable designs - it's worth it!
|
||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||
- Efficiency is key!
|
||||
- Shape patches that are further away from the hub are more complex.
|
||||
- Machines have a limited speed, divide them up for maximum efficiency.
|
||||
- Use balancers to maximize your efficiency.
|
||||
- Organization is important. Try not to cross conveyors too much.
|
||||
- Plan in advance, or it will be a huge chaos!
|
||||
- Don't remove your old factories! You'll need them to unlock upgrades.
|
||||
- Try beating level 20 on your own before seeking for help!
|
||||
- Don't complicate things, try to stay simple and you'll go far.
|
||||
- You may need to re-use factories later in the game. Plan your factories to
|
||||
be re-usable.
|
||||
- Sometimes, you can find a needed shape in the map without creating it with
|
||||
stackers.
|
||||
- Full windmills / pinwheels can never spawn naturally.
|
||||
- Color your shapes before cutting for maximum efficiency.
|
||||
- With modules, space is merely a perception; a concern for mortal men.
|
||||
- Make a separate blueprint factory. They're important for modules.
|
||||
- Have a closer look on the color mixer, and your questions will be answered.
|
||||
- Use <b>CTRL</b> + Click to select an area.
|
||||
- Building too close to the hub can get in the way of later projects.
|
||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
||||
- Mix all primary colors together to make white!
|
||||
- You have an infinite map, don't cramp your factory, expand!
|
||||
- Also try Factorio! It's my favorite game.
|
||||
- The quad cutter cuts clockwise starting from the top right!
|
||||
- You can download your savegames in the main menu!
|
||||
- This game has a lot of useful keybindings! Be sure to check out the
|
||||
settings page.
|
||||
- This game has a lot of settings, be sure to check them out!
|
||||
- The marker to your hub has a small compass to indicate its direction!
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- Der Hub akzeptiert jede Art von Form, nicht nur die aktuelle!
|
||||
- Stelle sicher, dass deine Fabriken modular sind - es zahlt sich aus!
|
||||
- Baue nicht zu nah am Hub, sonst wird es ein riesiges Chaos geben!
|
||||
- Wenn das Stapeln nicht funktioniert, versuche die Eingänge zu wechseln.
|
||||
- Du kannst mittels <b>R</b> die Richtung des Bandplaners umkehren.
|
||||
- Halte <b>STRG</b> um die Förderbänder ohne automatische Orientierung zu
|
||||
platzieren.
|
||||
- Die Ratios bleiben gleich, solange die die Upgrades auf der selben Stufen
|
||||
sind.
|
||||
- Serielle Ausführung ist effizienter als parallele.
|
||||
- Du wirst später im Spiel mehr Varianten von Gebäuden freischalten!
|
||||
- Du kanst <b>T</b> drücken, um auf andere Varianten des Gebäude zu wechseln.
|
||||
- Symmetrie ist der Schlüssel!
|
||||
- Du kannst verschiedene Arten von Tunneln miteinander verweben.
|
||||
- Versuche kompakte Fabriken zu bauen - es zahlt sich aus!
|
||||
- Der Färber hat eine spiegelverkehrte Variante, die du mittels <b>T</b>
|
||||
auswählen kannst.
|
||||
- Das richtige Verhältnis der Gebäude maximiert die Effizienz.
|
||||
- Auf dem maximalen Level genügen 5 Extrahierer für ein einzelnes Förderband.
|
||||
- Vergiss die Tunnel nicht!
|
||||
- Du musst die Items für maximale Effizienz nicht gleichmässig aufteilen.
|
||||
- Das Halten von <b>UMSCH</b> aktiviert den Bandplaner, der dir das
|
||||
Platzieren langer Linien vereinfacht.
|
||||
- Schneider schneiden immer vertikal, egal deren Orientierung.
|
||||
- Um Weiss zu erhalten, mixe alle Farben zusammen.
|
||||
- Der Speicher priorisiert den linken Ausgang.
|
||||
- Investiere Zeit, um wiederholbare Designs zu erstellen - es lohnt sich!
|
||||
- Das Halten von <b>STRG</b> ermöglicht dir mehrere Gebäude zu platzieren.
|
||||
- Du kanst <b>ALT</b> gedrückt halten, um die Richtung der Förderbänder
|
||||
umzukehren.
|
||||
- Effizienz ist der Schlüssel!
|
||||
- Formflecken, die weiter vom Hub entfernt sind, sind komplexer.
|
||||
- Gebäude haben eine limitierte Geschwindigkeit, teile sie auf für maximale
|
||||
Effizienz.
|
||||
- Benutze Verteiler um deine Effizienz zu maximieren.
|
||||
- Organisation ist wichtig. Versuch das Kreuzen von Förderbändern zu
|
||||
minimieren.
|
||||
- Plane im Voraus, oder es gibt ein riesigen Chaos!
|
||||
- Lösche deine alten Fabriken nicht! Du benötigst sie um Upgrades
|
||||
freizuschalten.
|
||||
- Versuch Level 20 alleine zu meistern, bevor du nach Hilfe suchst!
|
||||
- Mach es dir nicht zu kompliziert, versuch es einfach zu halten und du
|
||||
wirst weit vorankommen.
|
||||
- Vielleicht musst du Fabriken später im Spiel wiederverwenden. Plane deine
|
||||
Fabriken so, dass sie wiederverwendbar sind.
|
||||
- Manchmal kannst du die gewünschte Form auf der Karte finden, ohne sie mit
|
||||
Staplern zu erstellen.
|
||||
- Vollständige Windmühlen werden nicht natürlich generiert.
|
||||
- Färbe deine Formen vor dem Schneiden für maximale Effizienz.
|
||||
- Mit Modulen ist der Raum nur eine Wahrnehmung; eine Sorge für die
|
||||
sterblichen Menschen.
|
||||
- Mache eine separate Blaupausenfabrik. Sie sind wichtig für Module.
|
||||
- Schau dir den Farbmischer genauer an, und deine Fragen werden beantwortet.
|
||||
- Benutze <b>STRG</b> + rechter Mausklick, um einen Bereich zu selektieren.
|
||||
- Zu nahe am Hub zu bauen, kann späteren Projekten im Weg stehen.
|
||||
- Das Pin-Symbol neben jeder Form in der Upgrade-Liste heftet sie an den
|
||||
Bildschirm.
|
||||
- Mische alle drei Grundfarben, um Weiß zu erhalten!
|
||||
- Du hast eine unendlich grosse Karte, nutze den Platz, expandiere!
|
||||
- Probier auch mal Factorio! Es ist mein Lieblingsspiel.
|
||||
- Der Vierfachschneider schneidet im Uhrzeigersinn von oben rechts beginnend!
|
||||
- Du kannst deine Speicherstände im Hauptmenü herunterladen!
|
||||
- Diese Spiel hat viele nützliche Tastenbelegungen! Schau sie dir in den
|
||||
Einstellungen an.
|
||||
- Dieses Spiel hat viele Einstellungen, schau sie dir einmal an!
|
||||
- Die Markierung des Hubs hat einen kleinen Kompass, der die Richtung
|
||||
anzeigt!
|
||||
- Um die Förderbänder zu leeren, schneide den Bereich aus und füge ihn in
|
||||
der gleichen Position wieder ein.
|
||||
- Drücke F4 um deine FPS und Tick Rate anzuzeigen.
|
||||
- Drücke doppelt F4 um die Kachel des Zeigers und der Kamera anzuzeigen.
|
||||
- Du kannst die angehefteten Formen auf der linken Seite ablösen.
|
||||
|
@ -2,59 +2,51 @@ steamPage:
|
||||
shortText: Στο shapez.io χτήζεις εργοστάσια για να αυτοματοποιήσεις την
|
||||
δημιουργία και τον συνδιασμό σχημάτων αυξανόμενης πολυπλοκότητας σε έναν
|
||||
ατέλειωτο χάρτη.
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io is a relaxed game in which you have to build factories for the
|
||||
automated production of geometric shapes.
|
||||
|
||||
Στο shapez.io χτήζεις εργοστάσια για να αυτοματοποιήσεις την δημιουργία και τον συνδιασμό σχημάτων αυξανόμενης πολυπλοκότητας σε έναν ατέλειωτο χάρτη. Όταν παραδώσεις τα απαιτούμενα σχήματα, θα προχωρήσεις στο παιχνίδι και θα ξεκλειδώσεις αναβαθμήσεις για να επιταχύνεις το εργοστάσιό σου.
|
||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||
|
||||
Επειδή η ζήτηση για σχήματα αυξάνεται συνεχώς, θα πρέπει να επεκτείνεις το εργοστάσιό σου για να την ικανοποιήσεις - Μήν ξεχάσεις, για να βρείς όλους τους πόρους που χρειάζεσαι θα πρέπει να εξαπλωθείς στον [b]άτελείωτο χάρτη[/b]!
|
||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
||||
|
||||
Σύντομα θα πρέπει να αναμείξεις χρώματα και να βάψεις σχήματα - Ανάμειξε κόκκινο, πράσινο και μπλέ για να φτιάξεις διαφορετικά χρώματα και να βάψεις σχήματα ώστε να ικανοποιήσεις την ζήτηση.
|
||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
||||
|
||||
Το παιχνίδι έχει 18 βαθμιαία επίπεδα (που ήδη θα σε απασχολήσουν για ώρες!) και συνεχίζω να προσθέτω περιεχόμενο - Έχω ακόμα πολλά σχέδια!
|
||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
||||
title_advantages: Standalone Advantages
|
||||
advantages:
|
||||
- <b>12 New Level</b> for a total of 26 levels
|
||||
- <b>18 New Buildings</b> for a fully automated factory!
|
||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Unlimited Markers
|
||||
- Support me! ❤️
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library (Standalone Exclusive)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
title_open_source: This game is open source!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and
|
||||
attempt to review all suggestions and take feedback into consideration
|
||||
where possible.
|
||||
|
||||
Αγόράζοντας το παιχνίδι λαμβάνεις την αυτόνομη έκδοση (standalone) με πολλές επιπλέον δυνατότητες, καθώς και πρόσβαση σε νέες δυνατότητες που ακόμα αναπτύσσονται.
|
||||
|
||||
[b]Πλεονεκτήματα Αυτόνομης Έκδοσης[/b]
|
||||
|
||||
[list]
|
||||
[*] Σκοτεινή λειτουργία
|
||||
[*] Απεριόριστα σημεία γρήγορης κίνησης της κάμερας στον χάρτη
|
||||
[*] Απεριόριστα αποθηκευμένα παιχνίδια
|
||||
[*] Πρόσθετες ρυθμίσεις
|
||||
[*] Στο κοντινό μέλλον: Καλώδια και ενέργεια! Aναμένεται (περίπου) τέλος Ιουλίου 2020.
|
||||
[*] Στο κοντινό μέλλον: Περισσότερα επίπεδα
|
||||
[*] Μου επιτρέπει να αναπτήξω περεταίρω το shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Μελλοντικές ενημερώσεις[/b]
|
||||
|
||||
Ενημερώνω το παιχνίδι πολύ συχνά και προσπαθώ να προωγώ ενημερώσεις σχεδόν κάθε εβδομάδα!
|
||||
|
||||
[list]
|
||||
[*] Διαφορετικοί χάρτες και προκλήσεις (π.χ. χάρτες με εμπόδια)
|
||||
[*] Πάζλ (Παράδωσε το αιτούμενο σχήμα με περιορισμένο χώρο / κτήρια)
|
||||
[*] Ένα σενάριο όπου τα κτήρια έχουν κόστος
|
||||
[*] Διαμορφώσιμη δημιουργία χάρτη (Με επιλογές για το μέγεθος και την πυκνότητα των πόρων και άλλα)
|
||||
[*] Επιπλέον σχήματα!
|
||||
[*] Βελτιώσεις απόδοσης (Το παιχνίδι λειτουργεί ήδη πολύ καλά!)
|
||||
[*] Και πολλά άλλα!
|
||||
[/list]
|
||||
|
||||
[b]Αυτό το παιχνίδι είναι ανοιχτού κώδικα![/b]
|
||||
|
||||
Όλοι μπορούν να συνεισφέρουν, συμμετέχω ενεργά στην κοινότητα και προσπαθώ να εξετάσω όλες τις προτάσεις και να λάβω υπόψη τα σχόλια όπου είναι δυνατόν. Δείτε το trello board μου για τον πλήρη χάρτη πορείας!
|
||||
|
||||
[b]Σύνδεσμοι[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Επίσημο Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Χάρτης πορείας[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Πηγαίος κώδικας (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Βοήθησε με μεταφράσεις[/url]
|
||||
[/list]
|
||||
discordLink: Επίσημο Discord - Συνομίλησε μαζί μου!
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
global:
|
||||
loading: Φόρτωση
|
||||
error: Σφάλμα
|
||||
@ -130,7 +122,9 @@ dialogs:
|
||||
text: "Η φώρτοση του αποθηκευμένου παιχνιδιού ήταν αποτυχής:"
|
||||
confirmSavegameDelete:
|
||||
title: Επιβεβαίωση διαγραφής
|
||||
text: Είσαι βέβαιος/η ότι θέλεις να διαγράψεις το παιχνίδι;
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Αποτυχία διαγραφής
|
||||
text: "Η διαγραφή του αποθηκευμένου παιχνιδιού ήταν αποτυχής:"
|
||||
@ -150,9 +144,9 @@ dialogs:
|
||||
desc: Οι συνδιασμών πλήκτρων επαναφέρθηκαν στις προεπιλεγμένες τιμές τους!
|
||||
featureRestriction:
|
||||
title: Έκδοση Demo
|
||||
desc: Προσπάθησες να χρησιμοποιήσεις μία δυνατότητα που δεν είναι διαθέσιμη στην
|
||||
έκδοση demo. Αποκτήστε την αυτόνομη έκδοση για την ολοκληρομένη
|
||||
εμπειρία!
|
||||
desc: You tried to access a feature (<feature>) which is not available in the
|
||||
demo. Consider getting the standalone version for the full
|
||||
experience!
|
||||
oneSavegameLimit:
|
||||
title: Περιορισμένα αποθηκευμένα παιχνίδια
|
||||
desc: Στην demo έκδοση μπορείς να έχεις μόνο ένα αποθηκευμένο παιχνίδι. Παρακαλώ
|
||||
@ -187,9 +181,8 @@ dialogs:
|
||||
τον προσανατολισμό των τοποθετούμενων ιμάντων.<br>"
|
||||
createMarker:
|
||||
title: Νέο Σημάδι
|
||||
desc: Δώσ' του ένα όνομα με νόημα. Μπορείς επίσης να χρησημοποιήσεις και τον
|
||||
<strong>σύντομο κώδικα</strong> ενός σχήματος (τον οποίο μπορείς να
|
||||
βρείς <a href="https://viewer.shapez.io" target="_blank">εδώ</a>)
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
titleEdit: Επεξεργασία Σημαδιού
|
||||
markerDemoLimit:
|
||||
desc: Στην έκδωση demo μπορείς να βάλεις μέχρι δύο σημάδια στον χάρτη.
|
||||
@ -216,6 +209,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that
|
||||
the game can not handle an endless count of buildings - So try to
|
||||
keep your factories compact!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Κίνηση
|
||||
@ -356,6 +354,38 @@ ingame:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the Steam version advantages!
|
||||
get_on_steam: Get on steam
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Ιμάντες, Διανομείς & Σήραγγες
|
||||
@ -432,8 +462,9 @@ buildings:
|
||||
την επάνω είσοδο.
|
||||
quad:
|
||||
name: Βαφέας (Τετάρτων)
|
||||
description: Επιτρέπει να χρωματίσει κάθε τεταρτημόριο του σχήματος με
|
||||
διαφορετικό χρώμα.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
mirrored:
|
||||
name: Βαφέας
|
||||
description: Χρωματίζει ολόκληρο το σχήμα στην αριστερή είσοδο με το χρώμα από
|
||||
@ -446,6 +477,7 @@ buildings:
|
||||
deliver: Παράδωσε
|
||||
toUnlock: για να ξεκλειδώσεις
|
||||
levelShortcut: LVL
|
||||
endOfDemo: End of Demo
|
||||
wire:
|
||||
default:
|
||||
name: Καλώδιο ενέργειας
|
||||
@ -559,15 +591,20 @@ buildings:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the
|
||||
wires layer on the regular layer.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Κοπή σχημάτων
|
||||
desc: Μόλις ξεκλείδωσες τον <strong>κόπτη</strong> - κόβει σχήματα κατά το ήμισυ
|
||||
από <strong>πάνω προς τα κάτω</strong> ανεξάρτητα από τον
|
||||
προσανατολισμό του!<br><br>Φρόντισε να καταστρέψεις κομμάτια που δεω
|
||||
χρησημοποιείς αλλιώς η λειτουργία <strong>θα σταματήσει</strong> -
|
||||
Για το σκοπό αυτό σου έδωσα τον κάδο απορριμμάτων, ο οποίος
|
||||
καταστρέφει ό,τι είδη μεταφερθούν εκεί!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Περιστροφή
|
||||
desc: Ο <strong>Περιστροφέας</strong> ξεκλειδώθηκε! Το κτήριο αυτό περιστρέφει
|
||||
@ -593,10 +630,9 @@ storyRewards:
|
||||
αριστερής!
|
||||
reward_splitter:
|
||||
title: Διαχωρισμός/Συγχώνευση
|
||||
desc: Ο πολυλειτουργικός <strong>Ισορροπηστής</strong> είναι πλέον διαθέσιμος -
|
||||
Μπορεί να χρησιμοποιηθεί για την κατασκευή μεγαλύτερων εργοστασίων
|
||||
με <strong>διαχωρισμό και συγχώνευση ειδών</strong> σε/από πολλούς
|
||||
μεταφορικούς ιμάντες!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Σήραγγα
|
||||
desc: Το <strong>Σήραγγα</strong> είναι πλέον διαθέσιμο - Τώρα μπορείς να
|
||||
@ -609,10 +645,10 @@ storyRewards:
|
||||
παραλλαγές του</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Αλυσιδωτός Αποσπαστής
|
||||
desc: Ξεκλείδωσες τον <strong>Αλυσιδωτός Αποσπαστής</strong>! Μπορεί να
|
||||
<strong>προωθήσει τους αποσπασμένους πόρους</strong> σε άλλους
|
||||
αποσπαστές, ώστε να μπορείτε να αποσπάσεις πιο αποτελεσματικά
|
||||
πόρους!
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Σήραγγα Βαθμίδα II
|
||||
desc: Ξεκλείδωσες μια νέα παραλλαγή της <strong>Σήραγγας</strong> - Καλύπτει
|
||||
@ -627,20 +663,20 @@ storyRewards:
|
||||
desc: Ξεκλείδωσες μια παραλλαγή του <strong>Βαφέα</strong> - Λειτουργεί όπως ο
|
||||
κανονικός βαφέας, αλλά επεξεργάζεται <strong>δύο σχήματα
|
||||
ταυτόχρονα</strong>, καταναλώνοντας μόνο ένα χρώμα αντί για δύο!
|
||||
reward_painter_quad:
|
||||
title: Βαφέας Τετάρτων
|
||||
desc: Ξεκλείδωσες μια παραλλαγή του <strong>Βαφέα</strong> - Σου επιτρέπει να
|
||||
βάψεις κάθε τεταρτημόριο του σχήματος ξεχωριστά!
|
||||
reward_storage:
|
||||
title: Αποθηκευτικός χώρος
|
||||
desc: Ξεκλείδωσες μια παραλλαγή του <strong>Κάδου Απορριμμάτων</strong> -
|
||||
Επιτρέπει την αποθήκευση ειδών έως μια δεδομένη χωρητικότητα!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Ελεύθερο παιχνίδι
|
||||
desc: Τα κατάφερες! Ξεκλείδωσες την <strong>λειτουργία ελεύθερου
|
||||
παιχνιδιού</strong>! Από εδώ και πέρα τα σχήματα δημιουργούνται
|
||||
τυχαία! (Μην ανυσηχείς, περισσότερο περιεχόμενο έρχεται σύντομα στην
|
||||
αυτόνομη έκδοση!)
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Σχεδιαγράμματα
|
||||
desc: Μπορείς πλέον να κάνεις <strong>αντιγραφή και επικόλληση</strong> στα μέρη
|
||||
@ -679,17 +715,12 @@ storyRewards:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -713,6 +744,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Ρυθμίσεις
|
||||
categories:
|
||||
@ -938,7 +986,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -947,6 +994,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: Σχετικά με αυτό το παιχνίδι
|
||||
body: >-
|
||||
@ -1038,3 +1087,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -25,67 +25,52 @@ steamPage:
|
||||
shortText: shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map.
|
||||
|
||||
# This is the text shown above the Discord link
|
||||
discordLink: Official Discord - Chat with me!
|
||||
discordLinkShort: Official Discord
|
||||
|
||||
# This is the long description for the steam page - It is contained here so you can help to translate it, and I will regulary update the store page.
|
||||
# NOTICE:
|
||||
# - Do not translate the first line (This is the gif image at the start of the store)
|
||||
# - Please keep the markup (Stuff like [b], [list] etc) in the same format
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
intro: >-
|
||||
You like automation games? Then you are in the right place!
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map.
|
||||
shapez.io is a relaxed game in which you have to build factories for the automated production of geometric shapes. As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||
|
||||
Upon delivering the requested shapes you'll progress within the game and unlock upgrades to speed up your factory.
|
||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling! While you only have to process shapes at the beginning, you will later have to color them - by extracting and mixing colors!
|
||||
|
||||
As the demand for shapes increases, you'll have to scale up your factory to meet the demand - Don't forget about resources though, you'll have to expand across the [b]infinite map[/b]!
|
||||
Buying the game on Steam gives you access to the full version, but you can also play a demo at shapez.io first and decide later!
|
||||
|
||||
Soon you'll have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with them to satisfy the demand.
|
||||
title_advantages: Standalone Advantages
|
||||
advantages:
|
||||
- <b>12 New Levels</b> for a total of 26 levels
|
||||
- <b>18 New Buildings</b> for a fully automated factory!
|
||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Unlimited Markers
|
||||
- Support me! ❤️
|
||||
|
||||
This game features 18 progressive levels (Which should already keep you busy for hours!) but I'm constantly adding new content - There's a lot planned!
|
||||
|
||||
Purchasing the game gives you access to the standalone version which has additional features, and you'll also receive access to newly developed features.
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Dark Mode
|
||||
[*] Unlimited Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Additional settings
|
||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
||||
[*] Coming soon: More Levels
|
||||
[*] Allows me to further develop shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Future Updates[/b]
|
||||
|
||||
I am updating the game often and trying to push an update at least once every week!
|
||||
|
||||
[list]
|
||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
||||
[*] A story mode where buildings have a cost
|
||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
||||
[*] Additional types of shapes
|
||||
[*] Performance improvements (The game already runs pretty well!)
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
[b]This game is open source![/b]
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
|
||||
title_open_source: This game is open source!
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible.
|
||||
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
|
||||
[b]Links[/b]
|
||||
title_links: Links
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
|
||||
[/list]
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
|
||||
global:
|
||||
loading: Loading
|
||||
@ -137,7 +122,7 @@ demoBanners:
|
||||
# This is the "advertisement" shown in the main menu and other various places
|
||||
title: Demo Version
|
||||
intro: >-
|
||||
Get the standalone to unlock all features!
|
||||
Get the full game to unlock all features and content!
|
||||
|
||||
mainMenu:
|
||||
play: Play
|
||||
@ -153,7 +138,7 @@ mainMenu:
|
||||
|
||||
# This is shown when using firefox and other browsers which are not supported.
|
||||
browserWarning: >-
|
||||
Sorry, but the game is known to run slow on your browser! Get the standalone version or download Google Chrome for the full experience.
|
||||
Sorry, but the game is known to run slowly on your browser! Get the standalone version or download Google Chrome for the full experience.
|
||||
|
||||
savegameLevel: Level <x>
|
||||
savegameLevelUnknown: Unknown Level
|
||||
@ -215,7 +200,7 @@ dialogs:
|
||||
|
||||
keybindingsResetOk:
|
||||
title: Keybindings reset
|
||||
desc: The keybindings have been reset to their respective defaults!
|
||||
desc: All keybindings have been reset to their defaults values!
|
||||
|
||||
featureRestriction:
|
||||
title: Demo Version
|
||||
@ -233,7 +218,7 @@ dialogs:
|
||||
upgradesIntroduction:
|
||||
title: Unlock Upgrades
|
||||
desc: >-
|
||||
All shapes you produce can be used to unlock upgrades - <strong>Don't destroy your old factories!</strong>
|
||||
All shapes you produce can be used to unlock upgrades - <strong>don't destroy your old factories!</strong>
|
||||
The upgrades tab can be found on the top right corner of the screen.
|
||||
|
||||
massDeleteConfirm:
|
||||
@ -281,7 +266,7 @@ dialogs:
|
||||
|
||||
exportScreenshotWarning:
|
||||
title: Export screenshot
|
||||
desc: You requested to export your base as a screenshot. Please note that this can be quite slow for a big base and even crash your game!
|
||||
desc: You requested to export your base as a screenshot. Please note that this will be quite slow for a bigger base and could potentially crash your game!
|
||||
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
@ -289,7 +274,7 @@ dialogs:
|
||||
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that the game can not handle an endless count of buildings - So try to keep your factories compact!
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that the game can not handle an endless number of buildings - try to keep your factories compact!
|
||||
|
||||
ingame:
|
||||
# This is shown in the top left corner and displays useful keybindings in
|
||||
@ -382,13 +367,13 @@ ingame:
|
||||
dataSources:
|
||||
stored:
|
||||
title: Stored
|
||||
description: Displaying amount of stored shapes in your central building.
|
||||
description: All shapes stored within the Hub.
|
||||
produced:
|
||||
title: Produced
|
||||
description: Displaying all shapes your whole factory produces, including intermediate products.
|
||||
description: All shapes produced within your factory, including intermediate products.
|
||||
delivered:
|
||||
title: Delivered
|
||||
description: Displaying shapes which are delivered to your central building.
|
||||
description: Shapes which are being delivered to the Hub.
|
||||
noShapesProduced: No shapes have been produced so far.
|
||||
|
||||
# Displays the shapes per second, e.g. '523 / s'
|
||||
@ -400,15 +385,9 @@ ingame:
|
||||
# Settings menu, when you press "ESC"
|
||||
settingsMenu:
|
||||
playtime: Playtime
|
||||
|
||||
buildingsPlaced: Buildings
|
||||
beltsPlaced: Belts
|
||||
|
||||
buttons:
|
||||
continue: Continue
|
||||
settings: Settings
|
||||
menu: Menu
|
||||
|
||||
# Bottom left tutorial hints
|
||||
tutorialHints:
|
||||
title: Need help?
|
||||
@ -445,10 +424,53 @@ ingame:
|
||||
|
||||
# Connected miners
|
||||
connectedMiners:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
one_miner: 1 Extractor
|
||||
n_miners: <amount> Extractors
|
||||
limited_items: Limited to <max_throughput>
|
||||
|
||||
# Pops up in the demo every few minutes
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the advantages of the standalone version!
|
||||
get_on_steam: Get on Steam
|
||||
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
|
||||
# All shop upgrades
|
||||
shopUpgrades:
|
||||
belt:
|
||||
@ -470,6 +492,7 @@ buildings:
|
||||
deliver: Deliver
|
||||
toUnlock: to unlock
|
||||
levelShortcut: LVL
|
||||
endOfDemo: End of Demo
|
||||
|
||||
belt:
|
||||
default:
|
||||
@ -521,10 +544,10 @@ buildings:
|
||||
cutter:
|
||||
default:
|
||||
name: &cutter Cutter
|
||||
description: Cuts shapes from top to bottom and outputs both halves. <strong>If you use only one part, be sure to destroy the other part or it will stall!</strong>
|
||||
description: Cuts shapes from top to bottom and outputs both halves. <strong>If you use only one part, be sure to destroy the other part or it will clog and stall!</strong>
|
||||
quad:
|
||||
name: Cutter (Quad)
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other parts or it will stall!</strong>
|
||||
description: Cuts shapes into four parts. <strong>If you use only one part, be sure to destroy the other parts or it will clog and stall!</strong>
|
||||
|
||||
rotater:
|
||||
default:
|
||||
@ -534,13 +557,13 @@ buildings:
|
||||
name: Rotate (CCW)
|
||||
description: Rotates shapes counter-clockwise by 90 degrees.
|
||||
rotate180:
|
||||
name: Rotate (180)
|
||||
name: Rotate (180°)
|
||||
description: Rotates shapes by 180 degrees.
|
||||
|
||||
stacker:
|
||||
default:
|
||||
name: &stacker Stacker
|
||||
description: Combines both items side by side. If this is not possible, they are stacked on top of each other.
|
||||
description: Combines its inputs, on the same layer if possible, otherwise the right input is stacked on top of the left input.
|
||||
|
||||
mixer:
|
||||
default:
|
||||
@ -577,7 +600,7 @@ buildings:
|
||||
wire:
|
||||
default:
|
||||
name: &wire Wire
|
||||
description: &wire_desc Transfers signals, which can be items, colors or booleans (1 / 0). Different colored wires do not connect.
|
||||
description: &wire_desc Transfers signals, which can be items, colours or booleans (1 or 0). Differently-coloured wires do not connect to each other.
|
||||
|
||||
second:
|
||||
name: *wire
|
||||
@ -586,17 +609,17 @@ buildings:
|
||||
wire_tunnel:
|
||||
default:
|
||||
name: &wire_tunnel Wire Crossing
|
||||
description: Allows to cross two wires without connecting them.
|
||||
description: Allows two wires to cross without connecting to each other.
|
||||
|
||||
constant_signal:
|
||||
default:
|
||||
name: &constant_signal Constant Signal
|
||||
description: Emits a constant signal, which can be either a shape, color or boolean (1 / 0).
|
||||
description: Emits a constant signal, which can be either a shape, color or boolean (1 or 0).
|
||||
|
||||
lever:
|
||||
default:
|
||||
name: &lever Switch
|
||||
description: Can be toggled to emit a boolean signal (1 / 0) on the wires layer, which can then be used to control for example an item filter.
|
||||
description: Can be toggled to emit a boolean signal (1 or 0) on the wires layer, which can then be used to control components, for example an item filter.
|
||||
|
||||
logic_gate:
|
||||
default:
|
||||
@ -644,7 +667,7 @@ buildings:
|
||||
comparator:
|
||||
default:
|
||||
name: &comparator Compare
|
||||
description: Returns boolean "1" if both signals are exactly equal. Can compare shapes, items and booleans.
|
||||
description: Returns boolean "1" if both signals are exactly equal. Can compare shapes, colors and booleans.
|
||||
|
||||
virtual_processor:
|
||||
default:
|
||||
@ -665,13 +688,18 @@ buildings:
|
||||
|
||||
painter:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on the right input.
|
||||
description: Virtually paints the shape from the bottom input with the color on the right input.
|
||||
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the wires layer on the regular layer.
|
||||
|
||||
storyRewards:
|
||||
# Those are the rewards gained from completing the store
|
||||
reward_cutter_and_trash:
|
||||
title: Cutting Shapes
|
||||
desc: You just unlocked the <strong>cutter</strong> - it cuts shapes in half from top to bottom <strong>regardless of its orientation</strong>!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will stall</strong> - For this purpose I have given you the <strong>trash</strong>, which destroys everything you put into it!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half from top to bottom <strong>regardless of its orientation</strong>!<br><br>Be sure to get rid of the waste, or otherwise <strong>it will clog and stall</strong> - For this purpose I have given you the <strong>trash</strong>, which destroys everything you put into it!
|
||||
|
||||
reward_rotater:
|
||||
title: Rotating
|
||||
@ -692,7 +720,7 @@ storyRewards:
|
||||
|
||||
reward_balancer:
|
||||
title: Balancer
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!<br><br>
|
||||
desc: The multifunctional <strong>balancer</strong> has been unlocked - It can be used to build bigger factories by <strong>splitting and merging items</strong> onto multiple belts!
|
||||
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
@ -735,14 +763,8 @@ storyRewards:
|
||||
title: Double Painting
|
||||
desc: You have unlocked a variant of the <strong>painter</strong> - It works similar to the regular painter but processes <strong>two shapes at once</strong>, consuming just one color instead of two!
|
||||
|
||||
reward_painter_quad:
|
||||
title: Quad Painting
|
||||
desc: >-
|
||||
You have unlocked a variant of the <strong>painter</strong> - It allows you to paint each part of the shape individually!<br><br>
|
||||
Connect each slot you'd like to paint with a <strong>truthy signal</strong> (shape, item or boolean "1") on the wires layer!
|
||||
|
||||
reward_storage:
|
||||
title: Storage Buffer
|
||||
title: Storage
|
||||
desc: >-
|
||||
You have unlocked the <strong>storage</strong> building - It allows you to store items up to a given capacity!<br><br>
|
||||
It priorities the left output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
@ -752,32 +774,41 @@ storyRewards:
|
||||
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
|
||||
|
||||
reward_rotater_180:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows you to rotate a shape by 180 degress (Surprise! :D)
|
||||
title: Rotater (180°)
|
||||
desc: You just unlocked the 180 degrees <strong>rotater</strong>! - It allows you to rotate a shape by 180 degress (Surprise! :D)
|
||||
|
||||
reward_wires_filters_and_levers:
|
||||
reward_wires_painter_and_levers:
|
||||
title: >-
|
||||
Wires: Filters & Levers
|
||||
Wires & Quad Painter
|
||||
desc: >-
|
||||
You just unlocked the <strong>wires layer</strong>! It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
|
||||
Since it can be overwhelming a bit, I added a small tutorial - Be sure to have <strong>tutorials enabled</strong> in the settings!
|
||||
You just unlocked the <strong>Wires Layer</strong>: It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
|
||||
For the beginning I unlocked you the <strong>Quad Painter</strong> - Connect the slots you would like to paint with on the wires layer!<br><br>
|
||||
To switch to the wires layer, press <strong>E</strong>.
|
||||
|
||||
reward_filter:
|
||||
title: >-
|
||||
Item Filter
|
||||
desc: >-
|
||||
You unlocked the <strong>Item Filter</strong>! It will route items either to the top or the right output depending on whether they match the signal from the wires layer or not.<br><br>
|
||||
You can also pass in a boolean signal (1 or 0) to entirely activate or disable it.
|
||||
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: >-
|
||||
You have unlocked the <strong>Display</strong> - Connect a signal on the wires layer to visualize its contents!
|
||||
You have unlocked the <strong>Display</strong> - Connect a signal on the wires layer to visualize it!<br><br>
|
||||
PS: Did you notice the belt reader and storage output their last read item? Try showing it on a display!
|
||||
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: >-
|
||||
You unlocked the <strong>constant signal</strong> building on the wires layer! This is useful to connect it to <strong>item filters</strong> for example.<br><br>
|
||||
The constant signal can emit a <strong>shape</strong>, <strong>color</strong> or <strong>boolean</strong> (1 / 0).
|
||||
The constant signal can emit a <strong>shape</strong>, <strong>color</strong> or <strong>boolean</strong> (1 or 0).
|
||||
|
||||
reward_logic_gates:
|
||||
title: Logic Gates
|
||||
desc: >-
|
||||
You unlocked <strong>logic gates</strong>! You don't have to be excited about this, but it's actually super cool!<br><br>
|
||||
With those gates you can now compute AND, OR, XOR and NOT operations.<br><br>
|
||||
With logic gates you can now compute AND, OR, XOR and NOT operations.<br><br>
|
||||
As a bonus on top I also just gave you a <strong>transistor</strong>!
|
||||
|
||||
reward_virtual_processing:
|
||||
@ -809,6 +840,11 @@ storyRewards:
|
||||
Since the hub will require a <strong>throughput</strong> from now on, I highly recommend to build a machine which automatically delivers the requested shape!<br><br>
|
||||
The HUB outputs the requested shape on the wires layer, so all you have to do is to analyze it and automatically configure your factory based on that.
|
||||
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: >-
|
||||
You have reached the end of the demo version!
|
||||
|
||||
settings:
|
||||
title: Settings
|
||||
categories:
|
||||
@ -924,7 +960,7 @@ settings:
|
||||
alwaysMultiplace:
|
||||
title: Multiplace
|
||||
description: >-
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to holding SHIFT permanently.
|
||||
If enabled, all buildings will stay selected after placement until you cancel it. This is equivalent to constantly holding SHIFT.
|
||||
|
||||
offerHints:
|
||||
title: Hints & Tutorials
|
||||
@ -954,7 +990,7 @@ settings:
|
||||
disableCutDeleteWarnings:
|
||||
title: Disable Cut/Delete Warnings
|
||||
description: >-
|
||||
Disables the warning dialogs brought up when cutting/deleting more than 100 entities.
|
||||
Disables the warning dialogues brought up when cutting/deleting more than 100 entities.
|
||||
|
||||
lowQualityMapResources:
|
||||
title: Low Quality Map Resources
|
||||
@ -983,9 +1019,9 @@ settings:
|
||||
The game is divided into chunks of 16x16 tiles, if this setting is enabled the borders of each chunk are displayed.
|
||||
|
||||
pickMinerOnPatch:
|
||||
title: Pick miner on resource patch
|
||||
title: Select extractor on resource patch
|
||||
description: >-
|
||||
Enabled by default, selects the miner if you use the pipette when hovering a resource patch.
|
||||
Enabled by default, selects the extractor if you use the pipette when hovering a resource patch.
|
||||
|
||||
simplifiedBelts:
|
||||
title: Simplified Belts (Ugly)
|
||||
@ -993,9 +1029,9 @@ settings:
|
||||
Does not render belt items except when hovering the belt to save performance. I do not recommend to play with this setting if you do not absolutely need the performance.
|
||||
|
||||
enableMousePan:
|
||||
title: Enable Mouse Pan
|
||||
title: Screen Edge Panning
|
||||
description: >-
|
||||
Allows to move the map by moving the cursor to the edges of the screen. The speed depends on the Movement Speed setting.
|
||||
Allows panning the map by moving the cursor to the edges of the screen. The scroll speed depends on the Movement Speed setting.
|
||||
|
||||
keybindings:
|
||||
title: Keybindings
|
||||
@ -1060,6 +1096,7 @@ keybindings:
|
||||
transistor: *transistor
|
||||
analyzer: *analyzer
|
||||
comparator: *comparator
|
||||
item_producer: Item Producer (Sandbox)
|
||||
# ---
|
||||
|
||||
pipette: Pipette
|
||||
@ -1132,7 +1169,7 @@ tips:
|
||||
- Holding <b>SHIFT</b> will activate the belt planner, letting you place long lines of belts easily.
|
||||
- Cutters always cut vertically, regardless of their orientation.
|
||||
- To get white mix all three colors.
|
||||
- The storage buffer priorities the first output.
|
||||
- The storage buffer prioritises the left output.
|
||||
- Invest time to build repeatable designs - it's worth it!
|
||||
- Holding <b>CTRL</b> allows to place multiple buildings.
|
||||
- You can hold <b>ALT</b> to invert the direction of placed belts.
|
||||
@ -1147,15 +1184,15 @@ tips:
|
||||
- Don't complicate things, try to stay simple and you'll go far.
|
||||
- You may need to re-use factories later in the game. Plan your factories to be re-usable.
|
||||
- Sometimes, you can find a needed shape in the map without creating it with stackers.
|
||||
- Full windmills / pinwheels can never spawn naturally.
|
||||
- Full windmills/pinwheels can never spawn naturally.
|
||||
- Color your shapes before cutting for maximum efficiency.
|
||||
- With modules, space is merely a perception; a concern for mortal men.
|
||||
- Make a separate blueprint factory. They're important for modules.
|
||||
- Have a closer look on the color mixer, and your questions will be answered.
|
||||
- Have a closer look at the color mixer, and your questions will be answered.
|
||||
- Use <b>CTRL</b> + Click to select an area.
|
||||
- Building too close to the hub can get in the way of later projects.
|
||||
- The pin icon next to each shape in the upgrade list pins it to the screen.
|
||||
- Mix all primary colors together to make white!
|
||||
- Mix all three primary colors to make white!
|
||||
- You have an infinite map, don't cramp your factory, expand!
|
||||
- Also try Factorio! It's my favorite game.
|
||||
- The quad cutter cuts clockwise starting from the top right!
|
||||
@ -1166,3 +1203,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -2,59 +2,51 @@ steamPage:
|
||||
shortText: shapez.io es un juego sobre construir fábricas para automatizar la
|
||||
creación y combinación de figuras cada vez más complejas en un mapa
|
||||
infinito.
|
||||
discordLink: Discord oficial - ¡Chatea conmigo!
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io is a relaxed game in which you have to build factories for the
|
||||
automated production of geometric shapes.
|
||||
|
||||
shapez.io es un juego basado en la construcción de fábricas para automatizar la creación y combinación de figuras en un mapa que se expande infinitamente. Entrega las figuras requeridas para progresar y desbloquear mejoras para aumentar la velocidad de tu fábrica.
|
||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||
|
||||
Al aumentar la demanda, necesitarás escalar tu fábrica para ajustarte a las necesidades - ¡No te olvides de los recursos, necesitarás expandirte en el [b]mapa infinito[/b]!
|
||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
||||
|
||||
Después necesitarás mezclar colores para pintar las figuras - Combina recursos de colores rojo, verde y azul para producir diferentes colores y pintar figuras para satisfacer la demanda.
|
||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
||||
|
||||
Este juego cuenta con 18 niveles (¡Que te mantendrán ocupado durante horas!) pero estoy constantemente añadiendo nuevo contenido - ¡Hay mucho planeado!
|
||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
||||
title_advantages: Standalone Advantages
|
||||
advantages:
|
||||
- <b>12 New Level</b> for a total of 26 levels
|
||||
- <b>18 New Buildings</b> for a fully automated factory!
|
||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Unlimited Markers
|
||||
- Support me! ❤️
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library (Standalone Exclusive)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
title_open_source: This game is open source!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and
|
||||
attempt to review all suggestions and take feedback into consideration
|
||||
where possible.
|
||||
|
||||
Comprando el juego tendrás acceso a la versión completa con contenido adicional, además del contenido en desarrollo.
|
||||
|
||||
[b]Ventajas del juego completo[/b]
|
||||
|
||||
[list]
|
||||
[*] Modo oscuro
|
||||
[*] Puntos de referencia ilimitados
|
||||
[*] Partidas guardadas ilimitadas
|
||||
[*] Ajustes adicionales
|
||||
[*] Próximamente: ¡Cables y Energía! Aproximadamente para finales de julio de 2020.
|
||||
[*] Próximamente: Más niveles
|
||||
[*] Ayúdame a seguir desarrollando shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Futuras actualizaciones[/b]
|
||||
|
||||
¡Estoy actualizando el juego muy a menudo e intentando subir actualizaciones al menos una vez a la semana!
|
||||
|
||||
[list]
|
||||
[*] Diferentes mapas y desafíos (por ejemplo: mapas con obstáculos)
|
||||
[*] Puzles (Entrega la forma requerida con una zona o conjunto de edificios restringidos)
|
||||
[*] Modo historia en el que los edificios tengan un coste
|
||||
[*] Generador de mapas configurable (Configurar recursos, forma, tamaño, densidad, semilla y más)
|
||||
[*] Más tipos de figuras
|
||||
[*] Mejoras de rendimiento (¡Aunque el juego ya funciona muy bien!)
|
||||
[*] ¡Y mucho más!
|
||||
[/list]
|
||||
|
||||
[b]¡Este juego es de código abierto![/b]
|
||||
|
||||
Cualquiera puede contribuir, estoy activamente involucrado en la comunidad e intento leer todas las sugerencias y considerar todas las propuestas planteadas. ¡Comprueba mi tablero de Trello para ver todo lo planificado!
|
||||
|
||||
[b]Enlaces[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Discord oficial[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Hoja de ruta[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Código fuente (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Ayuda a traducir[/url]
|
||||
[/list]
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
global:
|
||||
loading: Cargando
|
||||
error: Error
|
||||
@ -129,7 +121,9 @@ dialogs:
|
||||
text: "No se ha podido cargar la partida guardada:"
|
||||
confirmSavegameDelete:
|
||||
title: Confirmar borrado
|
||||
text: ¿Seguro que quieres borrar la partida?
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Fallo al borrar
|
||||
text: "Fallo al borrar la partida guardada:"
|
||||
@ -192,9 +186,8 @@ dialogs:
|
||||
createMarker:
|
||||
title: Nuevo marcador
|
||||
titleEdit: Editar marcador
|
||||
desc: Dale un nombre significativo, también puedes agregarle la
|
||||
<strong>clave</strong> de una forma (La cual puedes generar <a
|
||||
href="https://viewer.shapez.io" target="_blank">aquí</a>)
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
markerDemoLimit:
|
||||
desc: Solo puedes crear dos marcadores en la versión de prueba. ¡Obtén el juego
|
||||
completo para marcadores ilimitados!
|
||||
@ -211,6 +204,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that
|
||||
the game can not handle an endless count of buildings - So try to
|
||||
keep your factories compact!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Mover
|
||||
@ -350,6 +348,38 @@ ingame:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the Steam version advantages!
|
||||
get_on_steam: Get on steam
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Cintas transportadoras, Distribuidores y Túneles
|
||||
@ -368,6 +398,7 @@ buildings:
|
||||
deliver: Entregar
|
||||
toUnlock: para desbloquear
|
||||
levelShortcut: LVL
|
||||
endOfDemo: End of Demo
|
||||
belt:
|
||||
default:
|
||||
name: Cinta Transportadora
|
||||
@ -442,8 +473,9 @@ buildings:
|
||||
la entrada de arriba.
|
||||
quad:
|
||||
name: Pintor (Cuádruple)
|
||||
description: Permite colorear cada cuadrante de una figura con un color
|
||||
distinto.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
trash:
|
||||
default:
|
||||
name: Basurero
|
||||
@ -553,14 +585,20 @@ buildings:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the
|
||||
wires layer on the regular layer.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Cortador de figuras
|
||||
desc: ¡Acabas de desbloquear el <strong>cortador</strong> - corta las figuras
|
||||
por la mitad <strong>de arriba abajo</strong> sin importar su
|
||||
orientación!<br><br>Asegúrate de deshacerte de lo que no vayas a
|
||||
usar o <strong>se parará</strong> - ¡Para eso te he dado un
|
||||
basurero, que destruye todo lo que le pongas!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Rotador
|
||||
desc: ¡El <strong>rotador</strong> se ha desbloqueado! Rota figuras en sentido
|
||||
@ -584,9 +622,9 @@ storyRewards:
|
||||
será <strong>apilada encima</strong> de la entrada izquierda!
|
||||
reward_splitter:
|
||||
title: Separador/Fusionador
|
||||
desc: El <strong>balanceador</strong> multiusos se ha desbloqueado - ¡Se puede
|
||||
usar para construir fábricas más grandes <strong>separando y uniendo
|
||||
elementos</strong> en varias cintas transportadoras!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Túnel
|
||||
desc: El <strong>túnel</strong> se ha desbloqueado - ¡Ahora puedes transportar
|
||||
@ -598,9 +636,10 @@ storyRewards:
|
||||
y <strong>pulsa 'T' para ciclar por sus variantes</strong>
|
||||
reward_miner_chainable:
|
||||
title: Extractor en cadena
|
||||
desc: ¡Has desbloqueado el <strong>extractor en cadena</strong>! Puede
|
||||
<strong>enviar los recursos</strong> a otros extractores, extrayendo
|
||||
recursos más eficientemente.
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Túnel nivel II
|
||||
desc: Has desbloqueado una nueva variante del <strong>túnel</strong> - ¡Tiene un
|
||||
@ -615,20 +654,20 @@ storyRewards:
|
||||
desc: Has desbloqueado una variante del <strong>pintor</strong> - ¡Funciona como
|
||||
un pintor normal pero procesa <strong>dos figuras a la vez</strong>,
|
||||
consumiendo solo un color en vez de dos!
|
||||
reward_painter_quad:
|
||||
title: Pintor cuádruple
|
||||
desc: Has desbloqueado una variante del <strong>pintor</strong> - ¡Permite
|
||||
pintar cada parte de una figura individualmente!
|
||||
reward_storage:
|
||||
title: Almacenamiento intermedio
|
||||
desc: Has desbloqueado una variante del <strong>basurero</strong> - ¡Permite
|
||||
almacenar elementos hasta una cierta capacidad!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Juego libre
|
||||
desc: ¡Lo has conseguido! ¡Has desbloqueado el <strong>Juego Libre</strong>!
|
||||
¡Esto significa que ahora las figuras se generan aleatoriamente!
|
||||
(¡No te preocupes, hay más contenido planeado para el juego
|
||||
completo!)
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Planos
|
||||
desc: ¡Ahora puedes <strong>copiar y pegar</strong> partes de tu fábrica!
|
||||
@ -666,17 +705,12 @@ storyRewards:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -700,6 +734,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Opciones
|
||||
categories:
|
||||
@ -923,7 +974,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -932,6 +982,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: Sobre el juego
|
||||
body: >-
|
||||
@ -1016,3 +1068,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -2,59 +2,51 @@ steamPage:
|
||||
shortText: shapez.io on peli tehtaiden rakentamisesta, joiden avulla
|
||||
automatisoidaan yhä monimutkaisempien muotojen luonti and yhdisteleminen
|
||||
loputtomassa maailmassa.
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Official Discord
|
||||
intro: >-
|
||||
Shapez.io is a relaxed game in which you have to build factories for the
|
||||
automated production of geometric shapes.
|
||||
|
||||
shapez.io is a game about building factories to automate the creation and processing of increasingly complex shapes across an infinitely expanding map. Upon delivering the requested shapes you will progress within the game and unlock upgrades to speed up your factory.
|
||||
As the level increases, the shapes become more and more complex, and you have to spread out on the infinite map.
|
||||
|
||||
As the demand for shapes increases, you will have to scale up your factory to meet the demand - Don't forget about resources though, you will have to expand across the [b]infinite map[/b]!
|
||||
And as if that wasn't enough, you also have to produce exponentially more to satisfy the demands - the only thing that helps is scaling!
|
||||
|
||||
Soon you will have to mix colors and paint your shapes with them - Combine red, green and blue color resources to produce different colors and paint shapes with it to satisfy the demand.
|
||||
While you only process shapes at the beginning, you have to color them later - for this you have to extract and mix colors!
|
||||
|
||||
This game features 18 progressive levels (Which should keep you busy for hours already!) but I'm constantly adding new content - There is a lot planned!
|
||||
Buying the game on Steam gives you access to the full version, but you can also play a demo on shapez.io first and decide later!
|
||||
title_advantages: Standalone Advantages
|
||||
advantages:
|
||||
- <b>12 New Level</b> for a total of 26 levels
|
||||
- <b>18 New Buildings</b> for a fully automated factory!
|
||||
- <b>20 Upgrade Tiers</b> for many hours of fun!
|
||||
- <b>Wires Update</b> for an entirely new dimension!
|
||||
- <b>Dark Mode</b>!
|
||||
- Unlimited Savegames
|
||||
- Unlimited Markers
|
||||
- Support me! ❤️
|
||||
title_future: Planned Content
|
||||
planned:
|
||||
- Blueprint Library (Standalone Exclusive)
|
||||
- Steam Achievements
|
||||
- Puzzle Mode
|
||||
- Minimap
|
||||
- Mods
|
||||
- Sandbox mode
|
||||
- ... and a lot more!
|
||||
title_open_source: This game is open source!
|
||||
title_links: Links
|
||||
links:
|
||||
discord: Official Discord
|
||||
roadmap: Roadmap
|
||||
subreddit: Subreddit
|
||||
source_code: Source code (GitHub)
|
||||
translate: Help translate
|
||||
text_open_source: >-
|
||||
Anybody can contribute, I'm actively involved in the community and
|
||||
attempt to review all suggestions and take feedback into consideration
|
||||
where possible.
|
||||
|
||||
Purchasing the game gives you access to the standalone version which has additional features and you'll also receive access to newly developed features.
|
||||
|
||||
[b]Standalone Advantages[/b]
|
||||
|
||||
[list]
|
||||
[*] Dark Mode
|
||||
[*] Unlimited Waypoints
|
||||
[*] Unlimited Savegames
|
||||
[*] Additional settings
|
||||
[*] Coming soon: Wires & Energy! Aiming for (roughly) end of July 2020.
|
||||
[*] Coming soon: More Levels
|
||||
[*] Allows me to further develop shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Future Updates[/b]
|
||||
|
||||
I am updating the game very often and trying to push an update at least every week!
|
||||
|
||||
[list]
|
||||
[*] Different maps and challenges (e.g. maps with obstacles)
|
||||
[*] Puzzles (Deliver the requested shape with a restricted area / set of buildings)
|
||||
[*] A story mode where buildings have a cost
|
||||
[*] Configurable map generator (Configure resource/shape size/density, seed and more)
|
||||
[*] Additional types of shapes
|
||||
[*] Performance improvements (The game already runs pretty well!)
|
||||
[*] And much more!
|
||||
[/list]
|
||||
|
||||
[b]This game is open source![/b]
|
||||
|
||||
Anybody can contribute, I'm actively involved in the community and attempt to review all suggestions and take feedback into consideration where possible. Be sure to check out my trello board for the full roadmap!
|
||||
|
||||
[b]Links[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Official Discord[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Roadmap[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Source code (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Help translate[/url]
|
||||
[/list]
|
||||
discordLink: Official Discord - Chat with me!
|
||||
Be sure to check out my trello board for the full roadmap!
|
||||
global:
|
||||
loading: Ladataan
|
||||
error: Virhe
|
||||
@ -129,7 +121,9 @@ dialogs:
|
||||
text: "Tallennuksen lataus epäonnistui:"
|
||||
confirmSavegameDelete:
|
||||
title: Varmista poisto
|
||||
text: Oletko varma että haluat poistaa tallennuksen?
|
||||
text: Are you sure you want to delete the following game?<br><br>
|
||||
'<savegameName>' at level <savegameLevel><br><br> This can not be
|
||||
undone!
|
||||
savegameDeletionError:
|
||||
title: Poisto epäonnistui
|
||||
text: "Tallennuksen poisto epäonnistui:"
|
||||
@ -185,9 +179,8 @@ dialogs:
|
||||
Käännä sijoitettavien hihnojen suunta.<br>"
|
||||
createMarker:
|
||||
title: Uusi Merkki
|
||||
desc: Anna merkille kuvaava nimi, voit myös sisällyttää muodon <strong>lyhyen
|
||||
avaimen</strong> siihen. (Lyhyen avaimen voit luoda <a
|
||||
href="https://viewer.shapez.io" target="_blank">täällä</a>)
|
||||
desc: Give it a meaningful name, you can also include a <strong>short
|
||||
key</strong> of a shape (Which you can generate <link>here</link>)
|
||||
titleEdit: Muokkaa merkkiä
|
||||
markerDemoLimit:
|
||||
desc: Voit tehdä vain kaksi mukautettua merkkiä demoversiossa. Hanki itsenäinen
|
||||
@ -208,6 +201,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Rename Savegame
|
||||
desc: You can rename your savegame here.
|
||||
entityWarning:
|
||||
title: Performance Warning
|
||||
desc: You have placed a lot of buildings, this is just a friendly reminder that
|
||||
the game can not handle an endless count of buildings - So try to
|
||||
keep your factories compact!
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Liiku
|
||||
@ -346,6 +344,38 @@ ingame:
|
||||
one_miner: 1 Miner
|
||||
n_miners: <amount> Miners
|
||||
limited_items: Limited to <max_throughput>
|
||||
watermark:
|
||||
title: Demo version
|
||||
desc: Click here to see the Steam version advantages!
|
||||
get_on_steam: Get on steam
|
||||
standaloneAdvantages:
|
||||
title: Get the full version!
|
||||
no_thanks: No, thanks!
|
||||
points:
|
||||
levels:
|
||||
title: 12 New Levels
|
||||
desc: For a total of 26 levels!
|
||||
buildings:
|
||||
title: 18 New Buildings
|
||||
desc: Fully automate your factory!
|
||||
savegames:
|
||||
title: ∞ Savegames
|
||||
desc: As many as your heart desires!
|
||||
upgrades:
|
||||
title: 20 Upgrade Tiers
|
||||
desc: This demo version has only 5!
|
||||
markers:
|
||||
title: ∞ Markers
|
||||
desc: Never get lost in your factory!
|
||||
wires:
|
||||
title: Wires
|
||||
desc: An entirely new dimension!
|
||||
darkmode:
|
||||
title: Dark Mode
|
||||
desc: Stop hurting your eyes!
|
||||
support:
|
||||
title: Support me
|
||||
desc: I develop it in my spare time!
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Hihnat, Jakelija & Tunneli
|
||||
@ -364,6 +394,7 @@ buildings:
|
||||
deliver: Toimita
|
||||
toUnlock: avataksesi
|
||||
levelShortcut: LVL
|
||||
endOfDemo: End of Demo
|
||||
belt:
|
||||
default:
|
||||
name: Liukuhihna
|
||||
@ -437,7 +468,9 @@ buildings:
|
||||
sisääntulosta tulevalla värillä.
|
||||
quad:
|
||||
name: Painter (Neljännes)
|
||||
description: Sallii muodon neljäsosien värjäämisen eri väreillä.
|
||||
description: Allows you to color each quadrant of the shape individually. Only
|
||||
slots with a <strong>truthy signal</strong> on the wires layer
|
||||
will be painted!
|
||||
trash:
|
||||
default:
|
||||
name: Roskakori
|
||||
@ -547,14 +580,20 @@ buildings:
|
||||
name: Virtual Painter
|
||||
description: Virtually paints the shape from the bottom input with the shape on
|
||||
the right input.
|
||||
item_producer:
|
||||
default:
|
||||
name: Item Producer
|
||||
description: Available in sandbox mode only, outputs the given signal from the
|
||||
wires layer on the regular layer.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Muotojen Leikkaus
|
||||
desc: Avasit <strong>Leikkurin</strong> - se leikkaa muotoja puoliksi
|
||||
<strong>ylhäältä alaspäin</strong> riippumatta sen
|
||||
suunnasta!<br><br>Varmista, että pääset eroon jätteistä, tai muuten
|
||||
<strong>se jumittuu</strong> - Tätä varten saat Roskiksen, joka
|
||||
tuhoaa kaiken mitä laitat sinne!
|
||||
desc: You just unlocked the <strong>cutter</strong>, which cuts shapes in half
|
||||
from top to bottom <strong>regardless of its
|
||||
orientation</strong>!<br><br>Be sure to get rid of the waste, or
|
||||
otherwise <strong>it will clog and stall</strong> - For this purpose
|
||||
I have given you the <strong>trash</strong>, which destroys
|
||||
everything you put into it!
|
||||
reward_rotater:
|
||||
title: Kääntö
|
||||
desc: Avasit <strong>Kääntäjän</strong>! Se kääntää muotoja myötäpäivään 90
|
||||
@ -578,9 +617,9 @@ storyRewards:
|
||||
päälle!
|
||||
reward_splitter:
|
||||
title: Tasaaja
|
||||
desc: Avasit monikäyttöisen <strong>Tasaajan</strong> - Sitä voidaan käyttää
|
||||
isompien tehtaiden rakennukseen <strong>jakamaan ja yhdistämään
|
||||
tavaroita</strong> monille hihnoille!<br><br>
|
||||
desc: You have unlocked a <strong>splitter</strong> variant of the
|
||||
<strong>balancer</strong> - It accepts one input and splits them
|
||||
into two!
|
||||
reward_tunnel:
|
||||
title: Tunneli
|
||||
desc: Avasit <strong>Tunnelin</strong> - Nyt voit kuljettaa tavaroita
|
||||
@ -592,9 +631,10 @@ storyRewards:
|
||||
<strong>painamalla 'T' vaihtaaksesi sen muotoja</strong>!
|
||||
reward_miner_chainable:
|
||||
title: Sarja Kaivaja
|
||||
desc: Avasit <strong>Sarja Kaivajan</strong>! Se voi <strong>välittää sen
|
||||
resurssit</strong> muille kaivajille, jotta voit kaivaa resursseja
|
||||
tehokkaammin!
|
||||
desc: "You have unlocked the <strong>chained extractor</strong>! It can
|
||||
<strong>forward its resources</strong> to other extractors so you
|
||||
can more efficiently extract resources!<br><br> PS: The old
|
||||
extractor has been replaced in your toolbar now!"
|
||||
reward_underground_belt_tier_2:
|
||||
title: Tunneli Taso II
|
||||
desc: Avasit uuden muodon <strong>Tunnelista</strong> - Siinä on <strong>pidempi
|
||||
@ -608,19 +648,20 @@ storyRewards:
|
||||
desc: Avasit muodon <strong>Värjääjästä</strong> - Se toimii samanlailla kuin
|
||||
normaali värjääjä, mutta käsittelee <strong>kaksi muotoa
|
||||
kerrallaan</strong> käyttäen vain yhden värin kahden sijaan!
|
||||
reward_painter_quad:
|
||||
title: Neljäsosa Värjäys
|
||||
desc: Avasit muodon <strong>Värjääjästä</strong> - Se sallii muodon eri osien
|
||||
värjäämisen erikseen!
|
||||
reward_storage:
|
||||
title: Varasto Puskuri
|
||||
desc: Avasit muodon <strong>Roskiksesta</strong> - Se sallii resurssien
|
||||
säilyttämisen tiettyyn kapasiteettiin asti!
|
||||
desc: You have unlocked the <strong>storage</strong> building - It allows you to
|
||||
store items up to a given capacity!<br><br> It priorities the left
|
||||
output, so you can also use it as an <strong>overflow gate</strong>!
|
||||
reward_freeplay:
|
||||
title: Vapaapeli
|
||||
desc: Sinä teit sen! Avasit <strong>Vapaapelitilan</strong>! Tämä tarkoittaa
|
||||
sitä, että muodot tehdään nyt satunnaisesti! (Ei hätää, lisää
|
||||
sisältöä on suunnitteilla itsenäiseen peliin!)
|
||||
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means
|
||||
that shapes are now <strong>randomly</strong> generated!<br><br>
|
||||
Since the hub will require a <strong>throughput</strong> from now
|
||||
on, I highly recommend to build a machine which automatically
|
||||
delivers the requested shape!<br><br> The HUB outputs the requested
|
||||
shape on the wires layer, so all you have to do is to analyze it and
|
||||
automatically configure your factory based on that.
|
||||
reward_blueprints:
|
||||
title: Piirustukset
|
||||
desc: Nyt voit <strong>Kopioida ja Liittää</strong> paloja tehtaastasi! Valitse
|
||||
@ -656,17 +697,12 @@ storyRewards:
|
||||
title: Rotater (180 degrees)
|
||||
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows
|
||||
you to rotate a shape by 180 degress (Surprise! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filters & Levers"
|
||||
desc: You just unlocked the <strong>wires layer</strong>! It is a separate layer
|
||||
on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> Since it can be overwhelming a bit, I added a
|
||||
small tutorial - Be sure to have <strong>tutorials enabled</strong>
|
||||
in the settings!
|
||||
reward_display:
|
||||
title: Display
|
||||
desc: You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize its contents!
|
||||
desc: "You have unlocked the <strong>Display</strong> - Connect a signal on the
|
||||
wires layer to visualize it!<br><br> PS: Did you notice the belt
|
||||
reader and storage output their last read item? Try showing it on a
|
||||
display!"
|
||||
reward_constant_signal:
|
||||
title: Constant Signal
|
||||
desc: You unlocked the <strong>constant signal</strong> building on the wires
|
||||
@ -690,6 +726,23 @@ storyRewards:
|
||||
shape requested by the HUB (I recommend to try it!).<br><br> - Build
|
||||
something cool with wires.<br><br> - Continue to play
|
||||
regulary.<br><br> Whatever you choose, remember to have fun!
|
||||
reward_wires_painter_and_levers:
|
||||
title: Wires & Quad Painter
|
||||
desc: "You just unlocked the <strong>Wires Layer</strong>: It is a separate
|
||||
layer on top of the regular layer and introduces a lot of new
|
||||
mechanics!<br><br> For the beginning I unlocked you the <strong>Quad
|
||||
Painter</strong> - Connect the slots you would like to paint with on
|
||||
the wires layer!<br><br> To switch to the wires layer, press
|
||||
<strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Item Filter
|
||||
desc: You unlocked the <strong>Item Filter</strong>! It will route items either
|
||||
to the top or the right output depending on whether they match the
|
||||
signal from the wires layer or not.<br><br> You can also pass in a
|
||||
boolean signal (1 / 0) to entirely activate or disable it.
|
||||
reward_demo_end:
|
||||
title: End of Demo
|
||||
desc: You have reached the end of the demo version!
|
||||
settings:
|
||||
title: Asetukset
|
||||
categories:
|
||||
@ -911,7 +964,6 @@ keybindings:
|
||||
constant_signal: Constant Signal
|
||||
logic_gate: Logic Gate
|
||||
lever: Switch (regular)
|
||||
lever_wires: Switch (wires)
|
||||
filter: Filter
|
||||
wire_tunnel: Wire Crossing
|
||||
display: Display
|
||||
@ -920,6 +972,8 @@ keybindings:
|
||||
transistor: Transistor
|
||||
analyzer: Shape Analyzer
|
||||
comparator: Compare
|
||||
item_producer: Item Producer (Sandbox)
|
||||
copyWireValue: "Wires: Copy value below cursor"
|
||||
about:
|
||||
title: Tietoja tästä pelistä
|
||||
body: >-
|
||||
@ -1004,3 +1058,4 @@ tips:
|
||||
- To clear belts, cut the area and then paste it at the same location.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- You can click a pinned shape on the left side to unpin it.
|
||||
|
@ -2,72 +2,59 @@ steamPage:
|
||||
shortText: shapez.io est un jeu qui consiste à construire des usines pour
|
||||
automatiser la création et la combinaison de formes de plus en plus
|
||||
complexes sur une carte infinie.
|
||||
discordLink: Discord officiel — Parlez avec moi !
|
||||
longText: >-
|
||||
[img]{STEAM_APP_IMAGE}/extras/store_page_gif.gif[/img]
|
||||
discordLinkShort: Discord officiel
|
||||
intro: >-
|
||||
Vous aimez les jeux d’automatisation ? Ce jeu est pour vous !
|
||||
|
||||
shapez.io est un jeu dans lequel vous devrez construire des usines pour automatiser la création et la combinaison de formes de plus en plus complexes sur une carte infinie.
|
||||
shapez.io est un jeu calme où vous devrez construire des usines pour produire automatiquement des formes géométriques. À mesure que le niveau augmente, les formes deviennent de plus en plus complexes, et vous devrez vous étendre sur la carte infinie.
|
||||
|
||||
En livrant les formes requises, vous progresserez et débloquerez des améliorations pour accélérer votre usine.
|
||||
Et en plus, vous devrez aussi produire de plus en plus pour satisfaire la demande. La seule solution est de construire en plus grand ! Au début vous ne ferez que découper les formes, mais plus tard vous devrez les peindre — et pour ça vous devrez extraire et mélanger des couleurs !
|
||||
|
||||
Vous devrez agrandir votre usine pour répondre à l’augmentation de la demande en formes — Mais n’oubliez pas les ressources, vous devrez vous étendre au milieu de cette [b]carte infinie[/b] !
|
||||
En achetant le jeu sur Steam, vous aurez accès à la version complète, mais vous pouvez aussi jouer à une démo sur shapez.io et vous décider ensuite !
|
||||
title_advantages: Avantages de la version complète
|
||||
advantages:
|
||||
- <b>12 nouveaux niveaux</b> avec 26 niveaux en tout
|
||||
- <b>18 nouveaux bâtiments</b> pour automatiser entièrement votre usine !
|
||||
- <b>20 niveaux d’amélioration</b> pour s’amuser pendant des heures !
|
||||
- <b>Les câbles</b> ouvrent une toute nouvelle dimension !
|
||||
- <b>Mode sombre</b> !
|
||||
- Sauvegardes illimitées
|
||||
- Balises illimitées
|
||||
- Me soutenir ! ❤️
|
||||
title_future: Prévu
|
||||
planned:
|
||||
- Bibliothèque de patrons
|
||||
- Succès sur Steam
|
||||
- Mode réflexion
|
||||
- Mini-carte
|
||||
- Mods
|
||||
- Mode bac à sable
|
||||
- …et bien plus !
|
||||
title_open_source: Ce jeu est open source !
|
||||
text_open_source: >-
|
||||
Tout le monde peut contribuer. Je suis très impliqué dans la communauté
|
||||
et j’essaie de lire toutes les suggestions et de prendre en compte vos
|
||||
retours quand c’est possible.
|
||||
|
||||
Bientôt, vous devrez mélanger les couleurs et peindre vos formes avec — Combinez les ressources de couleurs rouge, verte et bleue pour produire différentes couleurs et peindre les formes avec pour satisfaire la demande.
|
||||
|
||||
Ce jeu propose 18 niveaux progressifs (qui devraient déjà vous occuper quelques heures !) mais je développe constamment plus de contenu — Il y a beaucoup de choses prévues !
|
||||
|
||||
Acheter le jeu vous donne accès à la version complète qui a des fonctionnalités supplémentaires, et vous pourrez aussi accéder aux fonctionnalités fraîchement développées.
|
||||
|
||||
[b]Avantages de la version complète (standalone)[/b]
|
||||
|
||||
[list]
|
||||
[*] Mode sombre
|
||||
[*] Balises infinies
|
||||
[*] Parties infinies
|
||||
[*] Plus d’options
|
||||
[*] Prochainement : Câbles et énergie ! Prévu pour (environ) fin juillet 2020.
|
||||
[*] Prochainement : Plus de niveaux
|
||||
[*] Aidez-moi à continuer de développer shapez.io ❤️
|
||||
[/list]
|
||||
|
||||
[b]Mises à jour à venir[/b]
|
||||
|
||||
Je fais souvent des mises à jour et j’essaye d’en sortir une par semaine !
|
||||
|
||||
[list]
|
||||
[*] Différentes cartes et challenges (e.g. carte avec obstacles)
|
||||
[*] Casse-tête (Livrer la forme requise avec une zone limitée / jeu de bâtiments)
|
||||
[*] Un mode histoire où les bâtiments ont un coût
|
||||
[*] Générateur de carte configurable (configuration des ressources / formes / taille / densité, graine aléatoire et plus)
|
||||
[*] Plus de niveaux
|
||||
[*] Amélioration des performances (Le jeu tourne déjà plutôt bien !)
|
||||
[*] Et bien plus !
|
||||
[/list]
|
||||
|
||||
[b]Ce jeu est open source ![/b]
|
||||
|
||||
Tout le monde peut contribuer, je suis très impliqué dans la communauté et j’essaye de répondre à toutes les suggestions et prendre en compte vos retours si possible. Jetez un coup d’œil à mon Trello pour le suivi du projet et les plans de développement !
|
||||
|
||||
[b]Liens[/b]
|
||||
|
||||
[list]
|
||||
[*] [url=https://discord.com/invite/HN7EVzV]Discord officiel[/url]
|
||||
[*] [url=https://trello.com/b/ISQncpJP/shapezio]Trello[/url]
|
||||
[*] [url=https://www.reddit.com/r/shapezio]Subreddit[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io]Code source (GitHub)[/url]
|
||||
[*] [url=https://github.com/tobspr/shapez.io/blob/master/translations/README.md]Aidez à traduire[/url]
|
||||
[/list]
|
||||
N’oubliez pas de consulter mon tableau Trello pour voir tout le plan de développement !
|
||||
title_links: Liens
|
||||
links:
|
||||
discord: Discord officiel
|
||||
roadmap: Plan de développement
|
||||
subreddit: Reddit
|
||||
source_code: Code source (GitHub)
|
||||
translate: Aidez à traduire
|
||||
global:
|
||||
loading: Chargement
|
||||
error: Erreur
|
||||
thousandsDivider:
|
||||
thousandsDivider: " "
|
||||
decimalSeparator: ","
|
||||
suffix:
|
||||
thousands: k
|
||||
millions: M
|
||||
billions: G
|
||||
trillions: T
|
||||
infinite: inf
|
||||
infinite: ∞
|
||||
time:
|
||||
oneSecondAgo: il y a une seconde
|
||||
xSecondsAgo: il y a <x> secondes
|
||||
@ -76,10 +63,10 @@ global:
|
||||
oneHourAgo: il y a une heure
|
||||
xHoursAgo: il y a <x> heures
|
||||
oneDayAgo: il y a un jour
|
||||
xDaysAgo: il y a <x> jours
|
||||
secondsShort: <seconds> s
|
||||
minutesAndSecondsShort: <minutes> m <seconds> s
|
||||
hoursAndMinutesShort: <hours> h <minutes> m
|
||||
xDaysAgo: il y a <x> jours
|
||||
secondsShort: <seconds> s
|
||||
minutesAndSecondsShort: <minutes> m <seconds> s
|
||||
hoursAndMinutesShort: <hours> h <minutes> m
|
||||
xMinutes: <x> minutes
|
||||
keys:
|
||||
tab: TAB
|
||||
@ -89,7 +76,7 @@ global:
|
||||
shift: MAJ
|
||||
space: ESPACE
|
||||
demoBanners:
|
||||
title: Version démo
|
||||
title: Version de démo
|
||||
intro: Achetez la version complète pour débloquer toutes les fonctionnalités !
|
||||
mainMenu:
|
||||
play: Jouer
|
||||
@ -111,7 +98,7 @@ mainMenu:
|
||||
dialogs:
|
||||
buttons:
|
||||
ok: OK
|
||||
delete: Effacer
|
||||
delete: Supprimer
|
||||
cancel: Annuler
|
||||
later: Plus tard
|
||||
restart: Relancer
|
||||
@ -150,8 +137,8 @@ dialogs:
|
||||
title: Réinitialisation des contrôles
|
||||
desc: Les contrôles ont été remis à défaut !
|
||||
featureRestriction:
|
||||
title: Version démo
|
||||
desc: Vous avez essayé d’accéder à la fonction (<feature>) qui n’est pas
|
||||
title: Version de démo
|
||||
desc: Vous avez essayé d’accéder à la fonction “<feature>” qui n’est pas
|
||||
disponible dans la démo. Pensez à acheter la version complète pour
|
||||
une expérience optimale !
|
||||
oneSavegameLimit:
|
||||
@ -161,15 +148,15 @@ dialogs:
|
||||
version complète !
|
||||
updateSummary:
|
||||
title: Nouvelle mise à jour !
|
||||
desc: "Voici les changements depuis votre dernière session :"
|
||||
desc: "Voici les changements depuis votre dernière session de jeu :"
|
||||
upgradesIntroduction:
|
||||
title: Débloquer les améliorations
|
||||
desc: Toutes les formes que vous produisez peuvent être utilisées pour débloquer
|
||||
des améliorations — <strong>Ne détruisez pas vos anciennes
|
||||
des améliorations — <strong>Ne détruisez pas vos anciennes
|
||||
usines !</strong> L’onglet des améliorations se trouve dans le coin
|
||||
supérieur droit de l’écran.
|
||||
massDeleteConfirm:
|
||||
title: Confirmation de suppression
|
||||
title: Confirmer la suppression
|
||||
desc: Vous allez supprimer beaucoup de bâtiments (<count> pour être précis) !
|
||||
Êtes-vous sûr de vouloir faire ça ?
|
||||
massCutConfirm:
|
||||
@ -182,24 +169,28 @@ dialogs:
|
||||
la couper ?
|
||||
blueprintsNotUnlocked:
|
||||
title: Pas encore débloqué
|
||||
desc: Les patrons n’ont pas encore été débloqués ! Terminez le niveau 12 pour y
|
||||
avoir accès.
|
||||
desc: Terminez le niveau 12 pour avoir accès aux patrons !
|
||||
keybindingsIntroduction:
|
||||
title: Raccourcis utiles
|
||||
desc: "Le jeu a de nombreux raccourcis facilitant la construction de grandes
|
||||
desc: 'Le jeu a de nombreux raccourcis facilitant la construction de grandes
|
||||
usines. En voici quelques-uns, n’hésitez pas à aller
|
||||
<strong>découvrir les raccourcis</strong> !<br><br> <code
|
||||
class='keybinding'>CTRL</code> + glisser : Sélectionne une zone à
|
||||
copier / effacer.<br> <code class='keybinding'>MAJ</code> : Laissez
|
||||
class="keybinding">CTRL</code> + glisser : Sélectionne une zone à
|
||||
copier / supprimer.<br> <code class="keybinding">MAJ</code> : Laissez
|
||||
appuyé pour placer plusieurs fois le même bâtiment.<br> <code
|
||||
class='keybinding'>ALT</code> : Inverse l’orientation des convoyeurs
|
||||
placés.<br>"
|
||||
class="keybinding">ALT</code> : Inverse l’orientation des convoyeurs
|
||||
placés.<br>'
|
||||
createMarker:
|
||||
title: Nouvelle balise
|
||||
titleEdit: Modifier cette balise
|
||||
desc: Donnez-lui un nom, vous pouvez aussi inclure <strong>le raccourci</strong>
|
||||
desc: Donnez-lui un nom. Vous pouvez aussi inclure <strong>le raccourci</strong>
|
||||
d’une forme (que vous pouvez générer <a
|
||||
href="https://viewer.shapez.io" target="_blank">ici</a>).
|
||||
editSignal:
|
||||
title: Définir le signal
|
||||
descItems: "Choisissez un objet prédéfini :"
|
||||
descShortKey: …ou entrez le <strong>raccourci</strong> d’une forme (que vous
|
||||
pouvez générer <link>ici</link>)
|
||||
markerDemoLimit:
|
||||
desc: Vous ne pouvez créer que deux balises dans la démo. Achetez la version
|
||||
complète pour en placer autant que vous voulez !
|
||||
@ -211,11 +202,11 @@ dialogs:
|
||||
renameSavegame:
|
||||
title: Renommer la sauvegarde
|
||||
desc: Vous pouvez renommer la sauvegarde ici.
|
||||
editSignal:
|
||||
title: Set Signal
|
||||
descItems: "Choose a pre-defined item:"
|
||||
descShortKey: ... or enter the <strong>short key</strong> of a shape (Which you
|
||||
can generate <link>here</link>)
|
||||
entityWarning:
|
||||
title: Avertissement sur les performances
|
||||
desc: Vous avez placé beaucoup de bâtiments. Ceci est juste un rappel amical que
|
||||
le jeu ne peut pas gérer un nombre infini de bâtiments, alors
|
||||
essayez de garder vos usines compactes !
|
||||
ingame:
|
||||
keybindingsOverlay:
|
||||
moveMap: Déplacer
|
||||
@ -254,10 +245,10 @@ ingame:
|
||||
speed: Vitesse
|
||||
range: Portée
|
||||
storage: Espace de stockage
|
||||
oneItemPerSecond: 1 forme ⁄ s
|
||||
itemsPerSecond: <x> formes ⁄ s
|
||||
oneItemPerSecond: 1 forme ⁄ s
|
||||
itemsPerSecond: <x> formes ⁄ s
|
||||
itemsPerSecondDouble: (×2)
|
||||
tiles: <x> cases
|
||||
tiles: <x> cases
|
||||
levelCompleteNotification:
|
||||
levelTitle: Niveau <level>
|
||||
completed: Terminé
|
||||
@ -266,7 +257,7 @@ ingame:
|
||||
notifications:
|
||||
newUpgrade: Une nouvelle amélioration est disponible !
|
||||
gameSaved: Votre partie a été sauvegardée.
|
||||
freeplayLevelComplete: Level <level> has been completed!
|
||||
freeplayLevelComplete: Niveau <level> complet !
|
||||
shop:
|
||||
title: Améliorations
|
||||
buttonUnlock: Améliorer
|
||||
@ -292,7 +283,7 @@ ingame:
|
||||
- XVIII
|
||||
- XIX
|
||||
- XX
|
||||
maximumLevel: NIVEAU MAXIMAL (Vitesse ×<currentMult>)
|
||||
maximumLevel: NIVEAU MAX (Vitesse ×<currentMult>)
|
||||
statistics:
|
||||
title: Statistiques
|
||||
dataSources:
|
||||
@ -308,9 +299,9 @@ ingame:
|
||||
description: Affiche les formes qui ont été livrées dans votre bâtiment central.
|
||||
noShapesProduced: Aucune forme produite pour le moment.
|
||||
shapesDisplayUnits:
|
||||
second: <shapes> ⁄ s
|
||||
minute: <shapes> ⁄ m
|
||||
hour: <shapes> ⁄ h
|
||||
second: <shapes> ⁄ s
|
||||
minute: <shapes> ⁄ m
|
||||
hour: <shapes> ⁄ h
|
||||
settingsMenu:
|
||||
playtime: Temps de jeu
|
||||
buildingsPlaced: Bâtiments
|
||||
@ -329,53 +320,86 @@ ingame:
|
||||
waypoints: Balise
|
||||
hub: Centre
|
||||
description: Cliquez sur une balise pour vous y rendre, clic-droit pour
|
||||
l’effacer.<br><br>Appuyez sur <keybinding> pour créer une balise sur
|
||||
la vue actuelle, ou <strong>clic-droit</strong> pour en créer une
|
||||
sur l’endroit pointé.
|
||||
la supprimer.<br><br> Appuyez sur <keybinding> pour créer une balise
|
||||
sur la vue actuelle, ou <strong>clic-droit</strong> pour en créer
|
||||
une sur l’endroit pointé.
|
||||
creationSuccessNotification: La balise a été créée.
|
||||
shapeViewer:
|
||||
title: Calques
|
||||
title: Couches
|
||||
empty: Vide
|
||||
copyKey: Copier le raccourci de la forme
|
||||
copyKey: Copier le raccourci
|
||||
interactiveTutorial:
|
||||
title: Tutoriel
|
||||
hints:
|
||||
1_1_extractor: Placez un <strong>extracteur</strong> sur une <strong>forme en
|
||||
cercle</strong> pour l’extraire !
|
||||
1_2_conveyor: "Connectez l’extracteur avec un <strong>convoyeur</strong> vers
|
||||
votre centre !<br><br>Astuce : <strong>Cliquez et faites
|
||||
glisser</strong> le convoyeur avec votre souris !"
|
||||
votre centre !<br><br> Astuce : <strong>Cliquez et faites
|
||||
glisser</strong> le convoyeur avec la souris !"
|
||||
1_3_expand: "Ceci n’est <strong>PAS</strong> un jeu incrémental et inactif !
|
||||
Construisez plus d’extracteurs et de convoyeurs pour atteindre
|
||||
plus vite votre but.<br><br>Astuce : Gardez <strong>MAJ</strong>
|
||||
enfoncé pour placer plusieurs extracteurs, et utilisez
|
||||
<strong>R</strong> pour les faire pivoter."
|
||||
plus vite votre but.<br><br> Astuce : Gardez
|
||||
<strong>MAJ</strong> enfoncé pour placer plusieurs extracteurs,
|
||||
et utilisez <strong>R</strong> pour les faire pivoter."
|
||||
connectedMiners:
|
||||
one_miner: 1 extracteur
|
||||
one_miner: 1 extracteur
|
||||
n_miners: <amount> extracteurs
|
||||
limited_items: Limité à <max_throughput>
|
||||
limited_items: Limité à <max_throughput>
|
||||
watermark:
|
||||
title: Version de démo
|
||||
desc: Cliquez ici pour voir les avantages de la version Steam !
|
||||
get_on_steam: Acheter sur Steam
|
||||
standaloneAdvantages:
|
||||
title: Obtenir la version complète
|
||||
no_thanks: Non merci !
|
||||
points:
|
||||
levels:
|
||||
title: 12 nouveaux niveaux
|
||||
desc: Pour un total de 26 niveaux !
|
||||
buildings:
|
||||
title: 18 nouveaux bâtiments
|
||||
desc: Automatisez entièrement votre usine !
|
||||
savegames:
|
||||
title: Sauvegardes ∞
|
||||
desc: Autant que votre cœur le désire !
|
||||
upgrades:
|
||||
title: 20 niveaux d’amélioration
|
||||
desc: Cette version de démonstration n’en a que 5 !
|
||||
markers:
|
||||
title: Balises ∞
|
||||
desc: Ne vous perdez plus jamais dans votre usine !
|
||||
wires:
|
||||
title: Câbles
|
||||
desc: Une toute nouvelle dimension !
|
||||
darkmode:
|
||||
title: Mode sombre
|
||||
desc: Plus jamais mal aux yeux !
|
||||
support:
|
||||
title: Me soutenir
|
||||
desc: Je le développe pendant mon temps libre !
|
||||
shopUpgrades:
|
||||
belt:
|
||||
name: Convoyeurs, distributeurs et tunnels
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
miner:
|
||||
name: Extraction
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
processors:
|
||||
name: Découpage, rotation et empilage
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
painting:
|
||||
name: Mélange et peinture
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
description: Vitesse ×<currentMult> → ×<newMult>
|
||||
buildings:
|
||||
hub:
|
||||
deliver: Livrez
|
||||
toUnlock: pour débloquer
|
||||
levelShortcut: NV
|
||||
endOfDemo: Fin de la démo
|
||||
belt:
|
||||
default:
|
||||
name: Convoyeur
|
||||
description: Transporte les objets, maintenez et faites glisser pour en placer
|
||||
description: Transporte les objets. Maintenez et faites glisser pour en placer
|
||||
plusieurs.
|
||||
miner:
|
||||
default:
|
||||
@ -391,7 +415,7 @@ buildings:
|
||||
description: Permet de faire passer des ressources sous les bâtiments et les
|
||||
convoyeurs.
|
||||
tier2:
|
||||
name: Tunnel niveau II
|
||||
name: Tunnel niveau II
|
||||
description: Permet de faire passer des ressources sous les bâtiments et les
|
||||
convoyeurs.
|
||||
balancer:
|
||||
@ -493,23 +517,26 @@ buildings:
|
||||
lever:
|
||||
default:
|
||||
name: Interrupteur
|
||||
description: Peut être basculé pour émettre un signal booléen (1 / 0) dans le
|
||||
description: Peut être basculé pour émettre un signal booléen (1 / 0) sur le
|
||||
calque de câblage, qui peut être utilisé pour contrôler par
|
||||
exemple un filtre à formes.
|
||||
logic_gate:
|
||||
default:
|
||||
name: Porte ET
|
||||
description: Émet un “1” booléen si les deux entrées sont vraies.
|
||||
description: Émet un “1” booléen si les deux entrées sont vraies (une forme,
|
||||
couleur ou “1”).
|
||||
not:
|
||||
name: Porte INVERSEUR
|
||||
description: Émet un “1” booléen si l’entrée n'est pas vraie.
|
||||
description: Émet un “1” booléen si l’entrée n’est pas vraie (une forme, couleur
|
||||
ou “1”).
|
||||
xor:
|
||||
name: Porte OU-EXCLUSIF
|
||||
description: Émet un “1” booléen si une des entrées est vraie, mais pas les
|
||||
deux.
|
||||
description: Émet un “1” booléen si une des entrées est vraie (une forme,
|
||||
couleur ou “1”), mais pas les deux.
|
||||
or:
|
||||
name: Porte OU
|
||||
description: Émet un “1” booléen si une des entrées est vraie.
|
||||
description: Émet un “1” booléen si une des entrées est vraie (une forme,
|
||||
couleur ou “1”).
|
||||
transistor:
|
||||
default:
|
||||
name: Transistor
|
||||
@ -532,7 +559,7 @@ buildings:
|
||||
couleur, ou un booléen.
|
||||
reader:
|
||||
default:
|
||||
name: Débitmètre
|
||||
name: Lecteur de débit
|
||||
description: Mesure le débit d’un convoyeur. Émet sur le calque de câblage (une
|
||||
fois déverrouillé) la dernière forme ou couleur mesurée.
|
||||
analyzer:
|
||||
@ -554,7 +581,7 @@ buildings:
|
||||
description: Fait pivoter virtuellement la forme de 90 degrés vers la droite.
|
||||
unstacker:
|
||||
name: Décombineur virtuel
|
||||
description: Renvoie la couche supérieur à droite, et les couches restantes à
|
||||
description: Renvoie la couche supérieure à droite, et les couches restantes à
|
||||
gauche.
|
||||
stacker:
|
||||
name: Combineur virtuel
|
||||
@ -562,29 +589,33 @@ buildings:
|
||||
painter:
|
||||
name: Peintre virtuel
|
||||
description: Peint virtuellement la forme du bas avec la couleur de droite.
|
||||
item_producer:
|
||||
default:
|
||||
name: Générateur d’objet
|
||||
description: Seulement disponible en mode bac à sable. Renvoie le signal du
|
||||
calque de câblage sur le calque normal.
|
||||
storyRewards:
|
||||
reward_cutter_and_trash:
|
||||
title: Découpage de formes
|
||||
desc: Vous venez de débloquer le <strong>découpeur</strong> — il coupe des
|
||||
formes en deux <strong>de haut en bas</strong> quelle que soit son
|
||||
orientation !<br><br>Assurez-vous de vous débarrasser des déchets,
|
||||
sinon <strong>gare au blocage</strong> — À cet effet, je mets à
|
||||
votre disposition la poubelle, qui détruit tout ce que vous y
|
||||
mettez !
|
||||
desc: Vous avez débloqué le <strong>découpeur</strong>. Il coupe des formes en
|
||||
deux <strong>de haut en bas</strong> quelle que soit son
|
||||
orientation !<br><br> Assurez-vous de vous débarrasser des déchets,
|
||||
sinon <strong>gare au blocage</strong>. À cet effet, je mets à votre
|
||||
disposition la poubelle, qui détruit tout ce que vous y mettez !
|
||||
reward_rotater:
|
||||
title: Rotation
|
||||
desc: Le <strong>pivoteur</strong> a été débloqué ! Il pivote les formes de
|
||||
90 degrés vers la droite.
|
||||
desc: Le <strong>pivoteur</strong> a été débloqué ! Il pivote les formes de 90
|
||||
degrés vers la droite.
|
||||
reward_painter:
|
||||
title: Peintre
|
||||
desc: "Le <strong>peintre</strong> a été débloqué — Extrayez des pigments de
|
||||
desc: "Le <strong>peintre</strong> a été débloqué. Extrayez des pigments de
|
||||
couleur (comme vous le faites avec les formes) et combinez-les avec
|
||||
une forme dans un peintre pour les colorier !<br><br>PS : Si vous
|
||||
êtes daltonien, il y a un <strong>mode daltonien</strong>
|
||||
paramétrable dans les préférences !"
|
||||
reward_mixer:
|
||||
title: Mélangeur de couleurs
|
||||
desc: Le <strong>mélangeur</strong> a été débloqué — Combinez deux couleurs en
|
||||
desc: Le <strong>mélangeur</strong> a été débloqué. Combinez deux couleurs en
|
||||
utilisant <strong>la synthèse additive des couleurs</strong> avec ce
|
||||
bâtiment !
|
||||
reward_stacker:
|
||||
@ -596,19 +627,19 @@ storyRewards:
|
||||
<strong>placée au-dessus</strong> de la forme de gauche.
|
||||
reward_balancer:
|
||||
title: Répartiteur
|
||||
desc: Le <strong>répartiteur</strong> multifonctionnel a été débloqué — Il peut
|
||||
desc: Le <strong>répartiteur</strong> multifonctionnel a été débloqué. Il peut
|
||||
être utilisé pour construire de plus grandes usines en
|
||||
<strong>distribuant équitablement et rassemblant les formes</strong>
|
||||
entre plusieurs convoyeurs !<br><br>
|
||||
reward_tunnel:
|
||||
title: Tunnel
|
||||
desc: Le <strong>tunnel</strong> a été débloqué — Vous pouvez maintenant faire
|
||||
desc: Le <strong>tunnel</strong> a été débloqué. Vous pouvez maintenant faire
|
||||
passer des formes sous les convoyeurs et les bâtiments !
|
||||
reward_rotater_ccw:
|
||||
title: Pivoteur inversé
|
||||
desc: Vous avez débloqué une variante du <strong>pivoteur</strong> — Elle permet
|
||||
desc: Vous avez débloqué une variante du <strong>pivoteur</strong>. Elle permet
|
||||
de faire pivoter vers la gauche ! Pour le construire, sélectionnez
|
||||
le pivoteur et <strong>appuyez sur 'T' pour alterner entre les
|
||||
le pivoteur et <strong>appuyez sur “T” pour alterner entre les
|
||||
variantes</strong> !
|
||||
reward_miner_chainable:
|
||||
title: Extracteur en série
|
||||
@ -623,107 +654,118 @@ storyRewards:
|
||||
les deux variantes de tunnels !
|
||||
reward_merger:
|
||||
title: Fusionneur compact
|
||||
desc: Vous avez déverrouillé une variante du <strong>fusionneur</strong> du
|
||||
<strong>répartiteur</strong>. Il accepte deux entrées et les
|
||||
fusionne en un seul convoyeur !
|
||||
desc: Vous avez débloqué une variante du <strong>répartiteur</strong>. Il
|
||||
accepte deux entrées et les fusionne en un seul convoyeur !
|
||||
reward_splitter:
|
||||
title: Répartiteur compact
|
||||
desc: Vous avez débloqué une variante compacte du <strong>répartiteur</strong> —
|
||||
Elle accepte deux entrées et les rassemble en une sortie !
|
||||
Il accepte une seule entrée et la divise en deux sorties !
|
||||
reward_belt_reader:
|
||||
title: Lecteur de convoyeur
|
||||
desc: Vous avez maintenant déverrouillé le <strong>lecteur de convoyeur</strong>
|
||||
! Il vous permet de mesurer le débit d'un convoyeur.<br><br> Et
|
||||
attendez de déverrouiller les câbles, alors cela deviendra vraiment
|
||||
utile !
|
||||
title: Lecteur de débit
|
||||
desc: Vous avez débloqué le <strong>lecteur de débit</strong> ! Il vous permet
|
||||
de mesurer le débit d’un convoyeur.<br><br> Et attendez de
|
||||
déverrouiller les câbles, il sera alors très utile !
|
||||
reward_cutter_quad:
|
||||
title: Quadruple découpeur
|
||||
desc: Vous avez débloqué une variante du <strong>découpeur</strong> — Elle
|
||||
permet de découper les formes en <strong>quatre parties</strong> à
|
||||
la place de simplement deux !
|
||||
permet de découper les formes en <strong>quatre parties</strong>
|
||||
plutôt que seulement deux !
|
||||
reward_painter_double:
|
||||
title: Double peintre
|
||||
desc: Vous avez débloqué une variante du <strong>peintre</strong> — Elle
|
||||
fonctionne comme le peintre de base, mais elle permet de traiter
|
||||
<strong>deux formes à la fois</strong> en ne consommant qu’une
|
||||
couleur au lieu de deux !
|
||||
reward_painter_quad:
|
||||
title: Quadruple peintre
|
||||
desc: Vous avez débloqué une variante du <strong>peintre</strong> — Elle permet
|
||||
de colorier chaque partie d’une forme individuellement ! Connectez
|
||||
chaque emplacement que vous souhaitez peindre avec un <strong>signal
|
||||
vrai</strong> (forme, élément ou booléen "1") sur le calque de
|
||||
câblage !
|
||||
reward_storage:
|
||||
title: Tampon de stockage
|
||||
desc: Vous avez débloqué le bâtiment de <strong>stockage</strong>. Il permet de
|
||||
stocker des objets jusqu’à une certaine limite !<br><br> Il priorise
|
||||
la sortie gauche, vous pouvez donc également l'utiliser comme
|
||||
<strong>porte de débordement</strong> !
|
||||
la sortie gauche, vous pouvez donc aussi l’utiliser comme
|
||||
<strong>drain de débordement</strong> !
|
||||
reward_blueprints:
|
||||
title: Patrons
|
||||
desc: Vous pouvez maintenant <strong>copier et coller</strong> des parties de
|
||||
votre usine ! Sélectionnez une zone (Appuyez sur CTRL, et
|
||||
sélectionnez avec votre souris), et appuyez sur 'C' pour la
|
||||
copier.<br><br>Coller n’est <strong>pas gratuit</strong>, vous devez
|
||||
produire <strong>des formes de patrons</strong> pour vous le payer
|
||||
(les mêmes que celles que vous venez de livrer).
|
||||
sélectionnez avec votre souris), et appuyez sur “C” pour la
|
||||
copier.<br><br> Coller n’est <strong>pas gratuit</strong>, vous
|
||||
devez produire <strong>des formes de patrons</strong> pour vous le
|
||||
payer (les mêmes que celles que vous venez de livrer).
|
||||
reward_rotater_180:
|
||||
title: Retourneur
|
||||
desc: Vous venez de déverrouiller le <strong>retourneur</strong> ! Il vous
|
||||
permet de faire pivoter une forme de 180 degrés (Surprise ! :D)
|
||||
reward_wires_filters_and_levers:
|
||||
title: "Wires: Filtres & Interrupteurs"
|
||||
desc: Vous venez de déverrouiller le <strong>calque de câblage</strong> ! Il
|
||||
s'agit d'un calque séparé au-dessus du calque normal qui introduit
|
||||
de nombreuses nouvelles mécaniques !<br><br> Comme cela peut être un
|
||||
peu impressionnant, j'ai ajouté un petit tutoriel. Assurez-vous
|
||||
d'avoir les <strong>tutoriels activés</strong> dans les paramètres !
|
||||
desc: Vous avez débloqué le <strong>retourneur</strong> ! Il permet de faire
|
||||
pivoter une forme de 180 degrés (Surprise ! :D)
|
||||
reward_wires_painter_and_levers:
|
||||
title: Câbles & quadruple peintre
|
||||
desc: "Vous avez débloqué le <strong>calque de câblage</strong> : C’est un
|
||||
calque au-dessus du calque normal, qui introduit beaucoup de
|
||||
nouvelles mécaniques de jeu !<br><br> Pour commencer, je vous
|
||||
débloque le <strong>quadruple peintre</strong>. Connectez les
|
||||
entrées à peindre sur le calque de câblage.<br><br> Pour voir le
|
||||
calque de câblage, appuyez sur <strong>E</strong>."
|
||||
reward_filter:
|
||||
title: Filtre à objets
|
||||
desc: Vous avez débloqué le <strong>filtre à objets</strong> ! Il dirige les
|
||||
objets en haut ou à droite selon qu’ils correspondent ou non au
|
||||
signal provenant du calque de câblage.<br><br> Vous pouvez aussi
|
||||
connecter un signal booléen (1 / 0) pour l’activer ou le désactiver
|
||||
complètement.
|
||||
reward_display:
|
||||
title: Afficheur
|
||||
desc: Vous avez déverrouillé l'<strong>afficheur</strong> ! Connectez-y un câble
|
||||
signal pour visualiser une couleur, une forme ou un booléen !
|
||||
desc: "Vous avez débloqué l’<strong>afficheur</strong> ! Connectez-y un signal
|
||||
sur le calque de câblage pour afficher une couleur, une forme ou un
|
||||
booléen !<br><br> PS : Avez-vous remarqué que le lecteur de débit et
|
||||
le stockage émettent le dernier objet vu ? Essayez de le montrer sur
|
||||
un écran !"
|
||||
reward_constant_signal:
|
||||
title: Constante
|
||||
desc: Vous avez déverrouillé la <strong>constante</strong> basé sur le calque de
|
||||
câblage ! Elle est utile pour la connecter à des <strong>filtres
|
||||
d'éléments</strong> par exemple.<br><br> La constante peut émettre
|
||||
desc: Vous avez débloqué l’émetteur de <strong>constante</strong> sur le calque
|
||||
de câblage ! Vous pouvez par exemple la connecter à des
|
||||
<strong>filtres à objets</strong>.<br><br> La constante peut émettre
|
||||
une <strong>forme</strong>, une <strong>couleur</strong> ou un
|
||||
<strong>booléen</strong> (1 / 0).
|
||||
<strong>booléen</strong> (1 / 0).
|
||||
reward_logic_gates:
|
||||
title: Portes logiques
|
||||
desc: Vous avez déverrouillé les <strong>portes logiques</strong> ! Vous n'êtes
|
||||
pas obligé d'être excité à ce sujet, mais c'est vraiment super cool
|
||||
!<br><br> Avec ces portes, vous pouvez maintenant effectuer des
|
||||
opérations booléennes ET, OU, OU-EXCLUSIF et INVERSEUR !
|
||||
desc: "Vous avez débloqué les <strong>portes logiques</strong> ! Vous n’êtes pas
|
||||
obligé de trouver ça génial, mais en fait c’est super cool !<br><br>
|
||||
Avec ces portes, vous pouvez maintenant faire les opérations
|
||||
booléennes ET, OU, OU-EXCLUSIF et INVERSEUR !<br><br> Et la cerise
|
||||
sur le gâteau : je vous donne aussi le
|
||||
<strong>transistor</strong> !"
|
||||
reward_virtual_processing:
|
||||
title: Traitement virtuel
|
||||
desc: Je viens de donner tout un tas de nouveaux bâtiments qui vous permettent
|
||||
de <strong>simuler du traitement de forme</strong> !<br><br> Vous
|
||||
pouvez maintenant simuler un découpeur, un pivoteur, un combineur et
|
||||
plus encore sur le calque de câblage !<br><br> Avec cela, vous avez
|
||||
maintenant trois options pour continuer le jeu :<br><br> -
|
||||
Construire une <strong>machine automatisée</strong> pour créer toute
|
||||
forme possible demandée par le centre (c'est cool, je le jure
|
||||
!).<br><br> - Construire quelque chose de cool avec des
|
||||
câbles.<br><br> - Continuer à jouer régulièrement.
|
||||
desc: Je viens de vous donner tout un tas de nouveaux bâtiments qui vous
|
||||
permettent de <strong>simuler le traitement des
|
||||
formes</strong> !<br><br> Vous pouvez maintenant simuler un
|
||||
découpeur, un pivoteur, un combineur et plus encore sur le calque de
|
||||
câblage !<br><br> Avec ça, vous avez trois possibilités pour
|
||||
continuer le jeu :<br><br> - Construire une <strong>machine
|
||||
automatisée</strong> pour fabriquer n’importe quelle forme demandée
|
||||
par le centre (je conseille d’essayer !).<br><br> - Construire
|
||||
quelque chose de cool avec des câbles.<br><br> - Continuer à jouer
|
||||
normalement.<br><br> Dans tous les cas, l’important c’est de
|
||||
s’amuser !
|
||||
no_reward:
|
||||
title: Niveau suivant
|
||||
desc: "Ce niveau n’a pas de récompense mais le prochain, si !<br><br>PS : Ne
|
||||
détruisez pas votre usine actuelle — Vous aurez besoin de
|
||||
desc: "Ce niveau n’a pas de récompense mais le prochain, si !<br><br> PS : Ne
|
||||
détruisez pas votre usine actuelle. Vous aurez besoin de
|
||||
<strong>toutes</strong> ces formes plus tard pour <strong>débloquer
|
||||
des améliorations</strong>."
|
||||
no_reward_freeplay:
|
||||
title: Niveau suivant
|
||||
desc: Bravo ! À propos, plus de contenu est prévu pour la version complète !
|
||||
desc: Bravo !
|
||||
reward_freeplay:
|
||||
title: Mode libre
|
||||
desc: Vous y êtes arrivé ! Vous avez débloqué le <strong>mode libre</strong> !
|
||||
Cela veut dire que dorénavant, les formes sont générées
|
||||
<strong>aléatoirement</strong> !<br><br> Étant donné que le centre
|
||||
ne demandera que de faibles quantités, je recommande fortement de
|
||||
construire une machine qui délivre automatiquement la forme demandée
|
||||
!
|
||||
<strong>aléatoirement</strong> !<br><br> Comme le centre va demander
|
||||
un gros <strong>débit</strong> à partir de maintenant, je recommande
|
||||
vivement de construire une machine qui fabrique automatiquement la
|
||||
forme demandée.<br><br> Le centre émet la forme demandée sur le
|
||||
calque de câblage, donc vous n’avez qu’à l’analyser et l’utiliser
|
||||
pour configurer automatiquement votre usine.
|
||||
reward_demo_end:
|
||||
title: Fin de la démo
|
||||
desc: Vous avez atteint la fin de la version de démo !
|
||||
settings:
|
||||
title: Options
|
||||
categories:
|
||||
@ -773,7 +815,7 @@ settings:
|
||||
super_fast: Très rapide
|
||||
movementSpeed:
|
||||
title: Vitesse de déplacement
|
||||
description: Change la vitesse de déplacement de l’écran avec les touches
|
||||
description: Change la vitesse de déplacement de l’écran avec les touches du
|
||||
clavier.
|
||||
speeds:
|
||||
super_slow: Très lent
|
||||
@ -814,11 +856,12 @@ settings:
|
||||
dark: Sombre
|
||||
light: Clair
|
||||
refreshRate:
|
||||
title: Fréquence de simulation
|
||||
description: Si vous avez un moniteur à fréquence élevée, changez le taux de
|
||||
rafraichissement pour que le jeu fonctionne correctement à cette
|
||||
haute fréquence. Ceci pourrait cependant diminuer vos IPS
|
||||
(itérations par seconde) si votre ordinateur est trop lent.
|
||||
title: Fréquence de rafraîchissement
|
||||
description: Détermine la fréquence de simulation du jeu par seconde. En
|
||||
général, un taux de rafraîchissement plus élevé se traduit par
|
||||
une meilleure précision mais une performance plus mauvaise. Si
|
||||
la fréquence de rafraîchissement est basse, les débits peuvent
|
||||
ne pas être exacts.
|
||||
alwaysMultiplace:
|
||||
title: Placement multiple
|
||||
description: Si activé, tous les bâtiments resteront sélectionnés tant que vous
|
||||
@ -826,7 +869,7 @@ settings:
|
||||
en permanence.
|
||||
offerHints:
|
||||
title: Indices
|
||||
description: Affiche ou non le bouton 'Afficher un indice' dans le coin
|
||||
description: Affiche ou non le bouton “Afficher un indice” dans le coin
|
||||
inférieur gauche.
|
||||
enableTunnelSmartplace:
|
||||
title: Tunnels intelligents
|
||||
@ -836,8 +879,8 @@ settings:
|
||||
effacés.
|
||||
vignette:
|
||||
title: Effet de vignette
|
||||
description: Permet l’affichage de l’effet de vignette qui assombrit les coins
|
||||
de l’écran afin de rendre le texte plus facile à lire.
|
||||
description: Active l’effet de vignette qui assombrit les coins de l’écran pour
|
||||
rendre le texte plus facile à lire.
|
||||
rotationByBuilding:
|
||||
title: Rotation par catégorie de bâtiment
|
||||
description: Chaque catégorie de bâtiment enregistre le sens de rotation que
|
||||
@ -850,9 +893,9 @@ settings:
|
||||
n’affichant que les ratios. Si désactivé, montre une description
|
||||
et une image.
|
||||
disableCutDeleteWarnings:
|
||||
title: Désactive les avertissements pour Couper / Effacer
|
||||
title: Désactive les avertissements pour Couper / Supprimer
|
||||
description: Désactive la boîte de dialogue qui s’affiche lorsque vous vous
|
||||
apprêtez à couper / effacer plus de 100 entités.
|
||||
apprêtez à couper / supprimer plus de 100 entités.
|
||||
lowQualityMapResources:
|
||||
title: Ressources de la carte de plus basse qualité
|
||||
description: Simplifie le rendu des ressources sur la carte lorsqu’elle est
|
||||
@ -874,12 +917,12 @@ settings:
|
||||
performances. Rend le jeu très moche !
|
||||
displayChunkBorders:
|
||||
title: Montrer les secteurs
|
||||
description: Le jeu est divisé en secteurs de 16×16 cases. Si ce réglage est
|
||||
description: Le jeu est divisé en secteurs de 16×16 cases. Si ce réglage est
|
||||
activé, les limites de chaque secteur sont affichées.
|
||||
pickMinerOnPatch:
|
||||
title: Choisir l’extracteur sur une mine de ressources
|
||||
title: Choisir l’extracteur sur un gisement de ressources
|
||||
description: Activé par défaut, sélectionne l’extracteur si vous utilisez la
|
||||
pipette en survolant une mine de ressources.
|
||||
pipette en survolant un gisement de ressources.
|
||||
simplifiedBelts:
|
||||
title: Convoyeurs simplifiés (moche)
|
||||
description: Désactive le rendu des formes et couleurs sur les convoyeurs sauf
|
||||
@ -938,16 +981,16 @@ keybindings:
|
||||
wire: Câble
|
||||
constant_signal: Constante
|
||||
logic_gate: Porte logique
|
||||
lever: Interrupteur (normal)
|
||||
lever_wires: Interrupteur (à câbles)
|
||||
lever: Interrupteur
|
||||
filter: Filtre
|
||||
wire_tunnel: Tunnel à câble
|
||||
display: Afficheur
|
||||
reader: Débitmètre
|
||||
reader: Lecteur de débit
|
||||
virtual_processor: Découpeur virtuel
|
||||
transistor: Transistor
|
||||
analyzer: Analyseur de formes
|
||||
comparator: Comparateur
|
||||
item_producer: Générateur d’objets (bac à sable)
|
||||
pipette: Pipette
|
||||
rotateWhilePlacing: Pivoter
|
||||
rotateInverseModifier: "Variante : Pivote à gauche"
|
||||
@ -957,13 +1000,14 @@ keybindings:
|
||||
cycleBuildings: Alterner entre les bâtiments
|
||||
lockBeltDirection: Utiliser le planificateur de convoyeurs
|
||||
switchDirectionLockSide: "Planificateur : changer de côté"
|
||||
copyWireValue: "Câble : Copier la valeur sous le curseur"
|
||||
massSelectStart: Cliquez et glissez pour commencer
|
||||
massSelectSelectMultiple: Sélectionner plusieurs zones
|
||||
massSelectCopy: Copier la sélection
|
||||
massSelectCut: Couper la sélection
|
||||
placementDisableAutoOrientation: Désactiver l’orientation automatique
|
||||
placeMultiple: Rester en mode placement
|
||||
placeInverse: Inverser le mode d’orientation automatique
|
||||
placeInverse: Inverser l’orientation des convoyeurs
|
||||
about:
|
||||
title: À propos de ce jeu
|
||||
body: >-
|
||||
@ -989,29 +1033,28 @@ demo:
|
||||
exportingBase: Exporter une image de toute la base
|
||||
settingNotAvailable: Indisponible dans la démo.
|
||||
tips:
|
||||
- Le centre accepte les entrées de toutes sortes, pas seulement la forme
|
||||
actuelle !
|
||||
- Assurez-vous que vos usines soient modulaires, cela paiera !
|
||||
- Ne construisez pas trop près du centre, ou ce sera un énorme chaos !
|
||||
- Si l'empilement ne fonctionne pas, essayez d'échanger les entrées.
|
||||
- Le centre n’importe quelle forme, pas seulement la forme actuelle !
|
||||
- Assurez-vous que vos usines soient modulaires, cela paiera !
|
||||
- Ne construisez pas trop près du centre, ou ce sera un énorme chaos !
|
||||
- Si l’empilement ne fonctionne pas, essayez d’échanger les entrées.
|
||||
- Vous pouvez changer le sens du planificateur de convoyeur en appuyant sur
|
||||
<b>R</b>.
|
||||
- Maintenir <b>CTRL</b> permet de déposer les convoyeurs sans
|
||||
auto-orientation.
|
||||
- Les ratios restent les mêmes, tant que toutes les améliorations sont de
|
||||
- Les ratios restent les mêmes, tant que toutes les améliorations sont au
|
||||
même niveau.
|
||||
- L'exécution en série est plus efficace qu'en parallèle.
|
||||
- Vous débloquerez plus de variantes de bâtiments plus tard dans le jeu !
|
||||
- L’exécution en série est plus efficace qu’en parallèle.
|
||||
- Vous débloquerez plus de variantes de bâtiments plus tard dans le jeu !
|
||||
- Vous pouvez utiliser <b>T</b> pour basculer entre différentes variantes.
|
||||
- La symétrie est la clé !
|
||||
- La symétrie est la clé !
|
||||
- Vous pouvez entrelacer différents niveaux de tunnels.
|
||||
- Essayez de construire des usines compactes, cela paiera !
|
||||
- Essayez de construire des usines compactes, cela paiera !
|
||||
- Le peintre a une variante en miroir que vous pouvez sélectionner avec
|
||||
<b>T</b>
|
||||
- Avoir les bons ratios de construction maximisera l'efficacité.
|
||||
- Avoir les bons ratios de construction maximisera l’efficacité.
|
||||
- Au niveau maximum, 5 extracteurs rempliront un seul convoyeur.
|
||||
- N'oubliez pas les tunnels !
|
||||
- Vous n'avez pas besoin de répartir les objets uniformément pour une
|
||||
- N’oubliez pas les tunnels !
|
||||
- Vous n’avez pas besoin de répartir les objets uniformément pour une
|
||||
efficacité totale.
|
||||
- Maintenir <b>MAJ</b> activera le planificateur de convoyeur, vous
|
||||
permettant de placer facilement de longues lignes de convoyeur.
|
||||
@ -1019,51 +1062,52 @@ tips:
|
||||
orientation.
|
||||
- Pour obtenir du blanc, mélangez les trois couleurs.
|
||||
- Le stockage priorise la première sortie.
|
||||
- Investissez du temps pour créer des designs reproductibles, ça vaut le
|
||||
coup !
|
||||
- Investissez du temps pour créer des patrons reproductibles, ça vaut le
|
||||
coup !
|
||||
- Maintenir <b>CTRL</b> permet de placer plusieurs bâtiments.
|
||||
- Vous pouvez maintenir <b>ALT</b> pour inverser la direction des ceintures
|
||||
placées.
|
||||
- L'efficacité est la clé !
|
||||
- Les patchs de forme plus éloignés du moyeu sont plus complexes.
|
||||
- Vous pouvez maintenir <b>ALT</b> pour inverser la direction des convoyeurs
|
||||
placés.
|
||||
- L’efficacité est la clé !
|
||||
- Les gisements plus éloignés du centre produisent des formes plus complexes.
|
||||
- Les machines ont une vitesse limitée, divisez-les pour une efficacité
|
||||
maximale.
|
||||
- Utilisez des équilibreurs pour maximiser votre efficacité.
|
||||
- L'organisation est importante. Essayez de ne pas trop traverser les
|
||||
- Utilisez des répartiteurs pour maximiser votre efficacité.
|
||||
- L’organisation est importante. Essayez de ne pas trop croiser les
|
||||
convoyeurs.
|
||||
- Planifiez à l'avance, ou ce sera un énorme chaos !
|
||||
- Ne supprimez pas vos anciennes usines ! Vous en aurez besoin pour
|
||||
- Planifiez à l’avance, ou ce sera un énorme chaos !
|
||||
- Ne supprimez pas vos anciennes usines ! Vous en aurez besoin pour
|
||||
débloquer des améliorations.
|
||||
- Essayez de battre le niveau 18 par vous-même avant de demander de l'aide !
|
||||
- Essayez de réussir le niveau 18 par vous-même avant de demander de l’aide !
|
||||
- Ne compliquez pas les choses, essayez de rester simple et vous irez loin.
|
||||
- Vous devrez peut-être réutiliser les usines plus tard dans le jeu.
|
||||
Planifiez vos usines pour qu'elles soient réutilisables.
|
||||
Planifiez vos usines pour qu’elles soient réutilisables.
|
||||
- Parfois, vous pouvez trouver une forme nécessaire sur la carte sans la
|
||||
créer avec des combineurs.
|
||||
- Les formes en moulins à vent complet ne peuvent jamais apparaître
|
||||
- Les formes en hélice complètes ne peuvent jamais apparaître
|
||||
naturellement.
|
||||
- Colorez vos formes avant de les découper pour une efficacité maximale.
|
||||
- Avec les modules, l'espace n'est qu'une perception; une préoccupation pour
|
||||
les hommes mortels.
|
||||
- Créez une usine de patrons distincte. Ils sont importants pour les modules.
|
||||
- Avec les modules, l’espace n’est qu’une perception ; une préoccupation
|
||||
pour les hommes mortels.
|
||||
- Créez une usine de patrons à part. Ils sont importants pour les modules.
|
||||
- Regardez de plus près le mélangeur de couleur et vous aurez la réponse à
|
||||
vos questions.
|
||||
- Utilisez <b>CTRL</b> + clic pour sélectionner une zone.
|
||||
- Utilisez <b>CTRL</b> + clic pour sélectionner une zone.
|
||||
- Construire trop près du centre peut gêner les projets futurs.
|
||||
- L'icône d'épingle à côté de chaque forme dans la liste d'améliorations
|
||||
l'épingle à l'écran.
|
||||
- Mélangez toutes les couleurs primaires ensemble pour faire du blanc !
|
||||
- Vous avez une carte infinie, n'encombrez pas votre usine, développez-vous !
|
||||
- Essayez également Factorio ! C'est mon jeu préféré.
|
||||
- Le découpeur quadruple coupe dans le sens des aiguilles d'une montre à
|
||||
partir du coin supérieur droit !
|
||||
- Vous pouvez télécharger vos sauvegardes dans le menu principal !
|
||||
- Ce jeu a beaucoup de raccourcis clavier utiles ! Assurez-vous de consulter
|
||||
la page des paramètres.
|
||||
- Ce jeu a beaucoup de paramètres, assurez-vous de les vérifier !
|
||||
- L’icône d’épingle à côté de chaque forme dans la liste d’améliorations
|
||||
épingle la forme à l’écran.
|
||||
- Mélangez toutes les couleurs primaires ensemble pour faire du blanc !
|
||||
- Vous avez une carte infinie, n’encombrez pas votre usine, développez-vous !
|
||||
- Essayez aussi Factorio ! C’est mon jeu préféré.
|
||||
- Le découpeur quadruple coupe dans le sens des aiguilles d’une montre à
|
||||
partir du coin supérieur droit !
|
||||
- Vous pouvez télécharger vos sauvegardes dans le menu principal !
|
||||
- Ce jeu a beaucoup de raccourcis clavier utiles ! Pensez à regarder la page
|
||||
des paramètres.
|
||||
- Ce jeu a beaucoup de paramètres, pensez à les regarder !
|
||||
- Le marqueur de votre centre a une petite boussole pour indiquer sa
|
||||
direction !
|
||||
direction !
|
||||
- Pour nettoyer les convoyeurs, coupez la zone puis collez-la au même
|
||||
endroit.
|
||||
- Press F4 to show your FPS and Tick Rate.
|
||||
- Press F4 twice to show the tile of your mouse and camera.
|
||||
- Appuyez sur F4 pour voir vos IPS et votre fréquence de rafraîchissement.
|
||||
- Appuyez deux fois sur F4 pour voir les coordonnées.
|
||||
- Cliquez sur une forme épinglée à gauche pour l’enlever.
|
||||
|