diff --git a/13th Age Glorantha/package-lock.json b/13th Age Glorantha/package-lock.json index 948150540b..b97374eb4c 100644 --- a/13th Age Glorantha/package-lock.json +++ b/13th Age Glorantha/package-lock.json @@ -4,963 +4,90 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "accepts": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.0.3.tgz", - "integrity": "sha1-krHbDU89tHsFMN9uFa6X21FNwvg=", - "dev": true, - "requires": { - "mime": "~1.2.11", - "negotiator": "0.4.6" - } - }, - "argparse": { - "version": "0.1.16", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", - "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", - "dev": true, - "requires": { - "underscore": "~1.7.0", - "underscore.string": "~2.4.0" - }, - "dependencies": { - "underscore.string": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", - "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", - "dev": true - } - } - }, - "async": { - "version": "0.1.22", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", - "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", - "dev": true - }, - "basic-auth-connect": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz", - "integrity": "sha1-/bC0OWLKe0BFanwrtI/hc9otISI=", - "dev": true - }, - "batch": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz", - "integrity": "sha1-/S4Fp6XWlrTbkxQBPihdj/NVfsM=", - "dev": true - }, - "body-parser": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.3.1.tgz", - "integrity": "sha1-GnRRP8eJfXDbVlieDQPwoT8b+pQ=", - "dev": true, - "requires": { - "bytes": "1.0.0", - "qs": "0.6.6", - "raw-body": "1.1.6", - "type-is": "1.2.1" - } - }, - "buffer-crc32": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", - "integrity": "sha1-vj5TgvwCttYySVasGvmKqYsIU0w=", - "dev": true - }, - "bytes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz", - "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=", - "dev": true - }, - "coffee-script": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", - "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", - "dev": true - }, - "colors": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", - "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", - "dev": true - }, - "compressible": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-1.1.0.tgz", - "integrity": "sha1-Ek2Ke7oYoFpBCi8lutQTsblK/2c=", - "dev": true - }, - "compression": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.0.7.tgz", - "integrity": "sha1-/Ev/Jh3043oTAAby2yqZo0iW9Vo=", - "dev": true, - "requires": { - "accepts": "1.0.3", - "bytes": "1.0.0", - "compressible": "1.1.0", - "on-headers": "0.0.0", - "vary": "0.1.0" - } - }, - "connect": { - "version": "2.19.6", - "resolved": "https://registry.npmjs.org/connect/-/connect-2.19.6.tgz", - "integrity": "sha1-1HP9eUnFW0I6ZPhCDb0Gnbd82dI=", - "dev": true, - "requires": { - "basic-auth-connect": "1.0.0", - "body-parser": "1.3.1", - "bytes": "1.0.0", - "compression": "1.0.7", - "connect-timeout": "1.1.0", - "cookie": "0.1.2", - "cookie-parser": "1.1.0", - "cookie-signature": "1.0.3", - "csurf": "1.2.1", - "debug": "1.0.2", - "errorhandler": "1.0.2", - "escape-html": "1.0.1", - "express-session": "1.2.1", - "fresh": "0.2.2", - "method-override": "2.0.2", - "morgan": "1.1.1", - "multiparty": "3.2.8", - "on-headers": "0.0.0", - "parseurl": "1.0.1", - "pause": "0.0.1", - "qs": "0.6.6", - "response-time": "2.0.0", - "serve-favicon": "2.0.1", - "serve-index": "1.1.1", - "serve-static": "1.2.3", - "type-is": "1.2.1", - "vhost": "1.0.0" - } - }, - "connect-livereload": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.4.1.tgz", - "integrity": "sha1-D4oagWvJuv+uRjfM6pF0Yv41kXo=", - "dev": true - }, - "connect-timeout": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.1.0.tgz", - "integrity": "sha1-/IBhX8els4Y70DGa8kkdLX/cXwU=", - "dev": true, - "requires": { - "debug": "0.8.1" - }, - "dependencies": { - "debug": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", - "integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=", - "dev": true - } - } - }, - "cookie": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz", - "integrity": "sha1-cv7D0k5Io0Mgc9kMEmQgBQYQBLE=", - "dev": true - }, - "cookie-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.1.0.tgz", - "integrity": "sha1-L4JlqjtVczqF7vIH8OJTDD6M9wU=", - "dev": true, - "requires": { - "cookie": "0.1.2", - "cookie-signature": "1.0.3" - } - }, - "cookie-signature": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", - "integrity": "sha1-kc2ZfMUftkFZVzjGnNoCAyj1D/k=", - "dev": true - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "csrf-tokens": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/csrf-tokens/-/csrf-tokens-1.0.4.tgz", - "integrity": "sha1-SWclaLJwM0hkTqyvYc29wFS6VvI=", - "dev": true, - "requires": { - "rndm": "1", - "scmp": "~0.0.3", - "uid2": "~0.0.2" - } - }, - "csurf": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/csurf/-/csurf-1.2.1.tgz", - "integrity": "sha1-OSj6I3WS7Vgkp8Ih2Fgb81ap2nY=", - "dev": true, - "requires": { - "csrf-tokens": "~1.0.2" - } - }, - "dateformat": { - "version": "1.0.2-1.2.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", - "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", - "dev": true - }, - "debug": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz", - "integrity": "sha1-OElZHBDM5khHbDx8Li40FttZY8Q=", - "dev": true, - "requires": { - "ms": "0.6.2" - } - }, - "ee-first": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz", - "integrity": "sha1-bJjECJq+y1p7hcGsRJqmA9Oz2r4=", - "dev": true - }, - "errorhandler": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.0.2.tgz", - "integrity": "sha1-WH1Hu7vEjP/hMsOs2nIVyQJVgQg=", - "dev": true - }, - "escape-html": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz", - "integrity": "sha1-GBoobq05ejmpKFfPsdQwUuNWv/A=", - "dev": true - }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true - }, - "eventemitter2": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", - "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", - "dev": true - }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "express-session": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.2.1.tgz", - "integrity": "sha1-J0GhZh6zpKF6fbCkgEn78FV05GU=", - "dev": true, - "requires": { - "buffer-crc32": "0.2.1", - "cookie": "0.1.2", - "cookie-signature": "1.0.3", - "debug": "0.8.1", - "on-headers": "0.0.0", - "uid2": "0.0.3", - "utils-merge": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", - "integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=", - "dev": true - } - } - }, - "faye-websocket": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", - "integrity": "sha1-wUxbO/FNdBf/v9mQwKdJXNnzN7w=", - "dev": true - }, - "findup-sync": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", - "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", - "dev": true, - "requires": { - "glob": "~3.2.9", - "lodash": "~2.4.1" - }, - "dependencies": { - "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", - "dev": true, - "requires": { - "inherits": "2", - "minimatch": "0.3" - } - }, - "lodash": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", - "dev": true - }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", - "dev": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } - } - } - }, - "finished": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/finished/-/finished-1.2.2.tgz", - "integrity": "sha1-QWCOr639ZWg7RqEiC8Sx7D2u3Ng=", - "dev": true, - "requires": { - "ee-first": "1.0.3" - } - }, - "fresh": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz", - "integrity": "sha1-lzHc9WeMf660T7kDxPct9VGH+nc=", - "dev": true - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "~0.1.0" - } - }, - "getobject": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", - "dev": true - }, - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "~1.2.0", - "inherits": "1", - "minimatch": "~0.2.11" - }, - "dependencies": { - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - } - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "~3.1.21", - "lodash": "~1.0.1", - "minimatch": "~0.2.11" - }, - "dependencies": { - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "grunt": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", - "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", - "dev": true, - "requires": { - "async": "~0.1.22", - "coffee-script": "~1.3.3", - "colors": "~0.6.2", - "dateformat": "1.0.2-1.2.3", - "eventemitter2": "~0.4.13", - "exit": "~0.1.1", - "findup-sync": "~0.1.2", - "getobject": "~0.1.0", - "glob": "~3.1.21", - "grunt-legacy-log": "~0.1.0", - "grunt-legacy-util": "~0.2.0", - "hooker": "~0.2.3", - "iconv-lite": "~0.2.11", - "js-yaml": "~2.0.5", - "lodash": "~0.9.2", - "minimatch": "~0.2.12", - "nopt": "~1.0.10", - "rimraf": "~2.2.8", - "underscore.string": "~2.2.1", - "which": "~1.0.5" - } - }, - "grunt-cli": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-0.1.13.tgz", - "integrity": "sha1-6evEBHYx9QEtkidww5N4EzytEPQ=", - "dev": true, - "requires": { - "findup-sync": "~0.1.0", - "nopt": "~1.0.10", - "resolve": "~0.3.1" - } - }, - "grunt-contrib-connect": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.8.0.tgz", - "integrity": "sha1-H3AEPjpHOuj7eorL+SnOEE6vQyM=", - "dev": true, - "requires": { - "async": "~0.9.0", - "connect": "~2.19.5", - "connect-livereload": "~0.4.0", - "open": "0.0.5", - "portscanner": "~0.2.3" - }, - "dependencies": { - "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", - "dev": true - } - } - }, - "grunt-contrib-watch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz", - "integrity": "sha1-ZP3LolpjX1tNobbOb5DaCutuPxU=", - "dev": true, - "requires": { - "async": "~0.2.9", - "gaze": "~0.5.1", - "lodash": "~2.4.1", - "tiny-lr-fork": "0.0.5" - }, - "dependencies": { - "async": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", - "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", - "dev": true - }, - "lodash": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", - "dev": true - } - } - }, - "grunt-include-replace": { + "expand-tilde": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/grunt-include-replace/-/grunt-include-replace-2.0.2.tgz", - "integrity": "sha1-X7xERWeW4qICxnER89XA8E7rL4g=", - "dev": true - }, - "grunt-legacy-log": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", - "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", "dev": true, "requires": { - "colors": "~0.6.2", - "grunt-legacy-log-utils": "~0.1.1", - "hooker": "~0.2.3", - "lodash": "~2.4.1", - "underscore.string": "~2.3.3" - }, - "dependencies": { - "lodash": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", - "dev": true - }, - "underscore.string": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", - "dev": true - } + "homedir-polyfill": "^1.0.1" } }, - "grunt-legacy-log-utils": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", - "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", - "dev": true, - "requires": { - "colors": "~0.6.2", - "lodash": "~2.4.1", - "underscore.string": "~2.3.3" - }, - "dependencies": { - "lodash": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", - "dev": true - }, - "underscore.string": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", - "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", - "dev": true - } - } - }, - "grunt-legacy-util": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", - "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", - "dev": true, - "requires": { - "async": "~0.1.22", - "exit": "~0.1.1", - "getobject": "~0.1.0", - "hooker": "~0.2.3", - "lodash": "~0.9.2", - "underscore.string": "~2.2.1", - "which": "~1.0.5" - } - }, - "hooker": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", - "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", - "dev": true - }, - "iconv-lite": { - "version": "0.2.11", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", - "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", - "dev": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "js-yaml": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", - "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", - "dev": true, - "requires": { - "argparse": "~ 0.1.11", - "esprima": "~ 1.0.2" - } - }, - "lodash": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", - "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", - "dev": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "method-override": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/method-override/-/method-override-2.0.2.tgz", - "integrity": "sha1-AFMSeMeXiWQL8n6X4mo6Wh98ynM=", - "dev": true, - "requires": { - "methods": "1.0.1", - "parseurl": "1.0.1", - "vary": "0.1.0" - } - }, - "methods": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.0.1.tgz", - "integrity": "sha1-dbyRlD3/19oDfPPusO1zoAN80Us=", - "dev": true - }, - "mime": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", - "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", - "dev": true - }, - "mime-types": { + "global-modules": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.0.tgz", - "integrity": "sha1-antKavLn2S+Xr+A/BHx4AejwAdI=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" } }, - "morgan": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.1.1.tgz", - "integrity": "sha1-zeRdLoB+vMQ5dFhG6oA5LmkJgUY=", + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", "dev": true, "requires": { - "bytes": "1.0.0" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" } }, - "ms": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz", - "integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw=", - "dev": true - }, - "multiparty": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-3.2.8.tgz", - "integrity": "sha1-veITAdrSlChuFVsrYHEMauBK5k8=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9", - "stream-counter": "~0.2.0" - } - }, - "negotiator": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.6.tgz", - "integrity": "sha1-9F+vn6gz7TylElDqmn3fxCZ6RLM=", - "dev": true - }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", - "dev": true, - "requires": { - "abbrev": "1" - } - }, - "noptify": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", - "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=", - "dev": true, - "requires": { - "nopt": "~2.0.0" - }, - "dependencies": { - "nopt": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", - "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=", - "dev": true, - "requires": { - "abbrev": "1" - } - } - } - }, - "on-headers": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-0.0.0.tgz", - "integrity": "sha1-7igX+DRDJXhc2cLfKyQrvBfK9MQ=", - "dev": true - }, - "open": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/open/-/open-0.0.5.tgz", - "integrity": "sha1-QsPhjslUZra/DcQvOilFw/DK2Pw=", - "dev": true - }, - "parseurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz", - "integrity": "sha1-Llfc5u/dN8NRhwEDCUTCK/OIt7Q=", - "dev": true - }, - "pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=", - "dev": true - }, - "portscanner": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-0.2.3.tgz", - "integrity": "sha1-QNityS4BsgWrAgqhbw44asXtGXg=", - "dev": true, - "requires": { - "async": "0.1.15" - }, - "dependencies": { - "async": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/async/-/async-0.1.15.tgz", - "integrity": "sha1-IYDqyizypspSgNQcBYW+ybPkm9M=", - "dev": true - } - } - }, - "qs": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", - "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=", - "dev": true - }, - "range-parser": { + "homedir-polyfill": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz", - "integrity": "sha1-aHKCNTXGkuLCoBA4Jq/YLC4P8XU=", - "dev": true - }, - "raw-body": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.6.tgz", - "integrity": "sha1-mOnfmn4t+ZSTG3zbSyprlpSnTwI=", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, "requires": { - "bytes": "1" + "parse-passwd": "^1.0.0" } }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "resolve": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz", - "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=", + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, - "response-time": { + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isexe": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/response-time/-/response-time-2.0.0.tgz", - "integrity": "sha1-Zcs5/VDeL0/9vdKF8YVZZr1vyzY=", - "dev": true, - "requires": { - "on-headers": "0.0.0" - } - }, - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "rndm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz", - "integrity": "sha1-8z/pz7Urv9UgqhgyO8ZdsRCht2w=", + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", "dev": true }, - "scmp": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz", - "integrity": "sha1-NkjfLXKUZB5/eGc//CloHZutkHM=", - "dev": true - }, - "send": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/send/-/send-0.4.3.tgz", - "integrity": "sha1-lieyO3cH+/Y3ODHKxXkzMLWUtkA=", - "dev": true, - "requires": { - "debug": "1.0.2", - "escape-html": "1.0.1", - "finished": "1.2.2", - "fresh": "0.2.2", - "mime": "1.2.11", - "range-parser": "~1.0.0" - } - }, - "serve-favicon": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.0.1.tgz", - "integrity": "sha1-SCaXXZ8XPKOkFY6WmBYfdd7Hr+w=", - "dev": true, - "requires": { - "fresh": "0.2.2" - } - }, - "serve-index": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.1.1.tgz", - "integrity": "sha1-6trdj9B0E63RejAcZX9S/AXxnS8=", - "dev": true, - "requires": { - "accepts": "1.0.3", - "batch": "0.5.0" - } - }, - "serve-static": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.2.3.tgz", - "integrity": "sha1-k87Lw0Dweey4WJKB0dwxwmwM0Vg=", - "dev": true, - "requires": { - "escape-html": "1.0.1", - "parseurl": "1.0.1", - "send": "0.4.3" - } - }, - "sigmund": { + "resolve-dir": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "stream-counter": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", - "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", "dev": true, "requires": { - "readable-stream": "~1.1.8" + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "tiny-lr-fork": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz", - "integrity": "sha1-Hpnh4qhGm3NquX2X7vqYxx927Qo=", - "dev": true, - "requires": { - "debug": "~0.7.0", - "faye-websocket": "~0.4.3", - "noptify": "~0.0.3", - "qs": "~0.5.2" - }, - "dependencies": { - "debug": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", - "dev": true - }, - "qs": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", - "integrity": "sha1-MbGtBYVnZRxSaSFQa5qHk5EaA4Q=", - "dev": true - } - } - }, - "type-is": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.2.1.tgz", - "integrity": "sha1-c9RICApPHdGKyx7v/2KWjFtdVKI=", - "dev": true, - "requires": { - "mime-types": "1.0.0" - } - }, - "uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", - "dev": true - }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", - "dev": true - }, - "underscore.string": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", - "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", - "dev": true - }, - "utils-merge": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", - "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg=", - "dev": true - }, - "vary": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz", - "integrity": "sha1-3wlFiZ6TwMxb0YzIMh2dIedPYXY=", - "dev": true - }, - "vhost": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz", - "integrity": "sha1-ZUUT8omk+Jiqt0W71jPkAYDJxMA=", - "dev": true - }, "which": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", - "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", - "dev": true + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } } diff --git a/13th Age Glorantha/package.json b/13th Age Glorantha/package.json index 84af372dbf..a0c92e52bb 100644 --- a/13th Age Glorantha/package.json +++ b/13th Age Glorantha/package.json @@ -10,7 +10,7 @@ "node": ">= 0.10.0" }, "devDependencies": { - "grunt": "~0.4.5", + "grunt": "~1.5.2", "grunt-cli": "~0.1.13", "grunt-contrib-watch": "~0.6.1", "grunt-include-replace": "~2.0.0", diff --git a/13th Age by Roll20/translations/ca.json b/13th Age by Roll20/translations/ca.json index 094a1e321a..c7ffad1e91 100644 --- a/13th Age by Roll20/translations/ca.json +++ b/13th Age by Roll20/translations/ca.json @@ -1,52 +1,52 @@ { "Conflicted": "En conflicte", "Negative": "Negativa", - "Positive": "Positive", + "Positive": "Positiu", "ac-u": "AC", - "action": "Action", - "assassin": "Assassin", - "at-will": "At-Will", - "attack": "Attack", - "backgrounds": "Backgrounds", - "base-ac-from-class": "Base AC from class", - "base-hp-from-class": "Base HP from class", - "base-md-from-class": "Base MD from class", - "base-pd-from-class": "Base PD from class", - "battle-cry": "Battle Cry", + "action": "Acció", + "assassin": "Assassí\n", + "at-will": "A voluntat\n", + "attack": "Atacar", + "backgrounds": "Fons", + "base-ac-from-class": "AC base de classe", + "base-hp-from-class": "HP base de classe", + "base-md-from-class": "MD base de classe", + "base-pd-from-class": "PD base de classe", + "battle-cry": "Batalla Plorar", "bck-u": "BCK", "cha-u": "CHA", - "charisma": "Charisma", - "charisma-based": "Charisma based", - "class": "Class", + "charisma": "Carisma", + "charisma-based": "Basat en la carisma", + "class": "Classe", "con-u": "CON", - "constitution": "Constitution", - "constitution-based": "Constitution based", - "copyright": "2015 Pelgrane Press Ltd. Published by Pelgrane Press Ltd. under license from Fire Opal Media. The 13th Age is a trademarks of Fire Opal Media, Inc.", - "critical-success-u": "CRITICAL SUCCESS", - "current-hp": "Current HP", - "custom": "Custom", - "custom-1": "Custom 1", - "custom-2": "Custom 2", - "custom-3": "Custom 3", - "daily": "Daily", - "damage-on-melee-miss": "Damage on Melee Miss", - "damage-on-ranged-miss": "Damage on Ranged Miss", - "death-save": "Death Save", - "death-save-u": "DEATH SAVE", - "details": "Details", + "constitution": "Constitució", + "constitution-based": "Basat en la constitució\n", + "copyright": "2015 Pelgrane Press Ltd. Publicat per Pelgrane Press Ltd. sota llicència de Fire Opal Media. The 13th Age és una marca comercial de Fire Opal Media, Inc.", + "critical-success-u": "ÈXIT CRÍTIC\n", + "current-hp": "HP actual", + "custom": "Personalitzat", + "custom-1": "Personalitzat 1", + "custom-2": "Personalitzat 2", + "custom-3": "Personalitzat 3", + "daily": "Diàriament", + "damage-on-melee-miss": "Danys si falles cos a cos", + "damage-on-ranged-miss": "Dany en fallada a distància", + "death-save": "Salvació contra Mort\n", + "death-save-u": "SALVACIÓ CONTRA MORT\n", + "details": "Detalls", "dex-u": "DEX", - "dexterity": "Dexterity", - "dice-u": "DICE", - "domain": "Domain", - "easy-6": "Easy (6+)", - "effect": "Effect", - "encounter": "Encounter", - "engaged": "Engaged", - "equipment": "Equipment", - "escalation-die": "Escalation Die", - "failure-u": "FAILURE", - "far-away": "Far Away", - "feature": "Feature", + "dexterity": "Destresa", + "dice-u": "DAU", + "domain": "Domini", + "easy-6": "Fàcil (6+)\n", + "effect": "Efecte", + "encounter": "Trobada", + "engaged": "Interacció", + "equipment": "Equipament", + "escalation-die": "Dau d'Increment\n", + "failure-u": "FALLADA", + "far-away": "Molt lluny\n", + "feature": "Proesa", "final-verse": "Final-Verse", "flat-hp-mod-from-magic-items": "Flat HP Mod from Magic Items", "flat-initiative-mod": "Flat Initiative Mod", diff --git a/13th Age by Roll20/translations/es.json b/13th Age by Roll20/translations/es.json index acff5fcd4c..b02f35857f 100644 --- a/13th Age by Roll20/translations/es.json +++ b/13th Age by Roll20/translations/es.json @@ -50,23 +50,23 @@ "final-verse": "Verso-final", "flat-hp-mod-from-magic-items": "Mod PV plano de objetos mágicos", "flat-initiative-mod": "Mod Iniciativa plana", - "flat-recovery-mod": "Flat Recovery Mod", - "flexible-action": "Flexible Action", - "free-action": "Free Action", + "flat-recovery-mod": "Mod de recuperación plana", + "flexible-action": "Acción Flexible\n", + "free-action": "Acción libre", "hard-16": "Difícil (16+)", - "help-options": "These are base numbers necessary for the automatic calculations below to work. After you've input these numbers you're encouraged to click on the gear icon in the upper right hand corner to hide this section.", - "hit": "Hit", - "icon-relationships": "Icon Relationships", - "improved": "Improved", - "initiative": "Initiative", - "initiative-u": "INITIATIVE", + "help-options": "Estos son números básicos necesarios para que funcionen los cálculos automáticos que se indican a continuación. Una vez que haya ingresado estos números, le recomendamos que haga clic en el ícono de ajustes en la esquina superior derecha para ocultar esta sección.", + "hit": "Pegar", + "icon-relationships": "Relaciones de iconos", + "improved": "Mejorada", + "initiative": "Iniciativa", + "initiative-u": "INICIATIVA", "int-u": "INT", - "intelligence": "Intelligence", - "intelligence-based": "Intelligence based", - "intercepting": "Intercepting", - "level": "Level", - "line-of-sight": "Line of Sight", - "lvl-u": "LVL", + "intelligence": "Inteligencia", + "intelligence-based": "Basado en inteligencia", + "intercepting": "Interceptando", + "level": "Nivel", + "line-of-sight": "Línea de visión", + "lvl-u": "NIV", "magic-item": "Magic Item", "max": "Max", "max-hp": "Max HP", diff --git a/7th Sea 2e/translations/pl.json b/7th Sea 2e/translations/pl.json index 9cc40a1b2f..9b03ae5e25 100644 --- a/7th Sea 2e/translations/pl.json +++ b/7th Sea 2e/translations/pl.json @@ -2,7 +2,7 @@ "name-u": "IMIĘ", "nation-u": "NARÓD", "player-u": "GRACZ", - "religion-u": "RELIGIA\nReligi-i", + "religion-u": "Religia", "wounds": "Rany", "dramatic-wounds": "Dramatyczne rany", "traits-skills": "Cechy i umiejętności", @@ -12,7 +12,7 @@ "ship": "Statek", "all": "Wszystko", "traits": "Cechy", - "brawn": "Mięśnie", + "brawn": "Krzepa", "finesse": "Finezja", "resolve": "Determinacja", "wits": "Spryt", @@ -50,7 +50,7 @@ "background": "Tło", "arcana": "Arkana", "virtue": "Cnoty", - "hubris": "arogancja", + "hubris": "Pycha", "reputation": "Reputacja", "reputation-rating": "Poziom reputacji", "cost": "Koszt", diff --git a/7th Sea/translations/ca.json b/7th Sea/translations/ca.json index 81977ce400..2ea03ead57 100644 --- a/7th Sea/translations/ca.json +++ b/7th Sea/translations/ca.json @@ -1,72 +1,72 @@ { - "up_to_half_the_range": "Up to half the Range", - "past_half_the_range": "Past Half the Range", - "+roll": "+Roll", + "up_to_half_the_range": "Fins a la meitat del rang\n", + "past_half_the_range": "Més enllà de la meitat del rang\n", + "+roll": "+ Rotlla", "k": "k", - "weapon": "Weapon", - "knack_rating": "Knack Rating", - "name": "Name", - "player": "Player", - "nationality": "Nationality", - "memberships": "Memberships", - "experience": "Experience", - "profession": "Profession", - "skills": "Skills", - "mastery": "Mastery", - "basic": "Basic", + "weapon": "Arma", + "knack_rating": "Valoració de talent", + "name": "Nom", + "player": "Jugador", + "nationality": "Nacionalitat", + "memberships": "Membres", + "experience": "Experiència", + "profession": "Professió", + "skills": "Habilitats", + "mastery": "Mestratge", + "basic": "Bàsic", "combat": "Combat", - "equipment": "Equipment", + "equipment": "Equipament", "notes": "Notes", - "old_skills": "Old Skills", - "character_information": "Character Information", - "traits": "Traits", + "old_skills": "Velles Habilitats", + "character_information": "Informació del personatge", + "traits": "Trets", "brawn": "Brawn", - "finesse": "Finesse", - "wits": "Wits", - "resolve": "Resolve", + "finesse": "Finesa", + "wits": "Enginy", + "resolve": "Resol", "panache": "Panache", - "background": "Background", - "advantages": "Advantages", - "reputation": "Reputation", - "sorcerous_heritages": "Sorcerous Heritages", - "trait": "Trait", - "knack_name": "Knack Name", - "rating": "Rating", + "background": "Fons", + "advantages": "Avantatges", + "reputation": "Reputació", + "sorcerous_heritages": "Patrimonis bruixots", + "trait": "Tret", + "knack_name": "Nom de l'atac", + "rating": "Rang", "cast!": "Cast!", "en_garde": "En Garde!", - "static": "Static", - "crippled": "Crippled", - "on_guard": "On Guard", - "skilled": "Skilled", - "swordsman_schools": "Swordsman Schools", - "special_abilities": "Special Abilities", - "type": "Type", - "damage": "Damage", - "dice": "Dice", - "static_bonus": "Static Bonus", - "keep": "Keep", - "attack": "Attack", - "range": "Range", - "short": "Short", - "long": "Long", - "reload": "Reload", - "melee": "Melee", - "yes": "Yes", + "static": "Estàtica", + "crippled": "Cossat", + "on_guard": "En guàrdia", + "skilled": "Hàbil", + "swordsman_schools": "Escoles d'espadatins", + "special_abilities": "Habilitats especials", + "type": "Tipus", + "damage": "Danys", + "dice": "Daus\n", + "static_bonus": "Bonificació estàtica", + "keep": "Mantenir", + "attack": "Atacar", + "range": "Interval", + "short": "Curt", + "long": "Llarg", + "reload": "Recarregar", + "melee": "cos a cos", + "yes": "Sí", "no": "No", - "defend!": "Defend!", - "active": "Active", - "passive": "Passive", - "wounds": "Wounds", - "dramatic_wounds": "Dramatic Wounds", - "flesh_wounds": "Flesh Wounds", - "roll": "Roll", - "knocked_out": "Knocked Out", - "defence_knacks": "Defence Knacks", - "first": "First", - "second": "Second", - "third": "Third", - "fourth": "Fourth", - "fifth": "Fifth", - "sixth": "Sixth", - "seventh": "Seventh" + "defend!": "Defensa!", + "active": "Actiu", + "passive": "Passiva", + "wounds": "Ferides", + "dramatic_wounds": "Ferides dramàtiques", + "flesh_wounds": "Ferides de Carn", + "roll": "Rotlla", + "knocked_out": "Noquejat", + "defence_knacks": "Destreses de defensa", + "first": "Primer", + "second": "Segon", + "third": "Tercer", + "fourth": "Quart", + "fifth": "Cinquè", + "sixth": "Sisè", + "seventh": "Setè" } \ No newline at end of file diff --git a/ADnD_2E_Revised/2ESheet.html b/ADnD_2E_Revised/2ESheet.html index e252dd19b5..1e73f1f400 100644 --- a/ADnD_2E_Revised/2ESheet.html +++ b/ADnD_2E_Revised/2ESheet.html @@ -9,7 +9,7 @@

Changes in


@@ -1076,14 +1076,14 @@ Notes - + - - % + + % @@ -1095,7 +1095,7 @@ Notes - + @@ -1113,11 +1113,11 @@ Notes - + - % - % + % + % @@ -1133,11 +1133,11 @@ Notes - + - % + % @@ -1152,11 +1152,11 @@ Notes - + - % + % @@ -1169,7 +1169,7 @@ Notes - + @@ -1192,7 +1192,7 @@

- + @@ -1202,7 +1202,7 @@ - + @@ -1216,7 +1216,7 @@
Ability
Score
- + @@ -1227,7 +1227,7 @@ - + @@ -1235,18 +1235,18 @@ - + - - + + - + @@ -1254,7 +1254,7 @@ - + @@ -1262,7 +1262,7 @@ - + @@ -1270,7 +1270,7 @@ - + @@ -1280,26 +1280,26 @@ - + - + - + - + - + @@ -1309,7 +1309,7 @@ - + @@ -1319,17 +1319,17 @@ - + - - + @@ -1338,16 +1338,16 @@ - + - + - + @@ -1356,7 +1356,7 @@ - + @@ -1364,7 +1364,7 @@ - + @@ -1372,7 +1372,7 @@ - + @@ -22219,22 +22219,22 @@ - + {{#rollTotal() checkroll checktarget}} - + {{/rollTotal() checkroll checktarget}} {{#rollLess() checkroll checktarget}} - + {{/rollLess() checkroll checktarget}} {{#rollGreater() checkroll checktarget}} - + {{/rollGreater() checkroll checktarget}}
Hit
Probability
Damage
Adjustment
Notes
%%
Reaction
Adjustment
Missile Attack
Adjustment
Notes
Hit Point
Adjustment
System
Shock
Notes
%%
%%
Number of
Languages
Maximum
Spell Level
Notes
% + %
Magical Def
Adjustment
Bonus
Priest Spells
Notes
%%
Maximum Number
of Henchmen
Loyalty
Base
Notes
{{checkroll}}≤> {{checktarget}}
Fail!Fail!
Fail!Fail!
Success!Success!
@@ -44363,6 +44363,11 @@ const extractRollResult = async function(rollExpression) { return roll.result; }; +const printRoll = async function(rollExpression) { + let roll = await startRoll(rollExpression); + finishRoll(roll.rollId); +} + const isRollValid = function (rollExpression, field) { let expression = rollExpression.trim(); if (!expression) @@ -44947,6 +44952,22 @@ on('change:charisma change:leadership change:appearance', function() { } }); }); + +on('clicked:opendoor-check', function (eventInfo){ + getAttrs(['opendoor'], async function (values){ + let match = values.opendoor.match(/(\d+)\((\d+)\)/); + let rollTemplate = "&{template:2Echeck} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20]]}} {{color=blue}}" + if (!match) { + return printRoll(rollTemplate + "{{checkvs=Open Doors Check}} {{checktarget=[[@{opendoor}]]}}"); + } + let target = await extractQueryResult(`?{What kind of door?|Normal door,${match[1]}|Locked / Barred / Magical door,${match[2]}}`); + rollTemplate += ` {{checktarget=[[${target}]]}}`; + rollTemplate += target === match[1] + ? ` {{checkvs=Open Normal Doors Check}}` + : ` {{checkvs=Open Locked/Barred/Magical Doors Check}}`; + return printRoll(rollTemplate); + }); +}); //#endregion //#region Wizard and Priest Spells slot counting @@ -45340,6 +45361,9 @@ priestSpellLevelsSections.forEach(spellLevel => { let lastSection = spellLevel.sections[spellLevel.sections.length - 1]; if (isNewSpellSection(lastSection)) { setupAutoFillSpellInfo(lastSection, priestSpells, priestDisplayLevel, SPHERE_FIELDS); + if (lastSection !== 'priq') { + setupAddPriestSpell(lastSection); + } } }); setupAutoFillSpellInfo("primonster", priestSpells, priestDisplayLevel, SPHERE_FIELDS); @@ -45873,7 +45897,7 @@ on(BOOK_FIELDS.map(b => `change:${b}`).join(' '), function (eventInfo) { // --- Version change start --- // const SHEET_NAME = 'AD&D 2E Revised'; -const SHEET_VERSION = '4.8.1'; +const SHEET_VERSION = '4.9.1'; on('sheet:opened', function(){ getAttrs(['character_sheet'],function(attrs){ diff --git a/ADnD_2E_Revised/2EStyle.css b/ADnD_2E_Revised/2EStyle.css index 41189388b6..699a2a4919 100644 --- a/ADnD_2E_Revised/2EStyle.css +++ b/ADnD_2E_Revised/2EStyle.css @@ -869,6 +869,10 @@ button { .sheet-rolltemplate-2Esave table { width: 100%; } + +.sheet-rolltemplate-darkmode .inlinerollresult { + color: rgb(255, 171, 0); +} /*#endregion */ /*#region Styles common to all 2E Template Headers */ @@ -1378,16 +1382,16 @@ button { .sheet-rolltemplate-2Egrenademiss .sheet-miss-text { font-size: 8pt; } -/*#endregion*/ -/*/ Overwrite inline roll styling /*/ .sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult { background-color: inherit; border: inherit; + color: #000000; padding: 0; font-weight: inherit; font-size: inherit; } +/*#endregion*/ .sheet-inline { display: inline-block; @@ -1610,6 +1614,19 @@ input.sheet-show-toast-error:checked ~ .sheet-error display: block; } +.sheet-action-button, +.sheet-action-button-roll { + height: 19px; + font-size: 1.3em; + padding: 2px 3px; + margin: 0 3px; +} + +.sheet-action-button-roll:before { + font-family: "dicefontd20"; + content: "t"; +} + /* Announcement styling start */ div.sheet-announcement { width: 95%; diff --git a/ADnD_2E_Revised/css/2EStyle-base.css b/ADnD_2E_Revised/css/2EStyle-base.css index a316c007c0..9000b1ec1d 100644 --- a/ADnD_2E_Revised/css/2EStyle-base.css +++ b/ADnD_2E_Revised/css/2EStyle-base.css @@ -846,15 +846,6 @@ button { insert_rolltemplates.css -/*/ Overwrite inline roll styling /*/ -.sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult { - background-color: inherit; - border: inherit; - padding: 0; - font-weight: inherit; - font-size: inherit; -} - .sheet-inline { display: inline-block; } @@ -1076,6 +1067,19 @@ input.sheet-show-toast-error:checked ~ .sheet-error display: block; } +.sheet-action-button, +.sheet-action-button-roll { + height: 19px; + font-size: 1.3em; + padding: 2px 3px; + margin: 0 3px; +} + +.sheet-action-button-roll:before { + font-family: "dicefontd20"; + content: "t"; +} + /* Announcement styling start */ div.sheet-announcement { width: 95%; diff --git a/ADnD_2E_Revised/css/rolltemplates.css b/ADnD_2E_Revised/css/rolltemplates.css index 83627d7ed5..8c382666b8 100644 --- a/ADnD_2E_Revised/css/rolltemplates.css +++ b/ADnD_2E_Revised/css/rolltemplates.css @@ -23,6 +23,10 @@ .sheet-rolltemplate-2Esave table { width: 100%; } + +.sheet-rolltemplate-darkmode .inlinerollresult { + color: rgb(255, 171, 0); +} /*#endregion */ /*#region Styles common to all 2E Template Headers */ @@ -532,4 +536,13 @@ .sheet-rolltemplate-2Egrenademiss .sheet-miss-text { font-size: 8pt; } + +.sheet-rolltemplate-2Egrenademiss .sheet-ignore-inlineroll .inlinerollresult { + background-color: inherit; + border: inherit; + color: #000000; + padding: 0; + font-weight: inherit; + font-size: inherit; +} /*#endregion*/ \ No newline at end of file diff --git a/ADnD_2E_Revised/html/changelog.html b/ADnD_2E_Revised/html/changelog.html index 52db55b0c2..cdc678ae17 100644 --- a/ADnD_2E_Revised/html/changelog.html +++ b/ADnD_2E_Revised/html/changelog.html @@ -4,7 +4,7 @@

Changes in

    -
  • Fixed 'Reset Spell Slots' button for resetting current level of spells
  • +
  • Fixed the Add Priest Spells based on Spheres button

diff --git a/ADnD_2E_Revised/html/components/rolltemplates.html b/ADnD_2E_Revised/html/components/rolltemplates.html index 320c352a89..c5d94530fe 100644 --- a/ADnD_2E_Revised/html/components/rolltemplates.html +++ b/ADnD_2E_Revised/html/components/rolltemplates.html @@ -847,22 +847,22 @@ {{checkroll}} - ≤ + > {{checktarget}} {{#rollTotal() checkroll checktarget}} - Fail! + Fail! {{/rollTotal() checkroll checktarget}} {{#rollLess() checkroll checktarget}} - Fail! + Fail! {{/rollLess() checkroll checktarget}} {{#rollGreater() checkroll checktarget}} - Success! + Success! {{/rollGreater() checkroll checktarget}} diff --git a/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-players-option.html b/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-players-option.html index fc697fff3a..00a58e15f0 100644 --- a/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-players-option.html +++ b/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-players-option.html @@ -1,7 +1,7 @@

- + @@ -12,7 +12,7 @@ - + @@ -20,18 +20,18 @@ - + - - + + - + @@ -39,7 +39,7 @@ - + @@ -47,7 +47,7 @@ - + @@ -55,7 +55,7 @@ - + @@ -65,26 +65,26 @@ - + - + - + - + - + @@ -94,7 +94,7 @@ - + @@ -104,17 +104,17 @@ - + - - + @@ -123,16 +123,16 @@ - + - + - + @@ -141,7 +141,7 @@ - + @@ -149,7 +149,7 @@ - + @@ -157,7 +157,7 @@ - + diff --git a/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-standard.html b/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-standard.html index 737a549917..81fd0b5596 100644 --- a/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-standard.html +++ b/ADnD_2E_Revised/html/tabs/character-tab/attributes-tab/attributes-standard.html @@ -12,14 +12,14 @@ - + - - + + @@ -31,7 +31,7 @@ - + @@ -49,11 +49,11 @@ - + - - + + @@ -69,11 +69,11 @@ - + - + @@ -88,11 +88,11 @@ - + - + @@ -105,7 +105,7 @@ - + @@ -128,7 +128,7 @@
Hit
Probability
Damage
Adjustment
Notes
%%
Reaction
Adjustment
Missile Attack
Adjustment
Notes
Hit Point
Adjustment
System
Shock
Notes
%%
%%
Number of
Languages
Maximum
Spell Level
Notes
% + %
Magical Def
Adjustment
Bonus
Priest Spells
Notes
%%
Maximum Number
of Henchmen
Loyalty
Base
Notes
Notes
%%
Notes
Notes
%%%% Notes
%% Notes
%%
Notes
- + @@ -138,7 +138,7 @@ - + diff --git a/ADnD_2E_Revised/javascript/sheetWorkers.js b/ADnD_2E_Revised/javascript/sheetWorkers.js index 5d47d871b1..ebd069c9b0 100644 --- a/ADnD_2E_Revised/javascript/sheetWorkers.js +++ b/ADnD_2E_Revised/javascript/sheetWorkers.js @@ -91,6 +91,11 @@ const extractRollResult = async function(rollExpression) { return roll.result; }; +const printRoll = async function(rollExpression) { + let roll = await startRoll(rollExpression); + finishRoll(roll.rollId); +} + const isRollValid = function (rollExpression, field) { let expression = rollExpression.trim(); if (!expression) @@ -675,6 +680,22 @@ on('change:charisma change:leadership change:appearance', function() { } }); }); + +on('clicked:opendoor-check', function (eventInfo){ + getAttrs(['opendoor'], async function (values){ + let match = values.opendoor.match(/(\d+)\((\d+)\)/); + let rollTemplate = "&{template:2Echeck} {{character=@{character_name}}} {{checkroll=[[1d20cs1cf20]]}} {{color=blue}}" + if (!match) { + return printRoll(rollTemplate + "{{checkvs=Open Doors Check}} {{checktarget=[[@{opendoor}]]}}"); + } + let target = await extractQueryResult(`?{What kind of door?|Normal door,${match[1]}|Locked / Barred / Magical door,${match[2]}}`); + rollTemplate += ` {{checktarget=[[${target}]]}}`; + rollTemplate += target === match[1] + ? ` {{checkvs=Open Normal Doors Check}}` + : ` {{checkvs=Open Locked/Barred/Magical Doors Check}}`; + return printRoll(rollTemplate); + }); +}); //#endregion //#region Wizard and Priest Spells slot counting @@ -1068,6 +1089,9 @@ priestSpellLevelsSections.forEach(spellLevel => { let lastSection = spellLevel.sections[spellLevel.sections.length - 1]; if (isNewSpellSection(lastSection)) { setupAutoFillSpellInfo(lastSection, priestSpells, priestDisplayLevel, SPHERE_FIELDS); + if (lastSection !== 'priq') { + setupAddPriestSpell(lastSection); + } } }); setupAutoFillSpellInfo("primonster", priestSpells, priestDisplayLevel, SPHERE_FIELDS); diff --git a/ADnD_2E_Revised/javascript/version.js b/ADnD_2E_Revised/javascript/version.js index fbe9bbbdc4..603e334aa2 100644 --- a/ADnD_2E_Revised/javascript/version.js +++ b/ADnD_2E_Revised/javascript/version.js @@ -1,7 +1,7 @@ // --- Version change start --- // const SHEET_NAME = 'AD&D 2E Revised'; -const SHEET_VERSION = '4.8.1'; +const SHEET_VERSION = '4.9.1'; on('sheet:opened', function(){ getAttrs(['character_sheet'],function(attrs){ diff --git a/AGE System/translations/fr.json b/AGE System/translations/fr.json index ae45e5c181..53750b9950 100644 --- a/AGE System/translations/fr.json +++ b/AGE System/translations/fr.json @@ -8,7 +8,7 @@ "arcana/psychic-u": "ARCANE/PSYCHIQUE", "whisper-u": "CHUCHOTER", "aim-u": "VISER", - "stunts2-u": "2 Stunts", + "stunts2-u": "2 cascades", "char-name-u": "NOM DU PERSONNAGE", "mage": "Mage", "rogue": "Roublard", @@ -101,7 +101,7 @@ "cp-u": "PC", "sp-u": "PA", "gp-u": "PO", - "import-to-currency-u": "IMPORT TO CURRENCY", + "import-to-currency-u": "IMPORTER DANS LA MONNAIE", "currency-u": "DEVISE", "eye-u": "YEUX", "skin-u": "PEAU", @@ -187,7 +187,7 @@ "show": "Afficher", "hide": "Masquer", "apply-armor-penalty-to-dexterity-rolls": "Appliquer la pénalité d'armure aux jets de Dextérité", - "add-tiebreaker-to-initiative-rolls": "Add Tiebreaker to Initiative rolls", + "add-tiebreaker-to-initiative-rolls": "Ajouter un séparateur d'égalité aux jets d'initiative", "no": "Non", "yes": "Oui", "options-u": "OPTIONS", @@ -195,9 +195,9 @@ "never-use-aim": "Ne jamais viser", "toggle": "Bascule", "always-use-aim": "Toujours utiliser la visée", - "never-use-2-stunts": "Never use 2 Stunts", - "prompt-for-2-stunts": "Prompt for 2 Stunts", - "always-use-2-stunts": "Always use 2 Stunts", + "never-use-2-stunts": "Ne jamais utiliser 2 cascades", + "prompt-for-2-stunts": "Demander pour 2 cascades", + "always-use-2-stunts": "Toujours utiliser 2 cascades", "aim-value-a-value-must-be-entered-here": "Value du visé (un nombre DOIT être entré ici)", "sections-u": "SECTIONS", "show-the-power-list": "Afficher la liste des pouvoirs dans l’onglet personnage", @@ -251,45 +251,45 @@ "main-roll-button-title": "C'est le constructeur de jets. Vous pouvez cliquer dessus, répondre à quatre questions, puis il lancera les dés pour vous.", "damage": "Dégâts", "total": "Total", - "target_number": "Target Number", - "stunt_points": "Stunt Points", - "stunt_die": "Stunt Die", + "target_number": "Seuil de Réussite", + "stunt_points": "Points de cascade", + "stunt_die": "Dé de cascade", "ability": "Ability", "ability_value": "Ability Value (field 1 of 4)", "focus_value": "Focus (field 2 of 4)", - "additional_modifier": "Additional modifier (field 3 of 4)", - "additional_modifier2": "Additional modifier", + "additional_modifier": "Modificateur supplémentaire (champ 3 sur 4)", + "additional_modifier2": "Modificateur supplémentaire", "ability_score": "Ability Score", "roll_description": "Roll description (field 4 of 4, optional)", "die_roll": "Die Roll", "focus": "Focus", - "cunning": "Cunning", - "magic": "Magic", - "spellcasting_ability": "Spellcasting Ability", - "psychic_ability": "Psychic Ability", + "cunning": "Ruse", + "magic": "Magie", + "spellcasting_ability": "Capacité de lancement de sorts", + "psychic_ability": "Capacité psychique", "ability_focus": "Ability Focus", "arcana_focus": "Arcana Focus", "psychic_focus": "Psychic Focus", "fatigue_check_for": "Fatigue Check for", "each_fatiguing_spell": "Each Fatiguing spell this Encounter", - "fear_label": "Fear", + "fear_label": "Peur", "armor_penalty": "Armor Penalty", "initiative_adjustment": "Initiative Adjustment", "initiative": "Initiative", - "resources": "Resources", - "income_label": "Income", - "attack_bonus_label": "Attack Bonus", + "resources": "Ressources", + "income_label": "Revenu", + "attack_bonus_label": "Bonus d’attaque", "magic_arcana_focus": "Magic Arcana Focus", "spellpower_label": "Spellpower", "fatigue_tn_label": "Fatigue TN", "kanna_cost_label": "Kanna Cost", "power_cost_label": "Power Cost", "plus_one_tn": "+1 TN", - "weapon_groups": "Weapon Groups", - "power_talent_spec_name": "Power, Talent or Specialization name", - "focus_bonus_title": "Focus bonus (0, 2, 3, etc.) MUST have a value for the buttons to work.", - "description": "Description", - "whisper": "Whisper", - "whisper_roll": "Whisper Roll", - "public_roll": "Public Roll" + "weapon_groups": "Groupe d'armes", + "power_talent_spec_name": "Nom du pouvoir, du talent ou de la spécialisation", + "focus_bonus_title": "Le bonus de focus (0, 2, 3, etc.) DOIT avoir une valeur pour que les boutons fonctionnent.", + "description": "Description ", + "whisper": "Murmurer", + "whisper_roll": "Murmurer le jet", + "public_roll": "Jet Public" } diff --git a/Aces and Eights (Shattered Frontier)/sheet.html b/Aces and Eights (Shattered Frontier)/sheet.html index f8e436970b..b965e0bc95 100644 --- a/Aces and Eights (Shattered Frontier)/sheet.html +++ b/Aces and Eights (Shattered Frontier)/sheet.html @@ -57,12 +57,17 @@
-
-

ABILITIES

+ +
+
+

ABILITIES

+
- -
+ Use 2nd Edition Abilities + + +
@@ -154,6 +159,147 @@
+ + + + +
+ +
+ +
+
+ +
+
+
+
+ + +
+ +
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+
+
+
@@ -207,7 +353,10 @@
- +
+

OTHER NOTES

+ +
@@ -229,7 +378,7 @@
-
+
Show Accuracy Modifiers @@ -637,6 +786,7 @@
+
@@ -680,8 +830,10 @@
-

STATS

-

NOTES/TACK

+
+

STATS

+

NOTES/TACK

+
@@ -732,7 +884,6 @@
-
diff --git a/Aces and Eights (Shattered Frontier)/style.css b/Aces and Eights (Shattered Frontier)/style.css index 8d8a28295d..455631b98d 100644 --- a/Aces and Eights (Shattered Frontier)/style.css +++ b/Aces and Eights (Shattered Frontier)/style.css @@ -91,6 +91,7 @@ hr { padding: 0; } +/*General Charactersheet*/ .charsheet{ background: white; } @@ -110,21 +111,14 @@ h1{ .sheet-grid{ display: grid; - grid-template-columns: 256px 180px 400px; - grid-template-rows: 40px 50px 80px 95px 195px; + grid-template-columns: 56px 200px 180px 400px; + grid-template-rows: 50px 50px 80px auto 195px; column-gap: 0px; } -.sheet-abilities_grid{ - grid-row: 2/ span 4; - grid-col: 1; - display: grid; - grid-template-columns: 70px 60px 116px; - grid-template-rows: 40px 40px 40px 40px 40px 40px 40px 40px 40px; - column-gap: 3px; - row-gap: 5px; - justify-items: center; - align-items:center; +/*Abilities (General)*/ +.sheet-abilities_header{ + grid-column: 1 / span 2; } .sheet-ability_label_large{ @@ -136,19 +130,6 @@ h1{ justify-self: center; } -.sheet-abilities_grid label + input{ - height: 20px; - width: 116px; -} - -.sheet-abilities_grid input{ - height: 30px; - width: 50px !important; - align-self: start; - text-align: center; - font-size: 20px; -} - .sheet-small_label{ font-size: 13px; margin-bottom: 1px; @@ -159,6 +140,27 @@ h1{ text-align: center; } +/*Abilites 1e*/ +.sheet-abilities_1e{ + grid-row: 2/ span 4; + grid-column: 1 / span 2; + display: grid; + grid-template-columns: 70px 60px 116px; + grid-template-rows: 40px 40px 40px 40px 40px 40px 40px 40px 40px; + column-gap: 3px; + row-gap: 5px; + justify-items: center; + align-items:center; +} + +.sheet-abilities_1e input{ + height: 30px; + width: 50px !important; + align-self: start; + text-align: center; + font-size: 20px; +} + .sheet-mod_grid{ display: grid; grid-template-columns: 116px; @@ -174,6 +176,88 @@ h1{ text-align: center; } +/*Abilities 2e*/ +.sheet-abilities_2e{ + grid-row: 2/ span 4; + grid-column: 1 / span 2; + display: grid; + grid-template-columns: 28px 60px 60px 98px; + column-gap: 3px; + row-gap: 5px; + justify-items: center; + align-items:center; +} + +.sheet-abilities_2e input{ + height: 30px; + width: 50px !important; + text-align: left; + font-size: 20px; +} + +.sheet-mod_line{ + grid-column: 1 / span 4; + display: flex; + flex-wrap: wrap; + justify-content: left; + width: 246px; +} + +.sheet-mod_line div{ + display: flex; + padding-left: 20px; + padding-bottom: 10px; +} + +.sheet-mod_line div input{ + margin-left: 15px; + text-align: center; +} + +.sheet-abilities_2e .sheet-fame_rep_category{ + width: 140px !important; + font-size: 15px; +} + +.sheet-abilities_2e .sheet-toggle-show-mods{ + height: 15px; +} + +input.sheet-toggle-show-mods:checked + div + div + div + div.sheet-mod_line{ + display: flex +} + +input.sheet-toggle-show-mods:not(:checked) + div + div + div + div.sheet-mod_line{ + display: none; +} + +/*Second Edition Toggling*/ +div input.sheet-toggle-show-2e:checked ~ div.sheet-abilities_1e { + display: none; +} + +div input.sheet-toggle-show-2e:not(:checked) ~ div.sheet-abilities_2e { + display: none; +} + +.sheet-toggle-show-2e{ + width: 30px; + margin-top: 13px; + margin-left: 20px; +} + +.sheet-toggle-show-2e ~ span{ + font-size: 17px; + padding-top: 7px; + font-weight: bold; +} + +.sheet-abilities_1e label + input, .sheet-abilities_2e label + input{ + height: 20px; + width: 116px; +} + +/*HP*/ .sheet-HP_header label{ margin-top: 7px; } @@ -201,6 +285,7 @@ h1{ grid-col: 2; } +/*Money*/ .sheet-money_grid input{ font-size: 21px; width: 180px; @@ -212,6 +297,7 @@ h1{ grid-col: 2; } +/*Skills*/ .sheet-skills_grid{ grid-col: 3; grid-row: 1 / span 5; @@ -261,6 +347,7 @@ h1{ width: 70px; } +/*Items*/ .sheet-items_grid{ grid-col: 2; grid-row: 4 / span 2; @@ -272,8 +359,22 @@ h1{ width: 180px; } -/*Weapons*/ +.sheet-other_notes{ + width: 430px; + margin-top: 20px; + margin-bottom: 50px; +} +.sheet-big_box{ + margin-top: 10px; + width: 430px; +} + +textarea{ + font-size: 15px; +} + +/*Weapons*/ input.sheet-toggle-show:not(:checked) ~ div div.sheet-speed_mods{ display: none; } @@ -288,7 +389,6 @@ input.sheet-toggle-show-acc:not(:checked) ~ div div.sheet-acc_mods{ margin-top: 13px; } - .sheet-toggle-calc{ margin-bottom: 4px; } @@ -353,15 +453,6 @@ input.sheet-toggle-show-acc:not(:checked) ~ div div.sheet-acc_mods{ margin-bottom: 5px; } -.sheet-big_box{ - margin-top: 10px; - width: 430px; -} - -textarea{ - font-size: 15px; -} - .sheet-repeating_weapons{ margin-bottom: 10px; } @@ -433,6 +524,7 @@ button.sheet-weapons_button:before{ content: "" !important; } +/*Bio Page*/ .sheet-bio2_grid{ display: grid; grid-template-columns: 220px 130px 110px 370px; @@ -537,6 +629,8 @@ button.sheet-weapons_button:before{ grid-column: 1 / span 3; } +/*Horses*/ + .sheet-breed input, .sheet-personality input{ width: 130px; } @@ -559,11 +653,15 @@ button.sheet-weapons_button:before{ font-size: 20px; } +.sheet-horse_headers_flex{ + display: flex; + justify-content: space-around; +} .sheet-horse_stats h1{ - text-align: left; + /*text-align: left; margin-left: 130px; display: inline; - margin-right: 130px; + margin-right: 130px;*/ } .sheet-horse_stats_grid{ @@ -591,6 +689,7 @@ button.sheet-weapons_button:before{ display: grid; grid-template-columns: 450px 285px; grid-template-rows: 120px; + margin-bottom: 20px; } .sheet-horse_tack{ @@ -598,6 +697,11 @@ button.sheet-weapons_button:before{ resize: none; } +.sheet-horses .sheet-bio{ + margin-top: 20px; +} + +/*Roll Templates*/ .sheet-rolltemplate-skills, .sheet-rolltemplate-attack{ background: url(https://github.com/lelajcorson/Aces-and-Eights-Character-Sheet/blob/skills-rolltemplate/roll_border.png?raw=true) top left; background-size: 195px 104px; diff --git a/Alien Roleplaying Game/translations/es.json b/Alien Roleplaying Game/translations/es.json index 2988951445..3f8988462c 100644 --- a/Alien Roleplaying Game/translations/es.json +++ b/Alien Roleplaying Game/translations/es.json @@ -1,162 +1,162 @@ { - "character": "Character", - "ship": "Ship", + "character": "Personaje", + "ship": "Nave", "xeno": "Xeno", - "hostile": "Hostile", - "personal-agenda-u": "Personal Agenda", - "personal-agenda-place": "Personal Agenda", - "character-name-u": "Character Name", - "character-name-place": "Character Name", - "talents-u": "Talents", - "talent-one-name.place": "Talent one name", - "talent-one-description.place": "Talent one description", - "talent-two-name.place": "Talent two name", - "talent-two-description.place": "Talent two description", - "talent-three-name.place": "Talent three name", - "talent-three-description.place": "Talent three description", - "talent-four-name.place": "Talent four name", - "talent-four-description.place": "Talent four description", - "talent-five-name.place": "Talent five name", - "talent-five-description.place": "Talent five description", - "talent-six-name.place": "Talent six name", - "talent-six-description.place": "Talent six description", - "talent-seven-name.place": "Talent seven name", - "talent-seven-description.place": "Talent seven description", - "talent-eight-name.place": "Talent eight name", - "talent-eight-description.place": "Talent eight description", - "career-u": "Career", - "career-place": "Career", - "relationships-u": "Relationships", - "buddy-u": "Buddy: ", + "hostile": "Hostil", + "personal-agenda-u": "Motivación", + "personal-agenda-place": "Motivación", + "character-name-u": "Nombre del personaje", + "character-name-place": "Nombre del personaje", + "talents-u": "Talentos", + "talent-one-name.place": "Nombre talento 1", + "talent-one-description.place": "Descripción talento 1", + "talent-two-name.place": "Nombre talento 2", + "talent-two-description.place": "Descripción talento 2", + "talent-three-name.place": "Nombre talento 3", + "talent-three-description.place": "Descripción talento 3", + "talent-four-name.place": "Nombre talento 4", + "talent-four-description.place": "Descripción talento 4", + "talent-five-name.place": "Nombre talento 5", + "talent-five-description.place": "Descripción talento 5", + "talent-six-name.place": "Nombre talento 6", + "talent-six-description.place": "Descripción talento 6", + "talent-seven-name.place": "Nombre talento 7", + "talent-seven-description.place": "Descripción talento 7", + "talent-eight-name.place": "Nombre talento 8", + "talent-eight-description.place": "Descripción talento 8", + "career-u": "Profesión", + "career-place": "Profesión", + "relationships-u": "Relaciones", + "buddy-u": "Colega: ", "rival-u": "Rival: ", - "roll-buttons-u": "Roll Buttons", + "roll-buttons-u": "Botones para tiradas", "1d3-u": "1d3", "1d6-u": "1d6", "12d6d3-u": "2d6", "3d6-u": "3d6", "d66-u": "d66", - "panic-u": "Panic", - "panic-desc": "Tension that grows too strong can explode into a wild panic; Panic roll is a D6 plus your current Stress level. Read results from the table in the Player manual.", - "initiative-card-u": "Initiative: Card", - "initiative-card-desc": "Initiative: Card button to enter your drawn intitiative card. Make sure you select your token before rolling to automatically assign the initivative.", - "initiative-dice-u": "Initiative: Dice", - "initiative-dice-desc": "Initiative: Dice button to roll for your initiative, the GM may ask you to change the dice rolled in the configuraiton tab. Make sure you select your token before rolling to automatically assign the initivative.", - "base-dice-u": "Base Dice", - "base": "Base", - "stress-dice-u": "Stress Dice", - "stress-level-u": "Stress Level", - "close-combat-u": "Close Combat", - "experience-points-u": "Experience Points", - "health-u": "Health", - "heavy-machinery-u": "Heavy Machinery", - "strength-u": "Strength", - "stamina-u": "Stamina", - "make-roll-secret-u": "Make Roll Secret", - "story-points-u": "Story Points", - "radiation-u": "Radiation", - "ranged-combat-u": "Ranged Combat", - "observation-u": "Observation", - "tiny-items-u": "Tiny Items", - "odds-and-ends-place": "odds and ends", - "mobility-u": "Mobility", - "skill-xeno-desc": "Skill rolls for Hostiles uses only the skill level,\nplease ensure that the Character tab attributes\nare all set to 0 for Hostiles.", - "agility-u": "Agility", - "attributes-u": "Attributes", - "wits-u": "Wits", - "survival-u": "Survival", - "critical-injuries-u": "Critical Injuries", - "critical-injuries-place": "Critical Injuries", - "piloting-u": "Piloting", - "comtech-u": "Comtech", - "Comtech-u": "Comtech", - "signature-item-u": "Signature Item", - "signature-item-place": "Signature Item", - "command-u": "Command", - "empathy-u": "Empathy", - "medical-aid-u": "Medical Aid", - "gear-u": "Gear", - "item-place": "Item", - "item-1-place": "Item 1", - "item-2-place": "Item 2", - "item-3-place": "Item 3", - "item-4-place": "Item 4", - "item-5-place": "Item 5", - "item-6-place": "Item 6", - "item-7-place": "Item 7", - "item-8-place": "Item 8", - "conditions-u": "Conditions", - "starving-u": "Starving", - "dehydrated-u": "Dehydrated", - "exhausted-u": "Exhausted", - "freezing-u": "Freezing", - "manipulation-u": "Manipulation", - "armor-u": "Armor", - "encumbrance-u": "Encumbrance", - "weapons-u": "Weapons", - "weapon-one-name-place": "Weapon one name", - "weapon-two-name-place": "Weapon two name", - "weapon-three-name-place": "Weapon three name", - "weapon-four-name-place": "Weapon four name", - "weapon-five-name-place": "Weapon five name", - "weapon-six-name-place": "Weapon six name", - "attack-u": "Attack", - "bonus-u": "Bonus", - "damage-u": "Damage", - "engaged-u": "Engaged", - "short-u": "Short", - "medium-u": "Medium", - "long-u": "Long", - "extreme-u": "Extreme", - "range-u": "Range", - "use-close-combat-title": "Close combat", + "panic-u": "Pánico", + "panic-desc": "Si la Tensión se vuelve insoportable, podrías estallar y sufrir un ataque de pánico. Tira un D6, súmale tu NIVEL DE TENSIÓN actual y consulta el resultado en la tabla que aparece en el reglamento.", + "initiative-card-u": "Iniciativa: Carta", + "initiative-card-desc": "Iniciativa: Botón para introducir tu carta de iniciativa robada. Asegúrate de seleccionar tu ficha (token) antes de tirar para asignar automáticamente la iniciativa.", + "initiative-dice-u": "Iniciativa: Dados", + "initiative-dice-desc": "Iniciativa: Botón para tirar por tu iniciativa. La DM puede pedirte que cambies los dados tirados en la pestaña de configuración. Asegúrate de seleccionar tu ficha (token) antes de tirar para asignar automáticamente la iniciativa.", + "base-dice-u": "Dados Básicos", + "base": "Básicos", + "stress-dice-u": "Dados de Tensión", + "stress-level-u": "Nivel de Tensión", + "close-combat-u": "Combate cuerpo a cuerpo", + "experience-points-u": "Puntos de experiencia", + "health-u": "Vitalidad", + "heavy-machinery-u": "Maquinaria pesada", + "strength-u": "Fortaleza", + "stamina-u": "Aguante", + "make-roll-secret-u": "Tirada secreta", + "story-points-u": "Puntos de trama", + "radiation-u": "Radiación", + "ranged-combat-u": "Combate a distancia", + "observation-u": "Observación", + "tiny-items-u": "Objetos diminutos", + "odds-and-ends-place": "Chismes", + "mobility-u": "Movilidad", + "skill-xeno-desc": "Las tiradas de habilidad de los Hostiles utilizan sólo el nivel de habilidad,\npor favor, asegúrate de que los atributos de la pestaña Personaje\nestén todos a 0 para los Hostiles.", + "agility-u": "Agilidad", + "attributes-u": "Atributos", + "wits-u": "Intelecto", + "survival-u": "Supervivencia", + "critical-injuries-u": "Heridas críticas", + "critical-injuries-place": "Heridas críticas", + "piloting-u": "Pilotar", + "comtech-u": "Computadoras", + "Comtech-u": "Computadoras", + "signature-item-u": "Objeto personal", + "signature-item-place": "Objeto personal", + "command-u": "Mando", + "empathy-u": "Empatía", + "medical-aid-u": "Medicina", + "gear-u": "Equipo", + "item-place": "Objeto", + "item-1-place": "Objeto 1", + "item-2-place": "Objeto 2", + "item-3-place": "Objeto 3", + "item-4-place": "Objeto 4", + "item-5-place": "Objeto 5", + "item-6-place": "Objeto 6", + "item-7-place": "Objeto 7", + "item-8-place": "Objeto 8", + "conditions-u": "Estados", + "starving-u": "Hambriento", + "dehydrated-u": "Deshidratado", + "exhausted-u": "Exhausto", + "freezing-u": "Congelado", + "manipulation-u": "Manipulación", + "armor-u": "Blindaje", + "encumbrance-u": "Capacidad de carga", + "weapons-u": "Armas", + "weapon-one-name-place": "Nombre arma 1", + "weapon-two-name-place": "Nombre arma 2", + "weapon-three-name-place": "Nombre arma 3", + "weapon-four-name-place": "Nombre arma 4", + "weapon-five-name-place": "Nombre arma 5", + "weapon-six-name-place": "Nombre arma 6", + "attack-u": "Ataque", + "bonus-u": "Bonificación", + "damage-u": "Daño", + "engaged-u": "Interacción", + "short-u": "Corto", + "medium-u": "Medio", + "long-u": "Largo", + "extreme-u": "Extremo", + "range-u": "Alcance", + "use-close-combat-title": "Combate cuerpo a cuerpo", "cc-title": "CC", - "use-ranged-combat-title": "Ranged combat", - "rc-title": "RC", - "comment-desc-notes-place": "Comment/description/notes...", - "consumables-u": "Consumables", - "air-u": "Air", - "food-u": "Food", - "power-u": "Power", - "water-u": "Water", - "building-betterworlds-u": "\"Building Better Worlds\"", - "template-bonus-u": "Bonus: ", - "template-dice-u": "Dice: ", - "template-damage-u": "Damage: ", - "none-place": "None", - "weight-u": "Weight", + "use-ranged-combat-title": "Combate a distancia", + "rc-title": "CD", + "comment-desc-notes-place": "Comentario/descripción/notas...", + "consumables-u": "Suministros", + "air-u": "Aire", + "food-u": "Comida", + "power-u": "Energía", + "water-u": "Agua", + "building-betterworlds-u": "\"Construimos mundos mejores\"", + "template-bonus-u": "Bonificación: ", + "template-dice-u": "Dados: ", + "template-damage-u": "Daño: ", + "none-place": "Ninguno", + "weight-u": "Peso", "pack-mule-u": "Pack mule", "overencumbered-u": "Over-encumbered", "overencumbered-title": "You can temporarily carry up to twice your normal encumbrance limit, i.e. STRENGTH x 4 items. If over-encumbered, you must make a MOBILITY roll when you want to run or crawl in a Round of combat (see page 89). If you fail, you must either drop what you are carrying, or stay put.", "overloaded-u": "Overloaded", "overloaded-title": "If you carry more that twice your normal encumbrance limit, you are overloaded and cannot move. ", - "internal-modules-u": "INTERNAL MODULES", - "ship-name-u": "Name", - "ship-manufacturer-u": "Manufacturer", - "ship-ai-u": "AI", - "ship-crew-u": "Crew", - "ship-passengers-u": "Passengers", - "ship-length-u": "Length", - "ship-ftl-rating-u": "FTL Rating", - "ship-signature-u": "Signature", - "ship-thrusters-u": "Thrusters", - "ship-hull-u": "Hull", - "ship-armor-u": "Armor", - "clear": "Clear", - "hullpoints-missing": "No hull points entered", - "ships-log-u": "SHIP'S LOG", - "date": "Date", - "location": "Location", - "min-comp-dmg-u": "MINOR COMPONENT DAMAGE", - "effect-u": "EFFECT", - "maj-comp-dmg-u": "MAJOR COMPONENT DAMAGE", - "upgrades-u": "UPGRADES", - "armaments-u": "ARMAMENTS", - "armament1-name-place": "Armament I name", - "armament2-name-place": "Armament II name", - "armament3-name-place": "Armament III name", - "armament4-name-place": "Armament IV name", - "armament5-name-place": "Armament V name", - "armament6-name-place": "Armament VI name", + "internal-modules-u": "MÓDULOS INTERNOS", + "ship-name-u": "Nombre", + "ship-manufacturer-u": "Fabricante", + "ship-ai-u": "IA", + "ship-crew-u": "Tripulación", + "ship-passengers-u": "Pasajeros", + "ship-length-u": "Eslora", + "ship-ftl-rating-u": "Factor MRL", + "ship-signature-u": "Señal", + "ship-thrusters-u": "Propulsión", + "ship-hull-u": "Casco", + "ship-armor-u": "Blindaje", + "clear": "Limpiar", + "hullpoints-missing": "No se han introducido puntos de casco", + "ships-log-u": "REGISTRO DE VUELO", + "date": "Fecha", + "location": "Ubicación", + "min-comp-dmg-u": "DAÑOS LEVES EN COMPONENTES", + "effect-u": "EFECTO", + "maj-comp-dmg-u": "DAÑOS GRAVES EN COMPONENTES", + "upgrades-u": "MEJORAS", + "armaments-u": "ARMAMENTO", + "armament1-name-place": "Nombre armamento I", + "armament2-name-place": "Nombre armamento II", + "armament3-name-place": "Nombre armamento III", + "armament4-name-place": "Nombre armamento IV", + "armament5-name-place": "Nombre armamento V", + "armament6-name-place": "Nombre armamento VI", "max-range-u": "Max Range", "range-contact-u": "Contact", "ranged-combat-abbr-u": "RC", diff --git a/Aquelarre/aquelarre.html b/Aquelarre/aquelarre.html index f9b51a60fc..54b129c1f0 100644 --- a/Aquelarre/aquelarre.html +++ b/Aquelarre/aquelarre.html @@ -147,7 +147,7 @@
- @@ -934,4 +934,4 @@
Damage: {{damage}}
{{/damage}} - \ No newline at end of file + diff --git a/Aquelarre/translations/en.json b/Aquelarre/translations/en.json index 9686119f83..6823e7b369 100644 --- a/Aquelarre/translations/en.json +++ b/Aquelarre/translations/en.json @@ -9,17 +9,17 @@ "fathers-profession": "father's profession", "character-traits-pride-and-shame": "Character traits, pride and shame", "main-characteristics": "Main characteristics", - "STRength": "STRength", - "AGIlity": "AGIlity", - "STAmina": "STAmina", - "RESistance": "RESistance", - "PERception": "PERception", - "COMunication": "COMunication", - "CULture": "CULture", - "APPearance": "APPearance", + "STRength": "STR", + "AGIlity": "AGI", + "STAmina": "DEX", + "RESistance": "RES", + "PERception": "PER", + "COMunication": "COM", + "CULture": "CUL", + "APPearance": "APP", "strength-short": "STR", "agility-short": "AGI", - "stamina-short": "STA", + "stamina-short": "DEX", "resistance-short": "RES", "perception-short": "PER", "communication-short": "COM", @@ -28,9 +28,9 @@ "secondary-characteristics": "Secondary characteristics", "luck": "Luck", "willpower": "Willpower", - "rationality": "Rationality", - "irrationality": "Irrationality", - "faith-points": "Faith points", + "rationality": "RR", + "irrationality": "IRR", + "faith-points": "IRR", "spell-points": "Spell points", "initiative": "Initiative", "damage-bonus": "Damage bonus", @@ -39,7 +39,7 @@ "life-points": "Life points", "condition": "Condition", "armor": "Armor", - "localization": "Localization", + "localization": "Location", "protection": "Protection", "head": "Head", "right-arm": "Right arm", @@ -51,49 +51,49 @@ "shield": "Shield", "abilities": "Abilities", "alchemy": "Alchemy", - "artisanry": "Artisanry", + "artisanry": "Craft", "astrology": "Astrology", "riding": "Riding", - "singing": "Singing", + "singing": "Sing", "commerce": "Commerce", - "driving": "Driving", + "driving": "Drive", "animal-knowledge": "Animal knowledge", "area-knowledge": "Area knowledge", "magical-knowledge": "Magical knowledge", "mineral-knowledge": "Mineral knowledge", "plant-knowledge": "Plant knowledge", - "running": "Running", + "running": "Run", "court": "Court", - "tasting": "Tasting", + "tasting": "Taste", "discovering": "Discovering", "dressing-up": "Dressing up", "eloquence": "Eloquence", "empathy": "Empathy", "teaching": "Teaching", "sleight-of-hand": "Sleight of hand", - "listening": "Listening", + "listening": "Listen", "dodging": "Dodging", "forcing-mechanisms": "Forcing mechanisms", "language": "Language", - "gaming": "Gaming", - "throwing": "Throwing", - "reading-and-writing": "Reading & writing", + "gaming": "Game", + "throwing": "Throw", + "reading-and-writing": "Read & write", "legends": "Legends", - "commanding": "Commanding", + "commanding": "Command", "medicine": "Medicine", "memory": "Memory", "music": "Music", - "swimming": "Swimming", + "swimming": "Swim", "navigation": "Navigation", - "hiding": "Hiding", - "tracking": "Tracking", - "jumping": "Jumping", - "healing": "Healing", + "hiding": "Hide", + "tracking": "Track", + "jumping": "Jump", + "healing": "Heal", "seduction": "Seduction", "stealth": "Stealth", "theology": "Theology", "torture": "Torture", - "climbing": "Climbing", + "climbing": "Climb", "bows": "Bows", "crossbows": "Crossbows", "knives": "Knives", diff --git a/BESM4eExtras/BESM4eExtras.html b/BESM4eExtras/BESM4eExtras.html index 811993d9a9..ff43d28a51 100644 --- a/BESM4eExtras/BESM4eExtras.html +++ b/BESM4eExtras/BESM4eExtras.html @@ -30,7 +30,7 @@

Sheet Options

Sheet Version - +

Sheet Type @@ -2993,7 +2993,7 @@ - +
@@ -7844,6 +7844,16 @@ return (!str || str.length === 0); } + function isFalsey(v) { + const testFalsey = + parseInt(v) === 0 ? true : + v === '' ? true : + v === null ? true : + v === undefined ? true : + false; + return testFalsey; + } + function clog(debug, timer, text, data = '', title = '', type = 'event') { //types = 'info', 'event' //debug = 0:off, 1:info, 2:event, 3:performance @@ -7893,6 +7903,11 @@ if (isLesserThan180) { upgradeTo_1_8_0(sizetemplateIDs, value, sheetdb, setObj); } + const isLesserThan183 = major_global_version <= 1 && minor_global_version < 8.3 ? + true : false; + if (isLesserThan183) { + upgradeTo_1_8_3(value, setObj); + } setObj.global_version = sheet_version; } @@ -7980,6 +7995,21 @@ clog(2, {}, 'upgraded to 1.8.0'); } + function upgradeTo_1_8_3(value, setObj) { + const statValues = [ + parseInt(value.static_stat_base_body) || 0, + parseInt(value.static_stat_base_mind) || 0, + parseInt(value.static_stat_base_soul) || 0 + ]; + clog(2, {}, 'statValues:', statValues, 'upgradeTo_1_8_3()'); + _.each(statValues, (s, i) => { + const cost = getStatCost(2, {}, s); + clog(2, {}, 's =', s); + setObj[`stat_cost_${allaspects_stats_array[i]}`] = cost; + }); + clog(2, {}, 'upgraded to 1.8.3'); + } + /** Build UI Functions **/ function getSuperStrengthLift(debug, timer, level) { @@ -7992,18 +8022,18 @@ function setTotalLift(debug, timer, attrdb, value, setObj) { const size = value.static_template_size_name; - const rank = parseInt(value.static_template_size_rank); + const rank = parseInt(value.static_template_size_rank) || 0; clog(debug, timer, 'size =', size, 'setTotalLift()'); const liftMultiplier = size === 'Medium' ? 1 : rank < 0 ? parseFloat(value.static_template_size_lift) : - parseInt(value.static_template_size_lift); + parseInt(value.static_template_size_lift) || 0; clog(debug, timer, 'liftMultiplier =', liftMultiplier); const ssdb = attrdb.superstrength; const hasSuperStrength = ssdb === undefined ? false : _.chain(ssdb).pluck('level').reduce((p,c) => { return p + c; }, 0).value(); clog(debug, timer, 'hasSuperStrength =', hasSuperStrength); const strValue = isNaN(parseInt(setObj.stat_total_str)) ? - parseInt(value.stat_total_str) : parseInt(setObj.stat_total_str); + parseInt(value.stat_total_str) || 0 : parseInt(setObj.stat_total_str); const lift = hasSuperStrength ? parseInt(getSuperStrengthLift(debug, timer, hasSuperStrength)) : strValue * 25; clog(debug, timer, 'lift =', lift); @@ -8198,7 +8228,7 @@ 'limiterassignments', 'lock', 'name', - 'new', + //'new', 'object', 'objects', 'options', @@ -8307,22 +8337,20 @@ return result; } + function getStatCost(debug, timer, level) { + let cost = 0; + for(let i = 1; i <= level; i++) { + if(i < 13) { cost += 4 } else { cost += 8 } + } + clog(debug, timer, 'cost =', cost, 'getStatCost()'); + return cost; + } + function setStatCost(debug, timer, eventInfo, value, setObj, sourceAttr) { - const newValue = parseInt(eventInfo.newValue) || 0; - const previousValue = parseInt(eventInfo.previousValue) || 0; - const diffValue = newValue - previousValue; - const statCost = - newValue > 12 && previousValue > 12 ? - diffValue * 8 : - newValue <= 12 && previousValue <= 12 ? - diffValue * 4 : - newValue > 12 && previousValue <= 12 ? - (((newValue - 12) * 8) + 48) - (previousValue * 4) : - newValue <= 12 && previousValue > 12 ? - (newValue * 4) - (((previousValue - 12) * 8) + 48) : 0; - //setObj[`stat_cost_${sourceAttr}`] = statCost; + const level = parseInt(eventInfo.newValue) || 0 + const statCost = getStatCost(debug, timer, level); writeValues(debug, timer, value, `stat_cost_${sourceAttr}`, statCost, setObj); - clog(debug, timer, 'statCost =', statCost, 'setStatCost()'); + clog(debug, timer, 'sourceAttr =', sourceAttr, 'setStatCost()'); } function getDefectPointsByCategory(value, rowID, defect){ @@ -8339,20 +8367,16 @@ const groupid = getGroupID(value, 'attr'); const groupType = value[`static_attrgroup_${groupid}_type`] || 'Standard'; const groupSourceID = value[`static_attrgroup_${groupid}_source`]; - //const isPowerFlux = /flux/i.test(groupType); const isPowerFlux = groupType.toLowerCase().indexOf('flux') !== -1 ? true : false; - const fluxcost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]); - //const aggregateAttrGroupCost = getAggregateAttrGroupCost(debug, timer, attrIDs, value, sectionName, rowID, setObj); - //const aggregateAttrGroupCost = parseInt(value[`static_attrgroup_${groupid}_groupcost`]); + const fluxcost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]) || 0; const standardgroupcost = getStandardGroupCost(debug, timer, attrIDs, value, rowID, false, groupid, setObj); const groupIsActive = groupSourceID !== false ? - parseInt(value[`repeating_attr_${groupSourceID}_activate`]) : + parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0 : false; const aggregateAttrGroupCost = isPowerFlux && groupIsActive ? getPowerFluxGroupCost(debug, timer, value, groupSourceID) : standardgroupcost; - const aggregateDefectPoints = getAggregateGroupDefectPoints(debug, timer, attrdb, value); const groupcost = isPowerFlux ? fluxcost + aggregateDefectPoints : @@ -8393,7 +8417,7 @@ const result = !isFlux ? false : //not flux group, keep running - groupSourceID == rowID ? + groupSourceID === rowID ? false : //flux group source, keep running isGroupActive ? false : //flux group is active, keep running @@ -8408,18 +8432,18 @@ //const isPowerVariation = /variation/i.test(groupType); const isPowerVariation = groupType.toLowerCase().indexOf('variation') !== -1 ? true : false; const groupSourceID = value[`static_attrgroup_${groupid}_source`]; - const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]); + const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0; clog(debug, timer, 'isPowerVariation =', isPowerVariation, 'setPoolCostIfGroupIsVariation()'); if(!isPowerVariation || !groupIsActive){ clog(debug, timer, 'groupIsActive =', groupIsActive); return; } - const groupCost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]); + const groupCost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]) || 0; const defect = value[`repeating_attr_${rowID}_attribute`]; const isDefect = defect.indexOf(defect) !== -1 ? true : false; const attrcost = groupSourceID == rowID ? 0 : isDefect ? 0 : - parseInt(value[`repeating_attr_${rowID}_totalcost`]); + parseInt(value[`repeating_attr_${rowID}_totalcost`]) || 0; const aggregateAttrCost = getAggregateAttrGroupCost(debug, timer, attrIDs, value, 'attr', rowID, setObj); const poolcost = aggregateAttrCost - groupCost; @@ -8436,7 +8460,7 @@ if(!isPowerFlux) return; const groupSourceID = value[`static_attrgroup_${groupid}_source`]; clog(debug, timer, 'groupSourceID =', groupSourceID); - const groupCost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]); + const groupCost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]) || 0; clog(debug, timer, 'groupCost =', groupCost); const fluxactive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0; clog(debug, timer, 'fluxactive =', fluxactive); @@ -8445,7 +8469,7 @@ clog(debug, timer, 'isDefect =', isDefect); const attrcost = groupSourceID == rowID ? 0 : isDefect ? 0 : - parseInt(value[`repeating_attr_${rowID}_totalcost`]); + parseInt(value[`repeating_attr_${rowID}_totalcost`]) || 0; clog(debug, timer, 'attrcost =', attrcost); const isFluxActive = isPowerFlux && fluxactive ? true : false; clog(debug, timer, 'isFluxActive =', isFluxActive); @@ -8466,7 +8490,7 @@ 2 : 1; const result = Math.round((getAttrCostPerLevel(debug, timer, value, rowID) * - parseInt(value[`repeating_attr_${rowID}_level`])) / isAltmunition); + (parseInt(value[`repeating_attr_${rowID}_level`])) || 0) / isAltmunition); clog(debug, timer, `repeating_attr_${rowID}_totalcost =`, result, 'setAttrCost()'); clog(debug, timer, `isWeapon =`, isWeapon); clog(debug, timer, `isAltmunition =`, isAltmunition); @@ -8487,7 +8511,7 @@ const groupSourceID = isPowerFlux || isPowerVariation ? value[`static_attrgroup_${groupid}_source`] : false; const groupIsActive = groupSourceID !== false ? - parseInt(value[`repeating_attr_${groupSourceID}_activate`]) : + parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0 : false; const isVariationPool = isPowerVariation && groupIsActive ? true : false; const standardgroupcost = getStandardGroupCost(debug, timer, attrIDs, value, rowID, isLevelChange, groupid, setObj, isVariationPool); @@ -8499,7 +8523,7 @@ standardgroupcost; const poolspent = isPowerFlux && groupIsActive ? - parseInt(value[`static_attrgroup_${groupid}_spent`]) : + parseInt(value[`static_attrgroup_${groupid}_spent`]) || 0 : isPowerVariation && groupIsActive ? getPowerVariationPoolCost(debug, timer, value, standardgroupcost, groupSourceID, groupid, setObj) : 0; @@ -8518,7 +8542,7 @@ } function setAttrGroupPoolSpentByActivation(debug, timer, isActive, attrIDs, value, rowID, setObj) { - const groupid = parseInt(value[`repeating_attr_${rowID}_group`]); //getGroupID(value, 'attr'); + const groupid = parseInt(value[`repeating_attr_${rowID}_group`]) || 0; //getGroupID(value, 'attr'); clog(debug, timer, 'groupid =', groupid, 'setAttrGroupPoolSpentByActivation()'); const groupType = value[`static_attrgroup_${groupid}_type`] || 'Standard'; @@ -8532,7 +8556,7 @@ true : false; clog(debug, timer, 'isPowerVariation =', isPowerVariation); if (isPowerFlux || isPowerVariation) { - const poolmax = parseInt(value[`static_attrgroup_${groupid}_groupmax`]); + const poolmax = parseInt(value[`static_attrgroup_${groupid}_groupmax`]) || 0; clog(debug, timer, 'poolmax =', poolmax); const poolspent = isPowerFlux ? @@ -8550,7 +8574,7 @@ _.chain(attrIDs) .map(id=>{ const attribute = value[`repeating_attr_${id}_attribute`]; - const group = parseInt(value[`repeating_attr_${id}_group`]); + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; const isGroupMember = group === groupid; if (!isGroupMember) return 0; const isDefect = attribute === 'defect' ? true : false; @@ -8561,8 +8585,8 @@ 2 : 1; const isCurrAttr = id === rowID ? true : false; const attrcost = isCurrAttr && isLevelChange ? - parseInt(setObj[`repeating_attr_${id}_totalcost`]) * isAltmunition : - parseInt(value[`repeating_attr_${id}_totalcost`]) * isAltmunition; + (parseInt(setObj[`repeating_attr_${id}_totalcost`]) || 0) * isAltmunition : + (parseInt(value[`repeating_attr_${id}_totalcost`]) || 0) * isAltmunition; return attrcost; }) .reduce((memo, num)=>{ return memo + num; }, 0) @@ -8587,11 +8611,11 @@ function getPowerFluxPoolSpent(debug, timer, isActive, attrIDs, value, rowID, groupid, setObj) { clog(debug, timer, 'groupid =', groupid, 'getPowerFluxPoolSpent()'); const groupSourceID = value[`static_attrgroup_${groupid}_source`]; - const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]); + const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0; const result = !groupIsActive ? 0 : _.chain(attrIDs) .map(id=>{ - const group = parseInt(value[`repeating_attr_${id}_group`]); + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; const isGroupMember = group === groupid; if (!isGroupMember) return 0; @@ -8616,12 +8640,12 @@ isCurrAttr ? isActive : isNaN(parseInt(setObj[`repeating_attr_${id}_activate`])) ? - parseInt(value[`repeating_attr_${id}_activate`]) > 0 ? true : false : + (parseInt(value[`repeating_attr_${id}_activate`]) || 0) > 0 ? true : false : parseInt(setObj[`repeating_attr_${id}_activate`]) > 0 ? true : false; clog(debug, timer, 'isActivated =', isActivated); if (!isActivated) return 0; - const attrcost = parseInt(value[`repeating_attr_${id}_totalcost`]) * isAltmunition; + const attrcost = (parseInt(value[`repeating_attr_${id}_totalcost`]) || 0) * isAltmunition; clog(debug, timer, 'attrcost =', attrcost); return attrcost; }) @@ -8634,12 +8658,12 @@ function getPowerVariationPoolCost(debug, timer, isActive, attrIDs, value, rowID, groupid, setObj) { const groupSourceID = value[`static_attrgroup_${groupid}_source`]; - const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]); + const groupIsActive = parseInt(value[`repeating_attr_${groupSourceID}_activate`]) || 0; clog(debug, timer, 'groupid =', groupid, 'getPowerVariationPoolCost()'); const result = !groupIsActive ? 0 : _.chain(attrIDs) .map(id=>{ - const group = parseInt(value[`repeating_attr_${id}_group`]); + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; const isGroupMember = group === groupid; if (!isGroupMember) return 0; @@ -8664,12 +8688,12 @@ isCurrAttr ? isActive : isNaN(parseInt(setObj[`repeating_attr_${id}_activate`])) ? - parseInt(value[`repeating_attr_${id}_activate`]) > 0 ? true : false : + (parseInt(value[`repeating_attr_${id}_activate`]) || 0) > 0 ? true : false : parseInt(setObj[`repeating_attr_${id}_activate`]) > 0 ? true : false; clog(debug, timer, 'isActive =', isActive); if (!isActivated) return 0; - const attrcost = parseInt(value[`repeating_attr_${id}_totalcost`]) * isAltmunition; + const attrcost = (parseInt(value[`repeating_attr_${id}_totalcost`]) || 0) * isAltmunition; clog(debug, timer, 'attrcost =', attrcost); return attrcost; }) @@ -8764,8 +8788,8 @@ const id = o.source; const defect = o.name; const defectcategory = getDefectPointsByCategory(value, id, defect); - const group = parseInt(value[`repeating_attr_${id}_group`]); - const defectpoints = parseInt(value[`repeating_attr_${id}_rank`]) * defectcategory; + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; + const defectpoints = (parseInt(value[`repeating_attr_${id}_rank`]) || 0) * defectcategory; const appliedPoints = group == groupid ? defectpoints : 0; return appliedPoints; @@ -8784,7 +8808,7 @@ const aggregatePoolCost = _.chain(ids) .map(id=>{ const isGroupMember = - parseInt(value[`repeating_${sectionName}_${id}_group`]) == groupid ? + (parseInt(value[`repeating_${sectionName}_${id}_group`]) || 0) == groupid ? true : false; const isDefect = value[`repeating_attr_${id}_attribute`] === 'defect' ? @@ -8797,11 +8821,11 @@ true : false; const isActivated = sectionName == 'skill' ? 1 : isNaN(parseInt(setObj[`repeating_attr_${id}_activate`])) ? - parseInt(value[`repeating_attr_${id}_activate`]) : + parseInt(value[`repeating_attr_${id}_activate`]) || 0 : parseInt(setObj[`repeating_attr_${id}_activate`]); const attrcost = id == rowID ? parseInt(eventInfo.newValue) * getAttrCostPerLevel(debug, timer, value, rowID) : - parseInt(value[`repeating_${sectionName}_${id}_totalcost`]); + parseInt(value[`repeating_${sectionName}_${id}_totalcost`]) || 0; const appliedCost = isGroupMember ? isDefect ? 0 : isStandardGroup ? 0 : @@ -8827,13 +8851,13 @@ const attribute = value[`repeating_attr_${id}_attribute`]; clog(debug, timer, 'attribute =', attribute); clog(debug, timer, 'isCurrAttr =', isCurrAttr); - const group = parseInt(value[`repeating_attr_${id}_group`]); + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; clog(debug, timer, 'group =', group); const activated = - parseInt(setObj[`repeating_attr_${id}_activate`]) || - parseInt(value[`repeating_attr_${id}_activate`]); + parseInt(setObj[`repeating_attr_${id}_activate`]) || + parseInt(value[`repeating_attr_${id}_activate`]) || 0; clog(debug, timer, 'activated =', activated); - const attrcost = parseInt(value[`repeating_attr_${id}_totalcost`]); + const attrcost = parseInt(value[`repeating_attr_${id}_totalcost`]) || 0; clog(debug, timer, 'attrcost =', attrcost); const isGroupMember = group == groupid ? true : false; clog(debug, timer, 'isGroupMember =', isGroupMember); @@ -8868,9 +8892,9 @@ function getAggregateSkillGroupCost(debug, timer, skillIDs, value, rowID, groupID, setObj){ const result = _.chain(skillIDs) .map(id => { - const group = parseInt(value[`repeating_skill_${id}_group`]); + const group = parseInt(value[`repeating_skill_${id}_group`]) || 0; const totalcost = isNaN(parseInt(setObj[`repeating_skill_${id}_totalcost`])) ? - parseInt(value[`repeating_skill_${id}_totalcost`]) : + parseInt(value[`repeating_skill_${id}_totalcost`]) || 0 : parseInt(setObj[`repeating_skill_${id}_totalcost`]); const appliedCost = group == groupID ? id == rowID ? 0 : @@ -8896,7 +8920,7 @@ const skillcost = getSkillCost(debug, timer, value, skillname); clog(debug, timer, 'skillcost =', skillcost); const skillrank = isNaN(parseInt(setObj[`repeating_skill_${rowID}_level`])) ? - parseInt(value[`repeating_skill_${rowID}_level`]) : + parseInt(value[`repeating_skill_${rowID}_level`]) || 0 : parseInt(setObj[`repeating_skill_${rowID}_level`]); clog(debug, timer, 'skillrank =', skillrank); const totalcost = (skillcost * skillrank) + specilizationscost; @@ -8925,7 +8949,7 @@ const poolSpent = aggregatePoolCost; const standardcost = aggregateAttrCost + aggregateDefectPoints + attrcost; - const variationcost = parseInt(value[`static_attrgroup_${groupid}_groupcost`]); + const variationcost = parseInt(value[`static_attrgroup_${groupid}_groupcost`]) || 0; const fluxcost = parseInt(value[`repeating_attr_${groupSourceID}_totalcost`]) || 0; const groupCost = isPowerFlux && isGroupActive ? fluxcost : @@ -8962,7 +8986,7 @@ const aggregateRank = _.chain(defectdb) .map(defect => { const result = defect.name == 'shortcoming' ? defect.aspect == stat ? - parseInt(value[`repeating_attr_${defect.source}_activate`]) > 0 ? + (parseInt(value[`repeating_attr_${defect.source}_activate`]) || 0) > 0 ? defect.rank : 0 : 0 : 0; return result; }) @@ -9008,7 +9032,6 @@ const augmented = getSumOfActiveAttrLevels(attrdb, 'augmented', stat) || 0; const shortcoming = getShortcomingRank(debug, timer, attrdb, value, stat); const result = newValue + augmented - shortcoming; - //setObj[`stat_total_${stat}`] = result; writeValues(debug, timer, value, `stat_total_${stat}`, result, setObj); clog(debug, timer, 'result =', result, 'setAllAspectStats()'); setStatCost(debug, timer, eventInfo, value, setObj, stat); @@ -9090,7 +9113,7 @@ const result = _.chain(defectdb) .map(defect => { const isActive = isNaN(parseInt(setObj[`repeating_attr_${defect.source}_activate`])) ? - parseInt(value[`repeating_attr_${defect.source}_activate`]) : + parseInt(value[`repeating_attr_${defect.source}_activate`]) || 0 : parseInt(setObj[`repeating_attr_${defect.source}_activate`]); const rank = defect.name == 'shortcoming' ? major_stats_regex.test(defect.aspect) ? @@ -9227,7 +9250,7 @@ function setAttrVisibilityByGroup(value, eventInfo, attrIDs, setObj, sectionName) { const section = sectionName.substring(0, sectionName.length - 5); _.each(attrIDs, (id) => { - const group = parseInt(value[`repeating_${section}_${id}_group`]); + const group = parseInt(value[`repeating_${section}_${id}_group`]) || 0; const currGroup = eventInfo.newValue.substring(sectionName.length); const visible = group == currGroup ? 0 : 1; setObj[`repeating_${section}_${id}_visible`] = visible; @@ -9343,7 +9366,7 @@ } function removePoolCpFromGroupCost(value, source, setObj) { - let type = parseInt(value[`${source}_type`]); + let type = parseInt(value[`${source}_type`]) || 0; if (type < 3) { let groupcost = setObj[`${source}_groupcost`] - setObj[`${source}_poolcp`]; setObj[`${source}_groupcost`] = groupcost; @@ -9379,7 +9402,7 @@ type == 2 ? (newlevel - poolenhancement) * 5 : type == 3 ? - parseInt(value[`${source}_groupmax`]) : + parseInt(value[`${source}_groupmax`]) || 0 : isSkill ? newlevel * 10 : 0; setLevelElevation(eventInfo, `${source}`, `poollevelelevation`, setObj); const newgroupcost = @@ -9430,13 +9453,13 @@ clog(debug, timer, 'currGroup =', currGroup); //setObj[`${source}_new`] = 0; //setObj[`${source}_group`] = currGroup; - writeValues(debug, timer, value, `${source}_new`, 0, setObj); + //writeValues(debug, timer, value, `${source}_new`, 0, setObj); writeValues(debug, timer, value, `${source}_group`, currGroup, setObj); } function resetOnActive(debug, timer, eventInfo, value, match, rowID, setObj) { - let activate = parseInt(value[`repeating_attr_${rowID}_activate`]), - reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; + const activate = parseInt(value[`repeating_attr_${rowID}_activate`]) || 0; + const reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; if (activate) { clog(debug, timer, 'attribute is active, exiting', '', 'resetOnActive()'); setObj[`${match}`] = reset; @@ -9448,8 +9471,8 @@ } function resetOnLocked(debug, timer, eventInfo, value, match, rowID, setObj) { - const locked = parseInt(value[`repeating_attr_${rowID}_lock`]), - reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; + const locked = parseInt(value[`repeating_attr_${rowID}_lock`]) || 0; + const reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; if (locked) { clog(debug, timer, 'attribute is locked, exiting', '', 'resetOnLocked()'); setObj[`${match}`] = reset; @@ -9461,15 +9484,15 @@ } function getIsLocked(debug, timer, value, rowID, sourceAttr) { - const result = parseInt(value[`repeating_attr_${rowID}_lock`]) ? true : false; + const result = (parseInt(value[`repeating_attr_${rowID}_lock`]) || 0) ? true : false; clog(debug, timer, 'result =', result, 'getIsLocked()'); return result; } function resetOnLevelNotZero(debug, timer, eventInfo, value, match, rowID, setObj) { - let level = parseInt(value[`repeating_attr_${rowID}_level`]), - elevel = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]), - reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; + const level = parseInt(value[`repeating_attr_${rowID}_level`]) || 0; + const elevel = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0; + const reset = (eventInfo.previousValue == eventInfo.newValue) ? 0 : eventInfo.previousValue; if (level || elevel) { clog(debug, timer, 'can‘t change Attribute when Level or Effective Level is greater than 0, exiting', '', 'resetOnLevelNotZero()'); setObj[`${match}`] = reset; @@ -9597,7 +9620,7 @@ const attribute = value[`repeating_attr_${rowID}_attribute`]; const obj = { "absorption": 5, - "alternateform": 4, + "alternate form": 4, "alternate identity": 1, "armor": 2, "attack mastery": 1, @@ -10117,8 +10140,10 @@ } function getCharacteristicByAttr(debug, timer, value, rowID, attribute, setObj) { - const level = parseInt(setObj[`repeating_attr_${rowID}_effectivelevel`]) || parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0, - chardb = { + const level = + parseInt(setObj[`repeating_attr_${rowID}_effectivelevel`]) || + parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0; + const chardb = { "capacity": { 0: { 1: "200 kg", @@ -10937,7 +10962,7 @@ const layer = attr == `armor` ? parseInt(value[`repeating_attr_${rowID}_armorlayer`]) || 1 : ''; const type = (attr == `absorption` || attr == `conversion`) ? - parseInt(value[`repeating_attr_${rowID}_collectiontype`]) : ''; + parseInt(value[`repeating_attr_${rowID}_collectiontype`]) || 0 : ''; const attrstate = parseInt(value[`protection_${attr}${layer}${type}_state`]) || 0; const source = @@ -11138,7 +11163,7 @@ clog(debug, timer, 'rowID =', rowID, 'getIsTargetedActive()'); const isTargeted = getIsTargeted(debug, timer, value, rowID, setObj); if (!isTargeted) return ''; - const activeID = parseInt(value[`repeating_attr_${rowID}_activate`]) === 1 ? + const activeID = (parseInt(value[`repeating_attr_${rowID}_activate`]) || 0) === 1 ? rowID : ''; clog(debug, timer, 'activeID =', activeID); clog(debug, timer, 'activate =', value[`repeating_attr_${rowID}_activate`]); @@ -11452,7 +11477,7 @@ clog(debug, timer, 'result =', result, 'getIsMelee()'); return result; } - + /* function getAttackMod(debug, timer, value, attrIDs, wpnclass, sourceAttr) { var result = 0, ismelee = getIsMelee(debug, timer, wpnclass); @@ -11467,7 +11492,7 @@ clog(debug, timer, 'result =', result, 'getAttackMod()'); return result; } - + */ function getSumOfActiveAttrLevels(attrdb, attribute, focus = '') { var result = 0; _.each(attrdb[`${attribute}`], (o) => { @@ -11508,7 +11533,7 @@ function updateWeaponStates(debug, timer, attrdb, extraarmIDs, value, source, sourceAttr, setObj){ const handsource = getHandSource(debug, timer, extraarmIDs, source); - const state = parseInt(value[`${handsource}_state`]); + const state = parseInt(value[`${handsource}_state`]) || 0; clog(debug, timer, 'state =', state, 'updateWeaponStates()'); if(state > 0) { setWeaponStates(debug, timer, extraarmIDs, value, handsource, setObj); @@ -11761,7 +11786,7 @@ function setAttrEffects(debug, timer, isActive, value, attrdb, extraarmIDs, attrIDs, skillIDs, sectionName, rowID, sourceAttr, setObj) { const attribute = removeWhiteSpace(value[`repeating_attr_${rowID}_attribute`]); - const level = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]); + const level = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0; switch (attribute) { case "absorption": case "armor": @@ -11910,11 +11935,11 @@ function setSwarmCritters(isActive, debug, timer, value, attrdb, rowID, setObj){ const debugtext = '[setSwarmCritters()]'; - const body = parseInt(value.stat_total_body); - const soul = parseInt(value.stat_total_soul); + const body = parseInt(value.stat_total_body) || 0; + const soul = parseInt(value.stat_total_soul) || 0; const health = (body+soul)*5; const wounds = parseInt(value.static_stat_total_wounds) || 0; - const level = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]); + const level = parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0; const critters = isActive ? health * level : 0; let swarmobj = _.find(attrdb.swarm, o => { if(o.source == rowID) return true; @@ -11983,15 +12008,15 @@ const groupCost = _.chain(attrIDs) .map(id=>{ id = id.toLowerCase(); - const group = parseInt(value[`repeating_attr_${id}_group`]); + const group = parseInt(value[`repeating_attr_${id}_group`]) || 0; const activated = parseInt(setObj[`repeating_attr_${id}_activate`]) || - parseInt(value[`repeating_attr_${id}_activate`]); + parseInt(value[`repeating_attr_${id}_activate`]) || 0; const attribute = value[`repeating_attr_${id}_attribute`]; const isWeapon = attribute === 'weapon' ? true : false; const isAltmunition = isWeapon && getCustomizationExists('altmunition', value[`repeating_attr_${id}_customizations`]) ? 2 : 1; - const totalcost = parseInt(value[`repeating_attr_${id}_totalcost`]) * isAltmunition; + const totalcost = (parseInt(value[`repeating_attr_${id}_totalcost`]) || 0) * isAltmunition; const appliedCost = group == groupid ? id == rowID ? 0 : ///flux/i.test(groupType) ? activated ? totalcost : 0 : @@ -12003,7 +12028,7 @@ .value(); const max = //isActive ? /flux/i.test(groupType) ? isActive && groupType.toLowerCase().indexOf('flux') !== -1 ? - parseInt(value[`repeating_${sectionName}_${rowID}_effectivelevel`]) * 5 : + (parseInt(value[`repeating_${sectionName}_${rowID}_effectivelevel`]) || 0) * 5 : ///variation/i.test(groupType) ? groupCost : 0 : 0; isActive && groupType.toLowerCase().indexOf('variation') !== -1 ? groupCost : 0; @@ -12014,13 +12039,13 @@ function convertAttrGroupCost(isActive, debug, timer, value, sectionName, attrIDs, rowID, setObj){ const groupid = getGroupID(value, sectionName); const groupType = value[`static_${sectionName}group_${groupid}_type`]; - const dynamicGroupCost = parseInt(value[`repeating_${sectionName}_${rowID}_totalcost`]); + const dynamicGroupCost = parseInt(value[`repeating_${sectionName}_${rowID}_totalcost`]) || 0; const aggregateAttrCost = _.chain(attrIDs) .map(id=>{ - const group = parseInt(value[`repeating_${sectionName}_${id}_group`]); + const group = parseInt(value[`repeating_${sectionName}_${id}_group`]) || 0; const activated = parseInt(setObj[`repeating_${sectionName}_${id}_activate`]) || - parseInt(value[`repeating_${sectionName}_${id}_activate`]); - const totalcost = parseInt(value[`repeating_${sectionName}_${id}_totalcost`]); + parseInt(value[`repeating_${sectionName}_${id}_activate`]) || 0; + const totalcost = parseInt(value[`repeating_${sectionName}_${id}_totalcost`]) || 0; const appliedCost = //group == groupid ? ///flux/i.test(groupType) ? group == groupid && groupType.toLowerCase().indexOf('flux') !== -1 ? @@ -12074,9 +12099,9 @@ function setSkillGroupMaxByLevelChange(isActive, timer, debug, value, rowID, setObj){ const isSkillAttr = attribute => attribute=='skill' ? true: false; if(isSkillAttr(value[`repeating_attr_${rowID}_attribute`])==false) return; - const groupid = parseInt(value[`repeating_attr_${rowID}_skillgroup`]); + const groupid = parseInt(value[`repeating_attr_${rowID}_skillgroup`]) || 0; const skillpointmax = isActive ? - parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) * 10 : 0; + (parseInt(value[`repeating_attr_${rowID}_effectivelevel`]) || 0) * 10 : 0; setObj[`static_skillgroup_${groupid}_groupmax`] = skillpointmax; clog(debug, timer, 'groupid =', groupid, 'setSkillGroupMaxByLevelChange()'); clog(debug, timer, 'skillpointmax =', skillpointmax); @@ -12282,11 +12307,11 @@ const state = (type == 'acv') ? isNaN(parseInt(setObj.static_button_targeted_attack)) ? - parseInt(value.static_button_targeted_attack) : + parseInt(value.static_button_targeted_attack) || 0 : parseInt(setObj.static_button_targeted_attack) : (type == 'dcv') ? isNaN(parseInt(setObj.static_button_targeted_defense)) ? - parseInt(value.static_button_targeted_defense) : + parseInt(value.static_button_targeted_defense) || 0 : parseInt(setObj.static_button_targeted_defense) : 0; clog(debug, timer, 'state =', state); @@ -12312,8 +12337,8 @@ const cv = Math.round((parseInt(setObj.stat_total_body) + parseInt(setObj.stat_total_mind) + parseInt(setObj.stat_total_soul)) / 3) || - Math.round((parseInt(value.stat_total_body) + parseInt(value.stat_total_mind) + - parseInt(value.stat_total_soul)) / 3) || + Math.round(((parseInt(value.stat_total_body) || 0) + (parseInt(value.stat_total_mind) || 0) + + (parseInt(value.stat_total_soul) || 0)) / 3) || 0; clog(debug, timer, 'cv =', cv); const result = @@ -12445,8 +12470,8 @@ function setWeaponReload(debug, timer, attrdb, value, setObj) { const rowID = value.active_weapon; - const capacity = parseInt(value[`repeating_attr_${rowID}_capacity`]); - let ammostate = parseInt(value.weapon_ammo_reloads); + const capacity = parseInt(value[`repeating_attr_${rowID}_capacity`]) || 0; + let ammostate = parseInt(value.weapon_ammo_reloads) || 0; const reloadcapacity = ammostate > 0 ? capacity : 0; const reloadammo = ammostate > 0 ? ammostate -= 1 : 0; writeValues(debug, timer, value, 'weapon_ammo_reloads', reloadammo, setObj); @@ -12459,8 +12484,8 @@ const state = setObj[`${handsource}_state`]; const rowID = value[`${handsource}_source`]; const type = value[`repeating_attr_${rowID}_attribute`]; - const ammostate = parseInt(value.weapon_ammo_reloads); - const capacitystate = parseInt(value.weapon_ammo_capacity); + const ammostate = parseInt(value.weapon_ammo_reloads) || 0; + const capacitystate = parseInt(value.weapon_ammo_capacity) || 0; clog(debug, timer, 'ammostate =', ammostate, 'setWeaponAmmo()'); clog(debug, timer, 'capacitystate =', capacitystate); if (rowID !== setObj.previous_weapon && _.isString(setObj.previous_weapon)) { @@ -12481,17 +12506,15 @@ if (!getIsObject(customization)) return; const ammo = isNaN(parseInt(value[`repeating_attr_${rowID}_ammostate`])) ? getAmmoMax(debug, timer, customization.rank) : - parseInt(value[`repeating_attr_${rowID}_ammostate`]); + parseInt(value[`repeating_attr_${rowID}_ammostate`]) || 0; const capacity = isNaN(parseInt(value[`repeating_attr_${rowID}_capacitystate`])) ? 0 : - parseInt(value[`repeating_attr_${rowID}_capacitystate`]); + parseInt(value[`repeating_attr_${rowID}_capacitystate`]) || 0; writeValues(debug, timer, value, 'weapon_ammo_reloads', ammo, setObj); writeValues(debug, timer, value, 'weapon_ammo_capacity', capacity, setObj); clog(debug, timer, 'ammo =', ammo, 'setWeaponAmmo()'); clog(debug, timer, 'capacity =', capacity); } else if (rowID.length === 20) {//weapon unarmed, save ammo state - //const ammostate = parseInt(value.weapon_ammo_reloads); - //const capacitystate = parseInt(value.weapon_ammo_capacity); clog(debug, timer, 'weapon unarmed, save ammo state', ''); writeValues(debug, timer, value, `repeating_attr_${rowID}_ammostate`, ammostate, setObj); writeValues(debug, timer, value, `repeating_attr_${rowID}_capacitystate`, capacitystate, setObj); @@ -13057,7 +13080,7 @@ targetedmdState ? targetedmdLevel : 0; const rushattackState = isNaN(parseInt(setObj.static_button_targeted_rushdamage)) ? - parseInt(value.static_button_targeted_rushdamage) : + parseInt(value.static_button_targeted_rushdamage) || 0 : parseInt(setObj.static_button_targeted_rushdamage); const rushattackLevel = //getRushAttack(debug, attrdb); @@ -13143,7 +13166,7 @@ break; case 'autofire': const firemode = parseInt(setObj[`static_weapon_autofire_selection`]) || - parseInt(value[`static_weapon_autofire_selection`]); + parseInt(value[`static_weapon_autofire_selection`]) || 1; const numhits = firemode == 1 ? `{{hits2=1}} {{hits3=1}} {{hits4=1}} {{hits5=1}} {{hits6=1}} {{hits7=1}} {{hits8=1}} {{hits9=1}} {{hits10=1}} {{hits11=1}} {{hits12=1}}` : firemode == 3 ? @@ -13260,7 +13283,7 @@ result = `${result} {{${customization.name}=${customization.rank}}} {{range=${range}}}`; break; case 'stoppable': - const stopdamage = parseInt(value[`repeating_attr_${rowID}_level`]) * 10; + const stopdamage = (parseInt(value[`repeating_attr_${rowID}_level`]) || 0) * 10; const timetostop = customization.rank > 3 ? '1 hour' : customization.rank > 2 ? '1 minute' : customization.rank > 1 ? '5 rounds' : @@ -13367,7 +13390,7 @@ setObj.weapon_ammo = 0; setObj.weapon_autofire = 0; const state = parseInt(setObj[`repeating_attr_${rowID}_activate`]) || - parseInt(value[`repeating_attr_${rowID}_activate`]); + parseInt(value[`repeating_attr_${rowID}_activate`]) || 0; clog(debug, timer, 'state =', state, 'disableActiveWeapon()'); clog(debug, timer, 'activeweapon =', activeweapon); if (!state) return; @@ -13377,7 +13400,7 @@ } function setButtonState(debug, timer, value, source, rowID, sourceAttr, setObj) { - const theme = parseInt(value.theme); + const theme = parseInt(value.theme) || 1; const attribute = sourceAttr; const setstate = value[`${source}_${attribute}`] || 0; const state = setstate == 0 ? 1 : 0; @@ -13428,7 +13451,7 @@ const handsStateArray = _.map(handsArray, hand => { const source = setObj[`${hand}_source`] || value[`${hand}_source`]; - const state = parseInt(setObj[`${hand}_state`]) || parseInt(value[`${hand}_state`]); + const state = parseInt(setObj[`${hand}_state`]) || parseInt(value[`${hand}_state`]) || 0; const isExtraArm = extraarmIDs.indexOf(hand) !== -1 ? true : false; const extraArmType = parseInt(value[`${hand}_type`]) || false; const isWeaponMount = isExtraArm && extraArmType === 0 ? true : false; @@ -13467,7 +13490,7 @@ } function setDepleteRules(debug, timer, value, attrIDs, setObj) { - const state = parseInt(value.static_rules_deplete_alt) == 1 ? + const state = (parseInt(value.static_rules_deplete_alt) || 0) == 1 ? 1 : 0; if (_.isArray(attrIDs)) { _.each(attrIDs, id => { @@ -13481,7 +13504,7 @@ function setDepleteResurvation(debug, timer, attrdb, value, rowID, setObj) { const depleteRank = getCustomizationValue(debug, timer, value, rowID, 'rank', 'deplete'); - const useDepleteAltRules = parseInt(value.static_rules_deplete_alt); + const useDepleteAltRules = (parseInt(value.static_rules_deplete_alt) || 0); if (!depleteRank && !useDepleteAltRules) return; const totalDepete = _.chain(all_attributes_array) .map( a => { @@ -13649,7 +13672,7 @@ const skillStatButtonState = button => allaspects_stats_array.indexOf(button) !== -1 || major_stats_array.indexOf(button) !== -1 ? - parseInt(value[`${match}state`]) > 0 ? + (parseInt(value[`${match}state`]) || 0) > 0 ? setObj[`${match}state`] = 0 : setObj[`${match}state`] = 1 : false; @@ -13663,7 +13686,7 @@ sourceAttr; const setButtonState = button => button == 'stat' || button == 'type' || button.length == 20 ? - parseInt(value[`${source}state`]) > 0 ? + (parseInt(value[`${source}state`]) || 0) > 0 ? setObj[`${source}state`] = 0 : setObj[`${source}state`] = 1 : false; @@ -13684,7 +13707,7 @@ (specilizations.match(/,/g) || []).length; const skillname = value[`repeating_skill_${rowID}_name`]; const skillcost = getSkillCost(debug, timer, value, skillname); - const skillrank = parseInt(value[`repeating_skill_${rowID}_level`]); + const skillrank = parseInt(value[`repeating_skill_${rowID}_level`]) || 0; const totalcost = (skillcost * skillrank) + specilizationscost; const groupid = getGroupID(value, 'skill'); const spent = getAggregateSkillGroupCost(debug, timer, skillIDs, value, rowID, groupid, setObj); @@ -13694,7 +13717,7 @@ function setSkillGroupCost(value, sectionName, cost, setObj){ const groupID = getGroupID(value, sectionName); - const groupcost = parseInt(value[`static_skillgroup_${groupID}_groupcost`]); + const groupcost = parseInt(value[`static_skillgroup_${groupID}_groupcost`]) || 0; setObj[`static_skillgroup_${groupID}_groupcost`] = groupcost + cost; } @@ -13725,7 +13748,7 @@ const stats = type.major==1 ? statmajor: statallaspect; const sum = _.chain(stats) .map(stat=>{ - return parseInt(value[`stat_total_${stat}`]); + return parseInt(value[`stat_total_${stat}`]) || 0; }) .reduce((memo,stat)=>{ return memo + stat; @@ -13963,7 +13986,8 @@ sheetdb.extraarmIDs = extraarmIDs; _.each(getAttrsString, o => { - if(value[o] !== undefined) sheetdb[o] = value[o]; + //if(value[o] !== undefined) sheetdb[o] = value[o]; + if(!isFalsey(value[o])) sheetdb[o] = value[o]; }); clog(3, timer, 'value:', value); @@ -14110,8 +14134,10 @@ switch (sectionName) { case `attr`: - const isNew = parseInt(value[`${source}_new`]) === 0 ? false : true; - clog(debug, timer, `${source}_new =`, value[`${source}_new`], 'Attribute is new?'); + //const isNew = parseInt(value[`${source}_new`]) === 0 ? false : true; + const group = parseInt(value[`${source}_group`]) || 0; + const isNew = group !== 0 ? false : true; + clog(debug, timer, `isNew =`, isNew, 'Attribute is new?'); if(isNew) { setGroupMembership(debug, timer, value, setObj, source, sectionName); attrIDs.indexOf(rowID) === -1 ? attrIDs.push(rowID) : false; @@ -14119,13 +14145,6 @@ } if(getIsSheetworker(eventInfo.sourceType)) return; switch (sourceAttr) { - /* - case `options`: - if (resetOnLocked(debug, timer, eventInfo, value, match, rowID, setObj)) return; - const state = parseInt(value[`${source}_${sourceAttr}`]) > 0 ? 0: 1; - setObj[`${source}_${sourceAttr}`] = state; - break; - */ case `attribute`: if (resetOnLocked(debug, timer, eventInfo, value, match, rowID, setObj)) return; if (resetOnLevelNotZero(debug, timer, eventInfo, value, match, rowID, setObj)) return; @@ -14154,7 +14173,7 @@ if (getFluxGroupIsNotActive(debug, timer, value, rowID)) return; const isActive = setButtonState(debug, timer, value, source, rowID, sourceAttr, setObj); const handsource = getHandSource(debug, timer, extraarmIDs, value[`repeating_attr_${rowID}_source`]); - const handstate = handsource !== false ? parseInt(value[`${handsource}_state`]) : false; + const handstate = handsource !== false ? parseInt(value[`${handsource}_state`]) || 0 : false; setAttrEffects(debug, timer, isActive, value, attrdb, extraarmIDs, attrIDs, skillIDs, sectionName, rowID, sourceAttr, setObj); //setPoolCostIfGroupIsFlux(debug, timer, attrIDs, value, rowID, setObj); setAttrGroupPoolSpentByActivation(debug, timer, isActive, attrIDs, value, rowID, setObj); @@ -14222,8 +14241,7 @@ break; case 'statselection': case 'option': - const state = parseInt(value[`${source}_${sourceAttr}`]) > 0 ? 0: 1; - //setObj[`${source}_${sourceAttr}`] = state; + const state = (parseInt(value[`${source}_${sourceAttr}`]) || 0) > 0 ? 0 : 1; writeValues(debug, timer, value, `${source}_${sourceAttr}`, state, setObj); break; default: diff --git a/Blades in the Dark/translations/ca.json b/Blades in the Dark/translations/ca.json index 82d0a291b9..074ae42039 100644 --- a/Blades in the Dark/translations/ca.json +++ b/Blades in the Dark/translations/ca.json @@ -624,7 +624,7 @@ "playbook_ability_a_void_in_the_echo_description": "You are invisible to spirits and may not be harmed by them. Take 2 stress to cause living things to avert their gaze and fail to observe you for a few moments.", "playbook_ability_alchemist": "Alchemist", "playbook_ability_alchemist_description": "When you invent or craft a creation with alchemical features, take +1 result level to your roll. You begin with one special formula already known.", - "playbook_ability_ambitious": "Ambitious", + "playbook_ability_ambitious": "Ambiciós", "playbook_ability_ambitious_description": "You gain an additional xp trigger: You defended your turf or tried to expand it. If your crew followed your lead, also mark crew xp.", "playbook_ability_ambush": "Ambush", "playbook_ability_ambush_description": "When you attack from hiding or spring a trap, you get +1d.", @@ -666,7 +666,7 @@ "playbook_ability_expertise_description": "Choose one of your action ratings. When you lead a group action using that action, you can suffer only 1 stress at most regardless of the number of failed rolls.", "playbook_ability_eye_for_weakness": "Eye for Weakness", "playbook_ability_eye_for_weakness_description": "When you gather information about someone’s vulnerabilities, you get +1 effect. If you use this information to help plan a score, you also get +1d to the engagement roll for that operation.", - "playbook_ability_focused": "Focused", + "playbook_ability_focused": "Centrat", "playbook_ability_focused_description": "You may expend your special armor to resist a consequence of surprise or mental harm (fear, confusion, losing track of someone) or to push yourself for ranged combat or tracking.", "playbook_ability_foresight": "Foresight", "playbook_ability_foresight_description": "Two times per score you can assist a teammate without paying stress. Tell us how you prepared for this.", diff --git a/Blades in the Dark/translations/es.json b/Blades in the Dark/translations/es.json index ab5f64944c..83c8da4cf6 100644 --- a/Blades in the Dark/translations/es.json +++ b/Blades in the Dark/translations/es.json @@ -15,7 +15,7 @@ "add_contacts": "Añadir contactos", "add_friends": "Añadir amigos", "add_items": "Añadir objetos", - "add_type": "Add Type: 2", + "add_type": "Añadir tipo: 2", "add_upgrades": "Añadir mejoras", "adepts": "Adeptos", "alcahest": "Alkahest", diff --git a/Brancalonia Official/Brancalonia.css b/Brancalonia Official/Brancalonia.css new file mode 100644 index 0000000000..db2a19d7c4 --- /dev/null +++ b/Brancalonia Official/Brancalonia.css @@ -0,0 +1,2877 @@ +@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400|Playfair+Display+SC:400|Libre+Baskerville:400:700|Dancing+Script:400|Quintessential:400&display=swap"); +/* SANITIZATION CHANGE FIXES +============================= */ +/* GENERIC STYLES +============================= */ +.ellipsis { + overflow: hidden; + text-overflow: ellipsis; +} + +/* GRID + ============================= */ +div.grid { + display: inline-grid; + grid-column-gap: 1%; + grid-row-gap: 0.5%; +} + +.bold { + font-weight: bold; +} + +.italics { + font-style: italic; +} + +.text-right { + text-align: right; +} + +.text-uppercase { + text-transform: uppercase; +} + +.text-capitalize { + text-transform: capitalize; +} + +div.auto2column { + grid-template-columns: auto 1fr; +} + +.dialog { + display: none; + position: absolute; + z-index: 999; + width: 100%; + height: 100%; + background-color: rgba(255, 255, 255, 0.5); +} +.dialog__wrapper { + position: fixed; + top: 45%; + left: calc(50% - 20rem); + width: 40rem; + margin: auto; + padding: 2rem; + padding-bottom: 0; + border: 1px solid black; + background-color: white; + text-align: center; +} +.dialog__newname { + display: block; + margin-top: 1rem; + font-weight: bold; +} +.dialog__buttonrow { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + margin: auto; + margin-top: 2rem; + padding: 1rem 1rem; + border-top: 1px solid rgba(0, 0, 0, 0.5); +} +.dialog__button { + padding: 0.5rem 1rem; + border: 1px solid black; + border-radius: 0.5rem; +} + +input[name*=npc_confirmation_flag][value="1"] + .dialog { + display: block; +} + +.active-drop-target.dropping { + border: none; + background: transparent; +} +.active-drop-target.dropping .dialog--warning { + display: block !important; +} + +/* PLACEHOLDER STYLES +============================= */ +.container.pc .equipment__header, .container.pc .equipment, .container.pc .bounty__bounty, .container.pc .bounty, .container.pc .appearance, +.container.pc .backstory, +.container.pc .allies, +.container.pc .adfeatures, +.container.pc .personalitytrait, +.container.pc .treasure, .container.pc .attacks__header, .container.pc .attacks, .container.pc .spellstats, .container.pc .spells__container, .container.pc .skills, .container.pc .savingthrows, .container.pc .moves, .container.pc .inspprof, .container.pc .features, .container.pc .header { + width: auto; + margin-top: 0.5rem; + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-slice: 10% 5% 10% 5%; + border-image-width: 0.75rem 1rem 0.75rem 1rem; + border-image-outset: 0px 0px 0px 0px; + border-image-repeat: round round; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); +} + +.container.pc .equipment__label, .container.pc .attacks__label, .container.pc .deathsaves__label, .container.pc .header .name:before { + margin: auto; + height: 3rem; + width: 100%; + margin-bottom: -2rem; + text-align: center; + padding-top: 0.75rem; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570991/7amxLms4s6lpmFthaaBpcQ/med.png?1624162130"); + background-position: center center; + background-size: 100% 100%; + background-repeat: no-repeat; + font-size: 1.25rem; +} + +.container.pc .appearance__label, +.container.pc .backstory__label, +.container.pc .allies__label, +.container.pc .adfeatures__label, +.container.pc .personalitytrait__label, +.container.pc .treasure__label, .container.pc .spell-label, .container.pc .move-label, .container.pc .moves__label, .container.pc .features__label { + position: relative; + height: 2.5rem; + border-image-slice: 10 190 33 146 fill; + border-image-width: 0.5rem 4rem 2rem 4rem; + border-image-outset: 0.5rem 3rem 2rem 3.5rem; + border-image-repeat: round stretch; + border-image-source: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626586904/box-header-2_qo5bye.png"); + border-style: solid; + background-color: white; + text-align: center; +} + +/* ROLLTEMPLATES STYLES +============================= */ +.sheet-rolltemplate-atkdmg, +.sheet-rolltemplate-dmg, +.sheet-rolltemplate-atk, +.sheet-rolltemplate-simple { + width: 80%; + margin: auto; + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-slice: 11% 5% 10% 5% fill; + border-image-width: 0.75rem 1rem 0.75rem 1rem; + border-image-outset: 0px 0px 0px 0px; + border-image-repeat: round round; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + font-family: "Dancing Script", serif; +} +.sheet-rolltemplate-atkdmg *, +.sheet-rolltemplate-dmg *, +.sheet-rolltemplate-atk *, +.sheet-rolltemplate-simple * { + box-sizing: border-box; +} +.sheet-rolltemplate-atkdmg .sheet-result, +.sheet-rolltemplate-dmg .sheet-result, +.sheet-rolltemplate-atk .sheet-result, +.sheet-rolltemplate-simple .sheet-result { + display: flex; + align-content: center; + justify-content: space-around; + width: 80%; + margin: auto; + padding: 0.5rem 1rem; +} +.sheet-rolltemplate-atkdmg .sheet-adv, +.sheet-rolltemplate-atkdmg .sheet-solo, +.sheet-rolltemplate-dmg .sheet-adv, +.sheet-rolltemplate-dmg .sheet-solo, +.sheet-rolltemplate-atk .sheet-adv, +.sheet-rolltemplate-atk .sheet-solo, +.sheet-rolltemplate-simple .sheet-adv, +.sheet-rolltemplate-simple .sheet-solo { + display: grid; + align-items: center; + justify-content: center; + height: auto; + line-height: 1.125; +} +.sheet-rolltemplate-atkdmg .sheet-adv > *, +.sheet-rolltemplate-atkdmg .sheet-solo > *, +.sheet-rolltemplate-dmg .sheet-adv > *, +.sheet-rolltemplate-dmg .sheet-solo > *, +.sheet-rolltemplate-atk .sheet-adv > *, +.sheet-rolltemplate-atk .sheet-solo > *, +.sheet-rolltemplate-simple .sheet-adv > *, +.sheet-rolltemplate-simple .sheet-solo > * { + display: block; + text-align: center; +} +.sheet-rolltemplate-atkdmg .inlinerollresult, +.sheet-rolltemplate-dmg .inlinerollresult, +.sheet-rolltemplate-atk .inlinerollresult, +.sheet-rolltemplate-simple .inlinerollresult { + padding: 0; + border: 0; + background-color: transparent; + font-size: 2rem; +} +.sheet-rolltemplate-atkdmg .inlinerollresult.fullcrit, +.sheet-rolltemplate-dmg .inlinerollresult.fullcrit, +.sheet-rolltemplate-atk .inlinerollresult.fullcrit, +.sheet-rolltemplate-simple .inlinerollresult.fullcrit { + color: #3fb315; + border: 0; +} +.sheet-rolltemplate-atkdmg .inlinerollresult.fullfail, +.sheet-rolltemplate-dmg .inlinerollresult.fullfail, +.sheet-rolltemplate-atk .inlinerollresult.fullfail, +.sheet-rolltemplate-simple .inlinerollresult.fullfail { + color: #b31515; + border: 0; +} +.sheet-rolltemplate-atkdmg .inlinerollresult.importantroll, +.sheet-rolltemplate-dmg .inlinerollresult.importantroll, +.sheet-rolltemplate-atk .inlinerollresult.importantroll, +.sheet-rolltemplate-simple .inlinerollresult.importantroll { + color: #4a57ed; + border: 0; +} +.sheet-rolltemplate-atkdmg .sheet-advspacer, +.sheet-rolltemplate-dmg .sheet-advspacer, +.sheet-rolltemplate-atk .sheet-advspacer, +.sheet-rolltemplate-simple .sheet-advspacer { + align-self: stretch; + min-width: 0.1rem; + max-width: 0.1rem; + min-height: 3.5rem; + height: 100%; + background-color: black; +} +.sheet-rolltemplate-atkdmg .sheet-grey, +.sheet-rolltemplate-dmg .sheet-grey, +.sheet-rolltemplate-atk .sheet-grey, +.sheet-rolltemplate-simple .sheet-grey { + color: #ccc; +} +.sheet-rolltemplate-atkdmg .sheet-label, +.sheet-rolltemplate-dmg .sheet-label, +.sheet-rolltemplate-atk .sheet-label, +.sheet-rolltemplate-simple .sheet-label { + margin: 0.5rem 0; + color: black; + font-family: "Quintessential", serif; + font-weight: bold; + text-align: center; +} +.sheet-rolltemplate-atkdmg .sheet-label a, +.sheet-rolltemplate-dmg .sheet-label a, +.sheet-rolltemplate-atk .sheet-label a, +.sheet-rolltemplate-simple .sheet-label a { + background: transparent; + border: 0px solid; + text-decoration: none; + color: #c00; +} +.sheet-rolltemplate-atkdmg .sheet-label span span, +.sheet-rolltemplate-dmg .sheet-label span span, +.sheet-rolltemplate-atk .sheet-label span span, +.sheet-rolltemplate-simple .sheet-label span span { + font-family: "Dancing Script", serif; +} +.sheet-rolltemplate-atkdmg .sheet-sublabel, +.sheet-rolltemplate-dmg .sheet-sublabel, +.sheet-rolltemplate-atk .sheet-sublabel, +.sheet-rolltemplate-simple .sheet-sublabel { + display: flex; + justify-content: space-around; + margin: 0 1rem; + color: #000; + background-color: #eee; +} +.sheet-rolltemplate-atkdmg .sheet-charname, +.sheet-rolltemplate-dmg .sheet-charname, +.sheet-rolltemplate-atk .sheet-charname, +.sheet-rolltemplate-simple .sheet-charname { + font-family: "Times New Roman", Times, serif; + font-size: 1rem; + text-align: center; + text-transform: uppercase; +} +.sheet-rolltemplate-atkdmg .sheet-desc, +.sheet-rolltemplate-dmg .sheet-desc, +.sheet-rolltemplate-atk .sheet-desc, +.sheet-rolltemplate-simple .sheet-desc { + margin: 0.25rem 1rem; + padding: 0.5rem; + border-top: 1px solid black; + font-family: "Times New Roman", Times, serif; + font-size: 1.2rem; + line-height: 1.5; +} +.sheet-rolltemplate-atkdmg .sheet-savedc, +.sheet-rolltemplate-dmg .sheet-savedc, +.sheet-rolltemplate-atk .sheet-savedc, +.sheet-rolltemplate-simple .sheet-savedc { + font-family: "Times New Roman", Times, serif; + font-size: 1.2rem; + text-align: center; + text-transform: uppercase; +} +.sheet-rolltemplate-atkdmg .sheet-savedc .inlinerollresult, +.sheet-rolltemplate-dmg .sheet-savedc .inlinerollresult, +.sheet-rolltemplate-atk .sheet-savedc .inlinerollresult, +.sheet-rolltemplate-simple .sheet-savedc .inlinerollresult { + font-family: "Times New Roman", Times, serif; + font-size: 1.2rem; + font-weight: normal; +} +.sheet-rolltemplate-atkdmg .sheet-damagetype, +.sheet-rolltemplate-dmg .sheet-damagetype, +.sheet-rolltemplate-atk .sheet-damagetype, +.sheet-rolltemplate-simple .sheet-damagetype { + font-size: 1.5rem; + font-weight: bold; +} +.sheet-rolltemplate-atkdmg .sheet-spelldesc-link, +.sheet-rolltemplate-dmg .sheet-spelldesc-link, +.sheet-rolltemplate-atk .sheet-spelldesc-link, +.sheet-rolltemplate-simple .sheet-spelldesc-link { + display: flex; + align-items: center; + justify-content: center; + margin: 0.5rem 0; +} +.sheet-rolltemplate-atkdmg .sheet-spelldesc-link a, +.sheet-rolltemplate-dmg .sheet-spelldesc-link a, +.sheet-rolltemplate-atk .sheet-spelldesc-link a, +.sheet-rolltemplate-simple .sheet-spelldesc-link a { + background: transparent; + border: 1px solid black; + text-decoration: none; + color: #c00; +} +.sheet-rolltemplate-atkdmg .sheet-atk.sheet-save, +.sheet-rolltemplate-dmg .sheet-atk.sheet-save, +.sheet-rolltemplate-atk .sheet-atk.sheet-save, +.sheet-rolltemplate-simple .sheet-atk.sheet-save { + margin: 0.5rem 1rem; + border-bottom: 1px solid black; +} +.sheet-rolltemplate-atkdmg .sheet-atk.sheet-save .sheet-label, +.sheet-rolltemplate-dmg .sheet-atk.sheet-save .sheet-label, +.sheet-rolltemplate-atk .sheet-atk.sheet-save .sheet-label, +.sheet-rolltemplate-simple .sheet-atk.sheet-save .sheet-label { + margin: 0; +} +.sheet-rolltemplate-atkdmg .sheet-hldmg, +.sheet-rolltemplate-dmg .sheet-hldmg, +.sheet-rolltemplate-atk .sheet-hldmg, +.sheet-rolltemplate-simple .sheet-hldmg { + display: block; + margin: 1rem; + border-bottom: 1px solid black; + text-align: center; +} + +.sheet-rolltemplate-traits, +.sheet-rolltemplate-spell, +.sheet-rolltemplate-spelloutput { + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-slice: 11% 5% 10% 5% fill; + border-image-width: 0.75rem 1rem 0.75rem 1rem; + border-image-outset: 0px 0px 0px 0px; + border-image-repeat: round round; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + font-family: "Times New Roman", Times, serif; +} +.sheet-rolltemplate-traits .sheet-header, +.sheet-rolltemplate-traits .sheet-title, +.sheet-rolltemplate-spell .sheet-header, +.sheet-rolltemplate-spell .sheet-title, +.sheet-rolltemplate-spelloutput .sheet-header, +.sheet-rolltemplate-spelloutput .sheet-title { + margin: 0.5rem 0; + font-weight: bold; + font-family: "Quintessential", serif; + font-size: 2rem; + text-align: center; + text-transform: uppercase; +} +.sheet-rolltemplate-traits .sheet-header.sheet-desconly, +.sheet-rolltemplate-traits .sheet-title.sheet-desconly, +.sheet-rolltemplate-spell .sheet-header.sheet-desconly, +.sheet-rolltemplate-spell .sheet-title.sheet-desconly, +.sheet-rolltemplate-spelloutput .sheet-header.sheet-desconly, +.sheet-rolltemplate-spelloutput .sheet-title.sheet-desconly { + margin: 0; + color: #c00; + font-size: 1.2rem; +} +.sheet-rolltemplate-traits .sheet-subheader, +.sheet-rolltemplate-traits .sheet-level, +.sheet-rolltemplate-spell .sheet-subheader, +.sheet-rolltemplate-spell .sheet-level, +.sheet-rolltemplate-spelloutput .sheet-subheader, +.sheet-rolltemplate-spelloutput .sheet-level { + display: block; + font-weight: bold; + text-align: center; + text-transform: capitalize; +} +.sheet-rolltemplate-traits .sheet-row, +.sheet-rolltemplate-spell .sheet-row, +.sheet-rolltemplate-spelloutput .sheet-row { + margin: 0.5rem 0.75rem; +} +.sheet-rolltemplate-traits .sheet-bold, +.sheet-rolltemplate-spell .sheet-bold, +.sheet-rolltemplate-spelloutput .sheet-bold { + font-weight: bold; + text-transform: uppercase; +} +.sheet-rolltemplate-traits .sheet-spellsavedc, +.sheet-rolltemplate-spell .sheet-spellsavedc, +.sheet-rolltemplate-spelloutput .sheet-spellsavedc { + margin-top: 1rem; + font-weight: bold; + font-size: 1.5rem; + text-align: center; +} + +.sheet-rolltemplate-npc, +.sheet-rolltemplate-npcfullatk, +.sheet-rolltemplate-npcdmg, +.sheet-rolltemplate-npcaction, +.sheet-rolltemplate-npcatk { + position: relative; + width: 80%; + margin: auto; + padding: 1rem 1rem; +} +.sheet-rolltemplate-npc:before, +.sheet-rolltemplate-npcfullatk:before, +.sheet-rolltemplate-npcdmg:before, +.sheet-rolltemplate-npcaction:before, +.sheet-rolltemplate-npcatk:before { + display: block; + content: " "; + box-sizing: border-box; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + width: 100%; + height: 100%; + z-index: 1; + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-slice: 11% 5% 10% 5% fill; + border-image-width: 0.75rem 1rem 0.75rem 1rem; + border-image-outset: 0px 0px 0px 0px; + border-image-repeat: round round; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + filter: grayscale(100%) brightness(30%) sepia(100%) hue-rotate(-50deg) saturate(600%) contrast(0.8); +} +.sheet-rolltemplate-npc > *, +.sheet-rolltemplate-npcfullatk > *, +.sheet-rolltemplate-npcdmg > *, +.sheet-rolltemplate-npcaction > *, +.sheet-rolltemplate-npcatk > * { + position: relative; + z-index: 10; + color: white; + font-family: "Times New Roman", Times, serif; +} +.sheet-rolltemplate-npc a, +.sheet-rolltemplate-npcfullatk a, +.sheet-rolltemplate-npcdmg a, +.sheet-rolltemplate-npcaction a, +.sheet-rolltemplate-npcatk a { + padding: 0; + border: 0; + font-weight: bold; + background: transparent; +} +.sheet-rolltemplate-npc .inlinerollresult, +.sheet-rolltemplate-npcfullatk .inlinerollresult, +.sheet-rolltemplate-npcdmg .inlinerollresult, +.sheet-rolltemplate-npcaction .inlinerollresult, +.sheet-rolltemplate-npcatk .inlinerollresult { + padding: 0 0.33rem; + background: none; + border: none; + font-family: "Times New Roman", Times, serif; + font-size: 1.5rem; + font-weight: normal; + line-height: 1; +} +.sheet-rolltemplate-npc .inlinerollresult.fullcrit, +.sheet-rolltemplate-npcfullatk .inlinerollresult.fullcrit, +.sheet-rolltemplate-npcdmg .inlinerollresult.fullcrit, +.sheet-rolltemplate-npcaction .inlinerollresult.fullcrit, +.sheet-rolltemplate-npcatk .inlinerollresult.fullcrit { + border: 1px solid black; + background-color: green; + color: white; + font-weight: bold; +} +.sheet-rolltemplate-npc .inlinerollresult.fullfail, +.sheet-rolltemplate-npcfullatk .inlinerollresult.fullfail, +.sheet-rolltemplate-npcdmg .inlinerollresult.fullfail, +.sheet-rolltemplate-npcaction .inlinerollresult.fullfail, +.sheet-rolltemplate-npcatk .inlinerollresult.fullfail { + border: 1px solid black; + background-color: red; + color: white; + font-weight: bold; +} +.sheet-rolltemplate-npc .inlinerollresult.importantroll, +.sheet-rolltemplate-npcfullatk .inlinerollresult.importantroll, +.sheet-rolltemplate-npcdmg .inlinerollresult.importantroll, +.sheet-rolltemplate-npcaction .inlinerollresult.importantroll, +.sheet-rolltemplate-npcatk .inlinerollresult.importantroll { + border: 1px solid black; + background-color: blue; + color: white; + font-weight: bold; +} +.sheet-rolltemplate-npc .sheet-row, +.sheet-rolltemplate-npc .sheet-header, +.sheet-rolltemplate-npcfullatk .sheet-row, +.sheet-rolltemplate-npcfullatk .sheet-header, +.sheet-rolltemplate-npcdmg .sheet-row, +.sheet-rolltemplate-npcdmg .sheet-header, +.sheet-rolltemplate-npcaction .sheet-row, +.sheet-rolltemplate-npcaction .sheet-header, +.sheet-rolltemplate-npcatk .sheet-row, +.sheet-rolltemplate-npcatk .sheet-header { + color: white; +} +.sheet-rolltemplate-npc .sheet-row a, +.sheet-rolltemplate-npc .sheet-header a, +.sheet-rolltemplate-npcfullatk .sheet-row a, +.sheet-rolltemplate-npcfullatk .sheet-header a, +.sheet-rolltemplate-npcdmg .sheet-row a, +.sheet-rolltemplate-npcdmg .sheet-header a, +.sheet-rolltemplate-npcaction .sheet-row a, +.sheet-rolltemplate-npcaction .sheet-header a, +.sheet-rolltemplate-npcatk .sheet-row a, +.sheet-rolltemplate-npcatk .sheet-header a { + padding: 0; + border: 0; + font-weight: bold; + background: transparent; + color: white; +} +.sheet-rolltemplate-npc .sheet-row, +.sheet-rolltemplate-npcfullatk .sheet-row, +.sheet-rolltemplate-npcdmg .sheet-row, +.sheet-rolltemplate-npcaction .sheet-row, +.sheet-rolltemplate-npcatk .sheet-row { + margin: 0.5rem 0; +} +.sheet-rolltemplate-npc .sheet-header, +.sheet-rolltemplate-npcfullatk .sheet-header, +.sheet-rolltemplate-npcdmg .sheet-header, +.sheet-rolltemplate-npcaction .sheet-header, +.sheet-rolltemplate-npcatk .sheet-header { + padding-bottom: 0.25rem; + margin-bottom: 0.5rem; + border-bottom: 2px solid white; + font-family: "Quintessential", serif; + font-weight: bold; +} +.sheet-rolltemplate-npc .sheet-subheader, +.sheet-rolltemplate-npcfullatk .sheet-subheader, +.sheet-rolltemplate-npcdmg .sheet-subheader, +.sheet-rolltemplate-npcaction .sheet-subheader, +.sheet-rolltemplate-npcatk .sheet-subheader { + text-align: center; + text-transform: uppercase; +} +.sheet-rolltemplate-npc .sheet-italics, +.sheet-rolltemplate-npcfullatk .sheet-italics, +.sheet-rolltemplate-npcdmg .sheet-italics, +.sheet-rolltemplate-npcaction .sheet-italics, +.sheet-rolltemplate-npcatk .sheet-italics { + margin-right: 0.33rem; + font-weight: bold; +} + +/* Refactor +============================= */ +.container .core-body { + display: grid; + grid-template-columns: 0.8fr 1fr 1fr; + align-items: flex-start; + align-items: start; + grid-gap: 0.5rem; + margin-top: 1rem; +} +.container .core-body .core-col__split { + display: grid; + grid-template-columns: 10rem 1fr; + grid-gap: 1rem; + align-items: flex-start; + align-items: start; +} +.container .core-body .core-col--middle { + padding-left: 2rem; +} +.container .bio-body { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + grid-gap: 1rem 3rem; +} +.container .bio-body > * { + min-height: 20rem; +} +.container .spells { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + grid-template-rows: 10rem 1fr; + align-items: stretch; + grid-gap: 1rem 3rem; +} +@media only screen and (max-width: 600px) { + .container .spells { + grid-template-columns: 1fr; + } +} +.container .spells * { + margin: 0; +} +.container .spells > * { + max-width: 100%; +} +.container .spells__stats { + grid-column-end: span 2; +} +@media only screen and (max-width: 600px) { + .container .spells__stats { + grid-column-end: unset; + } +} +.container .spells__features { + grid-row-end: span 2; +} +@media only screen and (max-width: 600px) { + .container .spells__features { + grid-column-end: unset; + } +} +.container .settings-body { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + grid-gap: 1rem; + margin-top: 1rem; +} +.container .settings-body .options { + display: block; + padding: 1rem; + margin-bottom: 1rem; + border: 1px solid rgba(255, 0, 0, 0.5); + border-radius: 1.5rem; +} +.container .settings-body .options__row--title { + text-align: center; + font-weight: bold; +} +.container .settings-body .options__flex--1 { + text-align: center; +} +.container .options { + display: none; + box-sizing: border-box; + max-width: 100%; + padding: 0 0.5rem; + border: 0.2rem dashed #c00; + border-width: 0.2rem 0; + font-family: "Verdana", "Tahoma", sans-serif !important; + font-size: 0.9rem; + background: rgba(204, 0, 0, 0.1); +} +.container .options * { + font-family: inherit; + font-size: inherit; +} +.container .options__flag[value=on] ~ .options { + display: block; +} +.container .options__cog { + width: 1rem; + display: grid; + grid-template-areas: "checkmark"; +} +.container .options__cog > * { + grid-area: checkmark; + width: 100%; + height: 100%; +} +.container .options__cog span { + font-family: pictos; + text-align: center; +} +.container .options__cog input { + opacity: 0; +} +.container .options__cog input:checked + span { + color: #c00; +} +.container .options__row { + display: flex; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + margin-bottom: 0.25rem; + padding-bottom: 0.25rem; +} +.container .options__row--checkbox { + display: grid; + grid-template-columns: 3rem 1fr; +} +.container .options__row:not(:last-child) { + border-bottom: 1px solid rgba(204, 0, 0, 0.5); +} +.container .options__row > * { + flex: auto 1 1; +} +.container .options__row--wrap { + flex-wrap: wrap; +} +.container .options__row--noborder { + border-bottom: 0 !important; +} +.container .options__row--topborder { + border-top: 1px solid rgba(204, 0, 0, 0.5); + border-bottom: 0 !important; +} +.container .options__row--title { + text-align: center; + font-weight: bold; +} +.container .options__row--center { + justify-content: center; +} +.container .options__flex { + flex: auto 1 1; +} +.container .options__flex--1 { + flex: 10% 0 1 !important; + max-width: 10%; +} +.container .options__flex--2 { + flex: 20% 0 1 !important; + max-width: 20%; +} +.container .options__flex--3 { + flex: 30% 0 1 !important; + max-width: 30%; +} +.container .options__flex--4 { + flex: 40% 0 1 !important; + max-width: 40%; +} +.container .options__flex--5 { + flex: 50% 0 1 !important; + max-width: 50%; +} +.container .options__flex--6 { + flex: 60% 0 1 !important; + max-width: 60%; +} +.container .options__flex--7 { + flex: 70% 0 1 !important; + max-width: 70%; +} +.container .options__flex--8 { + flex: 80% 0 1 !important; + max-width: 80%; +} +.container .options__flex--9 { + flex: 90% 0 1 !important; + max-width: 90%; +} +.container .options__flex--10 { + flex: 100% 0 1 !important; + max-width: 100%; +} +.container .options span, .container .options__label { + flex: auto 0 0; + max-width: 100%; + padding: 0; + margin: 0; + margin-right: 0.25rem; + line-height: 1rem; + text-align: left; +} +.container .options select + .options__label, +.container .options input[type=checkbox] + .options__label, +.container .options input[type=text] + .options__label, +.container .options input[type=number] + .options__label { + margin-left: 0.25rem; +} +.container .options select, +.container .options input[type=text], +.container .options input[type=number] { + margin: 0; + margin-right: 0.25rem; + padding: 0; + height: 2rem; + width: 100%; + border: 1px solid rgba(204, 0, 0, 0.25) !important; + border-radius: 0.3rem; + font-size: 1rem !important; + font-family: sans-serif; + line-height: 1; + text-indent: 0; + text-align: left; + color: black; + background: white; + background-image: none !important; +} +.container .options input[type=text] { + text-align: left; +} +.container .options textarea { + margin: 0; + padding: 0.25rem; + height: 10rem; + width: 100%; + border: 1px solid rgba(204, 0, 0, 0.25) !important; + border-radius: 0.3rem; + font-size: 1rem !important; + line-height: 2rem; + text-indent: 0; + text-align: left; + color: black; + background: white; + background-image: none !important; +} +.container .options input[type=text], +.container .options input[type=number] { + padding-left: 0.5rem; +} +.container .options .pb_custom { + display: none; +} +.container .options input[name*=pb_type][value*=custom] ~ .pb_custom { + display: block; +} +.container .options .repcontrol button { + font-size: 0; +} +.container .hiddenflag__simple { + display: none; +} +.container .hiddenflag__complex { + display: block; +} +.container .hiddenflag__flag[value=on] ~ .hiddenflag__simple { + display: block; +} +.container .hiddenflag__flag[value=on] ~ .hiddenflag__complex { + display: none; +} +.container.pc .attack__display button[type=roll], .container.pc .vitals button[type=roll], .container.pc .otherprof__display button[type=roll], .container.pc .toolprof__display button[type=roll], .container.pc .skill__button[type=roll], .container.pc .savingthrow__button[type=roll], .container.pc .deathsaves__label button[type=roll], .container.pc .abilityscore__rollbutton[type=roll] { + width: 100%; + padding: 0; + margin: 0; + border: none; + background-color: transparent; + background-image: none; + box-shadow: none; + color: black; + text-shadow: none; + font-size: 0.8rem; + font-weight: bold; + line-height: 1.2rem; +} +.container.pc .attack__display button[type=roll]:before, .container.pc .vitals button[type=roll]:before, .container.pc .otherprof__display button[type=roll]:before, .container.pc .toolprof__display button[type=roll]:before, .container.pc .skill__button[type=roll]:before, .container.pc .savingthrow__button[type=roll]:before, .container.pc .deathsaves__label button[type=roll]:before, .container.pc .abilityscore__rollbutton[type=roll]:before { + content: ""; +} +.container.pc .attack__display button[type=roll]:hover, .container.pc .vitals button[type=roll]:hover, .container.pc .otherprof__display button[type=roll]:hover, .container.pc .toolprof__display button[type=roll]:hover, .container.pc .skill__button[type=roll]:hover, .container.pc .savingthrow__button[type=roll]:hover, .container.pc .deathsaves__label button[type=roll]:hover, .container.pc .abilityscore__rollbutton[type=roll]:hover { + color: #ec2127; +} +.container.pc .vitals input[type=number], +.container.pc .vitals input[type=text], .container.pc .spell-label input[type=number], .container.pc .move-label input[type=number], .container.pc .abilityscore input[type=text], +.container.pc .abilityscore input[type=number] { + width: 100%; + padding: 0; + background: none; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: none; + -webkit-border-radius: 0px; + border: none; + border-radius: 0px; + color: #c00; +} +.container.pc .header { + display: grid; + grid-template-columns: 0.5fr 1fr 2fr 1fr 0.5fr; + grid-gap: 1rem; + width: 100%; + padding: 0 1rem; + margin-bottom: 0.5rem; +} +.container.pc .header .logo { + height: 14rem; + margin-top: -7.5rem; + margin-bottom: -2rem; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626655012/logo2_aaue57.png"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; +} +.container.pc .header .classlevel, +.container.pc .header .race, +.container.pc .header .background { + grid-column: span 2; +} +.container.pc .header .initspeed { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 0.5rem; +} +.container.pc .header .classlevel { + display: grid; + grid-template-columns: 1fr 4rem; + grid-gap: 0.5rem; +} +.container.pc .header .alignment, +.container.pc .header .initiative, +.container.pc .header .speed, +.container.pc .header .class, +.container.pc .header .level, +.container.pc .header .ac, +.container.pc .header .playername, +.container.pc .header .background, +.container.pc .header .name, +.container.pc .header .race { + display: grid; + grid-template-rows: 1fr 1.5rem; +} +.container.pc .header .alignment__label, +.container.pc .header .initiative__label, +.container.pc .header .speed__label, +.container.pc .header .class__label, +.container.pc .header .level__label, +.container.pc .header .ac__label, +.container.pc .header .playername__label, +.container.pc .header .background__label, +.container.pc .header .name__label, +.container.pc .header .race__label { + font-size: 1.2rem; + font-weight: bold; + text-align: center; +} +.container.pc .header .alignment button[type=roll], +.container.pc .header .alignment input[type=number], +.container.pc .header .alignment input[type=text], +.container.pc .header .initiative button[type=roll], +.container.pc .header .initiative input[type=number], +.container.pc .header .initiative input[type=text], +.container.pc .header .speed button[type=roll], +.container.pc .header .speed input[type=number], +.container.pc .header .speed input[type=text], +.container.pc .header .class button[type=roll], +.container.pc .header .class input[type=number], +.container.pc .header .class input[type=text], +.container.pc .header .level button[type=roll], +.container.pc .header .level input[type=number], +.container.pc .header .level input[type=text], +.container.pc .header .ac button[type=roll], +.container.pc .header .ac input[type=number], +.container.pc .header .ac input[type=text], +.container.pc .header .playername button[type=roll], +.container.pc .header .playername input[type=number], +.container.pc .header .playername input[type=text], +.container.pc .header .background button[type=roll], +.container.pc .header .background input[type=number], +.container.pc .header .background input[type=text], +.container.pc .header .name button[type=roll], +.container.pc .header .name input[type=number], +.container.pc .header .name input[type=text], +.container.pc .header .race button[type=roll], +.container.pc .header .race input[type=number], +.container.pc .header .race input[type=text] { + width: 100%; + margin: 0; + padding: 0; + border: 0; + border-radius: 0; + text-align: center; + background: none; + box-shadow: none; + text-shadow: none; +} +.container.pc .header .alignment input[type=number], +.container.pc .header .alignment input[type=text], +.container.pc .header .initiative input[type=number], +.container.pc .header .initiative input[type=text], +.container.pc .header .speed input[type=number], +.container.pc .header .speed input[type=text], +.container.pc .header .class input[type=number], +.container.pc .header .class input[type=text], +.container.pc .header .level input[type=number], +.container.pc .header .level input[type=text], +.container.pc .header .ac input[type=number], +.container.pc .header .ac input[type=text], +.container.pc .header .playername input[type=number], +.container.pc .header .playername input[type=text], +.container.pc .header .background input[type=number], +.container.pc .header .background input[type=text], +.container.pc .header .name input[type=number], +.container.pc .header .name input[type=text], +.container.pc .header .race input[type=number], +.container.pc .header .race input[type=text] { + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; + font-size: 1.45rem; + text-align: center; +} +.container.pc .header .alignment__value, +.container.pc .header .alignment button[type=roll], +.container.pc .header .initiative__value, +.container.pc .header .initiative button[type=roll], +.container.pc .header .speed__value, +.container.pc .header .speed button[type=roll], +.container.pc .header .class__value, +.container.pc .header .class button[type=roll], +.container.pc .header .level__value, +.container.pc .header .level button[type=roll], +.container.pc .header .ac__value, +.container.pc .header .ac button[type=roll], +.container.pc .header .playername__value, +.container.pc .header .playername button[type=roll], +.container.pc .header .background__value, +.container.pc .header .background button[type=roll], +.container.pc .header .name__value, +.container.pc .header .name button[type=roll], +.container.pc .header .race__value, +.container.pc .header .race button[type=roll] { + padding: 0; + margin: 0; + line-height: 1.4; +} +.container.pc .header .initiative__value { + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 10% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + color: #c00; + font-size: 1.45rem; + text-align: center; +} +.container.pc .header .name { + position: relative; + margin-top: 0rem; + z-index: 10; + grid-template-rows: 3rem 1.5rem; + padding-top: 0.5rem; +} +.container.pc .header .name:before { + position: absolute; + display: block; + content: ""; + top: 0; + bottom: 0; + right: -2rem; + left: -2rem; + z-index: -1; + height: 6rem; + margin-top: 0; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229580853/RzAvglXLNQ9vfDdM0qm-nA/med.png?1624168102"); +} +.container.pc .header .name input[type=text] { + width: 80%; + margin: auto; + height: auto; + font-size: 1.5rem; + font-weight: bold; + border-image: none; +} +.container.pc .navigation { + display: grid; + grid-template-columns: 1fr 1fr; + margin-top: 1rem; +} +.container.pc .navigation__pages { + justify-self: end; + display: grid; + grid-template-columns: auto auto auto 2rem; + justify-content: end; +} +.container.pc .navigation__toggles { + grid-column: 1; + justify-self: left start; + display: grid; + grid-template-columns: 1fr 1fr 1fr; +} +.container.pc .navigation__toggle { + display: grid; + grid-template-columns: 1fr; + grid-template-areas: "checkbox"; + margin-right: 1rem; +} +.container.pc .navigation__toggle > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .navigation__toggle--settings { + font-family: Pictos; +} +.container.pc .navigation__toggle--whisperleft { + border-left: 1px solid black; + padding-left: 1rem; +} +.container.pc .navigation__toggle input[type=radio] { + opacity: 0; +} +.container.pc .navigation__toggle input[type=radio]:checked + span { + border: 1px solid #c00; + background-color: #c00; + color: white; +} +.container.pc .navigation__toggle span.pictos, +.container.pc .navigation__toggle span[data-i18n] { + display: block; + padding: 0.1rem 0.2rem; + border: 1px solid black; + border-radius: 0.3rem; + font-size: 1.2rem; + font-weight: bold; + text-align: center; +} +.container.pc .deathsaves { + grid-column: 1/-1; +} +.container.pc .navigation__toggle-group { + display: none; +} +.container.pc .toggleflag[value="@{advantagetoggle}"] + .navigation__toggle-group { + display: flex; + align-items: space-between; +} +.container.pc .abilityscores { + display: grid; + grid-template-rows: repeat(6, 12rem); + padding: 0.25rem; + padding-top: 1rem; + margin: 0; +} +.container.pc .abilityscore { + box-sizing: border-box; + display: grid; + grid-template-rows: 1.25rem 3.75rem 3rem; + align-items: center; + padding: 1rem 0; + margin-top: 1rem; + text-align: center; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229250145/sGV8WHAseUSfkSS6wyP14w/max.png?1624042176"); + background-repeat: no-repeat; + background-size: 100% 100%; + background-position: center top; +} +.container.pc .abilityscore__value { + font-family: "Dancing Script", serif; + font-size: 2.75rem; + font-weight: bold; + text-align: center; +} +.container.pc .abilityscore__base { + opacity: 0; +} +.container.pc .abilityscore__base:focus, .container.pc .abilityscore__base:active { + opacity: 1; +} +.container.pc .abilityscore__base:focus ~ .abilityscore__final, .container.pc .abilityscore__base:active ~ .abilityscore__final { + display: none; +} +.container.pc .abilityscore__base, .container.pc .abilityscore__final { + font-family: "Dancing Script", serif; + text-align: center; + color: #c00; +} +.container.pc .abilityscore__mod { + display: grid; + grid-template-areas: "mod"; + margin-top: 1rem; + text-align: center; + pointer-events: auto; +} +.container.pc .abilityscore__mod > * { + grid-area: mod; + font-size: 2rem; + width: 100%; + height: 100%; +} +.container.pc .abilityscore__mod:hover .abilityscore__final { + display: none; +} +.container.pc .abilityscore__mod:hover .abilityscore__base { + opacity: 1; + pointer-events: auto; +} +.container.pc .abilityscore__flag[value="1"] + .abilityscore__final { + color: #3e99e8; +} +.container.pc .abilityscore__flag[value="1"] + .abilityscore__final:after { + content: "*"; + font-size: 15px; +} +.container.pc .abilityscore__rollbutton[type=roll] { + padding: 0; + margin: 0; + margin-top: 1rem; + font-size: 0.75rem; +} +.container.pc .coins { + width: 100%; + height: 15rem; + margin-top: -2rem; + padding: 18% 7% 0 43%; + grid-column: span 2; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626578001/Pouch-Money_pagkje.png"); + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} +.container.pc .money { + grid-column: 1/-1; + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 0.5rem; + align-items: center; + justify-items: center; +} +.container.pc .money > * { + text-align: center; +} +.container.pc .money input[type=number] { + width: 100%; + border: 0; + background: transparent; + text-align: center; +} +.container.pc .coin { + color: black !important; +} +.container.pc .deathsaves { + margin: 2rem 0; +} +.container.pc .deathsaves__label { + margin: auto; + margin-bottom: 1rem; + height: 4rem; + width: 80%; +} +.container.pc .deathsaves__label button[type=roll] { + font-size: 1.2rem; +} +.container.pc .deathsaves__failures, .container.pc .deathsaves__successes { + width: 80%; + margin: auto; + display: grid; + grid-template-columns: 1fr 5rem 5rem 5rem; + align-items: center; + height: 3rem; +} +.container.pc .deathsaves__failures input[type=checkbox]:checked ~ span, .container.pc .deathsaves__successes input[type=checkbox]:checked ~ span { + background-image: url(""); +} +.container.pc .deathsaves__failures .deathsaves__check span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-fail-white_e65mmc.png"); + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} +.container.pc .deathsaves__failures .deathsaves__check input[type=checkbox]:checked + span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-fail-red_qydhmr.png"); +} +.container.pc .deathsaves__successes .deathsaves__check span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-succeed-white_l9svuh.png"); + background-size: contain; + background-position: center; + background-repeat: no-repeat; +} +.container.pc .deathsaves__successes .deathsaves__check input[type=checkbox]:checked + span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-succeed-red_rogomh.png"); +} +.container.pc .deathsaves__check { + display: grid; + grid-template-areas: "check"; + height: 3rem; +} +.container.pc .deathsaves__check > * { + grid-area: check; + height: 100%; + width: 100%; +} +.container.pc .deathsaves__check input[type=checkbox] { + opacity: 0; + position: relative; + z-index: 1000; +} +.container.pc .features { + padding: 1rem 0.5rem; +} +.container.pc .features__label { + margin-bottom: 1rem; +} +.container.pc .feature { + display: grid; + grid-template-columns: 1fr 1.5rem 1.5rem; + grid-gap: 0.5rem; + align-items: start; + margin: 0 0.25rem; + padding: 0 0.25rem; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .feature__title, .container.pc .feature__subheader { + display: block; + text-align: left; +} +.container.pc .feature__subheader { + color: #666; +} +.container.pc .feature__subheader > * { + font-size: 8pt; +} +.container.pc .feature__options { + grid-column: 1/-1; +} +.container.pc .feature__chat-button[type=roll] { + padding: 0; + margin: 0; + border: 0; + box-shadow: none; + background: transparent; + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .feature__options-container { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; +} +.container.pc .feature__options-container > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .feature__options-container input[class*=flag][type=checkbox] { + opacity: 0; + width: 100%; + height: 100%; +} +.container.pc .feature__options-container input[class*=flag][type=checkbox]:checked ~ span { + color: red; +} +.container.pc .feature__options-container span { + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .feature input.feature__flag--options[value=on] ~ .feature__options { + display: block !important; +} +.container.pc .inspprof { + display: grid; + grid-template-columns: 7rem 1fr; + align-items: center; + margin: 1rem 0; +} +.container.pc .inspprof:after { + width: 100%; + height: 100%; +} +.container.pc .inspprof__value { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + margin-top: -1rem; + margin-bottom: -1rem; + margin-left: 1rem; + height: 4rem; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + background-size: 100% 100%; + font-family: "Dancing Script", serif; + font-size: 4rem; + font-weight: bold; + text-align: center; +} +.container.pc .inspprof__value > * { + grid-area: checkbox; + height: 100%; + width: 100%; + font-family: "Dancing Script", serif; + font-size: 3rem; +} +.container.pc .inspprof__value input[type=checkbox] { + opacity: 0; + height: 100%; +} +.container.pc .inspprof__value input[type=checkbox]:checked ~ span { + align-self: center; + justify-self: center; + height: 130%; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626670086/inspiration-3_qfwtry.png"); + background-position: center center; + background-size: contain; + background-repeat: no-repeat; +} +.container.pc .inspprof__label { + font-size: 0.9rem; + text-align: center; +} +.container.pc .inspprof__button[type=roll] { + width: 100%; + border: 0; + background: transparent; + font-size: 1.65rem; +} +.container.pc .inspprof__button[type=roll]:hover { + color: #c00; +} +.container.pc .moves { + margin-top: 1rem; + padding: 0; +} +.container.pc .moves__label { + margin-bottom: 1rem; +} +.container.pc .move-label { + display: grid; + grid-template-columns: 1fr 5rem 5rem; + align-items: center; + margin: 1rem 0.5rem; + height: auto; + font-size: 1.25rem; + font-weight: bold; +} +.container.pc .move-label__numeral { + display: grid; + grid-template-columns: 1fr min-content min-content; +} +.container.pc .move-label__numeral button[type=action] { + border: none; + background: none; +} +.container.pc .move-label__label { + font-size: 2rem; + text-transform: uppercase; +} +.container.pc .move-label__total span { + font-family: "Dancing Script", serif; +} +.container.pc .move-label__title { + font-family: "Quintessential", "Baskerville", serif; + font-size: 6pt; + text-transform: uppercase; + color: #666; +} +.container.pc .move-label input[type=number] { + width: 100%; + height: auto; + border: 0; + background-color: transparent; + font-weight: bold; + text-align: center; + -moz-appearance: textfield; +} +.container.pc .move-label input[type=number]::-webkit-outer-spin-button, .container.pc .move-label input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; +} +.container.pc .move { + display: grid; + grid-template-columns: 1fr 1.5rem 1.5rem; + grid-gap: 0.5rem; + margin: 0 0.25rem; + padding: 0 0.25rem; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .move__title, .container.pc .move__subheader { + display: block; + text-align: left; +} +.container.pc .move__subheader { + color: #666; +} +.container.pc .move__subheader > * { + font-size: 8pt; +} +.container.pc .move__options { + grid-column: 1/-1; +} +.container.pc .move__chat-button[type=roll] { + padding: 0; + margin: 0; + border: 0; + box-shadow: none; + background: transparent; + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .move__options-container { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; +} +.container.pc .move__options-container > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .move__options-container input[class*=flag][type=checkbox] { + opacity: 0; + width: 100%; + height: 100%; +} +.container.pc .move__options-container input[class*=flag][type=checkbox]:checked ~ span { + color: red; +} +.container.pc .move__options-container span { + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .move input.move__flag--options[value=on] ~ .move__options { + display: block !important; +} +.container.pc .savingthrows { + display: grid; + grid-gap: 0.25rem; + padding: 1rem; + margin-bottom: 1rem; +} +.container.pc .savingthrow { + display: grid; + grid-template-columns: 1rem 2rem 1fr; + grid-gap: 0.5rem; + width: auto; +} +.container.pc .savingthrow__button[type=roll] { + font-size: 1.2rem; + font-weight: normal; + text-align: left; +} +.container.pc .savingthrow__value { + text-align: center; +} +.container.pc .savingthrow__checkbox { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; +} +.container.pc .savingthrow__checkbox > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .savingthrow__checkbox input[type=checkbox] { + opacity: 0; +} +.container.pc .savingthrow__checkbox input[type=checkbox]:checked ~ span:before { + background-color: #c00; +} +.container.pc .savingthrow__checkbox span:before { + display: block; + content: " "; + width: 1rem; + height: 1rem; + border: 1px solid black; + border-radius: 50%; + font-family: Pictos; + font-size: 1rem; + line-height: 1rem; +} +.container.pc .toggle:not([value="1"]) + [class*=toggleVisibilityBy] { + display: none; +} +.container.pc .shields { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 4rem; + padding: 30% 10% 20% 10%; + height: 18rem; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626658997/shields_m7snh3.png"); + background-position: center; + background-repeat: no-repeat; + background-size: contain; +} +.container.pc .shields .speed input[type=number], +.container.pc .shields .ac input[type=number] { + width: 100%; + padding: 0; + margin: 0; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; + background: transparent; + font-size: 3rem; + text-align: center; +} +.container.pc .shields .speed__label, +.container.pc .shields .ac__label { + text-align: center; + font-size: 1.65rem; +} +.container.pc .skills { + display: grid; + grid-gap: 0.25rem; + padding: 1rem; +} +.container.pc .skill { + display: grid; + grid-template-columns: 1rem 2rem 1fr; + grid-gap: 0.5rem; + width: auto; +} +.container.pc .skill__button[type=roll] { + font-size: 1.2rem; + font-weight: normal; + text-align: left; +} +.container.pc .skill__value { + text-align: center; +} +.container.pc .skill__checkbox { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; +} +.container.pc .skill__checkbox > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .skill__checkbox input[type=checkbox] { + opacity: 0; +} +.container.pc .skill__checkbox input[type=checkbox]:checked ~ span:before { + background-color: #c00; +} +.container.pc .skill__checkbox span:before { + display: block; + content: " "; + width: 1rem; + height: 1rem; + border: 1px solid black; + border-radius: 50%; + font-family: Pictos; + font-size: 1rem; + line-height: 1rem; +} +.container.pc .spells { + margin-top: 1rem; +} +.container.pc .spells__cantrips, .container.pc .spells__section { + margin: 0; +} +.container.pc .spells__section { + display: grid; + grid-gap: 1rem; +} +.container.pc .spells__container { + min-height: 100%; +} +.container.pc .spell-label { + display: grid; + grid-template-columns: 1fr 5rem 5rem; + align-items: center; + margin: 1rem 0.5rem; + height: auto; + border-image-width: 0.5rem 3rem 2rem 2.5em; + border-image-outset: 0.5rem 2.5rem 2rem 3rem; + font-size: 1.25rem; + font-weight: bold; +} +.container.pc .spell-label__numeral { + display: grid; + grid-template-columns: 1fr min-content min-content; +} +.container.pc .spell-label__numeral button[type=action] { + border: none; + background: none; +} +.container.pc .spell-label--0 { + grid-template-columns: 1fr; +} +.container.pc .spell-label__label { + font-size: 2rem; + text-transform: uppercase; +} +.container.pc .spell-label__total span { + font-family: "Dancing Script", serif; +} +.container.pc .spell-label__title { + font-family: "Quintessential", "Baskerville", serif; + font-size: 6pt; + text-transform: uppercase; + color: #666; +} +.container.pc .spell-label input[type=number] { + width: 100%; + height: auto; + border: 0; + background-color: transparent; + font-weight: bold; + text-align: center; + -moz-appearance: textfield; +} +.container.pc .spell-label input[type=number]::-webkit-outer-spin-button, .container.pc .spell-label input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; +} +.container.pc .spell { + margin: 0 0.25rem; + padding: 0 0.25rem; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .spell__display { + display: grid; + grid-template-columns: 1.5rem 1fr 3.5rem 1.5rem 1.5rem; + grid-gap: 0.5rem; + align-items: center; + justify-content: center; +} +.container.pc .spell__card-button[type=roll] { + grid-column: span 2; +} +.container.pc .spell__prepped { + display: grid; + align-items: center; + justify-content: center; + grid-template-areas: "checkbox"; + text-align: center; +} +.container.pc .spell__prepped > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .spell__prepped-mark { + display: block; + width: 1rem; + height: 1rem; + border: 1px solid black; + border-radius: 1rem; +} +.container.pc .spell__prepped input.spell__prepped-input[type=checkbox] { + opacity: 0; +} +.container.pc .spell__prepped + .spell__card-button[type=roll] { + grid-column: 2; +} +.container.pc .spell__card-button[type=roll] { + padding: 0; + margin: 0; + overflow: hidden; + border: 0; + box-shadow: none; + background: transparent; + text-align: left; + text-overflow: ellipsis; +} +.container.pc .spell__components, .container.pc .spell__casting-details { + display: flex; + justify-content: space-between; +} +.container.pc .spell__ritual, .container.pc .spell__concentration { + display: block; + width: 1.25rem; + height: 1.25rem; + background-color: black; + color: white; + font-size: 6pt; + font-family: "Verdana", "Tahoma", sans-serif; + text-align: center; +} +.container.pc .spell__component, .container.pc .spell__component--v, .container.pc .spell__component--s, .container.pc .spell__component--m { + font-size: 6pt; + font-family: "Verdana", "Tahoma", sans-serif; + text-align: center; +} +.container.pc .spell__chat-button[type=roll] { + padding: 0; + margin: 0; + border: 0; + box-shadow: none; + background: transparent; + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .spell__details-container, .container.pc .spell__options-container { + display: grid; + grid-template-areas: "checkbox"; +} +.container.pc .spell__details-container > *, .container.pc .spell__options-container > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.pc .spell__details-container input[class*=flag][type=checkbox], .container.pc .spell__options-container input[class*=flag][type=checkbox] { + opacity: 0; +} +.container.pc .spell__details-container input[class*=flag][type=checkbox]:checked ~ span, .container.pc .spell__options-container input[class*=flag][type=checkbox]:checked ~ span { + color: red; +} +.container.pc .spell__details-container span, .container.pc .spell__options-container span { + font-family: Pictos; + font-size: 12pt; + text-align: center; +} +.container.pc .spell__details { + display: none; +} +.container.pc .spell__options--attack { + display: none; +} +.container.pc .spell input.spell__flag--details[value=on] ~ .spell__details { + display: block !important; +} +.container.pc .spell input.spell__flag--options[value=on] ~ .spell__options { + display: block !important; +} +.container.pc .spell input.spell__flag--output[value=ATTACK] ~ .spell__options--attack { + display: block !important; +} +.container.pc .spellstats { + display: flex; + justify-content: space-around; + align-items: center; + padding: 1rem; + height: 100%; +} +.container.pc .spellstats__ability select { + -webkit-appearance: none; + -moz-appearance: none; + max-width: 10.5rem; + height: 4rem; + margin: 0; + padding: 0; + border: none; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + background-size: 100% 100%; + text-align: center; + font-size: 1.6rem; +} +.container.pc .spellstats__display { + display: block; + margin: auto; + max-width: 7.5rem; + height: 4rem; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + background-size: 100% 100%; + font-family: "Dancing Script", serif; + font-size: 2.45rem; + line-height: 4rem; + text-align: center; + color: #c00; +} +.container.pc .spellstats__label { + display: block; + font-weight: bold; +} +.container.pc .toolprofs { + width: auto; + margin-top: 0.25rem; + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-source: url("https://app.roll20.net/images/dndstyling/proficiency-block.svg"); + border-image-slice: 6% 8% 6% 8%; + border-image-width: 1.5rem 2rem; + border-image-repeat: stretch; +} +.container.pc .toolprofs__header { + display: grid; + grid-template-columns: 1fr 0.75fr 1fr 1.25rem; + grid-gap: 0.25rem; + margin: 0.5rem; + text-align: center; + color: #666; +} +.container.pc .toolprofs__label { + font-size: 1rem; + font-weight: bold; + text-align: center; +} +.container.pc .toolprof { + width: auto; +} +.container.pc .toolprof__display { + display: grid; + grid-template-columns: 1fr 1.25rem; + align-items: center; + margin: 0.5rem; +} +.container.pc .toolprof__display button[type=roll] { + display: grid; + grid-template-columns: 1fr 0.75fr 1fr; + grid-gap: 0.25rem; + align-items: center; +} +.container.pc .toolprof__name, .container.pc .toolprof__value, .container.pc .toolprof__attribute { + box-sizing: border-box; + margin: 0; + padding: 0.5rem; + width: 100%; + height: 2rem; + border-radius: 5px 0 5px 0; + border: 0; + font-size: 1rem; + font-weight: bold; + text-align: left; + background-color: #efefef; +} +.container.pc .toolprof__value[type=text] { + text-align: center; +} +.container.pc .otherprofs { + width: auto; + margin-top: 0.5rem; + border-width: 0.5rem; + border-style: solid; + border-color: transparent; + border-image-source: url("https://app.roll20.net/images/dndstyling/5eBorder.svg"); + border-image-slice: 4% 8% 12% 8%; + border-image-width: 1.5rem 2rem 3rem 2rem; + border-image-repeat: stretch; +} +.container.pc .otherprofs__header { + display: grid; + grid-template-columns: 0.8fr 1fr 1.25rem; + grid-gap: 0.25rem; + margin: 0.5rem; + text-align: center; + color: #666; +} +.container.pc .otherprofs__label { + font-size: 1rem; + font-weight: bold; + text-align: center; +} +.container.pc .otherprofs textarea { + width: auto; +} +.container.pc .otherprof { + width: 100%; + margin: 0.5rem 0; +} +.container.pc .otherprof__display { + display: grid; + grid-template-columns: 1fr 1.5rem; + grid-gap: 0.25rem; + align-items: center; + margin: 0.5rem; +} +.container.pc .otherprof__display button[type=roll] { + display: grid; + grid-template-columns: 0.8fr 1fr; + grid-gap: 0.25rem; + align-items: center; +} +.container.pc .otherprof__name, .container.pc .otherprof__type { + box-sizing: border-box; + margin: 0 0.25rem; + padding: 0.5rem; + width: 100%; + height: 2rem; + border-radius: 5px 0 5px 0; + border: 0; + font-size: 1rem; + font-weight: bold; + text-align: left; + background-color: #efefef; +} +.container.pc .otherprof__value[type=text] { + text-align: center; +} +.container.pc .vitals { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 1fr 0.8fr; + grid-gap: 1rem 0; + padding: 0 8%; +} +.container.pc .vitals input[type=number] { + -moz-appearance: textfield; +} +.container.pc .vitals input[type=number]::-webkit-outer-spin-button, +.container.pc .vitals input[type=number] ::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} +.container.pc .vitals > div span { + display: block; + text-align: center; + font-size: 10pt; +} +.container.pc .vitals__hp { + grid-row: span 2; + min-height: 22.5rem; + padding: 0 25%; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626560576/bottlehp_xgdwjn.png"); + background-size: auto 100%; + background-position: top center; + background-repeat: no-repeat; +} +.container.pc .vitals__hp > input[type=number]:first-child { + margin-top: 10rem; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .vitals__hp > input[type=number] { + font-size: 15pt; + text-align: center; +} +.container.pc .vitals__temphp { + padding: 0 27%; + padding-left: 20%; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626557916/Pitcher-TempHP_mieznd.png"); + background-size: auto 100%; + background-position: top center; + background-repeat: no-repeat; +} +.container.pc .vitals__temphp > input[type=number]:first-child { + margin-top: 57.5%; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .vitals__temphp > input[type=number] { + font-size: 14pt; + text-align: center; +} +.container.pc .vitals__hitdice { + padding: 0 27.5%; + padding-top: 2.5rem; + padding-bottom: 1rem; + display: grid; + grid-template-columns: 1fr 1rem 1fr; + align-items: center; + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626557915/Cup-HD_t2gkum.png"); + background-size: auto 100%; + background-position: top center; + background-repeat: no-repeat; +} +.container.pc .vitals__hitdice > input[type=number]:first-child { + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .vitals__hitdice > input[type=number] { + font-size: 14pt; + text-align: center; +} +.container.pc .vitals__hitdice > span[name*=max] { + font-size: 16pt; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; +} +.container.pc .vitals__hitdice > span.vitals__label { + grid-column: span 3; +} +.container.pc .trackers { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 1rem; + margin-top: 1rem; + padding: 1rem; +} +.container.pc .attacks { + margin: 0 0.5rem; +} +.container.pc .attacks__header { + display: grid; + grid-template-columns: 1fr 0.5fr 1fr 1.25rem; + grid-gap: 0.25rem; + padding: 0 0.5rem; + margin: 0.5rem -1rem; + text-align: center; +} +.container.pc .attacks textarea { + width: auto; +} +.container.pc .attacks__label { + height: 4rem; + margin-bottom: -1.5rem; + background-size: 90% 100%; + text-align: center; +} +.container.pc .attack { + width: 100%; + margin: 0.5rem 0; +} +.container.pc .attack__display { + display: grid; + grid-template-columns: 1fr 1.5rem; + grid-gap: 0.25rem; + align-items: center; + margin: 0.5rem; +} +.container.pc .attack__display button[type=roll] { + display: grid; + grid-template-columns: 1fr 3rem 0.7fr; + grid-gap: 0.25rem; + align-items: center; +} +.container.pc .attack__name, .container.pc .attack__type, .container.pc .attack__bonus { + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: 2.5rem; + overflow: hidden; + text-overflow: ellipsis; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; + font-size: 1.3rem; + font-weight: normal; + line-height: 1; +} +.container.pc .attack__name { + text-align: left; +} +.container.pc .attack__type, .container.pc .attack__bonus { + text-align: center; +} +.container.pc .attack__type { + font-size: 1.2em; +} +.container.pc .attack__value[type=text] { + text-align: center; +} +.container.pc .appearance, +.container.pc .backstory, +.container.pc .allies, +.container.pc .adfeatures, +.container.pc .personalitytrait, +.container.pc .treasure { + display: grid; + grid-template-columns: 1fr; + grid-template-rows: 3.5rem 1fr; + justify-content: center; + align-items: stretch; + padding: 1rem; +} +.container.pc .appearance textarea, +.container.pc .backstory textarea, +.container.pc .allies textarea, +.container.pc .adfeatures textarea, +.container.pc .personalitytrait textarea, +.container.pc .treasure textarea { + width: 100%; + min-height: 5rem; + height: auto; + margin: 0; + padding: 0; + resize: vertical; + border: 0; +} +.container.pc .appearance input[type=text], +.container.pc .backstory input[type=text], +.container.pc .allies input[type=text], +.container.pc .adfeatures input[type=text], +.container.pc .personalitytrait input[type=text], +.container.pc .treasure input[type=text] { + padding: 0; + border: 0; + border-bottom: 1px solid black; + border-radius: 0; +} +.container.pc .bounty { + display: grid; + min-height: 15rem; + grid-template-columns: 1fr; + grid-template-rows: 1fr 1rem; + justify-content: center; + align-items: stretch; + padding: 1rem; +} +.container.pc .bounty__image { + display: block; + min-height: 3.5rem; +} +.container.pc .bounty__bounty { + display: grid; + grid-template-columns: 1fr 7rem; + grid-gap: 1rem; + align-items: center; + height: 3rem; + margin: 0 -2rem; + padding: 0 1rem; + background-color: white; +} +.container.pc .bounty__bounty input[type=number] { + margin-top: -1rem; + margin-bottom: -1rem; + border: 0; + padding: 0; + width: 100%; + height: 4rem; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + background-size: 100% 100%; + background-color: transparent; + text-align: center; +} +.container.pc .exhaustions { + grid-template-columns: 2rem 1fr; +} +.container.pc .knocks { + grid-template-columns: 1fr 2rem; +} +.container.pc .exhaustions, +.container.pc .knocks { + display: grid; + align-items: center; +} +.container.pc .exhaustions__level, +.container.pc .knocks__level { + display: none; +} +.container.pc .exhaustions > input[type=hidden][value="0"] ~ * .knocks__level--0, +.container.pc .exhaustions > input[type=hidden][value="0"] ~ * .exhaustions__level--0, +.container.pc .knocks > input[type=hidden][value="0"] ~ * .knocks__level--0, +.container.pc .knocks > input[type=hidden][value="0"] ~ * .exhaustions__level--0 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="1"] ~ * .knocks__level--1, +.container.pc .exhaustions > input[type=hidden][value="1"] ~ * .exhaustions__level--1, +.container.pc .knocks > input[type=hidden][value="1"] ~ * .knocks__level--1, +.container.pc .knocks > input[type=hidden][value="1"] ~ * .exhaustions__level--1 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="2"] ~ * .knocks__level--2, +.container.pc .exhaustions > input[type=hidden][value="2"] ~ * .exhaustions__level--2, +.container.pc .knocks > input[type=hidden][value="2"] ~ * .knocks__level--2, +.container.pc .knocks > input[type=hidden][value="2"] ~ * .exhaustions__level--2 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="3"] ~ * .knocks__level--3, +.container.pc .exhaustions > input[type=hidden][value="3"] ~ * .exhaustions__level--3, +.container.pc .knocks > input[type=hidden][value="3"] ~ * .knocks__level--3, +.container.pc .knocks > input[type=hidden][value="3"] ~ * .exhaustions__level--3 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="4"] ~ * .knocks__level--4, +.container.pc .exhaustions > input[type=hidden][value="4"] ~ * .exhaustions__level--4, +.container.pc .knocks > input[type=hidden][value="4"] ~ * .knocks__level--4, +.container.pc .knocks > input[type=hidden][value="4"] ~ * .exhaustions__level--4 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="5"] ~ * .knocks__level--5, +.container.pc .exhaustions > input[type=hidden][value="5"] ~ * .exhaustions__level--5, +.container.pc .knocks > input[type=hidden][value="5"] ~ * .knocks__level--5, +.container.pc .knocks > input[type=hidden][value="5"] ~ * .exhaustions__level--5 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions > input[type=hidden][value="6"] ~ * .knocks__level--6, +.container.pc .exhaustions > input[type=hidden][value="6"] ~ * .exhaustions__level--6, +.container.pc .knocks > input[type=hidden][value="6"] ~ * .knocks__level--6, +.container.pc .knocks > input[type=hidden][value="6"] ~ * .exhaustions__level--6 { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; +} +.container.pc .exhaustions__checks, +.container.pc .knocks__checks { + display: grid; + grid-template-rows: repeat(6, 1fr) 2rem; +} +.container.pc .exhaustions__label, +.container.pc .knocks__label { + grid-column: 1/-1; + font-size: 12pt; + text-align: center; +} +.container.pc .exhaustion, +.container.pc .knock { + display: grid; + grid-template-areas: "checkbox"; +} +.container.pc .exhaustion__radio, +.container.pc .knock__radio { + grid-area: checkbox; + width: 100%; + height: 100%; + opacity: 0; +} +.container.pc .exhaustion__radio:checked, +.container.pc .knock__radio:checked { + opacity: 1; +} +.container.pc .exhaustion__radio:checked + span, +.container.pc .knock__radio:checked + span { + background-color: black; + color: white; + font-weight: bold; +} +.container.pc .exhaustion__text, +.container.pc .knock__text { + display: block; + grid-area: checkbox; + width: 100%; + height: 100%; + text-align: center; + font-size: 1rem; + font-family: "Libre Baskerville", sans-serif; +} +.container.pc .equipment { + margin: 0 0.5rem; + margin-bottom: 2rem; +} +.container.pc .equipment__header { + display: grid; + grid-template-columns: 1.5rem 3rem 1fr 3rem 1.5rem; + grid-gap: 0.25rem; + align-items: center; + padding: 0 0.5rem; + margin: 0.5rem -1rem; +} +.container.pc .equipment__count { + grid-column: 2; +} +.container.pc .equipment__weighti { + width: 1.5rem; + height: 1.5rem; + vertical-align: top; + justify-self: center; +} +.container.pc .equipment__weighti img { + vertical-align: top; +} +.container.pc .equipment__weighttotal { + display: grid; + grid-template-columns: 1fr 3rem; + align-items: center; + padding: 0 4rem; + font-weight: bold; +} +.container.pc .equipment__encumbrance[type=number] { + width: 3rem; + height: 3rem; + margin: 0.5rem 0; + border-radius: 50%; + border: 1px solid black; + text-align: center; +} +.container.pc .equipment__encumbrancetotal { + font-weight: bold; +} +.container.pc .equipment__label { + height: 4rem; + margin-bottom: -1.5rem; + background-size: 90% 100%; + text-align: center; +} +.container.pc .item input.item__optionsflag[value=on] ~ .options { + display: block; +} +.container.pc .item input[type=text] { + text-align: center; +} +.container.pc .item input[type=text], +.container.pc .item input[type=number] { + width: 100%; + height: 16pt; + border-width: 0 0 0.5rem 0; + border-style: solid; + border-color: transparent; + border-image-slice: 15% 5% 10% 5%; + border-image-width: 0rem 0rem 0.75rem 0rem; + border-image-outset: 0px 0px 0px 0px; + border-image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + border-image-repeat: repeat; + font-size: 12pt; + line-height: 1; +} +.container.pc .item__titlerow { + display: grid; + grid-template-columns: 1.5rem 3rem 1fr 3rem 1.5rem; + grid-gap: 0.5rem; +} +.container.pc .item__optionsflag { + display: grid; + grid-template-areas: "check"; +} +.container.pc .item__optionsflag > * { + grid-area: check; + width: 100%; + height: 100%; +} +.container.pc .item__optionscheck { + position: relative; + z-index: 1000; + opacity: 0; +} +.container.pc .item__optionscheck:checked ~ span.pictos { + color: #c00; +} +.container.npc { + max-width: 800px; +} +.container.npc input[type=text], +.container.npc input[type=number], +.container.npc select, +.container.npc textarea { + font-family: sans-serif !important; +} +.container.npc button[type=roll][type=roll] { + border: 0; + background: none; + box-shadow: none; +} +.container.npc button[type=roll][type=roll] * { + font-family: sans-serif; +} +.container.npc button[type=roll][type=roll]:hover { + color: red; +} +.container.npc .npc__challenge--brackets:before, .container.npc .npc__hitpoints-formula:before, .container.npc .npc__ac-type:before, .container.npc .npc__challenge--brackets:after, .container.npc .npc__hitpoints-formula:after, .container.npc .npc__ac-type:after { + display: inline; +} +.container.npc .npc__challenge--brackets:before, .container.npc .npc__hitpoints-formula:before, .container.npc .npc__ac-type:before { + content: "("; +} +.container.npc .npc__challenge--brackets:after, .container.npc .npc__hitpoints-formula:after, .container.npc .npc__ac-type:after { + content: ")"; +} +.container.npc .npc__options { + max-width: 500px; + margin-bottom: 2rem; +} +.container.npc .npc__settings { + float: right; + display: grid; + grid-template-areas: "checkbox"; +} +.container.npc .npc__settings > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.npc .npc__settings > input { + opacity: 0; +} +.container.npc .npc__settings > input:checked ~ span { + color: red; +} +.container.npc .npc__settings > span { + font-family: Pictos; +} +.container.npc .npc__grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 5rem; +} +.container.npc .npc__row { + display: flex; + flex-wrap: wrap; + align-items: baseline; +} +.container.npc .npc__row > * { + display: inline; + margin-right: 0.25rem; + font-family: sans-serif; +} +.container.npc .npc__row--center { + justify-content: center; +} +.container.npc .npc__row--space-between { + justify-content: space-between; +} +.container.npc .npc__row button[type=roll] { + padding: 0; + margin: 0; + line-height: 1; +} +.container.npc .npc__rule--thin { + margin: 1rem 0; + border: 0.5px solid #900; +} +.container.npc .npc__rule--thick-top, .container.npc .npc__rule--thick-bottom { + margin: 1rem 0; + border: 0.5px solid #900; +} +.container.npc .npc__rule--thick-top:after, .container.npc .npc__rule--thick-bottom:after { + display: block; + content: ""; + margin-top: 3px; + width: 100%; + height: 3px; + background-color: #900; +} +.container.npc .npc__rule--thick-bottom { + transform: rotate(180deg); +} +.container.npc .npc__title { + display: block; + font-family: "Playfair Display SC", serif !important; + font-size: 16pt; + text-align: center; + color: #900; +} +.container.npc .npc__subtitle { + display: block; + font-family: "Playfair Display", serif; +} +.container.npc .npc__attribute-container { + margin-right: 1rem; +} +.container.npc .npc__attribute-mod { + font-weight: bold; +} +.container.npc .npc__attribute-mod:not([value^="-"]):before { + display: inline; + content: "+"; +} +.container.npc .npc__attribute-title { + display: block; + font-weight: bold; + text-align: center; + color: #900; +} +.container.npc .npc__attribute-score { + margin-right: 0.25rem; +} +.container.npc .npc__label { + margin-right: 0.5rem; + color: #900; + font-size: 1.2rem; + font-weight: bold; + text-transform: uppercase; +} +.container.npc .npc__hidden { + display: none; +} +.container.npc .npc__skill > span, .container.npc .npc__save > span { + margin-right: 0.5rem; +} +.container.npc .npc__skill > span:last-child:after, .container.npc .npc__save > span:last-child:after { + display: inline; + content: ","; +} +.container.npc .npc__section-header { + font-family: "Playfair Display", serif !important; + font-size: 9pt; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 1px; + color: #900; +} +.container.npc .npc__toggle { + float: right; + border: 0; + background: none; + box-shadow: none; +} +.container.npc .npc__toggle span { + font-family: "Pictos"; +} +.container.npc .toggle { + display: grid; + grid-template-areas: "checkbox"; +} +.container.npc .toggle > * { + grid-area: checkbox; + width: 100%; + height: 100%; +} +.container.npc .toggle > input { + opacity: 0; +} +.container.npc .toggle > input:checked + span { + color: red; +} +.container.npc .toggle > span { + font-family: "Pictos"; +} +.container.npc .action, +.container.npc .bonusaction, +.container.npc .reaction, +.container.npc .legaction, +.container.npc .trait { + margin-bottom: 0.33rem; +} +.container.npc .action input.toggle__input[value=on] ~ .toggle__options, +.container.npc .bonusaction input.toggle__input[value=on] ~ .toggle__options, +.container.npc .reaction input.toggle__input[value=on] ~ .toggle__options, +.container.npc .legaction input.toggle__input[value=on] ~ .toggle__options, +.container.npc .trait input.toggle__input[value=on] ~ .toggle__options { + display: block; +} +.container.npc .action input.toggle__input[value=on] ~ .toggle__display, +.container.npc .bonusaction input.toggle__input[value=on] ~ .toggle__display, +.container.npc .reaction input.toggle__input[value=on] ~ .toggle__display, +.container.npc .legaction input.toggle__input[value=on] ~ .toggle__display, +.container.npc .trait input.toggle__input[value=on] ~ .toggle__display { + display: none; +} +.container.npc .action__name[type=roll], +.container.npc .bonusaction__name[type=roll], +.container.npc .reaction__name[type=roll], +.container.npc .legaction__name[type=roll], +.container.npc .trait__name[type=roll] { + display: inline-block; + margin: 0; + padding: 0; + vertical-align: baseline; + line-height: inherit; + font-weight: bold; + font-size: inherit; + font-style: italic; +} +.container.npc .action__name[type=roll]:after, +.container.npc .bonusaction__name[type=roll]:after, +.container.npc .reaction__name[type=roll]:after, +.container.npc .legaction__name[type=roll]:after, +.container.npc .trait__name[type=roll]:after { + display: inline; + content: "."; + margin-right: 0.5rem; +} +.container.npc .action__description, +.container.npc .bonusaction__description, +.container.npc .reaction__description, +.container.npc .legaction__description, +.container.npc .trait__description { + font-family: sans-serif; + white-space: pre-wrap; +} +.container.npc .repcontrol .repcontrol_edit, +.container.npc .repcontrol .repcontrol_add { + display: flex; + align-items: center; + justify-content: center; +} +.container.npc .flag__display--attack { + display: none; +} +.container.npc input.flag__toggle--attack[value=on] ~ .flag__display--attack { + display: flex; +} +.container.npc input.npc__flag--options[value=on] ~ .npc__options { + display: block; +} +.container.npc input.npc__flag--next[value] + * { + display: flex; +} +.container.npc input.npc__flag--mod:not([value]) + *, +.container.npc input.npc__flag--mod[value*=mod] + * { + display: none; +} +.container.npc .npc__bonus-actions, +.container.npc .npc__reactions { + display: none; +} +.container.npc input[name*=npcbonusactionsflag][value="1"] + div, +.container.npc input[name*=npcreactionsflag][value="1"] + div { + display: block; +} +.container.npc input[name*=npc_legendary_actions][value="0"] + div { + display: none; +} +.container.npc * { + font-family: sans-serif; +} +.container button[type=roll][type=roll] { + padding: 0; + margin: 0; + line-height: inherit; +} + +.charsheet input[type=number], +.charsheet input[type=text], +.charsheet textarea, +.charsheet select { + width: 100%; + color: #c00; +} +.charsheet input[type=number] { + font-family: "Dancing Script", serif; + -moz-appearance: textfield; +} +.charsheet input[type=number]::-webkit-outer-spin-button, .charsheet input[type=number]::-webkit-inner-spin-button { + -webkit-appearance: none; +} +.charsheet input[type=text] { + font-family: "Quintessential", serif; +} + +.container { + width: 100% !important; +} + +.pc, +.npc { + display: none; +} + +.npc_toggle[value="0"] ~ .pc, +.npc_toggle[value="1"] ~ .npc { + display: block; +} + +.page.core, +.page.bio, +.page.spellmoves, +.page.settings { + display: none; +} + +.page__switch[value=core] ~ .page.core, +.page__switch[value=bio] ~ .page.bio, +.page__switch[value=spells] ~ .page.spellmoves, +.page__switch[value=settings] ~ .page.settings { + display: grid; +} + +.charsheet .repcontrol { + min-height: 2rem; + margin-top: 0.5rem; + padding: 0 1rem; +} +.charsheet .repcontrol button { + min-height: 2rem; + max-height: 2rem; + min-width: 2rem; + max-width: 2rem; + padding: 0; + border: 1px solid rgba(0, 0, 0, 0.5); + border-radius: 0.3rem; + background: none; + font-size: 0; +} +.charsheet .repcontrol button.repcontrol_add:before, .charsheet .repcontrol button.repcontrol_edit:before { + display: block; + font-family: Pictos; + font-size: 10pt; + text-align: center; +} +.charsheet .repcontrol button.repcontrol_add:before { + padding-top: 0.1rem; + content: "&"; +} +.charsheet .repcontrol button.repcontrol_edit:before { + padding-top: 0.2rem; + content: "("; +} + +.charsheet .pictos { + font-family: Pictos; +} + +.charsheet * { + font-family: "Quintessential", "Baskerville", serif; + font-size: 1.4rem; + line-height: 1.33; +} + +.charsheet button[type=roll]:before { + display: none; +} + +* { + box-sizing: border-box; +} diff --git a/Brancalonia Official/Brancalonia.html b/Brancalonia Official/Brancalonia.html new file mode 100644 index 0000000000..7805fc608a --- /dev/null +++ b/Brancalonia Official/Brancalonia.html @@ -0,0 +1,12722 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
+
+
+ + +
+
+
+
+
+
+
+
+
+ + +
+
NPC OPTIONS
+
NAME + +
+
NPC TYPE + +
+
ARMOR CLASS + TYPE + +
+
HIT POINTS + FORMULA + +
+
SPEED + +
+
+
ATTRIBUTES
+
STR + DEX + CON + INT + WIS + CHA + +
+
+
SAVES
+
STR + + DEX + + CON + + INT + + WIS + + CHA + + +
+
+
SKILLS
+
+
+
ACROBATICS + + +
+
ANIMAL HANDLING + + +
+
ARCANA + + +
+
ATHLETICS + + +
+
DECEPTION + + +
+
HISTORY + + +
+
+
+
INSIGHT + + +
+
INTIMIDATION + + +
+
INVESTIGATION + + +
+
MEDICINE + + +
+
NATURE + + +
+
PERCEPTION + + +
+
+
+
PERFORMANCE + + +
+
PERSUASION + + +
+
RELIGION + + +
+
SLEIGHT_OF_HAND + + +
+
STEALTH + + +
+
SURVIVAL + + +
+
+
+
DAMAGE VULNERABILITIES + +
+
DAMAGE RESISTANCES + +
+
DAMAGE IMMUNITIES + +
+
CONDITION IMMUNITIES + +
+
SENSES + +
+
LANGUAGES + +
+
CHALLENGE + XP + +
+
TOKEN SIZE + +
+ +
+ SPELLCASTING NPCSPELLCASTING ABILITY + +
+
GLOBAL MAGIC ATTACK MODIFIER: + MAGIC CASTER LEVEL: + SPELL SAVE DC MOD: + +
+
+ HAS BONUS ACTIONS + HAS REACTIONS +
+
LEGENDARY ACTIONS: + +
+
+ MYTHIC ACTIONS: + +
+
GENERAL OPTIONS
+
+ NPC +
+
ROLL QUERIES: + WHISPER ROLLS TO GM: + +
+
AUTO DAMAGE ROLL: + NPC NAME IN ROLLS: + +
+
+ ADD DEX TIEBREAKER TO INITIATIVE +
+
+
+
+
+
+ y +
+
+ +
+
+
+
Armor Class + +
+
Hit Points + +
+
Speed
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
Saving Throws + + + + + + + + + + + + +
+ +
Skills + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
Damage Vulnerabilities
+ +
Damage Resistances
+ +
Damage Immunities
+ +
Condition Immunities
+
Senses
+
Languages
+
Challenge
+
+
+
+
+
+ +
+ y +
+
+
NAME: + +
+
+ +
+
+
+ +
+
+
+
+ + +
+
Bonus Actions +
+
+ +
+ y +
+
+
NAME: + +
+
+ ATTACK +
+ +
TYPE: + RANGE/REACH: + +
+
TO HIT: + TARGET: + +
+ +
ON HIT: + + + +
+
ON HIT 2: + + + +
+
DESCRIPTION: + +
+
+ +
+
DAMAGE: + + + +
+
+
+
+ +
+ +
Weapon Attack:
+
Hit:
+
+ + + +
+
+
+
+
+
Actions +
+
+ +
+ y +
+
+
NAME: + +
+
+ ATTACK +
+ +
TYPE: + RANGE/REACH: + +
+
TO HIT: + TARGET: + +
+ +
ON HIT: + + + +
+
ON HIT 2: + + + +
+
DESCRIPTION: + +
+
+ +
+
DAMAGE: + + + +
+
+
+
+ +
+ +
Weapon Attack:
+
Hit:
+
+ + + +
+
+
+ +
+
Reactions +
+
+ +
+ y +
+
+
NAME: + +
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
Legendary Actions +
+
+
+ +
+ y +
+
+
NAME: + +
+
+ ATTACK +
+ +
TYPE: + RANGE/REACH: + +
+
TO HIT: + TARGET: + +
+ +
ON HIT: + + + +
+
ON HIT 2: + + + +
+
DESCRIPTION: + +
+
+ +
+
+
+ + +
Weapon Attack:
+
Hit:
+
+ + + +
+
+
+
+
+
+
+
+
+ +
Alignment
+
+
+ +
Player Name
+
+ +
+
+ +
Class
+
+
+ +
Level
+
+
+
+ +
Background
+
+
+ +
Character Name
+
+
+ +
Race
+
+
+ + +
+
+
+
+
+ +
AC
+
+
+ +
Speed
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+ + +
+
+ +
+
+ / + +
+
+
+
+ +
+
+ 0 +
+
+ 1 +
+
+ 2 +
+
+ 3 +
+
+ 4 +
+
+ 5 +
+
+ 6 +
+
+
+
Exhaustion +
+
+ +
+
+
+
+ 0 +
+
+ 1 +
+
+ 2 +
+
+ 3 +
+
+ 4 +
+
+ 5 +
+
+ 6 +
+
Knocks +
+
+
+
+
+
+ +
+
SUCCESSES +
+ +
+
+ +
+
+ +
+
+
FAILURES +
+ +
+
+ +
+
+ +
+
+
+
+
+
+
*ITEM NAMEWeight symbol
+
+
+ +
+ + + + +
+ y +
+
+
+
+ EQUIPPED +
+
+ USE AS A RESOURCE +
+
+ HAS AN ATTACK +
+
PROP: + +
+
MODS: + +
+
+ +
+
+ + +
+
+
TOTAL WEIGHT + + +
+
Equipment
+
+ +
+
NAMEATKDAMAGE/TYPE
+
+
+ +
+ +
+ y +
+
+
+
NAME: + +
+
+ ATTACK: + + + + + PROFICIENT +
+
RANGE: + +
+
MAGIC BONUS: + CRIT RANGE: + +
+
+ DAMAGE: + + + + + +
+
TYPE: + CRIT: + +
+
+ DAMAGE2: + + + + + +
+
TYPE: + CRIT: + +
+
+ SAVING THROW: + +
+
VS DC: + + + +
+
SAVE EFFECT: + +
+
AMMUNITION: + +
+
DESCRIPTION: + +
+
+
+ + + + + + + + + + + +
+ + + + +
Attacks & Spellcasting
+
+
+
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+ +
+ + + +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ +
+
+
+
+
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+ +
+ +
0 + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+
+
+
FEATURES & TRAITS
+
+
+ +
:
+ +
+ y +
+
+
NAME: + +
+
SOURCE: + +
+
SOURCE TYPE: + +
+
+ +
+
+
+
+
+
+
+
+
Moves
+ + +
+
+
+ +
+
+
+ +
+
+
+
+ + +
+ y +
+
+
NAME: + +
+
DESCRIPTION:
+
+ +
+
+
+
+
+
+
+
+
+ Spellcasting Ability +
+
Spell Save DC
+
Spell Attack Bonus
+
+
+
+
+
+
+
Cantrips +
+
+
+
+
+ + +
+ + +
+ + + +
RC
+ + + +
VSM
+
+ + + +
+ y +
+
+
+
NAME: + +
+
SCHOOL: + + RITUAL +
+
CASTING TIME: + +
+
RANGE: + +
+
TARGET: + +
+ +
COMPONENTS: + V + S + M +
+
+ +
+
+ CONCENTRATION +
+
DURATION: + +
+
SPELLCASTING ABILITY + +
+
INNATE: + +
+
OUTPUT: + +
+ +
+
SPELL ATTACK: + +
+
DAMAGE: + TYPE: + +
+
DAMAGE2: + TYPE: + +
+
HEALING: + +
+
+ ADD ABILITY MOD TO DAMAGE OR HEALING +
+
CANTRIP PROGRESSION + +
+
SAVING THROW: + +
+
EFFECT: + +
+
HIGHER LVL CAST DMG:
+
+ + + + +
+
INCLUDE SPELL DESCRIPTION IN ATTACK: + +
+
+
DESCRIPTION:
+
+ +
+
CLASS: + +
+
TYPE: + +
+ + +
+
+
+
+
+
+
+
1 +
+ + +
+
+
+
+
+
+ +
+
+
+
+ + +
+ +
+ +
+ +
+ + + +
RC
+ + + +
VSM
+
+ + + +
+ y +
+
+
+
NAME: + +
+
SCHOOL: + + RITUAL +
+
CASTING TIME: + +
+
RANGE: + +
+
TARGET: + +
+ +
COMPONENTS: + V + S + M +
+
+ +
+
+ CONCENTRATION +
+
DURATION: + +
+
SPELLCASTING ABILITY + +
+
INNATE: + +
+
OUTPUT: + +
+ +
+
SPELL ATTACK: + +
+
DAMAGE: + TYPE: + +
+
DAMAGE2: + TYPE: + +
+
HEALING: + +
+
+ ADD ABILITY MOD TO DAMAGE OR HEALING +
+
SAVING THROW: + +
+
EFFECT: + +
+
HIGHER LVL CAST DMG:
+
+ + + + +
+
INCLUDE SPELL DESCRIPTION IN ATTACK: + +
+
+
DESCRIPTION:
+
+ +
+
AT HIGHER LEVELS:
+
+ +
+
CLASS: + +
+
TYPE: + +
+ + +
+
+
+
+
+
+
+
+
+
2 +
+ + +
+
+
+
+
+
+ +
+
+
+
+ + +
+ +
+ +
+ +
+ + + +
RC
+ + + +
VSM
+
+ + + +
+ y +
+
+
+
NAME: + +
+
SCHOOL: + + RITUAL +
+
CASTING TIME: + +
+
RANGE: + +
+
TARGET: + +
+ +
COMPONENTS: + V + S + M +
+
+ +
+
+ CONCENTRATION +
+
DURATION: + +
+
SPELLCASTING ABILITY + +
+
INNATE: + +
+
OUTPUT: + +
+ +
+
SPELL ATTACK: + +
+
DAMAGE: + TYPE: + +
+
DAMAGE2: + TYPE: + +
+
HEALING: + +
+
+ ADD ABILITY MOD TO DAMAGE OR HEALING +
+
SAVING THROW: + +
+
EFFECT: + +
+
HIGHER LVL CAST DMG:
+
+ + + + +
+
INCLUDE SPELL DESCRIPTION IN ATTACK: + +
+
+
DESCRIPTION:
+
+ +
+
AT HIGHER LEVELS:
+
+ +
+
CLASS: + +
+
TYPE: + +
+ + +
+
+
+
+
+
+
+
3 +
+ + +
+
+
+
+
+
+ +
+
+
+
+ + +
+ +
+ +
+ +
+ + + +
RC
+ + + +
VSM
+
+ + + +
+ y +
+
+
+
NAME: + +
+
SCHOOL: + + RITUAL +
+
CASTING TIME: + +
+
RANGE: + +
+
TARGET: + +
+ +
COMPONENTS: + V + S + M +
+
+ +
+
+ CONCENTRATION +
+
DURATION: + +
+
SPELLCASTING ABILITY + +
+
INNATE: + +
+
OUTPUT: + +
+ +
+
SPELL ATTACK: + +
+
DAMAGE: + TYPE: + +
+
DAMAGE2: + TYPE: + +
+
HEALING: + +
+
+ ADD ABILITY MOD TO DAMAGE OR HEALING +
+
SAVING THROW: + +
+
EFFECT: + +
+
HIGHER LVL CAST DMG:
+
+ + + + +
+
INCLUDE SPELL DESCRIPTION IN ATTACK: + +
+
+
DESCRIPTION:
+
+ +
+
AT HIGHER LEVELS:
+
+ +
+
CLASS: + +
+
TYPE: + +
+ + +
+
+
+
+
+
+
+
+
+
+
Appearance +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+
+
+
HIT DIE: + +
+
CARRYING CAPACITY MODIFIER: + +
+
GLOBAL MAGIC ATTACK MODIFIER: + +
+
MAGIC CASTER LEVEL: + +
+
SPELL SAVE DC MOD: + +
+
CLASS OPTIONS ( )
+
+
+ +
CLASS NAME: + +
+
HIT DIE: + +
+
SPELLCASTING ABILITY: + +
+
SPELL SLOTS: + +
+
SAVES
+
+ Strength + Dexterity +
+
+ Constitution + Intelligence +
+
+ Wisdom + Charisma +
+
CUSTOM CLASS OPTIONS
+
+
+
+
LEVEL1
+ + +
LEVEL2
+ + +
LEVEL3
+ + +
+
SPELL SLOT MODIFIERS
+
+
+
+
+
STRENGTH+ + DEXTERITY+ + +
+
CONSTITUTION+ + INTELLIGENCE+ + +
+
WISDOM+ + CHARISMA+ + +
+
INITIATIVE MODIFIER: + +
+
INITIATIVE STYLE: + +
+
+ ADD DEX TIEBREAKER TO INITIATIVE +
+
ATTRIBUTE OPTIONS
+
+
+
STRENGTH SAVE+ + DEXTERITY SAVE+ + +
+
CONSTITUTION SAVE+ + INTELLIGENCE SAVE+ + +
+
WISDOM SAVE+ + CHARISMA SAVE+ + +
+
DEATH SAVE MODIFIER: + +
+
GLOBAL SAVING THROW MODIFIER: + +
+
SAVE OPTIONS
+
+
+
+
+ Acrobatics (Dex)+ + +
+
+ Animal Handling (Wis)+ + +
+
+ Arcana (Int)+ + +
+
+ Athletics (Str)+ + +
+
+ Deception (Cha)+ + +
+
+ History (Int)+ + +
+
+ Insight (Wis)+ + +
+
+ Intimidation (Cha)+ + +
+
+ Investigation (Int)+ + +
+
+ Medicine (Wis)+ + +
+
+ Nature (Int)+ + +
+
+ Perception (Wis)+ + +
+
+ Performance (Cha)+ + +
+
+ Persuasion (Cha)+ + +
+
+ Religion (Int)+ + +
+
+ Sleight of Hand (Dex)+ + +
+
+ Stealth (Dex)+ + +
+
+ Survival (Wis)+ + +
+
+
PASSIVE PERCEPTION MODIFIER: + +
+
SKILL OPTIONS
+
+
+
+
+
+ NPC +
+
ROLL QUERIES: + +
+
WHISPER ROLLS TO GM: + +
+
AUTO DAMAGE ROLL: + +
+
CORE DIE ROLL: + +
+
CRITICAL RANGE: + +
+
PROFICIENCY BONUS: + + + +
+
ADD CHARACTER NAME TO TEMPLATES: + +
+
LEVEL CALCULATIONS: + +
+
ENCUMBRANCE: + +
+
+ IGNORE NON-EQUIPPED ITEMS WEIGHT +
+
INVENTORY: + +
+
GENERAL OPTIONS
+
+
+
+
+
+
+
+ +
+
+ {{#always}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{#normal}} + {{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} +
+ {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} +
+ {{#attack}} +
+
+ {{#always}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}}{{#attack}} ({{mod}}){{/attack}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} +
+ {{/attack}} + {{#save}} + {{#attack}} +
+ {{/attack}} + {{^attack}} +
+ {{/attack}} +
+ DC{{savedc}} +
+ {{#savedesc}} +
+ {{savedesc}} +
+ {{/savedesc}} +
+ {{saveattr}} Save +
+
+ {{/save}} + {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} + {{#globaldamage}} + {{#^rollTotal() globaldamage 0}} +
+ + {{globaldamage}} + {{#normal}} + {{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamage 0}} + {{#rollTotal() globaldamage 0}} + {{#^rollTotal() globaldamagecrit 0}} + {{#rollWasCrit() r1}} +
+ + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{globaldamagetype}} +
+ {{/rollWasCrit() r1}} + {{#rollWasCrit() r2}} + {{#^rollWasCrit() r1}} +
+ + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{globaldamagetype}} +
+ {{/^rollWasCrit() r1}} + {{/rollWasCrit() r2}} + {{/^rollTotal() globaldamagecrit 0}} + {{/rollTotal() globaldamage 0}} + {{/globaldamage}} + {{#hldmg}} + {{#^rollTotal() hldmg 0}} +
+ + {{hldmg}} + + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{hldmgcrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{hldmgcrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + +
+ Higher Level Cast +
+
+ {{/^rollTotal() hldmg 0}} + {{/hldmg}} + {{#damage}} +
+
+ {{#dmg1flag}} + {{^dmg2flag}} +
+ + {{dmg1}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg1type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} + {{#dmg2flag}} + {{^dmg1flag}} +
+ + {{dmg2}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg2type}} +
+ {{/dmg1flag}} + {{/dmg2flag}} + {{#dmg1flag}} + {{#dmg2flag}} +
+ + {{dmg1}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg1type}} +
+
+
+ + {{dmg2}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg2type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} +
+ {{^attack}} + {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} + {{/attack}} +
+ {{/damage}} + + {{#save}} + {{#attack}} +
+ {{/attack}} + {{^attack}} +
+ {{/attack}} +
+ DC + {{savedc}} +
+ {{#savedesc}} +
+ {{savedesc}} +
+ {{/savedesc}} +
+ {{saveattr}} + Save +
+
+ {{/save}} + {{^attack}} + {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} + {{/attack}} + {{#globaldamage}} + {{#^rollTotal() globaldamage 0}} +
+ {{globaldamage}}{{#globaldamagecrit}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamage 0}} + {{/globaldamage}} + {{#globaldamage}} + {{#rollTotal() globaldamage 0}} + {{#globaldamagecrit}} + {{#^rollTotal() globaldamagecrit 0}} +
+ {{globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamagecrit 0}} + {{/globaldamagecrit}} + {{/rollTotal() globaldamage 0}} + {{/globaldamage}} + {{^globaldamage}} + {{#globaldamagecrit}} + {{#^rollTotal() globaldamagecrit 0}} +
+ {{globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamagecrit 0}} + {{/globaldamagecrit}} + {{/globaldamage}} + {{#hldmg}} + {{#^rollTotal() hldmg 0}} +
+ {{hldmg}}{{#hldmgcrit}} + {{hldmgcrit}}{{/hldmgcrit}} + {{dmg1type}} +
+ Higher Level Cast +
+
+ {{/^rollTotal() hldmg 0}} + {{/hldmg}} +
+
+ {{#dmg1flag}} + {{^dmg2flag}} +
+ {{dmg1}}{{#crit}} + {{crit1}}{{/crit}} + {{dmg1type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} + {{#dmg2flag}} + {{^dmg1flag}} +
+ {{dmg2}}{{#crit}} + {{crit2}}{{/crit}} + {{dmg2type}} +
+ {{/dmg1flag}} + {{/dmg2flag}} + {{#dmg1flag}} + {{#dmg2flag}} +
+ {{dmg1}}{{#crit}} + {{crit1}}{{/crit}} + {{dmg1type}} +
+
+
+ {{dmg2}}{{#crit}} + {{crit2}}{{/crit}} + {{dmg2type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} +
+ {{^attack}} + {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} + {{/attack}} +
+ +
+ + + {{desc}} + + +
+
+
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ Damage: + + {{#dmg1flag}} + {{dmg1}}{{#crit}} + {{crit1}}{{/crit}}{{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}}{{#crit}} + {{crit2}}{{/crit}}{{dmg2type}} + {{/dmg2flag}} + +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+
+ {{#normal}} + {{type}}: {{r1}} + {{/normal}} + {{#always}} + {{type}}: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+
+
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ {{#attack}} +
+ {{#normal}} + Attack: {{r1}} + {{/normal}} + {{#always}} + Attack: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{/attack}} + {{#description}} + {{description}} + {{/description}} +
+ {{#damage}} +
+ Damage: + + {{#dmg1flag}} + {{dmg1}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg2type}} + {{/dmg2flag}} + +
+ {{/damage}} +
+
+ {{#normal}} + {{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollLess() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{#rollGreater() r1 r2}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+
+ {{#normal}} + {{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{typec}}: {{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}[{{typec}}: {{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollLess() r1 r2}}{{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r2}}{{typec}}: {{/rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{#rollGreater() r1 r2}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{/disadvantage}} + {{#normal}} + {{r1}} + {{/normal}} + {{#always}} + {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
+
+ Damage: + + {{#dmg1flag}} + {{dmg1}}{{#crit}} + {{crit1}}{{/crit}}{{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}}{{#crit}} + {{crit2}}{{/crit}}{{dmg2type}} + {{/dmg2flag}} + +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
+
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ {{#attack}} +
+ {{#normal}} + Attack: {{r1}} + {{/normal}} + {{#always}} + Attack: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{/attack}} +
+
+ Damage: + {{#damage}} + + {{#dmg1flag}} + {{dmg1}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg2type}} + {{/dmg2flag}} + + {{/damage}} + {{#description}} +
+ {{description}} +
+ {{/description}} +
+
+
+
+ {{#always}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#imposed}} +
+ {{imposed}} +
+ {{/imposed}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
+ +
+
+ {{#always}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#imposed}} +
+ {{imposed}} +
+ {{/imposed}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
+
+
+ {{#always}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/always}} + {{#normal}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
+
+
+ {{name}}{{#innate}}, {{innate}}{{/innate}} +
+
+ {{#level}}{{level}} {{/level}} + {{#ritual}} (){{/ritual}} +
+
+ {{#castingtime}} +
+ Casting Time: {{castingtime}} +
+ {{/castingtime}} + {{#range}} +
+ Range: {{range}} +
+ {{/range}} + {{#target}} +
+ Target: {{target}} +
+ {{/target}} +
+ Components: + + {{#v}}V{{#s}}, {{/s}}{{^s}}{{#m}}, {{/m}}{{/s}}{{/v}} + {{#s}}S{{#m}}, {{/m}}{{/s}} + {{#m}}M {{#material}}({{material}}){{/material}}{{/m}} + +
+ {{#duration}} +
+ Duration: {{#concentration}}Concentration {{/concentration}}{{duration}} +
+ {{/duration}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} + {{#athigherlevels}} +
+ At Higher Levels. {{athigherlevels}} +
+ {{/athigherlevels}} + {{#savedc}} +
+ SPELL SAVE DC: {{savedc}} +
+ {{/savedc}} +
+
+
+
+ For Description Only +
+
+ {{name}}{{#innate}}, {{innate}}{{/innate}} +
+
+ {{#level}}{{level}} {{/level}} + {{#ritual}} (){{/ritual}} +
+
+ {{#castingtime}} +
+ Casting Time: {{castingtime}} +
+ {{/castingtime}} + {{#range}} +
+ Range: {{range}} +
+ {{/range}} + {{#target}} +
+ Target: {{target}} +
+ {{/target}} +
+ Components: + + {{#v}}V{{#s}}, {{/s}}{{^s}}{{#m}}, {{/m}}{{/s}}{{/v}} + {{#s}}S{{#m}}, {{/m}}{{/s}} + {{#m}}M {{#material}}({{material}}){{/material}}{{/m}} + +
+ {{#duration}} +
+ Duration: {{#concentration}}Concentration {{/concentration}}{{duration}} +
+ {{/duration}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} + {{#athigherlevels}} +
+ At Higher Levels. {{athigherlevels}} +
+ {{/athigherlevels}} + {{#savedc}} +
+ SPELL SAVE DC: {{savedc}} +
+ {{/savedc}} +
+
+
+ {{name}} +
+ {{#source}} +
+ {{#charname}}{{charname}} {{/charname}}{{source}} +
+ {{/source}} + {{#description}} +
+ {{description}} +
+ {{/description}} +
+
+ \ No newline at end of file diff --git a/Brancalonia Official/Brancalonia.png b/Brancalonia Official/Brancalonia.png new file mode 100644 index 0000000000..10df90bab1 Binary files /dev/null and b/Brancalonia Official/Brancalonia.png differ diff --git a/Brancalonia Official/Brancalonia.pug b/Brancalonia Official/Brancalonia.pug new file mode 100644 index 0000000000..d628851690 --- /dev/null +++ b/Brancalonia Official/Brancalonia.pug @@ -0,0 +1,97 @@ +include src/pug/components/components +include src/pug/abstracts/variables +include src/pug/abstracts/hiddenvariables + +.compendium-drop-target.monsters + input.npc_toggle(name="attr_npc", type="hidden", value="0") + input.npcspellcastingflag(name="attr_npcspellcastingflag", type="hidden") + input.toggleflag(name="attr_rtype", type="hidden") + input.toggleflag(name="attr_confirm", type="hidden") + input.toggleflag(name="attr_cancel", type="hidden") + + each val in ['Category', 'Name', 'data', 'Content'] + input(accept=val, name=`attr_drop_${val.toLowerCase()}`, type="hidden") + + + // Drag and Drop Warning + input.monster_confirm_flag(name='attr_monster_confirm_flag' type='hidden') + .dialog.dialog--confirmnpc + .dialog__wrapper + .dialog__explain + span(data-i18n="replace-sheet-with") + span.dialog__newname(name="attr_drop_name") + .dialog__buttonrow + button.dialog__button( + data-i18n="Confirm", + name="act_confirm_npc", + type="action" + ) + button.dialog__button( + data-i18n="Reject", + name="act_reject_npc", + type="action" + ) + + .dialog.dialog--warning + .dialog__wrapper + .dialog__explain(data-i18n="accept-compendium-drop") + + //- NPC + .container.npc + include src/pug/npc.pug + + //- PC + .container.pc + include src/pug/layouts/headers/header + + include src/pug/layouts/utility/navigation + + input.page__switch(name="attr_tab", type="hidden", value="core") + + .page.core + include src/pug/layouts/tabs/core + + .page.spellmoves + include src/pug/layouts/tabs/spells + + .page.bio + include src/pug/layouts/tabs/bio + + .page.settings + include src/pug/layouts/tabs/settings + +//- .compendium_warning +//- span(data-i18n="accepting-drop-u") ACCEPTING DROP FROM COMPENDIUM + +//- include src/pug/layouts/utility/dialogs + +//- ROLL TEMPLATES +.rolltemplates + include src/html/attack.html + include src/html/attackdamage.html + include src/html/damage.html + include src/html/description.html + include src/html/dmgaction.html + include src/html/npc.html + include src/html/npcaction.html + include src/html/npcattack.html + include src/html/npcdmg.html + include src/html/npcfullatk.html + include src/html/simple.html + include src/html/simple3d.html + include src/html/skill.html + include src/html/spell.html + include src/html/spelloutput.html + include src/html/traits.html + +//- SHEET WORKERS +script(type="text/worker") + include src/js/classes/SheetUtils/SheetUtils.js + include src/js/classes/FlagManager/FlagManager.js + + include src/js/helperFunctions.js + include src/js/sheetworkers.js + + include src/js/classes/DropClasses/DropClasses.js + include src/js/dragndrop/dropFunctions.js + include src/js/dragndrop/DragAndDrop.js diff --git a/Brancalonia Official/Brancalonia.scss b/Brancalonia Official/Brancalonia.scss new file mode 100644 index 0000000000..06efca27c2 --- /dev/null +++ b/Brancalonia Official/Brancalonia.scss @@ -0,0 +1,183 @@ +@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400|Playfair+Display+SC:400|Libre+Baskerville:400:700|Dancing+Script:400|Quintessential:400&display=swap"); + +$externalImgsPath: "https://app.roll20.net/images/dndstyling/"; +$imgParameters: ""; + +/* SANITIZATION CHANGE FIXES +============================= */ +@import "src/scss/external/sanitization-fixes"; + +/* GENERIC STYLES +============================= */ +@import "src/scss/generic"; + +/* PLACEHOLDER STYLES +============================= */ +@import "src/scss/abstracts/placeholders"; + +/* ROLLTEMPLATES STYLES +============================= */ +@import "src/scss/rolltemplate"; + +/* Refactor +============================= */ + +.container { + @import "src/scss/generics/gridsystem"; + @import "src/scss/generics/options"; + @import "src/scss/generics/hiddenflag"; + @import "src/scss/generics/RollButton"; + @import "src/scss/generics/StandardInput"; + + &.pc { + @import "src/scss/pc/Header"; + @import "src/scss/pc/Navigation"; + + @import "src/scss/pc/AbilityScore"; + @import "src/scss/pc/Coins"; + @import "src/scss/pc/DeathSaves"; + @import "src/scss/pc/Features"; + @import "src/scss/pc/InsProf"; + @import "src/scss/pc/Moves"; + @import "src/scss/pc/SavingThrows"; + @import "src/scss/pc/Shields"; + @import "src/scss/pc/Skills"; + @import "src/scss/pc/Spells"; + @import "src/scss/pc/SpellStats"; + @import "src/scss/pc/ToolsProficiencies"; + @import "src/scss/pc/OtherProficiencies"; + @import "src/scss/pc/Vitals"; + @import "src/scss/pc/AttacksSpellcasting"; + @import "src/scss/pc/Bio"; + @import "src/scss/pc/Exhaustion"; + @import "src/scss/pc/Equipment"; + } + + &.npc { + @import "src/scss/npc/npc"; + + * { + font-family: sans-serif; + } + + max-width: 800px; + } + + button[type="roll"][type="roll"] { + padding: 0; + margin: 0; + + line-height: inherit; + } +} + +.charsheet { + + input[type="number"], + input[type="text"], + textarea, + select { + width: 100%; + color: #c00; + } + + input[type="number"] { + font-family: "Dancing Script", serif; + + -moz-appearance: textfield; + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + } + } + + input[type="text"] { + font-family: "Quintessential", serif; + } +} + +.container { + width: 100% !important; +} + +.pc, +.npc { + display: none; +} + +.npc_toggle[value="0"] ~ .pc, +.npc_toggle[value="1"] ~ .npc { + display: block; +} + +.page.core, +.page.bio, +.page.spellmoves, +.page.settings { + display: none; +} + +.page__switch[value="core"] ~ .page.core, +.page__switch[value="bio"] ~ .page.bio, +.page__switch[value="spells"] ~ .page.spellmoves, +.page__switch[value="settings"] ~ .page.settings { + display: grid; +} + +.charsheet .repcontrol { + min-height: 2rem; + margin-top: 0.5rem; + padding: 0 1rem; + + button { + min-height: 2rem; + max-height: 2rem; + min-width: 2rem; + max-width: 2rem; + padding: 0; + + border: 1px solid rgba(black, 0.5); + border-radius: 0.3rem; + + background: none; + + font-size: 0; + + &.repcontrol_add:before, + &.repcontrol_edit:before { + display: block; + + font-family: Pictos; + font-size: 10pt; + text-align: center; + } + + &.repcontrol_add:before { + padding-top: 0.1rem; + content: "&"; + } + + &.repcontrol_edit:before { + padding-top: 0.2rem; + content: "("; + } + } +} + +.charsheet .pictos { + font-family: Pictos; +} + +.charsheet * { + font-family: "Quintessential", "Baskerville", serif; + font-size: 1.4rem; + line-height: 1.33; +} + +.charsheet button[type="roll"]:before { + display: none; +} + +* { + box-sizing: border-box; +} \ No newline at end of file diff --git a/Brancalonia Official/images/asshield.png b/Brancalonia Official/images/asshield.png new file mode 100644 index 0000000000..6c158dc2e2 Binary files /dev/null and b/Brancalonia Official/images/asshield.png differ diff --git a/Brancalonia Official/images/boot.png b/Brancalonia Official/images/boot.png new file mode 100644 index 0000000000..2619708362 Binary files /dev/null and b/Brancalonia Official/images/boot.png differ diff --git a/Brancalonia Official/images/border-line.png b/Brancalonia Official/images/border-line.png new file mode 100644 index 0000000000..b2ce060707 Binary files /dev/null and b/Brancalonia Official/images/border-line.png differ diff --git a/Brancalonia Official/images/bottlehp.png b/Brancalonia Official/images/bottlehp.png new file mode 100644 index 0000000000..31819866cf Binary files /dev/null and b/Brancalonia Official/images/bottlehp.png differ diff --git a/Brancalonia Official/images/bottom line.png b/Brancalonia Official/images/bottom line.png new file mode 100644 index 0000000000..dbdf84042c Binary files /dev/null and b/Brancalonia Official/images/bottom line.png differ diff --git a/Brancalonia Official/images/bounty.png b/Brancalonia Official/images/bounty.png new file mode 100644 index 0000000000..1cb04286e3 Binary files /dev/null and b/Brancalonia Official/images/bounty.png differ diff --git a/Brancalonia Official/images/box header.png b/Brancalonia Official/images/box header.png new file mode 100644 index 0000000000..d6b9328827 Binary files /dev/null and b/Brancalonia Official/images/box header.png differ diff --git a/Brancalonia Official/images/box-header-2.png b/Brancalonia Official/images/box-header-2.png new file mode 100644 index 0000000000..2760a9d43a Binary files /dev/null and b/Brancalonia Official/images/box-header-2.png differ diff --git a/Brancalonia Official/images/box-header-2.psd b/Brancalonia Official/images/box-header-2.psd new file mode 100644 index 0000000000..1c305e5757 Binary files /dev/null and b/Brancalonia Official/images/box-header-2.psd differ diff --git a/Brancalonia Official/images/boxbackground.png b/Brancalonia Official/images/boxbackground.png new file mode 100644 index 0000000000..448a6cb42b Binary files /dev/null and b/Brancalonia Official/images/boxbackground.png differ diff --git a/Brancalonia Official/images/charactername.png b/Brancalonia Official/images/charactername.png new file mode 100644 index 0000000000..8ba2abf9d9 Binary files /dev/null and b/Brancalonia Official/images/charactername.png differ diff --git a/Brancalonia Official/images/coins.png b/Brancalonia Official/images/coins.png new file mode 100644 index 0000000000..8e7dd27bdb Binary files /dev/null and b/Brancalonia Official/images/coins.png differ diff --git a/Brancalonia Official/images/ds-fail-red.png b/Brancalonia Official/images/ds-fail-red.png new file mode 100644 index 0000000000..1104598c2c Binary files /dev/null and b/Brancalonia Official/images/ds-fail-red.png differ diff --git a/Brancalonia Official/images/ds-fail-white.png b/Brancalonia Official/images/ds-fail-white.png new file mode 100644 index 0000000000..4785b2a886 Binary files /dev/null and b/Brancalonia Official/images/ds-fail-white.png differ diff --git a/Brancalonia Official/images/ds-succeed-red.png b/Brancalonia Official/images/ds-succeed-red.png new file mode 100644 index 0000000000..ebf685b6f5 Binary files /dev/null and b/Brancalonia Official/images/ds-succeed-red.png differ diff --git a/Brancalonia Official/images/ds-succeed-white.png b/Brancalonia Official/images/ds-succeed-white.png new file mode 100644 index 0000000000..042c2c68bd Binary files /dev/null and b/Brancalonia Official/images/ds-succeed-white.png differ diff --git a/Brancalonia Official/images/exhaustion-0.png b/Brancalonia Official/images/exhaustion-0.png new file mode 100644 index 0000000000..fbdaf2339a Binary files /dev/null and b/Brancalonia Official/images/exhaustion-0.png differ diff --git a/Brancalonia Official/images/exhaustion-1.png b/Brancalonia Official/images/exhaustion-1.png new file mode 100644 index 0000000000..7a9bc0bccb Binary files /dev/null and b/Brancalonia Official/images/exhaustion-1.png differ diff --git a/Brancalonia Official/images/exhaustion-2.png b/Brancalonia Official/images/exhaustion-2.png new file mode 100644 index 0000000000..db8339983e Binary files /dev/null and b/Brancalonia Official/images/exhaustion-2.png differ diff --git a/Brancalonia Official/images/exhaustion-3.png b/Brancalonia Official/images/exhaustion-3.png new file mode 100644 index 0000000000..99b04b8f35 Binary files /dev/null and b/Brancalonia Official/images/exhaustion-3.png differ diff --git a/Brancalonia Official/images/exhaustion-4.png b/Brancalonia Official/images/exhaustion-4.png new file mode 100644 index 0000000000..4efc8995b6 Binary files /dev/null and b/Brancalonia Official/images/exhaustion-4.png differ diff --git a/Brancalonia Official/images/exhaustion-5.png b/Brancalonia Official/images/exhaustion-5.png new file mode 100644 index 0000000000..d93b2a83be Binary files /dev/null and b/Brancalonia Official/images/exhaustion-5.png differ diff --git a/Brancalonia Official/images/exhaustion-6.png b/Brancalonia Official/images/exhaustion-6.png new file mode 100644 index 0000000000..7f064dfc8e Binary files /dev/null and b/Brancalonia Official/images/exhaustion-6.png differ diff --git a/Brancalonia Official/images/helmet.png b/Brancalonia Official/images/helmet.png new file mode 100644 index 0000000000..d23257957e Binary files /dev/null and b/Brancalonia Official/images/helmet.png differ diff --git a/Brancalonia Official/images/hp-bottle.png b/Brancalonia Official/images/hp-bottle.png new file mode 100644 index 0000000000..31819866cf Binary files /dev/null and b/Brancalonia Official/images/hp-bottle.png differ diff --git a/Brancalonia Official/images/inspiration-3.png b/Brancalonia Official/images/inspiration-3.png new file mode 100644 index 0000000000..3e2477cfdc Binary files /dev/null and b/Brancalonia Official/images/inspiration-3.png differ diff --git a/Brancalonia Official/images/inspiration.png b/Brancalonia Official/images/inspiration.png new file mode 100644 index 0000000000..bd03ee1638 Binary files /dev/null and b/Brancalonia Official/images/inspiration.png differ diff --git a/Brancalonia Official/images/inspiration2.png b/Brancalonia Official/images/inspiration2.png new file mode 100644 index 0000000000..6b9ff31185 Binary files /dev/null and b/Brancalonia Official/images/inspiration2.png differ diff --git a/Brancalonia Official/images/knocks-0.png b/Brancalonia Official/images/knocks-0.png new file mode 100644 index 0000000000..eef7382d35 Binary files /dev/null and b/Brancalonia Official/images/knocks-0.png differ diff --git a/Brancalonia Official/images/knocks-1.png b/Brancalonia Official/images/knocks-1.png new file mode 100644 index 0000000000..abf2ca95eb Binary files /dev/null and b/Brancalonia Official/images/knocks-1.png differ diff --git a/Brancalonia Official/images/knocks-2.png b/Brancalonia Official/images/knocks-2.png new file mode 100644 index 0000000000..1434e5b990 Binary files /dev/null and b/Brancalonia Official/images/knocks-2.png differ diff --git a/Brancalonia Official/images/knocks-3.png b/Brancalonia Official/images/knocks-3.png new file mode 100644 index 0000000000..ffc23ee70f Binary files /dev/null and b/Brancalonia Official/images/knocks-3.png differ diff --git a/Brancalonia Official/images/knocks-4.png b/Brancalonia Official/images/knocks-4.png new file mode 100644 index 0000000000..a2deb817be Binary files /dev/null and b/Brancalonia Official/images/knocks-4.png differ diff --git a/Brancalonia Official/images/knocks-5.png b/Brancalonia Official/images/knocks-5.png new file mode 100644 index 0000000000..5cb9d4d4d6 Binary files /dev/null and b/Brancalonia Official/images/knocks-5.png differ diff --git a/Brancalonia Official/images/knocks-6.png b/Brancalonia Official/images/knocks-6.png new file mode 100644 index 0000000000..50285ca7df Binary files /dev/null and b/Brancalonia Official/images/knocks-6.png differ diff --git a/Brancalonia Official/images/label.png b/Brancalonia Official/images/label.png new file mode 100644 index 0000000000..fdb5c3844d Binary files /dev/null and b/Brancalonia Official/images/label.png differ diff --git a/Brancalonia Official/images/logo.png b/Brancalonia Official/images/logo.png new file mode 100644 index 0000000000..7500e16c37 Binary files /dev/null and b/Brancalonia Official/images/logo.png differ diff --git a/Brancalonia Official/images/logo2.png b/Brancalonia Official/images/logo2.png new file mode 100644 index 0000000000..75efac890f Binary files /dev/null and b/Brancalonia Official/images/logo2.png differ diff --git a/Brancalonia Official/images/marker.png b/Brancalonia Official/images/marker.png new file mode 100644 index 0000000000..0d06155396 Binary files /dev/null and b/Brancalonia Official/images/marker.png differ diff --git a/Brancalonia Official/images/shields.png b/Brancalonia Official/images/shields.png new file mode 100644 index 0000000000..baaec495a8 Binary files /dev/null and b/Brancalonia Official/images/shields.png differ diff --git a/Brancalonia Official/images/weight_lbs.png b/Brancalonia Official/images/weight_lbs.png new file mode 100644 index 0000000000..d9fb80da60 Binary files /dev/null and b/Brancalonia Official/images/weight_lbs.png differ diff --git a/Brancalonia Official/package-lock.json b/Brancalonia Official/package-lock.json new file mode 100644 index 0000000000..2a8dd0b249 --- /dev/null +++ b/Brancalonia Official/package-lock.json @@ -0,0 +1,3456 @@ +{ + "name": "brancalonia", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "brancalonia", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "@prettier/plugin-pug": "^1.13.5", + "npm-run-all": "^4.1.5", + "prettier": "^2.2.1", + "pug": "^3.0.2", + "pug-cli": "^1.0.0-alpha6", + "sass": "^1.32.8" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@prettier/plugin-pug": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@prettier/plugin-pug/-/plugin-pug-1.16.1.tgz", + "integrity": "sha512-Fh3GfZUmyZSRQVXAk2V7ZYx17yHDHN3sqYSQ+hM5m2X2wBN/g/Eza5KMA4loBpylGJ0z2IT3NAljnYebPNY5OA==", + "dev": true, + "dependencies": { + "pug-lexer": "^5.0.0" + }, + "peerDependencies": { + "prettier": "^2.1.0" + } + }, + "node_modules/@types/babel-types": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.10.tgz", + "integrity": "sha512-g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ==", + "dev": true + }, + "node_modules/@types/babylon": { + "version": "6.16.6", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.6.tgz", + "integrity": "sha512-G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w==", + "dev": true, + "dependencies": { + "@types/babel-types": "*" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "dependencies": { + "acorn": "^4.0.4" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "node_modules/assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.9.6" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "dependencies": { + "is-regex": "^1.0.3" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true, + "hasInstallScript": true + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "dependencies": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "dependencies": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "node_modules/pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "node_modules/pug-cli": { + "version": "1.0.0-alpha6", + "resolved": "https://registry.npmjs.org/pug-cli/-/pug-cli-1.0.0-alpha6.tgz", + "integrity": "sha1-HKU56krA67ac5KroSu7V1k/+ZQE=", + "dev": true, + "dependencies": { + "chalk": "^1.0.0", + "commander": "^2.8.1", + "mkdirp": "^0.5.1", + "pug": "^2.0.0-alpha7" + }, + "bin": { + "pug": "index.js" + } + }, + "node_modules/pug-cli/node_modules/acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pug-cli/node_modules/constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "dev": true, + "dependencies": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "node_modules/pug-cli/node_modules/is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "dev": true, + "dependencies": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + } + }, + "node_modules/pug-cli/node_modules/pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "dev": true, + "dependencies": { + "pug-code-gen": "^2.0.2", + "pug-filters": "^3.1.1", + "pug-lexer": "^4.1.0", + "pug-linker": "^3.0.6", + "pug-load": "^2.0.12", + "pug-parser": "^5.0.1", + "pug-runtime": "^2.0.5", + "pug-strip-comments": "^1.0.4" + } + }, + "node_modules/pug-cli/node_modules/pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "dev": true, + "dependencies": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" + } + }, + "node_modules/pug-cli/node_modules/pug-code-gen": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.3.tgz", + "integrity": "sha512-r9sezXdDuZJfW9J91TN/2LFbiqDhmltTFmGpHTsGdrNGp3p4SxAjjXEfnuK2e4ywYsRIVP0NeLbSAMHUcaX1EA==", + "dev": true, + "dependencies": { + "constantinople": "^3.1.2", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.4", + "pug-error": "^1.3.3", + "pug-runtime": "^2.0.5", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "node_modules/pug-cli/node_modules/pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==", + "dev": true + }, + "node_modules/pug-cli/node_modules/pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "dev": true, + "dependencies": { + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "node_modules/pug-cli/node_modules/pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "dev": true, + "dependencies": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.3" + } + }, + "node_modules/pug-cli/node_modules/pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "dev": true, + "dependencies": { + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8" + } + }, + "node_modules/pug-cli/node_modules/pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" + } + }, + "node_modules/pug-cli/node_modules/pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "dev": true, + "dependencies": { + "pug-error": "^1.3.3", + "token-stream": "0.0.1" + } + }, + "node_modules/pug-cli/node_modules/pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==", + "dev": true + }, + "node_modules/pug-cli/node_modules/pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "dev": true, + "dependencies": { + "pug-error": "^1.3.3" + } + }, + "node_modules/pug-cli/node_modules/pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==", + "dev": true + }, + "node_modules/pug-cli/node_modules/token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", + "dev": true + }, + "node_modules/pug-cli/node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pug-cli/node_modules/with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "dev": true, + "dependencies": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + } + }, + "node_modules/pug-cli/node_modules/with/node_modules/acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "node_modules/pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "node_modules/pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "dependencies": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "node_modules/pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "dependencies": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "node_modules/pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "node_modules/pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "node_modules/pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "dependencies": { + "pug-error": "^2.0.0" + } + }, + "node_modules/pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sass": { + "version": "1.35.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz", + "integrity": "sha512-jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "node_modules/string.prototype.padend": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + }, + "dependencies": { + "@babel/helper-validator-identifier": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz", + "integrity": "sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==", + "dev": true + }, + "@babel/parser": { + "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz", + "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==", + "dev": true + }, + "@babel/types": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.5.tgz", + "integrity": "sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "to-fast-properties": "^2.0.0" + } + }, + "@prettier/plugin-pug": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/@prettier/plugin-pug/-/plugin-pug-1.16.1.tgz", + "integrity": "sha512-Fh3GfZUmyZSRQVXAk2V7ZYx17yHDHN3sqYSQ+hM5m2X2wBN/g/Eza5KMA4loBpylGJ0z2IT3NAljnYebPNY5OA==", + "dev": true, + "requires": { + "pug-lexer": "^5.0.0" + } + }, + "@types/babel-types": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/@types/babel-types/-/babel-types-7.0.10.tgz", + "integrity": "sha512-g7zrcqL4MiRu3jZzdZZYk0g0KcKk2fddXazSdP1PacEpmjihRsNGU50aaEKnPFuKzfN7WkRktUiCXvs4zU9XXQ==", + "dev": true + }, + "@types/babylon": { + "version": "6.16.6", + "resolved": "https://registry.npmjs.org/@types/babylon/-/babylon-6.16.6.tgz", + "integrity": "sha512-G4yqdVlhr6YhzLXFKy5F7HtRBU8Y23+iWy7UKthMq/OSQnL1hbsoeXESQ2LY8zEDlknipDG3nRGhUC9tkwvy/w==", + "dev": true, + "requires": { + "@types/babel-types": "*" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-globals": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz", + "integrity": "sha1-/YJw9x+7SZawBPqIDuXUZXOnMb8=", + "dev": true, + "requires": { + "acorn": "^4.0.4" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "dev": true + }, + "assert-never": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", + "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==", + "dev": true + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + } + } + }, + "babel-walk": { + "version": "3.0.0-canary-5", + "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz", + "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==", + "dev": true, + "requires": { + "@babel/types": "^7.9.6" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "character-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz", + "integrity": "sha1-x84o821LzZdE5f/CxfzeHHMmH8A=", + "dev": true, + "requires": { + "is-regex": "^1.0.3" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "constantinople": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz", + "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==", + "dev": true, + "requires": { + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.1" + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "doctypes": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz", + "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.3.tgz", + "integrity": "sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "is-callable": "^1.2.3", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.3", + "is-string": "^1.0.6", + "object-inspect": "^1.10.3", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bigint": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.2.tgz", + "integrity": "sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.1.tgz", + "integrity": "sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==", + "dev": true + }, + "is-core-module": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz", + "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.4.tgz", + "integrity": "sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A==", + "dev": true + }, + "is-expression": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz", + "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "object-assign": "^4.1.1" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.5.tgz", + "integrity": "sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw==", + "dev": true + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.3.tgz", + "integrity": "sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-symbols": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.6.tgz", + "integrity": "sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w==", + "dev": true + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "js-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz", + "integrity": "sha1-Fzb939lyTyijaCrcYjCufk6Weds=", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "jstransformer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", + "integrity": "sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=", + "dev": true, + "requires": { + "is-promise": "^2.0.0", + "promise": "^7.0.1" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", + "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dev": true, + "requires": { + "asap": "~2.0.3" + } + }, + "pug": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", + "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "dev": true, + "requires": { + "pug-code-gen": "^3.0.2", + "pug-filters": "^4.0.0", + "pug-lexer": "^5.0.1", + "pug-linker": "^4.0.0", + "pug-load": "^3.0.0", + "pug-parser": "^6.0.0", + "pug-runtime": "^3.0.1", + "pug-strip-comments": "^2.0.0" + } + }, + "pug-attrs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz", + "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "js-stringify": "^1.0.2", + "pug-runtime": "^3.0.0" + } + }, + "pug-cli": { + "version": "1.0.0-alpha6", + "resolved": "https://registry.npmjs.org/pug-cli/-/pug-cli-1.0.0-alpha6.tgz", + "integrity": "sha1-HKU56krA67ac5KroSu7V1k/+ZQE=", + "dev": true, + "requires": { + "chalk": "^1.0.0", + "commander": "^2.8.1", + "mkdirp": "^0.5.1", + "pug": "^2.0.0-alpha7" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "constantinople": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-3.1.2.tgz", + "integrity": "sha512-yePcBqEFhLOqSBtwYOGGS1exHo/s1xjekXiinh4itpNQGCu4KA1euPh1fg07N2wMITZXQkBz75Ntdt1ctGZouw==", + "dev": true, + "requires": { + "@types/babel-types": "^7.0.0", + "@types/babylon": "^6.16.2", + "babel-types": "^6.26.0", + "babylon": "^6.18.0" + } + }, + "is-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz", + "integrity": "sha1-Oayqa+f9HzRx3ELHQW5hwkMXrJ8=", + "dev": true, + "requires": { + "acorn": "~4.0.2", + "object-assign": "^4.0.1" + } + }, + "pug": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug/-/pug-2.0.4.tgz", + "integrity": "sha512-XhoaDlvi6NIzL49nu094R2NA6P37ijtgMDuWE+ofekDChvfKnzFal60bhSdiy8y2PBO6fmz3oMEIcfpBVRUdvw==", + "dev": true, + "requires": { + "pug-code-gen": "^2.0.2", + "pug-filters": "^3.1.1", + "pug-lexer": "^4.1.0", + "pug-linker": "^3.0.6", + "pug-load": "^2.0.12", + "pug-parser": "^5.0.1", + "pug-runtime": "^2.0.5", + "pug-strip-comments": "^1.0.4" + } + }, + "pug-attrs": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.4.tgz", + "integrity": "sha512-TaZ4Z2TWUPDJcV3wjU3RtUXMrd3kM4Wzjbe3EWnSsZPsJ3LDI0F3yCnf2/W7PPFF+edUFQ0HgDL1IoxSz5K8EQ==", + "dev": true, + "requires": { + "constantinople": "^3.0.1", + "js-stringify": "^1.0.1", + "pug-runtime": "^2.0.5" + } + }, + "pug-code-gen": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.3.tgz", + "integrity": "sha512-r9sezXdDuZJfW9J91TN/2LFbiqDhmltTFmGpHTsGdrNGp3p4SxAjjXEfnuK2e4ywYsRIVP0NeLbSAMHUcaX1EA==", + "dev": true, + "requires": { + "constantinople": "^3.1.2", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.1", + "pug-attrs": "^2.0.4", + "pug-error": "^1.3.3", + "pug-runtime": "^2.0.5", + "void-elements": "^2.0.1", + "with": "^5.0.0" + } + }, + "pug-error": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-1.3.3.tgz", + "integrity": "sha512-qE3YhESP2mRAWMFJgKdtT5D7ckThRScXRwkfo+Erqga7dyJdY3ZquspprMCj/9sJ2ijm5hXFWQE/A3l4poMWiQ==", + "dev": true + }, + "pug-filters": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-3.1.1.tgz", + "integrity": "sha512-lFfjNyGEyVWC4BwX0WyvkoWLapI5xHSM3xZJFUhx4JM4XyyRdO8Aucc6pCygnqV2uSgJFaJWW3Ft1wCWSoQkQg==", + "dev": true, + "requires": { + "clean-css": "^4.1.11", + "constantinople": "^3.0.1", + "jstransformer": "1.0.0", + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8", + "resolve": "^1.1.6", + "uglify-js": "^2.6.1" + } + }, + "pug-lexer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-4.1.0.tgz", + "integrity": "sha512-i55yzEBtjm0mlplW4LoANq7k3S8gDdfC6+LThGEvsK4FuobcKfDAwt6V4jKPH9RtiE3a2Akfg5UpafZ1OksaPA==", + "dev": true, + "requires": { + "character-parser": "^2.1.1", + "is-expression": "^3.0.0", + "pug-error": "^1.3.3" + } + }, + "pug-linker": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.6.tgz", + "integrity": "sha512-bagfuHttfQOpANGy1Y6NJ+0mNb7dD2MswFG2ZKj22s8g0wVsojpRlqveEQHmgXXcfROB2RT6oqbPYr9EN2ZWzg==", + "dev": true, + "requires": { + "pug-error": "^1.3.3", + "pug-walk": "^1.1.8" + } + }, + "pug-load": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-2.0.12.tgz", + "integrity": "sha512-UqpgGpyyXRYgJs/X60sE6SIf8UBsmcHYKNaOccyVLEuT6OPBIMo6xMPhoJnqtB3Q3BbO4Z3Bjz5qDsUWh4rXsg==", + "dev": true, + "requires": { + "object-assign": "^4.1.0", + "pug-walk": "^1.1.8" + } + }, + "pug-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-5.0.1.tgz", + "integrity": "sha512-nGHqK+w07p5/PsPIyzkTQfzlYfuqoiGjaoqHv1LjOv2ZLXmGX1O+4Vcvps+P4LhxZ3drYSljjq4b+Naid126wA==", + "dev": true, + "requires": { + "pug-error": "^1.3.3", + "token-stream": "0.0.1" + } + }, + "pug-runtime": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.5.tgz", + "integrity": "sha512-P+rXKn9un4fQY77wtpcuFyvFaBww7/91f3jHa154qU26qFAnOe6SW1CbIDcxiG5lLK9HazYrMCCuDvNgDQNptw==", + "dev": true + }, + "pug-strip-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.4.tgz", + "integrity": "sha512-i5j/9CS4yFhSxHp5iKPHwigaig/VV9g+FgReLJWWHEHbvKsbqL0oP/K5ubuLco6Wu3Kan5p7u7qk8A4oLLh6vw==", + "dev": true, + "requires": { + "pug-error": "^1.3.3" + } + }, + "pug-walk": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.8.tgz", + "integrity": "sha512-GMu3M5nUL3fju4/egXwZO0XLi6fW/K3T3VTgFQ14GxNi8btlxgT5qZL//JwZFm/2Fa64J/PNS8AZeys3wiMkVA==", + "dev": true + }, + "token-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz", + "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true + }, + "with": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", + "integrity": "sha1-+k2qktrzLE6pTtRTyB8EaGtXXf4=", + "dev": true, + "requires": { + "acorn": "^3.1.0", + "acorn-globals": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + } + } + }, + "pug-code-gen": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", + "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "doctypes": "^1.1.0", + "js-stringify": "^1.0.2", + "pug-attrs": "^3.0.0", + "pug-error": "^2.0.0", + "pug-runtime": "^3.0.0", + "void-elements": "^3.1.0", + "with": "^7.0.0" + } + }, + "pug-error": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", + "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "dev": true + }, + "pug-filters": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz", + "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==", + "dev": true, + "requires": { + "constantinople": "^4.0.1", + "jstransformer": "1.0.0", + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0", + "resolve": "^1.15.1" + } + }, + "pug-lexer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz", + "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==", + "dev": true, + "requires": { + "character-parser": "^2.2.0", + "is-expression": "^4.0.0", + "pug-error": "^2.0.0" + } + }, + "pug-linker": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz", + "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "pug-walk": "^2.0.0" + } + }, + "pug-load": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz", + "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "pug-walk": "^2.0.0" + } + }, + "pug-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz", + "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==", + "dev": true, + "requires": { + "pug-error": "^2.0.0", + "token-stream": "1.0.0" + } + }, + "pug-runtime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz", + "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==", + "dev": true + }, + "pug-strip-comments": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz", + "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==", + "dev": true, + "requires": { + "pug-error": "^2.0.0" + } + }, + "pug-walk": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz", + "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==", + "dev": true + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "^0.1.1" + } + }, + "sass": { + "version": "1.35.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz", + "integrity": "sha512-jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz", + "integrity": "sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ==", + "dev": true + }, + "string.prototype.padend": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", + "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.2" + } + }, + "string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "token-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz", + "integrity": "sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "with": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz", + "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==", + "dev": true, + "requires": { + "@babel/parser": "^7.9.6", + "@babel/types": "^7.9.6", + "assert-never": "^1.2.1", + "babel-walk": "3.0.0-canary-5" + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } +} diff --git a/Brancalonia Official/package.json b/Brancalonia Official/package.json new file mode 100644 index 0000000000..247687a497 --- /dev/null +++ b/Brancalonia Official/package.json @@ -0,0 +1,21 @@ +{ + "name": "brancalonia", + "version": "1.0.0", + "description": "A character sheet for the Brancalonia RPG for use on Roll20", + "main": " ", + "scripts": { + "start": "run-p compile:*", + "compile:sass": "npx sass Brancalonia.scss ./Brancalonia.css --watch --no-source-map", + "compile:pug": "npx pug Brancalonia.pug -o ./ -w -P" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "@prettier/plugin-pug": "^1.13.5", + "npm-run-all": "^4.1.5", + "prettier": "^2.2.1", + "pug": "^3.0.2", + "pug-cli": "^1.0.0-alpha6", + "sass": "^1.32.8" + } +} diff --git a/Brancalonia Official/sheet.json b/Brancalonia Official/sheet.json new file mode 100644 index 0000000000..0e62fb277f --- /dev/null +++ b/Brancalonia Official/sheet.json @@ -0,0 +1,163 @@ +{ + "html": "Brancalonia.html", + "css": "Brancalonia.css", + "authors": "Acheron Books, Nic Bradley", + "roll20userid": "", + "preview": "Brancalonia.png", + "compendium": "dnd5e", + "instructions": "Compatible for use with Acheron Books' Brancalonia. \n\n* Drag and Drop compatible with the [Roll20 Compendium](https://app.roll20.net/compendium/dnd5e/BookIndex). Instantly import spells, items, and NPCs into your game.\n* Auto calculations and workers help remove bookkeeping and speed up your game.\n* Built in roll buttons and templates make using your abilities easy and the results pop.\n* Customizable skills, attacks, and spells.\n* Settings for advantage, GM whispered rolls, easy damage output, simple inventory and much more.\n* NPC Sheet with traits and rollable actions.", + "useroptions": [ + { + "attribute": "npc", + "displayname": "NPC", + "displaytranslationkey": "npc-u", + "type": "checkbox", + "value": "1", + "description": "The NPC option sets new characters to default to the NPC card style sheet. Useful if the player characters have already been created and all new character sheets added to the game will likely represent none player characters.", + "descriptiontranslationkey": "npc-info" + }, + { + "attribute": "rtype", + "displayname": "Roll Queries", + "displaytranslationkey": "roll-queries:-u", + "type": "select", + "options": [ + "Always Roll Advantage|{{always=1}} {{r2=[[1d20", + "Advantage Toggle|@{advantagetoggle}", + "Query Advantage|{{query=1}} ?{Advantage?|Normal Roll,{{normal=1}} {{r2=[[0d20|Advantage,{{advantage=1}} {{r2=[[1d20|Disadvantage,{{disadvantage=1}} {{r2=[[1d20}", + "Never Roll Advantage|{{normal=1}} {{r2=[[0d20" + ], + "optiontranslationkeys": [ + "always-roll-adv", + "toggle-roll-adv", + "query-roll-adv", + "never-roll-adv" + ], + "default": "{{always=1}} {{r2=[[1d20", + "description": "D20 Rolls output according to this option. Always Roll Advantage is the default setting and will roll two D20 on every roll in case of advantage. The expectation is that if there is no advantage or disadvantage you use the left most result. The Advantage Toggle option adds three new buttons to the top of the sheet so that you can toggle advantage on a case by case basis. Query Advantage gives you a prompt every roll asking if the roll has advantage. Never Roll Advantage always rolls a single D20 on any given roll, expecting the player to roll a second time in case of advantage or disadvantage.", + "descriptiontranslationkey": "roll-queries-info" + }, + { + "attribute": "wtype", + "displayname": "Whisper Rolls to GM", + "displaytranslationkey": "whisp-rolls-gm:-u", + "type": "select", + "options": [ + "Never Whisper Rolls|", + "Whisper Toggle|@{whispertoggle}", + "Query Whisper|?{Whisper?|Public Roll,|Whisper Roll,/w gm }", + "Always Whisper Rolls|/w gm " + ], + "optiontranslationkeys": [ + "never-whisper-roll", + "toggle-roll-whisper", + "query-whisper-roll", + "always-whisper-roll" + ], + "default": "", + "description": "All sheet rolls are sent to all players in chat by default. Whisper Toggle gives a set of buttons to quick select your preference on the fly. Query Whisper option gives you a prompt with each roll of whether or not the roll should be sent privately only to yourself and the GM. Always Whisper Rolls will send all rolls only to yourself and the GM.", + "descriptiontranslationkey": "whisp-rolls-gm-info" + }, + { + "attribute": "dtype", + "displayname": "Auto Damage Roll", + "displaytranslationkey": "auto-dmg-roll:-u", + "type": "select", + "options": [ + "Don't Auto Roll Damage|pick", + "Auto Roll Damage & Crit|full" + ], + "optiontranslationkeys": [ + "never-roll-dmg", + "always-roll-dmg" + ], + "default": "pick", + "description": "By default, attack damage rolls are not rolled until the hit is confirmed. Damage is rolled from the chat roll template by clicking on the name of the attack in the right hand bar, which then displays the damage. The default method is compatible with 3D dice. Optionally, you can choose to have the Auto Roll Damage & Crit option which will roll damage and critical hit dice at the same time of the attack, presenting all possible outcomes at the time of the attack.", + "descriptiontranslationkey": "auto-dmg-roll-info" + }, + { + "attribute": "init_tiebreaker", + "displayname": "ADD DEX TIEBREAKER TO INITIATIVE", + "displaytranslationkey": "add-dex-tiebreaker-u", + "type": "checkbox", + "value": "@{dexterity}/100", + "description": "Adds the character's dexterity score as a decimal to the end of the initiative bonus for purposes of breaking ties.", + "descriptiontranslationkey": "init-tiebreaker-info" + }, + { + "attribute": "cd_bar1_v", + "displayname": "BAR 1 VALUE:", + "displaytranslationkey": "cd-bar1-value:-u", + "type": "text", + "default": "hp_max", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 1's value to this attribute.", + "descriptiontranslationkey": "cd-bar1-value-desc:-u" + }, + { + "attribute": "cd_bar1_m", + "displayname": "BAR 1 MAX:", + "displaytranslationkey": "cd-bar1-max:-u", + "type": "text", + "default": "hp_max", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 1's max to this attribute.", + "descriptiontranslationkey": "cd-bar1-max-desc:-u" + }, + { + "attribute": "cd_bar1_l", + "displayname": "BAR 1 LINK:", + "displaytranslationkey": "cd-bar1-link:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, link the Bar 1's value to this attribute. If set this will override all other bar settings.", + "descriptiontranslationkey": "cd-bar1-link-desc:-u" + }, + { + "attribute": "cd_bar2_v", + "displayname": "BAR 2 VALUE:", + "displaytranslationkey": "cd-bar2-value:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 2's value to this attribute.", + "descriptiontranslationkey": "cd-bar2-value-desc:-u" + }, + { + "attribute": "cd_bar2_m", + "displayname": "BAR 2 MAX:", + "displaytranslationkey": "cd-bar2-max:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 2's max to this attribute.", + "descriptiontranslationkey": "cd-bar2-max-desc:-u" + }, + { + "attribute": "cd_bar2_l", + "displayname": "BAR 2 LINK:", + "displaytranslationkey": "cd-bar2-link:-u", + "type": "text", + "default": "npc_ac", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, link the Bar 2's value to this attribute. If set this will override all other bar settings.", + "descriptiontranslationkey": "cd-bar2-link-desc:-u" + }, + { + "attribute": "cd_bar3_v", + "displayname": "BAR 3 VALUE:", + "displaytranslationkey": "cd-bar3-value:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 3's value to this attribute.", + "descriptiontranslationkey": "cd-bar3-value-desc:-u" + }, + { + "attribute": "cd_bar3_m", + "displayname": "BAR 3 MAX:", + "displaytranslationkey": "cd-bar3-max:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, set the Bar 3's max to this attribute.", + "descriptiontranslationkey": "cd-bar3-max-desc:-u" + }, + { + "attribute": "cd_bar3_l", + "displayname": "BAR 3 LINK:", + "displaytranslationkey": "cd-bar3-link:-u", + "type": "text", + "description": "On Default Tokens created by doing a Compendium drop onto the virtual table top, link the Bar 3's value to this attribute. If set this will override all other bar settings.", + "descriptiontranslationkey": "cd-bar3-link-desc:-u" + } + ] +} diff --git a/Brancalonia Official/src/html/attack.html b/Brancalonia Official/src/html/attack.html new file mode 100644 index 0000000000..aa89fad433 --- /dev/null +++ b/Brancalonia Official/src/html/attack.html @@ -0,0 +1,124 @@ + +
+
+ {{#always}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{#normal}} + {{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{rname}}{{#innate}}, {{innate}}{{/innate}} ({{mod}}){{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} +
+ {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/html/attackdamage.html b/Brancalonia Official/src/html/attackdamage.html new file mode 100644 index 0000000000..712c95c8f9 --- /dev/null +++ b/Brancalonia Official/src/html/attackdamage.html @@ -0,0 +1,373 @@ + + {{#attack}} +
+
+ {{#always}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+
+
+ {{r2}}{{#globalattack}} + {{globalattack}}{{/globalattack}} +
+ {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}}{{#attack}} ({{mod}}){{/attack}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} +
+ {{/attack}} + {{#save}} + {{#attack}} +
+ {{/attack}} + {{^attack}} +
+ {{/attack}} +
+ DC{{savedc}} +
+ {{#savedesc}} +
+ {{savedesc}} +
+ {{/savedesc}} +
+ {{saveattr}} Save +
+
+ {{/save}} + {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} + {{#globaldamage}} + {{#^rollTotal() globaldamage 0}} +
+ + {{globaldamage}} + {{#normal}} + {{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamage 0}} + {{#rollTotal() globaldamage 0}} + {{#^rollTotal() globaldamagecrit 0}} + {{#rollWasCrit() r1}} +
+ + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{globaldamagetype}} +
+ {{/rollWasCrit() r1}} + {{#rollWasCrit() r2}} + {{#^rollWasCrit() r1}} +
+ + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{globaldamagecrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{globaldamagecrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{globaldamagetype}} +
+ {{/^rollWasCrit() r1}} + {{/rollWasCrit() r2}} + {{/^rollTotal() globaldamagecrit 0}} + {{/rollTotal() globaldamage 0}} + {{/globaldamage}} + {{#hldmg}} + {{#^rollTotal() hldmg 0}} +
+ + {{hldmg}} + + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{hldmgcrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{hldmgcrit}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{hldmgcrit}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + +
+ Higher Level Cast +
+
+ {{/^rollTotal() hldmg 0}} + {{/hldmg}} + {{#damage}} +
+
+ {{#dmg1flag}} + {{^dmg2flag}} +
+ + {{dmg1}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg1type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} + {{#dmg2flag}} + {{^dmg1flag}} +
+ + {{dmg2}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg2type}} +
+ {{/dmg1flag}} + {{/dmg2flag}} + {{#dmg1flag}} + {{#dmg2flag}} +
+ + {{dmg1}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg1type}} +
+
+
+ + {{dmg2}} + {{#attack}} + {{#normal}} + {{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}+ {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}+ {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{/attack}} + + {{dmg2type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} +
+ {{^attack}} + {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} + {{/attack}} +
+ {{/damage}} + \ No newline at end of file diff --git a/Brancalonia Official/src/html/damage.html b/Brancalonia Official/src/html/damage.html new file mode 100644 index 0000000000..16ad092627 --- /dev/null +++ b/Brancalonia Official/src/html/damage.html @@ -0,0 +1,127 @@ + + {{#save}} + {{#attack}} +
+ {{/attack}} + {{^attack}} +
+ {{/attack}} +
+ DC + {{savedc}} +
+ {{#savedesc}} +
+ {{savedesc}} +
+ {{/savedesc}} +
+ {{saveattr}} + Save +
+
+ {{/save}} + {{^attack}} + {{#desc}} +
+ + {{desc}} + +
+ {{/desc}} + {{/attack}} + {{#globaldamage}} + {{#^rollTotal() globaldamage 0}} +
+ {{globaldamage}}{{#globaldamagecrit}}{{#^rollTotal() globaldamagecrit 0}} + {{globaldamagecrit}}{{/^rollTotal() globaldamagecrit 0}}{{/globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamage 0}} + {{/globaldamage}} + {{#globaldamage}} + {{#rollTotal() globaldamage 0}} + {{#globaldamagecrit}} + {{#^rollTotal() globaldamagecrit 0}} +
+ {{globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamagecrit 0}} + {{/globaldamagecrit}} + {{/rollTotal() globaldamage 0}} + {{/globaldamage}} + {{^globaldamage}} + {{#globaldamagecrit}} + {{#^rollTotal() globaldamagecrit 0}} +
+ {{globaldamagecrit}} + {{globaldamagetype}} +
+ {{/^rollTotal() globaldamagecrit 0}} + {{/globaldamagecrit}} + {{/globaldamage}} + {{#hldmg}} + {{#^rollTotal() hldmg 0}} +
+ {{hldmg}}{{#hldmgcrit}} + {{hldmgcrit}}{{/hldmgcrit}} + {{dmg1type}} +
+ Higher Level Cast +
+
+ {{/^rollTotal() hldmg 0}} + {{/hldmg}} +
+
+ {{#dmg1flag}} + {{^dmg2flag}} +
+ {{dmg1}}{{#crit}} + {{crit1}}{{/crit}} + {{dmg1type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} + {{#dmg2flag}} + {{^dmg1flag}} +
+ {{dmg2}}{{#crit}} + {{crit2}}{{/crit}} + {{dmg2type}} +
+ {{/dmg1flag}} + {{/dmg2flag}} + {{#dmg1flag}} + {{#dmg2flag}} +
+ {{dmg1}}{{#crit}} + {{crit1}}{{/crit}} + {{dmg1type}} +
+
+
+ {{dmg2}}{{#crit}} + {{crit2}}{{/crit}} + {{dmg2type}} +
+ {{/dmg2flag}} + {{/dmg1flag}} +
+ {{^attack}} + {{#range}} +
+ {{range}} +
+ {{/range}} +
+ {{rname}}{{#innate}}, {{innate}}{{/innate}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} + {{#spelldesc_link}} + + {{/spelldesc_link}} + {{/attack}} +
+ \ No newline at end of file diff --git a/Brancalonia Official/src/html/description.html b/Brancalonia Official/src/html/description.html new file mode 100644 index 0000000000..e131e97739 --- /dev/null +++ b/Brancalonia Official/src/html/description.html @@ -0,0 +1,9 @@ + +
+ + + {{desc}} + + +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/dmgaction.html b/Brancalonia Official/src/html/dmgaction.html new file mode 100644 index 0000000000..8f237b8c49 --- /dev/null +++ b/Brancalonia Official/src/html/dmgaction.html @@ -0,0 +1,28 @@ + +
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ Damage: + + {{#dmg1flag}} + {{dmg1}}{{#crit}} + {{crit1}}{{/crit}}{{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}}{{#crit}} + {{crit2}}{{/crit}}{{dmg2type}} + {{/dmg2flag}} + +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/html/npc.html b/Brancalonia Official/src/html/npc.html new file mode 100644 index 0000000000..bac64f55db --- /dev/null +++ b/Brancalonia Official/src/html/npc.html @@ -0,0 +1,41 @@ + +
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+
+ {{#normal}} + {{type}}: {{r1}} + {{/normal}} + {{#always}} + {{type}}: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{type}}: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/npcaction.html b/Brancalonia Official/src/html/npcaction.html new file mode 100644 index 0000000000..fbe5b83dd2 --- /dev/null +++ b/Brancalonia Official/src/html/npcaction.html @@ -0,0 +1,96 @@ + +
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ {{#attack}} +
+ {{#normal}} + Attack: {{r1}} + {{/normal}} + {{#always}} + Attack: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{/attack}} + {{#description}} + {{description}} + {{/description}} +
+ {{#damage}} +
+ Damage: + + {{#dmg1flag}} + {{dmg1}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg2type}} + {{/dmg2flag}} + +
+ {{/damage}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/html/npcattack.html b/Brancalonia Official/src/html/npcattack.html new file mode 100644 index 0000000000..a485bec7f3 --- /dev/null +++ b/Brancalonia Official/src/html/npcattack.html @@ -0,0 +1,93 @@ + +
+ {{#normal}} + {{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r1}}{{rnamec}}{{/rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollLess() r1 r2}}{{#^rollWasCrit() r1}}{{rname}}{{/^rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r2}}{{rnamec}}{{/rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{#rollGreater() r1 r2}}{{#^rollWasCrit() r2}}{{rname}}{{/^rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+
+ {{#normal}} + {{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}} + {{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}{{typec}}: {{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}}[{{typec}}: {{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{#^rollWasCrit() r1}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/^rollWasCrit() r1}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollTotal() r1 r2}}{{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r1}}{{typec}}: {{/rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollLess() r1 r2}}{{#^rollWasCrit() r1}}{{type}}: {{/^rollWasCrit() r1}}{{/rollLess() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r2}}{{typec}}: {{/rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{#rollGreater() r1 r2}}{{#^rollWasCrit() r2}}{{type}}: {{/^rollWasCrit() r2}}{{/rollGreater() r1 r2}} + {{/disadvantage}} + {{#normal}} + {{r1}} + {{/normal}} + {{#always}} + {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/html/npcdmg.html b/Brancalonia Official/src/html/npcdmg.html new file mode 100644 index 0000000000..b0be6ae490 --- /dev/null +++ b/Brancalonia Official/src/html/npcdmg.html @@ -0,0 +1,19 @@ + +
+ Damage: + + {{#dmg1flag}} + {{dmg1}}{{#crit}} + {{crit1}}{{/crit}}{{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}}{{#crit}} + {{crit2}}{{/crit}}{{dmg2type}} + {{/dmg2flag}} + +
+ {{#description}} +
+ {{description}} +
+ {{/description}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/html/npcfullatk.html b/Brancalonia Official/src/html/npcfullatk.html new file mode 100644 index 0000000000..6c701f5d0d --- /dev/null +++ b/Brancalonia Official/src/html/npcfullatk.html @@ -0,0 +1,98 @@ + +
+
+ {{rname}} +
+ {{#name}} +
+ {{name}} +
+ {{/name}} +
+ {{#attack}} +
+ {{#normal}} + Attack: {{r1}} + {{/normal}} + {{#always}} + Attack: {{r1}} | {{r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} + Attack: {{r1}} | {{r2}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+ {{/attack}} +
+
+ Damage: + {{#damage}} + + {{#dmg1flag}} + {{dmg1}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit1}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit1}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg1type}} + {{/dmg1flag}} + {{#dmg1flag}}{{#dmg2flag}}+{{/dmg2flag}}{{/dmg1flag}} + {{#dmg2flag}} + {{dmg2}} + {{#normal}} + {{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}} + {{/normal}} + {{#always}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/always}} + {{#advantage}} + {{#rollLess() r1 r2}}{{#rollWasCrit() r2}} + {{crit2}}{{/rollWasCrit() r2}}{{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollTotal() r1 r2}}{{#rollWasCrit() r1}} + {{crit2}}{{/rollWasCrit() r1}}{{/rollTotal() r1 r2}} + {{/disadvantage}} + {{dmg2type}} + {{/dmg2flag}} + + {{/damage}} + {{#description}} +
+ {{description}} +
+ {{/description}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/simple.html b/Brancalonia Official/src/html/simple.html new file mode 100644 index 0000000000..7f45206661 --- /dev/null +++ b/Brancalonia Official/src/html/simple.html @@ -0,0 +1,91 @@ + +
+
+ {{#always}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#imposed}} +
+ {{imposed}} +
+ {{/imposed}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
diff --git a/Brancalonia Official/src/html/simple3d.html b/Brancalonia Official/src/html/simple3d.html new file mode 100644 index 0000000000..964bc0c296 --- /dev/null +++ b/Brancalonia Official/src/html/simple3d.html @@ -0,0 +1,91 @@ + +
+
+ {{#always}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/always}} + {{#normal}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{r3}}{{#global}} + {{global}}{{/global}} +
+
+
+ {{r2}}{{r3}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#imposed}} +
+ {{imposed}} +
+ {{/imposed}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/skill.html b/Brancalonia Official/src/html/skill.html new file mode 100644 index 0000000000..022e28b8bb --- /dev/null +++ b/Brancalonia Official/src/html/skill.html @@ -0,0 +1,125 @@ + +
+
+ {{#always}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/always}} + {{#normal}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/normal}} + {{#advantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{/rollGreater() r1 r2}} + {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/advantage}} + {{#disadvantage}} + {{#rollLess() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollLess() r1 r2}} + {{#rollTotal() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r1 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r1 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollTotal() r1 r2}} + {{#rollGreater() r1 r2}} +
+ {{r1}}{{#global}} + {{global}}{{/global}} +
+
+ {{r2}}{{#global}} + {{global}}{{/global}} +
+ {{#rollGreater() reliablecheck 0}} + {{#rollLess() r2 reliableroll}} +
+ {{reliableroll}}{{#global}} + {{global}}{{/global}} +
+ {{/rollLess() r2 reliableroll}} + {{/rollGreater() reliablecheck 0}} + {{/rollGreater() r1 r2}} + {{/disadvantage}} +
+
+ {{rname}}{{#mod}} ({{mod}}){{/mod}} +
+ {{#charname}} +
+ {{charname}} +
+ {{/charname}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/spell.html b/Brancalonia Official/src/html/spell.html new file mode 100644 index 0000000000..ead7cac3fc --- /dev/null +++ b/Brancalonia Official/src/html/spell.html @@ -0,0 +1,56 @@ + +
+
+ {{name}}{{#innate}}, {{innate}}{{/innate}} +
+
+ {{#level}}{{level}} {{/level}} + {{#ritual}} (){{/ritual}} +
+
+ {{#castingtime}} +
+ Casting Time: {{castingtime}} +
+ {{/castingtime}} + {{#range}} +
+ Range: {{range}} +
+ {{/range}} + {{#target}} +
+ Target: {{target}} +
+ {{/target}} +
+ Components: + + {{#v}}V{{#s}}, {{/s}}{{^s}}{{#m}}, {{/m}}{{/s}}{{/v}} + {{#s}}S{{#m}}, {{/m}}{{/s}} + {{#m}}M {{#material}}({{material}}){{/material}}{{/m}} + +
+ {{#duration}} +
+ Duration: {{#concentration}}Concentration {{/concentration}}{{duration}} +
+ {{/duration}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} + {{#athigherlevels}} +
+ At Higher Levels. {{athigherlevels}} +
+ {{/athigherlevels}} + {{#savedc}} +
+ SPELL SAVE DC: {{savedc}} +
+ {{/savedc}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/spelloutput.html b/Brancalonia Official/src/html/spelloutput.html new file mode 100644 index 0000000000..8aa795924f --- /dev/null +++ b/Brancalonia Official/src/html/spelloutput.html @@ -0,0 +1,59 @@ + +
+
+ For Description Only +
+
+ {{name}}{{#innate}}, {{innate}}{{/innate}} +
+
+ {{#level}}{{level}} {{/level}} + {{#ritual}} (){{/ritual}} +
+
+ {{#castingtime}} +
+ Casting Time: {{castingtime}} +
+ {{/castingtime}} + {{#range}} +
+ Range: {{range}} +
+ {{/range}} + {{#target}} +
+ Target: {{target}} +
+ {{/target}} +
+ Components: + + {{#v}}V{{#s}}, {{/s}}{{^s}}{{#m}}, {{/m}}{{/s}}{{/v}} + {{#s}}S{{#m}}, {{/m}}{{/s}} + {{#m}}M {{#material}}({{material}}){{/material}}{{/m}} + +
+ {{#duration}} +
+ Duration: {{#concentration}}Concentration {{/concentration}}{{duration}} +
+ {{/duration}} +
+ {{#description}} +
+ {{description}} +
+ {{/description}} + {{#athigherlevels}} +
+ At Higher Levels. {{athigherlevels}} +
+ {{/athigherlevels}} + {{#savedc}} +
+ SPELL SAVE DC: {{savedc}} +
+ {{/savedc}} +
+
\ No newline at end of file diff --git a/Brancalonia Official/src/html/traits.html b/Brancalonia Official/src/html/traits.html new file mode 100644 index 0000000000..7ce0014f0a --- /dev/null +++ b/Brancalonia Official/src/html/traits.html @@ -0,0 +1,15 @@ + +
+ {{name}} +
+ {{#source}} +
+ {{#charname}}{{charname}} {{/charname}}{{source}} +
+ {{/source}} + {{#description}} +
+ {{description}} +
+ {{/description}} +
\ No newline at end of file diff --git a/Brancalonia Official/src/js/Classes/DropClasses/DropClasses.js b/Brancalonia Official/src/js/Classes/DropClasses/DropClasses.js new file mode 100644 index 0000000000..ee85dff91c --- /dev/null +++ b/Brancalonia Official/src/js/Classes/DropClasses/DropClasses.js @@ -0,0 +1,488 @@ +class RepeatingFieldset { + constructor(groupname, id) { + this.groupname = groupname; + this.reprowid = id || generateRowID(); + } + + buildRowName() { + return `repeating_${this.groupname}_${this.reprowid}` + } + + addAttribute(attributesibuteName) { + return `${this.buildRowName()}_${attributesibuteName}` + } +} + +class Attack extends RepeatingFieldset { + constructor(name, id) { + super('attack', id) + this.attributes = { + atkname: name, + atkbonus: '', //Part of button display + atkdmgtype: '', //Part of button display + atkflag: '{{attack=1}}', + atkattr_base: '@{strength_mod}', + atkrange: '', + atkmagic: '', + atkcritrange: 20, + dmgflag: '{{damage=1}} {{dmg1flag=1}}', + dmgbase: '', + dmgattr: '@{strength_mod}', + dmgmod: '', + dmgtype: '', + dmgcustcrit: '', + dmg2flag: 0, + dmg2base: '', + dmg2attr: 0, + dmg2mod: '', + dmg2type: '', + dmg2custcrit: '', + saveflag: 0, + saveattr: 'Strength', + savedc: '(@{spell_save_dc})', + saveflat: '', + saveeffect: '', + atk_desc: '', + "options-flag": 0, + } + } + + addSaveFlag() { + this.attributes.saveflag = '{{save=1}} {{saveattr=@{saveattr}}} {{savedesc=@{saveeffect}}} {{savedc=[[[[@{savedc}]][SAVE]]]}}' + } + + checkFinesse(strenght, dexterity) { + const strengthGreaterThanDex = strenght > dexterity; + this.attributes.dmgattr = strengthGreaterThanDex ? '@{strength_mod}' : '@{dexterity_mod}' + this.attributes.atkattr_base = strengthGreaterThanDex ? '@{strength_mod}' : '@{dexterity_mod}' + } +} + +class GlobalACMod extends RepeatingFieldset { + constructor(name, id) { + super('acmod', id) + name, + this.attributes = { + global_ac_name: name, + global_ac_val: '', + global_ac_active_flag: 0, + "options-flag": 0, + } + } +} + +class GlobalDamage extends RepeatingFieldset { + constructor(name, id) { + super('damagemod', id) + name, + this.attributes = { + global_damage_name: name, + global_damage_damage: '', + global_damage_type: '', + global_damage_active_flag: 0, + "options-flag": 0 + } + } +} + +class GlobalSave extends RepeatingFieldset { + constructor(name, id) { + super('savemod', id) + name, + this.attributes = { + global_save_name: name, + global_save_roll: '', + global_save_active_flag: 0, + "options-flag": 0 + } + } +} + +class GlobalAttack extends RepeatingFieldset { + constructor(name, id) { + super('tohitmod', id) + name, + this.attributes = { + global_attack_name: name, + global_attack_roll: '', + global_attack_rollstring: '', + global_attack_active_flag: 0, + "options-flag": 0 + } + } + + addRoll(roll) { + this.attributes.global_attack_roll = roll; + } +} + +class HPMod extends RepeatingFieldset { + constructor(name, id) { + super('hpmod', id) + name, + this.attributes = { + mod: '', + source: '', + levels: 'total' + } + } +} + +class Item extends RepeatingFieldset { + constructor(name, id) { + super('inventory', id); + name, + this.attributes = { + itemname: name, + itemcount: 1, + itemproperties: '', + itemweight: 0, + itemcontent: '', + itemmodifiers: '', + hasattack: 0, + useasresource: 0 + } + } +} + +class Proficiency extends RepeatingFieldset { + constructor(name, id) { + super('proficiencies', id); + this.attributes = { + name, + prof_type: 'OTHER', + 'options-flag': 0 + } + } +} + +class Resource extends RepeatingFieldset { + constructor(name, id, side) { + super('resource', id); + this.side = side || 'left', + this.attributes = { + [`resource_${this.side}`]: '', + [`resource_${this.side}_name`]: name, + [`resource_${this.side}_max`]: '', + } + } +} + +class Spell extends RepeatingFieldset { + constructor(name, section, id) { + super(section, id); + this.attributes = { + 'details-flag': 0, + 'options-flag': 0, + rollcontent: '', + spell_ability: 'spell', + innate: '', + spell_damage_progression: '', + spellathigherlevels: '', + spellattack: '', + spellcastingtime: '', + spellclass: '', + spellcomp_m: 0, + spellcomp_materials: '', + spellcomp_s: 0, + spellcomp_v: 0, + spellconcentration: '', + spelldamage2: '', + spelldamage: '', + spelldamagetype2: '', + spelldamagetype: '', + spelldescription: '', + spelldmgmod: '', + spellduration: '', + spellhealing: '', + spellhlbonus: '', + spellhldie: '', + spellhldietype: '', + spelllevel: 'cantrip', + spellname: name, + spelloutput: 'SPELLCARD', + spellrange: '', + spellritual: '', + spellsave: '', + spellsavesuccess: '', + spellschool: 'abjuration', + spellsource: '', + spelltarget: '' + } + } +} + +class Trait extends RepeatingFieldset { + constructor(name, id) { + super('traits', id); + this.attributes = { + name, + description: '', + source_type: '', + source: '', + edit: "0", + display_flag: 'on' + }; + } + + determineSource(category) { + switch (category) { + case "Backgrounds": + case "Feats": + return category.slice(0, -1) + break; + case "Races": + case "Subraces": + return "Racial" + break; + case "Classes": + case "Subclasses": + return "Class" + break; + default: + return "Other" + } + } +} + +class ToolProficiency extends RepeatingFieldset { + constructor(name, id) { + super('tool', id); + this.attributes = { + toolname: name, + toolbonus_base: '(@{pb})', + toolattr_base: '?{Attribute?|Strength,@{strength_mod}|Dexterity,@{dexterity_mod}|Constitution,@{constitution_mod}|Intelligence,@{intelligence_mod}|Wisdom,@{wisdom_mod}|Charisma,@{charisma_mod}}', + 'options-flag': 0 + } + } +} + +//========== Non-Repeating + +class Class { + constructor(name) { + name, + this.attributes = { + class: this.validateClassName(name) ? name : '', + base_level: 1, + hit_dice_max: 1, + hit_dice: 1, + hitdietype: 4, + spellcasting_ability: '0*' + } + } + + validateClassName(name) { + return globalAttributesByCategory.classes.includes(name.toLowerCase()) ? true : false; + } + + buildSpellcastingAbility(attributeName) { + return `@{${attributeName}_mod}+` + } +} + +class CustomAC { + constructor(name) { + name, + this.attributes = { + custom_ac_flag: 1, + custom_ac_base: 10, + custom_ac_part1: 'none', + custom_ac_part2: 'none', + custom_ac_shield: 'yes' + } + } +} + +class Race { + constructor(name) { + name, + this.attributes = { + race: name, + speed: 30, + size: 'Medium', + halflingluck_flag: this.checkHalfling(name) ? 1 : 0 + } + } + + checkHalfling(name) { + return name === 'Halfling' ? true : false + } +} + +class Subrace { + constructor(name) { + name, + this.attributes = { + subrace: name + } + } +} + +class SavingThrow { + constructor(name) { + name, + this.attributes = { + [`${this.attributesName(name)}_save_prof`]: `(@{pb})` + } + } + + attributesName(name) { + return name.toLowerCase() + } +} + +class Skill { + constructor(name) { + name, + this.attributes = { + [`${this.attributesName(name)}_prof`]: `(@{pb}*@{${this.attributesName(name)}_type})` + } + } + + attributesName(name) { + return name.toLowerCase().replace(/ /g, '_') + } +} + +class Subclass { + constructor(name) { + name, + this.attributes = { + subclass: name, + arcane_fighter: 0, + arcane_rogue: 0 + } + } + + checkArcane(className) { + return className === 'fighter' || className === 'rogue' ? true : false + } + + buildSpellcastingAbility(attributeName) { + return `@{${attributeName}_mod}+` + } +} + +//========== NPC AKA MONSTERS + +class Npc { + constructor(name) { + name, + this.attributes = { + npc_name: name, + strength_base: 10, + dexterity_base: 10, + constitution_base: 10, + intelligence_base: 10, + wisdom_base: 10, + charisma_base: 10, + npc_condition_immunities: '', + npc_immunities: '', + npc_resistances: '', + npc_languages: '', + npc_speed: '', + token_size: 1, + npc_vulnerabilities: '', + npc_challenge: '', + npc_senses: '', + npc_type: '', + npc_ac: '', + npc_actype: '', + hp_max: '', + npc_hpformula: '', + npc_xp: '', + npc_legendary_actions: 0, + npc_legendary_actions_desc: '', + npc_mythic_actions: 0, + npc_mythic_actions_desc: '', + npc: 1, + 'npc_options-flag': 0, + npcreactionsflag: 0, + npcspellcastingflag: 0, + spellcasting_ability: '0*', + globalmagicmod: 0, + caster_level: 0, + spell_dc_mod: 0 + } + } + + addSkills(list) { + list.forEach(value => this.attributes[`npc_${value.replace(/ /g, '_')}_base`] = "") + } + + addSaves(list) { + list.forEach(value => this.attributes[`npc_${value.slice(0, 3)}_save_base`] = "") + } + + addSpellcaster(ability, casterLevels) { + const spellcastrAttributes = { + npcspellcastingflag: 1, + base_level: casterLevels || 1, + caster_level: casterLevels || 1, + class: 'Wizard', + level: casterLevels || 1, + spellcasting_ability: ability + } + + Object.assign(this.attributes, spellcastrAttributes); + } + + addInnateCaster() { + this.attributes.npcspellcastingflag = 1 + } +} + +class NpcAction extends RepeatingFieldset { + constructor(name, section, id) { + super(section, id); + name, + this.attributes = { + name, + description: '', + edit: "0", + } + } + + addAttack() { + const attackAttributes = { + attack_flag: 'on', + attack_display_flag: '{{attack=1}}', + attack_options: '{{attack=1}}', + attack_type: '', + attack_target: 'one target', + attack_range: '5 ft', + attack_tohit: '', + attack_damage: '', + attack_damagetype: '', + attack_damage2: '', + attack_damagetype2: '' + } + + Object.assign(this.attributes, attackAttributes); + } +} + +class NpcReaction extends RepeatingFieldset { + constructor(name, id) { + super('npcreaction', id) + name, + this.attributes = { + name, + edit: "0", + description: '' + } + } +} + +class NpcTraits extends RepeatingFieldset { + constructor(name, id) { + super('npctrait', id) + name, + this.attributes = { + name, + edit_trait: "0", + description: '' + } + } +} diff --git a/Brancalonia Official/src/js/Classes/FlagManager/FlagManager.js b/Brancalonia Official/src/js/Classes/FlagManager/FlagManager.js new file mode 100644 index 0000000000..7a5039b97b --- /dev/null +++ b/Brancalonia Official/src/js/Classes/FlagManager/FlagManager.js @@ -0,0 +1,118 @@ +class RefereceSet extends Set { + constructor(...args) { + super(...args); + } + toggle(value) { + const toggleLookup = { + true: 'delete', + false: 'add' + }; + const hasValue = this.has(value); + return this[toggleLookup[hasValue]](value); + } +} +class FlagManager { + constructor(reference) { + this._reference = reference; + this._delimiter = ' '; + this._delimiterSafe = '_'; + } + async getFlags() { + const entries = await this._getReferenceSet(); + return entries; + } + async hasFlag(flag) { + const entries = await this._getReferenceSet(); + return entries.has(flag); + } + async addFlag(flag) { + const updatedReference = await this._updateReference(flag, 'add'); + return updatedReference; + } + async deleteFlag(flag) { + const updatedReference = await this._updateReference(flag, 'delete'); + return updatedReference; + } + async toggleFlag(flag) { + const updatedReference = await this._updateReference(flag, 'toggle'); + return updatedReference; + } + async _updateReference(flag, method) { + const sanitizedFlag = this._sanitizeFlag(flag); + const updatedReference = await this._setReference(sanitizedFlag, method); + return updatedReference; + } + async syncFlagsWithRepeatingSection(section) { + const flags = await this._syncFlagsWithRepeatingSection(section); + return flags; + } + _syncFlagsWithRepeatingSection(section) { + return new Promise(resolve => { + SheetUtils.getSectionOrder(section, order => { + getAttrs([this._reference], attributes => { + let values = ""; + Object.keys(attributes).some(() => { + values += attributes[this._reference]; + return true; + }); + const flags = (values) ? values.split(' ') : []; + const sectionName = `repeating_${section}`; + const filteredArray = Array.from(flags).filter(flag => flag.includes(sectionName)).filter(flag => order.includes(SheetUtils.getUID(flag).toLowerCase())); + filteredArray.forEach((flag, index) => { + const newIndex = order.indexOf(SheetUtils.getUID(flag).toLowerCase()); + filteredArray[index] = flag.replace(this._getFlagIndex(flag), `_${newIndex}_`); + }); + const updatedSet = Array.from(flags).filter(flag => !flag.includes(sectionName)).concat(filteredArray); + let update = {}; + update[this._reference] = updatedSet.join(' '); + setAttrs(update, () => { + return resolve(new Set(updatedSet)); + }); + }); + }); + }); + } + _getFlagIndex(flag) { + const regexp = /_[0-9]+_/g; + const valueAsString = String(flag); + const match = valueAsString.match(regexp); + return (match) ? match.join() : ""; + } + _getReferenceSet() { + return new Promise(resolve => { + getAttrs([this._reference], attributes => { + let values = ""; + Object.keys(attributes).some(() => { + values += attributes[this._reference]; + return true; + }); + const flags = values.split(this._delimiter).filter(e => {return e}); + return resolve(new RefereceSet(flags)); + }); + }); + } + _setReference(sanitizedFlag, method) { + return new Promise(resolve => { + getAttrs([this._reference], attributes => { + let values = ""; + Object.keys(attributes).some(() => { + values += attributes[this._reference]; + return true; + }); + const flags = new RefereceSet(values.split(this._delimiter).filter(e => {return e})); + flags[method](sanitizedFlag); + const flagAsString = Array.from(flags).join(this._delimiter); + let update = {}; + update[this._reference] = flagAsString; + setAttrs(update, () => { + return resolve(flags); + }); + }); + }); + } + _sanitizeFlag(flag) { + const regex = new RegExp(`${this._delimiter}`, 'g'); + const sanitizedFlag = flag.replace(regex, this._delimiterSafe); + return sanitizedFlag; + } +} diff --git a/Brancalonia Official/src/js/Classes/FlagManager/test/component.html b/Brancalonia Official/src/js/Classes/FlagManager/test/component.html new file mode 100644 index 0000000000..18a1f0108c --- /dev/null +++ b/Brancalonia Official/src/js/Classes/FlagManager/test/component.html @@ -0,0 +1,60 @@ + + + + + + FlagManager Component + + + + + + + + +
+ +
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris hendrerit cursus ex. Pellentesque pulvinar nulla justo, finibus hendrerit magna aliquam vitae.
+
+
+ +
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris hendrerit cursus ex. Pellentesque pulvinar nulla justo, finibus hendrerit magna aliquam vitae.
+
+ + + diff --git a/Brancalonia Official/src/js/Classes/FlagManager/test/tests.html b/Brancalonia Official/src/js/Classes/FlagManager/test/tests.html new file mode 100644 index 0000000000..5d2ad7ee66 --- /dev/null +++ b/Brancalonia Official/src/js/Classes/FlagManager/test/tests.html @@ -0,0 +1,18 @@ + + + + + + FlagManager Tests + + + +
+
+ + + + + + + diff --git a/Brancalonia Official/src/js/Classes/FlagManager/test/tests.js b/Brancalonia Official/src/js/Classes/FlagManager/test/tests.js new file mode 100644 index 0000000000..ebe8f9efea --- /dev/null +++ b/Brancalonia Official/src/js/Classes/FlagManager/test/tests.js @@ -0,0 +1,117 @@ +QUnit.module('Basic Tests', { + before: function() { + maxAsyncDelay = 100; //Sets the mock delay for getAttrs and setAttrs to a maximum of 1000ms. + }, + beforeEach: function() { + //Resets attributes before each test + attributes = {}; + sectionIDS = {}; + this.flagManager = new FlagManager('ui_flags'); + } +}); +QUnit.test('Flag Manager was initiated with zero entries', function( assert ) { + var done = assert.async(); + this.flagManager.getFlags().then(flags => { + assert.equal(flags.size, 0); + done(); + }); +}); + +QUnit.test('One flag added to Flag Manager', function( assert ) { + var done = assert.async(); + this.flagManager.addFlag('show_traits').then(flags => { + assert.equal(flags.size, 1); + assert.equal(flags.has('show_traits'), true); + assert.strictEqual(attributes.ui_flags, 'show_traits'); + done(); + }); +}); + +QUnit.test('Two flags added to Flag Manager', function( assert ) { + var done = assert.async(); + this.flagManager.addFlag('show_traits').then(() => { + this.flagManager.addFlag('show_spells').then(flags => { + assert.equal(flags.size, 2); + assert.equal(flags.has('show_traits'), true); + assert.equal(flags.has('show_spells'), true); + assert.strictEqual(attributes.ui_flags, 'show_traits show_spells'); + done(); + }); + }); +}); + +QUnit.test('Flag Deleted from Flag Manager', function( assert ) { + //Faking some attributes + attributes['ui_flags'] = 'show_traits show_spells show_skills'; + + var done = assert.async(); + this.flagManager.deleteFlag('show_spells').then(flags => { + assert.equal(flags.size, 2); + assert.equal(flags.has('show_traits'), true); + assert.equal(flags.has('show_spells'), false); + assert.equal(flags.has('show_skills'), true); + assert.strictEqual(attributes.ui_flags, 'show_traits show_skills'); + done(); + }); +}); + +QUnit.test('Flags correctly detected in Flag Manager', function( assert ) { + //Faking some attributes + attributes['ui_flags'] = 'show_traits show_spells show_skills'; + + var done1 = assert.async(); + var done2 = assert.async(); + this.flagManager.hasFlag('show_spells').then(hasFlag => { + assert.equal(hasFlag, true); + done1(); + }); + this.flagManager.hasFlag('non_existing_flag').then(hasFlag => { + assert.equal(hasFlag, false); + done2(); + }); +}); + +QUnit.test('Flags cant be added more than once', function( assert ) { + //Faking some attributes + attributes['ui_flags'] = 'show_traits show_spells show_skills'; + + var done = assert.async(); + this.flagManager.addFlag('show_skills').then(flags => { + assert.equal(flags.size, 3); + assert.strictEqual(attributes.ui_flags, 'show_traits show_spells show_skills'); + done(); + }); +}); + +QUnit.test('Order of stored flags are synced with source repeating section', function(assert) { + attributes['ui_flags'] = 'a_flag another_flag repeating_traits_0_name_-LzbTrhcIwpDwRZxfvEn repeating_traits_1_name_-MzbTrhcIwpDwRZxfvEn'; + attributes['_reporder_repeating_traits'] = '-MzbTrhcIwpDwRZxfvEn,-LzbTrhcIwpDwRZxfvEn'; + sectionIDS['repeating_traits'] = ['-LzbTrhcIwpDwRZxfvEn', '-MzbTrhcIwpDwRZxfvEn']; + var done = assert.async(); + this.flagManager.syncFlagsWithRepeatingSection('traits').then(flags => { + var expectedTags = new Set([ + 'a_flag', + 'another_flag', + 'repeating_traits_1_name_-LzbTrhcIwpDwRZxfvEn', + 'repeating_traits_0_name_-MzbTrhcIwpDwRZxfvEn' + ]); + assert.equal(Array.from(flags).join(' '), Array.from(expectedTags).join(' ')); + done(); + }); +}); + +QUnit.test('Deleted flags are synced with source repeating section', function(assert) { + attributes = {}; + attributes['ui_flags'] = 'a_flag another_flag repeating_traits_1_name_-LzbTrhcIwpDwRZxfvEn repeating_traits_0_name_-MzbTrhcIwpDwRZxfvEn'; + sectionIDS['repeating_traits'] = ['-MzbTrhcIwpDwRZxfvEn']; + var done = assert.async(); + this.flagManager.syncFlagsWithRepeatingSection('traits').then(flags => { + var expectedTags = new Set([ + 'a_flag', + 'another_flag', + 'repeating_traits_0_name_-MzbTrhcIwpDwRZxfvEn' + ]); + assert.equal(Array.from(flags).join(' '), Array.from(expectedTags).join(' ')); + done(); + }); +}); \ No newline at end of file diff --git a/Brancalonia Official/src/js/Classes/SheetUtils/SheetUtils.js b/Brancalonia Official/src/js/Classes/SheetUtils/SheetUtils.js new file mode 100644 index 0000000000..9d2ac50f6c --- /dev/null +++ b/Brancalonia Official/src/js/Classes/SheetUtils/SheetUtils.js @@ -0,0 +1,82 @@ +class SheetUtils { + static getUID(value) { + const regexp = /-.{19}(?=_)|-.{19}$/g; + const valueAsString = String(value); + const match = valueAsString.match(regexp); + return (match) ? match.join() : ""; + } + static aOrAn(value) { + if(['a','e','i','o','u'].indexOf(value.toLowerCase()[0]) > -1) return `an ${value}`; + return `a ${value}`; + } + static toLowerCase(value) { + if(Array.isArray(value)) { + const lowerCaseArray = value.map(item => { return item.toLowerCase(); }); + return lowerCaseArray; + } + return String(value).toLowerCase(); + } + static toCapitalCase(value) { + if(Array.isArray(value)) { + const capitalCaseArray = value.map(item => { return item[0].toUpperCase() + item.toLowerCase().slice(1); }); + return capitalCaseArray; + } + return String(value)[0].toUpperCase() + String(value).toLowerCase().slice(1); + } + static getSectionOrder(section, callback) { + const sectionName = `repeating_${section}`; + const attributeName = `_reporder_${sectionName}`; + getAttrs([attributeName], attributes => { + let values = new Array(); + Object.keys(attributes).some(() => { + let results = SheetUtils.toLowerCase(attributes[attributeName].replace(/ /g, '').split(',')); + values = values.concat(results); + return true; + }); + getSectionIDs(sectionName, ids => { + const filteredOrder = new Set(); + const order = values.concat(SheetUtils.toLowerCase(ids)).filter(entry => { return SheetUtils.toLowerCase(ids).indexOf(entry) > -1; }); + order.forEach(item => { + filteredOrder.add(item); + }); + callback(Array.from(filteredOrder)); + }); + }); + } + static deepReadAttribute(attr, callback, defaultValue) { + if(/^(@{).+}$/.test(String(attr)) === true) { + const regExp = /@\{([^@\{\}]+)\}/; + const reference = regExp.exec(attr)[1]; + var self = this; + getAttrs([reference], function(v) { + if(!v[reference]) { + callback(defaultValue); + } else { + self.deepReadAttribute(v[reference], callback, defaultValue); + } + }); + } + else { + callback(attr); + } + } + static sanitizeXP(value) { + const trimmedValue = value.trim(); + if(!trimmedValue) return []; + const valueWithDecimalsRemoved = trimmedValue.replace(/,|\.| +/g, ''); + const regex = /[0-9]+/g; + let xp = valueWithDecimalsRemoved.match(regex); + if(Array.isArray(xp)) xp = xp.map(entry => { return parseInt(entry) }); + return xp; + } + static checkPath(obj, path, returnFalseOnEmpty = false) { + const sanitizedPath = path.replace(/\]\[|[\[,\]]/g, '.').replace(/\.+/g, '.').replace(/[",',]|\.$|^\./g, ''); + const properties = sanitizedPath.split('.'); + let level = obj; + for(let property = 0; property < properties.length; property++) { + if((returnFalseOnEmpty && !level[properties[property]]) || (!returnFalseOnEmpty && !(properties[property] in level))) return false; + level = level[properties[property]]; + } + return true; + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.html b/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.html new file mode 100644 index 0000000000..3ea3dfc38e --- /dev/null +++ b/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.html @@ -0,0 +1,17 @@ + + + + + + SheetUtils Tests + + + +
+
+ + + + + + diff --git a/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.js b/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.js new file mode 100644 index 0000000000..93f20e49d9 --- /dev/null +++ b/Brancalonia Official/src/js/Classes/SheetUtils/test/tests.js @@ -0,0 +1,173 @@ +QUnit.module('Basic Tests', { + before: function() { + maxAsyncDelay = 100; //Sets the mock delay for getAttrs and setAttrs to a maximum of 1000ms. + }, + beforeEach: function() { + //Resets attributes before each test + attributes = {}; + sectionIDS = {}; + } +}); +QUnit.test('Sheet Utils returns correct UID', function( assert ) { + assert.equal(SheetUtils.getUID('repeating_npcreaction_-LzbTrhcIwpDwRZxfvEn_name'), '-LzbTrhcIwpDwRZxfvEn'); + assert.equal(SheetUtils.getUID('attr_wisdom'), ''); +}); + +QUnit.test('Sheet Utils returns a blank string when an invalid parameter is used', function( assert ) { + assert.equal(SheetUtils.getUID(12345), ''); + assert.equal(SheetUtils.getUID(null), ''); + assert.equal(SheetUtils.getUID(undefined), ''); + assert.equal(SheetUtils.getUID({}), ''); + assert.equal(SheetUtils.getUID(), ''); + assert.equal(SheetUtils.getUID([]), ''); +}); + +QUnit.test('Sheet Utils return the order a repeating section.', function(assert) { + attributes['_reporder_repeating_section'] = "-LzbTrhcIwpDwRZxfvEn,-MzbTrhcIwpDwRZxfvEn"; + sectionIDS['repeating_section'] = ['-MzbTrhcIwpDwRZxfvEn', '-LzbTrhcIwpDwRZxfvEn']; + var done = assert.async(); + SheetUtils.getSectionOrder('section', ids => { + assert.equal(ids.join(','), attributes['_reporder_repeating_section'].toLowerCase()); + done(); + }); +}); + +QUnit.test('Sheet Utils section IDs when no ordering is found', function(assert) { + sectionIDS['repeating_section'] = ['-MzbTrhcIwpDwRZxfvEn', '-LzbTrhcIwpDwRZxfvEn']; + var done = assert.async(); + SheetUtils.getSectionOrder('section', ids => { + assert.equal(ids.join(','), sectionIDS['repeating_section'].join(',').toLowerCase()); + done(); + }); +}); + +QUnit.test('Sheet Utils returns correct lowered case array', function( assert ) { + assert.equal(SheetUtils.toLowerCase(['Something', 'SOMETHINGELSE']).join(' '), 'something somethingelse'); +}); + +QUnit.test('Sheet Utils returns correct capitalized case array', function( assert ) { + assert.equal(SheetUtils.toCapitalCase(['something', 'SOMETHINGELSE']).join(' '), 'Something Somethingelse'); +}); + +QUnit.test('Sheet Utils returns correct deep read attributes', function( assert ) { + attributes['hitdie_1'] = '6'; + attributes['hitdie_2'] = '@{hitdie_2A}'; + attributes['hitdie_2A'] = '8'; + attributes['hitdie_3'] = 3; + attributes['hitdie_4'] = '["something"]'; + attributes['hitdie_6'] = '6'; + var done_1 = assert.async(); + var done_2 = assert.async(); + var done_3 = assert.async(); + var done_4 = assert.async(); + var done_5 = assert.async(); + var done_6 = assert.async(); + var done_7 = assert.async(); + var done_8 = assert.async(); + SheetUtils.deepReadAttribute('@{hitdie_1}', value => { + assert.equal(value, '6'); + done_1(); + }, '2'); + SheetUtils.deepReadAttribute('@{hitdie_2}', value => { + assert.equal(value, '8'); + done_2(); + }, '2'); + SheetUtils.deepReadAttribute('@{hitdie_3}', value => { + assert.equal(value, '3'); + done_3(); + }, '2'); + SheetUtils.deepReadAttribute('@{hitdie_4}', value => { + assert.equal(value, '["something"]'); + done_4(); + }, '2'); + SheetUtils.deepReadAttribute('@{hitdie_5}', value => { + assert.equal(value, '2'); + done_5(); + }, '2'); + SheetUtils.deepReadAttribute('@{hitdie_5}', value => { + assert.equal(value, undefined); + done_6(); + }); + SheetUtils.deepReadAttribute('{hitdie_6}', value => { + assert.equal(value, '{hitdie_6}'); + done_7(); + }); + SheetUtils.deepReadAttribute('something@{hitdie_6}', value => { + assert.equal(value, 'something@{hitdie_6}'); + done_8(); + }); +}); + +QUnit.test('Invalid ordered itens are removed from result', function(assert) { + attributes['ui_flags'] = 'a_flag another_flag repeating_traits_0_name_-LzbTrhcIwpDwRZxfvEn repeating_traits_1_name_-MzbTrhcIwpDwRZxfvEn'; + attributes['_reporder_repeating_traits'] = '-MzbTrhcIwpDwRZxfvEn,-LzbTrhcIwpDwRZxfvEn,-InvalidIwpDwRZxfvEn'; + sectionIDS['repeating_traits'] = ['-FirsThcIwpDwRZxfvEn', '-LzbTrhcIwpDwRZxfvEn', '-MzbTrhcIwpDwRZxfvEn']; + var done = assert.async(); + SheetUtils.getSectionOrder('traits', order => { + console.log(order); + var expected = '-MzbTrhcIwpDwRZxfvEn,-LzbTrhcIwpDwRZxfvEn,-FirsThcIwpDwRZxfvEn'; + assert.equal(order.join(','), SheetUtils.toLowerCase(expected)); + done(); + }); +}); + +QUnit.only('utils return valid experience points', function(assert) { + var xp_char_1 = '10000'; + var xp_char_2 = '10,000'; + var xp_char_3 = '10.000'; + var xp_char_4 = '10000 / 30000'; + var xp_char_5 = '10,000 /30.000'; + var xp_char_6 = '10.000\\30.000'; + var xp_char_7 = '10,000 |30.000'; + var xp_char_8 = '10,000 : 30.000'; + var xp_char_9 = '1.010,000-2.030.000'; + var xp_char_10 = '1 010 000- 2.030.000'; + var xp_char_11 = '1 010 000 2.030.000'; + var xp_char_12 = 'abcde 10000 / 30000sdse'; + var invalidXP = 'abcdef'; + var blankXPField = ''; + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_1)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_2)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_3)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_4)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_4)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_5)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_5)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_6)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_6)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_7)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_7)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_8)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_8)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_9)[0], 1010000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_9)[1], 2030000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_10)[0], 1010000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_10)[1], 2030000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_11)[0], 10100002030000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_12)[0], 10000); + assert.strictEqual(SheetUtils.sanitizeXP(xp_char_12)[1], 30000); + assert.strictEqual(SheetUtils.sanitizeXP(invalidXP), null); + assert.strictEqual(SheetUtils.sanitizeXP(blankXPField).length, 0); +}); + +QUnit.test('Sheet Utils checks object path', function( assert ) { + var my_obj = { + ["teste teste"]: { + another: { + empty: "" + } + } + }; + var path_1 = "['teste teste']['another']['empty']"; + var path_2 = "['teste teste'].another.empty"; + var path_3 = "['teste teste'].another['empty']"; + var path_4 = "['teste teste'].noexisting['empty']"; + assert.equal(SheetUtils.checkPath(my_obj, path_1), true); + assert.equal(SheetUtils.checkPath(my_obj, path_1, true), false); + assert.equal(SheetUtils.checkPath(my_obj, path_2), true); + assert.equal(SheetUtils.checkPath(my_obj, path_2, true), false); + assert.equal(SheetUtils.checkPath(my_obj, path_3), true); + assert.equal(SheetUtils.checkPath(my_obj, path_3, true), false); + assert.equal(SheetUtils.checkPath(my_obj, path_4), false); + assert.equal(SheetUtils.checkPath(my_obj, path_4, true), false); +}); diff --git a/Brancalonia Official/src/js/dragndrop/DragAndDrop.js b/Brancalonia Official/src/js/dragndrop/DragAndDrop.js new file mode 100644 index 0000000000..c5cd6e7b6c --- /dev/null +++ b/Brancalonia Official/src/js/dragndrop/DragAndDrop.js @@ -0,0 +1,1294 @@ +const filterBlobs = function(blobs, filters) { + var remove = filters.multiclass ? "no" : "yes"; + var results = {}; + delete filters.multiclass; + delete filters.slide; + _.each(blobs, function(blob, name) { + var match = true; + if(blob.Group && !filters.Group && !filters.name) match = false; + _.each(filters, function(v, k) { + if(k == "name") { + if(name != v) match = false; + } else if(v[0] === "<" && !isNaN(parseInt(v.substring(1)))) { + let blobval = isNaN(parseInt(blob[k])) ? 0 : parseInt(blob[k]); + if(blobval > parseInt(v.substring(1))) match = false; + } else { + if(blob[k] != v) match = false; + } + }); + if(match && name.split("(")[0].toLowerCase() != "spell slots") results[name] = blob; + }); + _.each(results, function(blob, name) { + if(blob.Multiclass == remove) { + delete results[name]; + } + }); + return results; +}; + +on("change:drop_name", function(eventinfo) { + if(eventinfo.newValue === "Monsters") { + getAttrs(["class","race","speed","hp"], function(v) { + if(v["class"] != "" || v["race"] != "" || v["speed"] != "" || v["hp"] != "") { + setAttrs({monster_confirm_flag: 1}); + } + else { + handle_drop(eventinfo.newValue); + } + }); + } + else { + handle_drop(eventinfo.newValue); + } +}); + +var handle_drop = function(category, eventinfo) { + getAttrs(["speed", "hp_max", "hp", "drop_name", "drop_data", "drop_content", "character_id", "npc_legendary_actions", "strength_mod", "dexterity_mod", "npc", "base_level", "strength_base", "dexterity_base", "constitution_base", "wisdom_base", "intelligence_base", "charisma_base", "class_resource_name", "other_resource_name", "multiclass1_lvl", "multiclass2_lvl", "multiclass3_lvl"], function(v) { + var pagedata = {}; + try { + pagedata = JSON.parse(v.drop_data); + } catch(e) { + pagedata = v.drop_data; + } + var page = { + name: v.drop_name, + data: pagedata, + content: v.drop_content + }; + var category = page.data["Category"]; + get_repeating_data(function(repeating) { + var results = processDrop(page, v, repeating); + setAttrs(results.update, {silent: true}, function() {results.callbacks.forEach(function(callback) {callback(); })} ); + }); + + }); + +}; + +var processDrop = function(page, currentData, repeating, looped) { + var numUses = function(uses_string) { + uses_string = parseValues(uses_string); + + var terms = uses_string.split("+"); + var total = 0; + _.each(terms, function(term) { + total += parseInt(term); + }); + return uses_string === "" || uses_string === "-" ? uses_string : total; + }; + var parseValues = function(uses_string) { + var attribs = ["strength", "dexterity", "constitution", "wisdom", "intelligence", "charisma"]; + uses_string = uses_string ? uses_string.toLowerCase() : ""; + _.each(attribs, function(attrib) { + var attribMod = Math.floor((parseInt(currentData[attrib + "_base"]) - 10) / 2); + if (attribMod < 0 || isNaN(attribMod)) attribMod = 0; + uses_string = uses_string.replace(attrib, attribMod); + }); + uses_string = uses_string.replace(/half_level/g, Math.floor(classlevel/2)); + return uses_string.replace(/level/g, classlevel); + }; + const category = page.data["Category"]; + let callbacks = []; + let update = {}; + let blobs = {}; + let classlevel = currentData.base_level ? parseInt(currentData.base_level) : 1; + repeating.traits = repeating.traits ? repeating.traits : []; + ["drop_category", "drop_name", "drop_data", "drop_content"].forEach(attr => update[attr] = ""); + + const coreDrops = ['Classes', 'Backgrounds', 'Feats', 'Items', 'Proficiencies', 'Races', 'Subraces', 'Other Options and Features']; + if (coreDrops.includes(category)) { + update["tab"] = "core"; + } + + const assignUpdate = newData => Object.assign(update, newData); + + const processItems = () => { + try { + const itemType = page.data["Item Type"] ? page.data["Item Type"] : category; + const npc = currentData.npc === "0" ? false : true; + + if (!npc) { + let newObject = new Item(page.name) + + page.data["itemcount"] ? newObject.attributes.itemcount = page.data["itemcount"] : false; + + ["Properties", "Weight"].forEach(attribute => { + const attributeLowercase = attribute.toLowerCase(); + page.data[`${attribute}`] ? newObject.attributes[`item${attributeLowercase}`] = page.data[`${attribute}`] : false + }); + + page.content ? newObject.attributes.itemcontent = page.content : false; + + newObject.attributes.itemmodifiers = dropFunctions.buildItemModString(page) + + //ATTACK items such as Weapons + itemType.toLowerCase().includes('weapon') ? newObject.attributes.hasattack = 1 : false; + + if (page.data.AC && !looped) { + callbacks.push(() => update_ac() ); + } + + if (page.data.Modifiers && page.data.Modifiers != "") { + callbacks.push(() => { + check_itemmodifiers(page.data.Modifiers); + }); + }; + + //Create attacks for weapons. Create two attacks for versatile weapons such as Longsword. + if (newObject.attributes.hasattack === 1) { + callbacks.push(() => { + page.data["Alternate Damage"] && page.data["Alternate Damage"] !== "" ? create_attack_from_item(newObject.reprowid, {versatile: true}) : create_attack_from_item(newObject.reprowid); + }); + } + + if (itemType.toLowerCase() === "ammunition") { + newObject.attributes.useasresource = 1 + callbacks.push(() => { + create_resource_from_item(newObject.reprowid); + }); + } + + if (!looped) { + callbacks.push(() => { + update_weight(); + }); + } + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } else if (npc && itemType.toLowerCase().includes("weapon")) { + const properties = page.data["Properties"] ? page.data["Properties"].toLowerCase() : "none"; + let newObject = new NpcAction(page.name, 'npcaction') + newObject.addAttack() + + page.data['Item Type'] ? newObject.attributes.attack_type = page.data['Item Type'] : false; + page.content ? newObject.attributes.description = page.content : false; + + newObject.attributes.attack_tohit = dropFunctions.buildToHit(page, currentData) + + const damageModifiers = dropFunctions.inferAbilityModifier(page.data["Item Type"], page.data["Properties"], currentData) + newObject.attributes.attack_damage = dropFunctions.buildDamage(page, damageModifiers) + page.data["Damage Type"] ? newObject.attributes.attack_damagetype = page.data["Damage Type"] : false; + page.data["Secondary Damage"] && !page.name.includes('+') ? newObject.attributes.attack_damage2 = page.data["Secondary Damage"] : false; + page.data["Secondary Damage Type"] && !page.name.includes('+') ? newObject.attributes.attack_damagetype2 = page.data["Secondary Damage Type"] : false; + + properties.includes("versatile") ? newObject.attributes.name = `${newObject.attributes.name} (One-Handed)` : false + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + //Versatile creates two attacks + if (properties.includes("versatile") && (page.data["Alternate Damage"] || page.data["Secondary Damage"])) { + let alternateAttack = new NpcAction(`${page.name} (Two-Handed)`, 'npcaction'); + alternateAttack.addAttack() + alternateAttack.attributes.attack_type = newObject.attributes.attack_type; + alternateAttack.attributes.description = newObject.attributes.description; + + if (page.data["Alternate Damage"]) { + alternateAttack.attributes.attack_damage = dropFunctions.buildDamage(page, damageModifiers, page.data["Alternate Damage"]) + page.data["Alternate Damage Type"] ? alternateAttack.attributes.attack_damagetype = page.data["Alternate Damage Type"] : false; + page.data["Alternate Secondary Damage"] ? alternateAttack.attributes.attack_damage2 = page.data["Alternate Secondary Damage"] : false; + page.data["Alternate Secondary Damage Type"] ? alternateAttack.attributes.attack_damagetype2 = page.data["Alternate Secondary Damage Type"] : false; + } else { + alternateAttack.attributes.attack_damage = dropFunctions.buildDamage(page, damageModifiers, page.data["Secondary Damage"]) + } + + assignUpdate(dropFunctions.updateSheetAttributes(alternateAttack)); + } + + if (properties.includes("thrown")) { + let thrownAttack = new NpcAction(`${page.name} (Thrown)`, 'npcaction'); + thrownAttack.addAttack() + page.data["Range"] ? thrownAttack.attributes.attack_range = page.data["Range"] : false; + thrownAttack.attributes.attack_type = "Range Weapon"; + + ['description', 'attack_tohit', 'attack_damage', 'attack_damagetype', 'attack_damage2', 'attack_damagetype2'].forEach(attr => { + thrownAttack.attributes[`${attr}`] = newObject.attributes[`${attr}`] + }) + + assignUpdate(dropFunctions.updateSheetAttributes(thrownAttack)); + } + + if (page.data.Modifiers) { + callbacks.push(() => { check_itemmodifiers(page.data.Modifiers); }, () => { update_npc_action("all"); }); + } else { + callbacks.push(() => { update_npc_action("all"); }); + }; + } else { + warningMessage('processItems', `Only weapon drops are supported for npcs. For npcs, "Item Type" in the Compendium must include the word "weapon".`); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processSpells = () => { + try { + if(page.name) { + const spellLevel = page.data["Level"] && page.data["Level"] > 0 ? page.data["Level"] : "cantrip"; + const section = `spell-${spellLevel}` + let existing = {id: false}; + + for (let [key, value] of Object.entries(repeating[`${section}`])) { + value.spellname === page.name ? existing.spellattackid = value.spellattackid : false; + value.spellname === page.name ? existing.id = key: false; + if(value.spellname === page.name) { + ['spellsource', 'innate'].forEach(attributeToKeep => { + if(repeating[`${section}`][key][attributeToKeep]) existing[attributeToKeep] = repeating[`${section}`][key][attributeToKeep]; + }); + } + } + + + let newObject = new Spell(page.name, section, existing.id); + newObject.attributes.spelllevel = spellLevel; + + const dropSheetAssocitation = { + spelldescription: page.data['data-description'], + spellschool: page.data['School'].toLowerCase(), + spellclass: page.data['spellclass'], + spellsource: (existing.spellsource) ? existing.spellsource : page.data['spellsource'], + spellritual: page.data['Ritual'], + spelldmgmod: page.data['Add Casting Modifier'], + spellcomp_materials: page.data['Material'], + spelldamage2: page.data['Secondary Damage'], + spellcastingtime: page.data['Casting Time'], + spelldamagetype: page.data['Damage Type'], + spelldamage: page.data['Damage'], + spellduration: page.data['Duration'], + spellhealing: page.data['Healing'], + spellrange: page.data['Range'], + spellsave: page.data['Save'], + spellsavesuccess: page.data['Save Success'], + spelldamagetype2: page.data['Secondary Damage Type'], + spelltarget: page.data['Target'], + spellhlbonus: page.data['Higher Spell Slot Bonus'], + spellathigherlevels: page.data['Higher Spell Slot Desc'], + spellhldie: page.data['Higher Spell Slot Dice'], + spellhldietype: page.data['Higher Spell Slot Die'], + spellattack: page.data['Spell Attack'] + } + + for (let [key, value] of Object.entries(dropSheetAssocitation)) { + value ? newObject.attributes[`${key}`] = value : false; + } + + page.data['Spellcasting Ability'] ? newObject.attributes.spell_ability = `@{${page.data['Spellcasting Ability'].toLowerCase()}_mod}+` : false; + page.data['Concentration'] ? newObject.attributes.spellconcentration = '{{concentration=1}}' : false; + if(existing.innate) { + newObject.attributes.innate = existing.innate; + } else { + page.data['Innate'] ? newObject.attributes.innate = page.data['Innate'] : false; + } + + if (page.data['Components']) { + ['v', 's', 'm'].forEach(component => { + const componentCheck = dropFunctions.determineComponent(page.data['Components'], component) + newObject.attributes[`spellcomp_${component}`] = componentCheck ? componentCheck : 0; + }) + } + + if (page.data['Damage'] || page.data['Healing']) { + newObject.attributes.spelloutput = 'ATTACK' + + callbacks.push(() => { + create_attack_from_spell(spellLevel, newObject.reprowid, currentData.character_id, existing.spellattackid); + }); + } + + + if (newObject.attributes.spelloutput != 'ATTACK' && page.data['Higher Spell Slot Desc']) { + newObject.attributes.rollcontent = dropFunctions.buildSpellQuery(page.data['Level']); + } + + //Character sheet accepts 'dice', 'beam', or none + if (page.data['data-Cantrip Scaling']) { + const validateCantripScaling = dropFunctions.validateCantripScaling(page.data['data-Cantrip Scaling']) + if (validateCantripScaling) { + newObject.attributes.spell_damage_progression = dropFunctions.buildCantripScaling(page.data['data-Cantrip Scaling']) + } else { + newObject.attributes.spell_damage_progression = '' + } + } + const assignedRowID = (newObject.reprowid) ? newObject.reprowid : generateRowID(); + repeating[`${section}`][assignedRowID] = { spellname: page.name }; + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processMonsters = () => { + try { + let newObject = new Npc(page.name); + newObject.addSkills(globalAttributesByCategory.skills.all()) + newObject.addSaves(globalAttributesByCategory.abilities) + + globalAttributesByCategory.abilities.forEach(ability => { + const abbreviation = ability.slice(0, 3).toUpperCase(); + page.data[`${abbreviation}`] ? newObject.attributes[`${ability}_base`] = page.data[`${abbreviation}`] : false; + callbacks.push(() => { + update_attr(`${ability}`); + }); + }); + + const dropSheetAssocitation = { + token_size: page.data["Token Size"], + npc_condition_immunities: page.data["Condition Immunities"], + npc_immunities: page.data["Immunities"], + npc_languages: page.data["Languages"], + npc_vulnerabilities: page.data["Vulnerabilities"], + npc_resistances: page.data["Resistances"], + npc_speed: page.data["Speed"], + npc_challenge: page.data["Challenge Rating"], + } + + for (let [key, value] of Object.entries(dropSheetAssocitation)) { + value ? newObject.attributes[`${key}`] = value : false; + } + + page.data["data-XP"] ? newObject.attributes.npc_xp = page.data["data-XP"].toString().replace(",","") : false + + Object.assign(newObject.attributes, dropFunctions.inferSavingThrows(page.data['Saving Throws'])) + Object.assign(newObject.attributes, dropFunctions.inferSkills(page.data['Skills'])) + + newObject.attributes.npc_type = dropFunctions.buildType(page.data["Size"], page.data["Type"], page.data["Alignment"]) + + newObject.attributes.npc_senses = dropFunctions.buildSenses(page.data['Senses'], page.data['Passive Perception']) + + page.data['AC'] ? newObject.attributes.npc_ac = dropFunctions.inferBaseAttribute(page.data['AC']) : false; + page.data['AC'] ? newObject.attributes.npc_actype = dropFunctions.inferFormulaAttribute(page.data['AC']) : false; + + page.data['HP'] ? newObject.attributes.hp_max = dropFunctions.inferBaseAttribute(page.data['HP']) : false; + page.data['HP'] ? newObject.attributes.npc_hpformula = dropFunctions.inferFormulaAttribute(page.data['HP']) : false; + + const npcRepeating = ['npcaction-l', 'npcreaction', 'npcaction', 'npctrait']; + _.each(npcRepeating, section => { + getSectionIDs(`repeating_${section}`, idarray => { + _.each(idarray, (currentID, i) => { + removeRepeatingRow(`repeating_${section}_${currentID}`); + }); + }); + }); + + if (page.data["data-Legendary Actions"]) { + const actionCount = page.data["data-LANum"] ? page.data["data-LANum"] : 3; + newObject.attributes.npc_legendary_actions = actionCount + + if (page.data["Legendary Actions Desc"]) { + newObject.attributes.npc_legendary_actions_desc = page.data["Legendary Actions Desc"]; + } else { + newObject.attributes.npc_legendary_actions_desc = `The ${page.name} can take ${actionCount}, choosing from the options below. Only one legendary option can be used at a time and only at the end of another creature's turn. The ${page.name} regains spent legendary actions at the start of its turn.` + } + } + + if (page.data["data-Mythic Actions"]) { + newObject.attributes.npc_mythic_actions = 1 + + if (page.data["data-MAdesc"]) { + newObject.attributes.npc_mythic_actions_desc = page.data["data-MAdesc"]; + } else { + //TODO UC1098 + newObject.attributes.npc_legendary_actions_desc = ``; + } + } + + ["Actions", "Legendary Actions", "Mythic Actions"].forEach(attr => { + if (page.data[`data-${attr}`]) { + const fieldsetLookup = { + "Actions": "npcaction", + "Legendary Actions": "npcaction-l", + "Mythic Actions": "npcaction-m" + } + const repeatingFieldset = fieldsetLookup[attr]; + const actions = dropFunctions.jsonParse(page.data[`data-${attr}`]) + actions.forEach(action => { + let newAction = new NpcAction(action['Name'], repeatingFieldset); + + action["Desc"] ? newAction.attributes.description = action["Desc"] : false; + + if (action["Type Attack"]) { + newAction.addAttack() + const dropSheetAttackAssocitation = { + attack_damagetype: action['Damage Type'], + attack_damage: action['Damage'], + attack_tohit: action['Hit Bonus'], + attack_range: action['Reach'], + attack_target: action['Target'], + attack_type: action['Type'], + attack_damage2: action['Damage 2'], + attack_damagetype2: action['Damage 2 Type'] + } + + for (let [key, value] of Object.entries(dropSheetAttackAssocitation)) { + value ? newAction.attributes[`${key}`] = value : false; + } + } + + assignUpdate(dropFunctions.updateSheetAttributes(newAction)); + }); + } + }); + + + if (page.data["data-Reactions"]) { + newObject.attributes.npcreactionsflag = 1 + const reactions = dropFunctions.jsonParse(page.data[`data-Reactions`]) + reactions.forEach(reaction => { + let newReaction = new NpcReaction(reaction['Name']); + reaction["Desc"] ? newReaction.attributes.description = reaction["Desc"] : false; + assignUpdate(dropFunctions.updateSheetAttributes(newReaction)); + }) + } + + if (page.data["data-Traits"]) { + const traits = dropFunctions.jsonParse(page.data[`data-Traits`]) + + traits.forEach(trait => { + let newTrait = new NpcTraits(trait['Name']); + trait["Desc"] ? newTrait.attributes.description = trait["Desc"] : false; + + if (trait.Name.match(/(?!innate )(?:^.{0,6}|.{7})(spellcasting)/i)) { + let spellCastingAbility = page.data["Spellcasting Ability"]; + + if (spellCastingAbility) { + spellCastingAbility = `@{${spellCastingAbility.toLowerCase()}_mod}+` + } else { + spellCastingAbility = dropFunctions.inferSpellcastingAbility(newTrait.attributes.description) + } + + const casterLevels = dropFunctions.inferCasterLevel(trait['Desc']); + newObject.addSpellcaster(spellCastingAbility, casterLevels) + + callbacks.push(() => update_pb()); + callbacks.push(() => update_spell_slots()); + } else if (trait.Name.match(/innate spellcasting/i)) { + let spellCastingAbility = page.data["Spellcasting Ability"]; + newObject.addInnateCaster() + + spellCastingAbility ? newObject.attributes.spellcasting_ability = `@{${spellCastingAbility.toLowerCase()}_mod}+` : false; + } + + assignUpdate(dropFunctions.updateSheetAttributes(newTrait)); + }) + } + + if (page.data["data-Spells"]) { + const spellList = dropFunctions.buildSpellList(page.data["data-Spells"]); + getCompendiumPage(spellList, compendiumPages => { + compendiumPages = removeDuplicatedPageData(compendiumPages); + compendiumPages = Array.isArray(compendiumPages) ? compendiumPages : [compendiumPages]; + const innateSpellLists = dropFunctions.jsonParse(page.data["data-Spells"])[`innate`] || false; + let spellUpdate = {}, spellCallbacks = []; + + compendiumPages.forEach(spellPage => { + const processedSpell = processDrop(spellPage, currentData, repeating); + Object.assign(spellUpdate, processedSpell.update); + processedSpell.callbacks.forEach(callback => spellCallbacks.push(callback)); + }); + + if (innateSpellLists) { + //Search each keys in INNATE to see if spell name === one of the Values + for (let [innateKey, innateValue] of Object.entries(innateSpellLists)) { + innateValue.forEach(spellName => { + for (let [key, value] of Object.entries(spellUpdate)) { + if (key.includes('_spellname') && (value === spellName || value.toLowerCase() === spellName)) { + const repeatingRow = key.split('_spellname')[0]; + spellUpdate[`${repeatingRow}_innate`] = innateKey + } + } + }); + }; + }; + + setAttrs(spellUpdate, {silent: true}, () => { + spellCallbacks.forEach(callback => { + callback(); + }); + }); + }); + } + + //Call backs + if (page.data["Saving Throws"]) { + callbacks.push(() => update_npc_saves() ); + }; + + if (page.data["Skills"]) { + callbacks.push(() => update_npc_skills() ); + }; + + if (page.data[`data-Actions`]) { + callbacks.push(() => update_npc_action("all")) + } + + if (update["npc_challenge"]) { + callbacks.push(() => update_challenge() ); + }; + + globalAttributesByCategory.abilities.forEach(ability => { + callbacks.push(() => update_attr(`${ability}`) ); + }); + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } catch (error) { + errorMessage(page.name, error); + } + } + + const processFeats = () => { + try { + const match = {name: page.name}; + let existing = _.findWhere(repeating.traits, match); + existing = existing ? existing : {}; + + let newObject = new Trait(page.name, existing.id || false); + newObject.attributes.description = page.data['data-Description'] || page.content + newObject.attributes.source = newObject.determineSource(category) + newObject.attributes.source_type = page.data["Properties"] || "" + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + existing = dropHelpers.updateRepeatingTraits(newObject, existing) + existing ? false : repeating.traits.push(existing); + } catch (error) { + errorMessage(page.name, error); + } + } + + const processProficiencies = () => { + try { + const proficiencies = globalAttributesByCategory.proficiencyTypes; + const tools = ["tool", "skillcustom"]; + let type = page.data["Type"] || ""; + type = proficiencies.includes(type.toUpperCase()) ? 'proficiencies' : tools.includes(type.toLowerCase()) ? 'tool' : type.toLowerCase() === 'skill' ? 'skill' : false; + + if (type === 'proficiencies') { + if (repeating.prof_names.indexOf(page.name.toLowerCase()) == -1) { + let newObject = new Proficiency(page.name) + proficiencies.includes(page.data["Type"].toUpperCase()) ? newObject.attributes.prof_type = page.data["Type"].toUpperCase() : false; + repeating.prof_names.push(page.name.toLowerCase()); + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } + } else if (type === 'tool') { + let existing = {id: false}; + existing.id = dropHelpers.findToolId(repeating.tool, page.name) + + let newObject = new ToolProficiency(page.name, existing.id) + page.data["toolbonus_base"] ? newObject.attributes.toolbonus_base = "(@{pb}*2)" : false; + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + existing = dropHelpers.updateRepeatingTools(newObject, existing) + repeating.tool[newObject.reprowid] = existing + repeating.prof_names.push(page.name.toLowerCase()); + + //Updates the displays for the tool... + callbacks.push(() => { + update_tool(newObject.reprowid); + }); + } else if (type === 'skill') { + let newObject = new Skill(page.name) + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } else { + warningMessage(`${page.data["Type"]}`, `No an approved type. Accepted types are skill, ${proficiencies.concat(tools).join(' ,')}. Update compendium "Type".`); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processClass = () => { + try { + if (page.data.multiclass) { + if(page.name && page.name !== "") { update[page.data.multiclass] = page.name; } + update[page.data.multiclass + "_flag"] = "1"; + classlevel = parseInt(currentData[page.data.multiclass + "_lvl"]); + } else { + let newObject = new Class(page.name); + + if (page.data["Hit Die"] && page.data["Hit Die"] !== "") { + currentData.base_level ? newObject.attributes.base_level = currentData.base_level : false; + newObject.attributes.hit_dice_max = newObject.attributes.base_level + page.data["Hit Die"]; + newObject.attributes.hitdietype = page.data["Hit Die"].replace(/[^0-9]/g, ''); + newObject.attributes.hit_dice = newObject.attributes.base_level; + } + + const spellcastingAbility = page.data["Spellcasting Ability"] ? page.data["Spellcasting Ability"].toLowerCase() : false; + if (spellcastingAbility && globalAttributesByCategory.abilities.includes(spellcastingAbility)) { + newObject.attributes.spellcasting_ability = newObject.buildSpellcastingAbility(spellcastingAbility); + } + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } + + if (page.data["data-Saving Throws"] && !page.data.multiclass) { + const saves = dropFunctions.jsonParse(page.data["data-Saving Throws"]); + saves.forEach(value => { + const save = new SavingThrow(value); + assignUpdate(dropFunctions.updateSheetAttributes(save)); + }); + } + + if(!looped) { + callbacks.push(update_class); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processSubclasses = () => { + try { + const lowercaseClass = page.data.Class.toLowerCase(); + if (page.data.multiclass) { + update[`${page.data.multiclass}_subclass`] = page.name; + classlevel = parseInt(currentData[`${page.data.multiclass}_lvl`]); + if (page.data["Spellcasting Ability"] && (lowercaseClass === 'fighter' || lowercaseClass === 'rogue')) { + update[`"arcane_${lowercaseClass}`] = "1"; + } + } else { + let newObject = new Subclass(page.name); + const spellcastingAbility = page.data["Spellcasting Ability"] ? page.data["Spellcasting Ability"].toLowerCase() : false; + if (spellcastingAbility && globalAttributesByCategory.abilities.includes(spellcastingAbility)) { + newObject.attributes.spellcasting_ability = newObject.buildSpellcastingAbility(spellcastingAbility); + if(newObject.checkArcane(lowercaseClass)) newObject.attributes[`arcane_${lowercaseClass}`] = 1; + } + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } + + if (!looped) { + callbacks.push(update_class); + }; + } catch (error) { + errorMessage(page.name, error); + } + } + + const processRaces = () => { + try { + let newObject = new Race(page.name) + + page.data['Size'] && page.data['Size'] != 'Medium' ? newObject.attributes.size = page.data['Size'] : false + page.data['Speed'] && page.data['Speed'] != 30 ? newObject.attributes.speed = page.data['Speed'] : false + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + if (!looped) { + callbacks.push(update_race_display); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processSubraces = () => { + try { + let newObject = new Subrace(page.name) + page.data['Size'] && page.data['Size'] ? newObject.attributes.size = page.data['Size'] : false + page.data['Speed'] && page.data['Speed'] ? newObject.attributes.speed = page.data['Speed'] : false + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + if (!looped) { + callbacks.push(update_race_display); + } + } catch (error) { + errorMessage(page.name, error); + } + } + + const processOtherOptionsAndFeatures = () => { + //Do nothing... + } + + const processBackgrounds = () => { + try { + update["background"] = page.name; + } catch (errorMessage) { + errorMessage(page.name, error); + } + } + + console.log(category) + + switch(category) { + case "Backgrounds": + processBackgrounds(); + break; + case "Classes": + processClass(); + break; + case "Feats": + processFeats(); + break; + case "Items": + processItems(); + break; + case "Monsters": + processMonsters(); + break; + case "Proficiencies": + processProficiencies(); + break; + case "Spells": + processSpells(); + break; + case "Subclasses": + processSubclasses(); + break; + case "Races": + processRaces(); + break + case "Subraces": + processSubraces(); + break; + case "Other Options and Features": + processOtherOptionsAndFeatures(); + break; + default: + errorMessage(category, `category does not match one of the drop functions conditions.`); + } + + if (page.data.theseblobs) { + _.each(page.data.theseblobs, function(blobname) { + if(page.data.blobs[blobname]) blobs[blobname] = page.data.blobs[blobname]; + }); + } else { + if(category === "Other Options and Features") { + blobs = page.data.blobs; + } else { + blobs = filterBlobs(page.data.blobs, {"Level": "1"}); + } + } + + for (let [blobName, blob] of Object.entries(blobs)) { + if (blob["Traits"]) { + try { + const traitArray = dropFunctions.jsonParse(blob["Traits"]); + if (traitArray && traitArray.length) { + traitArray.forEach(trait => { + if (!trait.Input) { + let match = {name: trait["Name"], type: page.name}; + if (trait["Replace"]) { + match = {name: trait["Replace"]}; + } + let existing = _.findWhere(repeating.traits, match); + existing = existing ? existing : {}; + + let newObject = new Trait(trait["Name"].replace(/{{Input}}/g, ""), existing.id || false); + newObject.attributes.source = newObject.determineSource(category) + trait["Desc"] ? newObject.attributes.description = trait["Desc"].replace(/{{Input}}/g, "") : false + page.name ? newObject.attributes.source_type = removeExpansionInfo(page.name) : false + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + existing = dropHelpers.updateRepeatingTraits(newObject, existing) + existing ? false : repeating.traits.push(existing); + + if (trait["Name"] === "Reliable Talent") { + update["reliable_talent"] = "10"; + } + + else if (trait["Name"] === "Powerful Build") { + update["powerful_build"] = "1"; + }; + } + }); + }; + } catch (error) { + errorMessage(trait.Name, error) + } + } + + ["Language Proficiency", "Weapon Proficiency", "Armor Proficiency"].forEach(proficiencyType => { + try { + const proficiencyArray = blob[`${proficiencyType}`] ? dropFunctions.jsonParse(blob[`${proficiencyType}`]) : false + if (proficiencyArray && proficiencyArray["Proficiencies"]) { + proficiencyArray["Proficiencies"].forEach(proficiency => { + if (repeating.prof_names.indexOf(proficiency.toLowerCase()) == -1) { + let newObject = new Proficiency(proficiency) + newObject.attributes.prof_type = proficiencyType.split(" Proficiency")[0].toUpperCase() + repeating.prof_names.push(proficiency.toLowerCase()); + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } + }) + } + } catch (error) { + errorMessage(proficiencyType, error) + } + }) + + if (blob["Tool Proficiency"]) { + try { + const toolArray = dropFunctions.jsonParse(blob["Tool Proficiency"]); + if(toolArray["Proficiencies"] && toolArray["Proficiencies"].length) { + toolArray["Proficiencies"].forEach(proficiency => { + let existing = {id: false} + existing.id = dropHelpers.findToolId(repeating.tool, proficiency) + + let newObject = new ToolProficiency(proficiency, existing.id) + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + existing = dropHelpers.updateRepeatingTools(newObject, existing) + repeating.tool[newObject.reprowid] = existing + repeating.prof_names.push(page.name.toLowerCase()); + + //Updates the displays for the tool... + callbacks.push(() => { + update_tool(newObject.reprowid); + }); + }) + } + } catch (error) { + errorMessage("Tool Proficiency", error) + } + } + + if (blob["Skill Proficiency"]) { + try { + const skillArray = dropFunctions.jsonParse(blob["Skill Proficiency"]); + if (skillArray["Proficiencies"] && skillArray["Proficiencies"].length) { + skillArray["Proficiencies"].forEach(proficiency => { + let newObject = new Skill(proficiency); + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + }); + callbacks.push(() => { + update_skills(["athletics", "acrobatics", "sleight_of_hand", "stealth", "arcana", "history", "investigation", "nature", "religion", "animal_handling", "insight", "medicine", "perception", "survival","deception", "intimidation", "performance", "persuasion"]); + }); + }; + } catch (error) { + errorMessage("Skill Proficiency", error) + } + } + + if (blob["Global Damage"]) { + try { + const dmgmod = dropFunctions.jsonParse(blob["Global Damage"]) + let existing = {} + + for (let [key, value] of Object.entries(repeating.damagemod)) { + value.toLowerCase() === dmgmod["Name"].toLowerCase() ? existing.id = key : false + } + + let newObject = new GlobalDamage(dmgmod["Name"], existing.id || false) + newObject.attributes.global_damage_damage = `${parseValues(dmgmod["Damage"])}` + dmgmod["Active"] == "true" ? newObject.attributes.global_damage_active_flag = 1 : false + newObject.attributes.global_damage_type = dmgmod["Type"] ? dmgmod["Type"] : dmgmod["Name"]; + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + update["global_damage_mod_flag"] = "1"; + + repeating.damagemod[newObject.reprowid] = dmgmod["Name"]; + } catch (error) { + errorMessage("Global Damage", error) + } + } + + if (blob["Actions"]) { + try { + let actionsObject = {} + dropFunctions.jsonParse(blob["Actions"]).forEach(value => actionsObject[value.Name] = value) + + for (let [actionName, action] of Object.entries(actionsObject)) { + let existing = {} + + for (let [key, value] of Object.entries(repeating.attack)) { + value.atkname === actionName ? existing.id = key : false + } + + let newObject = new Attack(actionName, existing.id || false) + action["Desc"] ? newObject.attributes.atk_desc = action["Desc"] : false + + if (action["Type Attack"]) { + if (action["Type"] === "Spell") { + newObject.attributes.atkflag = 0 + newObject.addSaveFlag() + } + + action["Reach"] ? newObject.attributes.atkrange = action["Reach"] : false + action["Damage"] ? newObject.attributes.dmgbase = action["Damage"] : false + !action["Damage"] ? newObject.attributes.dmgflag = 0 : false; + action["Damage Type"] ? newObject.attributes.dmgtype = action["Damage Type"] : false + + if (action["Modifier"]) { + if (action["Modifier"] === "FIN") { + newObject.checkFinesse(parseInt(currentData.strength_base), parseInt(currentData.dexterity_base)) + } else { + const actionModifier = dropFunctions.convertAbbreviationToAttribute(action["Modifier"]) + actionModifier && actionModifier != newObject.attributes.dmgattr ? newObject.attributes.dmgattr = actionModifier : false + actionModifier && actionModifier != newObject.attributes.atkattr_base ? newObject.attributes.atkattr_base = actionModifier : false + } + } else { + newObject.attributes.dmgattr = 0; + } + + action["Save"] ? newObject.attributes.saveattr = action["Save"] : false + action["Save Effect"] ? newObject.attributes.saveeffect = action["Save Effect"] : false + + if (action["Save DC"]) { + const saveDCModifier = dropFunctions.convertAbbreviationToAttribute(action["Save DC"]) + newObject.attributes.savedc = `(@{saveflat})`; + newObject.attributes.saveflat = `(8+@{pb}+${saveDCModifier})`; + } + + if (action["Damage 2"] && action["Damage 2 Type"]) { + newObject.attributes.dmg2flag = '{{damage=1}} {{dmg2flag=1}}' + newObject.attributes.atk_dmg2base = action["Damage 2"] + newObject.attributes.attack_damagetype2 = action["Damage 2 Type"] + + if (action["Modifier 2"]) { + newObject.attributes.dmg2attr = dropFunctions.convertAbbreviationToAttribute(action["Modifier 2"]) + } else { + newObject.attributes.dmgattr = 0 + } + } + } + + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + + repeating.attack[`${newObject.reprowid}`] = {atkname: newObject.attributes.atkname} + + callbacks.push(() => { + do_update_attack([`${newObject.reprowid}`]); + }); + } + } catch (error) { + errorMessage("Actions", error) + } + } + + if (blob["Resources"]) { + try { + const resourcesArray = dropFunctions.jsonParse(blob["Resources"]) + resourcesArray.forEach(resource => { + let section = undefined; + + const findCurrentResource = resourceName => { + if (currentData["class_resource_name"] === resourceName) { + return "class_resource" + } else if (currentData["other_resource_name"] === resourceName) { + return "other_resource" + } else { + for (let [repeatingIDKey, repeatingValue] of Object.entries(repeating.resource)) { + return Object.values(repeatingValue).includes(resourceName) ? repeatingIDKey : false + } + } + } + + //Testing this funtion to find an empty resource + const findEmptyResource = () => { + if (currentData["class_resource_name"].length === 0) { + return "class_resource" + } else if (currentData["other_resource_name"].length === 0) { + return "other_resource" + } else { + let foundEmptyString = false + for (let [repeatingIDKey, repeatingValue] of Object.entries(repeating.resource)) { + if (repeatingValue.left.length === 0) { + return `repeating_resource_${repeatingIDKey}_resource_left` + } else if (repeatingValue.right.length === 0) { + return `repeating_resource_${repeatingIDKey}_resource_right` + } else { + foundEmptyString = false + } + } + + return foundEmptyString + } + } + + let matchResource = findCurrentResource(resource.Name) + + if (matchResource) { + if (matchResource === "class_resource" || matchResource === "other_resource") { + section = matchResource + } else { + const repeatingSide = repeating.resource[matchResource].left === resource.Name ? "left" : "right" + section = `repeating_resource_${matchResource}_resource_${repeatingSide}` + } + } else { + section = findEmptyResource() + } + + //Section will be true if a repeating entry matches resource.Name or is has an empty side || + //class/other_resource match the resource.Name or are empty + if (section) { + update[`${section}_name`] = resource.Name + if (resource.Uses) update[section] = numUses(resource.Uses) + update[`${section}_max`] = resource.Max ? numUses(resource.Max) : numUses(resource.Uses) + + if (section === "class_resource" || section === "other_resource") { + currentData[`${section}_name`] = resource.Name + } else { + const sectionRepeatingId = section.split('_resource_')[1] + const sectionSide = section.includes('left') ? 'left' : 'right' + repeating.resource[`${sectionRepeatingId}`][sectionSide] = resource.Name + } + } else { + const newResource = new Resource(resource.Name) + newResource.attributes.resource_left = resource.Uses ? numUses(resource.Uses) : 0 + newResource.attributes.resource_left_max = resource.Max ? numUses(resource.Max) : newResource.attributes.resource_left + assignUpdate(dropFunctions.updateSheetAttributes(newResource)) + + const addRepeating = { + [`${newResource.reprowid}`]: { + left: resource.Name, + right: '' + } + } + Object.assign(repeating.resource, addRepeating) + } + }) + } catch (error) { + errorMessage("Resources", error) + } + } + + if (blob["Custom AC"]) { + try { + const parsedKey = dropFunctions.jsonParse(blob["Custom AC"]); + update["custom_ac_flag"] = "1"; + update["custom_ac_base"] = parsedKey.Base; + update["custom_ac_part1"] = parsedKey["Attribute 1"]; + update["custom_ac_part2"] = parsedKey["Attribute 2"] ? parsedKey["Attribute 2"] : ""; + update["custom_ac_shield"] = parsedKey.Shields; + if(!looped) { + callbacks.push( function() {update_ac();} ) + } + } catch (error) { + errorMessage("Custom AC", error) + } + } + + if (blob["Hit Points Per Level"]) { + try { + const parsedKey = dropFunctions.jsonParse(blob["Hit Points Per Level"]) + let existing = {} + for (let [key, value] of Object.entries(repeating.hpmod)) { + value.source === blobName ? existing.id = key : false + } + + let newObject = new HPMod(blobName, existing.id || false) + newObject.attributes.mod = blob["Hit Points Per Level"] + newObject.attributes.source = blobName + newObject.attributes.levels = category === "Races" || category === "Subraces" ? 'total' : 'base' + assignUpdate(dropFunctions.updateSheetAttributes(newObject)); + } catch (error) { + errorMessage("Hit Points Per Level", error) + } + } + + if (blob["Hit Points Bonus"]) { + let prevHp = update["hp"] || currentData["hp"]; + let prevHpMax = update["hp_max"] || currentData["hp_max"]; + prevHp = prevHp && !isNaN(parseInt(prevHp)) ? parseInt(prevHp) : 0; + prevHpMax = prevHpMax && !isNaN(parseInt(prevHpMax)) ? parseInt(prevHpMax) : 0; + update["hp"] = prevHp + parseInt(blob["Hit Points Bonus"]); + update["hp_max"] = prevHpMax + parseInt(blob["Hit Points Bonus"]); + } + + ["Global AC Mod", "Global Save", "Global Attack"].forEach(globalType => { + try { + if (blob[globalType]) { + const globalShortName = globalType.includes("Attack") ? "attack" : globalType.includes("Save") ? "save" : "ac"; + const repeatingKey = globalShortName === "attack" ? "tohitmod" : globalShortName === "save" ? "savemod" : "acmod"; + + const parsedKey = dropFunctions.jsonParse(blob[`${globalType}`]); + let existing = {id: false} + for (let [key, value] of Object.entries(repeating[`${repeatingKey}`])) { + value.includes(blobName) ? existing.id = key : false + } + + let newObject = {}; + if (globalType === "Global AC Mod") { + newObject = new GlobalACMod(parsedKey.Name, existing.id) + newObject.attributes.global_ac_val = parsedKey.Bonus + } else if (globalType === "Global Save") { + newObject = new GlobalSave(parsedKey.Name, existing.id) + newObject.attributes.global_save_roll = parsedKey.Bonus + } else { + newObject = new GlobalAttack(parsedKey.Name, existing.id) + newObject.addRoll(parsedKey.Bonus) + } + + parsedKey.Active !== "false" ? newObject.attributes[`global_${globalShortName}_active_flag`] = 1 : false + assignUpdate(dropFunctions.updateSheetAttributes(newObject)) + + update[`global_${globalShortName}_mod_flag`] = "1" + } + } catch (error) { + errorMessage(`${globalType}`, error) + } + }) + + if (blob["Initiative"]) { + if (blob["Initiative"].toLowerCase() === "advantage") { + update["initiative_style"] = "{@{d20},@{d20}}kh1"; + } else if (blob["Initiative"].toLowerCase() === "disadvantage") { + update["initiative_style"] = "{@{d20},@{d20}}kl1"; + } else { + update.initmod = numUses(blob["Initiative"]); + } + } + + if (blob["Carry Multiplier"]) { + update["carrying_capacity_mod"] = `*${blob["Carry Multiplier"]}` + } + + if (blob["Speed"]) { + try { + if (blob["Speed"][0] === "+") { + let prevspeed = update["speed"] || currentData["speed"]; + prevspeed = prevspeed && !isNaN(parseInt(prevspeed)) ? parseInt(prevspeed) : 0; + update["speed"] = prevspeed + parseInt(blob["Speed"]); + } else { + update["speed"] = parseInt(blob["Speed"]); + } + } catch (error) { + errorMessage("Speed", error) + } + } + + if (blob["Jack of All Trades"]) { + update["jack_of_all_trades"] = "@{jack}"; + } + + if (blob["Global Save Mod"]) { + update["globalsavemod"] = numUses(blob["Global Save Mod"]); + } + + if (blob["Saving Throws"]) { + try { + const parsedArray = dropFunctions.jsonParse(blob["Saving Throws"]) + parsedArray.forEach(value => { + const save = new SavingThrow(value); + assignUpdate(dropFunctions.updateSheetAttributes(save)); + }) + } catch (error) { + errorMessage("Saving Throws", error) + } + } + + if (blob["Proficiency Bonus"]) { + try { + const parsedBonus = dropFunctions.jsonParse(blob["Proficiency Bonus"]) + for (let [key, value] of Object.entries(parsedBonus)) { + update[`${key.replace(/ /g, "_").toLowerCase()}_flat`] = numUses(value); + } + update_skills(["athletics", "acrobatics", "sleight_of_hand", "stealth", "arcana", "history", "investigation", "nature", "religion", "animal_handling", "insight", "medicine", "perception", "survival","deception", "intimidation", "performance", "persuasion"]); + } catch (error) { + errorMessage("Proficiency Bonus", error) + } + } + + if (blob["Spells"]) { + try { + let spells = dropFunctions.jsonParse(blob["Spells"]); + let spellUpdate = {}, spellCallbacks = []; + let spellPages = []; + spells.forEach(spell => { + if(spell.Name) spellPages.push(spell.Name); + if(spell.Known) spellPages = spellPages.concat(spell.Known); + }); + spellPages = Array.from(new Set(spellPages)); + + getCompendiumPage(spellPages, spellData => { + var inSpellBook = function(name) { + let found = false; + const spellRepeating = ["cantrip", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + spellRepeating.forEach(spellLevel => { + if(found) return; + if(repeating[`spell-${spellLevel}`]) { + Object.keys(repeating[`spell-${spellLevel}`]).forEach(entry => { + if(repeating[`spell-${spellLevel}`][entry]['spellname'] === name) { + found = true; + return; + } + }); + } + }); + return found; + }; + spellData = removeDuplicatedPageData(spellData); + spells.forEach(spellInformation => { + if(spellInformation.Known) { + spellInformation.Known.forEach(s => { + if(!inSpellBook(s)) { + const mockPage = { + name: s, + data: { + "Category": "Spells" + } + } + const pageData = (Array.isArray(spellData)) ? spellData.filter(entry => { return entry['name'] === s})[0] : spellData; + if(pageData) { + Object.assign(mockPage.data, pageData.data); + Object.assign(mockPage.data, spellInformation); + const processedSpell = processDrop(mockPage, currentData, repeating); + Object.assign(spellUpdate, processedSpell.update); + processedSpell.callbacks.forEach(callback => spellCallbacks.push(callback)); + } + } + }); + } else { + if(!inSpellBook(spellInformation.Name)) { + const mockPage = { + name: spellInformation.Name, + data: { + "Category": "Spells" + } + } + const pageData = (Array.isArray(spellData))? spellData.filter(entry => { return entry['name'] === spellInformation.Name})[0] : spellData; + Object.assign(mockPage.data, pageData.data); + Object.assign(mockPage.data, spellInformation); + const processedSpell = processDrop(mockPage, currentData, repeating); + Object.assign(spellUpdate, processedSpell.update); + processedSpell.callbacks.forEach(callback => spellCallbacks.push(callback)); + } + } + }); + if(Object.keys(spellUpdate).length > 0) { + setAttrs(spellUpdate, {silent: true}, () => { + spellCallbacks.forEach(callback => { + callback(); + }); + }); + } + }); + } catch (error) { + errorMessage("Spells", error) + } + } + + if (blob["Custom Spells"]) { + try { + let customSpells = dropFunctions.jsonParse(blob["Custom Spells"]); + let spellUpdate = {}, spellCallbacks = []; + customSpells.forEach(spellInformation => { + const mockPage = { + name: spellInformation.Name, + data: { + "Category": "Spells" + } + } + Object.assign(mockPage.data, spellInformation); + const processedSpell = processDrop(mockPage, currentData, repeating); + Object.assign(spellUpdate, processedSpell.update); + processedSpell.callbacks.forEach(callback => spellCallbacks.push(callback)); + }); + + setAttrs(spellUpdate, {silent: true}, () => { + spellCallbacks.forEach(callback => { + callback(); + }); + }); + } catch (error) { + errorMessage("Custom Spells", error) + } + } + } + + return { + update: update, + repeating: repeating, + callbacks: callbacks + }; +}; + + diff --git a/Brancalonia Official/src/js/dragndrop/dropFunctions.js b/Brancalonia Official/src/js/dragndrop/dropFunctions.js new file mode 100644 index 0000000000..18716c09bd --- /dev/null +++ b/Brancalonia Official/src/js/dragndrop/dropFunctions.js @@ -0,0 +1,268 @@ +const dropFunctions = { + validateCantripScaling: scaling => scaling === 'dice' || scaling === 'beam' ? true : false, + buildCantripScaling: scaling => `Cantrip ${scaling.charAt(0).toUpperCase()}${scaling.slice(1)}`, + + buildDamage: (page, currentData, alternateDamage) => { + try { + const modifiers = dropFunctions.inferAbilityModifier(page.data["Item Type"], page.data["Properties"], currentData) + let damage = alternateDamage ? alternateDamage : page.data[`Damage`]; + damage += modifiers && modifiers != 0 ? `+${modifiers}` : "" + damage += page.data["Modifiers"] ? dropFunctions.inferModifier(page.data["Modifiers"], 'damage') : "" + + return damage + } catch (error) { + console.error(error) + return '' + } + }, + + buildItemModString: page => { + try { + let mods = `Item Type: ${page.data["Item Type"] || page.data["Category"]}`; + + //Items with ac or attack related bonuses + ["AC", "Damage", "Damage Type", "Secondary Damage", "Secondary Damage Type", "Alternate Damage", "Alternate Damage Type", "Alternate Secondary Damage", "Alternate Secondary Damage Type", "Critical Range", "Range"].forEach(attr => { + mods += page.data[`${attr}`] && page.data[`${attr}`] != "" ? `, ${attr}: ${page.data[`${attr}`]}` : ""; + }); + + //Items with modifiers such as Cloak of Protection + mods += page.data["Modifiers"] && page.data["Modifiers"] != "" ? `, ${page.data["Modifiers"]}` : ""; + + return mods + } catch (error) { + console.error(error) + return '' + } + }, + + buildSpellQuery: spellLevel => { + try { + let spellQuery = "" + for(i = 0; i < 10-spellLevel; i++) { + const sum = (parseInt(i, 10) + parseInt(spellLevel, 10)) + spellQuery += `|Level ${sum},${sum}` + }; + + return `@{wtype}&{template:spell} {{level=@{spellschool} ?{Cast at what level?${spellQuery}}}} {{name=@{spellname}}} {{castingtime=@{spellcastingtime}}} {{range=@{spellrange}}} {{target=@{spelltarget}}} @{spellcomp_v} @{spellcomp_s} @{spellcomp_m} {{material=@{spellcomp_materials}}} {{duration=@{spellduration}}} {{description=@{spelldescription}}} {{athigherlevels=@{spellathigherlevels}}} @{spellritual} {{innate=@{innate}}} @{spellconcentration} @{charname_output}` + } catch (error) { + console.error(error) + } + }, + + buildToHit: (page, currentData) => { + try { + let hit = dropFunctions.inferAbilityModifier(page.data["Item Type"], page.data["Properties"], currentData); + hit += page.data["Modifiers"] ? dropFunctions.inferModifier(page.data["Modifiers"], 'attacks') : ""; + return hit + } catch (error) { + console.error(error) + return '' + } + }, + + buildSenses: (senses, passivePerception) => { + try { + return senses ? `${senses}, passive Perception ${passivePerception}` : `passive Perception ${passivePerception}`; + } catch (error) { + console.log(error) + return '' + } + }, + + buildSpellList: spells => { + try { + let spellList = [] + //Create an array of spells to get from the Comepndium + const spellTypes = ["spells", "innate"] + spellTypes.forEach(type => { + const spellObject = dropFunctions.jsonParse(spells)[type] + if (spellObject) { + for (let [key, value] of Object.entries(spellObject)) { + value.forEach(spell => spellList.push(spell)) + } + } + }) + return spellList + } catch (error) { + console.log(error) + } + }, + + buildType: (size, type, aligment) => { + let string = size || ""; + type ? string += ` ${type}` : false; + aligment ? string += `, ${aligment}`: false; + return string + }, + + confirmFinesse: properties => properties.toLowerCase().includes("finesse") ? true : false, + confirmRanged: itemType => itemType.toLowerCase().includes("ranged") ? true : false, + confirmDexGreaterThanStr: (dex, str) => dex > str ? true : false, + + convertAbbreviationToAttribute: threeLetterString => { + switch(threeLetterString.toLowerCase()) { + case "str": + return "@{strength_mod}"; + break; + case "dex": + return "@{dexterity_mod}"; + break; + case "con": + return "@{constitution_mod}"; + break; + case "wis": + return "@{wisdom_mod}"; + break; + case "int": + return "@{intelligence_mod}"; + break; + case "cha": + return "@{charisma_mod}"; + break; + default: + errorMessage("convertAbbreviationToAttribute", `${threeLetterString} did not match one of the expected types str, dex, con, wis, int, cha`) + return false + } + }, + + determineComponent: (componentList, component) => componentList.toLowerCase().includes(component) ? `{{${component}=1}}` : false, + + inferAbilityModifier: (type, properties, currentData) => { + try { + const ranged = type ? dropFunctions.confirmRanged(type) : false; + const finesse = properties ? dropFunctions.confirmFinesse(properties) : false; + const dexGreaterThanStr = dropFunctions.confirmDexGreaterThanStr(currentData.dexterity_mod, currentData.strength_mod); + + return ranged || (finesse && dexGreaterThanStr) ? currentData.dexterity_mod : currentData.strength_mod + } catch (error) { + console.log(error) + } + }, + + inferBaseAttribute: attribute => attribute.includes('(') ? attribute.split(" (")[0] : attribute, + + inferCasterLevel: description => parseInt(description.substring(description.indexOf("-level")-4, description.indexOf("-level")-2).trim(), 10) || 1, + + inferFormulaAttribute: attribute => attribute.includes('(') ? attribute.split(" (")[1].slice(0, -1) : "", + + inferModifier: (modifiers, type) => { + try { + let modifier = ""; + modifiers = modifiers.split(','); + modifiers.forEach(value => { + modifier += value.toLowerCase().includes(type) ? value.split(' ').pop() : "" + }); + return modifier + } catch (error) { + console.log(error) + return '' + } + }, + + inferSpellcastingAbility: description => { + let ability = description.match(/casting ability is (.*?) /); + ability = ability && ability.length > 1 ? ability[1] : false; + ability = ability ? `@{${ability.toLowerCase()}_mod}+` : "0*"; + return ability + }, + + inferSavingThrows: saves => { + try { + let object = {}; + if (saves) { + saves = saves.includes(', ') ? saves.split(", ") : [saves] + saves.forEach(saveValue => { + const split = saveValue.includes(' ') ? saveValue.split(' ') : errorMessage(`inferSavingThrows`, `${saveValue} does no include a space`) + const abbreviation = split[0].toLowerCase(); + object[`npc_${abbreviation}_save_base`] = split.pop(); + }); + } + return object + } catch (error) { + errorMessage('inferSavingThrows', error) + } + }, + + inferSkills: skills => { + try { + let object = {}; + if (skills) { + skills = skills.includes(', ') ? skills.split(", ") : [skills] + skills.forEach(skillValue => { + const split = skillValue.includes(' ') ? skillValue.split(' ') : errorMessage(`inferSkills`, `${skillValue} does no include a space`) + const value = split.pop(); + const name = split.length > 2 ? split.join("_").toLowerCase() : split.shift().toLowerCase(); + object[`npc_${name}_base`] = value; + }); + } + return object + } catch (error) { + errorMessage('inferSkills', error) + } + }, + + jsonParse: (data, defaultValue) => { + let result = null; + try { + result = JSON.parse(data); + } catch (error) { + switch(typeof defaultValue) { + case 'boolean': + case 'number': + case 'string': + case 'function': + result = (typeof data === typeof defaultValue) ? data : defaultValue; + break; + case 'object': + result = (typeof data === typeof defaultValue && data.constructor.name === defaultValue.constructor.name) ? data : defaultValue; + break; + default: + errorMessage('Invalid JSON', error); + } + } + return result; + }, + + updateSheetAttributes: newObjectForSheet => { + try { + let update = {}; + + for (let [key, value] of Object.entries(newObjectForSheet.attributes)) { + //If repeating section, update key needs the repeating information + const updateKey = newObjectForSheet.reprowid ? newObjectForSheet.addAttribute(key) : key; + + //This 'update' will be handed to a setAttrs function + update[updateKey] = newObjectForSheet.attributes[key]; + } + + return update + } catch (error) { + errorMessage(`updateSheetAttributes`, error); + } + } +} + +//These functions handle 'repeating' parameter of processDrop +const dropHelpers = { + findToolId: (repeatingTools, toolName) => { + let id = false + for(let [key, value] of Object.entries(repeatingTools)) { + value.toolname === toolName.toLowerCase() ? id = key : false; + } + return id + }, + updateRepeatingTools: (newTool, existingTool) => { + existingTool.id = newTool.reprowid + existingTool.toolname = newTool.attributes.toolname.toLowerCase() + existingTool.base = newTool.attributes.toolbonus_base + return existingTool + }, + updateRepeatingTraits: (newTrait, existingTrait) => { + existingTrait.id = newTrait.reprowid; + existingTrait.name = newTrait.attributes.name; + existingTrait.source = newTrait.attributes.source; + existingTrait.type = newTrait.attributes.source_type; + + return existingTrait + } +} diff --git a/Brancalonia Official/src/js/helperFunctions.js b/Brancalonia Official/src/js/helperFunctions.js new file mode 100644 index 0000000000..2d65147f0d --- /dev/null +++ b/Brancalonia Official/src/js/helperFunctions.js @@ -0,0 +1,23 @@ + +const errorMessage = (name, error) => console.error(`%c ${name}: ${error}`, "color: orange; font-weight:14px;"); +const warningMessage = (name, error) => console.warn(`%c ${name}: ${error}`, "color: gold; font-weight:14px;"); + +const checkSourceForSheetworker = eventinfo => eventinfo.sourceType && eventinfo.sourceType != "sheetworker" ? true : false + +// Example: -m2jzgfth07mvwp3hhng +const getReprowid = sourceAttribute => sourceAttribute.split('_')[2] + +// Example: repeating_tool_-m2jzgfth07mvwp3hhng +const getRepeatingSectionPrefix = sourceAttribute => { + const split = sourceAttribute.split('_'); + return `${split[0]}_${split[1]}_${split[2]}` +} + +// Example: repeating_tool_-m2jzgfth07mvwp3hhng_attkflag returns attkflag +const getAttrNameAtEndRepeating = sourceAttribute => { + const repeatingSplit = sourceAttribute.split('_') + const repeatingSplice = repeatingSplit.splice(3) + const repeatingAttrName = repeatingSplice.length > 1 ? repeatingSplice.join('_') : repeatingSplice[0] + return repeatingAttrName +} + diff --git a/Brancalonia Official/src/js/sheetworkers.js b/Brancalonia Official/src/js/sheetworkers.js new file mode 100644 index 0000000000..34f5a20bcf --- /dev/null +++ b/Brancalonia Official/src/js/sheetworkers.js @@ -0,0 +1,6398 @@ +// Create a collective list of attributs to reduce redundancy +var abilityList = [ + "Strength", + "Dexterity", + "Constitution", + "Intelligence", + "Wisdom", + "Charisma", +]; +var abilityListEnabledOptionals = []; +const globalAttributesByCategory = { + abilities: [ + "strength", + "dexterity", + "constitution", + "intelligence", + "wisdom", + "charisma", + ], + abilitiesWithAllOptionals: [ + "strength", + "dexterity", + "constitution", + "intelligence", + "wisdom", + "charisma", + "honor", + "sanity", + ], + classes: [ + "artificer", + "barbarian", + "bard", + "cleric", + "druid", + "fighter", + "monk", + "paladin", + "ranger", + "rogue", + "sorcerer", + "warlock", + "wizard", + ], + hitDieTypes: ["d4", "d6", "d8", "d10", "d12"], + spellLevels: ["cantrip", "1", "2", "3"], + traitsTypes: ["Background", "Feats", "Racial", "Class", "Other"], + proficiencyTypes: ["LANGUAGE", "ARMOR", "WEAPON", "OTHER"], + skills: { + strength: ["athletics"], + constitution: [], + dexterity: ["acrobatics", "sleight_of_hand", "stealth"], + intelligence: ["arcana", "history", "investigation", "nature", "religion"], + wisdom: [ + "animal_handling", + "insight", + "medicine", + "perception", + "survival", + ], + charisma: ["deception", "intimidation", "performance", "persuasion"], + honor: [], + sanity: [], + all: () => { + return [ + ...globalAttributesByCategory.skills.strength, + ...globalAttributesByCategory.skills.dexterity, + ...globalAttributesByCategory.skills.intelligence, + ...globalAttributesByCategory.skills.wisdom, + ...globalAttributesByCategory.skills.charisma, + ]; + }, + getParentAbility: (skill) => { + let parent = ""; + globalAttributesByCategory["abilities"].forEach((ability) => { + if (globalAttributesByCategory.skills[ability].indexOf(skill) > -1) { + parent = ability; + return; + } + }); + return parent; + }, + }, +}; + +//Overwrites default defaultGetCharmancerData +var defaultGetCharmancerData = getCharmancerData; +var getCharmancerData = function () { + const data = defaultGetCharmancerData(); + includeLPFeatsInCharmancerData(data); + return data; +}; +var includeLPFeatsInCharmancerData = function (data) { + if (SheetUtils.checkPath(data, "['lp-asi']['values']")) { + var feats = {}; + Object.keys(data["lp-asi"]["values"]).forEach((value) => { + if ( + value.indexOf("asi-row_switch") && + data["lp-asi"]["values"][value] === "feat" + ) { + const rowID = SheetUtils.getUID(value); + const rowName = `repeating_${rowID}_asi-row_feat`; + if ( + SheetUtils.checkPath(data, `['lp-asi']['values']['${rowName}_data']`) + ) { + const featData = JSON.parse( + data["lp-asi"]["values"][`${rowName}_data`] + ); + //delete data['lp-asi']['values'][`${rowName}_data`]; + data["lp-asi"]["data"][rowName] = featData; + } + } + }); + } +}; + +//Start of Compendium Drops +on("sheet:compendium-drop", function () { + getAttrs( + [ + "hp_max", + "npc_senses", + "token_size", + "cd_bar1_v", + "cd_bar1_m", + "cd_bar1_l", + "cd_bar2_v", + "cd_bar2_m", + "cd_bar2_l", + "cd_bar3_v", + "cd_bar3_m", + "cd_bar3_l", + ], + function (v) { + var default_attr = {}; + default_attr["width"] = 70; + default_attr["height"] = 70; + if ( + v["npc_senses"] + .toLowerCase() + .match(/(darkvision|blindsight|tremorsense|truesight)/) + ) { + const nightVisionRange = Math.max.apply( + Math, + v["npc_senses"].match(/\d+/g) + ); + //LDL + default_attr["light_radius"] = nightVisionRange; + //UDL + default_attr["has_bright_light_vision"] = "on"; //Toggles Vision On + default_attr["has_low_light_vision"] = "on"; //Toggles Vision On + default_attr["has_night_vision"] = "on"; //Toggles Night Vision On + default_attr["night_vision_distance"] = nightVisionRange; //Set Night Vision Range + } + if (v["token_size"]) { + var squarelength = 70; + if (v["token_size"].toString().indexOf(",") > -1) { + var setwidth = !isNaN(v["token_size"].split(",")[0]) + ? v["token_size"].split(",")[0] + : 1; + var setheight = !isNaN(v["token_size"].split(",")[1]) + ? v["token_size"].split(",")[1] + : 1; + default_attr["width"] = setwidth * squarelength; + default_attr["height"] = setheight * squarelength; + } else { + default_attr["width"] = squarelength * v["token_size"]; + default_attr["height"] = squarelength * v["token_size"]; + } + } + + var getList = {}; + for (x = 1; x <= 3; x++) { + _.each(["v", "m"], function (letter) { + var keyname = "cd_bar" + x + "_" + letter; + if (v[keyname] != undefined && isNaN(v[keyname])) { + getList[keyname] = v[keyname]; + } + }); + } + + getAttrs(_.values(getList), function (values) { + _.each(_.keys(getList), function (keyname) { + v[keyname] = + values[getList[keyname]] == undefined + ? "" + : values[getList[keyname]]; + }); + + if (v["cd_bar1_l"]) { + default_attr["bar1_link"] = v["cd_bar1_l"]; + } else if (v["cd_bar1_v"] || v["cd_bar1_m"]) { + if (v["cd_bar1_v"]) { + default_attr["bar1_value"] = v["cd_bar1_v"]; + } + if (v["cd_bar1_m"]) { + default_attr["bar1_max"] = v["cd_bar1_m"]; + } + } else { + default_attr["bar1_value"] = v["hp_max"]; + default_attr["bar1_max"] = v["hp_max"]; + } + + if (v["cd_bar2_l"]) { + default_attr["bar2_link"] = v["cd_bar2_l"]; + } else if (v["cd_bar2_v"] || v["cd_bar2_m"]) { + if (v["cd_bar2_v"]) { + default_attr["bar2_value"] = v["cd_bar2_v"]; + } + if (v["cd_bar2_m"]) { + default_attr["bar2_max"] = v["cd_bar2_m"]; + } + } else { + default_attr["bar2_link"] = "npc_ac"; + } + + if (v["cd_bar3_l"]) { + default_attr["bar3_link"] = v["cd_bar3_l"]; + } else if (v["cd_bar3_v"] || v["cd_bar3_m"]) { + if (v["cd_bar3_v"]) { + default_attr["bar3_value"] = v["cd_bar3_v"]; + } + if (v["cd_bar3_m"]) { + default_attr["bar3_max"] = v["cd_bar3_m"]; + } + } + + setDefaultToken(default_attr); + }); + } + ); +}); + +globalAttributesByCategory.abilitiesWithAllOptionals.forEach((attr) => { + on(`change:${attr}_base change:${attr}_bonus`, function () { + update_attr(`${attr}`); + }); +}); + +globalAttributesByCategory.abilitiesWithAllOptionals.forEach((attr) => { + on(`change:${attr}`, function () { + update_mod(`${attr}`); + + const cap = attr.charAt(0).toUpperCase() + attr.slice(1); + check_customac(cap); + + attr === "strength" ? update_weight() : false; + attr === "dexterity" ? update_initiative() : false; + }); +}); + +globalAttributesByCategory.abilitiesWithAllOptionals.forEach((attr) => { + on(`change:${attr}_mod`, function () { + update_save(`${attr}`); + update_attacks(`${attr}`); + update_tool(`${attr}`); + update_spell_info(`${attr}`); + + switch (`${attr}`) { + case "strength": + update_skills(["athletics"]); + break; + case "dexterity": + update_skills(["acrobatics", "sleight_of_hand", "stealth"]); + update_ac(); + update_initiative(); + break; + case "intelligence": + update_skills([ + "arcana", + "history", + "investigation", + "nature", + "religion", + ]); + break; + case "wisdom": + update_skills([ + "animal_handling", + "insight", + "medicine", + "perception", + "survival", + ]); + break; + case "charisma": + update_skills([ + "deception", + "intimidation", + "performance", + "persuasion", + ]); + break; + default: + false; + } + }); +}); + +globalAttributesByCategory.abilitiesWithAllOptionals.forEach((attr) => { + on(`change:${attr}_save_prof change:${attr}_save_mod`, function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_save(`${attr}`) : false; + }); +}); + +on("change:globalsavemod", function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_all_saves() : false; +}); + +on("change:death_save_mod", function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_save("death") : false; +}); + +globalAttributesByCategory.skills.all().forEach((attr) => { + on( + `change:${attr}_prof change:${attr}_type change:${attr}_flat`, + function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_skills([`${attr}`]) : false; + } + ); +}); + +on( + "change:repeating_tool:toolname change:repeating_tool:toolbonus_base change:repeating_tool:toolattr_base change:repeating_tool:tool_mod", + function (eventinfo) { + const repeatingRowID = getReprowid(eventinfo.sourceAttribute); + checkSourceForSheetworker(eventinfo) ? update_tool(repeatingRowID) : false; + } +); + +on( + "change:repeating_attack:atkname change:repeating_attack:atkflag change:repeating_attack:atkattr_base change:repeating_attack:atkmod change:repeating_attack:atkmagic change:repeating_attack:atkcritrange change:repeating_attack:atkprofflag change:repeating_attack:dmgflag change:repeating_attack:dmgbase change:repeating_attack:dmgattr change:repeating_attack:dmgmod change:repeating_attack:dmgtype change:repeating_attack:dmg2flag change:repeating_attack:dmg2base change:repeating_attack:dmg2attr change:repeating_attack:dmg2mod change:repeating_attack:dmg2type change:repeating_attack:saveflag change:repeating_attack:savedc change:repeating_attack:saveflat change:repeating_attack:dmgcustcrit change:repeating_attack:dmg2custcrit change:repeating_attack:ammo change:repeating_attack:saveattr change:repeating_attack:atkrange", + function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + var source = getAttrNameAtEndRepeating(eventinfo.sourceAttribute); + var attackid = getReprowid(eventinfo.sourceAttribute); + + if (source == "atkattr_base" || source == "savedc") { + getAttrs( + ["repeating_attack_spellid", "repeating_attack_spelllevel"], + function (v) { + set = {}; + if ( + v.repeating_attack_spellid && + v.repeating_attack_spellid != "" && + v.repeating_attack_spelllevel && + v.repeating_attack_spelllevel != "" + ) { + var newVal = + eventinfo.newValue == "spell" + ? "spell" + : _.last(eventinfo.newValue.split("_")[0].split("{")); + set["repeating_attack_atkattr_base"] = + newVal == "spell" ? "spell" : "@{" + newVal + "_mod}"; + set["repeating_attack_savedc"] = + newVal == "spell" ? "spell" : "(@{" + newVal + "_mod}+8+@{pb})"; + set[ + "repeating_spell-" + + v.repeating_attack_spelllevel + + "_" + + v.repeating_attack_spellid + + "_spell_ability" + ] = newVal == "spell" ? "spell" : "@{" + newVal + "_mod}+"; + } + setAttrs(set, function () { + update_attacks(attackid); + }); + } + ); + } else { + update_attacks(attackid); + } + } + } +); + +on("change:default_critical_range", function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + update_attacks("all"); + } +}); + +on( + "change:repeating_damagemod remove:repeating_damagemod", + function (eventinfo) { + update_globaldamage(); + } +); + +on("change:global_damage_mod_flag", function (eventinfo) { + getSectionIDs("damagemod", function (ids) { + var update = {}; + if (eventinfo.newValue === "1") { + if (!ids || ids.length === 0) { + var rowid = generateRowID(); + update[`repeating_damagemod_${rowid}_global_damage_active_flag`] = "1"; + } + } else { + _.each(ids, function (rowid) { + update[`repeating_damagemod_${rowid}_global_damage_active_flag`] = "0"; + }); + } + setAttrs(update); + }); +}); + +on("change:exhaustion_toggle", function (eventinfo) { + if (eventinfo.newValue !== "0") { + getAttrs(["exhaustion_level"], function (attrs) { + if (!attrs.exhaustion_level || attrs.exhaustion_level === "") { + var update = {}; + update.exhaustion_level = "0"; + setAttrs(update); + } + }); + } +}); + +on("change:exhaustion_level", function (eventinfo) { + const newValue = parseInt(eventinfo.newValue) || 0, + previousValue = parseInt(eventinfo.previousValue) || 0; + let update = {}; + + if (newValue === 0) { + //If exhaustion is 0 the reset exhaustion_1 to "No Effect" and blank the other spans + for (let i = 2; i <= 6; i++) { + update[`exhaustion_${i}`] = ""; + } + update[`exhaustion_1`] = "• " + getTranslationByKey(`exhaustion-0`); + } else if (newValue > previousValue) { + //If exhaustion increase then add text to the spans + for (let i = previousValue; i <= newValue; i++) { + update[`exhaustion_${i}`] = "• " + getTranslationByKey(`exhaustion-${i}`); + } + } else { + //If exhaustion decrease remove text from spans + for (let i = newValue + 1; i <= previousValue; i++) { + update[`exhaustion_${i}`] = ""; + } + } + + setAttrs(update, { silent: true }); +}); + +on("change:race change:subrace", function (eventinfo) { + update_race_display(); +}); + +on(`change:repeating_inventory:hasattack`, function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + const itemid = getReprowid(eventinfo.sourceAttribute); + getAttrs([`repeating_inventory_${itemid}_itemattackid`], function (v) { + const hasattack = eventinfo.newValue, + itemattackid = v[`repeating_inventory_${itemid}_itemattackid`]; + hasattack == 1 + ? create_attack_from_item(itemid) + : remove_attack(itemattackid); + }); + } +}); + +on(`change:repeating_inventory:useasresource`, function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + const itemid = getReprowid(eventinfo.sourceAttribute); + getAttrs([`repeating_inventory_${itemid}_itemresourceid`], function (v) { + const useasresource = eventinfo.newValue, + itemresourceid = v[`repeating_inventory_${itemid}_itemresourceid`]; + useasresource == 1 + ? create_resource_from_item(itemid) + : remove_resource(itemresourceid); + }); + } +}); + +on( + "change:repeating_inventory:itemname change:repeating_inventory:itemproperties change:repeating_inventory:itemmodifiers change:repeating_inventory:itemcount", + function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + var itemid = getReprowid(eventinfo.sourceAttribute); + getAttrs( + [ + "repeating_inventory_" + itemid + "_itemattackid", + "repeating_inventory_" + itemid + "_itemresourceid", + ], + function (v) { + var attackid = v["repeating_inventory_" + itemid + "_itemattackid"]; + var resourceid = + v["repeating_inventory_" + itemid + "_itemresourceid"]; + if (attackid) { + update_attack_from_item(itemid, attackid); + } + if (resourceid) { + update_resource_from_item(itemid, resourceid); + } + } + ); + } + } +); + +[ + "other_resource", + "repeating_resource:resource_left", + "repeating_resource:resource_right", +].forEach((attr) => { + on(`change:${attr} change:${attr}_name`, (eventinfo) => { + if (checkSourceForSheetworker(eventinfo)) { + const resourceid = eventinfo.sourceAttribute.includes("_name") + ? eventinfo.sourceAttribute.slice(0, -5) + : eventinfo.sourceAttribute; + getAttrs([`${resourceid}_itemid`], (v) => { + const value = eventinfo.newValue; + //Update repeating_inventory if an itemid is associated with a resource + if (v[`${resourceid}_itemid`] && v[`${resourceid}_itemid`] != "") { + const itemid = v[`${resourceid}_itemid`]; + let update = {}; + if (eventinfo.sourceAttribute.includes("_name")) { + update[`repeating_inventory_${itemid}_itemname`] = + eventinfo.newValue; + } else { + update[`repeating_inventory_${itemid}_itemcount`] = + eventinfo.newValue; + } + setAttrs(update, { silent: true }, () => { + update_weight(); + }); + } + }); + } + }); +}); + +on( + "change:repeating_inventory:itemweight change:repeating_inventory:itemcount change:repeating_inventory:equipped change:cp change:sp change:ep change:gp change:pp change:encumbrance_setting change:size change:carrying_capacity_mod change:ingore_non_equipped_weight", + function () { + update_weight(); + } +); + +on( + "change:repeating_inventory:itemmodifiers change:repeating_inventory:equipped", + function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + var itemid = getReprowid(eventinfo.sourceAttribute); + getAttrs( + ["repeating_inventory_" + itemid + "_itemmodifiers"], + function (v) { + if (v["repeating_inventory_" + itemid + "_itemmodifiers"]) { + check_itemmodifiers( + v["repeating_inventory_" + itemid + "_itemmodifiers"], + eventinfo.previousValue + ); + } + } + ); + } + } +); + +on( + "change:custom_ac_flag change:custom_ac_base change:custom_ac_part1 change:custom_ac_part2 change:custom_ac_shield", + function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_ac() : false; + } +); + +[ + "spell-cantrip", + "spell-1", + "spell-2", + "spell-3", +].forEach((attr) => { + on( + `change:repeating_${attr}:includedesc change:repeating_${attr}:innate change:repeating_${attr}:spell_ability change:repeating_${attr}:spell_updateflag change:repeating_${attr}:spellathigherlevels change:repeating_${attr}:spellattack change:repeating_${attr}:spelldamage change:repeating_${attr}:spelldamage2 change:repeating_${attr}:spelldamagetype change:repeating_${attr}:spelldamagetype2 change:repeating_${attr}:spelldescription change:repeating_${attr}:spelldmgmod change:repeating_${attr}:spellhealing change:repeating_${attr}:spellhlbonus change:repeating_${attr}:spellhldie change:repeating_${attr}:spellhldietype change:repeating_${attr}:spellname change:repeating_${attr}:spellprepared change:repeating_${attr}:spellrange change:repeating_${attr}:spellsave change:repeating_${attr}:spellsavesuccess change:repeating_${attr}:spelltarget change:repeating_${attr}:spell_damage_progression`, + (eventinfo) => { + if (checkSourceForSheetworker(eventinfo)) { + const spellid = eventinfo.sourceAttribute.split("_")[2], + repeating_source = `repeating_${attr}_${spellid}`; + getAttrs([`${repeating_source}_spellattackid`, "character_id"], (v) => { + var attackid = v[`${repeating_source}_spellattackid`]; + var lvl = attr.split("spell-")[1]; + if (attackid && lvl && spellid) { + update_attack_from_spell( + lvl, + spellid, + attackid, + false, + v["character_id"] + ); + } + }); + } + } + ); +}); + +[ + "spell-cantrip", + "spell-1", + "spell-2", + "spell-3", +].forEach((attr) => { + on(`change:repeating_${attr}:spelloutput`, (eventinfo) => { + if (checkSourceForSheetworker(eventinfo)) { + const spellid = eventinfo.sourceAttribute.split("_")[2], + repeating_source = `repeating_${attr}_${spellid}`; + getAttrs( + [ + `${repeating_source}_spellattackid`, + `${repeating_source}_spelllevel`, + `${repeating_source}_spellathigherlevels`, + "character_id", + ], + function (v) { + const attackid = v[repeating_source + "_spellattackid"]; + const higherlevels = v[repeating_source + "_spellathigherlevels"]; + const spelloutput = eventinfo.newValue; + let lvl = v[repeating_source + "_spelllevel"]; + + if (spelloutput && spelloutput === "ATTACK") { + create_attack_from_spell(lvl, spellid, v["character_id"]); + } else if ( + spelloutput && + spelloutput === "SPELLCARD" && + attackid && + attackid != "" + ) { + let lvl = parseInt(v[repeating_source + "_spelllevel"], 10); + remove_attack(attackid); + update_spelloutput( + higherlevels, + lvl, + repeating_source, + spelloutput + ); + } + } + ); + } + }); +}); + +[ + "spell-cantrip", + "spell-1", + "spell-2", + "spell-3", +].forEach((attr) => { + on(`change:repeating_${attr}:spellathigherlevels`, (eventinfo) => { + if (checkSourceForSheetworker(eventinfo)) { + const spellid = eventinfo.sourceAttribute.split("_")[2], + repeating_source = `repeating_${attr}_${spellid}`; + getAttrs( + [`${repeating_source}_spelllevel`, `${repeating_source}_spelloutput`], + function (v) { + const higherlevels = eventinfo.newValue; + const lvl = parseInt(v[repeating_source + "_spelllevel"], 10); + const spelloutput = v[repeating_source + "_spelloutput"]; + + if (spelloutput && spelloutput === "SPELLCARD") { + update_spelloutput( + higherlevels, + lvl, + repeating_source, + spelloutput + ); + } + } + ); + } + }); +}); + +const update_spelloutput = ( + higherlevels, + lvl, + repeating_source, + spelloutput +) => { + let spelllevel = "@{spelllevel}"; + let update = {}; + + if (higherlevels) { + for (i = 0; i < 3 - lvl; i++) { + let tot = parseInt(i, 3) + parseInt(lvl, 3); + spelllevel = spelllevel + "|Level " + tot + "," + tot; + } + spelllevel = `?{Cast at what level? ${spelllevel}}`; + } + update[ + repeating_source + "_rollcontent" + ] = `@{wtype}&{template:spell} {{level=@{spellschool} ${spelllevel}}} {{name=@{spellname}}} {{castingtime=@{spellcastingtime}}} {{range=@{spellrange}}} {{target=@{spelltarget}}} @{spellcomp_v} @{spellcomp_s} @{spellcomp_m} {{material=@{spellcomp_materials}}} {{duration=@{spellduration}}} {{description=@{spelldescription}}} {{athigherlevels=@{spellathigherlevels}}} @{spellritual} {{innate=@{innate}}} {{savedc=@{spell_save_dc}}} @{spellconcentration} @{charname_output}`; + setAttrs(update, { silent: true }); +}; + +on( + "change:class change:custom_class change:cust_classname change:cust_hitdietype change:cust_spellcasting_ability change:cust_spellslots change:cust_strength_save_prof change:cust_dexterity_save_prof change:cust_constitution_save_prof change:cust_intelligence_save_prof change:cust_wisdom_save_prof change:cust_charisma_save_prof change:subclass change:multiclass1 change:multiclass1_subclass change:multiclass2 change:multiclass2_subclass change:multiclass3 change:multiclass3_subclass", + function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_class() : false; + } +); + +on( + "change:level change:arcane_fighter change:arcane_rogue", + function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? set_level() : false; + } +); + +on( + "sheet:open change:level_calculations change:level change:lvl1_slots_mod change:lvl2_slots_mod change:lvl3_slots_mod", (eventInfo) => { + update_spell_slots(); + } +); + +on("change:caster_level", function (eventinfo) { + getAttrs(["caster_level", "npc"], function (v) { + var casterlvl = + v["caster_level"] && !isNaN(parseInt(v["caster_level"], 10)) + ? parseInt(v["caster_level"], 10) + : 0; + if (v["npc"] && v["npc"] == 1 && casterlvl > 0) { + setAttrs({ level: casterlvl }); + } + }); +}); + +on("change:pb_type change:pb_custom", function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_pb() : false; +}); + +on("change:dtype", function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + update_attacks("all"); + update_npc_action("all"); + } +}); + +on("change:jack_of_all_trades", function (eventinfo) { + if (checkSourceForSheetworker(eventinfo)) { + update_jack_attr(); + update_all_ability_checks(); + } +}); + +on("change:initmod change:init_tiebreaker", function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_initiative() : false; +}); + +on( + "change:spellcasting_ability change:spell_dc_mod change:globalmagicmod", + function (eventinfo) { + checkSourceForSheetworker(eventinfo) ? update_spell_info() : false; + } +); + +on("change:npc_challenge", function () { + update_challenge(); +}); + +on( + "change:npc_str_save_base change:npc_dex_save_base change:npc_con_save_base change:npc_int_save_base change:npc_wis_save_base change:npc_cha_save_base", + function (eventinfo) { + update_npc_saves(); + } +); + +on( + "change:npc_acrobatics_base change:npc_animal_handling_base change:npc_arcana_base change:npc_athletics_base change:npc_deception_base change:npc_history_base change:npc_insight_base change:npc_intimidation_base change:npc_investigation_base change:npc_medicine_base change:npc_nature_base change:npc_perception_base change:npc_performance_base change:npc_persuasion_base change:npc_religion_base change:npc_sleight_of_hand_base change:npc_stealth_base change:npc_survival_base", + function (eventinfo) { + update_npc_skills(); + } +); + +["npcaction", "npcbonusaction", "npcaction-l", "npcaction-m"].forEach( + (fieldset) => { + [ + "attack_flag", + "attack_type", + "attack_range", + "attack_target", + "attack_tohit", + "attack_damage", + "attack_damagetype", + "attack_damage2", + "attack_damagetype2", + "show_desc", + "description", + ].forEach((property) => { + on(`change:repeating_${fieldset}:${property}`, (eventInfo) => { + const actionid = eventInfo.sourceAttribute.split("_")[2]; + update_npc_action(actionid, fieldset); + }); + }); + } +); + +on("change:core_die change:halflingluck_flag", function () { + getAttrs(["core_die", "halflingluck_flag"], function (v) { + core = v.core_die && v.core_die != "" ? v.core_die : "1d20"; + luck = v.halflingluck_flag && v.halflingluck_flag === "1" ? "ro<1" : ""; + update = {}; + update["d20"] = core + luck; + if (!v.core_die || v.core_die === "") { + update["core_die"] = "1d20"; + } + setAttrs(update); + }); +}); + +on("change:powerful_build", function () { + update_weight(); +}); + +[`ac`, `attack`, "save", "skill"].forEach((attr) => { + on(`change:global_${attr}_mod_flag`, (eventinfo) => { + const mod = attr === "attack" ? "tohitmod" : `${attr}mod`; + if (eventinfo.newValue === "1") { + const firstAttr = attr === "ac" ? "val" : "roll"; + const firstAttrValue = attr === "ac" ? 1 : "1d4"; + const secondAttrValue = + attr === "ac" ? "Defense" : attr === "skill" ? "GUIDANCE" : "BLESS"; + + getSectionIDs(mod, (ids) => { + if (!ids || ids.length === 0) { + var update = {}; + var rowid = generateRowID(); + update[ + `repeating_${mod}_${rowid}_global_${attr}_${firstAttr}` + ] = `${firstAttrValue}`; + update[ + `repeating_${mod}_${rowid}_global_${attr}_name` + ] = `${secondAttrValue}`; + update[`repeating_${mod}_${rowid}_global_${attr}_active_flag`] = "1"; + setAttrs(update); + } + }); + } else { + getSectionIDs(mod, function (ids) { + var update = {}; + var rowid = generateRowID(); + _.each(ids, function (rowid) { + update[`repeating_${mod}_${rowid}_global_${attr}_active_flag`] = "0"; + }); + setAttrs(update); + }); + } + }); +}); + +on("change:repeating_skillmod remove:repeating_skillmod", function (eventinfo) { + update_globalskills(); +}); + +on("change:repeating_savemod remove:repeating_savemod", function (eventinfo) { + update_globalsaves(); +}); + +on("change:repeating_tohitmod remove:repeating_tohitmod", function (eventinfo) { + update_globalattack(); +}); + +on("change:repeating_acmod remove:repeating_acmod", function (eventinfo) { + update_ac(); +}); + +on("clicked:confirm_npc", eventInfo => { + setAttrs({ monster_confirm_flag: "" }); + getAttrs(["drop_category"], function (v) { + if (v["drop_category"]) { + handle_drop(v["drop_category"]); + } + }); +}); + +on("clicked:reject_npc", function (eventinfo) { + setAttrs({ monster_confirm_flag: "" }); + var update = {}; + update["drop_category"] = ""; + update["drop_name"] = ""; + update["drop_data"] = ""; + update["drop_content"] = ""; + setAttrs(update, { silent: true }); +}); + +on("change:mancer_confirm", function (eventinfo) { + setAttrs( + { mancer_confirm_flag: "", charactermancer_step: "l1-welcome" }, + function () { + check_l1_mancer(); + } + ); +}); + +on("change:mancer_cancel", function (eventinfo) { + setAttrs( + { mancer_confirm_flag: "", l1mancer_status: "completed" }, + function () { + check_l1_mancer(); + } + ); +}); + +on("change:mancer_npc", function (eventinfo) { + setAttrs( + { mancer_confirm_flag: "", l1mancer_status: "completed", npc: "1" }, + function () { + check_l1_mancer(); + } + ); +}); + +on("change:passiveperceptionmod", function (eventinfo) { + update_passive_perception(); +}); + +on("remove:repeating_inventory", function (eventinfo) { + var itemid = getReprowid(eventinfo.sourceAttribute); + var attackids = + eventinfo.removedInfo && + eventinfo.removedInfo["repeating_inventory_" + itemid + "_itemattackid"] + ? eventinfo.removedInfo["repeating_inventory_" + itemid + "_itemattackid"] + : undefined; + var resourceid = + eventinfo.removedInfo && + eventinfo.removedInfo["repeating_inventory_" + itemid + "_itemresourceid"] + ? eventinfo.removedInfo[ + "repeating_inventory_" + itemid + "_itemresourceid" + ] + : undefined; + + if (attackids) { + _.each(attackids.split(","), function (value) { + remove_attack(value); + }); + } + if (resourceid) { + remove_resource(resourceid); + } + + if ( + eventinfo.removedInfo && + eventinfo.removedInfo["repeating_inventory_" + itemid + "_itemmodifiers"] + ) { + check_itemmodifiers( + eventinfo.removedInfo["repeating_inventory_" + itemid + "_itemmodifiers"] + ); + } + + update_weight(); +}); + +on("remove:repeating_attack", function (eventinfo) { + var attackid = getReprowid(eventinfo.sourceAttribute); + var itemid = + eventinfo.removedInfo["repeating_attack_" + attackid + "_itemid"]; + var spellid = + eventinfo.removedInfo["repeating_attack_" + attackid + "_spellid"]; + var spelllvl = + eventinfo.removedInfo["repeating_attack_" + attackid + "_spelllevel"]; + if (itemid) { + getAttrs(["repeating_inventory_" + itemid + "_hasattack"], function (v) { + if ( + v["repeating_inventory_" + itemid + "_hasattack"] && + v["repeating_inventory_" + itemid + "_hasattack"] == 1 + ) { + var update = {}; + update["repeating_inventory_" + itemid + "_itemattackid"] = ""; + update["repeating_inventory_" + itemid + "_hasattack"] = 0; + setAttrs(update, { silent: true }); + } + }); + } + if (spellid && spelllvl) { + getAttrs( + ["repeating_spell-" + spelllvl + "_" + spellid + "_spelloutput"], + function (v) { + if ( + v["repeating_spell-" + spelllvl + "_" + spellid + "_spelloutput"] && + v["repeating_spell-" + spelllvl + "_" + spellid + "_spelloutput"] == + "ATTACK" + ) { + var update = {}; + update[ + "repeating_spell-" + spelllvl + "_" + spellid + "_spellattackid" + ] = ""; + update[ + "repeating_spell-" + spelllvl + "_" + spellid + "_spelloutput" + ] = "SPELLCARD"; + setAttrs(update, { silent: true }); + } + } + ); + } +}); + +on("remove:repeating_resource", function (eventinfo) { + const resourceid = getReprowid(eventinfo.sourceAttribute); + let update = {}; + + _.each(["left", "right"], (side) => { + const itemid = + eventinfo.removedInfo[ + `repeating_resource_${resourceid}_resource_${side}_itemid` + ]; + if (itemid) { + update[`repeating_inventory_${itemid}_useasresource`] = 0; + update[`repeating_inventory_${itemid}_itemresourceid`] = ""; + } + }); + + setAttrs(update, { silent: true }); +}); + +on( + "remove:repeating_spell-cantrip remove:repeating_spell-1 remove:repeating_spell-2 remove:repeating_spell-3 remove:repeating_spell-4 remove:repeating_spell-5 remove:repeating_spell-6 remove:repeating_spell-7 remove:repeating_spell-8 remove:repeating_spell-9", + function (eventinfo) { + var attackid = + eventinfo.removedInfo[eventinfo.sourceAttribute + "_spellattackid"]; + if (attackid) { + remove_attack(attackid); + } + } +); + +on("clicked:relaunch_lvl1mancer", function (eventinfo) { + getAttrs(["l1mancer_status"], function (v) { + if (v["l1mancer_status"] === "completed") { + setAttrs({ l1mancer_status: "relaunch" }); + } + check_l1_mancer(); + }); +}); + +on("clicked:launch_lvl+mancer", function (eventinfo) { + getAttrs( + [ + "class", + "level", + "hp_max", + "custom_class", + "multiclass1_flag", + "multiclass2_flag", + "multiclass3_flag", + "multiclass1", + "multiclass2", + "multiclass3", + ], + function (v) { + var throw_warning = false; + var class_array = [v["class"]]; + if ( + !v["class"] || + !v["hp_max"] || + isNaN(parseInt(v["hp_max"], 10)) || + !v["level"] || + isNaN(parseInt(v["level"], 10)) || + parseInt(v["level"], 10) < 1 || + (v["multiclass2_flag"] == 1 && v["multiclass1_flag"] == 0) || + (v["multiclass3_flag"] == 1 && v["multiclass2_flag"] == 0) + ) { + throw_warning = true; + } + + if (v["multiclass1_flag"] == 1) { + class_array.push(v["multiclass1"]); + } + if (v["multiclass2_flag"] == 1) { + class_array.push(v["multiclass2"]); + } + if (v["multiclass3_flag"] == 1) { + class_array.push(v["multiclass3"]); + } + // Check to see if there are any duplicate multiclasses + if (new Set(class_array).size !== class_array.length) { + throw_warning = true; + } + + if (throw_warning === true) { + setAttrs({ leveler_warningflag: "show" }); + return; + } + + setAttrs({ lpmancer_status: "active" }, function () { + startCharactermancer("lp-welcome"); + }); + } + ); +}); + +on("change:experience", function (eventinfo) { + update_leveler_display(); +}); + +var update_attr = function (attr) { + var update = {}; + var attr_fields = [attr + "_base", attr + "_bonus"]; + getSectionIDs("repeating_inventory", function (idarray) { + _.each(idarray, function (currentID, i) { + attr_fields.push("repeating_inventory_" + currentID + "_equipped"); + attr_fields.push("repeating_inventory_" + currentID + "_itemmodifiers"); + }); + getAttrs(attr_fields, function (v) { + var base = + v[attr + "_base"] && !isNaN(parseInt(v[attr + "_base"], 10)) + ? parseInt(v[attr + "_base"], 10) + : 10; + var bonus = + v[attr + "_bonus"] && !isNaN(parseInt(v[attr + "_bonus"], 10)) + ? parseInt(v[attr + "_bonus"], 10) + : 0; + var item_base = 0; + var item_bonus = 0; + _.each(idarray, function (currentID) { + if ( + (!v["repeating_inventory_" + currentID + "_equipped"] || + v["repeating_inventory_" + currentID + "_equipped"] === "1") && + v["repeating_inventory_" + currentID + "_itemmodifiers"] && + v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf(attr > -1) + ) { + var mods = v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .split(","); + _.each(mods, function (mod) { + if (mod.indexOf(attr) > -1 && mod.indexOf("save") === -1) { + if (mod.indexOf(":") > -1) { + var new_base = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + item_base = + new_base && new_base > item_base ? new_base : item_base; + } else if (mod.indexOf("-") > -1) { + var new_mod = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + item_bonus = new_mod ? item_bonus - new_mod : item_bonus; + } else { + var new_mod = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + item_bonus = new_mod ? item_bonus + new_mod : item_bonus; + } + } + }); + } + }); + + update[attr + "_flag"] = + bonus > 0 || item_bonus > 0 || item_base > base ? 1 : 0; + base = base > item_base ? base : item_base; + update[attr] = base + bonus + item_bonus; + setAttrs(update); + }); + }); +}; + +var update_mod = function (attr) { + getAttrs([attr], function (v) { + var attr_abr = attr.substring(0, 3); + var finalattr = + v[attr] && isNaN(v[attr]) === false + ? Math.floor((parseInt(v[attr], 10) - 10) / 2) + : 0; + var update = {}; + update[attr + "_mod"] = finalattr; + update["npc_" + attr_abr + "_negative"] = + v[attr] && !isNaN(v[attr]) && parseInt(v[attr], 10) < 10 ? 1 : 0; + setAttrs(update); + }); +}; + +var update_save = function (attr) { + var save_attrs = [ + attr + "_mod", + attr + "_save_prof", + attr + "_save_mod", + "pb", + "globalsavemod", + "pb_type", + ]; + getSectionIDs("repeating_inventory", function (idarray) { + _.each(idarray, function (currentID, i) { + save_attrs.push("repeating_inventory_" + currentID + "_equipped"); + save_attrs.push("repeating_inventory_" + currentID + "_itemmodifiers"); + }); + + getAttrs(save_attrs, function (v) { + var attr_mod = v[attr + "_mod"] ? parseInt(v[attr + "_mod"], 10) : 0; + var prof = + v[attr + "_save_prof"] && v[attr + "_save_prof"] != 0 && !isNaN(v["pb"]) + ? parseInt(v["pb"], 10) + : 0; + var save_mod = + v[attr + "_save_mod"] && !isNaN(parseInt(v[attr + "_save_mod"], 10)) + ? parseInt(v[attr + "_save_mod"], 10) + : 0; + var global = + v["globalsavemod"] && !isNaN(v["globalsavemod"]) + ? parseInt(v["globalsavemod"], 10) + : 0; + var items = 0; + _.each(idarray, function (currentID) { + if ( + v["repeating_inventory_" + currentID + "_equipped"] && + v["repeating_inventory_" + currentID + "_equipped"] === "1" && + v["repeating_inventory_" + currentID + "_itemmodifiers"] && + (v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf("saving throws") > -1 || + v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf(attr + " save") > -1) + ) { + var mods = v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .split(","); + _.each(mods, function (mod) { + if (mod.indexOf(attr + " save") > -1) { + var substr = mod.slice( + mod.lastIndexOf(attr + " save") + attr.length + " save".length + ); + var bonus = + substr && substr.length > 0 && !isNaN(parseInt(substr, 10)) + ? parseInt(substr, 10) + : 0; + } else if (mod.indexOf("saving throws") > -1) { + var substr = mod.slice( + mod.lastIndexOf("saving throws") + "saving throws".length + ); + var bonus = + substr && substr.length > 0 && !isNaN(parseInt(substr, 10)) + ? parseInt(substr, 10) + : 0; + } + if (bonus && bonus != 0) { + items = items + bonus; + } + }); + } + }); + var total = attr_mod + prof + save_mod + global + items; + if ( + v["pb_type"] && + v["pb_type"] === "die" && + v[attr + "_save_prof"] != 0 && + attr != "death" + ) { + total = total + "+" + v["pb"]; + } + var update = {}; + update[attr + "_save_bonus"] = total; + setAttrs(update, { silent: true }, () => { + updateSavingRoll(attr); + }); + }); + }); +}; + +var update_all_saves = function () { + update_save("strength"); + update_save("dexterity"); + update_save("constitution"); + update_save("intelligence"); + update_save("wisdom"); + update_save("charisma"); + update_save("honor"); + update_save("sanity"); + update_save("death"); +}; + +var update_all_ability_checks = function () { + update_initiative(); + update_skills([ + "athletics", + "acrobatics", + "sleight_of_hand", + "stealth", + "arcana", + "history", + "investigation", + "nature", + "religion", + "animal_handling", + "insight", + "medicine", + "perception", + "survival", + "deception", + "intimidation", + "performance", + "persuasion", + ]); +}; + +var update_skills = function (skills_array) { + var skill_parent = { + athletics: "strength", + acrobatics: "dexterity", + sleight_of_hand: "dexterity", + stealth: "dexterity", + arcana: "intelligence", + history: "intelligence", + investigation: "intelligence", + nature: "intelligence", + religion: "intelligence", + animal_handling: "wisdom", + insight: "wisdom", + medicine: "wisdom", + perception: "wisdom", + survival: "wisdom", + deception: "charisma", + intimidation: "charisma", + performance: "charisma", + persuasion: "charisma", + }; + var attrs_to_get = ["pb", "pb_type", "jack_of_all_trades", "jack"]; + var update = {}; + var callbacks = []; + + if (skills_array.indexOf("perception") > -1) { + callbacks.push(function () { + update_passive_perception(); + }); + } + + _.each(skills_array, function (s) { + if (skill_parent[s] && attrs_to_get.indexOf(skill_parent[s]) === -1) { + attrs_to_get.push(skill_parent[s] + "_mod"); + } + attrs_to_get.push(s + "_prof"); + attrs_to_get.push(s + "_type"); + attrs_to_get.push(s + "_flat"); + }); + + getSectionIDs("repeating_inventory", function (idarray) { + _.each(idarray, function (currentID, i) { + attrs_to_get.push("repeating_inventory_" + currentID + "_equipped"); + attrs_to_get.push("repeating_inventory_" + currentID + "_itemmodifiers"); + }); + + getAttrs(attrs_to_get, function (v) { + _.each(skills_array, function (s) { + var attr_mod = v[skill_parent[s] + "_mod"] + ? parseInt(v[skill_parent[s] + "_mod"], 10) + : 0; + var prof = + v[s + "_prof"] != 0 && !isNaN(v["pb"]) ? parseInt(v["pb"], 10) : 0; + var flat = + v[s + "_flat"] && !isNaN(parseInt(v[s + "_flat"], 10)) + ? parseInt(v[s + "_flat"], 10) + : 0; + var type = + v[s + "_type"] && !isNaN(parseInt(v[s + "_type"], 10)) + ? parseInt(v[s + "_type"], 10) + : 1; + var jack = + v["jack_of_all_trades"] && v["jack_of_all_trades"] != 0 && v["jack"] + ? v["jack"] + : 0; + var item_bonus = 0; + + _.each(idarray, function (currentID) { + if ( + v["repeating_inventory_" + currentID + "_equipped"] && + v["repeating_inventory_" + currentID + "_equipped"] === "1" && + v["repeating_inventory_" + currentID + "_itemmodifiers"] && + (v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .replace(/ /g, "_") + .indexOf(s) > -1 || + v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf("ability checks") > -1) + ) { + var mods = v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .split(","); + _.each(mods, function (mod) { + if ( + mod.replace(/ /g, "_").indexOf(s) > -1 || + mod.indexOf("ability checks") > -1 + ) { + if (mod.indexOf("-") > -1) { + var new_mod = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + item_bonus = new_mod ? item_bonus - new_mod : item_bonus; + } else { + var new_mod = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + item_bonus = new_mod ? item_bonus + new_mod : item_bonus; + } + } + }); + } + }); + + var total = attr_mod + flat + item_bonus; + + if (v["pb_type"] && v["pb_type"] === "die") { + if (v[s + "_prof"] != 0) { + type === 1 ? "" : "2"; + total = total + "+" + type + v["pb"]; + } else if (v[s + "_prof"] == 0 && jack != 0) { + total = total + "+" + jack; + } + } else { + if (v[s + "_prof"] != 0) { + total = total + prof * type; + } else if (v[s + "_prof"] == 0 && jack != 0) { + total = total + parseInt(jack, 10); + } + } + update[s + "_bonus"] = total; + }); + + setAttrs(update, { silent: true }, function () { + callbacks.forEach(function (callback) { + callback(); + }); + updateSkillRolls(skills_array); + }); + }); + }); +}; + +var update_tool = function (tool_id) { + //D&D 5e Mancer: Land Vehicles proficiency does not drop with Marine background (UC748) + //Added a test to check for an undefined tool_id so to prevent similar errors. + //By Miguel Peres + if (typeof tool_id == "undefined") return; + + if (tool_id.substring(0, 1) === "-" && tool_id.length === 20) { + do_update_tool([tool_id]); + } else if (tool_id === "all") { + getSectionIDs("repeating_tool", function (idarray) { + do_update_tool(idarray); + }); + } else { + getSectionIDs("repeating_tool", function (idarray) { + var tool_attribs = []; + _.each(idarray, function (id) { + tool_attribs.push("repeating_tool_" + id + "_toolattr_base"); + }); + getAttrs(tool_attribs, function (v) { + var attr_tool_ids = []; + _.each(idarray, function (id) { + if ( + v["repeating_tool_" + id + "_toolattr_base"] && + v["repeating_tool_" + id + "_toolattr_base"].indexOf(tool_id) > -1 + ) { + attr_tool_ids.push(id); + } + }); + if (attr_tool_ids.length > 0) { + do_update_tool(attr_tool_ids); + } + }); + }); + } +}; + +var do_update_tool = function (tool_array) { + var tool_attribs = [ + "pb", + "pb_type", + "jack", + "strength_mod", + "dexterity_mod", + "constitution_mod", + "intelligence_mod", + "wisdom_mod", + "charisma_mod", + ]; + var update = {}; + _.each(tool_array, function (tool_id) { + tool_attribs.push("repeating_tool_" + tool_id + "_toolbonus_base"); + tool_attribs.push("repeating_tool_" + tool_id + "_tool_mod"); + tool_attribs.push("repeating_tool_" + tool_id + "_toolattr_base"); + }); + + getAttrs(tool_attribs, function (v) { + _.each(tool_array, function (tool_id) { + var query = false; + if ( + v["repeating_tool_" + tool_id + "_toolattr_base"] && + v["repeating_tool_" + tool_id + "_toolattr_base"].substring(0, 2) === + "?{" + ) { + update["repeating_tool_" + tool_id + "_toolattr"] = "QUERY"; + var mod = + "?{Attribute?|Strength,@{strength_mod}|Dexterity,@{dexterity_mod}|Constitution,@{constitution_mod}|Intelligence,@{intelligence_mod}|Wisdom,@{wisdom_mod}|Charisma,@{charisma_mod}}"; + if (v["repeating_tool_" + tool_id + "_tool_mod"]) { + mod = mod + "+" + v["repeating_tool_" + tool_id + "_tool_mod"]; + } + query = true; + } else { + var attr = v["repeating_tool_" + tool_id + "_toolattr_base"] + .substring( + 0, + v["repeating_tool_" + tool_id + "_toolattr_base"].length - 5 + ) + .substr(2); + var attr_mod = v[attr + "_mod"] ? parseInt(v[attr + "_mod"], 10) : 0; + var tool_mod = + v["repeating_tool_" + tool_id + "_tool_mod"] && + !isNaN(parseInt(v["repeating_tool_" + tool_id + "_tool_mod"], 10)) + ? parseInt(v["repeating_tool_" + tool_id + "_tool_mod"], 10) + : 0; + var mod = attr_mod + tool_mod; + update["repeating_tool_" + tool_id + "_toolattr"] = attr.toUpperCase(); + if ( + v["repeating_tool_" + tool_id + "_tool_mod"] && + v["repeating_tool_" + tool_id + "_tool_mod"].indexOf("@{") > -1 + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + update["repeating_tool_" + tool_id + "_toolbonus"] + + "+" + + v["repeating_tool_" + tool_id + "_tool_mod"]; + } + if (!v["repeating_tool_" + tool_id + "_tool_mod"]) { + update["repeating_tool_" + tool_id + "_tool_mod"] = 0; + } + } + + if (v["pb_type"] && v["pb_type"] === "die") { + if (v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb})") { + update["repeating_tool_" + tool_id + "_toolbonus"] = mod + "+" + v.pb; + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb}*2)" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + "+2" + v.pb; + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === + "(floor(@{pb}/2))" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + "+" + v.jack; + } + } else if ( + v["repeating_tool_" + tool_id + "_toolattr_base"] && + v["repeating_tool_" + tool_id + "_toolattr_base"].substring(0, 2) === + "?{" + ) { + if (v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb})") { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + "+" + parseInt(v.pb, 10); + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb}*2)" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + "+" + parseInt(v.pb, 10) * 2; + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === + "(floor(@{pb}/2))" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + "+" + parseInt(v.jack, 10); + } + } else { + if (v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb})") { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + parseInt(v.pb, 10); + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === "(@{pb}*2)" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + parseInt(v.pb, 10) * 2; + } else if ( + v["repeating_tool_" + tool_id + "_toolbonus_base"] === + "(floor(@{pb}/2))" + ) { + update["repeating_tool_" + tool_id + "_toolbonus"] = + mod + parseInt(v.jack, 10); + } + } + + if (query) { + update["repeating_tool_" + tool_id + "_toolbonus_display"] = "?"; + } else { + update["repeating_tool_" + tool_id + "_toolbonus_display"] = + update["repeating_tool_" + tool_id + "_toolbonus"]; + } + }); + + setAttrs(update, { silent: true }, () => { + updateToolRolls(tool_array); + }); + }); +}; + +var get_repeating_data = function (callback) { + var getallrepeating = function (getobj, thiscallback, attrlist) { + attrlist = attrlist || []; + var thisget = getobj.pop(); + getSectionIDs(thisget.name, function (ids) { + _.each(ids, function (sectionId) { + _.each(thisget.list, function (attr) { + attrlist.push( + "repeating_" + thisget.name + "_" + sectionId + "_" + attr + ); + }); + }); + if (getobj.length > 0) { + getallrepeating(getobj, thiscallback, attrlist); + } else { + getAttrs(attrlist, function (vals) { + thiscallback(vals); + }); + } + }); + }; + var getList = [ + { name: "proficiencies", list: ["name"] }, + { name: "tool", list: ["toolname", "toolattr_base"] }, + { name: "traits", list: ["name", "source", "source_type"] }, + { name: "resource", list: ["resource_left_name", "resource_right_name"] }, + { + name: "spell-cantrip", + list: [ + "spellname", + "spellattackid", + "spellsource", + "innate", + "spellattackid", + ], + }, + { name: "savemod", list: ["global_save_name"] }, + { name: "tohitmod", list: ["global_attack_name"] }, + { name: "damagemod", list: ["global_damage_name"] }, + { name: "acmod", list: ["global_ac_name"] }, + { name: "skillmod", list: ["global_skill_name"] }, + { name: "attack", list: ["atkname", "spellid"] }, + { name: "hpmod", list: ["levels", "source", "mod"] }, + ]; + for (var x = 1; x <= 9; x++) { + getList.push({ + name: "spell-" + x, + list: [ + "spellname", + "spellattackid", + "spellsource", + "innate", + "spellattackid", + ], + }); + } + var repeating = { prof_names: [], traits: [] }; + _.each(getList, function (section) { + if (!["proficiencies", "traits"].includes(section.name)) { + repeating[section.name] = {}; + } + }); + getallrepeating(getList, function (vals) { + var traitstemp = {}; + _.each(vals, function (value, name) { + if (name.split("_")[1] == "proficiencies") { + repeating.prof_names.push(value.toLowerCase()); + } else if (name.split("_")[1] == "tool") { + repeating.tool[name.split("_")[2]] = + repeating.tool[name.split("_")[2]] || {}; + let attr = _.last(name.split("_")); + repeating.tool[name.split("_")[2]][attr] = value.toLowerCase(); + if (attr == "toolname") repeating.prof_names.push(value.toLowerCase()); + } else if (name.split("_")[1] == "traits") { + traitstemp[name.split("_")[2]] = traitstemp[name.split("_")[2]] + ? traitstemp[name.split("_")[2]] + : {}; + traitstemp[name.split("_")[2]][_.last(name.split("_"))] = value; + } else if (name.split("_")[1] == "resource") { + repeating.resource[name.split("_")[2]] = + repeating.resource[name.split("_")[2]] || {}; + repeating.resource[name.split("_")[2]][name.split("_")[4]] = value; + } else if (name.split("_")[1] == "hpmod") { + repeating.hpmod[name.split("_")[2]] = + repeating.hpmod[name.split("_")[2]] || {}; + repeating.hpmod[name.split("_")[2]][name.split("_")[3]] = value; + } else if (name.split("_")[1].split("-")[0] == "spell") { + repeating[name.split("_")[1]][name.split("_")[2]] = + repeating[name.split("_")[1]][name.split("_")[2]] || {}; + repeating[name.split("_")[1]][name.split("_")[2]][name.split("_")[3]] = + value; + } else if (name.split("_")[1] == "attack") { + repeating[name.split("_")[1]][name.split("_")[2]] = + repeating[name.split("_")[1]][name.split("_")[2]] || {}; + repeating[name.split("_")[1]][name.split("_")[2]][name.split("_")[3]] = + value; + } else { + repeating[name.split("_")[1]][name.split("_")[2]] = value; + } + }); + _.each(traitstemp, function (v, k) { + var trait = _.clone(v); + trait.id = k; + repeating.traits.push(trait); + }); + callback(repeating); + }); +}; + +var check_itemmodifiers = function (modifiers, previousValue) { + var mods = modifiers.toLowerCase().split(","); + if (previousValue) { + prevmods = previousValue.toLowerCase().split(","); + mods = _.union(mods, prevmods); + } + _.each(mods, function (mod) { + if ( + mod.indexOf("ac:") > -1 || + mod.indexOf("ac +") > -1 || + mod.indexOf("ac -") > -1 + ) { + update_ac(); + } + if (mod.indexOf("spell") > -1) { + update_spell_info(); + } + if (mod.indexOf("saving throws") > -1) { + update_all_saves(); + } + if (mod.indexOf("strength save") > -1) { + update_save("strength"); + } else if (mod.indexOf("strength") > -1) { + update_attr("strength"); + } + if (mod.indexOf("dexterity save") > -1) { + update_save("dexterity"); + } else if (mod.indexOf("dexterity") > -1) { + update_attr("dexterity"); + } + if (mod.indexOf("constitution save") > -1) { + update_save("constitution"); + } else if (mod.indexOf("constitution") > -1) { + update_attr("constitution"); + } + if (mod.indexOf("intelligence save") > -1) { + update_save("intelligence"); + } else if (mod.indexOf("intelligence") > -1) { + update_attr("intelligence"); + } + if (mod.indexOf("wisdom save") > -1) { + update_save("wisdom"); + } else if (mod.indexOf("wisdom") > -1) { + update_attr("wisdom"); + } + if (mod.indexOf("charisma save") > -1) { + update_save("charisma"); + } else if (mod.indexOf("charisma") > -1) { + update_attr("charisma"); + } + if (mod.indexOf("honor save") > -1) { + update_save("honor"); + } else if (mod.indexOf("honor") > -1) { + update_attr("honor"); + } + if (mod.indexOf("sanity save") > -1) { + update_save("sanity"); + } else if (mod.indexOf("sanity") > -1) { + update_attr("sanity"); + } + if (mod.indexOf("ability checks") > -1) { + update_all_ability_checks(); + } + if (mod.indexOf("acrobatics") > -1) { + update_skills(["acrobatics"]); + } + if (mod.indexOf("animal handling") > -1) { + update_skills(["animal_handling"]); + } + if (mod.indexOf("arcana") > -1) { + update_skills(["arcana"]); + } + if (mod.indexOf("athletics") > -1) { + update_skills(["athletics"]); + } + if (mod.indexOf("deception") > -1) { + update_skills(["deception"]); + } + if (mod.indexOf("history") > -1) { + update_skills(["history"]); + } + if (mod.indexOf("insight") > -1) { + update_skills(["insight"]); + } + if (mod.indexOf("intimidation") > -1) { + update_skills(["intimidation"]); + } + if (mod.indexOf("investigation") > -1) { + update_skills(["investigation"]); + } + if (mod.indexOf("medicine") > -1) { + update_skills(["medicine"]); + } + if (mod.indexOf("nature") > -1) { + update_skills(["nature"]); + } + if (mod.indexOf("perception") > -1) { + update_skills(["perception"]); + } + if (mod.indexOf("performance") > -1) { + update_skills(["performance"]); + } + if (mod.indexOf("persuasion") > -1) { + update_skills(["persuasion"]); + } + if (mod.indexOf("religion") > -1) { + update_skills(["religion"]); + } + if (mod.indexOf("sleight of hand") > -1) { + update_skills(["sleight_of_hand"]); + } + if (mod.indexOf("stealth") > -1) { + update_skills(["stealth"]); + } + if (mod.indexOf("survival") > -1) { + update_skills(["survival"]); + } + }); +}; + +var create_attack_from_item = function (itemid, options) { + var update = {}; + var newrowid = generateRowID(); + update["repeating_inventory_" + itemid + "_itemattackid"] = newrowid; + if (options && options.versatile) { + var newrowid2 = generateRowID(); + update["repeating_inventory_" + itemid + "_itemattackid"] += + "," + newrowid2; + setAttrs(update, {}, function () { + update_attack_from_item(itemid, newrowid, { + newattack: true, + versatile: "primary", + }); + update_attack_from_item(itemid, newrowid2, { + newattack: true, + versatile: "secondary", + }); + }); + } else { + setAttrs( + update, + {}, + update_attack_from_item(itemid, newrowid, { newattack: true }) + ); + } +}; + +var update_attack_from_item = function (itemid, attackid, options) { + getAttrs( + [ + "repeating_inventory_" + itemid + "_itemname", + "repeating_inventory_" + itemid + "_itemproperties", + "repeating_inventory_" + itemid + "_itemmodifiers", + "strength", + "dexterity", + "class", + "multiclass1", + "multiclass2", + "multiclass3", + ], + function (v) { + var update = {}; + var itemtype; + var damage; + var damagetype; + var damage2; + var damagetype2; + var attackmod; + var damagemod; + var range; + var atkcritrange; + var alt = {}; + + if (options && options.newattack) { + update["repeating_attack_" + attackid + "_options-flag"] = "0"; + update["repeating_attack_" + attackid + "_itemid"] = itemid; + } + + const isMonk = () => { + let monk = false; + ["class", "multiclass1", "multiclass2", "multiclass3"].forEach( + (entry) => { + if (v[entry] && v[entry] === "Monk") monk = true; + } + ); + return monk; + }; + + const isMonkWeapon = (weapon) => { + const monkWeapons = [ + "club", + "dagger", + "dart", + "dorata", + "greatclub", + "handaxe", + "javelin", + "light crossbow", + "light hammer", + "mace", + "quarterstaff", + "shortbow", + "sickle", + "sling", + "spear", + "shortsword", + ]; + return monkWeapons.indexOf(weapon.toLowerCase().trim()) > -1; + }; + + if ( + v["repeating_inventory_" + itemid + "_itemmodifiers"] && + v["repeating_inventory_" + itemid + "_itemmodifiers"] != "" + ) { + var mods = + v["repeating_inventory_" + itemid + "_itemmodifiers"].split(","); + _.each(mods, function (mod) { + if (mod.indexOf("Item Type:") > -1) { + itemtype = mod.split(":")[1].trim(); + } else if (mod.indexOf("Alternate Secondary Damage Type:") > -1) { + alt.damagetype2 = mod.split(":")[1].trim(); + } else if (mod.indexOf("Alternate Secondary Damage:") > -1) { + alt.damage2 = mod.split(":")[1].trim(); + } else if (mod.indexOf("Alternate Damage Type:") > -1) { + alt.damagetype = mod.split(":")[1].trim(); + } else if (mod.indexOf("Alternate Damage:") > -1) { + alt.damage = mod.split(":")[1].trim(); + } else if (mod.indexOf("Secondary Damage Type:") > -1) { + damagetype2 = mod.split(":")[1].trim(); + } else if (mod.indexOf("Secondary Damage:") > -1) { + damage2 = mod.split(":")[1].trim(); + } else if (mod.indexOf("Damage Type:") > -1) { + damagetype = mod.split(":")[1].trim(); + } else if (mod.indexOf("Damage:") > -1) { + damage = mod.split(":")[1].trim(); + } else if (mod.indexOf("Critical Range:") > -1) { + atkcritrange = mod.split(":")[1].trim(); + } else if (mod.indexOf("Range:") > -1) { + range = mod.split(":")[1].trim(); + } else if (mod.indexOf(" Attacks ") > -1) { + attackmod = mod.split(" Attacks ")[1].trim(); + } else if (mod.indexOf(" Damage ") > -1) { + damagemod = mod.split(" Damage ")[1].trim(); + } + }); + } + + if ( + v["repeating_inventory_" + itemid + "_itemname"] && + v["repeating_inventory_" + itemid + "_itemname"] != "" + ) { + update["repeating_attack_" + attackid + "_atkname"] = + v["repeating_inventory_" + itemid + "_itemname"]; + if (options && options.versatile === "primary") { + update["repeating_attack_" + attackid + "_atkname"] += + " (One-Handed)"; + } else if (options && options.versatile === "secondary") { + update["repeating_attack_" + attackid + "_atkname"] += + " (Two-Handed)"; + } + } + if (options && options.versatile === "secondary") { + if (alt.damage) { + update["repeating_attack_" + attackid + "_dmgbase"] = alt.damage; + } + if (alt.damagetype) { + update["repeating_attack_" + attackid + "_dmgtype"] = alt.damagetype; + } + if (alt.damage2) { + update["repeating_attack_" + attackid + "_dmg2base"] = alt.damage2; + update["repeating_attack_" + attackid + "_dmg2attr"] = 0; + update["repeating_attack_" + attackid + "_dmg2flag"] = + "{{damage=1}} {{dmg2flag=1}}"; + } + if (alt.damagetype2) { + update["repeating_attack_" + attackid + "_dmg2type"] = + alt.damagetype2; + } + update["repeating_attack_" + attackid + "_versatile_alt"] = "1"; + } else { + if (damage) { + update["repeating_attack_" + attackid + "_dmgbase"] = damage; + } + if (damagetype) { + update["repeating_attack_" + attackid + "_dmgtype"] = damagetype; + } + if (damage2) { + update["repeating_attack_" + attackid + "_dmg2base"] = damage2; + update["repeating_attack_" + attackid + "_dmg2attr"] = 0; + update["repeating_attack_" + attackid + "_dmg2flag"] = + "{{damage=1}} {{dmg2flag=1}}"; + } + if (damagetype2) { + update["repeating_attack_" + attackid + "_dmg2type"] = damagetype2; + } + } + if (atkcritrange) { + update["repeating_attack_" + attackid + "_atkcritrange"] = atkcritrange; + } + if (range) { + update["repeating_attack_" + attackid + "_atkrange"] = range; + } + const monkWeapon = + isMonk() && + isMonkWeapon(v["repeating_inventory_" + itemid + "_itemname"]); + var finesse = + v["repeating_inventory_" + itemid + "_itemproperties"] && + /finesse/i.test(v["repeating_inventory_" + itemid + "_itemproperties"]); + if ( + (itemtype && itemtype.indexOf("Ranged") > -1) || + ((finesse || monkWeapon) && +v.dexterity > +v.strength) + ) { + update["repeating_attack_" + attackid + "_atkattr_base"] = + "@{dexterity_mod}"; + update["repeating_attack_" + attackid + "_dmgattr"] = + "@{dexterity_mod}"; + } else { + update["repeating_attack_" + attackid + "_atkattr_base"] = + "@{strength_mod}"; + update["repeating_attack_" + attackid + "_dmgattr"] = "@{strength_mod}"; + } + if (attackmod && damagemod && attackmod == damagemod) { + update["repeating_attack_" + attackid + "_atkmagic"] = parseInt( + attackmod, + 10 + ); + update["repeating_attack_" + attackid + "_atkmod"] = ""; + update["repeating_attack_" + attackid + "_dmgmod"] = ""; + } else { + if (attackmod) { + update["repeating_attack_" + attackid + "_atkmod"] = parseInt( + attackmod, + 10 + ); + } + if (damagemod) { + update["repeating_attack_" + attackid + "_dmgmod"] = parseInt( + damagemod, + 10 + ); + } + update["repeating_attack_" + attackid + "_atkmagic"] = ""; + } + var callback = function () { + update_attacks(attackid, "item"); + }; + setAttrs(update, { silent: true }, callback); + } + ); +}; + +const create_resource_from_item = (itemid) => { + const newrowid = generateRowID(); + let update = {}; + + getAttrs(["other_resource_name"], (v) => { + //Use other_resource if it is empty + if (!v.other_resource_name || v.other_resource_name == "") { + update[`repeating_inventory_${itemid}_itemresourceid`] = "other_resource"; + setAttrs( + update, + {}, + update_resource_from_item(itemid, "other_resource", true) + ); + //If other_resource is populated look through the repeating sections for an empty spot + } else { + getSectionIDs(`repeating_resource`, (idarray) => { + if (idarray.length == 0) { + update[ + `repeating_inventory_${itemid}_itemresourceid` + ] = `${newrowid}_resource_left`; + setAttrs( + update, + {}, + update_resource_from_item(itemid, `${newrowid}_resource_left`, true) + ); + } else { + let array = []; + _.each(idarray, (currentID, i) => { + ["left", "right"].forEach((side) => { + array.push(`repeating_resource_${currentID}_resource_${side}`); + array.push( + `repeating_resource_${currentID}_resource_${side}_name` + ); + array.push( + `repeating_resource_${currentID}_resource_${side}_max` + ); + }); + }); + getAttrs(array, (y) => { + let existing = false; + _.each(idarray, (currentID, i) => { + ["left", "right"].forEach((side) => { + const Name = + y[`repeating_resource_${currentID}_resource_${side}_name`] || + false; + const Value = + y[`repeating_resource_${currentID}_resource_${side}`] || + false; + const Max = + y[`repeating_resource_${currentID}_resource_${side}_max`] || + false; + + //If Name, Value, & Max are empty and existing === false then populate a resource there + if (!Name && !Value && !Max && existing === false) { + update[ + `repeating_inventory_${itemid}_itemresourceid` + ] = `${currentID}_resource_${side}`; + setAttrs( + update, + {}, + update_resource_from_item( + itemid, + `${currentID}_resource_${side}`, + true + ) + ); + existing = true; + } + }); + }); + //If nothing is empty then generatae a new row + if (!existing) { + update[ + `repeating_inventory_${itemid}_itemresourceid` + ] = `${newrowid}_resource_left`; + setAttrs( + update, + {}, + update_resource_from_item( + itemid, + `${newrowid}_resource_left`, + true + ) + ); + } + }); + } + }); + } + }); +}; + +var update_resource_from_item = function (itemid, resourceid, newresource) { + getAttrs( + [ + "repeating_inventory_" + itemid + "_itemname", + "repeating_inventory_" + itemid + "_itemcount", + ], + function (v) { + var update = {}; + var id; + + if (resourceid && resourceid == "other_resource") { + id = resourceid; + } else { + id = "repeating_resource_" + resourceid; + } + + if (newresource) { + update[id + "_itemid"] = itemid; + } + + if (!v["repeating_inventory_" + itemid + "_itemname"]) { + update["repeating_inventory_" + itemid + "_useasresource"] = 0; + update["repeating_inventory_" + itemid + "_itemresourceid"] = ""; + remove_resource(resourceid); + } + if ( + v["repeating_inventory_" + itemid + "_itemname"] && + v["repeating_inventory_" + itemid + "_itemname"] != "" + ) { + update[id + "_name"] = v["repeating_inventory_" + itemid + "_itemname"]; + } + if ( + v["repeating_inventory_" + itemid + "_itemcount"] && + v["repeating_inventory_" + itemid + "_itemcount"] != "" + ) { + update[id] = v["repeating_inventory_" + itemid + "_itemcount"]; + } + + setAttrs(update, { silent: true }); + } + ); +}; + +const create_attack_from_spell = function ( + lvl, + spellid, + character_id, + existing_id +) { + let update = {}; + const newrowid = existing_id ? existing_id : generateRowID(); + update[`repeating_spell-${lvl}_${spellid}_spellattackid`] = newrowid; + update[ + `repeating_spell-${lvl}_${spellid}_rollcontent` + ] = `%{${character_id}|repeating_attack_${newrowid}_attack}`; + setAttrs( + update, + {}, + update_attack_from_spell(lvl, spellid, newrowid, true, character_id) + ); +}; + +const update_attack_from_spell = ( + lvl, + spellid, + attackid, + newattack, + character_id +) => { + const repeating_spell = `repeating_spell-${lvl}_${spellid}`; + const repeating_attack = `repeating_attack_${attackid}`; + getAttrs( + [ + `${repeating_spell}_spellname`, + `${repeating_spell}_spellrange`, + `${repeating_spell}_spelltarget`, + `${repeating_spell}_spellattack`, + `${repeating_spell}_spelldamage`, + `${repeating_spell}_spelldamage2`, + `${repeating_spell}_spelldamagetype`, + `${repeating_spell}_spelldamagetype2`, + `${repeating_spell}_spellhealing`, + `${repeating_spell}_spelldmgmod`, + `${repeating_spell}_spellsave`, + `${repeating_spell}_spellsavesuccess`, + `${repeating_spell}_spellhldie`, + `${repeating_spell}_spellhldietype`, + `${repeating_spell}_spellhlbonus`, + `${repeating_spell}_spelllevel`, + `${repeating_spell}_includedesc`, + `${repeating_spell}_spelldescription`, + `${repeating_spell}_spellathigherlevels`, + `${repeating_spell}_spell_damage_progression`, + `${repeating_spell}_innate`, + `${repeating_spell}_spell_ability`, + "spellcasting_ability", + ], + (v) => { + let update = {}; + let description = ""; + const spellAbility = + v[`${repeating_spell}_spell_ability`] != "spell" + ? v[`${repeating_spell}_spell_ability`].slice(0, -1) + : "spell"; + update[`${repeating_attack}_atkattr_base`] = spellAbility; + + if (newattack) { + update[`${repeating_attack}_options-flag`] = "0"; + update[`${repeating_attack}_spellid`] = spellid; + update[`${repeating_attack}_spelllevel`] = lvl; + } + + if (v[`${repeating_spell}_spell_ability`] == "spell") { + update[`${repeating_attack}_savedc`] = "(@{spell_save_dc})"; + } else if (v[`${repeating_spell}_spell_ability`]) { + update[ + `${repeating_attack}_savedc` + ] = `(${spellAbility}+8+@{spell_dc_mod}+@{pb})`; + } + + if ( + v[`${repeating_spell}_spellname`] && + v[`${repeating_spell}_spellname`] != "" + ) { + update[`${repeating_attack}_atkname`] = + v[`${repeating_spell}_spellname`]; + } + + update[`${repeating_attack}_atkflag`] = + !v[`${repeating_spell}_spellattack`] || + v[`${repeating_spell}_spellattack`] === "None" + ? "0" + : "{{attack=1}}"; + + if ( + v[`${repeating_spell}_spellattack`] || + !v[`${repeating_spell}_spellattack`] === "None" + ) { + description = + description + v[`${repeating_spell}_spellattack`] + " Spell Attack. "; + } + + if ( + v[`${repeating_spell}_spelldamage`] && + v[`${repeating_spell}_spelldamage`] != "" + ) { + update[`${repeating_attack}_dmgbase`] = + v[`${repeating_spell}_spell_damage_progression`] && + v[`${repeating_spell}_spell_damage_progression`] === "Cantrip Dice" + ? "[[round((@{level} + 1) / 6 + 0.5)]]" + + v[`${repeating_spell}_spelldamage`].substring(1) + : v[`${repeating_spell}_spelldamage`]; + } + + update[`${repeating_attack}_dmgflag`] = + v[`${repeating_spell}_spelldamage`] && + v[`${repeating_spell}_spelldamage`] != "" + ? "{{damage=1}} {{dmg1flag=1}}" + : "0"; + update[`${repeating_attack}_dmgattr`] = + v[`${repeating_spell}_spelldmgmod`] && + v[`${repeating_spell}_spelldmgmod`] === "Yes" + ? spellAbility + : "0"; + update[`${repeating_attack}_dmgtype`] = v[ + `${repeating_spell}_spelldamagetype` + ] + ? v[`${repeating_spell}_spelldamagetype`] + : ""; + update[`${repeating_attack}_dmg2base`] = v[ + `${repeating_spell}_spelldamage2` + ] + ? v[`${repeating_spell}_spelldamage2`] + : ""; + update[`${repeating_attack}_dmg2attr`] = "0"; + update[`${repeating_attack}_dmg2flag`] = v[ + `${repeating_spell}_spelldamage2` + ] + ? "{{damage=1}} {{dmg2flag=1}}" + : 0; + update[`${repeating_attack}_dmg2type`] = v[ + `${repeating_spell}_spelldamagetype2` + ] + ? v[`${repeating_spell}_spelldamagetype2`] + : ""; + update[`${repeating_attack}_atkrange`] = v[ + `${repeating_spell}_spellrange` + ] + ? v[`${repeating_spell}_spellrange`] + : ""; + update[`${repeating_attack}_saveflag`] = v[`${repeating_spell}_spellsave`] + ? "{{save=1}} {{saveattr=@{saveattr}}} {{savedesc=@{saveeffect}}} {{savedc=[[[[@{savedc}]][SAVE]]]}}" + : "0"; + update[`${repeating_attack}_saveeffect`] = v[ + `${repeating_spell}_spellsavesuccess` + ] + ? v[`${repeating_spell}_spellsavesuccess`] + : ""; + + if (v[`${repeating_spell}_spellsave`]) { + update[`${repeating_attack}_saveattr`] = + v[`${repeating_spell}_spellsave`]; + } + + if ( + v[`${repeating_spell}_spellhldie`] && + v[`${repeating_spell}_spellhldie`] != "" && + v[`${repeating_spell}_spellhldietype`] && + v[`${repeating_spell}_spellhldietype`] != "" + ) { + let bonus = ""; + const spelllevel = v[`${repeating_spell}_spelllevel`]; + let query = "?{Cast at what level?"; + for (i = 0; i < 10 - spelllevel; i++) { + query = + query + + "|Level " + + (parseInt(i, 10) + parseInt(spelllevel, 10)) + + "," + + i; + } + query = query + "}"; + if ( + v[`${repeating_spell}_spellhlbonus`] && + v[`${repeating_spell}_spellhlbonus`] != "" + ) { + bonus = + "+(" + v[`${repeating_spell}_spellhlbonus`] + "*" + query + ")"; + } + update[`${repeating_attack}_hldmg`] = `{{hldmg=[[(${ + v[`${repeating_spell}_spellhldie`] + }*${query})${v[`${repeating_spell}_spellhldietype`]}${bonus}]]}}`; + } else { + update[`${repeating_attack}_hldmg`] = ""; + } + + if ( + v[`${repeating_spell}_spellhealing`] && + v[`${repeating_spell}_spellhealing`] != "" + ) { + if ( + !v[`${repeating_spell}_spelldamage`] || + v[`${repeating_spell}_spelldamage`] === "" + ) { + update[`${repeating_attack}_dmgbase`] = + v[`${repeating_spell}_spellhealing`]; + update[`${repeating_attack}_dmgflag`] = "{{damage=1}} {{dmg1flag=1}}"; + update[`${repeating_attack}_dmgtype`] = "Healing"; + } else if ( + !v[`${repeating_spell}_spelldamage2`] || + v[`${repeating_spell}_spelldamage2`] === "" + ) { + update[`${repeating_attack}_dmg2base`] = + v[`${repeating_spell}_spellhealing`]; + update[`${repeating_attack}_dmg2flag`] = + "{{damage=1}} {{dmg2flag=1}}"; + update[`${repeating_attack}_dmg2type`] = "Healing"; + } + } + + update[`${repeating_attack}_spell_innate`] = v[ + `${repeating_spell}_innate` + ] + ? v[`${repeating_spell}_innate`] + : ""; + + if (v[`${repeating_spell}_spelltarget`]) { + description = description + v[`${repeating_spell}_spelltarget`] + ". "; + } + if ( + v[`${repeating_spell}_includedesc`] && + v[`${repeating_spell}_includedesc`] === "on" + ) { + description = v[`${repeating_spell}_spelldescription`]; + if ( + v[`${repeating_spell}_spellathigherlevels`] && + v[`${repeating_spell}_spellathigherlevels`] != "" + ) { + description = + description + + "\n\nAt Higher Levels: " + + v[`${repeating_spell}_spellathigherlevels`]; + } + } else if ( + v[`${repeating_spell}_includedesc`] && + v[`${repeating_spell}_includedesc`] === "off" + ) { + description = ""; + } + update[`${repeating_attack}_atk_desc`] = description; + + update[ + `${repeating_attack}_spelldesc_link` + ] = `%{${character_id}|${repeating_spell}_output}`; + + var callback = () => { + update_attacks(attackid, "spell"); + }; + setAttrs(update, { silent: true }, callback); + } + ); +}; + +const update_attacks = (update_id, source) => { + if (update_id.substring(0, 1) === "-" && update_id.length === 20) { + do_update_attack([update_id], source); + } else if ( + [ + "strength", + "dexterity", + "constitution", + "intelligence", + "wisdom", + "charisma", + "spells", + "all", + ].indexOf(update_id) > -1 + ) { + getSectionIDs("repeating_attack", (idarray) => { + if (update_id === "all") { + do_update_attack(idarray); + } else if (update_id === "spells") { + let attack_attribs = []; + _.each(idarray, (id) => { + attack_attribs.push( + `repeating_attack_${id}_spellid`, + `repeating_attack_${id}_spelllevel` + ); + }); + getAttrs([...attack_attribs, "character_id"], (v) => { + const filteredIds = _.filter(idarray, (id) => { + return ( + v[`repeating_attack_${id}_spellid`] && + v[`repeating_attack_${id}_spellid`] != "" + ); + }); + let spell_attacks = {}; + _.each(filteredIds, (attack_id) => { + spell_attacks[attack_id] = { + spell_id: v[`repeating_attack_${attack_id}_spellid`], + spell_lvl: v[`repeating_attack_${attack_id}_spelllevel`], + }; + }); + _.each(spell_attacks, (data, attack_id) => { + update_attack_from_spell( + data.spell_lvl, + data.spell_id, + attack_id, + false, + v["character_id"] + ); + }); + }); + } else { + let attack_attribs = ["spellcasting_ability"]; + _.each(idarray, (id) => { + attack_attribs.push(`repeating_attack_${id}_atkattr_base`); + attack_attribs.push(`repeating_attack_${id}_dmgattr`); + attack_attribs.push(`repeating_attack_${id}_dmg2attr`); + attack_attribs.push(`repeating_attack_${id}_savedc`); + }); + getAttrs(attack_attribs, (v) => { + let attr_attack_ids = []; + _.each(idarray, (id) => { + if ( + (v[`repeating_attack_${id}_atkattr_base`] && + v[`repeating_attack_${id}_atkattr_base`].indexOf(update_id) > + -1) || + (v[`repeating_attack_${id}_dmgattr`] && + v[`repeating_attack_${id}_dmgattr`].indexOf(update_id) > -1) || + (v[`repeating_attack_${id}_dmg2attr`] && + v[`repeating_attack_${id}_dmg2attr`].indexOf(update_id) > -1) || + (v[`repeating_attack_${id}_savedc`] && + v[`repeating_attack_${id}_savedc`].indexOf(update_id) > -1) || + (v[`repeating_attack_${id}_savedc`] && + v[`repeating_attack_${id}_savedc`] === "(@{spell_save_dc})" && + v["spellcasting_ability"] && + v["spellcasting_ability"].indexOf(update_id) > -1) + ) { + attr_attack_ids.push(id); + } + }); + if (attr_attack_ids.length > 0) { + do_update_attack(attr_attack_ids); + } + }); + } + }); + } +}; + +const do_update_attack = (attack_array, source) => { + let attack_attribs = [ + "level", + "d20", + "pb", + "pb_type", + "pbd_safe", + "dtype", + "globalmagicmod", + "strength_mod", + "dexterity_mod", + "constitution_mod", + "intelligence_mod", + "wisdom_mod", + "charisma_mod", + "spellcasting_ability", + "spell_save_dc", + "spell_attack_mod", + "spell_dc_mod", + "global_damage_mod_roll", + "global_damage_mod_crit", + "default_critical_range", + ]; + _.each(attack_array, (attackid) => { + [ + "atkflag", + "atkname", + "atkattr_base", + "atkmod", + "atkprofflag", + "atkmagic", + "atkcritrange", + "dmgflag", + "dmgbase", + "dmgattr", + "dmgmod", + "dmgtype", + "dmg2flag", + "dmg2base", + "dmg2attr", + "dmg2mod", + "dmg2type", + "dmgcustcrit", + "dmg2custcrit", + "saveflag", + "savedc", + "saveeffect", + "saveflat", + "hldmg", + "spellid", + "spelllevel", + "atkrange", + "itemid", + "ammo", + "spelldesc_link", + ].forEach((attr) => { + attack_attribs.push(`repeating_attack_${attackid}_${attr}`); + }); + }); + + getAttrs(attack_attribs, (v) => { + _.each(attack_array, (attackid) => { + const repeating_attack = `repeating_attack_${attackid}`; + let callbacks = []; + let update = {}; + let hbonus = ""; + let hdmg1 = ""; + let hdmg2 = ""; + let dmg = ""; + let dmg2 = ""; + let rollbase = ""; + let spellattack = false; + let magicattackmod = 0; + let magicsavemod = 0; + let atkattr_abrev = ""; + let dmgattr_abrev = ""; + let dmg2attr_abrev = ""; + //PROFICIENCY BONUS select in Settings. + const pbd_safe = v["pbd_safe"] || ""; + + //HIGHER LVL CAST DMG found in Spells for spells like Fireball + const hldmgcrit = + v[`${repeating_attack}_hldmg`] && v[`${repeating_attack}_hldmg`] != "" + ? v[`${repeating_attack}_hldmg`].slice(0, 7) + + "crit" + + v[`${repeating_attack}_hldmg`].slice(7) + : ""; + + if ( + v[`${repeating_attack}_spellid`] && + v[`${repeating_attack}_spellid`] != "" + ) { + spellattack = true; + //GLOBAL MAGIC ATTACK MODIFIER in Settings + magicattackmod = parseInt(v["spell_attack_mod"], 10) || 0; + //SPELL SAVE DC MOD in Settings + magicsavemod = parseInt(v["spell_dc_mod"], 10) || 0; + } + + //ATTACK select inside settings for the repeating attack + if ( + !v[`${repeating_attack}_atkattr_base`] || + v[`${repeating_attack}_atkattr_base`] === "0" + ) { + atkattr_base = 0; + } else if ( + v[`${repeating_attack}_atkattr_base`] && + v[`${repeating_attack}_atkattr_base`] === "spell" + ) { + atkattr_base = parseInt( + v[ + v["spellcasting_ability"].substring( + 2, + v["spellcasting_ability"].length - 2 + ) + ], + 10 + ); + atkattr_abrev = v["spellcasting_ability"].substring(2, 5).toUpperCase(); + } else { + atkattr_base = parseInt( + v[ + v[`${repeating_attack}_atkattr_base`].substring( + 2, + v[`${repeating_attack}_atkattr_base`].length - 1 + ) + ], + 10 + ); + atkattr_abrev = v[`${repeating_attack}_atkattr_base`] + .substring(2, 5) + .toUpperCase(); + } + + //DAMAGE 1 ability select inside settings for the repeating attack + if ( + !v[`${repeating_attack}_dmgattr`] || + v[`${repeating_attack}_dmgattr`] === "0" + ) { + dmgattr = 0; + } else if ( + v[`${repeating_attack}_dmgattr`] && + v[`${repeating_attack}_dmgattr`] === "spell" + ) { + dmgattr = parseInt( + v[ + v["spellcasting_ability"].substring( + 2, + v["spellcasting_ability"].length - 2 + ) + ], + 10 + ); + dmgattr_abrev = v["spellcasting_ability"].substring(2, 5).toUpperCase(); + } else { + dmgattr = parseInt( + v[ + v[`${repeating_attack}_dmgattr`].substring( + 2, + v[`${repeating_attack}_dmgattr`].length - 1 + ) + ], + 10 + ); + dmgattr_abrev = v[`${repeating_attack}_dmgattr`] + .substring(2, 5) + .toUpperCase(); + } + + //DAMAGE 2 ability select inside settings for the repeating attack + if ( + !v[`${repeating_attack}_dmg2attr`] || + v[`${repeating_attack}_dmg2attr`] === "0" + ) { + dmg2attr = 0; + } else if ( + v[`${repeating_attack}_dmg2attr`] && + v[`${repeating_attack}_dmg2attr`] === "spell" + ) { + dmg2attr = parseInt( + v[ + v["spellcasting_ability"].substring( + 2, + v["spellcasting_ability"].length - 2 + ) + ], + 10 + ); + dmg2attr_abrev = v["spellcasting_ability"] + .substring(2, 5) + .toUpperCase(); + } else { + dmg2attr = parseInt( + v[ + v[`${repeating_attack}_dmg2attr`].substring( + 2, + v[`${repeating_attack}_dmg2attr`].length - 1 + ) + ], + 10 + ); + dmg2attr_abrev = v[`${repeating_attack}_dmg2attr`] + .substring(2, 5) + .toUpperCase(); + } + + //DAMAGE first input inside settings for the repeating attack + const dmgbase = v[`${repeating_attack}_dmgbase`] || 0; + const dmg2base = v[`${repeating_attack}_dmg2base`] || 0; + //DAMAGE 1 second input inside settings for the repeating attack + const dmgmod = parseInt(v[`${repeating_attack}_dmgmod`], 10) || 0; + //DAMAGE 2 second input inside settings for the repeating attack + const dmg2mod = parseInt(v[`${repeating_attack}_dmg2mod`], 10) || 0; + //DAMAGE 1 TYPE input inside settings for the repeating attack + const dmgtype = v[`${repeating_attack}_dmgtype`] || ""; + //DAMAGE 2 TYPE input inside settings for the repeating attack + const dmg2type = v[`${repeating_attack}_dmg2type`] || ""; + + //PROFICIENT flag inside settings for the repeating attack && PROFICIENCY BONUS from Settings + const atkprofflag = v[`${repeating_attack}_atkprofflag`] || 0; + const pb = atkprofflag != 0 && v.pb ? v.pb : 0; + + //ATTACK input inside settings for the repeating attack + const atkmod = parseInt(v[`${repeating_attack}_atkmod`], 10) || 0; + //MAGIC BONUS input inside settings for the repeating attack + const atkmag = parseInt(v[`${repeating_attack}_atkmagic`], 10) || 0; + + //used in _atkdmgtype display + const dmgmag = + isNaN(atkmag) === false && + atkmag != 0 && + ((v[`${repeating_attack}_dmgflag`] && + v[`${repeating_attack}_dmgflag`] != 0) || + (v[`${repeating_attack}_dmg2flag`] && + v[`${repeating_attack}_dmg2flag`] != 0)) + ? `+ ${atkmag} Magic Bonus` + : ""; + + //Spell description link + const spelldesc_link = v[`${repeating_attack}_spelldesc_link`] + ? `{{spelldesc_link=[Show Spell Description](~repeating_attack_spelldesc_link)}} ` + : ""; + + //ATTACK checkbox inside settings for the repeating attack + const atkflag = v[`${repeating_attack}_atkflag`] || 0; + if (atkflag != 0) { + bonus_mod = atkattr_base + atkmod + atkmag + magicattackmod; + plus_minus = bonus_mod > -1 ? "+" : ""; + //pb_type is PROFICIENCY BONUS select in Settings + if (v["pb_type"] && v["pb_type"] === "die") { + bonus = `${bonus_mod}+${pb}`; + } else { + bonus_mod = bonus_mod + parseInt(pb, 10); + bonus = plus_minus + bonus_mod; + } + //SAVING THROW checkbox inside settings for the repeating attack + } else if ( + v[`${repeating_attack}_saveflag`] && + v[`${repeating_attack}_saveflag`] != 0 + ) { + const saveDC = v[`${repeating_attack}_savedc`] || ""; + //SAVING THROW VS DC select "Spell" inside settings for the repeating attack + if (!saveDC || saveDC === "(@{spell_save_dc})") { + const tempdc = v["spell_save_dc"]; + bonus = "DC" + tempdc; + //SAVING THROW VS DC select "FLAT" inside settings for the repeating attack + } else if (saveDC === "(@{saveflat})") { + const tempdc = parseInt(v[`${repeating_attack}_saveflat`]) || 0; + bonus = "DC" + tempdc; + //SAVING THROW VS DC select ability score inside settings for the repeating attack + } else { + const savedcattr = v[`${repeating_attack}_savedc`] + .split("_mod")[0] + .slice(3); + const safe_pb = + v["pb_type"] && v["pb_type"] === "die" + ? parseInt(pb.substring(1), 10) / 2 + : parseInt(pb, 10); + const safe_attr = v[`${savedcattr}_mod`] + ? parseInt(v[`${savedcattr}_mod`], 10) + : 0; + const tempdc = 8 + safe_attr + safe_pb + magicsavemod; + bonus = "DC" + tempdc; + } + } else { + bonus = "-"; + } + + //DAMAGE checkbox inside settings for the repeating attack + const dmgflag1 = v[`${repeating_attack}_dmgflag`] || 0; + const dmgflag2 = v[`${repeating_attack}_dmg2flag`] || 0; + if (dmgflag1 != 0) { + if ( + spellattack === true && + dmgbase.indexOf("[[round((@{level} + 1) / 6 + 0.5)]]") > -1 + ) { + // SPECIAL CANTRIP DAMAGE + dmgdiestring = Math.round( + (parseInt(v["level"], 10) + 1) / 6 + 0.5 + ).toString(); + dmg = dmgdiestring + dmgbase.substring(dmgbase.lastIndexOf("d")); + //select & input to the right of damage + if (dmgattr + dmgmod != 0) { + dmg += `+${dmgattr + dmgmod}`; + } + dmg += ` ${dmgtype}`; + } else { + if (dmgbase === 0 && dmgattr + dmgmod === 0) { + dmg = 0; + } + if (dmgbase != 0) { + dmg = dmgbase; + } + if (dmgbase != 0 && dmgattr + dmgmod != 0) { + dmg = dmgattr + dmgmod > 0 ? dmg + "+" : dmg; + } + if (dmgattr + dmgmod != 0) { + dmg = dmg + (dmgattr + dmgmod); + } + dmg = dmg + " " + dmgtype; + } + } + if (dmgflag2 != 0) { + if (dmg2base === 0 && dmg2attr + dmg2mod === 0) { + dmg2 = 0; + } + if (dmg2base != 0) { + dmg2 = dmg2base; + } + if (dmg2base != 0 && dmg2attr + dmg2mod != 0) { + dmg2 = dmg2attr + dmg2mod > 0 ? dmg2 + "+" : dmg2; + } + if (dmg2attr + dmg2mod != 0) { + dmg2 = dmg2 + (dmg2attr + dmg2mod); + } + dmg2 = dmg2 + " " + dmg2type; + } + update[`${repeating_attack}_atkdmgtype`] = + dmgflag1 != 0 && dmgflag2 != 0 + ? `${dmg} + ${dmg2}${dmgmag} ` + : `${dmg}${dmg2}${dmgmag} `; + + //Build ROLL TEMPLATE with below variables + //ATTACK checkbox inside settings for the repeating attack + if (atkflag != 0) { + if (atkattr_base != 0) { + hbonus += ` + ${atkattr_base}[${atkattr_abrev}]`; + } + if (atkmod != 0) { + hbonus += ` + ${atkmod}[MOD]`; + } + if (pb != 0) { + hbonus += ` + ${pb}${pbd_safe}[PROF]`; + } + if (atkmag != 0) { + hbonus += ` + ${atkmag}[MAGIC]`; + } + if (magicattackmod != 0) { + hbonus += ` + ${magicattackmod}[SPELLATK]`; + } + } + //DAMAGE 1 checkbox inside settings for the repeating attack + if (dmgflag1 != 0) { + hdmg1 += dmgbase; + if (dmgattr != 0) { + hdmg1 += ` + ${dmgattr}[${dmgattr_abrev}]`; + } + if (dmgmod != 0) { + hdmg1 += ` + ${dmgmod}[MOD]`; + } + if (atkmag != 0) { + hdmg1 += ` + ${atkmag}[MAGIC]`; + } + } else { + hdmg1 += "0"; + } + //DAMAGE 2 checkbox inside settings for the repeating attack + if (dmgflag2 != 0) { + hdmg2 += dmg2base; + if (dmg2attr != 0) { + hdmg2 += ` + ${dmg2attr}[${dmg2attr_abrev}]`; + } + if (dmg2mod != 0) { + hdmg2 += ` + ${dmg2mod}[MOD]`; + } + } else { + hdmg2 += "0"; + } + //CRIT input inside settings for the repeating attack + let crit1 = v[`${repeating_attack}_dmgcustcrit`] || 0; + let crit2 = v[`${repeating_attack}_dmg2custcrit`] || 0; + crit1 = crit1 != 0 ? v[`${repeating_attack}_dmgcustcrit`] : dmgbase; + crit2 = crit2 != 0 ? v[`${repeating_attack}_dmg2custcrit`] : dmg2base; + r1 = atkflag != 0 ? "@{d20}" : "0d20"; + r2 = atkflag != 0 ? "@{rtype}" : "{{r2=[[0d20"; + //set in the GLOBAL DAMAGE MODIFIER section + let globaldamage = `[[${v.global_damage_mod_roll || 0}]]`; + let globaldamagecrit = `[[${v.global_damage_mod_crit || 0}]]`; + + //Assamble Roll Templates + const criticalrange = + v[`${repeating_attack}_atkcritrange`] && + v["default_critical_range"] && + parseInt(v["default_critical_range"]) < + parseInt(v[`${repeating_attack}_atkcritrange`]) + ? "@{default_critical_range}" + : "@{atkcritrange}"; + if (v.dtype === "full") { + rollbase = `@{wtype}&{template:atkdmg} {{mod=@{atkbonus}}} {{rname=@{atkname}}} {{r1=[[${r1}cs>${criticalrange}${hbonus}]]}} ${r2}cs>${criticalrange}${hbonus}]]}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{crit1=[[${crit1}[CRIT]]]}} {{crit2=[[${crit2}[CRIT]]]}} @{saveflag} {{desc=@{atk_desc}}} @{hldmg} ${hldmgcrit} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globalattack=@{global_attack_mod}}} {{globaldamage=${globaldamage}}} {{globaldamagecrit=${globaldamagecrit}}} {{globaldamagetype=@{global_damage_mod_type}}} ammo=@{ammo} ${spelldesc_link}@{charname_output}`; + } else if (atkflag != 0) { + rollbase = `@{wtype}&{template:atk} {{mod=@{atkbonus}}} {{rname=[@{atkname}](~repeating_attack_attack_dmg)}} {{rnamec=[@{atkname}](~repeating_attack_attack_crit)}} {{r1=[[${r1}cs>${criticalrange}${hbonus}]]}} ${r2}cs>${criticalrange}${hbonus}]]}} {{range=@{atkrange}}} {{desc=@{atk_desc}}} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globalattack=@{global_attack_mod}}} ammo=@{ammo} ${spelldesc_link}@{charname_output}`; + } else if (dmgflag1 != 0) { + rollbase = `@{wtype}&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} @{saveflag} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} {{globaldamagetype=@{global_damage_mod_type}}} ammo=@{ammo} ${spelldesc_link}@{charname_output}`; + } else { + rollbase = `@{wtype}&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{saveflag} {{desc=@{atk_desc}}} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} ammo=@{ammo} ${spelldesc_link}@{charname_output}`; + } + + update[ + `${repeating_attack}_rollbase_dmg` + ] = `@{wtype}&{template:dmg} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} @{saveflag} {{desc=@{atk_desc}}} @{hldmg} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} {{globaldamagetype=@{global_damage_mod_type}}} ${spelldesc_link}@{charname_output}`; + update[ + `${repeating_attack}_rollbase_crit` + ] = `@{wtype}&{template:dmg} {{crit=1}} {{rname=@{atkname}}} @{atkflag} {{range=@{atkrange}}} @{dmgflag} {{dmg1=[[${hdmg1}]]}} {{dmg1type=${dmgtype}}} @{dmg2flag} {{dmg2=[[${hdmg2}]]}} {{dmg2type=${dmg2type}}} {{crit1=[[${crit1}]]}} {{crit2=[[${crit2}]]}} @{saveflag} {{desc=@{atk_desc}}} @{hldmg} ${hldmgcrit} {{spelllevel=@{spelllevel}}} {{innate=@{spell_innate}}} {{globaldamage=${globaldamage}}} {{globaldamagecrit=${globaldamagecrit}}} {{globaldamagetype=@{global_damage_mod_type}}} ${spelldesc_link}@{charname_output}`; + update[`${repeating_attack}_atkbonus`] = bonus; + update[`${repeating_attack}_rollbase`] = rollbase; + + if ( + v[`${repeating_attack}_spellid`] && + v[`${repeating_attack}_spellid`] != "" && + (!source || (source && source != "spell")) && + v[`${repeating_attack}_spellid`].length == 20 + ) { + const spellid = v[`${repeating_attack}_spellid`]; + const lvl = v[`${repeating_attack}_spelllevel`]; + callbacks.push(() => { + update_spell_from_attack(lvl, spellid, attackid); + }); + } + if ( + v[`${repeating_attack}_itemid`] && + v[`${repeating_attack}_itemid`] != "" && + (!source || (source && source != "item")) + ) { + const itemid = v[`${repeating_attack}_itemid`]; + callbacks.push(() => { + update_item_from_attack(itemid, attackid); + }); + } + setAttrs(update, { silent: true }, () => { + callbacks.forEach((callback) => { + callback(); + }); + }); + }); + }); +}; + +//Update spells in the attack section +const update_spell_from_attack = (lvl, spellid, attackid) => { + const repeating_attack = `repeating_attack_${attackid}`; + const repeating_spell = `repeating_spell-${lvl}_${spellid}`; + let update = {}; + getAttrs( + [ + `${repeating_attack}_atkname`, + `${repeating_attack}_atkrange`, + `${repeating_attack}_atkflag`, + `${repeating_attack}_atkattr_base`, + `${repeating_attack}_dmgbase`, + `${repeating_attack}_dmgtype`, + `${repeating_attack}_dmg2base`, + `${repeating_attack}_dmg2type`, + `${repeating_attack}_saveflag`, + `${repeating_attack}_saveattr`, + `${repeating_attack}_saveeffect`, + ], + (v) => { + update[`${repeating_spell}_spellname`] = v[`${repeating_attack}_atkname`]; + update[`${repeating_spell}_spellrange`] = + v[`${repeating_attack}_atkrange`] || ""; + update[`${repeating_spell}_spellsavesuccess`] = + v[`${repeating_attack}_saveeffect`] || ""; + + if ( + v[`${repeating_attack}_dmgtype`] && + v[`${repeating_attack}_dmgtype`].toLowerCase() == "healing" + ) { + if ( + v[`${repeating_attack}_dmgbase`] && + v[`${repeating_attack}_dmgbase`] != "" + ) { + update[`${repeating_spell}_spellhealing`] = + v[`${repeating_attack}_dmgbase`]; + } + } else { + if ( + v[`${repeating_attack}_dmgbase`] && + v[`${repeating_attack}_dmgbase`] != "" && + v[`${repeating_attack}_dmgbase`].indexOf( + "[[round((@{level} + 1) / 6 + 0.5)]]" + ) === -1 + ) { + update[`${repeating_spell}_spelldamage`] = + v[`${repeating_attack}_dmgbase`]; + } else if ( + !v[`${repeating_attack}_dmgbase`] || + v[`${repeating_attack}_dmgbase`] === "" + ) { + update[`${repeating_spell}_spelldamage`] = ""; + } + + update[`${repeating_spell}_spelldamagetype`] = + v[`${repeating_attack}_dmgtype`] || ""; + } + if ( + v[`${repeating_attack}_dmg2type`] && + v[`${repeating_attack}_dmg2type`].toLowerCase() === "healing" + ) { + if ( + v[`${repeating_attack}_dmgbase`] && + v[`${repeating_attack}_dmgbase`] != "" + ) { + update[`${repeating_spell}_spellhealing`] = + v[`${repeating_attack}_dmgbase`]; + } + } else { + update[`${repeating_spell}_spelldamage2`] = + v[`${repeating_attack}_dmg2base`] || ""; + update[`${repeating_spell}_spelldamagetype2`] = + v[`${repeating_attack}_dmg2type`] || ""; + } + + //SAVING THROW checkbox inside settings for the repeating attack + update[`${repeating_spell}_spellsave`] = + v[`${repeating_attack}_saveflag`] && + v[`${repeating_attack}_saveflag`] != "0" + ? v[`${repeating_attack}_saveattr`] + : ""; + setAttrs(update, { silent: true }); + } + ); +}; + +var update_item_from_attack = function (itemid, attackid) { + getAttrs( + [ + "repeating_attack_" + attackid + "_atkname", + "repeating_attack_" + attackid + "_dmgbase", + "repeating_attack_" + attackid + "_dmg2base", + "repeating_attack_" + attackid + "_dmgtype", + "repeating_attack_" + attackid + "_dmg2type", + "repeating_attack_" + attackid + "_atkrange", + "repeating_attack_" + attackid + "_atkmod", + "repeating_attack_" + attackid + "_dmgmod", + "repeating_inventory_" + itemid + "_itemmodifiers", + "repeating_attack_" + attackid + "_versatile_alt", + "repeating_inventory_" + itemid + "_itemproperties", + "repeating_attack_" + attackid + "_atkmagic", + ], + function (v) { + var update = {}; + var mods = v["repeating_inventory_" + itemid + "_itemmodifiers"]; + var damage = v["repeating_attack_" + attackid + "_dmgbase"] + ? v["repeating_attack_" + attackid + "_dmgbase"] + : 0; + var damage2 = v["repeating_attack_" + attackid + "_dmg2base"] + ? v["repeating_attack_" + attackid + "_dmg2base"] + : 0; + var damagetype = v["repeating_attack_" + attackid + "_dmgtype"] + ? v["repeating_attack_" + attackid + "_dmgtype"] + : 0; + var damagetype2 = v["repeating_attack_" + attackid + "_dmg2type"] + ? v["repeating_attack_" + attackid + "_dmg2type"] + : 0; + var atkcritrange = v["repeating_attack_" + attackid + "_atkcritrange"] + ? v["repeating_attack_" + attackid + "_atkcritrange"] + : 20; + var range = v["repeating_attack_" + attackid + "_atkrange"] + ? v["repeating_attack_" + attackid + "_atkrange"] + : 0; + var attackmod = v["repeating_attack_" + attackid + "_atkmod"] + ? v["repeating_attack_" + attackid + "_atkmod"] + : 0; + var damagemod = v["repeating_attack_" + attackid + "_dmgmod"] + ? v["repeating_attack_" + attackid + "_dmgmod"] + : 0; + var magicmod = v["repeating_attack_" + attackid + "_atkmagic"] + ? v["repeating_attack_" + attackid + "_atkmagic"] + : 0; + var atktype = ""; + var altprefix = + v["repeating_attack_" + attackid + "_versatile_alt"] === "1" + ? "Alternate " + : ""; + + if ( + /Alternate Damage:/i.test( + v["repeating_inventory_" + itemid + "_itemmodifiers"] + ) + ) { + update["repeating_inventory_" + itemid + "_itemname"] = v[ + "repeating_attack_" + attackid + "_atkname" + ].replace(/\s*(?:\(One-Handed\)|\(Two-Handed\))/, ""); + } else { + update["repeating_inventory_" + itemid + "_itemname"] = + v["repeating_attack_" + attackid + "_atkname"]; + } + + var attack_type_regex = + /(?:^|,)\s*Item Type: (Melee|Ranged) Weapon(?:,|$)/i; + var attack_type_results = attack_type_regex.exec( + v["repeating_inventory_" + itemid + "_itemmodifiers"] + ); + atktype = attack_type_results ? attack_type_results[1] : ""; + if (mods) { + mods = mods.split(","); + } else { + mods = []; + } + + var damage_regex = new RegExp( + "^\\s*" + altprefix + "Damage:\\s*(.+)$", + "i" + ); + var damage_found = false; + for (var i = 0; i < mods.length; i++) { + if ((damage_found = damage_regex.exec(mods[i]))) { + if (damage !== 0) { + mods[i] = mods[i].replace(damage_found[1], damage); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!damage_found && damage !== 0) { + mods.push(altprefix + "Damage: " + damage); + } + + var damage2_regex = new RegExp( + "^\\s*" + altprefix + "Secondary Damage:\\s*(.+)$", + "i" + ); + var damage2_found = false; + for (var i = 0; i < mods.length; i++) { + if ((damage2_found = damage2_regex.exec(mods[i]))) { + if (damage2 !== 0) { + mods[i] = mods[i].replace(damage2_found[1], damage2); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!damage2_found && damage2 !== 0) { + mods.push(altprefix + "Secondary Damage: " + damage2); + } + + var dmgtype_regex = new RegExp( + "^\\s*" + altprefix + "Damage Type:\\s*(.+)$", + "i" + ); + var dmgtype_found = false; + for (var i = 0; i < mods.length; i++) { + if ((dmgtype_found = dmgtype_regex.exec(mods[i]))) { + if (damagetype !== 0) { + mods[i] = mods[i].replace(dmgtype_found[1], damagetype); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!dmgtype_found && damagetype !== 0) { + mods.push(altprefix + "Damage Type: " + damagetype); + } + + var dmgtype2_regex = new RegExp( + "^\\s*" + altprefix + "Secondary Damage Type:\\s*(.+)$", + "i" + ); + var dmgtype2_found = false; + for (var i = 0; i < mods.length; i++) { + if ((dmgtype2_found = dmgtype2_regex.exec(mods[i]))) { + if (damagetype2 !== 0) { + mods[i] = mods[i].replace(dmgtype_found[1], damagetype); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!dmgtype2_found && damagetype2 !== 0) { + mods.push(altprefix + "Secondary Damage Type: " + damagetype2); + } + + var atkcritrange_found = false; + for (var i = 0; i < mods.length; i++) { + if ( + (atkcritrange_found = /^\s*Critical Range:\s*(.+)$/i.exec(mods[i])) + ) { + if (atkcritrange !== 0) { + mods[i] = mods[i].replace(atkcritrange_found[1], atkcritrange); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!range_found && range !== 0) { + mods.push("Critical Range: " + atkcritrange); + } + + var range_found = false; + for (var i = 0; i < mods.length; i++) { + if ((range_found = /^\s*Range:\s*(.+)$/i.exec(mods[i]))) { + if (range !== 0) { + mods[i] = mods[i].replace(range_found[1], range); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!range_found && range !== 0) { + mods.push("Range: " + range); + } + + var attackmod_regex = new RegExp( + "^\\s*(?:" + + (atktype !== "" ? atktype + "|" : "") + + "Weapon) Attacks \\+?(.+)$", + "i" + ); + var attackmod_found = false; + for (var i = 0; i < mods.length; i++) { + if ((attackmod_found = attackmod_regex.exec(mods[i]))) { + if (magicmod !== 0 || attackmod !== 0) { + mods[i] = mods[i].replace( + attackmod_found[1], + magicmod !== 0 ? magicmod : attackmod + ); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!attackmod_found && (magicmod !== 0 || attackmod !== 0)) { + var properties = v["repeating_inventory_" + itemid + "_itemproperties"]; + if (properties && /Thrown/i.test(properties)) { + mods.push( + "Weapon Attacks: " + (magicmod !== 0 ? magicmod : attackmod) + ); + } else { + mods.push( + atktype + " Attacks: " + (magicmod !== 0 ? magicmod : attackmod) + ); + } + } + + var damagemod_regex = new RegExp( + "^\\s*(?:" + + (atktype !== "" ? atktype + "|" : "") + + "Weapon) Damage \\+?(.+)$", + "i" + ); + var damagemod_found = false; + for (var i = 0; i < mods.length; i++) { + if ((damagemod_found = damagemod_regex.exec(mods[i]))) { + if (magicmod !== 0 || damagemod !== 0) { + mods[i] = mods[i].replace( + damagemod_found[1], + magicmod !== 0 ? magicmod : attackmod + ); + } else { + mods.splice(i, 1); + } + break; + } + } + if (!damagemod_found && (magicmod !== 0 || damagemod !== 0)) { + var properties = v["repeating_inventory_" + itemid + "_itemproperties"]; + if (properties && /Thrown/i.test(properties)) { + mods.push( + "Weapon Damage: " + (magicmod !== 0 ? magicmod : damagemod) + ); + } else { + mods.push( + atktype + " Damage: " + (magicmod !== 0 ? magicmod : damagemod) + ); + } + } + + update["repeating_inventory_" + itemid + "_itemmodifiers"] = + mods.join(","); + + setAttrs(update, { silent: true }); + } + ); +}; + +var remove_attack = function (attackid) { + removeRepeatingRow("repeating_attack_" + attackid); +}; + +const createResource = (name, max, current) => { + const updateResource = (name, max, current, side, id) => { + const newrowid = id || generateRowID(); + let update = {}; + update[`repeating_resource_${newrowid}_resource_${side}_name`] = name; + update[`repeating_resource_${newrowid}_resource_${side}_max`] = max; + update[`repeating_resource_${newrowid}_resource_${side}`] = current; + setAttrs(update); + }; + + getAttrs(["other_resource_name"], (v) => { + //Use other_resource if it is empty or same name: + if ( + !v.other_resource_name || + v.other_resource_name == "" || + v.other_resource_name == name + ) { + let update = {}; + update[`other_resource_name`] = name; + update[`other_resource_max`] = max; + update[`other_resource`] = current; + setAttrs(update); + //If other_resource is populated look through the repeating sections: + } else { + getSectionIDs(`repeating_resource`, (idarray) => { + //No resources founds, create one: + if (idarray.length == 0) { + updateResource(name, max, current); + } else { + const namesAttributes = idarray + .map((id) => { + return `repeating_resource_${id}_resource_left_name`; + }) + .concat( + idarray.map((id) => { + return `repeating_resource_${id}_resource_right_name`; + }) + ); + getAttrs(namesAttributes, (v) => { + let existingID = false; + let side = "left"; + for (const [key, value] of Object.entries(v)) { + if (value == name || value == "") { + existingID = SheetUtils.getUID(key); + if (key.includes("_right_")) side = "right"; + break; + } + } + //Existing resource found, updated it: + if (existingID) { + updateResource(name, max, current, side, existingID); + //No matching resource found, create one: + } else { + updateResource(name, max, current, side); + } + }); + } + }); + } + }); +}; + +const deleteResource = (name) => { + const updateResource = (name, max, current, side, id) => { + const newrowid = id || generateRowID(); + let update = {}; + update[`repeating_resource_${newrowid}_resource_${side}_name`] = name; + update[`repeating_resource_${newrowid}_resource_${side}_max`] = max; + update[`repeating_resource_${newrowid}_resource_${side}`] = current; + setAttrs(update); + }; + getAttrs(["other_resource_name"], (v) => { + if (v.other_resource_name && v.other_resource_name == name) { + let update = {}; + update[`other_resource_name`] = ""; + update[`other_resource_max`] = ""; + update[`other_resource`] = ""; + setAttrs(update); + //If other_resource is populated look through the repeating sections: + } else { + getSectionIDs(`repeating_resource`, (idarray) => { + //No resources founds, create one: + if (idarray.length > 0) { + const namesAttributes = idarray + .map((id) => { + return `repeating_resource_${id}_resource_left_name`; + }) + .concat( + idarray.map((id) => { + return `repeating_resource_${id}_resource_right_name`; + }) + ); + getAttrs(namesAttributes, (v) => { + let existingID = false; + let side = "left"; + for (const [key, value] of Object.entries(v)) { + if (value == name) existingID = SheetUtils.getUID(key); + if (key.includes("_right_")) side = "right"; + break; + } + if (existingID) { + if ( + side == "right" && + !v[`repeating_resource_${existingID}_resource_left_name`] + ) { + removeRepeatingRow(`repeating_resource_${existingID}`); + } else if ( + side == "left" && + !v[`repeating_resource_${existingID}_resource_right_name`] + ) { + removeRepeatingRow(`repeating_resource_${existingID}`); + } else { + let update = {}; + update[ + `repeating_resource_${existingID}_resource_${side}_name` + ] = ""; + update[ + `repeating_resource_${existingID}_resource_${side}_max` + ] = ""; + update[`repeating_resource_${existingID}_resource_${side}`] = + ""; + update[ + `repeating_resource_${existingID}_resource_${side}_itemid` + ] = ""; + setAttrs(update); + } + } + }); + } + }); + } + }); +}; + +const remove_resource = (id) => { + const attr = id === "other_resource" ? id : `repeating_resource_${id}_itemid`; + let update = {}; + getAttrs([`${attr}`], (v) => { + const itemid = v[`${attr}`]; + if (id == "other_resource") { + update["other_resource"] = ""; + update["other_resource_name"] = ""; + update["other_resource_itemid"] = ""; + setAttrs(update, { silent: true }); + } else { + const currentID = id.replace("repeating_resource_", "").substring(0, 20); + const side = id.includes("left") ? `right` : `left`; + //Get the inputs for the opposite side to see if they are empty. + //If they are empty delete the entire row. Otherwise set the side that was the source of this event to empty strings + getAttrs( + [ + `repeating_resource_${currentID}_resource_${side}`, + `repeating_resource_${currentID}_resource_${side}_name`, + `repeating_resource_${currentID}_resource_${side}_max`, + ], + (v) => { + const Name = + v[`repeating_resource_${currentID}_resource_${side}_name`] || false; + const Value = + v[`repeating_resource_${currentID}_resource_${side}`] || false; + const Max = + v[`repeating_resource_${currentID}_resource_${side}_max`] || false; + if (!Name && !Value && !Max) { + if (currentID) + removeRepeatingRow(`repeating_resource_${currentID}`); + } else { + update[`repeating_resource_${id}`] = ""; + update[`repeating_resource_${id}_name`] = ""; + update[`repeating_resource_${id}_max`] = ""; + update[`repeating_resource_${id}_itemid`] = ""; + } + setAttrs(update, { silent: true }); + } + ); + } + }); +}; + +const update_weight = function () { + let update = {}; + let wtotal = 0; + let weight_attrs = [ + "cp", + "sp", + "ep", + "gp", + "pp", + "encumbrance_setting", + "strength", + "size", + "carrying_capacity_mod", + "powerful_build", + "ingore_non_equipped_weight", + ]; + getSectionIDs("repeating_inventory", (idarray) => { + _.each(idarray, (currentID, i) => { + weight_attrs.push(`repeating_inventory_${currentID}_itemweight`); + weight_attrs.push(`repeating_inventory_${currentID}_itemcount`); + weight_attrs.push(`repeating_inventory_${currentID}_equipped`); + }); + getAttrs(weight_attrs, (v) => { + let coinWeight = 0; + ["cp", "sp", "ep", "gp", "pp"].forEach((type) => { + coinWeight += + isNaN(parseInt(v[`${type}`], 10)) === false + ? parseInt(v[`${type}`], 10) + : 0; + }); + wtotal = wtotal + coinWeight / 50; + + _.each(idarray, (currentID, i) => { + if ( + v["ingore_non_equipped_weight"] && + v["ingore_non_equipped_weight"] == 1 && + (!v[`repeating_inventory_${currentID}_equipped`] || + v[`repeating_inventory_${currentID}_equipped`] != 1) + ) + return; + if ( + v[`repeating_inventory_${currentID}_itemweight`] && + isNaN( + parseInt(v[`repeating_inventory_${currentID}_itemweight`], 10) + ) === false + ) { + count = + v[`repeating_inventory_${currentID}_itemcount`] && + isNaN( + parseFloat(v[`repeating_inventory_${currentID}_itemcount`]) + ) === false + ? parseFloat(v[`repeating_inventory_${currentID}_itemcount`]) + : 1; + wtotal = + wtotal + + parseFloat(v[`repeating_inventory_${currentID}_itemweight`]) * + count; + } + }); + + update["weighttotal"] = + wtotal % 1 === 0 ? wtotal : parseFloat(wtotal.toFixed(2)); + + const str_base = parseInt(v.strength, 10); + let size_multiplier = 1; + if (v["size"]) { + const size = v["size"].toLowerCase().trim(); + const sizeLookup = { + tiny: 0.5, + medium: 1, + large: 2, + huge: 4, + gargantuan: 8, + }; + const sizeIndex = Object.keys(sizeLookup).indexOf(size); + size_multiplier = sizeIndex > -1 ? sizeLookup[size] : size_multiplier; + if (v["powerful_build"] && v["powerful_build"] == 1 && sizeIndex > -1) { + size_multiplier *= 2; + } + } + let str = str_base * size_multiplier; + // Parse the carrying capacitiy modificator if any + if (v.carrying_capacity_mod) { + const operator = v.carrying_capacity_mod.substring(0, 1); + const value = v.carrying_capacity_mod.substring(1); + if ( + ["*", "x", "+", "-"].indexOf(operator) > -1 && + isNaN(parseFloat(value, 10)) === false + ) { + str = + operator === "*" || operator == "x" + ? str * parseFloat(value, 10) + : operator === "+" + ? str + parseFloat(value, 10) + : operator === "-" + ? str - parseFloat(value, 10) + : str; + } + } + + if (!v.encumbrance_setting || v.encumbrance_setting === "off") { + update["encumbrance"] = + wtotal > str * 15 ? "OVER CARRYING CAPACITY" : " "; + } else if (v.encumbrance_setting === "on") { + update["encumbrance"] = + wtotal > str * 15 + ? "IMMOBILE" + : wtotal > str * 10 + ? "HEAVILY ENCUMBERED" + : wtotal > str * 5 + ? "ENCUMBERED" + : " "; + } else { + update["encumbrance"] = " "; + } + + setAttrs(update, { silent: true }); + }); + }); +}; + +var update_ac = function () { + getAttrs(["custom_ac_flag"], function (v) { + if (v.custom_ac_flag === "2") { + return; + } else { + var update = {}; + var ac_attrs = [ + "simpleinventory", + "custom_ac_base", + "custom_ac_part1", + "custom_ac_part2", + "strength_mod", + "dexterity_mod", + "constitution_mod", + "intelligence_mod", + "wisdom_mod", + "charisma_mod", + "custom_ac_shield", + ]; + getSectionIDs("repeating_acmod", function (acidarray) { + _.each(acidarray, function (currentID, i) { + ac_attrs.push("repeating_acmod_" + currentID + "_global_ac_val"); + ac_attrs.push( + "repeating_acmod_" + currentID + "_global_ac_active_flag" + ); + }); + getSectionIDs("repeating_inventory", function (idarray) { + _.each(idarray, function (currentID, i) { + ac_attrs.push("repeating_inventory_" + currentID + "_equipped"); + ac_attrs.push( + "repeating_inventory_" + currentID + "_itemmodifiers" + ); + }); + getAttrs(ac_attrs, function (b) { + var custom_total = 0; + if (v.custom_ac_flag === "1") { + var base = + isNaN(parseInt(b.custom_ac_base, 10)) === false + ? parseInt(b.custom_ac_base, 10) + : 10; + var part1attr = b.custom_ac_part1.toLowerCase(); + var part2attr = b.custom_ac_part2.toLowerCase(); + var part1 = + part1attr === "none" ? 0 : parseInt(b[part1attr + "_mod"], 10); + var part2 = + part2attr === "none" ? 0 : parseInt(b[part2attr + "_mod"], 10); + custom_total = base + part1 + part2; + } + var globalacmod = 0; + _.each(acidarray, function (currentID, i) { + if ( + b["repeating_acmod_" + currentID + "_global_ac_active_flag"] == + "1" + ) { + globalacmod += parseInt( + b["repeating_acmod_" + currentID + "_global_ac_val"], + 10 + ); + } + }); + var dexmod = +b["dexterity_mod"]; + var total = 10 + dexmod; + var armorcount = 0; + var shieldcount = 0; + var armoritems = []; + if (b.simpleinventory === "complex") { + _.each(idarray, function (currentID, i) { + if ( + b["repeating_inventory_" + currentID + "_equipped"] && + b["repeating_inventory_" + currentID + "_equipped"] === "1" && + b["repeating_inventory_" + currentID + "_itemmodifiers"] && + b["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf("ac") > -1 + ) { + var mods = + b[ + "repeating_inventory_" + currentID + "_itemmodifiers" + ].split(","); + var ac = 0; + var type = "mod"; + _.each(mods, function (mod) { + if (mod.substring(0, 10) === "Item Type:") { + type = mod.substring(11, mod.length).trim().toLowerCase(); + } + if ( + mod.toLowerCase().indexOf("ac:") > -1 || + mod.toLowerCase().indexOf("ac +") > -1 || + mod.toLowerCase().indexOf("ac+") > -1 + ) { + var regex = mod.replace(/[^0-9]/g, ""); + var bonus = + regex && + regex.length > 0 && + isNaN(parseInt(regex, 10)) === false + ? parseInt(regex, 10) + : 0; + ac = ac + bonus; + } + if ( + mod.toLowerCase().indexOf("ac -") > -1 || + mod.toLowerCase().indexOf("ac-") > -1 + ) { + var regex = mod.replace(/[^0-9]/g, ""); + var bonus = + regex && + regex.length > 0 && + isNaN(parseInt(regex, 10)) === false + ? parseInt(regex, 10) + : 0; + ac = ac - bonus; + } + }); + armoritems.push({ type: type, ac: ac }); + } + }); + armorcount = armoritems.filter(function (item) { + return item["type"].indexOf("armor") > -1; + }).length; + shieldcount = armoritems.filter(function (item) { + return item["type"].indexOf("shield") > -1; + }).length; + var base = dexmod; + var armorac = 10; + var shieldac = 0; + var modac = 0; + + _.each(armoritems, function (item) { + if (item["type"].indexOf("light armor") > -1) { + armorac = item["ac"]; + base = dexmod; + } else if (item["type"].indexOf("medium armor") > -1) { + armorac = item["ac"]; + base = Math.min(dexmod, 2); + } else if (item["type"].indexOf("heavy armor") > -1) { + armorac = item["ac"]; + base = 0; + } else if (item["type"].indexOf("shield") > -1) { + shieldac = item["ac"]; + } else { + modac = modac + item["ac"]; + } + }); + + total = base + armorac + shieldac + modac; + } + update["armorwarningflag"] = "hide"; + update["customacwarningflag"] = "hide"; + if (armorcount > 1 || shieldcount > 1) { + update["armorwarningflag"] = "show"; + } + update["ac"] = total + globalacmod; + if (custom_total > 0) { + if ( + armorcount > 0 || + (shieldcount > 0 && b.custom_ac_shield != "yes") + ) { + update["customacwarningflag"] = "show"; + } else { + update["ac"] = + b.custom_ac_shield == "yes" + ? custom_total + shieldac + globalacmod + modac + : custom_total + globalacmod + modac; + } + } + setAttrs(update, { silent: true }); + }); + }); + }); + } + }); +}; + +var check_customac = function (attr) { + getAttrs( + ["custom_ac_flag", "custom_ac_part1", "custom_ac_part2"], + function (v) { + if ( + v["custom_ac_flag"] && + v["custom_ac_flag"] === "1" && + ((v["custom_ac_part1"] && v["custom_ac_part1"] === attr) || + (v["custom_ac_part2"] && v["custom_ac_part2"] === attr)) + ) { + update_ac(); + } + } + ); +}; + +const update_initiative = () => { + const attrs_to_get = [ + "dexterity", + "dexterity_mod", + "initmod", + "jack_of_all_trades", + "jack", + "init_tiebreaker", + "pb_type", + ]; + getSectionIDs("repeating_inventory", (idarray) => { + _.each(idarray, (currentID) => { + attrs_to_get.push(`repeating_inventory_${currentID}_equipped`); + attrs_to_get.push(`repeating_inventory_${currentID}_itemmodifiers`); + }); + getAttrs(attrs_to_get, (v) => { + let update = {}; + let final_init = parseInt(v["dexterity_mod"], 10); + if (v["initmod"] && !isNaN(parseInt(v["initmod"], 10))) { + final_init = final_init + parseInt(v["initmod"], 10); + } + if (v["init_tiebreaker"] && v["init_tiebreaker"] != 0) { + final_init = final_init + parseInt(v["dexterity"], 10) / 100; + } + if (v["jack_of_all_trades"] && v["jack_of_all_trades"] != 0) { + if (v["pb_type"] && v["pb_type"] === "die" && v["jack"]) { + final_init = final_init + "+" + v["jack"]; + } else if (v["jack"] && !isNaN(parseInt(v["jack"], 10))) { + final_init = final_init + parseInt(v["jack"], 10); + } + } + _.each(idarray, (currentID) => { + if ( + v[`repeating_inventory_${currentID}_equipped`] && + v[`repeating_inventory_${currentID}_equipped`] === "1" && + v[`repeating_inventory_${currentID}_itemmodifiers`] && + v[`repeating_inventory_${currentID}_itemmodifiers`] + .toLowerCase() + .indexOf("ability checks") > -1 + ) { + const mods = v[`repeating_inventory_${currentID}_itemmodifiers`] + .toLowerCase() + .split(","); + _.each(mods, (mod) => { + if (mod.indexOf("ability checks") > -1) { + const new_mod = !isNaN(parseInt(mod.replace(/[^0-9]/g, ""), 10)) + ? parseInt(mod.replace(/[^0-9]/g, ""), 10) + : false; + final_init = + mod.indexOf("-") > -1 && new_mod + ? final_init - new_mod + : new_mod + ? final_init + new_mod + : final_init; + } + }); + } + }); + if (final_init % 1 != 0) { + final_init = parseFloat(final_init.toPrecision(12)); // ROUNDING ERROR BUGFIX + } + update["initiative_bonus"] = final_init; + setAttrs(update, { silent: true }); + }); + }); +}; + +const update_class = () => { + getAttrs( + [ + "class", + "base_level", + "custom_class", + "cust_hitdietype", + "cust_spellcasting_ability", + "cust_strength_save_prof", + "cust_dexterity_save_prof", + "cust_constitution_save_prof", + "cust_intelligence_save_prof", + "cust_wisdom_save_prof", + "cust_charisma_save_prof", + "npc", + ], + (v) => { + if (v.npc && v.npc == "1") { + return; + } + const abilites = [ + "Strength", + "Dexterity", + "Constitution", + "Intelligence", + "Wisdom", + "Charisma", + ]; + //Custom Classes + if (v.custom_class && v.custom_class != "0") { + update = {}; + update["hitdietype"] = v.cust_hitdietype; + update["hitdieroll"] = v.cust_hitdietype; + update["spellcasting_ability"] = v.cust_spellcasting_ability; + abilites.forEach((save) => { + const ability = save.toLowerCase(); + update[`${ability}_save_prof`] = v[`cust_${ability}_save_prof`]; + }); + setAttrs(update, { silent: true }); + //If "Choose" has been selected in the select + } else if (v.class === "") { + update = {}; + update["hitdietype"] = 4; + update["hitdieroll"] = 4; + update["spellcasting_ability"] = "0*"; + abilites.forEach((save) => { + const ability = save.toLowerCase(); + update[`${ability}_save_prof`] = 0; + }); + setAttrs(update, { silent: true }); + //Standard classes can pull their data from the Comependium + } else { + getCompendiumPage(v.class, (pages) => { + pages = removeDuplicatedPageData(pages); + update = {}; + const classPages = Array.isArray(pages) ? pages : [pages]; + classPages.forEach((classData) => { + if ( + classData.data && + "Category" in classData.data && + classData.data[`Category`] === "Classes" + ) { + update["hitdietype"] = classData.data["Hit Die"].slice(1); + update["hitdieroll"] = classData.data["Hit Die"].slice(1); + update["spellcasting_ability"] = classData.data[ + "Spellcasting Ability" + ] + ? `@{${classData.data[ + "Spellcasting Ability" + ].toLowerCase()}_mod}+` + : "0*"; + abilites.forEach((save) => { + const ability = save.toLowerCase(); + update[`${ability}_save_prof`] = + classData.data["data-Saving Throws"].indexOf(`${save}`) > -1 + ? "(@{pb})" + : 0; + update_save(ability); + }); + } + + setAttrs(update, { silent: true }); + //Update Spell info to change or remove casting attributes in Spells + update_spell_info(); + }); + }); + } + } + ); + set_level(); +}; + +const update_hds = (source) => { + var newPool = {}; + Object.keys(source).forEach((dieType) => { + newPool[`d${dieType}`] = { + size: source[dieType], + }; + }); + getHitDicePool((allPool) => { + let hd = 0; + let hdMax = 0; + const existingPool = Object.keys(allPool).filter((die) => { + return Object.keys(newPool).indexOf(die) > -1; + }); + Object.keys(newPool).forEach((die) => { + if (existingPool.indexOf(die) > -1) { + const pool = allPool[die]; + const poolUpdate = newPool[die]; + const previousValue = pool.size; + const newValue = poolUpdate.size; + const gained = + poolUpdate.size < pool.available + ? poolUpdate.size - pool.available + : Math.max(newValue - previousValue, 0); + const available = pool.available + gained; + newPool[die]["available"] = available; + } else { + newPool[die]["available"] = newPool[die]["size"]; + } + hd += newPool[die]["available"]; + hdMax += newPool[die]["size"]; + }); + setAttrs({ hit_dice: hd, hit_dice_max: hdMax }, { silent: true }, () => { + updateHitDicePool(newPool, true); + }); + }); +}; + +const set_level = function () { + getAttrs( + [ + "level", + "class", + "arcane_fighter", + "arcane_rogue", + "cust_classname", + "level_calculations", + "class", + "subclass", + "hitdietype", + "use_per_class_hit_dice", + ], + (v) => { + let update = {}; + let callbacks = []; + const finalclass = v["class"]; + let finallevel = v["level"]; + const charclass = v[`class`]; + let hitdie_final = "@{hitdietype}"; + const subclass = v[`subclass`] ? v[`subclass`] + " " : ""; + const casterlevel = finallevel; + let hitDicePool = {}; + hitDicePool[v["hitdietype"]] = finallevel; + + // This nested array is used to determine the overall spellcasting level for the character. + var classes = [[finalclass.toLowerCase(), v[`level`]]]; + + update["hitdice"] = finallevel; + update["caster_level"] = casterlevel; + update["hitdice_max"] = finallevel; + + callbacks.push(() => { + update_spell_slots(); + }); + callbacks.push(() => { + update_pb(); + }); + // callbacks.push(() => { + // update_leveler_display(); + // }); + + setAttrs(update, { silent: true }, () => { + callbacks.forEach((callback) => { + callback(); + }); + }); + } + ); +}; + +var isMultiCaster = function (classes, arcane_fighter, arcane_rogue) { + var singlecaster = false; + var multicaster = false; + _.each(classes, function (multiclass) { + var caster = + getCasterType( + multiclass[0], + multiclass[1], + arcane_fighter, + arcane_rogue + ) > 0; + if (caster && singlecaster) { + multicaster = true; + } else if (caster) { + singlecaster = true; + } + }); + return multicaster; +}; + +var getCasterType = function ( + class_string, + levels, + arcane_fighter, + arcane_rogue +) { + var full = ["bard", "cleric", "druid", "sorcerer", "wizard", "full"]; + var half = ["artificer", "paladin", "ranger", "half"]; + class_string = class_string.toLowerCase(); + if (full.indexOf(class_string) != -1) { + return 1; + } else if (half.indexOf(class_string) != -1) { + if (class_string === "artificer" && levels == 1) return 1; + return levels == 1 ? 0 : 1 / 2; + } else if ( + class_string === "third" || + (class_string === "fighter" && arcane_fighter == 1) || + (class_string === "rogue" && arcane_rogue == 1) + ) { + return levels == 1 || levels == 2 ? 0 : 1 / 3; + } else { + return 0; + } +}; + +var checkCasterLevel = function (classes, arcane_fighter, arcane_rogue) { + var multicaster = isMultiCaster(classes, arcane_fighter, arcane_rogue); + var totalcasterlevel = 0; + _.each(classes, function (multiclass) { + var casterlevel = + parseInt(multiclass[1], 10) * + getCasterType(multiclass[0], multiclass[1], arcane_fighter, arcane_rogue); + // Characters with multiple spellcasting classes round down the casting level for that class + // Character with a single spellcasting class round up the casting level + totalcasterlevel = + totalcasterlevel + + (multicaster ? Math.floor(casterlevel) : Math.ceil(casterlevel)); + }); + return totalcasterlevel; +}; + +var checkHitDie = function (class_string) { + var d10class = ["fighter", "paladin", "ranger"]; + var d8class = [ + "artificer", + "bard", + "cleric", + "druid", + "monk", + "rogue", + "warlock", + ]; + var d6class = ["sorcerer", "wizard"]; + class_string = class_string.toLowerCase(); + if (class_string === "barbarian") { + return "12"; + } else if (d10class.indexOf(class_string) != -1) { + return "10"; + } else if (d8class.indexOf(class_string) != -1) { + return "8"; + } else if (d6class.indexOf(class_string) != -1) { + return "6"; + } else { + return "0"; + } +}; + +var update_leveler_display = function () { + getAttrs(["experience", "level"], function (v) { + let lvl = 0; + let exp = 0; + let update = {}; + const xpLookup = [ + 0, 300, 900, 2700, 6500, 14000, 23000, 34000, 48000, 64000, 85000, 100000, + 120000, 140000, 165000, 195000, 225000, 265000, 305000, 355000, + ]; + update["showleveler"] = 0; + update["invalidXP"] = 0; + if ( + v["level"] && + !isNaN(parseInt(v["level"], 10)) && + parseInt(v["level"], 10) > 0 + ) { + lvl = parseInt(v["level"], 10); + } + if (v["experience"]) { + let sanitizedXP = SheetUtils.sanitizeXP(v["experience"]); + if (!sanitizedXP) { + update["invalidXP"] = 1; + } else if (Array.isArray(sanitizedXP) && sanitizedXP.length > 0) { + exp = sanitizedXP[0]; + } + } + if (lvl > 0 && lvl < xpLookup.length && exp > 0) { + if (exp >= xpLookup[lvl]) update["showleveler"] = 1; + } + setAttrs(update, { silent: true }); + }); +}; + +const get_spells_slots = (casterLvl, pactMagicLvl) => { + const casterSlots = [ + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [2, 0, 0, 0, 0, 0, 0, 0, 0], + [3, 0, 0, 0, 0, 0, 0, 0, 0], + [4, 2, 0, 0, 0, 0, 0, 0, 0], + [4, 3, 0, 0, 0, 0, 0, 0, 0], + [4, 3, 2, 0, 0, 0, 0, 0, 0], + [4, 3, 3, 0, 0, 0, 0, 0, 0], + [4, 3, 3, 1, 0, 0, 0, 0, 0], + [4, 3, 3, 2, 0, 0, 0, 0, 0], + [4, 3, 3, 3, 1, 0, 0, 0, 0], + [4, 3, 3, 3, 2, 0, 0, 0, 0], + [4, 3, 3, 3, 2, 1, 0, 0, 0], + [4, 3, 3, 3, 2, 1, 0, 0, 0], + [4, 3, 3, 3, 2, 1, 1, 0, 0], + [4, 3, 3, 3, 2, 1, 1, 0, 0], + [4, 3, 3, 3, 2, 1, 1, 1, 0], + [4, 3, 3, 3, 2, 1, 1, 1, 0], + [4, 3, 3, 3, 2, 1, 1, 1, 1], + [4, 3, 3, 3, 3, 1, 1, 1, 1], + [4, 3, 3, 3, 3, 2, 1, 1, 1], + [4, 3, 3, 3, 3, 2, 2, 1, 1], + ]; + const pactMagicSlots = [ + [0, 0, 0, 0, 0, 0, 0, 0, 0], + [1, 0, 0, 0, 0, 0, 0, 0, 0], + [2, 0, 0, 0, 0, 0, 0, 0, 0], + [0, 2, 0, 0, 0, 0, 0, 0, 0], + [0, 2, 0, 0, 0, 0, 0, 0, 0], + [0, 0, 2, 0, 0, 0, 0, 0, 0], + [0, 0, 2, 0, 0, 0, 0, 0, 0], + [0, 0, 0, 2, 0, 0, 0, 0, 0], + [0, 0, 0, 2, 0, 0, 0, 0, 0], + [0, 0, 0, 0, 2, 0, 0, 0, 0], + [0, 0, 0, 0, 2, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 3, 0, 0, 0, 0], + [0, 0, 0, 0, 4, 0, 0, 0, 0], + [0, 0, 0, 0, 4, 0, 0, 0, 0], + [0, 0, 0, 0, 4, 0, 0, 0, 0], + [0, 0, 0, 0, 4, 0, 0, 0, 0], + ]; + const slots = casterSlots[casterLvl].map((slots, level) => { + return slots + pactMagicSlots[pactMagicLvl][level]; + }); + return slots +}; +const update_spell_slots = () => { + const request = [ + "level", + "lvl1_slots_mod", + "lvl2_slots_mod", + "lvl3_slots_mod", + "caster_level", + "class" + ]; + getAttrs(request, (response) => { + const level = response.level; + const moveslots = (level == 1) ? 2 : + (level == 2) ? 2 : + (level == 3) ? 3 : + (level == 4) ? 3 : + (level == 5) ? 4 : + (level == 6) ? 4 : + 0; + const totalSlots = get_spells_slots(+response.caster_level, 0); + const update = {}; + update["moves_total"] = moveslots; + if (response.caster_level == 0) { + for (let i = 1; i <= 3; i++) { + update[`lvl${i}_slots_total`] = 0; + } + } else { + for (let i = 1; i <= 3; i++) { + update[`lvl${i}_slots_total`] = totalSlots[i - 1]; + } + } + setAttrs(update, {silent:true}) + }) +}; + +var update_pb = function () { + callbacks = []; + getAttrs(["level", "pb_type", "pb_custom"], function (v) { + var update = {}; + var pb = 2; + var lvl = parseInt(v["level"], 10); + if (lvl < 5) { + pb = "2"; + } else if (lvl < 9) { + pb = "3"; + } else if (lvl < 13) { + pb = "4"; + } else if (lvl < 17) { + pb = "5"; + } else { + pb = "6"; + } + var jack = Math.floor(pb / 2); + if (v["pb_type"] === "die") { + update["jack"] = "d" + pb; + update["pb"] = "d" + pb * 2; + update["pbd_safe"] = "cs0cf0"; + } else if ( + v["pb_type"] === "custom" && + v["pb_custom"] && + v["pb_custom"] != "" + ) { + update["pb"] = v["pb_custom"]; + update["jack"] = !isNaN(parseInt(v["pb_custom"], 10)) + ? Math.floor(parseInt(v["pb_custom"], 10) / 2) + : jack; + update["pbd_safe"] = ""; + } else { + update["pb"] = pb; + update["jack"] = jack; + update["pbd_safe"] = ""; + } + callbacks.push(function () { + update_attacks("all"); + }); + callbacks.push(function () { + update_spell_info(); + }); + callbacks.push(function () { + update_jack_attr(); + }); + callbacks.push(function () { + update_initiative(); + }); + callbacks.push(function () { + update_tool("all"); + }); + callbacks.push(function () { + update_all_saves(); + }); + callbacks.push(function () { + update_skills([ + "athletics", + "acrobatics", + "sleight_of_hand", + "stealth", + "arcana", + "history", + "investigation", + "nature", + "religion", + "animal_handling", + "insight", + "medicine", + "perception", + "survival", + "deception", + "intimidation", + "performance", + "persuasion", + ]); + }); + + setAttrs(update, { silent: true }, function () { + callbacks.forEach(function (callback) { + callback(); + }); + }); + }); +}; + +var update_jack_attr = function () { + var update = {}; + getAttrs(["jack_of_all_trades", "jack"], function (v) { + if (v["jack_of_all_trades"] && v["jack_of_all_trades"] != 0) { + update["jack_bonus"] = "+" + v["jack"]; + update["jack_attr"] = "+" + v["jack"] + "@{pbd_safe}"; + } else { + update["jack_bonus"] = ""; + update["jack_attr"] = ""; + } + setAttrs(update, { silent: true }); + }); +}; + +var update_spell_info = function (attr) { + var update = {}; + getAttrs( + [ + "spellcasting_ability", + "spell_dc_mod", + "globalmagicmod", + "strength_mod", + "dexterity_mod", + "constitution_mod", + "intelligence_mod", + "wisdom_mod", + "charisma_mod", + ], + function (v) { + if ( + attr && + v["spellcasting_ability"] && + v["spellcasting_ability"].indexOf(attr) === -1 + ) { + return; + } + if ( + !v["spellcasting_ability"] || + (v["spellcasting_ability"] && v["spellcasting_ability"] === "0*") + ) { + update["spell_attack_bonus"] = "0"; + update["spell_save_dc"] = "0"; + var callback = function () { + update_attacks("spells"); + }; + setAttrs(update, { silent: true }, callback); + return; + } + var attr = attr ? attr : ""; + + var ability = parseInt( + v[ + v["spellcasting_ability"].substring( + 2, + v["spellcasting_ability"].length - 2 + ) + ], + 10 + ); + var spell_mod = + v["globalmagicmod"] && !isNaN(parseInt(v["globalmagicmod"], 10)) + ? parseInt(v["globalmagicmod"], 10) + : 0; + var atk = + v["globalmagicmod"] && !isNaN(parseInt(v["globalmagicmod"], 10)) + ? ability + parseInt(v["globalmagicmod"], 10) + : ability; + var dc = + v["spell_dc_mod"] && !isNaN(parseInt(v["spell_dc_mod"], 10)) + ? 8 + ability + parseInt(v["spell_dc_mod"], 10) + : 8 + ability; + var itemfields = ["pb_type", "pb"]; + + getSectionIDs("repeating_inventory", function (idarray) { + _.each(idarray, function (currentID, i) { + itemfields.push("repeating_inventory_" + currentID + "_equipped"); + itemfields.push( + "repeating_inventory_" + currentID + "_itemmodifiers" + ); + }); + getAttrs(itemfields, function (v) { + _.each(idarray, function (currentID) { + if ( + (!v["repeating_inventory_" + currentID + "_equipped"] || + v["repeating_inventory_" + currentID + "_equipped"] === "1") && + v["repeating_inventory_" + currentID + "_itemmodifiers"] && + v["repeating_inventory_" + currentID + "_itemmodifiers"] + .toLowerCase() + .indexOf("spell" > -1) + ) { + var mods = v[ + "repeating_inventory_" + currentID + "_itemmodifiers" + ] + .toLowerCase() + .split(","); + _.each(mods, function (mod) { + if (mod.indexOf("spell attack") > -1) { + var substr = mod.slice( + mod.lastIndexOf("spell attack") + "spell attack".length + ); + atk = + substr && substr.length > 0 && !isNaN(parseInt(substr, 10)) + ? atk + parseInt(substr, 10) + : atk; + spell_mod = + substr && substr.length > 0 && !isNaN(parseInt(substr, 10)) + ? spell_mod + parseInt(substr, 10) + : spell_mod; + } + if (mod.indexOf("spell dc") > -1) { + var substr = mod.slice( + mod.lastIndexOf("spell dc") + "spell dc".length + ); + dc = + substr && substr.length > 0 && !isNaN(parseInt(substr, 10)) + ? dc + parseInt(substr, 10) + : dc; + } + }); + } + }); + + if (v["pb_type"] && v["pb_type"] === "die") { + atk = atk + "+" + v["pb"]; + //Fixing Spell DC when using type Die + //By Miguel + //Used to be equals to: dc + parseInt(v["pb"].substring(1), 10) / 2 + dc = dc + "+" + v["pb"]; + } else { + atk = parseInt(atk, 10) + parseInt(v["pb"], 10); + dc = parseInt(dc, 10) + parseInt(v["pb"], 10); + } + update["spell_attack_mod"] = spell_mod; + update["spell_attack_bonus"] = atk; + update["spell_save_dc"] = dc; + var callback = function () { + update_attacks("spells"); + }; + setAttrs(update, { silent: true }, callback); + }); + }); + } + ); +}; + +var update_passive_perception = function () { + getAttrs( + ["pb_type", "passiveperceptionmod", "perception_bonus"], + function (v) { + var passive_perception = 10; + var mod = !isNaN(parseInt(v["passiveperceptionmod"], 10)) + ? parseInt(v["passiveperceptionmod"], 10) + : 0; + var bonus = !isNaN(parseInt(v["perception_bonus"], 10)) + ? parseInt(v["perception_bonus"], 10) + : 0; + if ( + v["pb_type"] && + v["pb_type"] === "die" && + v["perception_bonus"] && + isNaN(v["perception_bonus"]) && + v["perception_bonus"].indexOf("+") > -1 + ) { + var pieces = v["perception_bonus"].split(/\+|d/); + var base = !isNaN(parseInt(pieces[0], 10)) + ? parseInt(pieces[0], 10) + : 0; + var num_dice = !isNaN(parseInt(pieces[1], 10)) + ? parseInt(pieces[1], 10) + : 1; + var half_pb_die = !isNaN(parseInt(pieces[2], 10)) + ? parseInt(pieces[2], 10) / 2 + : 2; + bonus = base + num_dice * half_pb_die; + } + passive_perception = passive_perception + bonus + mod; + setAttrs({ passive_wisdom: passive_perception }); + } + ); +}; + +var update_race_display = function () { + getAttrs(["race", "subrace"], function (v) { + var final_race = ""; + final_race = v.subrace ? v.subrace : v.race; + if (v.race.toLowerCase() === "dragonborn") { + final_race = v.race; + } + setAttrs({ race_display: final_race }); + }); +}; + +var organize_section_proficiencies = function () { + getSectionIDs("proficiencies", function (ids) { + var attribs = ["_reporder_repeating_proficiencies"]; + _.each(ids, function (id) { + attribs.push("repeating_proficiencies_" + id + "_prof_type"); + attribs.push("repeating_proficiencies_" + id + "_name"); + }); + + getAttrs(attribs, function (v) { + var final_array = _(ids) + .chain() + .sortBy(function (id) { + return v["repeating_proficiencies_" + id + "_name"]; + }) + .sortBy(function (id) { + return v["repeating_proficiencies_" + id + "_prof_type"]; + }) + .value(); + _.each(final_array, function (id) {}); + if (final_array && final_array.length > 0) { + setSectionOrder("proficiencies", final_array); + } + }); + }); +}; + +const update_challenge = () => { + getAttrs(["npc_challenge"], (v) => { + let update = {}; + const challengeRatingsXP = { + 0: "10", + "1/8": "25", + "1/4": "50", + "1/2": "100", + 1: "200", + 2: "450", + 3: "700", + 4: "1100", + 5: "1800", + 6: "2300", + 7: "2900", + 8: "3900", + 9: "5000", + 10: "5900", + 11: "7200", + 12: "8400", + 13: "10000", + 14: "11500", + 15: "13000", + 16: "15000", + 17: "18000", + 18: "20000", + 19: "22000", + 20: "25000", + 21: "33000", + 22: "41000", + 23: "50000", + 24: "62000", + 25: "75000", + 26: "90000", + 27: "105000", + 28: "120000", + 29: "135000", + 30: "155000", + }; + + const xp = parseInt(challengeRatingsXP[v.npc_challenge]) || 0; + const pb = + xp <= 1100 + ? 2 + : xp <= 3900 + ? 3 + : xp <= 8400 + ? 4 + : xp <= 15000 + ? 5 + : xp <= 25000 + ? 6 + : xp <= 62000 + ? 7 + : xp <= 120000 + ? 8 + : xp <= 155000 + ? 9 + : 0; + + update["npc_xp"] = xp; + update["pb_custom"] = pb; + update["pb_type"] = "custom"; + setAttrs(update, { silent: true }, function () { + update_pb(); + }); + }); +}; + +const update_npc_saves = () => { + const list = [ + "npc_str_save_base", + "npc_dex_save_base", + "npc_con_save_base", + "npc_int_save_base", + "npc_wis_save_base", + "npc_cha_save_base", + ]; + const type = "save"; + update_npc_lists(list, type); +}; + +const update_npc_skills = () => { + const list = [ + "npc_acrobatics_base", + "npc_animal_handling_base", + "npc_arcana_base", + "npc_athletics_base", + "npc_deception_base", + "npc_history_base", + "npc_insight_base", + "npc_intimidation_base", + "npc_investigation_base", + "npc_medicine_base", + "npc_nature_base", + "npc_perception_base", + "npc_performance_base", + "npc_persuasion_base", + "npc_religion_base", + "npc_sleight_of_hand_base", + "npc_stealth_base", + "npc_survival_base", + ]; + const type = "skills"; + update_npc_lists(list, type); +}; + +const update_npc_lists = (list, type) => { + getAttrs(list, function (v) { + let update = {}; + let last_save = 0; + let npc_flag = 0; + + _.each(list.reverse(), (base) => { + const attr = base.slice(4, -5); //Remove npc_ and _base + let item = parseInt(v[`${base}`], 10); + + // CSS will add comma :after 2 & 4 and +/- :before + // 1 = Positive Number, 2 = Last Number, 3 = Negative Number, 4 = Last Negative Number + if ((v[`${base}`] && !isNaN(item)) || v[`${base}`] === 0) { + if (last_save === 0) { + last_save = 1; + item_flag = item < 0 ? 4 : 2; + } else { + item_flag = item < 0 ? 3 : 1; + } + } else { + item_flag = 0; + item = ""; + } + + update[`npc_${attr}_flag`] = item_flag; + update[`npc_${attr}`] = item; + + npc_flag += item_flag; + }); + + const flagAttr = type === "save" ? "saving" : type; + update[`npc_${flagAttr}_flag`] = npc_flag === 0 ? "" : npc_flag; + + setAttrs(update, { silent: true }); + }); +}; + +var update_npc_action = function (update_id, fieldset) { + if (update_id.substring(0, 1) === "-" && update_id.length === 20) { + do_update_npc_action([update_id], fieldset); + } else if (update_id === "all") { + var mythic_array = []; + var legendary_array = []; + var bonus_array = []; + var actions_array = []; + getSectionIDs("repeating_npcaction-l", function (idarray) { + legendary_array = idarray; + if (legendary_array.length > 0) { + do_update_npc_action(legendary_array, "npcaction-l"); + } + getSectionIDs("repeating_npcaction-m", function (idarray) { + mythic_array = idarray; + if (mythic_array.length > 0) { + do_update_npc_action(mythic_array, "npcaction-m"); + } + getSectionIDs("repeating_npcbonusaction", function (idarray) { + bonus_array = idarray; + if (bonus_array.length > 0) { + do_update_npc_action(actions_array, "npcaction"); + } + getSectionIDs("repeating_npcaction", function (idarray) { + actions_array = idarray.filter(function (i) { + return ( + legendary_array.indexOf(i) < 0 && + mythic_array.indexOf(i) < 0 && + bonus_array.indexOf(i) < 0 + ); + }); + if (actions_array.length > 0) { + do_update_npc_action(actions_array, "npcaction"); + } + }); + }); + }); + }); + } +}; + +var do_update_npc_action = function (action_array, fieldset) { + var repvar = `repeating_${fieldset}_`; + var action_attribs = ["dtype"]; + _.each(action_array, function (actionid) { + action_attribs.push(repvar + actionid + "_attack_flag"); + action_attribs.push(repvar + actionid + "_attack_type"); + action_attribs.push(repvar + actionid + "_attack_range"); + action_attribs.push(repvar + actionid + "_attack_target"); + action_attribs.push(repvar + actionid + "_attack_tohit"); + action_attribs.push(repvar + actionid + "_attack_damage"); + action_attribs.push(repvar + actionid + "_attack_damagetype"); + action_attribs.push(repvar + actionid + "_attack_damage2"); + action_attribs.push(repvar + actionid + "_attack_damagetype2"); + }); + + getAttrs(action_attribs, function (v) { + _.each(action_array, function (actionid) { + var callbacks = []; + var update = {}; + var onhit = ""; + var damage_flag = ""; + var range = ""; + var attack_flag = + v[repvar + actionid + "_attack_flag"] && + v[repvar + actionid + "_attack_flag"] != "0" + ? "{{attack=1}}" + : ""; + var tohit = + v[repvar + actionid + "_attack_tohit"] && + isNaN(parseInt(v[repvar + actionid + "_attack_tohit"], 10)) === false + ? parseInt(v[repvar + actionid + "_attack_tohit"], 10) + : 0; + if ( + v[repvar + actionid + "_attack_type"] && + v[repvar + actionid + "_attack_range"] + ) { + if (v[repvar + actionid + "_attack_type"] === "Melee") { + var rangetype = "Reach"; + } else { + var rangetype = "Range"; + } + range = ", " + rangetype + " " + v[repvar + actionid + "_attack_range"]; + } + var target = + v[repvar + actionid + "_attack_target"] && + v[repvar + actionid + "_attack_target"] != "" + ? ", " + v[repvar + actionid + "_attack_target"] + : ""; + var attack_tohitrange = "+" + tohit + range + target; + var dmg1 = + v[repvar + actionid + "_attack_damage"] && + v[repvar + actionid + "_attack_damage"] != "" + ? v[repvar + actionid + "_attack_damage"] + : ""; + var dmg1type = + v[repvar + actionid + "_attack_damagetype"] && + v[repvar + actionid + "_attack_damagetype"] != "" + ? " " + v[repvar + actionid + "_attack_damagetype"] + : ""; + var dmg2 = + v[repvar + actionid + "_attack_damage2"] && + v[repvar + actionid + "_attack_damage2"] != "" + ? v[repvar + actionid + "_attack_damage2"] + : ""; + var dmg2type = + v[repvar + actionid + "_attack_damagetype2"] && + v[repvar + actionid + "_attack_damagetype2"] != "" + ? " " + v[repvar + actionid + "_attack_damagetype2"] + : ""; + var dmgspacer = dmg1 != "" && dmg2 != "" ? " plus " : ""; + + var parsed_dmg1 = parse_roll_string(dmg1); + var parsed_dmg2 = parse_roll_string(dmg2); + + if (dmg1 != "") { + onhit = + onhit + parsed_dmg1.avg + " (" + dmg1 + ")" + dmg1type + " damage"; + } + dmgspacer = dmg1 != "" && dmg2 != "" ? " plus " : ""; + onhit = onhit + dmgspacer; + if (dmg2 != "") { + onhit = + onhit + parsed_dmg2.avg + " (" + dmg2 + ")" + dmg2type + " damage"; + } + if (dmg1 != "" || dmg2 != "") { + damage_flag = damage_flag + "{{damage=1}} "; + } + if (dmg1 != "") { + damage_flag = damage_flag + "{{dmg1flag=1}} "; + } + if (dmg2 != "") { + damage_flag = damage_flag + "{{dmg2flag=1}} "; + } + + var crit1 = ""; + if (parsed_dmg1.rolls.length > 0) { + parsed_dmg1.rolls.forEach(function (value) { + crit1 += parsed_dmg1.array[value] + "+"; + }); + crit1 = crit1.substring(0, crit1.length - 1); + } + + var crit2 = ""; + if (parsed_dmg2.rolls.length > 0) { + parsed_dmg2.rolls.forEach(function (value) { + crit2 += parsed_dmg2.array[value] + "+"; + }); + crit2 = crit2.substring(0, crit2.length - 1); + } + + var rollbase = ""; + if (v.dtype === "full") { + if (attack_flag) { + rollbase = + "@{wtype}&{template:npcfullatk} " + + attack_flag + + " @{damage_flag} @{npc_name_flag} {{rname=@{name}}} {{r1=[[@{d20}+(@{attack_tohit}+0)]]}} @{rtype}+(@{attack_tohit}+0)]]}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}} @{charname_output}"; + } else { + if (dmg1) { + rollbase = + "@{wtype}&{template:dmgaction} @{damage_flag} @{npc_name_flag} {{rname=@{name}}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}} @{charname_output}"; + } else { + rollbase = + "@{wtype}&{template:npcaction} @{npc_name_flag} {{rname=@{name}}} {{description=@{show_desc}}} @{charname_output}"; + } + } + } else if ( + v[repvar + actionid + "_attack_flag"] && + v[repvar + actionid + "_attack_flag"] != "0" + ) { + rollbase = `@{wtype}&{template:npcatk} ${attack_flag} @{damage_flag} @{npc_name_flag} {{rname=[@{name}](~repeating_${fieldset}_npc_dmg)}} {{rnamec=[@{name}](~repeating_${fieldset}_npc_crit)}} {{type=[^{attack-u}](~repeating_${fieldset}_npc_dmg)}} {{typec=[^{attack-u}](~repeating_${fieldset}_npc_crit)}} {{r1=[[@{d20}+(@{attack_tohit}+0)]]}} @{rtype}+(@{attack_tohit}+0)]]}} @{charname_output}`; + } else if (dmg1 || dmg2) { + if (attack_flag) { + rollbase = + "@{wtype}&{template:npcdmg} @{damage_flag} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}} @{charname_output}"; + } else { + rollbase = + "@{wtype}&{template:dmgaction} @{damage_flag} @{npc_name_flag} {{rname=@{name}}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}} @{charname_output}"; + } + } else { + rollbase = + "@{wtype}&{template:npcaction} @{npc_name_flag} {{rname=@{name}}} {{description=@{show_desc}}} @{charname_output}"; + } + + update[repvar + actionid + "_attack_tohitrange"] = attack_tohitrange; + update[repvar + actionid + "_attack_onhit"] = onhit; + update[repvar + actionid + "_damage_flag"] = damage_flag; + update[repvar + actionid + "_attack_crit"] = crit1; + update[repvar + actionid + "_attack_crit2"] = crit2; + update[repvar + actionid + "_rollbase"] = rollbase; + setAttrs(update, { silent: true }); + }); + }); +}; + +var parse_roll_string = function (rollstring) { + var out = { array: [], avg: 0, rolls: [] }; + + if (!rollstring || rollstring === "") { + return out; + } + + var rs_regex_initial = /(\-?\d+(?:d\d+)?)/gi; + var rs_regex_repeating = /([\+\-])(\-?\d+(?:d\d+)?)/gi; + var rs_nospace = rollstring.replace(/\s/g, ""); + var rs_initial = rs_regex_initial.exec(rs_nospace); + + if (rs_initial) { + out.array.push(rs_initial[1]); + rs_regex_repeating.lastIndex = rs_regex_initial.lastIndex; + var rs_repeating; + while ((rs_repeating = rs_regex_repeating.exec(rs_nospace))) { + out.array.push(rs_repeating[1], rs_repeating[2]); + } + } + + var add = true; + var dice_regex = /(\d+)d(\d+)/i; + var dice; + + out.array.forEach(function (value, index, array) { + if (value === "+") { + add = true; + } else if (value === "-") { + add = false; + } else if ((dice = dice_regex.exec(value))) { + // this value is a die roll + var dice_avg = Math.floor(+dice[1] * (+dice[2] / 2 + 0.5)); + out.avg += add ? dice_avg : -dice_avg; + out.rolls.push(index); + } else { + // this value is a number + out.avg += add ? +value : -+value; + } + }); + + return out; +}; + +var get_class_level = function (class_name, callback) { + getAttrs( + [ + "class", + "base_level", + "multiclass1_flag", + "multiclass1", + "multiclass1_lvl", + "multiclass2_flag", + "multiclass2", + "multiclass2_lvl", + "multiclass3_flag", + "multiclass3", + "multiclass3_lvl", + ], + function (attrs) { + var regex = new RegExp(class_name, "i"); + if (regex.test(attrs["class"])) { + callback(attrs.base_level); + } else if ( + attrs.multiclass1_flag && + attrs.multiclass1_flag !== "0" && + regex.test(attrs.multiclass1) + ) { + callback(attrs.multiclass1_lvl); + } else if ( + attrs.multiclass2_flag && + attrs.multiclass2_flag !== "0" && + regex.test(attrs.multiclass2) + ) { + callback(attrs.multiclass2_lvl); + } else if ( + attrs.multiclass3_flag && + attrs.multiclass3_flag !== "0" && + regex.test(attrs.multiclass3) + ) { + callback(attrs.multiclass3_lvl); + } else { + callback("0"); + } + } + ); +}; + +var update_globaldamage = function (callback) { + getSectionIDs("damagemod", function (ids) { + if (ids) { + var fields = {}; + var attr_name_list = []; + ids.forEach(function (id) { + fields[id] = {}; + attr_name_list.push( + `repeating_damagemod_${id}_global_damage_active_flag`, + `repeating_damagemod_${id}_global_damage_name`, + `repeating_damagemod_${id}_global_damage_damage`, + `repeating_damagemod_${id}_global_damage_critical_damage`, + `repeating_damagemod_${id}_global_damage_type` + ); + }); + + getAttrs(attr_name_list, function (attrs) { + var regex = + /^repeating_damagemod_(.+)_global_damage_(active_flag|name|critical_damage|damage|type)$/; + _.each(attrs, function (obj, name) { + var r = regex.exec(name); + if (r) { + fields[r[1]][r[2]] = obj; + } + }); + + var update = { + global_damage_mod_roll: "", + global_damage_mod_crit: "", + global_damage_mod_type: "", + }; + const simpleDamageRegex = new RegExp( + /([0-9]*d[0-9]+)|(\[.+?\])|\+|\-|\/|\*| /gi + ); + _.each(fields, function (element) { + if (element.active_flag != "0") { + if (element.name && element.damage) { + update["global_damage_mod_roll"] += + element.damage + "[" + element.name + "]" + "+"; + } + if (element.name && element.critical_damage) { + const criticalDamage = element.critical_damage; + const criticalSource = element.name; + update["global_damage_mod_crit"] = update[ + "global_damage_mod_crit" + ] + ? `${update["global_damage_mod_crit"]} + ${criticalDamage}[${criticalSource}]` + : `${criticalDamage}[${criticalSource}]`; + update["global_damage_mod_crit"] = update[ + "global_damage_mod_crit" + ] + .replace(/\+$/gi, "") + .trim(); + } else if (element.name && element.damage) { + const criticalDamage = element.damage; + const criticalSource = element.name; + const simpleDamage = + element.damage.replace(simpleDamageRegex, "").length == 0; + if (simpleDamage) { + update["global_damage_mod_crit"] = update[ + "global_damage_mod_crit" + ] + ? `${update["global_damage_mod_crit"]} + ${criticalDamage}[${criticalSource}]` + : `${criticalDamage}[${criticalSource}]`; + update["global_damage_mod_crit"] = update[ + "global_damage_mod_crit" + ] + .replace(/\+$/gi, "") + .trim(); + } + //removing this regex + // Remove any non-roll damage modifiers from the global damage modifier for the crit rolls + // Will also remove any labels attached to these non-roll damage modifiers + //.replace(/(?:[+\-*\/%]|\*\*|^)\s*\d+(?:\[.*?])?(?!\d?d\d+)/gi, '') + // If what was just replace removed the first damage modifier, remove any now precending plus signs + //.replace(/(?:^\+)/i, ''); + } + if (element.type) { + update["global_damage_mod_type"] += element.type + "/"; + } + } + }); + + update["global_damage_mod_roll"] = update[ + "global_damage_mod_roll" + ].replace(/\+(?=$)/, ""); + update["global_damage_mod_type"] = update[ + "global_damage_mod_type" + ].replace(/\/(?=$)/, ""); + + setAttrs(update, { silent: true }, function () { + update_attacks("all"); + if (typeof callback == "function") callback(); + }); + }); + } + }); +}; + +var update_globalattack = function (callback) { + getSectionIDs("tohitmod", function (ids) { + if (ids) { + var fields = {}; + var attr_name_list = []; + ids.forEach(function (id) { + fields[id] = {}; + attr_name_list.push( + `repeating_tohitmod_${id}_global_attack_active_flag`, + `repeating_tohitmod_${id}_global_attack_roll`, + `repeating_tohitmod_${id}_global_attack_name` + ); + }); + getAttrs(attr_name_list, function (attrs) { + var regex = + /^repeating_tohitmod_(.+)_global_attack_(active_flag|roll|name)$/; + _.each(attrs, function (obj, name) { + var r = regex.exec(name); + if (r) { + fields[r[1]][r[2]] = obj; + } + }); + + var update = { global_attack_mod: "" }; + _.each(fields, function (element) { + if (element.active_flag != "0") { + if (element.roll && element.roll !== "") { + update["global_attack_mod"] += + element.roll + "[" + element.name + "]" + "+"; + } + } + }); + if (update["global_attack_mod"] !== "") { + update["global_attack_mod"] = + "[[" + update["global_attack_mod"].replace(/\+(?=$)/, "") + "]]"; + } + setAttrs(update, { silent: true }, function () { + if (typeof callback == "function") callback(); + }); + }); + } + }); +}; + +var update_globalsaves = function (callback) { + getSectionIDs("savemod", function (ids) { + if (ids) { + var fields = {}; + var attr_name_list = []; + ids.forEach(function (id) { + fields[id] = {}; + attr_name_list.push( + `repeating_savemod_${id}_global_save_active_flag`, + `repeating_savemod_${id}_global_save_roll`, + `repeating_savemod_${id}_global_save_name` + ); + }); + getAttrs(attr_name_list, function (attrs) { + var regex = + /^repeating_savemod_(.+)_global_save_(active_flag|roll|name)$/; + _.each(attrs, function (obj, name) { + var r = regex.exec(name); + if (r) { + fields[r[1]][r[2]] = obj; + } + }); + + var update = { global_save_mod: "" }; + _.each(fields, function (element) { + if (element.active_flag != "0") { + if (element.roll && element.roll !== "") { + update["global_save_mod"] += + element.roll + "[" + element.name + "]" + "+"; + } + } + }); + if (update["global_save_mod"] !== "") { + update["global_save_mod"] = + "[[" + update["global_save_mod"].replace(/\+(?=$)/, "") + "]]"; + } + setAttrs(update, { silent: true }, function () { + if (typeof callback == "function") callback(); + }); + }); + } + }); +}; + +var update_globalskills = function (callback) { + getSectionIDs("skillmod", function (ids) { + if (ids) { + var fields = {}; + var attr_name_list = []; + ids.forEach(function (id) { + fields[id] = {}; + attr_name_list.push( + `repeating_skillmod_${id}_global_skill_active_flag`, + `repeating_skillmod_${id}_global_skill_roll`, + `repeating_skillmod_${id}_global_skill_name` + ); + }); + getAttrs(attr_name_list, function (attrs) { + var regex = + /^repeating_skillmod_(.+)_global_skill_(active_flag|roll|name)$/; + _.each(attrs, function (obj, name) { + var r = regex.exec(name); + if (r) { + fields[r[1]][r[2]] = obj; + } + }); + + var update = { global_skill_mod: "" }; + _.each(fields, function (element) { + if (element.active_flag != "0") { + if (element.roll && element.roll !== "") { + update["global_skill_mod"] += + element.roll + "[" + element.name + "]" + "+"; + } + } + }); + if (update["global_skill_mod"] !== "") { + update["global_skill_mod"] = + "[[" + update["global_skill_mod"].replace(/\+(?=$)/, "") + "]]"; + } + setAttrs(update, { silent: true }, function () { + if (typeof callback == "function") callback(); + }); + }); + } + }); +}; + +var check_l1_mancer = function () { + getAttrs( + [ + "class", + "base_level", + "strength_base", + "dexterity_base", + "constitution_base", + "intelligence_base", + "wisdom_base", + "charisma_base", + "l1mancer_status", + "version", + "charactermancer_step", + ], + function (v) { + if (!v["version"] || parseFloat(v["version"]) < 2.2) { + return; + } + if (v["l1mancer_status"] && v["l1mancer_status"] === "completed") { + return; + } + + if ( + v["charactermancer_step"] && + v["charactermancer_step"].split("-")[0] == "l1" + ) { + startCharactermancer(v["charactermancer_step"]); + } else { + if (v["l1mancer_status"] && v["l1mancer_status"] === "relaunch") { + startCharactermancer("l1-welcome"); + } else { + setAttrs({ mancer_confirm_flag: 1 }); + } + } + } + ); +}; + +var check_lp_mancer = function () { + getAttrs( + [ + "class", + "base_level", + "strength_base", + "dexterity_base", + "constitution_base", + "intelligence_base", + "wisdom_base", + "charisma_base", + "l1mancer_status", + "lpmancer_status", + "version", + "charactermancer_step", + ], + function (v) { + if ( + v["lpmancer_status"] === "active" && + v["charactermancer_step"] && + v["charactermancer_step"].split("-")[0] == "lp" + ) { + startCharactermancer(v["charactermancer_step"]); + } + } + ); +}; + +on("mancer:cancel", function (eventinfo) { + if (!eventinfo["value"]) { + return; + } + var update = {}; + + if ( + eventinfo["value"] === "l1-welcome" || + eventinfo["value"] === "l1-cancel" + ) { + update["l1mancer_status"] = "completed"; + update["charactermancer_step"] = "l1-welcome"; + deleteCharmancerData([ + "l1-welcome", + "l1-race", + "l1-class", + "l1-abilities", + "l1-background", + "l1-equipment", + "l1-spells", + "l1-summary", + ]); + } else if (eventinfo["value"].substring(0, 3) === "l1-") { + update["l1mancer_status"] = eventinfo["value"]; + } else if ( + eventinfo["value"] === "lp-welcome" || + eventinfo["value"] === "lp-cancel" + ) { + update["lpmancer_status"] = ""; + update["charactermancer_step"] = ""; + deleteCharmancerData([ + "lp-welcome", + "lp-levels", + "lp-choices", + "lp-asi", + "lp-spells", + "lp-summary", + ]); + } else if (eventinfo["value"].substring(0, 3) === "lp-") { + update["charactermancer_step"] = ""; + update["lpmancer_status"] = ""; + } + setAttrs(update); +}); + +on("change:hitdie_final", function (eventinfo) { + setHitdieroll(); +}); + +on("sheet:opened", function (eventinfo) { + setHitdieroll(); + update_leveler_display(); +}); + +var setHitdieroll = function () { + getAttrs(["npc", "hitdietype"], function (v) { + if ((v["npc"] && v["npc"] == 1) || !v["hitdietype"]) return; + v["hitdietype"] = + globalAttributesByCategory.hitDieTypes.indexOf(`d${v["hitdietype"]}`) > -1 + ? v["hitdietype"] + : "4"; + setAttrs({ hitdieroll: v["hitdietype"] }); + }); +}; + +var flagManager = new FlagManager("ui_flags"); +[ + { section: "npcaction", button: "edit" }, + { section: "npcbonusaction", button: "edit" }, + { section: "npctrait", button: "edit" }, + { section: "npcreaction", button: "edit" }, + { section: "npcaction-l", button: "edit" }, + { section: "npcaction-m", button: "edit" }, +].forEach((flag) => { + on(`clicked:repeating_${flag.section}:${flag.button}`, function (eventInfo) { + SheetUtils.getSectionOrder(flag.section, (ids) => { + const uid = SheetUtils.getUID(eventInfo.sourceAttribute).toLowerCase(); + const index = ids.indexOf(uid); + const flagName = `repeating_${flag.section}_${flag.button}_${index}_${uid}`; + flagManager.toggleFlag(flagName); + }); + }); + on(`remove:repeating_${flag.section}`, function (eventInfo) { + flagManager.syncFlagsWithRepeatingSection(flag.section); + }); + on(`change:_reporder:${flag.section}`, function (eventInfo) { + flagManager.syncFlagsWithRepeatingSection(flag.section); + }); + on(`change:repeating_${flag.section}`, function (eventInfo) { + if ( + !eventInfo.sourceType || + eventInfo.sourceType !== "player" || + (eventInfo.sourceAttribute && + eventInfo.sourceAttribute.indexOf("_rollbase") > -1) + ) + return; + SheetUtils.getSectionOrder(flag.section, (ids) => { + const uid = SheetUtils.getUID(eventInfo.sourceAttribute.toLowerCase()); + const index = ids.indexOf(uid); + if (index === ids.length - 1) { + const flagName = `repeating_${flag.section}_${flag.button}_${index}_${uid}`; + flagManager.addFlag(flagName); + } + }); + }); +}); + +var showOptionalAttributeFields = function () { + const optionalAttributesClasses = SheetUtils.toLowerCase( + abilityListEnabledOptionals + ).map((key) => `sheet-${key}_toggle`); + optionalAttributesClasses.forEach((attribute) => { + showChoices([attribute]); + }); +}; + +var getAllSpellsIDS = function (callback) { + const levels = ["cantrip", "1", "2", "3", "4", "5", "6", "6", "8", "9"]; + let currentLevel = 0; + let spells = []; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 1; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 2; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 3; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 4; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 5; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 6; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push(`repeating_spell-${levels[currentLevel]}_${id}`); + }); + currentLevel = 7; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push( + `repeating_spell-${levels[currentLevel]}_${id}` + ); + }); + currentLevel = 8; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push( + `repeating_spell-${levels[currentLevel]}_${id}` + ); + }); + currentLevel = 9; + getSectionIDs(`spell-${levels[currentLevel]}`, (ids) => { + ids.forEach((id) => { + spells.push( + `repeating_spell-${levels[currentLevel]}_${id}` + ); + }); + callback(spells); + }); + }); + }); + }); + }); + }); + }); + }); + }); + }); +}; + +on("sheet:opened change:honor_toggle change:sanity_toggle", (eventInfo) => { + getAttrs(["honor_toggle", "sanity_toggle"], (values) => { + abilityListEnabledOptionals = SheetUtils.toCapitalCase( + Object.keys(values) + .filter((key) => { + return values[key] === "1"; + }) + .map((key) => key.replace("_toggle", "")) + ); + abilityList = SheetUtils.toCapitalCase( + globalAttributesByCategory.abilities + ).concat(abilityListEnabledOptionals); + }); +}); + +globalAttributesByCategory.skills.all().forEach((skill) => { + on(`change:${skill}_bonus`, () => { + updateSkillRoll(skill); + }); +}); + +globalAttributesByCategory.abilitiesWithAllOptionals.forEach((ability) => { + on(`change:${ability}_save_bonus`, () => { + updateSavingRoll(ability); + }); +}); + +on("change:rtype change:reliable_talent change:pb", (eventInfo) => { + getSectionIDs("repeating_tool", (idarray) => { + updateSavingRolls(globalAttributesByCategory.abilitiesWithAllOptionals); + updateSkillRolls(globalAttributesByCategory.skills.all()); + do_update_tool(idarray); + }); +}); + +var updateSkillRoll = function (skill, callback) { + updateSkillRolls([skill], callback); +}; + +var updateSavingRoll = function (saving, callback) { + updateSavingRolls([saving], callback); +}; + +const checkProficiency = function (values, prof) { + return values[prof] && values[prof].indexOf("@{pb}") > -1; +}; + +var updateSavingRolls = function (savings, callback) { + const attrs_prof = savings.map((saving) => { + return `${saving}_save_prof`; + }); + const attrs_bonus = savings.map((saving) => { + return `${saving}_save_bonus`; + }); + getAttrs( + [ + ...attrs_prof, + ...attrs_bonus, + "reliable_talent", + "rtype", + "advantagetoggle", + "queryadvantage", + "pb", + ], + (values) => { + const usingProficiencyDie = + values.pb && String(values.pb).includes("d") ? true : false; + let rtype = values["rtype"].includes("@{advantagetoggle}") + ? values["advantagetoggle"] + : values["rtype"]; + rtype = values["rtype"].includes("@{queryadvantage}") + ? values["queryadvantage"] + : values["rtype"]; + let update = {}; + savings.forEach((saving) => { + let roll; + const isProficient = checkProficiency(values, `${saving}_save_prof`); + if (usingProficiencyDie && isProficient) { + const proficiencyDie = values.pb.match(/^[0-9]/) + ? values.pb + : `${values.pb}`; + const savingBonus = String(values[`${saving}_save_bonus`]) + .replace(proficiencyDie, "") + .replace(/\+{2,}|-{2,}|^[\+-]|[\+-]$/, ""); + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+${savingBonus}]]}} `; + const r3 = ` + [[${proficiencyDie}@{pbd_safe}[Proficiency]]]`; + roll = `@{wtype}&{template:simple3D} {{rname=^{${saving}-save-u}}} {{mod=${ + values[`${saving}_save_bonus`] + }}} {{r1=[[@{d20}+${savingBonus}]]}} {{r3=${r3}}} ${rtypeString}{{global=@{global_save_mod}}} @{charname_output}`; + } else { + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+@{${saving}_save_bonus}@{pbd_safe}]]}} `; + roll = `@{wtype}&{template:simple} {{rname=^{${saving}-save-u}}} {{mod=@{${saving}_save_bonus}}} {{r1=[[@{d20}+@{${saving}_save_bonus}@{pbd_safe}]]}} ${rtypeString}{{global=@{global_save_mod}}} @{charname_output}`; + } + update[`${saving}_save_roll`] = roll; + }); + setAttrs(update, () => { + if (callback) callback(); + }); + } + ); +}; + +var updateSkillRolls = function (skills, callback) { + const attrs_prof = skills.map((skill) => { + return `${skill}_prof`; + }); + const attrs_bonus = skills.map((skill) => { + return `${skill}_bonus`; + }); + const attrs_type = skills.map((skill) => { + return `${skill}_type`; + }); + const ability_mods = globalAttributesByCategory.abilities.map((ability) => { + return `${ability}_mod`; + }); + getAttrs( + [ + ...attrs_prof, + ...attrs_bonus, + ...attrs_type, + ...ability_mods, + "reliable_talent", + "jack_of_all_trades", + "jack", + "rtype", + "advantagetoggle", + "queryadvantage", + "pb", + ], + (values) => { + const usingProficiencyDie = + values.pb && String(values.pb).includes("d") ? true : false; + let rtype = values["rtype"].includes("@{advantagetoggle}") + ? values["advantagetoggle"] + : values["rtype"]; + rtype = values["rtype"].includes("@{queryadvantage}") + ? values["queryadvantage"] + : values["rtype"]; + const query = rtype.indexOf("queryadvantage") > -1; + const isJack = + values["jack_of_all_trades"] && + values["jack_of_all_trades"] == "@{jack}"; + let update = {}; + skills.forEach((skill) => { + let roll; + const isProficient = checkProficiency(values, `${skill}_prof`); + if ( + (usingProficiencyDie && isProficient) || + (usingProficiencyDie && isJack) + ) { + const die = + !isProficient && isJack + ? `${values["jack"]}` + : `${values[`${skill}_type`]}${values.pb}`; + const proficiencyDie = die; + const jackSafeDie = + !isProficient && isJack ? `round(${values.pb}/2)` : proficiencyDie; + const skillBonus = String(values[`${skill}_bonus`]) + .replace(proficiencyDie, "") + .replace(/\+{2,}|-{2,}|^[\+-]|[\+-]$/, ""); + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+${skillBonus}]]}} `; + const r3 = ` + [[${jackSafeDie}@{pbd_safe}[Proficiency]]]`; + roll = `@{wtype}&{template:simple3D} {{rname=^{${skill}-u}}} {{mod=${ + values[`${skill}_bonus`] + }}} {{r1=[[@{d20}+${skillBonus}[Mods]]]}} {{r3=${r3}}} ${rtypeString}{{global=@{global_skill_mod}}} @{charname_output}`; + } else { + let profBonus = + values["pb"] && isProficient ? parseInt(values["pb"]) : 0; + profBonus = + !isProficient && isJack && values["pb"] + ? Math.round(parseInt(values["pb"]) / 2) + : profBonus; + let rollBonuses = `@{${skill}_bonus}[Mods]`; + if ( + values[`${skill}_bonus`] && + values[`${skill}_bonus`].toString().toLowerCase().indexOf("d") === + -1 + ) { + const parentAbility = + globalAttributesByCategory.skills.getParentAbility(skill); + const parentMod = parseInt(values[`${parentAbility}_mod`]); + const otherBonuses = parseInt(values[`${skill}_bonus`]) - profBonus; + const label = otherBonuses > parentMod ? "Mods" : parentAbility; + if (profBonus != 0 && otherBonuses != 0) { + rollBonuses = + `${profBonus}[Proficiency]+${otherBonuses}[${label}]`.replace( + /\+-/g, + "-" + ); + } else if (profBonus == 0 && otherBonuses != 0) { + rollBonuses = `${otherBonuses}[${label}]`.replace(/\+-/g, "-"); + } else if (profBonus != 0 && otherBonuses == 0) { + rollBonuses = `${profBonus}[Proficiency]`.replace(/\+-/g, "-"); + } else { + let rollBonuses = `@{${skill}_bonus}[Mods]`; + } + } + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+${rollBonuses}@{pbd_safe}]]}} `; + roll = `@{wtype}&{template:simple} {{rname=^{${skill}-u}}} {{mod=@{${skill}_bonus}}} {{r1=[[@{d20}+${rollBonuses}@{pbd_safe}]]}} ${rtypeString}{{global=@{global_skill_mod}}} @{charname_output}`; + } + if ( + values["reliable_talent"] && + values["reliable_talent"] == 10 && + values[`${skill}_prof`] && + values[`${skill}_prof`] != 0 + ) { + if (query) { + const queryReplace = "r2=[[{1d20,0d20+10}k1" + .replace("{", "{") + .replace("}", "}") + .replace(",", ","); + roll = roll.replace(/r2=\[\[@{d20}/g, queryReplace); + roll = roll.replace(/@{d20}/g, "{@{d20},0d20+10}k1"); + } else { + roll = roll.replace(/@{d20}/g, "{@{d20},0d20+10}k1"); + } + } + update[`${skill}_roll`] = roll; + }); + setAttrs(update, () => { + if (callback) callback(); + }); + } + ); +}; + +var updateToolRolls = function (toolsIDs, callback) { + const attrs_prof = toolsIDs.map((id) => { + return `repeating_tool_${id}_toolbonus_base`; + }); + const attrs_bonus = toolsIDs.map((id) => { + return `repeating_tool_${id}_toolbonus`; + }); + const attrs_bonus_base = toolsIDs.map((id) => { + return `repeating_tool_${id}_toolbonus_base`; + }); + getAttrs( + [ + ...attrs_prof, + ...attrs_bonus, + ...attrs_bonus_base, + "reliable_talent", + "jack_of_all_trades", + "jack", + "rtype", + "advantagetoggle", + "queryadvantage", + "pb", + ], + (values) => { + const usingProficiencyDie = + values.pb && String(values.pb).includes("d") ? true : false; + let rtype = values["rtype"].includes("@{advantagetoggle}") + ? values["advantagetoggle"] + : values["rtype"]; + rtype = values["rtype"].includes("@{queryadvantage}") + ? values["queryadvantage"] + : values["rtype"]; + const query = rtype.indexOf("queryadvantage") > -1; + let update = {}; + const isJack = + values["jack_of_all_trades"] && + values["jack_of_all_trades"] == "@{jack}"; + toolsIDs.forEach((id) => { + let roll; + if (usingProficiencyDie) { + const isProficient = + values[`repeating_tool_${id}_toolbonus_base`] !== + "(floor(@{pb}/2))"; + const proficiencyType = + values[`repeating_tool_${id}_toolbonus_base`] && + values[`repeating_tool_${id}_toolbonus_base`] === "(@{pb}*2)" + ? "2" + : ""; + const die = + isJack && !isProficient + ? `${proficiencyType}${values["jack"]}` + : `${proficiencyType}${values.pb}`; + const proficiencyDie = die; + const jackSafeDie = + !isProficient && isJack ? `round(${values.pb}/2)` : proficiencyDie; + const skillBonus = String(values[`repeating_tool_${id}_toolbonus`]) + .replace(proficiencyDie, "") + .replace(/\+{2,}|-{2,}|^[\+-]|[\+-]$/, "") + .replace(/\+0|-0/, ""); + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+${skillBonus}]]}} `; + const r3 = ` + [[${jackSafeDie}@{pbd_safe}[Proficiency]]]`; + roll = `@{wtype}&{template:simple3D} {{rname=@{toolname}}} {{mod=${ + values[`repeating_tool_${id}_toolbonus`] + }}} {{r1=[[@{d20}+${skillBonus}[Mods]]]}} {{r3=${r3}}} ${rtypeString}{{global=@{global_skill_mod}}} @{charname_output}`; + } else { + const rtypeString = rtype.includes("{{normal=1}}") + ? "{{normal=1}} " + : `${rtype}+@{toolbonus}[Mods]@{pbd_safe}]]}} `; + roll = `@{wtype}&{template:simple} {{rname=@{toolname}}} {{mod=@{toolbonus}}} {{r1=[[@{d20}+@{toolbonus}[Mods]@{pbd_safe}]]}} ${rtypeString}{{global=@{global_skill_mod}}} @{charname_output}`; + } + if ( + values["reliable_talent"] && + values["reliable_talent"] == 10 && + values[`repeating_tool_${id}_toolbonus_base`] && + values[`repeating_tool_${id}_toolbonus_base`] != "(floor(@{pb}/2))" + ) { + if (query) { + const queryReplace = "r2=[[{1d20,0d20+10}k1" + .replace("{", "{") + .replace("}", "}") + .replace(",", ","); + roll = roll.replace(/r2=\[\[@{d20}/g, queryReplace); + roll = roll.replace(/@{d20}/g, "{@{d20},0d20+10}k1"); + } else { + roll = roll.replace(/@{d20}/g, "{@{d20},0d20+10}k1"); + } + } + update[`repeating_tool_${id}_toolroll`] = roll; + }); + setAttrs(update, () => { + if (callback) callback(); + }); + } + ); +}; + +var updateCharnameOutput = function (npcCallback, pcCallback) { + getAttrs(["npc", "npc_name", "npc_name_flag"], (values) => { + if ( + values["npc"] && + values["npc"] == "1" && + values["npc_name"] && + values["npc_name_flag"] + ) { + const charname = values["npc_name_flag"].replace("name", "charname"); + setAttrs({ charname_output: charname }, () => { + if (npcCallback) npcCallback(); + }); + } else { + if (pcCallback) pcCallback(); + else if (npcCallback) npcCallback(); + } + }); +}; + +on("change:npc_name change:npc_name_flag", (eventInfo) => { + updateCharnameOutput(); +}); + +var getHitDiceAttributeSet = function (id) { + let attributes = []; + attributes.push(`repeating_hd_${id}_type`); + attributes.push(`repeating_hd_${id}_size`); + attributes.push(`repeating_hd_${id}_available`); + return attributes; +}; +var getHitDicePool = function (callback, single) { + getSectionIDs("repeating_hd", (ids) => { + if (single) ids = [single]; + let attributes = []; + ids.forEach((id) => { + attributes = attributes.concat(getHitDiceAttributeSet(id)); + }); + getAttrs(attributes, (values) => { + let pool = {}; + if (single) { + (pool["id"] = ids[0]), + (pool["size"] = parseInt(values[`repeating_hd_${ids[0]}_size`] || 0)), + (pool["available"] = + parseInt(values[`repeating_hd_${ids[0]}_available`]) || 0); + pool["type"] = parseInt(values[`repeating_hd_${ids[0]}_type`]) || 0; + } else { + ids.forEach((id) => { + pool[`d${values[`repeating_hd_${id}_type`]}`] = { + id: id, + size: parseInt(values[`repeating_hd_${id}_size`] || 0), + available: parseInt(values[`repeating_hd_${id}_available`]) || 0, + }; + }); + } + if (typeof callback === "function") callback(pool); + }); + }); +}; +var isValidEvent = function (eventInfo, blockWorker) { + if ( + blockWorker && + (!eventInfo.sourceType || eventInfo.sourceType != "player") + ) + return false; + if ( + eventInfo.newValue && + eventInfo.previousValue && + eventInfo.newValue != eventInfo.previousValue + ) + return true; + if (eventInfo.newValue && !eventInfo.previousValue) return true; + return false; +}; +var updateHitDicePool = function (newPool, silent) { + if (Object.keys(newPool).length === 0) return; + silent = silent || false; + getHitDicePool((availablePool) => { + let update = {}; + Object.keys(newPool).forEach((die) => { + if (availablePool[die]) { + const id = availablePool[die].id; + Object.keys(newPool[die]).forEach((property) => { + update[`repeating_hd_${id}_${property}`] = newPool[die][property]; + }); + } else { + const id = generateRowID(); + update[`repeating_hd_${id}_type`] = die.replace(/[^0-9]/g, ""); + Object.keys(newPool[die]).forEach((property) => { + update[`repeating_hd_${id}_${property}`] = newPool[die][property]; + }); + } + }); + if (silent) { + setAttrs(update, { silent: true }); + } else { + setAttrs(update); + } + }); +}; +on("change:repeating_hd:size", (eventInfo) => { + if (isValidEvent(eventInfo, true)) { + const id = SheetUtils.getUID(eventInfo.sourceAttribute); + const newValue = eventInfo.newValue || 0; + const previousValue = eventInfo.previousValue || 0; + let hitDiceMax = 0; + getHitDicePool((allPool) => { + const selectedPoolKey = Object.keys(allPool).filter((die) => { + return allPool[die]["id"] == id; + }); + const pool = allPool[selectedPoolKey]; + const gained = + pool.size < pool.available + ? pool.size - pool.available + : Math.max(newValue - previousValue, 0); + const available = pool.available + gained; + const update = { + [`repeating_hd_${pool.id}_available`]: available, + }; + Object.keys(allPool).forEach((die) => { + hitDiceMax += allPool[die]["size"]; + }); + setAttrs(update, () => { + setAttrs({ hit_dice_max: hitDiceMax }, { silent: true }); + }); + }); + } +}); +on("change:repeating_hd:available", (eventInfo) => { + if (isValidEvent(eventInfo, true)) { + getHitDicePool((pool) => { + let dicePoolSize = 0; + Object.keys(pool).forEach((die) => { + dicePoolSize += pool[die]["available"]; + }); + let update = { hit_dice: dicePoolSize }; + setAttrs(update, { silent: true }); + }); + } +}); +on("change:repeating_hd:consumed", (eventInfo) => { + const id = SheetUtils.getUID(eventInfo.sourceAttribute); + const poolAttribute = `repeating_hd_${id}_available`; + getAttrs([poolAttribute], (values) => { + const update = { + [poolAttribute]: Math.max(parseInt(values[poolAttribute]) - 1, 0), + }; + setAttrs(update, { silent: true }, () => { + getHitDicePool((pool) => { + let dicePoolSize = 0; + Object.keys(pool).forEach((die) => { + dicePoolSize += pool[die]["available"]; + }); + let update = { hit_dice: dicePoolSize }; + setAttrs(update, { silent: true }); + }); + }); + }); +}); +on("change:use_per_class_hit_dice", (eventInfo) => { + set_level(); +}); +on("change:hit_dice", (eventInfo) => { + //For compatibility with rest script + getAttrs(["use_per_class_hit_dice", "hit_dice"], (values) => { + if ( + values["use_per_class_hit_dice"] && + values["use_per_class_hit_dice"] == 1 + ) { + let increaseLeft = 0; + let updatePool = {}; + getHitDicePool((pool) => { + let dicePoolSize = 0; + Object.keys(pool).forEach((die) => { + dicePoolSize += pool[die]["available"]; + }); + increaseLeft = parseInt(values["hit_dice"]) - dicePoolSize; + ["d12", "d10", "d8", "d6", "d4"].forEach((die) => { + if (pool[die] && pool[die]["available"] < pool[die]["size"]) { + const diff = Math.min( + pool[die]["size"] - pool[die]["available"], + increaseLeft + ); + updatePool[die] = { available: pool[die]["available"] + diff }; + increaseLeft -= diff; + return; + } + }); + updateHitDicePool(updatePool, true); + }); + } + }); +}); +on("clicked:show_hit_dice", (eventInfo) => { + getSectionIDs("repeating_hd", (ids) => { + let attributes = []; + ids.forEach((id) => { + attributes.push(`repeating_hd_${id}_type`); + attributes.push(`repeating_hd_${id}_size`); + attributes.push(`repeating_hd_${id}_available`); + }); + getAttrs(attributes, (values) => { + const types = Object.keys(values).filter((entry) => { + return entry.indexOf("_type") > -1; + }); + let dice = []; + let update = { + current_d4: 0, + current_d6: 0, + current_d8: 0, + current_d10: 0, + current_d12: 0, + current_d4_max: 0, + current_d6_max: 0, + current_d8_max: 0, + current_d10_max: 0, + current_d12_max: 0, + show_hit_dice_roll: "[[0]]", + }; + types.forEach((type) => { + dice.push(values[type]); + const id = SheetUtils.getUID(type); + update[`current_d${values[type]}_max`] = + values[`repeating_hd_${id}_available`]; + }); + update["show_hit_dice"] = dice.join(" "); + setAttrs(update); + }); + }); +}); +on( + "change:current_d4 change:current_d6 change:current_d4 change:current_d8 change:current_d10 change:current_d12", + (eventInfo) => { + if (eventInfo.newValue || eventInfo.previousValue) { + getAttrs( + [ + "current_d4", + "current_d6", + "current_d8", + "current_d10", + "current_d12", + "constitution_mod", + ], + (values) => { + let query = []; + let totalDice = 0; + Object.keys(values) + .filter((entry) => { + return entry.includes("current_"); + }) + .forEach((entry) => { + if (parseInt(values[entry]) > 0) { + const splited = entry.split("_"); + const dice = splited[splited.length - 1]; + query.push(`${values[entry]}${dice}`); + totalDice += parseInt(values[entry]); + } + }); + if ( + totalDice > 0 && + values["constitution_mod"] && + values["constitution_mod"] != 0 + ) + query.push(parseInt(values["constitution_mod"]) * totalDice); + setAttrs({ show_hit_dice_roll: query.join(" + ") }); + } + ); + } + } +); +on("change:hit_dice_rolled", (eventInfo) => { + getSectionIDs("repeating_hd", (ids) => { + let attributes = []; + ids.forEach((id) => { + attributes.push(`repeating_hd_${id}_type`); + attributes.push(`repeating_hd_${id}_size`); + attributes.push(`repeating_hd_${id}_available`); + }); + + getAttrs( + [ + ...attributes, + "current_d4", + "current_d6", + "current_d8", + "current_d10", + "current_d12", + ], + (values) => { + const types = Object.keys(values).filter((entry) => { + return entry.indexOf("_type") > -1; + }); + let update = { + current_d4: 0, + current_d6: 0, + current_d8: 0, + current_d10: 0, + current_d12: 0, + current_d4_max: 0, + current_d6_max: 0, + current_d8_max: 0, + current_d10_max: 0, + current_d12_max: 0, + show_hit_dice: "", + show_hit_dice_roll: "[[0]]", + }; + types.forEach((type) => { + const die = values[type]; + if ( + values[`current_d${die}`] && + parseInt(values[`current_d${die}`]) > 0 + ) { + const id = SheetUtils.getUID(type); + const result = parseInt( + values[`repeating_hd_${id}_available`] - values[`current_d${die}`] + ); + update[`repeating_hd_${id}_available`] = Math.max(result, 0); + } + }); + setAttrs(update); + } + ); + }); +}); +on("clicked:hide_hit_dice", (eventInfo) => { + let update = { + current_d4: 0, + current_d6: 0, + current_d8: 0, + current_d10: 0, + current_d12: 0, + current_d4_max: 0, + current_d6_max: 0, + current_d8_max: 0, + current_d10_max: 0, + current_d12_max: 0, + show_hit_dice: "", + show_hit_dice_roll: "[[0]]", + }; + setAttrs(update); +}); +on("change:consumed_hero_points", (eventInfo) => { + getAttrs(["hero_points"], (values) => { + const hero_points = values["hero_points"] + ? parseInt(values["hero_points"]) + : 0; + const update = { hero_points: Math.max(hero_points - 1, 0) }; + setAttrs(update, { silent: true }, () => {}); + }); +}); +on("change:hero_points", (eventInfo) => { + const hero_points = eventInfo.newValue ? Math.max(eventInfo.newValue, 0) : 0; + const update = { hero_points: hero_points }; + setAttrs(update, { silent: true }, () => {}); +}); +on("change:level", (eventInfo) => { + updateHeroPoints(eventInfo.newValue); +}); +on("change:use_hero_points", (eventInfo) => { + if (eventInfo.newValue && eventInfo.newValue == 1) updateHeroPoints(); +}); +var updateHeroPoints = function (level) { + if (level) { + const hero_points = level ? Math.floor(parseInt(level) / 2) + 5 : 0; + const update = { hero_points: hero_points }; + setAttrs(update, { silent: true }, () => {}); + } else { + getAttrs(["level"], (values) => { + const level = values.level ? values.level : 0; + updateHeroPoints(level); + }); + } +}; + +const classRelatedAttrs = [ + "class", + "subclass", + "base_level", + "multiclass1_flag", + "multiclass1", + "multiclass1_subclass", + "multiclass1_lvl", + "multiclass2_flag", + "multiclass2", + "multiclass2_subclass", + "multiclass2_lvl", + "multiclass3_flag", + "multiclass3", + "multiclass3_subclass", + "multiclass3_lvl", +]; +const getSpellPoints = (callback) => { + getAttrs(classRelatedAttrs, (values) => { + let level = 0; + let characterClassAttributes = { + mainclass: { + class: "class", + subclass: "subclass", + level: "base_level", + }, + }; + for (let i = 1; i <= 3; i++) { + characterClassAttributes[`multiclass_${i}`] = { + enabled: `multiclass${i}_flag`, + class: `multiclass${i}`, + subclass: `multiclass${i}_subclass`, + level: `multiclass${i}_lvl`, + }; + } + const pointsPerLevel = [ + "", + 4, + 6, + 14, + 17, + 27, + 32, + 38, + 44, + 57, + 64, + 73, + 78, + 83, + 88, + 94, + 100, + 107, + 114, + 123, + 133, + ]; + const getLevelInfo = (charClass, values) => { + let charLevel = 0; + if (!characterClassAttributes[charClass]) return charLevel; + if ( + !characterClassAttributes[charClass]["enabled"] || + (values[characterClassAttributes[charClass]["enabled"]] && + values[characterClassAttributes[charClass]["enabled"]] == 1) + ) { + const subclass = + values[characterClassAttributes[charClass]["subclass"]] || ""; + const level = values[characterClassAttributes[charClass]["level"]] + ? parseInt(values[characterClassAttributes[charClass]["level"]]) + : 0; + charClass = + subclass.toLowerCase().includes("arcane trickster") || + subclass.toLowerCase().includes("eldritch knight") + ? "third" + : values[characterClassAttributes[charClass]["class"]]; + const casterType = getCasterType(charClass.toLowerCase()); + if (casterType > 0) { + charLevel = Math.floor(level * casterType); + } + } + return charLevel; + }; + Object.keys(characterClassAttributes).forEach((charClass) => { + const levelInfo = getLevelInfo(charClass, values); + level += levelInfo; + }); + callback(pointsPerLevel[level]); + }); +}; + +const setSpellPoints = () => { + getSpellPoints((spellPoints) => { + if (spellPoints > 0) + createResource("Spell Points", spellPoints, spellPoints); + }); +}; + +classRelatedAttrs.forEach((attr) => { + on(`change:${attr}`, (evenInfo) => { + getAttrs(["use_spell_points"], (v) => { + if (v["use_spell_points"] && v["use_spell_points"] == 1) { + setSpellPoints(); + } + }); + }); +}); + +on("change:use_spell_points", (eventInfo) => { + if (eventInfo.newValue && eventInfo.newValue == 1) { + setSpellPoints(); + } else { + deleteResource("Spell Points"); + } + update_spell_slots(); +}); + +var updateSpellOutputDC = function (eventinfo) { + if (!eventinfo.newValue) return; + getAttrs( + [ + "strength_mod", + "dexterity_mod", + "constitution_mod", + "intelligence_mod", + "wisdom_mod", + "charisma_mod", + "spell_save_dc", + "pb", + ], + (values) => { + let dc = 0; + const spellLevel = eventinfo.sourceAttribute + .split("_")[1] + .replace("spell-", ""); + const pb = values.pb ? parseInt(values.pb) : 0; + if (eventinfo.newValue === "spell") { + const spellSaveDc = values["spell_save_dc"] + ? parseInt(values["spell_save_dc"]) + : 8 + pb; + dc = spellSaveDc; + } else if (eventinfo.newValue === "0*") { + dc = 0; + } else { + const attr = eventinfo.newValue.replace(/@{|}\+/g, ""); + const mod = values[attr] ? 8 + pb + parseInt(values[attr]) : 8 + pb; + dc = mod; + } + const id = SheetUtils.getUID(eventinfo.sourceAttribute); + const update = {}; + update[`repeating_spell-${spellLevel}_${id}_roll_output_dc`] = dc; + setAttrs(update); + } + ); +}; +globalAttributesByCategory.spellLevels.forEach((level) => { + on(`change:repeating_spell-${level}:spell_ability`, (eventinfo) => { + updateSpellOutputDC(eventinfo); + }); +}); + + +on(`change:level`, (eventInfo) => { + const level = +eventInfo.newValue; + const profBonus = Math.floor(2 + (level - 1) / 4 ); + setAttrs({ pb: profBonus }); +}); + + +on("clicked:move-reset", () => { + getAttrs(["moves_total"], v => { + setAttrs({moves_expended: v.moves_total || 0}) + }); +}); + +on("clicked:move-use", () => { + getAttrs(["moves_expended"], v => { + setAttrs({moves_expended: parseInt(v.moves_expended) - 1 || 0}) + }); +}); + +[1,2,3].forEach(level => { + on(`clicked:spell-reset-${level}`, () => { + getAttrs([`lvl${level}_slots_total`], v => setAttrs({[`lvl${level}_slots_expended`]: v[`lvl${level}_slots_total`] || 0})); + }) + on(`clicked:spell-use-${level}`, () => { + getAttrs([`lvl${level}_slots_expended`], v => setAttrs({[`lvl${level}_slots_expended`]: parseInt(v[`lvl${level}_slots_expended`]) - 1|| 0})); + }) +}) diff --git a/Brancalonia Official/src/pug/abstracts/hiddenvariables.pug b/Brancalonia Official/src/pug/abstracts/hiddenvariables.pug new file mode 100644 index 0000000000..1fa2b47b66 --- /dev/null +++ b/Brancalonia Official/src/pug/abstracts/hiddenvariables.pug @@ -0,0 +1,92 @@ +- + const hiddenvariables = [ + { name:"version", value:"4.2" }, + { name:"appliedUpdates", value: "", }, + { name:"monster_confirm_flag", value: "", }, + { name:"mancer_confirm_flag", value: "", }, + { name:"d20", value: "1d20" }, + { name:"level", value: "1" }, + { name:"pb", value: "2" }, + { name:"pbd_safe", value: "" }, + { name:"jack", value: "1" }, + { name:"jack_attr", value: "" }, + { name:"jack_bonus", value: "" }, + { name:"passive_wisdom", value: "10" }, + { name:"hitdie_final", value: "" }, + { name:"globalsavingthrowbonus", value: "" }, + { name:"death_save_bonus", value: "0" }, + { name:"initiative_bonus", value: "0" }, + { name:"spell_save_dc", value: "0" }, + { name:"spell_attack_bonus", value: "0" }, + { name:"spell_attack_mod", value: "0" }, + { name:"npc_legendary_actions_desc", value:"The creature can take 3 legendary actions, choosing from the options below. Only one legendary option can be used at a time and only at the end of another creature's turn. The creature regains spent legendary actions at the start of its turn." }, + { name:"global_damage_mod_crit", value: "0" }, + { name:"global_damage_mod_roll", value: "0" }, + { name:"global_damage_mod_type", value: "" }, + { name:"global_attack_mod", value: "" }, + { name:"global_save_mod", value: "" }, + { name:"global_skill_mod", value: "" }, + { name:"exhaustion_1", value: "" }, + { name:"exhaustion_2", value: "" }, + { name:"exhaustion_3", value: "" }, + { name:"exhaustion_4", value: "" }, + { name:"exhaustion_5", value: "" }, + { name:"exhaustion_6", value: "" }, + { name:"strength_mod", value: "0" }, + { name:"dexterity_mod", value: "0" }, + { name:"constitution_mod", value: "0" }, + { name:"intelligence_mod", value: "0" }, + { name:"wisdom_mod", value: "0" }, + { name:"charisma_mod", value: "0" }, + { name:"honor_mod", value: "0" }, + { name:"sanity_mod", value: "0" }, + { name:"strength_save_bonus", value: "0" }, + { name:"dexterity_save_bonus", value: "0" }, + { name:"constitution_save_bonus", value: "0" }, + { name:"intelligence_save_bonus", value: "0" }, + { name:"wisdom_save_bonus", value: "0" }, + { name:"charisma_save_bonus", value: "0" }, + { name:"honor_save_bonus", value: "0" }, + { name:"sanity_save_bonus", value: "0" }, + { name:"strength_maximum", value: "20" }, + { name:"dexterity_maximum", value: "20" }, + { name:"constitution_maximum", value: "20" }, + { name:"intelligence_maximum", value: "20" }, + { name:"wisdom_maximum", value: "20" }, + { name:"charisma_maximum", value: "20" }, + { name:"honor_maximum", value: "20" }, + { name:"sanity_maximum", value: "20" }, + { name:"acrobatics_bonus", value: "0" }, + { name:"animal_handling_bonus", value: "0" }, + { name:"arcana_bonus", value: "0" }, + { name:"athletics_bonus", value: "0" }, + { name:"deception_bonus", value: "0" }, + { name:"history_bonus", value: "0" }, + { name:"insight_bonus", value: "0" }, + { name:"intimidation_bonus", value: "0" }, + { name:"investigation_bonus", value: "0" }, + { name:"medicine_bonus", value: "0" }, + { name:"nature_bonus", value: "0" }, + { name:"perception_bonus", value: "0" }, + { name:"performance_bonus", value: "0" }, + { name:"persuasion_bonus", value: "0" }, + { name:"religion_bonus", value: "0" }, + { name:"sleight_of_hand_bonus", value: "0" }, + { name:"stealth_bonus", value: "0" }, + { name:"survival_bonus", value: "0" }, + { name:"lvl1_slots_total", value: "0" }, + { name:"lvl2_slots_total", value: "0" }, + { name:"lvl3_slots_total", value: "0" }, + { name:"lvl4_slots_total", value: "0" }, + { name:"lvl5_slots_total", value: "0" }, + { name:"lvl6_slots_total", value: "0" }, + { name:"lvl7_slots_total", value: "0" }, + { name:"lvl8_slots_total", value: "0" }, + { name:"lvl9_slots_total", value: "0" }, + { name:"l1mancer_status", value: "" }, + { name:"lpmancer_status", value: "" }, + { name:"queryadvantage", value: "" }, + ]; + +each field in hiddenvariables + input(name=`attr_${field.name}`, type="hidden", value=field.value) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/abstracts/variables.pug b/Brancalonia Official/src/pug/abstracts/variables.pug new file mode 100644 index 0000000000..e104669c93 --- /dev/null +++ b/Brancalonia Official/src/pug/abstracts/variables.pug @@ -0,0 +1,84 @@ +- + const globalAttributesByCategory = { + abilities: ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'], + optionalAbilites: ['honor', 'sanity'], + alignments: ['Lawful Good', 'Neutral Good', 'Chaotic Good', 'Lawful Neutral', 'Neutral', 'Chaotic Neutral', 'Lawful Evil', 'Neutral Evil', 'Chaotic Evil'], + classes: ['artificer', 'bard', 'cleric', 'druid', 'paladin', 'ranger', 'sorcerer', 'warlock', 'wizard'], + sizes: ['Tiny', 'Small', 'Medium', 'Large', 'Huge', 'Gargantuan'], + diceSizes: ['d4', 'd6', 'd8', 'd10', 'd12'], + skills: [ + { + name: "Acrobatics", + ability: "Dexterity" + }, + { + name: "Animal Handling", + ability: "Wisdom" + }, + { + name: "Arcana", + ability: "Intelligence" + }, + { + name: "Athletics", + ability: "Strength" + }, + { + name: "Deception", + ability: "Charisma" + }, + { + name: "History", + ability: "Intelligence" + }, + { + name: "Insight", + ability: "Wisdom" + }, + { + name: "Intimidation", + ability: "Charisma" + }, + { + name: "Investigation", + ability: "Intelligence" + }, + { + name: "Medicine", + ability: "Wisdom" + }, + { + name: "Nature", + ability: "Intelligence" + }, + { + name: "Perception", + ability: "Wisdom" + }, + { + name: "Performance", + ability: "Charisma" + }, + { + name: "Persuasion", + ability: "Charisma" + }, + { + name: "Religion", + ability: "Intelligence" + }, + { + name: "Sleight of Hand", + ability: "Dexterity" + }, + { + name: "Stealth", + ability: "Dexterity" + }, + { + name: "Survival", + ability: "Wisdom" + }, + ], + personalityTraits: ["Personality Traits", "Ideals", "Bonds", "Flaws"] + } \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/components.pug b/Brancalonia Official/src/pug/components/components.pug new file mode 100644 index 0000000000..9a2c650516 --- /dev/null +++ b/Brancalonia Official/src/pug/components/components.pug @@ -0,0 +1,11 @@ +// PC +include pc/AbilityScore +include pc/InsProf +include pc/PersonalityTrait +include pc/SavingThrow +include pc/Skills +include pc/SpellContainer +include pc/SpellLabel +include pc/SpellSection +include utility/SelectClass +include utility/SelectHitDice diff --git a/Brancalonia Official/src/pug/components/pc/AbilityScore.pug b/Brancalonia Official/src/pug/components/pc/AbilityScore.pug new file mode 100644 index 0000000000..41764b6409 --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/AbilityScore.pug @@ -0,0 +1,16 @@ +mixin AbilityScore(attr, componentSettings = {}) + - const { optional = false } = componentSettings; + - const shortName = attr.slice(0,3).toUpperCase(); + - const className = (optional) ? ` toggleVisibilityBy-${attr}` : ""; + + if (optional) + input.toggleVisibility(type=`hidden` name=`attr_${attr}_toggle`) + + .abilityscore(class=`abilityscore--${shortName} ${className}`) + button.abilityscore__rollbutton(type=`roll` name=`roll_${attr}` value=`@{wtype}&{template:simple} {{rname=^{${attr}-u}}} {{mod=@{${attr}_mod}@{jack_bonus}}} {{r1=[[@{d20}+@{${attr}_mod}@{jack_attr}[${shortName}]]]}} @{rtype}+@{${attr}_mod}@{jack_attr}[${shortName}]]]}} @{charname_output}` data-i18n=`${attr}-u`) + span.abilityscore__value(name=`attr_${attr}_mod` title=`@{${attr}_mod}`) + .abilityscore__mod + input.abilityscore__base(type=`text` name=`attr_${attr}_base` title=`@{${attr}}` value=`10`) + input(type=`hidden` name=`attr_${attr}` value=`10`) + input.abilityscore__flag(type=`hidden` name=`attr_${attr}_flag` value=`0`) + span.abilityscore__final(name=`attr_${attr}`) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/pc/InsProf.pug b/Brancalonia Official/src/pug/components/pc/InsProf.pug new file mode 100644 index 0000000000..0112c9851b --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/InsProf.pug @@ -0,0 +1,12 @@ +mixin InsProf(name) + - + const typebox = (name.toLowerCase() === "inspiration") ? "inspprof--inspiration" : + (name.toLowerCase() === "pass-wis") ? "inspprof--passive" + : ""; + + .inspprof(class=typebox) + .inspprof__value + if (block) + block + .inspprof__label + span(data-i18n=name) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/pc/PersonalityTrait.pug b/Brancalonia Official/src/pug/components/pc/PersonalityTrait.pug new file mode 100644 index 0000000000..786793d7c6 --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/PersonalityTrait.pug @@ -0,0 +1,7 @@ +mixin PersonalityTrait(name) + - const attr = name.replace(/ /g, '_').replace(/[^a-zA-Z_]/g, "").replace(/__/g, "_").toLowerCase(); + - const i18n = `${attr}-s`; + - const flag = attr.split(attr.indexOf('_'))[0]; + .personalitytrait + .personalitytrait__label(data-i18n=name) + textarea(name=`attr_${attr}`) diff --git a/Brancalonia Official/src/pug/components/pc/SavingThrow.pug b/Brancalonia Official/src/pug/components/pc/SavingThrow.pug new file mode 100644 index 0000000000..1c0bc12047 --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/SavingThrow.pug @@ -0,0 +1,15 @@ +mixin SavingThrow (name, componentSettings = {}) + - const { optional } = componentSettings; + - const attr = name.toLowerCase(); + - const className = (optional) ? `toggleVisibilityBy-${attr}` : ``; + + if (optional) + input.toggle(type=`hidden` name=`attr_${attr}_toggle`) + + .savingthrow(class=className) + input(type=`hidden` name=`attr_${attr}_save_roll`) + .savingthrow__checkbox + input(type=`checkbox` name=`attr_${attr}_save_prof` title=`@{${attr}_save_prof}` value=`(@{pb})`) + span + span.savingthrow__value(name=`attr_${attr}_save_bonus` title=`@{${attr}_save_bonus}`) + button.savingthrow__button(type=`roll` name=`roll_${attr}_save` value=`@{${attr}_save_roll}` data-i18n=attr) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/pc/Skills.pug b/Brancalonia Official/src/pug/components/pc/Skills.pug new file mode 100644 index 0000000000..90c09f795f --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/Skills.pug @@ -0,0 +1,13 @@ +mixin Skill(name, ability) + - const attr = name.toLowerCase().replace(/ /g, "_"); + - const shortName = ability.split(0,3)[0].toUpperCase(); + + .skill(data-i18n-list-item=`${attr}`) + input(type=`hidden` name=`attr_${attr}_roll`) + .skill__checkbox + input(type=`checkbox` name=`attr_${attr}_prof` title=`@{${attr}_prof}` value=`(@{pb}*@{${attr}_type})`) + span + span.skill__value(name=`attr_${attr}_bonus` title=`@{${attr}_bonus}`) 0 + button.skill__button(type=`roll` name=`roll_${attr}` value=`@{${attr}_roll}` data-i18n=`${attr}-core`) + | #{name} + span #{shortName} \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/pc/SpellContainer.pug b/Brancalonia Official/src/pug/components/pc/SpellContainer.pug new file mode 100644 index 0000000000..d5bdbf627c --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/SpellContainer.pug @@ -0,0 +1,208 @@ +mixin SpellContainer(level, isCantrip=false) + fieldset(class=`repeating_spell-${level}`) + .spell + //input.spell__flag--details(type="hidden" name="attr_details-flag" checked="checked") + input.spell__flag--options(type="hidden" name="attr_options-flag" checked="checked") + + .spell__display + input(type="hidden" name="attr_rollcontent" value="@{wtype}&{template:spell} {{level=@{spellschool} @{spelllevel}}} {{name=@{spellname}}} {{castingtime=@{spellcastingtime}}} {{range=@{spellrange}}} {{target=@{spelltarget}}} @{spellcomp_v} @{spellcomp_s} @{spellcomp_m} {{material=@{spellcomp_materials}}} {{duration=@{spellduration}}} {{description=@{spelldescription}}} {{athigherlevels=@{spellathigherlevels}}} @{spellritual} {{innate=@{innate}}} {{savedc=@{spell_save_dc}}} @{spellconcentration} @{charname_output}") + + if !isCantrip + .spell__prepped + input.spell__prepped-input(type="checkbox" name="attr_spellprepared" value="1") + span.spell__prepped-mark + + button.spell__card-button(type="roll" name="roll_spell" value="@{rollcontent}") + span.spell__name(name="attr_spellname") + span.spell__innate(name="attr_innate") + + .spell__indicators + + input.spell__flag--innate(type="hidden" name="attr_innate" value="") + input.spell__flag--ritual(type="hidden" name="attr_spellritual" value="0") + input.spell__flag--concentration(type="hidden" name="attr_spellconcentration" value="0") + .spell__casting-details + span.spell__ritual(data-i18n="spell-ritual") R + span.spell__concentration(data-i18n="spell-concentration") C + + input.spell__flag--v(type="hidden" name="attr_spellcomp_v" value="{{v=1}}") + input.spell__flag--s(type="hidden" name="attr_spellcomp_s" value="{{s=1}}") + input.spell__flag--m(type="hidden" name="attr_spellcomp_m" value="{{m=1}}") + .spell__components + span.spell__component--v(data-i18n="spell-component-verbal") V + span.spell__component--s(data-i18n="spell-component-somatic") S + span.spell__component--m(data-i18n="spell-component-material") M + + input.spell__flag--spellsave(type="hidden" name="attr_roll_output_dc" value="@{spell_save_dc}") + button.spell__chat-button.output.btn.ui-draggable(type="roll" name="roll_output" value="@{wtype}&{template:spelloutput} {{level=@{spellschool} @{spelllevel}}} {{name=@{spellname}}} {{castingtime=@{spellcastingtime}}} {{range=@{spellrange}}} {{target=@{spelltarget}}} @{spellcomp_v} @{spellcomp_s} @{spellcomp_m} {{material=@{spellcomp_materials}}} {{duration=@{spellduration}}} {{description=@{spelldescription}}} {{athigherlevels=@{spellathigherlevels}}} @{spellritual} {{innate=@{innate}}} {{savedc=@{roll_output_dc}}} @{spellconcentration} @{charname_output}") w + + //.spell__details-container + input.spell__flag--details(type="checkbox" name="attr_details-flag" checked="checked") + span i + + .spell__options-container + input.spell__flag--options(type="checkbox" name="attr_options-flag" checked="checked") + span y + + .spell__options.options + .options__row + span.options__label(data-i18n="name:-u") NAME: + input.options__flex(type="text" name="attr_spellname") + + .options__row.options__row--noborder + span.options__label(data-i18n="school:-u") SCHOOL: + select.options__flex(name="attr_spellschool") + option(value="abjuration" data-i18n="abjuration") Abjuration + option(value="conjuration" data-i18n="conjuration") Conjuration + option(value="divination" data-i18n="divination") Divination + option(value="enchantment" data-i18n="enchantment") Enchantment + option(value="evocation" data-i18n="evocation") Evocation + option(value="illusion" data-i18n="illusion") Illusion + option(value="necromancy" data-i18n="necromancy") Necromancy + option(value="transmutation" data-i18n="transmutation") Transmutation + input.options__flex(type="checkbox" name="attr_spellritual" value="{{ritual=1}}") + span.options__label(data-i18n="ritual-u") RITUAL + .options__row.options__row--noborder + span.options__label(data-i18n="casting-time:-u") CASTING TIME: + input.options__flex(type="text" name="attr_spellcastingtime") + .options__row.options__row--noborder + span.options__label(data-i18n="range:-u") RANGE: + input.options__flex(type="text" name="attr_spellrange") + .options__row + span.options__label(data-i18n="target:-u") TARGET: + input.options__flex(type="text" name="attr_spelltarget") + + input(type="hidden" name="attr_spellcomp") + .options__row.options__row--noborder + span.options__label(data-i18n="components:-u") COMPONENTS: + input.options__flex(type="checkbox" name="attr_spellcomp_v" value="{{v=1}}" checked="checked") + span.options__label(data-i18n="spell-component-verbal") V + input.options__flex(type="checkbox" name="attr_spellcomp_s" value="{{s=1}}" checked="checked") + span.options__label(data-i18n="spell-component-somatic") S + input.options__flex(type="checkbox" name="attr_spellcomp_m" value="{{m=1}}" checked="checked") + span.options__label(data-i18n="spell-component-material") M + .options__row + input.options__flex(type="text" name="attr_spellcomp_materials" placeholder="ruby dust worth 50gp" data-i18n-placeholder="ruby-dust-place") + + .options__row + input.options__flex--1(type="checkbox" name="attr_spellconcentration" value="{{concentration=1}}") + span.options__label.options__flex--9(data-i18n="concentration-u") CONCENTRATION + + .options__row + span.options__label(data-i18n="duration:-u") DURATION: + input.options__flex(type="text" name="attr_spellduration") + + .options__row + span.options__label(data-i18n="spell-ability-u") SPELLCASTING ABILITY + select.options__flex(name="attr_spell_ability") + option(value="0*" data-i18n="none-u") NONE + option(value="spell" data-i18n="spell-u") SPELL + option(value="@{strength_mod}+" data-i18n="strength-u") STRENGTH + option(value="@{dexterity_mod}+" data-i18n="dexterity-u") DEXTERITY + option(value="@{constitution_mod}+" data-i18n="constitution-u") CONSTITUTION + option(value="@{intelligence_mod}+" data-i18n="intelligence-u") INTELLIGENCE + option(value="@{wisdom_mod}+" data-i18n="wisdom-u") WISDOM + option(value="@{charisma_mod}+" data-i18n="charisma-u") CHARISMA + + .options__row + span.options__label(data-i18n="innate:-u") INNATE: + input.options__flex(type="text" name="attr_innate" placeholder="1/day" value="") + + .options__row + span.options__label(data-i18n="output:-u") OUTPUT: + select.options__flex(name="attr_spelloutput") + option(value="SPELLCARD" data-i18n="spellcard-u") SPELLCARD + option(value="ATTACK" data-i18n="attack-u") ATTACK + + input.spell__flag--output(type="hidden" name="attr_spelloutput") + .spell__options--attack + + .options__row--noborder + span.options__label(data-i18n="spell-atk:-u") SPELL ATTACK: + select.options__flex(name="attr_spellattack") + option(value="None" data-i18n="none") None + option(value="Melee" data-i18n="melee") Melee + option(value="Ranged" data-i18n="ranged") Ranged + .options__row.options__row--noborder + span.options__label(data-i18n="damage:-u") DAMAGE: + input.options__flex(type="text" name="attr_spelldamage" ) + span.options__label(data-i18n="type:-u") TYPE: + input.options__flex(type="text" name="attr_spelldamagetype" ) + .options__row.options__row--noborder + span.options__label(data-i18n="damage2:-u") DAMAGE2: + input.options__flex(type="text" name="attr_spelldamage2" ) + span.options__label(data-i18n="type:-u") TYPE: + input.options__flex(type="text" name="attr_spelldamagetype2" ) + .options__row.options__row--noborder + span.options__label(data-i18n="healing:-u") HEALING: + input(type="text" name="attr_spellhealing" ) + .options__row + input.options__flex--1(type="checkbox" name="attr_spelldmgmod" value="Yes") + span.options__label.options__flex--9(data-i18n="add-ability-mod-u") ADD ABILITY MOD TO DAMAGE OR HEALING + + if isCantrip + .options__row + span.options__label(data-i18n="cantrip-progression:-u") CANTRIP PROGRESSION + select.options__flex(name="attr_spell_damage_progression") + option(value="" selected="selected" data-i18n="none-u") NONE + option(value="Cantrip Dice" data-i18n="cantrip-dice-u") CANTRIP DICE + option(value="Cantrip Beam" data-i18n="cantrip-beam-u") CANTRIP BEAM + + .options__row + span.options__label(data-i18n="saving-throw:-u") SAVING THROW: + select(name="attr_spellsave") + option(value="" selected="selected" data-i18n="none-u") NONE + option(value="Strength" data-i18n="str-u") STR + option(value="Dexterity" data-i18n="dex-u") DEX + option(value="Constitution" data-i18n="con-u") CON + option(value="Intelligence" data-i18n="int-u") INT + option(value="Wisdom" data-i18n="wis-u") WIS + option(value="Charisma" data-i18n="cha-u") CHA + + .options__row + span.options__label(data-i18n="effect:-u") EFFECT: + input(type="text" name="attr_spellsavesuccess" placeholder="Half damage" data-i18n-placeholder="half-dmg-place") + + .options__row.options__row--noborder + span.options__label(data-i18n="at-higher-lvl-dmg:-u") HIGHER LVL CAST DMG: + .options__row + input.options__flex--3(type="text" name="attr_`spellhldie" placeholder="1" ) + select.options__flex--3(name="attr_spellhldietype") + option(value="" selected="selected" data-i18n="none-u") NONE + option(value="d4") d4 + option(value="d6") d6 + option(value="d8") d8 + option(value="d10") d10 + option(value="d12") d12 + option(value="d20") d20 + span.options__flex--1 + + input.options__flex--3(type="text" name="attr_spellhlbonus" placeholder="0" ) + + .options__row + span.options__label.options__flex--7(data-i18n="include_spell_desc:-u") INCLUDE SPELL DESCRIPTION IN ATTACK: + select.options__flex--3(name="attr_includedesc") + option(value="off" selected="selected" data-i18n="off") Off + option(value="partial" data-i18n="partial") Partial + option(value="on" data-i18n="on") On + + .options__row.options__row--topborder + span.options__label(data-i18n="description:-u") DESCRIPTION: + .options__row + textarea(name="attr_spelldescription") + + if !isCantrip + .options__row.options__row--noborder + span.options__label(data-i18n="at-higher-lvl:-u") AT HIGHER LEVELS: + .options__row + textarea(name="attr_spellathigherlevels") + + .options__row + span.options__label(data-i18n="class:-u") CLASS: + input(type="text" name="attr_spellclass" ) + + .options__row + span.options__label(data-i18n="type:-u") TYPE: + input(type="text" name="attr_spellsource" ) + + input(type="hidden" name="attr_spellattackid") + input(type="hidden" name="attr_spelllevel" value=`${level}`) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/pc/SpellLabel.pug b/Brancalonia Official/src/pug/components/pc/SpellLabel.pug new file mode 100644 index 0000000000..4c2fb1e1d7 --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/SpellLabel.pug @@ -0,0 +1,20 @@ +mixin SpellLabel(level) + - const label = (level === 0) ? "Cantrips" : level; + - var spellPointCostPerLevel = [0, 2, 3, 5, 6, 7, 9, 10, 11, 13]; + - var spellPoinstCost = spellPointCostPerLevel[level]; + .spell-label(class=`spell-label--${level}`) + .spell-label__numeral + .spell-label__label + if level !== 0 + span(data-i18n="Level") + span #{ label } + if level !== 0 + button.pictos(name=`act_spell-reset-${level}`, type="action") 1 + button.pictos(name=`act_spell-use-${level}`, type="action") } + if level !== 0 + .spell-label__total + .spell-label__title(data-i18n="total") + span(name=`attr_lvl${level}_slots_total`) + .spell-label__expended + .spell-label__title(data-i18n="current") + input(type="number", name=`attr_lvl${level}_slots_expended`, value!="0") diff --git a/Brancalonia Official/src/pug/components/pc/SpellSection.pug b/Brancalonia Official/src/pug/components/pc/SpellSection.pug new file mode 100644 index 0000000000..bfa5b96ef6 --- /dev/null +++ b/Brancalonia Official/src/pug/components/pc/SpellSection.pug @@ -0,0 +1,5 @@ +mixin SpellSection(level, isCantrip=false) + - const label = (level === 0) ? "cantrip" : level; + .spells__container + +SpellLabel(level, isCantrip) + +SpellContainer(label, isCantrip) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/components/utility/selectClass.pug b/Brancalonia Official/src/pug/components/utility/selectClass.pug new file mode 100644 index 0000000000..350b8df159 --- /dev/null +++ b/Brancalonia Official/src/pug/components/utility/selectClass.pug @@ -0,0 +1,12 @@ +mixin selectClass(attr = "class", defaultOption, mixinSettings ) + - const { chooseOption = true, classNames = [] } = mixinSettings; + - const className = classNames.join(" "); + select.hiding.class(name=`attr_${attr}`, class=className) + + if (chooseOption) + option(value=`` data-i18n=`choose`) Choose + + for classAttr in globalAttributesByCategory.classes + - const name = classAttr.charAt(0).toUpperCase() + classAttr.slice(1); + - const selected = (classAttr === defaultOption) ? "selected" : ""; + option(value=name data-i18n=classAttr) #{name} diff --git a/Brancalonia Official/src/pug/components/utility/selectHitDice.pug b/Brancalonia Official/src/pug/components/utility/selectHitDice.pug new file mode 100644 index 0000000000..2d6298eb96 --- /dev/null +++ b/Brancalonia Official/src/pug/components/utility/selectHitDice.pug @@ -0,0 +1,8 @@ +mixin selectHitDice(attr = "hitdiceroll", defaultOption, mixinSettings={} ) + - const { chooseOption = true, classNames = []} = mixinSettings; + - const className = classNames.join(" "); + + select(name=`attr_${attr}`, class=className) + each dieSize in globalAttributesByCategory.diceSizes + - const value = dieSize.split(1); + option(value=value) #{dieSize} \ No newline at end of file diff --git a/Brancalonia Official/src/pug/l1.pug b/Brancalonia Official/src/pug/l1.pug new file mode 100644 index 0000000000..4c84ddf89b --- /dev/null +++ b/Brancalonia Official/src/pug/l1.pug @@ -0,0 +1,600 @@ +mixin bottomBar(firstTab, lastTab) + .bottombar + button.prev(data-i18n='back' type='back' value=`l1-${firstTab}`) + button.jump(data-i18n='back-to-top' data-scroll='#top' type='button') + button.next(data-i18n='next' type='back' value=`l1-${lastTab}`) + +mixin cancelPrompt(slide) + .choice.cancel-prompt + p.label(data-i18n='charmancer-cancel-heading') + button.warning(data-i18n='cancel_charactermancer' type='cancel' value='l1-cancel') + button(data-i18n='save_progress_and_exit' type='cancel' value=`l1-${slide}`) + button(data-i18n='continue-charmancer' name='act_continue' type='action') + p.warning + span(data-i18n='charmancer-discard-warning') + +mixin buttonMancerInfo(name) + button.mancer_info(name=`act_info_${name}` type='action' required) i + +mixin infoDiv(className, acceptString) + .info + .sheet-compendium-page(accept=acceptString class=`sheet-${className}-info`) + +mixin abilitiesOptions() + option(data-i18n='choose' value='') + each val in globalAttributesByCategory.abilities + option(data-i18n=val value=val) + +mixin classOptions() + option(data-i18n='choose' value='') + each val in globalAttributesByCategory.classes + option(data-i18n=val value=val) + +mixin diceOptions() + option(data-i18n='choose' value='') + each val in globalAttributesByCategory.diceSizes + - const value = val.slice(-1) + option(data-i18n=val value=value) + +charmancer.sheet-charmancer-l1-welcome + .charmancer.container + input(type='hidden' name='comp_has_tasha' value='0') + ol.steps + .logos + span.charmancer-logo + span.compendium-logo + p.label(data-i18n='charmancer-welcome') + p(data-i18n='charmancer-what-is') + p.label(data-i18n='charmancer-compendium') + p(data-i18n='charmancer-compendium-detail') + p.label(data-i18n='get-started') + .bottombar + button.prev(data-i18n='opt-out-u' type='cancel' value='l1-cancel') + button.jump(data-i18n='back-to-top' data-scroll='#top' type='button') + button.next(data-i18n='next' type='back' value='l1-race') + +cancelPrompt('welcome') + +charmancer.sheet-charmancer-l1-race + .charmancer.container + ol.steps + .topbar-holder + .choices + .row + input(type='hidden' name='comp_has_tasha') + .customize-origin + label + span(data-i18n='customize-your-origin') + span(data-i18n='customize-your-origin-info') + .toggle + input(type='checkbox' name='comp_customize_origin' value='1') + .knob + .row + label.hilite + span(data-i18n='charmancer-choose-race') + select(accept='Category:Races' name='comp_race' required) + option(data-i18n='choose' value='') + option.custom(data-i18n='custom' value='Rules:Races') + +buttonMancerInfo('race') + .choice.custom_race + label.hilite(data-i18n='charmancer-custom-race-name') + input(name='comp_race_name' placeholder='Custom Race' type='text' required) + .row.choice.race_possible.custom_race.race_abilities + label + .choice.tasha_race_enabled + input(type='hidden' name='comp_tasha_race_ability_choice1_increase') + span.choice.tasha_race_ability_choice1.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice1(name='comp_tasha_race_ability_choice1') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_race_ability_choice2_increase') + span.choice.tasha_race_ability_choice2.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice2(name='comp_tasha_race_ability_choice2') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_race_ability_choice3_increase') + span.choice.tasha_race_ability_choice3.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice3(name='comp_tasha_race_ability_choice3') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_race_ability_choice4_increase') + span.choice.tasha_race_ability_choice4.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice4(name='comp_tasha_race_ability_choice4') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_race_ability_choice5_increase') + span.choice.tasha_race_ability_choice5.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice5(name='comp_tasha_race_ability_choice5') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_race_ability_choice6_increase') + span.choice.tasha_race_ability_choice6.tasha(data-i18n='ability-score-increase-tasha') + select.choice.race_possible.tasha_race_ability_choice6(name='comp_tasha_race_ability_choice6') + +abilitiesOptions() + .choice.tasha_race_disabled + span(data-i18n='ability-score-increase') + p.race_ability_score.race_text + p.race_ability_choice_rule.race_text + select.choice.race_possible.race_ability_choice1(name='comp_race_ability_choice1') + +abilitiesOptions() + select.choice.race_possible.race_ability_choice2(name='comp_race_ability_choice2') + +abilitiesOptions() + select.choice.race_possible.race_ability_choice3(name='comp_race_ability_choice3') + +abilitiesOptions() + each val in globalAttributesByCategory.abilities + label.choice.custom_race + span(data-i18n=val) + input.choice.custom_race(max='5' min='-5' name=`comp_race_custom_${val}` type='number' value='0') + .row.choice.race_always.custom_race + label + span(data-i18n='alignment') + select(name='comp_alignment') + option(data-i18n='choose' value='') + each val in globalAttributesByCategory.alignments + - const datai18n = val.toLowerCase().replace(' ', '-') + option(data-i18n=datai18n value=val) + .row.choice.race_always.custom_race + label + span(data-i18n='size') + p.race_size.race_text + select.choice.custom_race(name='comp_size') + option(data-i18n='choose' value='') + each val in globalAttributesByCategory.sizes + - const datai18n = val.toLowerCase(); + option(data-i18n=datai18n value=val) + .row.choice.race_always.custom_race + label + span(data-i18n='speed') + p.race_speed.race_text + input.choice.custom_race(min='0' name='comp_speed' type='number') + .race_holder.holder + .choice.subrace + .row + label.hilite + span(data-i18n='subrace') + select.choose_subrace(name='comp_subrace' required) + option(data-i18n='choose' value='') + option.custom(data-i18n='custom' value='Rules:Races') + +buttonMancerInfo('subrace') + .choice.custom_subrace + label.hilite + span(data-i18n='charmancer-custom-subrace-name') + input(name='comp_subrace_name' placeholder='Custom Subrace' type='text' required) + .choice.subrace_options + .row.choice.subrace_possible.subrace_abilities.custom_subrace + label + .choice.tasha_subrace_enabled + input(type='hidden' name='comp_tasha_subrace_ability_choice1_increase') + span.choice.tasha_subrace_ability_choice1.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice1(name='comp_tasha_subrace_ability_choice1') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_subrace_ability_choice2_increase') + span.choice.tasha_subrace_ability_choice2.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice2(name='comp_tasha_subrace_ability_choice2') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_subrace_ability_choice3_increase') + span.choice.tasha_subrace_ability_choice3.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice3(name='comp_tasha_subrace_ability_choice3') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_subrace_ability_choice4_increase') + span.choice.tasha_subrace_ability_choice4.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice4(name='comp_tasha_subrace_ability_choice4') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_subrace_ability_choice5_increase') + span.choice.tasha_subrace_ability_choice5.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice5(name='comp_tasha_subrace_ability_choice5') + +abilitiesOptions() + input(type='hidden' name='comp_tasha_subrace_ability_choice6_increase') + span.choice.tasha_subrace_ability_choice6.tasha(data-i18n='ability-score-increase-tasha') + select.choice.subrace_possible.tasha_subrace_ability_choice6(name='comp_tasha_subrace_ability_choice6') + +abilitiesOptions() + .choice.tasha_subrace_disabled + span(data-i18n='subrace-ability-increase') + p.subrace_ability_score.subrace_text + - let subraceChoiceInt = 1; + while subraceChoiceInt <= 3 + select(class=`choice subrace_possible subrace_ability_choice${subraceChoiceInt}` name=`comp_subrace_ability_choice${subraceChoiceInt}`) + +abilitiesOptions() + - subraceChoiceInt++ + each val in globalAttributesByCategory.abilities + label.choice.custom_subrace + span(data-i18n=val) + input.choice.custom_subrace(max='5' min='-5' name=`comp_subrace_custom_${val}` type='number' value='0') + .row.choice.subrace_possible.subrace_speed_row.custom_subrace + label + span(data-i18n='speed') + p.subrace_speed.subrace_text + input.choice.custom_subrace(name='comp_speed' min='0' type='number') + .subrace_holder.holder + .row.choice.race_possible.custom_race.custom_subrace + label + span(data-i18n='innate-spellcasting:') + label + span(data-i18n='spellcasting-ability') + select(name='comp_custom_race_spell_ability') + +abilitiesOptions() + label.hilite.choice.custom_spellcasting + span(data-i18n='number-of-cantrips') + input(min='1' name='comp_custom_race_spell_number' type='number' value='1' required) + label.hilite.choice.custom_spellcasting + span(data-i18n='spell-list') + select(name='comp_custom_race_spell_list') + +classOptions() + +infoDiv('race','Rules:Races') + +bottomBar('welcome', 'class') + +cancelPrompt('race') + input(name='comp_has_subrace' type='hidden') + +//- Class slide is throwing an error when converted to pug +include ../html/charactermancer/class.html + +charmancer.sheet-charmancer-l1-abilities + .charmancer.container + ol.steps + .topbar-holder + input(name='comp_pointbuy_points' type='hidden' value='27') + input(name='comp_roll_results' type='hidden' value='0') + .choices + .row + label.hilite + span(data-i18n='ability-score-method') + select(name='comp_abilities' required) + option(data-i18n='choose' value='') + option.custom(data-i18n='custom' value='custom') + .row.choice.abilities_possible.abilities_stdarray + p(data-i18n='select-your-choices') + button(data-i18n='clear-abilities' name='act_clearstats' type='action') + .row.choice.abilities_possible.abilities_rollstats + p(data-i18n='select-your-choices') + p + .rollstats-button + button(data-i18n='standard-roll' type="roll" name="roll_rollstats" value="@{wtype}&{template:mancerroll} {{title=Roll for Stats}} {{r1=[[4d6dl1]]}} {{r2=[[4d6dl1]]}} {{r3=[[4d6dl1]]}} {{r4=[[4d6dl1]]}} {{r5=[[4d6dl1]]}} {{r6=[[4d6dl1]]}}") + button(data-i18n='clear-abilities' name='act_clearstats' type='action') + .row.choice.abilities_possible.abilities_rollstats_rolled + p + span(data-i18n='stats-rolled-hint') + .row.choice.abilities_possible.abilities_pointbuy + p(data-i18n='select-your-choices') + p + span(data-i18n='available-points:') + strong + span(class='points_available_display') + button(data-i18n='clear-abilities' name='act_clearstats' type='action') + .choice.abilities_possible.abilities_selects + .row + .hilite + each val in globalAttributesByCategory.abilities + div + span.label(data-i18n=val) + span(class=`abilities_radio_${val}` name=`comp_${val}` required) + each val in globalAttributesByCategory.optionalAbilites + .sheet-choice(class=`${val}_toggle`) + span.label(data-i18n=val) + span(class=`abilities_radio_${val}` name=`comp_${val}` required) + .row.choice.abilities_possible.abilities_custom + p(data-i18n='input-your-scores') + .abilities_possible.abilities_selects + .hilite + each val in globalAttributesByCategory.abilities + div + span.label(data-i18n=val) + input(max='20' min='0' name=`comp_${val}` type='number' required) + each val in globalAttributesByCategory.optionalAbilites + .sheet-choice(class=`${val}_toggle`) + span.label(data-i18n=val) + input(min="0" max="20" name=`comp_${val}` type="number" required) + +infoDiv('abilscores','Rules:Ability%20Scores') + +bottomBar('class', 'background') + +cancelPrompt('abilities') + +mixin backgroundOptions(type) + label + span(data-i18n=type) + br + select.choice.background_possible.background_ideal_choice(name=`comp_background_${type}_choice`) + option(data-i18n='choose' value='') + button.choice.standardbg.bg_roll(data-i18n='roll' name=`roll_background_${type}_choice_roll` type='roll' value='') + input.choice.custom_background(name=`comp_background_${type}_choice` type='text') + +charmancer.sheet-charmancer-l1-background + .charmancer.container + ol.steps + .topbar-holder + .choices + .row + label.hilite + span(data-i18n='choose-background') + select(accept='Category:Backgrounds' name='comp_background' required) + option(data-i18n='choose' value='') + option.custom(data-i18n='custom' value='Rules:Backgrounds') + .choice.custom_background + label.hilite + span(data-i18n='name-background') + input(name='comp_background_name' placeholder='Artisan' type='text' required) + .choice.backgrounds_options + .holder.background_holder + .row.choice.background_possible.background_detail_choice_row + label + span.label + span.background_detail_choice_name(data-i18n='option' name='comp_background_detail_choice_name') + br + select.choice.background_possible.background_detail_choice(name='comp_background_detail_choice') + option(data-i18n='choose' value='') + button.choice.standardbg.bg_roll(data-i18n='roll' name='roll_background_detail_choice_roll' type='roll' value='') + .row.choice.background_possible.background_personality_row.custom_background + label + span(data-i18n='personality-traits') + br + - let backgroundChoiceInt = 1; + while backgroundChoiceInt <= 2 + select.choice.background_possible.background_personality_choice1(name=`comp_background_personality_choice${backgroundChoiceInt}`) + option(data-i18n='choose' value='') + button.choice.standardbg.bg_roll(data-i18n='roll' name=`roll_background_personality_choice${backgroundChoiceInt}_roll` type='roll' value='') + input.choice.custom_background(name=`comp_background_personality_choice${backgroundChoiceInt}` type='text') + - backgroundChoiceInt++ + each val in ['ideal', 'bond', 'flaw'] + +backgroundOptions(val) + .row.choice.background_possible.background_equipment_row + p + span.label(data-i18n='equipment') + span.background_standard_equipment + +infoDiv('background','Rules:Backgrounds') + +bottomBar('abilities', 'equipment') + +cancelPrompt('background') + + each val in ['detail_choice', 'personality_choice1', 'personality_choice2', 'ideal_choice', 'bond_choice', 'flaw_choice'] + input(name=`comp_background_${val}_array` type='hidden') + +charmancer.sheet-charmancer-l1-equipment + .charmancer.container + ol.steps + .topbar-holder + .choices + each val in ['equipment_class', 'equipment_background', 'starting_gold_roll', 'background_starting_gold'] + input(name=`comp_${val}` type='hidden') + .row + p.choice.no_class + span.label(data-i18n='you-havent-selected-class') + p.choice.eqp_custom_class + span.label(data-i18n='you-have-created-custom-class') + p.choice.no_gold_option + span.label(data-i18n='pick-your-equipment') + span : + span.class_label + .choice.has_class.equipment_type.hilite + p + span.label(data-i18n='equipment-choice-text') + span(data-i18n='class') + span : + span.class_label + select.equipment_type(name='comp_equipment_type' required) + option(data-i18n='choose' value='') + option(data-i18n='class-equipment' value='class') + option(data-i18n='starting-wealth' value='gold') + .row.choice.gold_option + p.choice.custom_class_gold + span.label(data-i18n='equipment-from-class') + span ( + span.class_label + span ) + p + span.label(data-i18n='starting-gold:') + p + .choice.random_gold_option + button(name='roll_starting_gold' type='roll' value='') + span.starting_gold_btn_label + input(name='comp_starting_gold' type='number' value='0') + .row.choice.class_option + p + span.class_equipment + - let equipmentChoiceInt = 1; + while equipmentChoiceInt <= 4 + p.equipment_choice_title + span.choice.class_possible(class=`class_equipment_choice${equipmentChoiceInt} class_equipment_choice${equipmentChoiceInt}_title`) + select.choice.class_possible(class=`class_equipment_choice${equipmentChoiceInt}` name=`comp_class_equipment_choice${equipmentChoiceInt}`) + option(data-i18n='choose' value='') + select.choice.class_possible(class=`class_equipment_choice${equipmentChoiceInt}_double` name=`comp_class_equipment_choice${equipmentChoiceInt+4}`) + option(data-i18n='choose' value='') + - equipmentChoiceInt++ + .row.choice.no_class_warning + span.warning(data-i18n='no_class_warning-u') + .row + p.choice.no_background + span.label(data-i18n='you-havent-chosen-background') + p.choice.has_background.class_option + span.label(data-i18n='equipment-from-background') + span ( + span.background_label + span ) + p.choice.background_chose_starting_gold.background_gold_option + span.label(data-i18n='you-have-chosen-starting-gold') + p.choice.has_background.class_option + span.background_equipment + .choice.class_option + - let backEquipInt = 1; + while backEquipInt <= 4 + p.equipment_choice_title + span.choice.background_possible(class=`background_equipment_choice${backEquipInt} background_equipment_choice${backEquipInt}_title`) + select.choice.background_possible(class=`background_equipment_choice${backEquipInt}` name=`comp_background_equipment_choice${backEquipInt}`) + option(data-i18n='choose' value='') + - backEquipInt++ + +infoDiv('background','Rules:Equipment') + +bottomBar('background', 'spells') + +cancelPrompt('equipment') + +charmancer.sheet-charmancer-l1-spells + .charmancer.container + ol.steps + .topbar-holder + .choice.no_spells + p.label(data-i18n='arcane-is-mystery') + p(data-i18n='your-character-dont-have-spells-this-lvl') + .choices.spell_holder + .info.choice.spell-info-container + .sheet-compendium-page.sheet-spell-info(accept='Rules:Spells' class=`sheet-spells-info`) + +bottomBar('equipment', 'feat') + +cancelPrompt('spells') + each val in ['race_spells', 'class_spells', 'race_number', 'class_number'] + input(name=`comp_${val}` type='hidden') + +mixin featChoices(type, acceptString) + .row.choice.feat_possible(class=`feat_${type}_row`) + label + span(data-i18n=`${type}-proficiencies`) + - const typePlural = `${type}s` + p.feat_text(class=`feat_${typePlural}`) + - let choiceInt = 1; + while choiceInt <= 4 + if acceptString + select.choice.feat_possible(class=`feat_${type}_choice${choiceInt}` name=`comp_feat_${type}_choice${choiceInt}` accept=acceptString) + option(data-i18n='choose' value='') + else + select.choice.feat_possible(class=`feat_${type}_choice${choiceInt}` name=`comp_feat_${type}_choice${choiceInt}`) + option(data-i18n='choose' value='') + - choiceInt++ + +charmancer.sheet-charmancer-l1-feat + .charmancer.container + ol.steps + .topbar-holder + .choice.no_feat + p.label(data-i18n='charmancer-a-feat-represents') + p(data-i18n='you-really-havent-done') + .choices.choice.yes_feat + .row + label + span(data-i18n='choose-a-feat:') + select(accept='Category:Feats' name='comp_feat') + option(data-i18n='choose' value='') + .choice.feat_options + .row.choice.feat_prereq.feat_possible + label.warning + span(data-i18n='prerequisite:') + p.feat_prerequisite.feat_text + p.feat_text(data-i18n='feat-pre-check') + .row.choice.feat_ability.feat_possible + label + span(data-i18n='ability-score-increase:') + p.feat_ability_score.feat_text + select.choice.feat_possible.feat_ability_choice(name='comp_feat_ability_choice') + option(data-i18n='choose' value='') + +featChoices('language') + +featChoices('skill', 'Category:Proficiencies Type:Skill') + +featChoices('weapon') + +featChoices('armor') + +featChoices('tool') + .sheet-row.sheet-choice.sheet-feat_possible.sheet-feat_spell_row + label + span(data-i18n='spell-list') Spell List: + span(style='color: red;') + p.sheet-feat_text.sheet-feat_spells + select.sheet-choice.sheet-feat_possible.sheet-feat_spell_choice1(name='comp_feat_spell_choice1') + option(data-i18n='choose' value='') Choose + select.sheet-choice.sheet-feat_possible.sheet-feat_spell_choice2(name='comp_feat_spell_choice2') + option(data-i18n='choose' value='') Choose + select.sheet-choice.sheet-feat_possible.sheet-feat_spell_choice3(name='comp_feat_spell_choice3') + option(data-i18n='choose' value='') Choose + select.sheet-choice.sheet-feat_possible.sheet-feat_spell_choice4(name='comp_feat_spell_choice4') + option(data-i18n='choose' value='') Choose + .row.choice.feat_possible.feat_expertise_row + label + span(data-i18n='expertise') + each val in [1, 2] + select(class=`choice feat_possible feat_expertise_choice${val}` name=`comp_feat_expertise_choice_${val}`) + option(data-i18n='choose' value='') + .row.choice.feat_possible.feat_feature_row_1 + h4.feat_feature_name_1 + span(class='feat_feature_1') + select.feat_possible.feat_feature_choice_1(name='comp_feat_feature_choice_1') + option(data-i18n='choose' value='') + option.custom(data-i18n='custom') + p.description.feat_feature_description_1 + .row.choice.feat_possible.feat_feature_row_1_double + h4.feat_feature_name_1_double + span.feat_feature_1_double + select.feat_possible.feat_feature_choice_1_double(name='comp_feat_feature_choice_3') + option(data-i18n='choose' value='') + option.custom(data-i18n='custom') + p.description.feat_feature_description_1_double + .row.choice.feat_possible.feat_feature_row_2 + h4.feat_feature_name_2 + span.feat_feature_2 + select.feat_possible.feat_feature_choice_2(name='comp_feat_feature_choice_2') + option(data-i18n='choose' value='') + option.custom(data-i18n='custom') + p.description.feat_feature_description_2 + .choice.row.feat_possible.other_options_and_features1 + label + span.other_options_and_features_title1 + select.feat_possible.other_options_and_features_choice1(name='comp_other_options_and_features_choice1') + option(data-i18n='choose' value='') + .choice.row.feat_possible.other_options_and_features2 + label + span.other_options_and_features_title2 + select.feat_possible.other_options_and_features_choice1(name='comp_other_options_and_features_choice2') + option(data-i18n='choose' value='') + .info.feat-info-container.choice.yes_feat + .sheet-compendium-page.sheet-feat-info(accept='Rules:Feats') + +bottomBar('spells', 'bio') + +cancelPrompt('feat') + + +charmancer.sheet-charmancer-l1-bio + .charmancer.container + ol.steps + .topbar-holder + .choices + input(name='comp_previous_race' type='hidden' value='') + each val in ['Name', 'Age', 'Height', 'Weight', 'Eyes', 'Hair', 'Skin'] + - const attributeName = val === 'Name' ? 'character_name' : val.toLowerCase(); + - const datai18n = val === 'Name' ? 'char-name-u' : val === 'Eyes' ? `eye-u` : `${val.toLowerCase()}-u`; + .row + label + div(data-i18n=datai18n) + input(name=`comp_${attributeName}` type='text') + +infoDiv('race','Rules:Races') + +bottomBar('feat', 'summary') + +cancelPrompt('bio') + + +mixin summaryBlocks(type) + .summary + p.label(data-i18n=type) + div(class=`${type}_info`) + .choice.returnblock(class=`${type}_button`) + span(data-i18n='return-to:') + button.step(data-i18n=`${type}-u` type='back' value=`l1-${type}`) + +charmancer.sheet-charmancer-l1-summary + .charmancer + ol.steps + .topbar-holder + p.choice.ready_text(data-i18n='charmancer-only-choice-left-is-on-or') + p.label.ready_message + p.label(data-i18n='review-your-choices') + .summary-container + +summaryBlocks('race') + +summaryBlocks('class') + +summaryBlocks('abilities') + +summaryBlocks('background') + +summaryBlocks('equipment') + +summaryBlocks('spells') + .summary + p.label(data-i18n='feats') + .feat_info + .summary + p.label(data-i18n='bio') + .race_warning + .bio_info + .bottombar + button.prev(data-i18n='back' type='back' value='l1-bio') + button.jump(data-i18n='back-to-top' data-scroll='#top' type='button') + button.next.apply_changes(data-i18n='apply-changes' type='finish' value=`l1-mancer`) + +cancelPrompt('summary') + + +charmancer.sheet-charmancer-final + .charmancer + div + h1(data-i18n='building-your-character') + .mancer_progress + div(style='width: 0%') + input(name='attr_mancer_category' type='hidden') + input(name='attr_mancer_progress' type='hidden') + + + diff --git a/Brancalonia Official/src/pug/layouts/headers/core.pug b/Brancalonia Official/src/pug/layouts/headers/core.pug new file mode 100644 index 0000000000..31e51c73a0 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/headers/core.pug @@ -0,0 +1,61 @@ +.header + .name-container + img(src='https://app.roll20.net/images/dndstyling/srd5_360.png' style='padding-bottom: 5px;' alt='SRD5 by Roll20') + input(type='text' name='attr_character_name' style='width: 100%;') + span.label(data-i18n='char-name-u') CHARACTER NAME + input.options-flag(type='checkbox' name='attr_options-class-selection' checked='checked') + span y + .header-info.options + .row(style='border-top: 2px dashed gold;') + span(data-i18n='class:-u') CLASS: + input.flag(type='hidden' name='attr_custom_class') + select.hiding.class(name='attr_class') + option(value='' data-i18n='choose') Choose + option(value='Artificer' data-i18n='artificer') Artificer + option(value='Barbarian' data-i18n='barbarian') Barbarian + option(value='Bard' data-i18n='bard') Bard + option(value='Cleric' data-i18n='cleric') Cleric + option(value='Druid' data-i18n='druid') Druid + option(value='Fighter' data-i18n='fighter') Fighter + option(value='Monk' data-i18n='monk') Monk + option(value='Paladin' data-i18n='paladin') Paladin + option(value='Ranger' data-i18n='ranger') Ranger + option(value='Rogue' data-i18n='rogue') Rogue + option(value='Sorcerer' data-i18n='sorcerer') Sorcerer + option(value='Warlock' data-i18n='warlock') Warlock + option(value='Wizard' data-i18n='wizard') Wizard + input.showing(type='text' name='attr_cust_classname' style='width: 90px;') + span(data-i18n='subclass:-u') SUBCLASS: + input(type='text' name='attr_subclass') + span(data-i18n='lvl:-u') LEVEL: + input.class-level(type='number' style='width: 40px' name='attr_base_level' value='1') + .row + span(data-i18n='race:-u') RACE: + input(type='text' name='attr_race') + span(data-i18n='subrace:-u') SUBRACE: + input(type='text' name='attr_subrace') + .header-info.display + .top + .hlabel-container + input.class-display.no_events(type='text' name='attr_class_display') + span.label(data-i18n='class-level-u') CLASS & LEVEL + .hlabel-container + input(type='text' name='attr_background' style='width: 182px;') + span.label(data-i18n='background-u') BACKGROUND + .bottom + .hlabel-container + input.no_events(type='text' name='attr_race_display') + span.label(data-i18n='race-u') RACE + .hlabel-container + input(type='text' name='attr_alignment') + span.label(data-i18n='alignment-u') ALIGNMENT + .hlabel-container(style='position: relative;') + input(type='hidden' name='attr_invalidXP') + input(type='text' name='attr_experience') + span.label(data-i18n='exp-pts-u') EXPERIENCE POINTS + input.showleveler(type='hidden' name='attr_showleveler' value='0') + button.levelerbutton(type='action' name='act_launch_lvl+mancer' style='padding: 0px; position: absolute; top: -10px; right: 0px;' title='Charactermancer Level Up') + img(src='https://s3.amazonaws.com/files.d20.io/images/175804938/qmVmtNHONHhHcd9cxCxm7w/med.png?1604618286' style='height: 18px; width: 18px; max-width: inherit;' alt='Wand & Hammer logo of Charactermancer') + .invalidXP + span.icon ! + span.message(data-i18n='invalidxp') Enter a number for Level Up reminder \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/headers/header.pug b/Brancalonia Official/src/pug/layouts/headers/header.pug new file mode 100644 index 0000000000..b772204f46 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/headers/header.pug @@ -0,0 +1,24 @@ +.header + .alignment + input.alignment__value(name="attr_alignment", type="text") + .alignment__label(data-i18n="Alignment") Alignment + .playername + input.playername__value(name="attr_playername", type="text") + .playername__label(data-i18n="Player Name") Player Name + .logo + .classlevel + .class + input.class__value(type="text", name="attr_class", title="@{class}") + .class__label(data-i18n="Class") Class + .level + input.level__value(type="text", name="attr_level", title="@{level}") + .level__label(data-i18n="Level") Level + .background + input.background__value(name="attr_background", type="text") + .background__label(data-i18n="Background") Background + .name + input.name__value(name="attr_character_name", type="text") + .name__label(data-i18n="Character Name") Character Name + .race + input.race__value(name="attr_race", type="text") + .race__label(data-i18n="Race") Race diff --git a/Brancalonia Official/src/pug/layouts/panels/AttacksSpellcasting.pug b/Brancalonia Official/src/pug/layouts/panels/AttacksSpellcasting.pug new file mode 100644 index 0000000000..119d744f97 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/AttacksSpellcasting.pug @@ -0,0 +1,181 @@ +input.ammoflag(type='hidden' name='attr_ammotracking') +.attacks() + .attacks__header + span(data-i18n='name-u') NAME + span(data-i18n='atk-u') ATK + span(data-i18n='dmg-type-u') DAMAGE/TYPE + fieldset.repeating_attack + .attack + input.options__flag(name='attr_options-flag', type="hidden", value='on') + .attack__display + button.attack__button(type='roll' name='roll_attack' value='@{rollbase}') + span.attack__name(name='attr_atkname') + input.attack__bonus(type='text' name='attr_atkbonus' value='') + input.attack__type(type='text' name='attr_atkdmgtype' value='') + .options__cog + input(type='checkbox' name='attr_options-flag' checked='checked') + span y + .attack__options.options + .options__row + span.options__label(data-i18n='name:-u') NAME: + input(type='text' name='attr_atkname') + .options__row.options__row--noborder + input(type='checkbox' name='attr_atkflag' value='{{attack=1}}' checked='checked') + span.options__label(data-i18n='attack:-u') ATTACK: + select(name='attr_atkattr_base') + option(value='@{strength_mod}' selected='selected' data-i18n='str-u') STR + option(value='@{dexterity_mod}' data-i18n='dex-u') DEX + option(value='@{constitution_mod}' data-i18n='con-u') CON + option(value='@{intelligence_mod}' data-i18n='int-u') INT + option(value='@{wisdom_mod}' data-i18n='wis-u') WIS + option(value='@{charisma_mod}' data-i18n='cha-u') CHA + option(value='spell' data-i18n='spell-u') SPELL + option(value='0') - + span + + input(type='text' name='attr_atkmod' placeholder='0') + span + + input(type='checkbox' name='attr_atkprofflag' value='(@{pb})' checked='checked' ) + span(data-i18n='proficient-u') PROFICIENT + .options__row.options__row--noborder + span.options__label(data-i18n='range:-u') RANGE: + input(type='text' name='attr_atkrange' placeholder='Self (60-foot cone)' data-i18n-placeholder='range-place') + .options__row + span.options__label(data-i18n='magic-bonus:-u') MAGIC BONUS: + input.options__flex--2(type='text' name='attr_atkmagic' placeholder='0') + span.options__label(data-i18n='crit-range-u') CRIT RANGE: + input.options__flex--2(type='text' name='attr_atkcritrange' value='20' placeholder='20') + .options__row.options__row--noborder + input(type='checkbox' name='attr_dmgflag' value='{{damage=1}} {{dmg1flag=1}}' checked='checked') + span.options__label(data-i18n='damage:-u') DAMAGE: + input(type='text' name='attr_dmgbase' placeholder='1d6' ) + span.options__label + + select(name='attr_dmgattr') + option(value='@{strength_mod}' selected='selected' data-i18n='str-u') STR + option(value='@{dexterity_mod}' data-i18n='dex-u') DEX + option(value='@{constitution_mod}' data-i18n='con-u') CON + option(value='@{intelligence_mod}' data-i18n='int-u') INT + option(value='@{wisdom_mod}' data-i18n='wis-u') WIS + option(value='@{charisma_mod}' data-i18n='cha-u') CHA + option(value='spell' data-i18n='spell-u') SPELL + option(value='0') - + span.options__label + + input(type='text' name='attr_dmgmod' placeholder='0') + .options__row + span.options__label(data-i18n='type:-u') TYPE: + input(type='text' name='attr_dmgtype' placeholder='Slashing' data-i18n-placeholder='dmg-type-place') + span.options__label(data-i18n='crit:-u') CRIT: + input(type='text' name='attr_dmgcustcrit' placeholder='1d6' ) + .options__row.options__row--noborder + input(type='checkbox' name='attr_dmg2flag' value='{{damage=1}} {{dmg2flag=1}}') + span.options__label(data-i18n='damage2:-u') DAMAGE2: + input(type='text' name='attr_dmg2base' placeholder='1d6' ) + span.options__label + + select(name='attr_dmg2attr') + option(value='@{strength_mod}' data-i18n='str-u') STR + option(value='@{dexterity_mod}' data-i18n='dex-u') DEX + option(value='@{constitution_mod}' data-i18n='con-u') CON + option(value='@{intelligence_mod}' data-i18n='int-u') INT + option(value='@{wisdom_mod}' data-i18n='wis-u') WIS + option(value='@{charisma_mod}' data-i18n='cha-u') CHA + option(value='spell' data-i18n='spell-u') SPELL + option(value='0' selected='selected') - + span.options__label + + input(type='text' name='attr_dmg2mod' placeholder='0') + .options__row + span(data-i18n='type:-u') TYPE: + input(type='text' name='attr_dmg2type' placeholder='Slashing' data-i18n-placeholder='dmg-type-place') + span(data-i18n='crit:-u') CRIT: + input(type='text' name='attr_dmg2custcrit' placeholder='1d6' ) + .options__row.options__row--noborder + input(type='checkbox' name='attr_saveflag' value='{{save=1}} {{saveattr=@{saveattr}}} {{savedesc=@{saveeffect}}} {{savedc=[[[[@{savedc}]][SAVE]]]}}') + span.options__label(data-i18n='saving-throw:-u') SAVING THROW: + select.options__flex(name='attr_saveattr') + option(value='Strength' selected='selected' data-i18n='str-u') STR + option(value='Dexterity' data-i18n='dex-u') DEX + option(value='Constitution' data-i18n='con-u') CON + option(value='Intelligence' data-i18n='int-u') INT + option(value='Wisdom' data-i18n='wis-u') WIS + option(value='Charisma' data-i18n='cha-u') CHA + .options__row.options__row--noborder + span.options__label.options__flex--4(data-i18n='vs-dc:-u') VS DC: + select.options__flex(name='attr_savedc') + option(value='(@{spell_save_dc})' selected='selected' data-i18n='spell-u') SPELL + option(value='(@{strength_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='str-u') STR + option(value='(@{dexterity_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='dex-u') DEX + option(value='(@{constitution_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='con-u') CON + option(value='(@{intelligence_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='int-u') INT + option(value='(@{wisdom_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='wis-u') WIS + option(value='(@{charisma_mod}+8+@{spell_dc_mod}+@{pb})' data-i18n='cha-u') CHA + option(value='(@{saveflat})' data-i18n='flat-u') FLAT + input.flatflag(type='hidden' name='attr_savedc') + input.flat(type='text' name='attr_saveflat' placeholder='10' value='10') + .options__row + span.options__label.options__flex--4(data-i18n='save-effect:-u') SAVE EFFECT: + input(type='text' name='attr_saveeffect' placeholder='half damage' data-i18n-placeholder='save-effect-place') + .options__row + span.options__label(data-i18n='ammunition:-u') AMMUNITION: + input(type='text' name='attr_ammo' placeholder='Arrows' data-i18n-placeholder='ammunition-place') + .options__row + span.options__label(data-i18n='description:-u') DESCRIPTION: + textarea(name='attr_atk_desc' placeholder='Up to 2 creatures within 5 feet' data-i18n-placeholder='description-place') + + input(type='hidden' name='attr_rollbase') + input(type='hidden' name='attr_rollbase_dmg') + input(type='hidden' name='attr_rollbase_crit') + input(type='hidden' name='attr_hldmg') + input(type='hidden' name='attr_spelllevel') + input(type='hidden' name='attr_itemid') + input(type='hidden' name='attr_spellid') + input(type='hidden' name='attr_spell_innate') + input(type='hidden' name='attr_versatile_alt') + button.hidden(type='roll' name='roll_attack_dmg' value='@{rollbase_dmg}') + button.hidden(type='roll' name='roll_attack_crit' value='@{rollbase_crit}') + input.toggleflag(type='hidden' name='attr_global_attack_mod_flag') + .hidden.textbox.globalattack + span(data-i18n='global-attack-u') GLOBAL ATTACK MODIFIER + fieldset.repeating_tohitmod + .global-mod + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked' ) + span y + input.active-flag(type='checkbox' name='attr_global_attack_active_flag' value='1') + .options + .row + span(data-i18n='name:-u') NAME: + input(type='text' name='attr_global_attack_name' value='' placeholder='Bless') + .row + span(data-i18n='roll:-u') ROLL: + input(type='text' name='attr_global_attack_roll' value='' placeholder='1d4') + .globaldisplay + button.ellipsis(type='roll' name='roll_global_save' value='@{wtype}&{template:simple} {{rname=@{global_attack_name}}} {{r1=[[@{global_attack_roll}]]}} {{normal=1}} @{charname_output}') + span(name='attr_global_attack_roll') + span(name='attr_global_attack_name') + input.toggleflag(type='hidden' name='attr_global_damage_mod_flag') + .hidden.globalattack.global-dmg + span(data-i18n='global-damage-u') GLOBAL DAMAGE MODIFIER + fieldset.repeating_damagemod + .global-mod + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked' ) + span y + input.active-flag(type='checkbox' name='attr_global_damage_active_flag' value='1') + .options + .row + span(data-i18n='name:-u') NAME: + input(type='text' name='attr_global_damage_name' value='' placeholder='Sneak Attack') + .row + span(data-i18n='dmg:-u') DAMAGE: + input(type='text' name='attr_global_damage_damage' value='' placeholder='1d6') + .row + span(data-i18n='critical-dmg:-u') CRITICAL DAMAGE: + input(type='text' name='attr_global_damage_critical_damage' value='' placeholder='1d6') + .row + span(data-i18n='type:-u') TYPE: + input(type='text' name='attr_global_damage_type' value='' placeholder='Sneak') + .display + span.title(name='attr_global_damage_name') + span.subheader + button.ellipsis(type='roll' name='roll_global_save' value='@{wtype}&{template:simple} {{rname=@{global_damage_type}}} {{r1=[[@{global_damage_damage}]]}} {{normal=1}} @{charname_output}') + span(name='attr_global_damage_damage') + span(name='attr_global_damage_critical_damage') + span(name='attr_global_damage_type') + + .attacks__label(data-i18n="Attacks & Spellcasting") Attacks & Spellcasting \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Coins.pug b/Brancalonia Official/src/pug/layouts/panels/Coins.pug new file mode 100644 index 0000000000..aa65d78403 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Coins.pug @@ -0,0 +1,13 @@ +.money + .coin + span.coin__label(data-i18n="L") + input(type="number", name="attr_l", placeholder="0") + .coin + span.coin__label(data-i18n="P") + input(type="number", name="attr_p", placeholder="0") + .coin + span.coin__label(data-i18n="S") + input(type="number", name="attr_s", placeholder="0") + .coin + span.coin__label(data-i18n="G") + input(type="number", name="attr_g", placeholder="0") diff --git a/Brancalonia Official/src/pug/layouts/panels/DeathSaves.pug b/Brancalonia Official/src/pug/layouts/panels/DeathSaves.pug new file mode 100644 index 0000000000..6d9c0dae77 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/DeathSaves.pug @@ -0,0 +1,31 @@ +.deathsaves + .deathsaves__container + .deathsaves__label + button( + type="roll", + name="roll_death_save", + value="@{wtype}&{template:simple} {{rname=^{death-save-u}}} {{mod=@{death_save_bonus}}} {{r1=[[@{d20}+@{death_save_bonus}[MOD]@{globalsavingthrowbonus}]]}} {{normal=1}} {{global=@{global_save_mod}}} @{charname_output}", + data-i18n="death-saves-u" + ) DEATH SAVES + .deathsaves__successes + span.deathsaves__text(data-i18n="successes-u") SUCCESSES + .deathsaves__check + input(type="checkbox", name="attr_deathsave_succ1") + span + .deathsaves__check + input(type="checkbox", name="attr_deathsave_succ2") + span + .deathsaves__check + input(type="checkbox", name="attr_deathsave_succ3") + span + .deathsaves__failures + span.deathsaves__text(data-i18n="failures-u") FAILURES + .deathsaves__check + input(type="checkbox", name="attr_deathsave_fail1") + span + .deathsaves__check + input(type="checkbox", name="attr_deathsave_fail2") + span + .deathsaves__check + input(type="checkbox", name="attr_deathsave_fail3") + span diff --git a/Brancalonia Official/src/pug/layouts/panels/Equipment.pug b/Brancalonia Official/src/pug/layouts/panels/Equipment.pug new file mode 100644 index 0000000000..5635b7a8bc --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Equipment.pug @@ -0,0 +1,65 @@ +.equipment + .equipment__header + span.equipment__count.pictos * + span.equipment__title(data-i18n="item-name-u") ITEM NAME + span.equipment__weighti + img( + src="https://app.roll20.net/images/dndstyling/weight_lbs.png", + alt="Weight symbol" + ) + + fieldset.repeating_inventory + .item + input.item__optionsflag(type="hidden", name="attr_inventory_options") + .item__titlerow + input.item__equipped( + type="checkbox", + name="attr_equipped", + value="1", + checked="checked" + ) + input.item__count(type="text", name="attr_itemcount", value="1") + input.item__name(type="text", name="attr_itemname") + input.item__weight(type="text", name="attr_itemweight") + .item__optionsflag + input.item__optionscheck( + type="checkbox", + name="attr_inventory_options" + ) + span.pictos y + .item__options.options + .options__row.options__row--checkbox + input.equipped( + type="checkbox", + name="attr_equipped", + value="1", + checked="checked" + ) + span.equippedlabel(data-i18n="equipped-u") EQUIPPED + .options__row.options__row--checkbox + input.equipped(type="checkbox", name="attr_useasresource", value="1") + span.equippedlabel(data-i18n="use-as-resource-u") USE AS A RESOURCE + .options__row.options__row--checkbox + input.equipped(type="checkbox", name="attr_hasattack", value="1") + span.equippedlabel(data-i18n="has-attack-u") HAS AN ATTACK + .options__row + span(data-i18n="prop:-u") PROP: + input(type="text", name="attr_itemproperties") + .options__row + span(data-i18n="mods:-u") MODS: + input(type="text", name="attr_itemmodifiers") + .options__row + textarea.subtextarea(name="attr_itemcontent") + input(type="hidden", name="attr_itemattackid") + input(type="hidden", name="attr_itemresourceid") + + .equipment__weighttotal + span.equipment__encumbrancetitle(data-i18n="total-weight-u") TOTAL WEIGHT + input.equipment__encumbrance( + type="number", + name="attr_weighttotal", + value="0" + ) + input(type="hidden", name="attr_encumbrance") + + .equipment__label(data-i18n="Equipment") Equipment diff --git a/Brancalonia Official/src/pug/layouts/panels/Exhaustion.pug b/Brancalonia Official/src/pug/layouts/panels/Exhaustion.pug new file mode 100644 index 0000000000..7652b0ff7d --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Exhaustion.pug @@ -0,0 +1,12 @@ +.exhaustions + input(type="hidden", name="attr_exhaustion", value="0") + .exhaustions__checks + each i in [0, 1, 2, 3, 4, 5, 6] + .exhaustion + input.exhaustion__radio(type="radio", name="attr_exhaustion", value=i) + span.exhaustion__text= i + .exhaustions__tracker + each url, i in ["https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-0_wulpge.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-1_fzmarb.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-2_prwgr3.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-3_hvsfbn.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-4_bnucar.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-5_ncgzva.png", "https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/exhaustion-6_zles7f.png"] + - const className = `exhaustions__level--${i}`; + img.exhaustions__level(class=className, src=url) + span.exhaustions__label(data-i18n="Exhaustion") Exhaustion diff --git a/Brancalonia Official/src/pug/layouts/panels/Features.pug b/Brancalonia Official/src/pug/layouts/panels/Features.pug new file mode 100644 index 0000000000..5b47b72f0d --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Features.pug @@ -0,0 +1,32 @@ +.features + .features__label(data-i18n="feats-traits-u") FEATURES & TRAITS + fieldset.repeating_traits + .feature + input.feature__flag--options(type="hidden" name="attr_options-flag" value="on") + .feature__display + span.feature__title(name="attr_name") + span.feature__subheader + span(name="attr_source") + span : + span(name="attr_source_type") + button.feature__chat-button(type="roll" name="roll_output" value="@{wtype}&{template:traits} @{charname_output} {{name=@{name}}} {{source=@{source}: @{source_type}}} {{description=@{description}}}") w + .feature__options-container + input.feature__flag--options(type="checkbox" name="attr_options-flag" checked="checked") + span y + .feature__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name") + .options__row + span(data-i18n="source:-u") SOURCE: + select(name="attr_source") + option(selected="selected" data-i18n="racial") Racial + option(data-i18n="class") Class + option(data-i18n="feat") Feat + option(data-i18n="background") Background + option(data-i18n="other") Other + .options__row + span(data-i18n="source-type:-u") SOURCE TYPE: + input(type="text" name="attr_source_type" placeholder="Dwarf/Fighter/4th Level") + .options__row + textarea(name="attr_description") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/GlobalACMod.pug b/Brancalonia Official/src/pug/layouts/panels/GlobalACMod.pug new file mode 100644 index 0000000000..fcf9439f00 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/GlobalACMod.pug @@ -0,0 +1,22 @@ +input.toggleflag(type='hidden' name='attr_global_ac_mod_flag') +.equipment.hidden + .textarea.globalattack.acmod + fieldset.repeating_acmod + .global-mod + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked' style='top: -15px;') + span y + input.active-flag(type='checkbox' name='attr_global_ac_active_flag' value='1') + .options + label + | Value: + input(type='number' name='attr_global_ac_val' placeholder='1') + label + | Name: + input(type='text' name='attr_global_ac_name' placeholder='Defense') + .display + span.title.ellipsis + span(name='attr_global_ac_val') + | [ + span(name='attr_global_ac_name') + | ] + span.label(data-i18n='global-ac-u') GLOBAL AC MODIFIER \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/GlobalSaveRepeating.pug b/Brancalonia Official/src/pug/layouts/panels/GlobalSaveRepeating.pug new file mode 100644 index 0000000000..342eab87d8 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/GlobalSaveRepeating.pug @@ -0,0 +1,19 @@ +input.toggleflag(type='hidden' name='attr_global_save_mod_flag') +.hidden.textarea.globalattack + span.label(data-i18n='global-save-u' style='position: relative; padding-bottom: 5px;') GLOBAL SAVE MODIFIER + fieldset.repeating_savemod + .global-mod + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked' style='top: -15px;') + span y + input.active-flag(type='checkbox' name='attr_global_save_active_flag' value='1') + .options + .row + span(data-i18n='name:-u') NAME: + input(type='text' name='attr_global_save_name' value='' placeholder='Bless' style='width:75px') + .row + span(data-i18n='roll:-u') ROLL: + input(type='text' name='attr_global_save_roll' value='' placeholder='1d4' style='width:75px') + .globaldisplay(style='width: 75%') + button.ellipsis(type='roll' name='roll_global_save' value='@{wtype}&{template:simple} {{rname=@{global_save_name}}} {{r1=[[@{global_save_roll}]]}} {{normal=1}} @{charname_output}') + span(name='attr_global_save_roll') + span(name='attr_global_save_name') \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/HeroPoints.pug b/Brancalonia Official/src/pug/layouts/panels/HeroPoints.pug new file mode 100644 index 0000000000..0e14be22cc --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/HeroPoints.pug @@ -0,0 +1,12 @@ +input(type='hidden' name='attr_use_hero_points') +.hero-points + input(type='hidden' name='attr_hero_points') + .value + input(type='text' name='attr_hero_points' value='0') + .label + button.roll-hd.btn.ui-draggable(type='roll' name='roll_hero_points' value='@{wtype}&{template:simple} {{rname=^{hero-points-u}}} {{r1=[[d6]]}} {{normal=1}} {{r2=[[0d20]]}} @{charname_output}' title='Roll Hero Points') + span + span(data-i18n='hero-points-u') HERO POINTS + | (1D6) + span(data-i18n='none-left-u') NONE LEFT + input(type='checkbox' name='attr_consumed_hero_points' value='1') \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Knock.pug b/Brancalonia Official/src/pug/layouts/panels/Knock.pug new file mode 100644 index 0000000000..7748647200 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Knock.pug @@ -0,0 +1,12 @@ +.knocks + input(type="hidden", name="attr_knock", value="0") + .knocks__tracker + each url, i in ["https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/knocks-0_vjhzm1.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/knocks-1_jw2f7g.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/knocks-2_vjnn6l.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/knocks-3_k5vfqe.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558383/knocks-4_qgcbum.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558384/knocks-5_tdonfo.png","https://res.cloudinary.com/dmrhbjudf/image/upload/v1626558384/knocks-6_ta9dgm.png"] + - const className = `knocks__level--${i}`; + img.knocks__level(class=className, src=url) + .knocks__checks + each i in [0, 1, 2, 3, 4, 5, 6] + .knock + input.knock__radio(type="radio", name="attr_knock", value=i) + span.knock__text= i + span.knocks__label(data-i18n="Knocks") Knocks diff --git a/Brancalonia Official/src/pug/layouts/panels/MissingInfo.pug b/Brancalonia Official/src/pug/layouts/panels/MissingInfo.pug new file mode 100644 index 0000000000..989b9c7d96 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/MissingInfo.pug @@ -0,0 +1,7 @@ +input.missing-info-flag(type='hidden' name='attr_missing_info') +.missing-info + span + span.info-popup.pictos i + | Looking for missing data? + span.missing-info-desc + | Your data is in the simple version that can be re-enabled from the Settings(gear) tab of the character sheet. Under GENERAL OPTIONS and then FEATS & TRAITS. Set the section to be 'Simple'. \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Moves.pug b/Brancalonia Official/src/pug/layouts/panels/Moves.pug new file mode 100644 index 0000000000..afb4e8cdad --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Moves.pug @@ -0,0 +1,30 @@ +.moves + .move-label(class=`move-label--${level}`) + .move-label__numeral + .move-label__label + span(data-i18n="moves-u") Moves + button.pictos(name="act_move-reset", type="action") 1 + button.pictos(name="act_move-use", type="action") } + .move-label__total + .move-label__title(data-i18n="total") + span(name=`attr_moves_total`) + input(name=`attr_moves_total`, type="hidden", value="0") + .move-label__expended + .move-label__title(data-i18n="current") + input(type="number", name=`attr_moves_expended`, value="0") + fieldset.repeating_moves + .move + input.move__flag--options(type="hidden" name="attr_options-flag" value="on") + span.move__title(name="attr_name") + button.move__chat-button(type="roll" name="roll_output" value="@{wtype}&{template:traits} @{charname_output} {{name=@{name}}} {{source=@{source}: @{source_type}}} {{description=@{description}}}") w + .move__options-container + input.move__flag--options(type="checkbox" name="attr_options-flag" checked="checked") + span y + .move__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name") + .options__row--noborder + span(data-i18n="description:-u") DESCRIPTION: + .options__row + textarea(name="attr_description") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/OtherProficiencies.pug b/Brancalonia Official/src/pug/layouts/panels/OtherProficiencies.pug new file mode 100644 index 0000000000..3d0dae9fc2 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/OtherProficiencies.pug @@ -0,0 +1,30 @@ +.otherprofs + input.hiddenflag__flag(type='hidden' name='attr_simpleproficencies' value='complex') + textarea.hiddenflag__simple(name='attr_other_proficiencies_and_languages' style='min-height: 91px; height: 91px;') + .hiddenflag__complex + .otherprofs__header + span.label(data-i18n='type-u') TYPE + span.label(data-i18n='proficency-u') PROFICIENCY + fieldset.repeating_proficiencies + .otherprof + input.options__flag(name='attr_options-flag', type="hidden", value='on') + .toolprof__options.options + .options__row + span.options__label.options__flex(data-i18n='type:-u') TYPE: + select.options__flex(name='attr_prof_type') + option(selected='selected' data-i18n='lang-u') LANGUAGE + option(data-i18n='weapon-u') WEAPON + option(data-i18n='armor-u') ARMOR + option(data-i18n='other-u') OTHER + .options__row + span.options__label.options__flex(data-i18n='proficency-u') PROFICIENCY + input.options__flex(type='text' name='attr_name' placeholder='Elven, Dwarven, and Common') + .otherprof__display + button.otherprof__button(type='roll' name='roll_output' value='@{wtype}&{template:traits} @{charname_output} {{name=@{prof_type} PROFICIENCY}} {{description=@{name}}}') + span.otherprof__type(name='attr_prof_type') + span.otherprof__name(name='attr_name') + .options__cog + input(type='checkbox' name='attr_options-flag' checked='checked') + span y + .otherprofs__label + span(data-i18n='other-prof-langs-u') OTHER PROFICIENCIES & LANGUAGES \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Piety.pug b/Brancalonia Official/src/pug/layouts/panels/Piety.pug new file mode 100644 index 0000000000..93eb9a9f16 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Piety.pug @@ -0,0 +1,76 @@ +input(type='hidden' name='attr_use_piety') +.piety + input.details-flag(type='checkbox' name='attr_piety_details-flag' checked='checked') + span i + .container + .header + .score + input(type='number' name='attr_piety' value='1') + span Piety + label.deity + span Deity: + input(type='text' placeholder="Deity's name..." name='attr_piety_deity') + .earning + span.title Earning Piety + fieldset.repeating_earning + .desc + input(type='hidden' name='attr_desc' value='') + textarea(name='attr_desc' placeholder='Enter description...') + span(name='attr_desc') + .losing + span.title Losing Piety + fieldset.repeating_losing + .desc + input(type='hidden' name='attr_desc' value='') + textarea(name='attr_desc' placeholder='Enter description...') + span(name='attr_desc') + input.toggle(type='hidden' name='attr_piety' value='1') + .none + span + | You haven't aquired enough piety. Keep true to you deity and good things will come. + .devotee + span.rank + span(name='attr_piety_deity') + span Devotee + span.subheader + | Piety 3+ + span(name='attr_piety_deity') + | trait + .desc + input(type='hidden' name='attr_piety_devotee' value='') + textarea(name='attr_piety_devotee' placeholder='Enter description...') + span(name='attr_piety_devotee') + .votary + span.rank + span(name='attr_piety_deity') + span Votary + span.subheader + | Piety 10+ + span(name='attr_piety_deity') + | trait + .desc + input(type='hidden' name='attr_piety_votary' value='') + textarea(name='attr_piety_votary' placeholder='Enter description...') + span(name='attr_piety_votary') + .disciple + span.rank + span(name='attr_piety_deity') + span Disciple + span.subheader + | Piety 25+ + span(name='attr_piety_deity') + | trait + .desc + input(type='hidden' name='attr_piety_disciple' value='') + textarea(name='attr_piety_disciple' placeholder='Enter description...') + span(name='attr_piety_disciple') + .champion + input.rank(type='text' name='attr_piety_champion_title' value='Champion of') + span.subheader + | Piety 50+ + span(name='attr_piety_deity') + | trait + .desc + input(type='hidden' name='attr_piety_champion' value='') + textarea(name='attr_piety_champion' placeholder='Enter description...') + span(name='attr_piety_champion') \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Resources.pug b/Brancalonia Official/src/pug/layouts/panels/Resources.pug new file mode 100644 index 0000000000..982c25915a --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Resources.pug @@ -0,0 +1,31 @@ +.resources + .hdice-dsaves-container(style='width: 246px; margin-top: 10px;') + .subcontainer(style='height: 64px; width: 119px;') + .top + span(data-i18n='total') Total + input(type='text' name='attr_class_resource_max' title='@{class_resource_max}') + input(type='number' name='attr_class_resource' title='@{class_resource}' style='margin-bottom: -6px;') + input.label(type='text' name='attr_class_resource_name' title='@{class_resource_name}' placeholder='CLASS RESOURCE' data-i18n-placeholder='class-resource-u') + .subcontainer(style='height: 64px; width: 119px; float: right;') + .top + span(data-i18n='total') Total + input(type='text' name='attr_other_resource_max' title='@{other_resource_max}') + input(type='number' name='attr_other_resource' title='@{other_resource}' style='margin-bottom: -6px;') + input.label(type='text' name='attr_other_resource_name' title='@{other_resource_name}' placeholder='OTHER RESOURCE' data-i18n-placeholder='other-resource-u') + input(type='hidden' name='attr_other_resource_itemid') + fieldset.repeating_resource + .hdice-dsaves-container(style='width: 246px;') + .subcontainer(style='height: 64px; width: 119px;') + .top + span(data-i18n='total') Total + input(type='text' name='attr_resource_left_max' title='@{repeating_resource_left_max}') + input(type='number' name='attr_resource_left' title='@{repeating_resource_left}' style='margin-bottom: -6px;') + input.label(type='text' name='attr_resource_left_name' title='@{repeating_resource_left_name}' placeholder='OTHER RESOURCE' data-i18n-placeholder='other-resource-u') + input(type='hidden' name='attr_resource_left_itemid') + .subcontainer(style='height: 64px; width: 119px;') + .top + span(data-i18n='total') Total + input(type='text' name='attr_resource_right_max' title='@{repeating_resource_right_max}') + input(type='number' name='attr_resource_right' title='@{repeating_resource_right}' style='margin-bottom: -6px;') + input.label(type='text' name='attr_resource_right_name' title='@{repeating_resource_right_name}' placeholder='OTHER RESOURCE' data-i18n-placeholder='other-resource-u') + input(type='hidden' name='attr_resource_right_itemid') \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/SpellStats.pug b/Brancalonia Official/src/pug/layouts/panels/SpellStats.pug new file mode 100644 index 0000000000..51fc762c72 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/SpellStats.pug @@ -0,0 +1,17 @@ +.spellstats + .spellstats__ability + select(name="attr_spellcasting_ability") + option(value!="0*", data-i18n="None") None + option(value!="@{strength_mod}+", data-i18n="Strength") Strength + option(value!="@{dexterity_mod}+", data-i18n="Dexterity") Dexterity + option(value!="@{constitution_mod}+", data-i18n="Constitution") Constitution + option(value!="@{intelligence_mod}+", data-i18n="Intelligence") Intelligence + option(value!="@{wisdom_mod}+", data-i18n="Wisdom") Wisdom + option(value!="@{charisma_mod}+", data-i18n="Charisma") Charisma + span.spellstats__label(data-i18n="Spellcasting Ability") Spellcasting Ability + .spellstats__dc + span.spellstats__display(name="attr_spell_save_dc") + span.spellstats__label(data-i18n="Spell Save DC") Spell Save DC + .spellstats__attackbonus + span.spellstats__display(name="attr_spell_attack_bonus") + span.spellstats__label(data-i18n="Spell Attack Bonus") Spell Attack Bonus diff --git a/Brancalonia Official/src/pug/layouts/panels/ToolsProficiencies.pug b/Brancalonia Official/src/pug/layouts/panels/ToolsProficiencies.pug new file mode 100644 index 0000000000..3338d27dd2 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/ToolsProficiencies.pug @@ -0,0 +1,64 @@ +.toolprofs + .toolprofs__header + span.label(data-i18n='tool-u') TOOL + span.label(data-i18n='pro-u') PRO + span.label(data-i18n='attr-u') ATTRIBUTE + fieldset.repeating_tool + .toolprof + input.options__flag(name='attr_options-flag', type="hidden", value='on') + .toolprof__options.options + .options__row + .options__label.options__flex(data-i18n='name:-u') NAME: + input.options__flex(type='text' name='attr_toolname') + .options__row + span.options__label.options__flex(data-i18n='prof-bonus:-u') PROFICIENCY BONUS: + select.options__flex--5(name='attr_toolbonus_base') + option(value='(@{pb})' selected='selected' data-i18n='prof-u') PROFICIENT + option(value='(@{pb}*2)' data-i18n='expertise-u') EXPERTISE + option(value='(floor(@{pb}/2))' data-i18n='jack-of-all-u') JACK OF ALL TRADES + .options__row + span.options__label.options__flex(data-i18n='attr:-u') ATTRIBUTE: + select.options__flex(name='attr_toolattr_base') + option(value='@{strength_mod}' selected='selected' data-i18n='strength-u') STRENGTH + option(value='@{dexterity_mod}' data-i18n='dexterity-u') DEXTERITY + option(value='@{constitution_mod}' data-i18n='constitution-u') CONSTITUTION + option(value='@{intelligence_mod}' data-i18n='intelligence-u') INTELLIGENCE + option(value='@{wisdom_mod}' data-i18n='wisdom-u') WISDOM + option(value='@{charisma_mod}' data-i18n='charisma-u') CHARISMA + option(value='?{Attribute?|Strength,@{strength_mod}|Dexterity,@{dexterity_mod}|Constitution,@{constitution_mod}|Intelligence,@{intelligence_mod}|Wisdom,@{wisdom_mod}|Charisma,@{charisma_mod}}' data-i18n='query-attr-u') QUERY ATTRIBUTE + span.options__label.options__flex(data-i18n='mods:-u') MODS: + input.options__flex--2(type='text' name='attr_tool_mod' title='@{tool_mod}' value='0') + .toolprof__display + input(type='hidden' name='attr_toolroll') + // + button.toolprof__button(type='roll' name='roll_tool' value='@{toolroll}') + span.toolprof__name(name='attr_toolname') + input.toolprof__value(type='text' name='attr_toolbonus_display') + input(type='hidden' name='attr_toolbonus') + input.toolprof__attribute(type='text' name='attr_toolattr') + .options__cog + input(type='checkbox' name='attr_options-flag' checked='checked') + span y + input.toggleflag(type='hidden' name='attr_global_skill_mod_flag') + .hidden.textarea.globalattack + span.label(data-i18n='global-skill-u') GLOBAL SKILL MODIFIER + fieldset.repeating_skillmod + .global-mod + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked' style='top: -15px;') + span y + input.active-flag(type='checkbox' name='attr_global_skill_active_flag' value='1') + .options + .row + span(data-i18n='name:-u') NAME: + input(type='text' name='attr_global_skill_name' value='' placeholder='Guidance') + .row + span(data-i18n='roll:-u') ROLL: + input(type='text' name='attr_global_skill_roll' value='' placeholder='1d4') + .globaldisplay + button.ellipsis(type='roll' name='roll_global_save' value='@{wtype}&{template:simple} {{rname=@{global_skill_name}}} {{r1=[[@{global_skill_roll}]]}} {{normal=1}} @{charname_output}') + span(name='attr_global_skill_roll') + span(name='attr_global_skill_name') + .toolprofs__label + span(data-i18n='tool-prof-u') TOOL PROFICIENCIES + span & + span(data-i18n='custom-skills-u') CUSTOM SKILLS \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Traits.pug b/Brancalonia Official/src/pug/layouts/panels/Traits.pug new file mode 100644 index 0000000000..794de0bcd8 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Traits.pug @@ -0,0 +1,35 @@ +.textbox.traits(style='min-height: 480px;') + input.inventoryflag(type='hidden' name='attr_simpletraits' value='complex') + textarea.simple(name='attr_features_and_traits' style='min-height: 461px; height: 461px;') + .complex + fieldset.repeating_traits + .trait + button.output(type='roll' name='roll_output' value='@{wtype}&{template:traits} @{charname_output} {{name=@{name}}} {{source=@{source}: @{source_type}}} {{description=@{description}}}') w + input.options-flag(type='checkbox' name='attr_options-flag' checked='checked') + span y + input.display-flag(type='checkbox' name='attr_display_flag') + .options + .row + span(data-i18n='name:-u') NAME: + input(type='text' name='attr_name' style='width: 120px;') + .row + span(data-i18n='source:-u') SOURCE: + select(name='attr_source') + option(selected='selected' data-i18n='racial') Racial + option(data-i18n='class') Class + option(data-i18n='feat') Feat + option(data-i18n='background') Background + option(data-i18n='other') Other + .row + span(data-i18n='source-type:-u') SOURCE TYPE: + input(type='text' name='attr_source_type' style='width: 160px;' placeholder='Dwarf/Fighter/4th Level') + .row + textarea(name='attr_description' style='min-height: 200px; height: 200px;') + .display(style='margin-bottom: 2px;') + span.title(name='attr_name') + span.subheader + span(name='attr_source') + span : + span(name='attr_source_type') + span.desc(name='attr_description') + span.label(data-i18n='feats-traits-u' style='margin-top: 0px; position: absolute; bottom: 0px;') FEATURES & TRAITS \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/Vitals.pug b/Brancalonia Official/src/pug/layouts/panels/Vitals.pug new file mode 100644 index 0000000000..643dfec85b --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/Vitals.pug @@ -0,0 +1,14 @@ +.vitals + .vitals__hp + input(type="number", name="attr_hitpoints", value="0") + input(type="number", name="attr_hitpoints_max", value="0") + span.vitals__label(data-i18n="Hitpoints") + .vitals__temphp + input(type="number", name="attr_temp_hitpoints") + span.vitals__label(data-i18n="Temporary HP") + .vitals__hitdice + input(type="number", name="attr_hitdice") + span / + input(name="attr_hitdice_max", type="hidden", value="1") + span(name="attr_hitdice_max") + span.vitals__label(data-i18n="Hit Dice") diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/Actions.pug b/Brancalonia Official/src/pug/layouts/panels/npc/Actions.pug new file mode 100644 index 0000000000..404279ccfb --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/Actions.pug @@ -0,0 +1,64 @@ +.npc__actions + span.npc__section-header(data-i18n="actions") Actions + fieldset.repeating_npcaction + .action + +toggleButton('edit', 'npc__toggle', true) + .action__options.toggle__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name") + .options__row.options__row--center + input.options__flex-1(type="checkbox" name="attr_attack_flag") + span.options__flex-4(data-i18n="attack-u") ATTACK + input.flag__toggle--attack(type="hidden" name="attr_attack_flag" value!="0") + .options__row.flag__display--attack + span(data-i18n="type:-u") TYPE: + select(name="attr_attack_type") + option(value!="Melee" data-i18n="melee") Melee + option(value!="Ranged" data-i18n="ranged") Ranged + span( data-i18n="range-reach:-u") RANGE/REACH: + input(type="text" name="attr_attack_range" placeholder="5 ft." data-i18n-placeholder="range-reach-place") + .options__row.flag__display--attack + span(data-i18n="to-hit:-u") TO HIT: + input(type="text" name="attr_attack_tohit" value!="0" placeholder="5") + span( data-i18n="target:-u") TARGET: + input(type="text" name="attr_attack_target" placeholder="One target" data-i18n-placeholder="to-hit-place") + input(type="hidden" name="attr_damage_flag") + .options__row.flag__display--attack + span(data-i18n="on-hit:-u") ON HIT: + input(type="text" name="attr_attack_damage" placeholder="1d10") + input(type="text" name="attr_attack_damagetype" placeholder="slashing" data-i18n-placeholder="on-hit-place") + input(type="hidden" name="attr_attack_crit") + .options__row.flag__display--attack + span(data-i18n="on-hit2:-u") ON HIT 2: + input(type="text" name="attr_attack_damage2" placeholder="2d6+5") + input(type="text" name="attr_attack_damagetype2" placeholder="fire" data-i18n-placeholder="on-hit-2-place") + input(type="hidden" name="attr_attack_crit2") + .options__row.flag__display--attack + span(data-i18n="desc:-u") DESCRIPTION: + select(name="attr_show_desc") + option(value!="@{description}" data-i18n="show") Show + option(value!=" " data-i18n="hide") Hide + .options__row + textarea(name="attr_description") + .options__row.flag__display--attack.flag__hide--attack + span(data-i18n="damage:-u") DAMAGE: + input(type="text" name="attr_attack_damage" placeholder="1d10") + input(type="text" name="attr_attack_damagetype" placeholder="slashing" data-i18n-placeholder="on-hit-place") + input(type="hidden" name="attr_attack_crit") + .action__display.toggle__display + .npc__row + button.action__name(type="roll" name="roll_npc_action" value!="@{rollbase}") + span(name="attr_name") + input.flag__toggle--attack(type="hidden" name="attr_attack_flag") + .npc__row.flag__display--attack + span(name="attr_attack_type") + span Weapon Attack: + span(name="attr_attack_tohitrange") + .npc__row.flag__display--attack + span( data-i18n="hit:") Hit: + span(name="attr_attack_onhit") + span.action__description(name="attr_description") + input(type="hidden" name="attr_rollbase") + button(type="roll" name="roll_npc_dmg" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{description=@{show_desc}}}") + button(type="roll" name="roll_npc_crit" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{crit=1}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}}") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/BonusActions.pug b/Brancalonia Official/src/pug/layouts/panels/npc/BonusActions.pug new file mode 100644 index 0000000000..ba17c9642a --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/BonusActions.pug @@ -0,0 +1,67 @@ +//BONUS ACTIONS +input.bonusaction_flag(type="hidden" name="attr_npcbonusactionsflag") +.npc__bonus-actions + hr.npc__rule--thin + span.npc__section-header(data-i18n="bonus-actions") Bonus Actions + fieldset.repeating_npcbonusaction + .action + +toggleButton('edit', 'npc__toggle', true) + .action__options.toggle__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name") + .options__row.options__row--center + input.options__flex--1(type="checkbox" name="attr_attack_flag" value!="on") + span.options__flex--4(data-i18n="attack-u") ATTACK + input.flag__toggle--attack(type="hidden" name="attr_attack_flag" value!="0") + .options__row.flag__display--attack + span(data-i18n="type:-u") TYPE: + select(name="attr_attack_type") + option(value!="Melee" data-i18n="melee") Melee + option(value!="Ranged" data-i18n="ranged") Ranged + span( data-i18n="range-reach:-u") RANGE/REACH: + input(type="text" name="attr_attack_range" placeholder="5 ft." data-i18n-placeholder="range-reach-place") + .options__row.flag__display--attack + span(data-i18n="to-hit:-u") TO HIT: + input(type="text" name="attr_attack_tohit" value!="0" placeholder="5") + span( data-i18n="target:-u") TARGET: + input(type="text" name="attr_attack_target" placeholder="One target" data-i18n-placeholder="to-hit-place") + input(type="hidden" name="attr_damage_flag") + .options__row.flag__display--attack + span(data-i18n="on-hit:-u") ON HIT: + input(type="text" name="attr_attack_damage" placeholder="1d10") + input(type="text" name="attr_attack_damagetype" placeholder="slashing" data-i18n-placeholder="on-hit-place") + input(type="hidden" name="attr_attack_crit") + .options__row.flag__display--attack + span(data-i18n="on-hit2:-u") ON HIT 2: + input(type="text" name="attr_attack_damage2" placeholder="2d6+5") + input(type="text" name="attr_attack_damagetype2" placeholder="fire" data-i18n-placeholder="on-hit-2-place") + input(type="hidden" name="attr_attack_crit2") + .options__row.flag__display--attack + span(data-i18n="desc:-u") DESCRIPTION: + select(name="attr_show_desc") + option(value!="@{description}" data-i18n="show") Show + option(value!=" " data-i18n="hide") Hide + .options__row + textarea(name="attr_description") + .options__row.flag__display--attack.flag__hide--attack + span(data-i18n="damage:-u") DAMAGE: + input(type="text" name="attr_attack_damage" placeholder="1d10") + input(type="text" name="attr_attack_damagetype" placeholder="slashing" data-i18n-placeholder="on-hit-place") + input(type="hidden" name="attr_attack_crit") + .action__display.toggle__display + .npc__row + button.action__name(type="roll" name="roll_npc_action" value!="@{rollbase}") + span(name="attr_name") + input.flag__toggle--attack(type="hidden" name="attr_attack_flag") + .npc__row.attack.flag__display--attack + span(name="attr_attack_type") + span Weapon Attack: + span(name="attr_attack_tohitrange") + .npc__row.attack.flag__display--attack + span( data-i18n="hit:") Hit: + span(name="attr_attack_onhit") + span.action__description(name="attr_description") + input(type="hidden" name="attr_rollbase") + button(type="roll" name="roll_npc_dmg" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{description=@{show_desc}}}") + button(type="roll" name="roll_npc_crit" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{crit=1}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}} {{description=@{show_desc}}}") diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/LegendaryActions.pug b/Brancalonia Official/src/pug/layouts/panels/npc/LegendaryActions.pug new file mode 100644 index 0000000000..53f7fe3c21 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/LegendaryActions.pug @@ -0,0 +1,62 @@ +input.legendary_flag(type="hidden" name="attr_npc_legendary_actions" value="0") +.npc_legactions + hr.npc__rule--thin + span.npc__section-header(data-i18n="leg-actions") Legendary Actions + .npc_description + span(name="attr_npc_legendary_actions_desc") + fieldset.repeating_npcaction-l + .legaction + +toggleButton('edit', 'npc__toggle', true) + .legaction__options.toggle__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name") + .options__row + input(type="checkbox" name="attr_attack_flag" value!="on") + span(data-i18n="attack-u") ATTACK + input.flag__toggle--attack(type="hidden" name="attr_attack_flag" value!="0") + .options__row.flag__display--attack + span(data-i18n="type:-u") TYPE: + select(name="attr_attack_type") + option(value!="Melee" data-i18n="melee") Melee + option(value!="Ranged" data-i18n="ranged") Ranged + span( data-i18n="range-reach:-u") RANGE/REACH: + input(type="text" name="attr_attack_range" placeholder="5 ft." data-i18n-placeholder="range-reach-place") + .options__row.flag__display--attack + span(data-i18n="to-hit:-u") TO HIT: + input(type="text" name="attr_attack_tohit" value!="0" placeholder="5") + span( data-i18n="target:-u") TARGET: + input(type="text" name="attr_attack_target" placeholder="One target" data-i18n-placeholder="to-hit-place") + input(type="hidden" name="attr_damage_flag") + .options__row.flag__display--attack + span(data-i18n="on-hit:-u") ON HIT: + input(type="text" name="attr_attack_damage" placeholder="1d10") + input(type="text" name="attr_attack_damagetype" placeholder="slashing" data-i18n-placeholder="on-hit-place") + input(type="hidden" name="attr_attack_crit") + .options__row.flag__display--attack + span(data-i18n="on-hit2:-u") ON HIT 2: + input(type="text" name="attr_attack_damage2" placeholder="2d6+5") + input(type="text" name="attr_attack_damagetype2" placeholder="fire" data-i18n-placeholder="on-hit-2-place") + input(type="hidden" name="attr_attack_crit2") + .options__row.flag__display--attack + span(data-i18n="desc:-u") DESCRIPTION: + select(name="attr_show_desc") + option(value!="@{description}" data-i18n="show") Show + option(value!=" " data-i18n="hide") Hide + .options__row + textarea(name="attr_description") + .legaction__display.toggle__display + button.legaction__name.pick(type="roll" name="roll_npc_action" value!="@{rollbase}") + span(name="attr_name") + input.flag__toggle--attack(type="hidden" name="attr_attack_flag") + .npc__row.flag__display--attack + span(name="attr_attack_type") + span Weapon Attack: + span(name="attr_attack_tohitrange") + .npc__row.flag__display--attack + span( data-i18n="hit:") Hit: + span(name="attr_attack_onhit") + span.legaction__description(name="attr_description") + input(type="hidden" name="attr_rollbase") + button(type="roll" name="roll_npc_dmg" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}}") + button(type="roll" name="roll_npc_crit" value!="@{wtype}&{template:npcdmg} @{damage_flag} {{crit=1}} {{dmg1=[[@{attack_damage}+0]]}} {{dmg1type=@{attack_damagetype}}} {{dmg2=[[@{attack_damage2}+0]]}} {{dmg2type=@{attack_damagetype2}}} {{crit1=[[@{attack_crit}+0]]}} {{crit2=[[@{attack_crit2}+0]]}}") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/Reactions.pug b/Brancalonia Official/src/pug/layouts/panels/npc/Reactions.pug new file mode 100644 index 0000000000..a8890db56a --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/Reactions.pug @@ -0,0 +1,18 @@ +input.reaction_flag(type="hidden" name="attr_npcreactionsflag") +.npc__reactions + hr.npc__rule--thin + span.npc__section-header(data-i18n="reactions") Reactions + fieldset.repeating_npcreaction + .reaction + +toggleButton('edit', 'npc__toggle', true) + .reaction__options.toggle__options.options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name" placeholder="Parry." data-i18n-placeholder="npc-repeating-name-place") + .options__row + textarea(name="attr_description" placeholder="The creature adds 2 to its AC against..." data-i18n-placeholder="npc-repeating-desc-place") + .reaction__display.toggle__display + .reaction__row + button.reaction__name(type="roll" name="npc_roll_output" value="@{wtype}&{template:traits} @{charname_output} {{name=@{name}}} {{description=@{description}}}") + span(name="attr_name") + span.reaction__description(name="attr_description") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/Settings.pug b/Brancalonia Official/src/pug/layouts/panels/npc/Settings.pug new file mode 100644 index 0000000000..6f4a181762 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/Settings.pug @@ -0,0 +1,137 @@ +input.npc__flag--options(type="hidden" name="attr_npc_options-flag" value="on") +input.npc_ui_flags(type="hidden" name="attr_ui_flags" value="") +.options.npc__options + .options__row--title + span(data-i18n="npc-options-u") NPC OPTIONS + .options__row + span(data-i18n="name-u") NAME + input(type="text" name="attr_npc_name") + .options__row + span(data-i18n="npc-type-u") NPC TYPE + input(type="text" name="attr_npc_type" placeholder="Medium fiend, any evil alignment" data-i18n-placeholder="npc-type-place") + .options__row + span(data-i18n="armor-class-u") ARMOR CLASS + input(type="text" name="attr_npc_ac" placeholder="10") + span(data-i18n="type-u") TYPE + input(type="text" name="attr_npc_actype" placeholder="scale mail" data-i18n-placeholder="npc-armor-place" value!="") + .options__row + span(data-i18n="hit-points-u") HIT POINTS + input(type="text" name="attr_hp_max" placeholder="82") + span(data-i18n="formula-u") FORMULA + input(type="text" name="attr_npc_hpformula" placeholder="11d8 + 33") + .options__row + span(data-i18n="speed-u") SPEED + input(type="text" name="attr_npc_speed" placeholder="30 ft., fly 60ft." data-i18n-placeholder="npc-speed-place") + .spacer + .options__row--title + span(data-i18n="attributes-u") ATTRIBUTES + .options__row + each attr in ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'] + +npcAttribute(attr) + .spacer + .options__row--title + span(data-i18n="saves-u") SAVES + .options__row + each attr in ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'] + +npcSave(attr) + .spacer + .options__row--title + span(data-i18n="skills-u") SKILLS + .options__row.skills-list(data-i18n-list="skills-list") + .col + each skill in ['acrobatics:dexterity', 'animal handling:wisdom', 'arcana:intelligence', 'athletics:strength', 'deception:charisma', 'history:intelligence'] + +npcSkill(skill) + .col(data-i18n-list-sublist="") + each skill in ['insight:wisdom', 'intimidation:charisma', 'investigation:intelligence', 'medicine:wisdom', 'nature:intelligence', 'perception:wisdom'] + +npcSkill(skill) + .col(data-i18n-list-sublist="") + each skill in ['performance:charisma', 'persuasion:charisma', 'religion:intelligence', 'sleight_of_hand:dexterity', 'stealth:dexterity', 'survival:wisdom'] + +npcSkill(skill) + .options__row.options__row--noborder + span(data-i18n="damage-vuln-u") DAMAGE VULNERABILITIES + input(type="text" name="attr_npc_vulnerabilities" placeholder="fire" data-i18n-placeholder="npc-dmg-vuln-place") + .options__row.options__row--noborder + span(data-i18n="damage-res-u") DAMAGE RESISTANCES + input(type="text" name="attr_npc_resistances" placeholder="cold" data-i18n-placeholder="npc-dmg-res-place") + .options__row.options__row--noborder + span(data-i18n="damage-imm-u") DAMAGE IMMUNITIES + input(type="text" name="attr_npc_immunities" placeholder="lighting, thunder" data-i18n-placeholder="npc-dmg-imm-place") + .options__row.options__row--noborder + span(data-i18n="cond-imm-u") CONDITION IMMUNITIES + input(type="text" name="attr_npc_condition_immunities" placeholder="charmed" data-i18n-placeholder="npc-cond-imm-place") + .options__row + span(data-i18n="senses-u") SENSES + input(type="text" name="attr_npc_senses" placeholder="darkvision 120ft., passive Perception 16" data-i18n-placeholder="npc-senses-place") + .options__row + span(data-i18n="langs-u") LANGUAGES + input(type="text" name="attr_npc_languages" placeholder="Abyssal, Common, Infernal" value!="—" data-i18n-placeholder="npc-langs-place") + .options__row + span(data-i18n="challenge-u") CHALLENGE + input(type="text" name="attr_npc_challenge" placeholder="1") + span(data-i18n="xp-u") XP + input(type="text" name="attr_npc_xp" placeholder="250") + .options__row + span(data-i18n="token_size-u") TOKEN SIZE + input(name="attr_token_size" value!="1" placeholder="1") + input.npc__flag--spellcasting(type="hidden" name="attr_npcspellcastingflag" value!="1") + .options__row + input.options__flex--1(type="checkbox" name="attr_npcspellcastingflag" value!="1") + span.options__flex--9(data-i18n="spellcast-npc-u") SPELLCASTING NPC + span(data-i18n="spell-ability-u") SPELLCASTING ABILITY + select(name="attr_spellcasting_ability") + option(value!="0*" data-i18n="none-u") NONE + option(value!="@{strength_mod}+" data-i18n="strength-u") STRENGTH + option(value!="@{dexterity_mod}+" data-i18n="dexterity-u") DEXTERITY + option(value!="@{constitution_mod}+" data-i18n="constitution-u") CONSTITUTION + option(value!="@{intelligence_mod}+" data-i18n="intelligence-u") INTELLIGENCE + option(value!="@{wisdom_mod}+" data-i18n="wisdom-u") WISDOM + option(value!="@{charisma_mod}+" data-i18n="charisma-u") CHARISMA + .options__row.npc__hidden--spellcasting + span(data-i18n="glob-atk-mod:-u") GLOBAL MAGIC ATTACK MODIFIER: + input(type="text" name="attr_globalmagicmod" placeholder="0" value!="0") + span(data-i18n="magic-caster-lvl:-u") MAGIC CASTER LEVEL: + input(type="text" name="attr_caster_level") + span(data-i18n="spell_dc_mod:-u") SPELL SAVE DC MOD: + input(type="text" name="attr_spell_dc_mod" placeholder="0" value!="0") + .options__row + input.options__flex--1(type="checkbox" name="attr_npcbonusactionsflag" value!="1") + span.options__flex--4(data-i18n="has-bonusaction-u") HAS BONUS ACTIONS + input.options__flex--1(type="checkbox" name="attr_npcreactionsflag" value!="1") + span.options__flex--4(data-i18n="has-reaction-u") HAS REACTIONS + .options__row + span(data-i18n="leg-actions:-u") LEGENDARY ACTIONS: + input(type="text" name="attr_npc_legendary_actions" value!="0" placeholder="0") + .options__row + input(type="checkbox" name="attr_npc_mythic_actions" value!="1") + span(data-i18n="myt-actions:-u") MYTHIC ACTIONS: + textarea.mythic-rules(name="attr_npc_mythic_actions_desc" placeholder="Mythic Action Rules. This creature can use the options below...") + .options__row--title + span(data-i18n="gen-opts-u") GENERAL OPTIONS + .options__row.options__row--center + input.options__flex--1(type="checkbox" name="attr_npc" value!="1") + span.options__flex--1(data-i18n="npc-u") NPC + .options__row + span(data-i18n="roll-queries:-u") ROLL QUERIES: + select(name="attr_rtype") + option(value!="{{always=1}} {{r2=[[@{d20}" data-i18n="always-adv") Always Roll Advantage + option(value!="@{advantagetoggle}" data-i18n="adv-toggle") Advantage Toggle + option(value!="@{queryadvantage}" data-i18n="query-adv") Query Advantage + option(value!="{{normal=1}} {{r2=[[0d20" data-i18n="never-adv") Never Roll Advantage + span(data-i18n="whisp-rolls-gm:-u") WHISPER ROLLS TO GM: + select(name="attr_wtype") + option(value!="" data-i18n="never-whisper-roll") Never Whisper Rolls + option(value!="@{whispertoggle}" data-i18n="toggle-roll-whisper") Whisper Toggle + option(value!="?{Whisper?|Public Roll,|Whisper Roll,/w gm }" data-i18n="query-whisper-roll") Query Whisper + option(value!="/w gm " data-i18n="always-whisper-roll") Always Whisper Rolls + .options__row + span(data-i18n="auto-dmg-roll:-u") AUTO DAMAGE ROLL: + select.dtype(name="attr_dtype") + option(value!="pick" data-i18n="never-dmg") Don't Auto Roll Damage + option(value!="full" data-i18n="always-dmg") Auto Roll Damage & Crit + span(data-i18n="npc-name-in-rolls:-u") NPC NAME IN ROLLS: + select(name="attr_npc_name_flag") + option(value!="{{name=@{npc_name}}}" data-i18n="show") Show + option(value!="0" data-i18n="hide") Hide + .options__row.options__row--center + input.options__flex--1(type="checkbox" name="attr_init_tiebreaker" value!="@{dexterity}/100") + span.options__flex--4(data-i18n="add-dex-tiebreaker-u") ADD DEX TIEBREAKER TO INITIATIVE \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/Stats.pug b/Brancalonia Official/src/pug/layouts/panels/npc/Stats.pug new file mode 100644 index 0000000000..3e324dbadb --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/Stats.pug @@ -0,0 +1,65 @@ +.display.npc__statblock + .npc__settings + input.npc__flag--options(type="checkbox" name="attr_npc_options-flag" checked="checked") + span y + .npc__row.options__title + button(type="roll" name="roll_npc_init" value!="@{wtype}&{template:npc} @{npc_name_flag} {{rname=^{init}}} {{mod=[[[[@{initiative_bonus}]][DEX]]]}} {{r1=[[@{d20}+[[@{initiative_bonus}]][DEX] &{tracker}]]}} {{normal=1}} {{type=Initiative}}") + span.npc__title(name="attr_npc_name") + .npc__row + span.npc__subtitle(name="attr_npc_type") + hr.npc__rule--thin + .npc__row + span.npc__label(data-i18n="ac") Armor Class + span(name="attr_npc_ac") + input.npc__flag--actype(type="hidden" name="attr_npc_actype" value!="") + span.npc__ac-type(name="attr_npc_actype") + .npc__row + span.npc__label(data-i18n="hp") Hit Points + span(name="attr_hp_max") + button(type="roll" name="roll_npc_hpformula" value!="@{wtype}&{template:npc} {{type=Hit Points}} {{normal=1}} @{npc_name_flag} {{rname=^{hp}}} {{mod=@{npc_hpformula}}} {{r1=[[@{npc_hpformula}]]}} charname=@{character_name}") + span.npc__hitpoints-formula(name="attr_npc_hpformula") + .npc__row + span.npc__label(data-i18n="speed") Speed + span(name="attr_npc_speed") + hr.npc__rule--thick-top + .npc__row.npc__row--space-between + each attr in ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'] + +npcAttributeRoll(attr) + hr.npc__rule--thick-bottom + input.npc__flag--next(type="hidden" name="attr_npc_saving_flag" value!="") + .npc__row + span.npc__label(data-i18n="saving-throw") Saving Throws + each attr in ['strength', 'dexterity', 'constitution', 'intelligence', 'wisdom', 'charisma'] + +npcSaveRoll(attr) + input.npc__flag--next(type="hidden" name="attr_npc_skills_flag" value!="") + .npc__row.skills.skills-list(data-i18n-list="skills-list") + span.npc__label(data-i18n="skills") Skills + each skill in ['acrobatics', 'animal handling', 'arcana', 'athletics', 'deception', 'history', 'insight', 'intimidation', 'investigation', 'medicine', 'nature', 'perception', 'performance', 'persuasion', 'religion', 'sleight_of_hand', 'stealth', 'survival'] + +npcSkillRoll(skill) + input.npc__flag--next(type="hidden" name="attr_npc_vulnerabilities") + .npc__row.npc__hidden.vulnerabilities + span.npc__label(data-i18n="dmg-vuln") Damage Vulnerabilities + span(name="attr_npc_vulnerabilities") + input.npc__flag--next(type="hidden" name="attr_npc_resistances") + .npc__row.npc__hidden.resistances + span.npc__label(data-i18n="dmg-res") Damage Resistances + span(name="attr_npc_resistances") + input.npc__flag--next(type="hidden" name="attr_npc_immunities") + .npc__row.npc__hidden.immunities + span.npc__label(data-i18n="dmg-imm") Damage Immunities + span(name="attr_npc_immunities") + input.npc__flag--next(type="hidden" name="attr_npc_condition_immunities") + .npc__row.npc__hidden.condition_immunities + span.npc__label(data-i18n="cond-imm") Condition Immunities + span(name="attr_npc_condition_immunities") + .npc__row.senses + span.npc__label(data-i18n="senses") Senses + span(name="attr_npc_senses") + .npc__row.languages + span.npc__label(data-i18n="langs") Languages + span.languages(name="attr_npc_languages" value!="—") + .npc__row + span.npc__label(data-i18n="challenge") Challenge + span(name="attr_npc_challenge") + span.npc__challenge--brackets(name="attr_npc_xp") + hr.npc__rule--thin \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/panels/npc/Traits.pug b/Brancalonia Official/src/pug/layouts/panels/npc/Traits.pug new file mode 100644 index 0000000000..cc3fc673c1 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/panels/npc/Traits.pug @@ -0,0 +1,14 @@ +.npc__traits + fieldset.repeating_npctrait + .trait + +toggleButton('edit_trait', 'npc__toggle', true) + .trait__options.options.toggle__options + .options__row + span(data-i18n="name:-u") NAME: + input(type="text" name="attr_name" placeholder="False Appearance." data-i18n-placeholder="npc-trait-name-place") + .options__row + textarea(name="attr_description" placeholder="If the dragon fails..." data-i18n-placeholder="npc-trait-desc-place") + .trait__display.toggle__display + button.trait__name.btn.ui-draggable(type="roll" name="roll_npc_roll_output" value="@{wtype}&{template:traits} @{charname_output} {{name=@{name}}} {{description=@{description}}}") + span(name="attr_name") + span.trait__description(name="attr_description") \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/tabs/bio.pug b/Brancalonia Official/src/pug/layouts/tabs/bio.pug new file mode 100644 index 0000000000..7ec904f098 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/tabs/bio.pug @@ -0,0 +1,20 @@ +.bio-body + .appearance + span.appearance__label(data-i18n="Appearance") Appearance + .appearance__row + .appearance__title(data-i18n="Build") + input.appearance__input(name="attr_build", type="text") + .appearance__row + .appearance__title(data-i18n="Eyes") + input.appearance__input(name="attr_eyes", type="text") + .appearance__row + .appearance__title(data-i18n="Hair") + input.appearance__input(name="attr_hair", type="text") + .appearance__row + .appearance__title(data-i18n="Skin") + input.appearance__input(name="attr_skin", type="text") + +PersonalityTrait("Misdeeds") + +PersonalityTrait("Allies & Organizations") + +PersonalityTrait("Backstory") + +PersonalityTrait("Backpack") + +PersonalityTrait("Notes") diff --git a/Brancalonia Official/src/pug/layouts/tabs/core.pug b/Brancalonia Official/src/pug/layouts/tabs/core.pug new file mode 100644 index 0000000000..4bd72c33b0 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/tabs/core.pug @@ -0,0 +1,72 @@ +.core-body + .core-col + .shields + .ac + input.ac__value(name="attr_ac", title="@{ac}", type="number") + .ac__label(data-i18n="AC") AC + .speed + input.speed__value(name="attr_speed", title="@{speed}", type="number") + .speed__label(data-i18n="Speed") Speed + + .inspprof.inspprof--initiative + .inspprof__value + span(name="attr_initiative_bonus", title="@{initiative_bonus}") + + .inspprof__label + button.inspprof__button( + type="roll", + name="roll_initiative", + value="@{wtype}&{template:simple} {{rname=^{init-u}}} {{mod=@{initiative_bonus}}} {{r1=[[@{initiative_style}+@{initiative_bonus}@{pbd_safe}[INIT] &{tracker}]]}} {{normal=1}} @{charname_output}", + data-i18n="Initiative" + ) initative + + each personalityTrait in globalAttributesByCategory.personalityTraits + +PersonalityTrait(personalityTrait) + + .bounty + .bounty__image + .bounty__bounty + .bounty__label(data-i18n="Bounty") + input(name="attr_bounty", type="number") + + .core-col.core-col--middle + include ../panels/Vitals + + .trackers + include ../panels/Exhaustion + include ../panels/Knock + + .deathsaves + include ../panels/DeathSaves + + include ../panels/Equipment + + include ../panels/AttacksSpellcasting + + .core-col.core-col__split + .abilityscores + each abilityScore in globalAttributesByCategory.abilities + +AbilityScore(abilityScore) + + .skillwrap + +InsProf('Proficiency Bonus') + span(name="attr_pb", title="@{pb}") + + .savingthrows + each save in globalAttributesByCategory.abilities + +SavingThrow(save) + + +InsProf('Inspiration') + input(type="checkbox", name="attr_inspiration") + span + + .skills + div(data-i18n-list="skills-list") + each skill in globalAttributesByCategory.skills + +Skill(skill.name, skill.ability) + + +InsProf("Passive Perception") + span(name="attr_passive_wisdom") + + .coins + include ../panels/Coins diff --git a/Brancalonia Official/src/pug/layouts/tabs/settings.pug b/Brancalonia Official/src/pug/layouts/tabs/settings.pug new file mode 100644 index 0000000000..a432920449 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/tabs/settings.pug @@ -0,0 +1,262 @@ +.settings-body + .settings__col + .options + .options__row + span(data-i18n="hit-die:-u") HIT DIE: + select(name="attr_hitdietype") + option(value="4") D4 + option(value="6") D6 + option(value="8") D8 + option(value="10") D10 + option(value="12") D12 + .options__row + span(data-i18n="carrying-capacity-mod:-u") CARRYING CAPACITY MODIFIER: + input(type="text" name="attr_carrying_capacity_mod" placeholder="*2") + .options__row + span(data-i18n="glob-atk-mod:-u") GLOBAL MAGIC ATTACK MODIFIER: + input(type="text" name="attr_globalmagicmod" placeholder="0" value="0") + .options__row + span(data-i18n="magic-use-lvl:-u") MAGIC CASTER LEVEL: + input(type="text" name="attr_caster_level") + .options__row + span(data-i18n="spell_dc_mod:-u") SPELL SAVE DC MOD: + input(type="text" name="attr_spell_dc_mod" placeholder="0" value="0") + .options__row--title + span(data-i18n="class-options-u") CLASS OPTIONS + | ( + span(name="attr_class") + | ) + .options + input(type="hidden" name="attr_custom_class" value="1") + .options__row + span(data-i18n="class-name:-u") CLASS NAME: + input(type="text" name="attr_cust_classname") + .options__row + span(data-i18n="hit-die:-u") HIT DIE: + select(name="attr_cust_hitdietype") + option(value="4") D4 + option(value="6") D6 + option(value="8") D8 + option(value="10") D10 + option(value="12") D12 + .options__row + span(data-i18n="spellcasting-ability:-u") SPELLCASTING ABILITY: + select(name="attr_cust_spellcasting_ability") + option(value="0*" data-i18n="none-u") NONE + option(value="@{strength_mod}+" data-i18n="strength-u") STRENGTH + option(value="@{dexterity_mod}+" data-i18n="dexterity-u") DEXTERITY + option(value="@{constitution_mod}+" data-i18n="constitution-u") CONSTITUTION + option(value="@{intelligence_mod}+" data-i18n="intelligence-u") INTELLIGENCE + option(value="@{wisdom_mod}+" data-i18n="wisdom-u") WISDOM + option(value="@{charisma_mod}+" data-i18n="charisma-u") CHARISMA + .options__row + span(data-i18n="spell-slots:-u") SPELL SLOTS: + select(name="attr_cust_spellslots") + option(value="none" data-i18n="none-u") NONE + option(value="full" data-i18n="spell-full-u") FULL (Cleric, Druid, Wizard) + option(value="half" data-i18n="spell-half-u") HALF (Artificer, Paladin, Ranger) + option(value="third" data-i18n="spell-third-u") THIRD (Arcane Fighter/Rogue) + .options__row--title + span(data-i18n="saves-u") SAVES + .options__row.options__row--noborder + input.options__flex--1(type="checkbox" name="attr_cust_strength_save_prof" value="(@{pb})") + span(data-i18n="strength") Strength + input.options__flex--1(type="checkbox" name="attr_cust_dexterity_save_prof" value="(@{pb})") + span(data-i18n="dexterity") Dexterity + .options__row.options__row--noborder + input.options__flex--1(type="checkbox" name="attr_cust_constitution_save_prof" value="(@{pb})") + span(data-i18n="constitution") Constitution + input.options__flex--1(type="checkbox" name="attr_cust_intelligence_save_prof" value="(@{pb})") + span(data-i18n="intelligence") Intelligence + .options__row + input.options__flex--1(type="checkbox" name="attr_cust_wisdom_save_prof" value="(@{pb})") + span(data-i18n="wisdom") Wisdom + input.options__flex--1(type="checkbox" name="attr_cust_charisma_save_prof" value="(@{pb})") + span(data-i18n="charisma") Charisma + .options__row--title + span(data-i18n="cust-class-opts") CUSTOM CLASS OPTIONS + .options.spell_slot_mods + .options__row + each level in [1,2,3] + .options__flex--2 + span(data-i18n="lvl-u") LEVEL + span.options__flex=level + span.options__flex--1 + + input.options__flex--1(type="text" name=`attr_lvl${level}_slots_mod` value="0" placeholder="0" title=`@{lvl${level}_slots_mod}`) + .options__row--title + span(data-i18n="spell_slot_modifiers-u") SPELL SLOT MODIFIERS + .settings__col + .options + .options__row + span.options__flex--3(data-i18n="strength-u") STRENGTH + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_strength_bonus" value="0" placeholder="0" title="@{strength_bonus}") + span.options__flex--3(data-i18n="dexterity-u") DEXTERITY + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_dexterity_bonus" value="0" placeholder="0" title="@{dexterity_bonus}") + .options__row + span.options__flex--3(data-i18n="constitution-u") CONSTITUTION + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_constitution_bonus" value="0" placeholder="0" title="@{constitution_bonus}") + span.options__flex--3(data-i18n="intelligence-u") INTELLIGENCE + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_intelligence_bonus" value="0" placeholder="0" title="@{intelligence_bonus}") + .options__row + span.options__flex--3(data-i18n="wisdom-u") WISDOM + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_wisdom_bonus" value="0" placeholder="0" title="@{wisdom_bonus}") + span.options__flex--3(data-i18n="charisma-u") CHARISMA + span.options__flex--1 + + input.options__flex--1(type="text" name="attr_charisma_bonus" value="0" placeholder="0" title="@{charisma_bonus}") + .options__row.options__row--noborder + span(data-i18n="initiative-mod:-u") INITIATIVE MODIFIER: + input(type="text" name="attr_initmod" placeholder="0" value="0") + .options__row.options__row--noborder + span(data-i18n="initiative-style:-u") INITIATIVE STYLE: + select(name="attr_initiative_style") + option(value="@{d20}" selected="selected" data-i18n="norm") Normal + option(value="{@{d20},@{d20}}kh1" data-i18n="adv") Advantage + option(value="{@{d20},@{d20}}kl1" data-i18n="disadv") Disadvantage + .options__row + input(type="checkbox" name="attr_init_tiebreaker" value="@{dexterity}/100") + span(data-i18n="add-dex-tiebreaker-u") ADD DEX TIEBREAKER TO INITIATIVE + //- .options__row.options__row--noborder + //- span(data-i18n="hpmods:-u") HP MODIFIERS: + //- fieldset.repeating_hpmod + //- div + //- span(data-i18n="levels:-u") LEVELS: + //- select(name="attr_levels") + //- option(value="total" selected="selected" data-i18n="total-level-u") TOTAL LEVEL + //- option(value="base" data-i18n="main-class-level-u") MAIN CLASS LEVEL + //- option(value="multiclass1" data-i18n="class-2-level-u") CLASS 2 LEVEL + //- option(value="multiclass2" data-i18n="class-3-level-u") CLASS 3 LEVEL + //- option(value="multiclass3" data-i18n="class-4-level-u") CLASS 4 LEVEL + //- br + //- span(data-i18n="source:-u") SOURCE: + //- input(type="text" name="attr_source") + //- span(data-i18n="mod:-u") MOD: + //- input(type="text" name="attr_mod") + .options__row--title + span(data-i18n="attribute-opts-u") ATTRIBUTE OPTIONS + .options + .options__row.options__row--noborder + span.options__flex--4(data-i18n="strength-save-u") STRENGTH SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_strength_save_mod" value="0" placeholder="0" title="@{strength_save_mod}") + span.options__flex--4(data-i18n="dexterity-save-u") DEXTERITY SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_dexterity_save_mod" value="0" placeholder="0" title="@{dexterity_save_mod}") + .options__row.options__row--noborder + span.options__flex--4(data-i18n="constitution-save-u") CONSTITUTION SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_constitution_save_mod" value="0" placeholder="0" title="@{constitution_save_mod}") + span.options__flex--4(data-i18n="intelligence-save-u") INTELLIGENCE SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_intelligence_save_mod" value="0" placeholder="0" title="@{intelligence_save_mod}") + .options__row + span.options__flex--4(data-i18n="wisdom-save-u") WISDOM SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_wisdom_save_mod" value="0" placeholder="0" title="@{wisdom_save_mod}") + span.options__flex--4(data-i18n="charisma-save-u") CHARISMA SAVE + span.options__flex + + input.options__flex--1(type="text" name="attr_charisma_save_mod" value="0" placeholder="0" title="@{charisma_save_mod}") + .options__row + span(data-i18n="death-save-mod:-u") DEATH SAVE MODIFIER: + input(type="text" name="attr_death_save_mod" placeholder="0" value="0") + .options__row + span(data-i18n="glob-saving-mod:-u") GLOBAL SAVING THROW MODIFIER: + input(type="text" name="attr_globalsavemod" placeholder="0" value="0") + .options__row--title + span(data-i18n="save-opts-u") SAVE OPTIONS + .options + div(data-i18n-list="skills-list") + for skill in globalAttributesByCategory.skills + - const { name, ability } = skill; + - const name_undercase = name.toLowerCase().replace(/ /g,"_"); + - const ability_short = ability.substring(0,3); + .options__row(data-i18n-list-item=`${name_undercase}`) + select.options__flex--4(name=`attr_${name_undercase}_type`) + option(value="1" selected="selected" data-i18n="normal") Normal + option(value="2" data-i18n="expertise") Expertise + span.options__flex--5(data-i18n=`${name_undercase}-core`) + | #{name} + span (#{ability_short}) + span.options__flex + + input.options__flex--1(type="text" name=`attr_${name_undercase}_flat` value="0" placeholder="0" title=`@{${name_undercase}_flat}`) + //- .options__row + //- input(type="checkbox" name="attr_jack_of_all_trades" value="@{jack}") + //- span(data-i18n="jack-of-all-u") JACK OF ALL TRADES + //- .options__row + //- span(data-i18n="reliable-talent-u") RELIABLE TALENT: + //- select.dtype(name="attr_reliable_talent") + //- option(value="10" data-i18n="on") On + //- option(value="0" selected="selected" data-i18n="off") Off + .options__row + span(data-i18n="pass-perc-mod:-u") PASSIVE PERCEPTION MODIFIER: + input(type="text" name="attr_passiveperceptionmod" placeholder="0" value="0") + .options__row--title + span(data-i18n="skill-opts-u") SKILL OPTIONS + .settings__col + .options + .options__row + input(type="checkbox" name="attr_npc" value="1") + span(data-i18n="npc-u") NPC + .options__row + span(data-i18n="roll-queries:-u") ROLL QUERIES: + select(name="attr_rtype") + option(value="{{always=1}} {{r2=[[@{d20}" data-i18n="always-roll-adv") Always Roll Advantage + option(value="@{advantagetoggle}" data-i18n="toggle-roll-adv") Advantage Toggle + option(value="@{queryadvantage}" data-i18n="query-roll-adv") Query Advantage + option(value="{{normal=1}} {{r2=[[0d20" data-i18n="never-roll-adv") Never Roll Advantage + .options__row + span(data-i18n="whisp-rolls-gm:-u") WHISPER ROLLS TO GM: + select(name="attr_wtype") + option(value="" data-i18n="never-whisper-roll") Never Whisper Rolls + option(value="@{whispertoggle}" data-i18n="toggle-roll-whisper") Whisper Toggle + option(value="?{Whisper?|Public Roll,|Whisper Roll,/w gm }" data-i18n="query-whisper-roll") Query Whisper + option(value="/w gm " data-i18n="always-whisper-roll") Always Whisper Rolls + .options__row + span(data-i18n="auto-dmg-roll:-u") AUTO DAMAGE ROLL: + select.dtype(name="attr_dtype") + option(value="pick" data-i18n="never-roll-dmg") Don't Auto Roll Damage + option(value="full" data-i18n="always-roll-dmg") Auto Roll Damage & Crit + .options__row + span(data-i18n="core-die-roll:-u") CORE DIE ROLL: + input(type="text" name="attr_core_die" value="1d20" placeholder="1d20" title="@{core_die}") + .options__row + span(data-i18n="default-critical-range:-u") CRITICAL RANGE: + input(type="number" name="attr_default_critical_range" value="20" placeholder="20") + .options__row + span(data-i18n="prof-bonus:-u") PROFICIENCY BONUS: + select.dtype(name="attr_pb_type") + option(value="level" data-i18n="by-level") By Level (Default) + option(value="die" data-i18n="prof-die") Proficency Die (DMG) + option(value="custom" data-i18n="custom") Custom + input(type="hidden" name="attr_pb_type") + input.pb_custom(type="text" name="attr_pb_custom" placeholder="2d10") + .options__row + span(data-i18n="add-char-to-templates:-u") ADD CHARACTER NAME TO TEMPLATES: + select.dtype(name="attr_charname_output") + option(value="{{charname=@{character_name}}}" data-i18n="on") On + option(value="charname=@{character_name}" selected="selected" data-i18n="off") Off + .options__row + span(data-i18n="level-calculations:-u") LEVEL CALCULATIONS: + select.dtype(name="attr_level_calculations") + option(value="on" selected="selected" data-i18n="on") On + option(value="off" data-i18n="off") Off + .options__row.options__row--noborder + span(data-i18n="encumbrance:-u") ENCUMBRANCE: + select(name="attr_encumbrance_setting") + option(value="off" data-i18n="simple") Simple + option(value="on" data-i18n="variant-phb") Variant (PHB p176) + option(value="disabled" data-i18n="off") Off + .options__row + input(type="checkbox" name="attr_ingore_non_equipped_weight" value="1") + span(data-i18n="ingore-non-equipped-weight") IGNORE NON-EQUIPPED ITEMS WEIGHT + .options__row + span(data-i18n="inventory:-u") INVENTORY: + select(name="attr_simpleinventory") + option(value="complex" data-i18n="compendium-compatible") Compendium Compatible + option(value="simple" data-i18n="simple") Simple + .options__row--title + span(data-i18n="general-opts-u") GENERAL OPTIONS \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/tabs/spells.pug b/Brancalonia Official/src/pug/layouts/tabs/spells.pug new file mode 100644 index 0000000000..d6a750d75c --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/tabs/spells.pug @@ -0,0 +1,14 @@ +input.spellicon_flag(type="hidden", name="attr_spellicon_flag", value!="all") +.spells-body + .spells + .spells__features + include ../panels/Features + include ../panels/Moves + .spells__stats + include ../panels/SpellStats + .spells__section + +SpellSection(0, true) + +SpellSection(1) + .spells__section + +SpellSection(2) + +SpellSection(3) diff --git a/Brancalonia Official/src/pug/layouts/utility/advantagetoggle.pug b/Brancalonia Official/src/pug/layouts/utility/advantagetoggle.pug new file mode 100644 index 0000000000..6aded444c9 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/utility/advantagetoggle.pug @@ -0,0 +1,11 @@ +input.toggleflag(name='attr_rtype' type='hidden') +.navigation__toggle-group + .navigation__toggle + input(type='radio' name='attr_advantagetoggle' value='{{query=1}} {{advantage=1}} {{r2=[[@{d20}') + span(data-i18n='ADVANTAGE') + .navigation__toggle + input.toggle-center(type='radio' name='attr_advantagetoggle' value='{{query=1}} {{normal=1}} {{r2=[[0d20' checked='checked') + span(data-i18n='NORMAL') + .navigation__toggle + input.toggle-right(type='radio' name='attr_advantagetoggle' value='{{query=1}} {{disadvantage=1}} {{r2=[[@{d20}') + span(data-i18n='DISADVANTAGE') \ No newline at end of file diff --git a/Brancalonia Official/src/pug/layouts/utility/dialogs.pug b/Brancalonia Official/src/pug/layouts/utility/dialogs.pug new file mode 100644 index 0000000000..900c542c57 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/utility/dialogs.pug @@ -0,0 +1,23 @@ +.monster_confirm + span(data-i18n='are_you_sure') Are you sure you want to turn this character into a + span(name='attr_drop_name') + span ? + div(style='margin-top: 20px;') + div(style='position: relative; display: inline-block; margin-right: 25px;') + input.yes(type='checkbox' name='attr_confirm') + span.yes(data-i18n='yes') Yes + div(style='position: relative; display: inline-block;') + input.cancel(type='checkbox' name='attr_cancel') + span.cancel(data-i18n='cancel') Cancel +.mancer_confirm + span(style='line-height: 25px' data-i18n='do_you_want_mancer') How do you want to create this character? + div(style='margin-top: 20px;') + div(style='position: relative; display: inline-block; width:130px;') + input.yes(type='checkbox' style='width:130px;' name='attr_mancer_confirm') + span.yes(style='width:130px;' data-i18n='mancer-confirm-yes') Use the Charactermancer + div(style='position: relative; display: inline-block; width:80px;') + input.yes(style='width:80px;' type='checkbox' name='attr_mancer_npc') + span.yes(style='width:80px;' data-i18n='npc-new') Create an NPC + div(style='position: relative; display: inline-block; width:90px;') + input.yes(type='checkbox' style='width:90px;' name='attr_mancer_cancel') + span.yes(style='width:90px;' data-i18n='manual') Edit sheet direclty diff --git a/Brancalonia Official/src/pug/layouts/utility/navigation.pug b/Brancalonia Official/src/pug/layouts/utility/navigation.pug new file mode 100644 index 0000000000..06b1136600 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/utility/navigation.pug @@ -0,0 +1,18 @@ +.navigation + .navigation__toggles + include advantagetoggle + include whispertoggle + + .navigation__pages + .navigation__toggle + input(name="attr_tab", type="radio", value="core", checked) + span(data-i18n="CORE") + .navigation__toggle + input(name="attr_tab", type="radio", value="spells") + span(data-i18n="SPELLS & MOVES") + .navigation__toggle + input(name="attr_tab", type="radio", value="bio") + span(data-i18n="BIO") + .navigation__toggle.navigation__toggle--settings + input(name="attr_tab", type="radio", value="settings") + span.pictos y diff --git a/Brancalonia Official/src/pug/layouts/utility/whispertoggle.pug b/Brancalonia Official/src/pug/layouts/utility/whispertoggle.pug new file mode 100644 index 0000000000..f6f3daa842 --- /dev/null +++ b/Brancalonia Official/src/pug/layouts/utility/whispertoggle.pug @@ -0,0 +1,7 @@ +input.toggleflag(name='attr_wtype' type='hidden') +.navigation__toggle.navigation__toggle--whisperleft + input.toggle-left(name='attr_whispertoggle' type='radio' value='' checked) + span(data-i18n='public') PUBLIC +.navigation__toggle + input.toggle-right(name='attr_whispertoggle' type='radio' value='/w gm ') + span(data-i18n='WHISPER') WHISPER \ No newline at end of file diff --git a/Brancalonia Official/src/pug/lp.pug b/Brancalonia Official/src/pug/lp.pug new file mode 100644 index 0000000000..167dd05799 --- /dev/null +++ b/Brancalonia Official/src/pug/lp.pug @@ -0,0 +1,230 @@ +mixin hiddenInput(name) + input(type='hidden' name=`comp_${name}`) + +mixin lpSteps(showCancel=true) + ol.steps.lp-steps + if showCancel + li + button.exit(type='action' name='act_cancel' data-i18n='cancel-u') CANCEL + if showCancel + .topbar-holder + +mixin cancelPrompt() + .choice.cancel-prompt + p.label(data-i18n='charmancer-cancel-heading') Where would you like to go, Traveler? + button.warning(type='cancel' value='lp-cancel' data-i18n='cancel_charactermancer') Discard and exit + button(type='action' name='act_continue') + span(data-i18n='continue-charmancer') Continue Charactermancer + p.warning + span(data-i18n='charmancer-discard-warning') + | Discard and Exit will discard all choices you’ve made in Charactermancer and let you edit your character sheet directly. + +mixin bottomBar(nav={}, dialog=false, firstTab=false, lastTab=false) + .bottombar + if firstTab + button.prev(type='cancel' value='lp-cancel' data-i18n='opt-out-u') OPT OUT + else if !dialog + if(nav.back.action) + button.prev(type='action' name=`${nav.back.name}` data-i18n='back') Back + else + button.prev(type=`${nav.back.type}` value=`${nav.back.value}` data-i18n='back') Back + button.jump(type='button' data-scroll='#top' data-i18n='back-to-top') Back to Top + if dialog + button.next(type='action' name='act_lp-spellchoice_back' data-i18n='accept') Accept + else if lastTab + button.next.choice.apply_changes(type='finish' value='lp-mancer' data-i18n='apply-changes') Apply Changes + else + if(nav.next.action) + button.next(type='action' name=`${nav.next.name}` data-i18n='next') Next + else + button.next(type=`${nav.next.type}` value=`${nav.next.value}` data-i18n='next') Next + +mixin multiclass(level) + .row + div(style='display: inline;') + div(class=`class${level}_selector`) + select.multiclass_select(name=`comp_class${level}` style='width: 85%;' value='') + option(value='' data-i18n='choose') Choose + .levels-message + span(class=`class${level}_update`) + input.addinglevel(type='number' name=`comp_class${level}_addlevel` min='0' max='19') + span(class=`class${level}_tot`) + .levels-hp-row + h2(data-i18n='hp-u') HP + input(type='number' name=`comp_class${level}_addhp`) + input.hp-flag(type='hidden' name=`comp_class${level}_hp_flag` value='average') + div(class=`class${level}_rollhp` style='display: inline;') + button(type='roll' name=`roll_class${level}_rollhp` value='' title='You must input a level increase to this class' data-i18n='roll') Roll + div(class=`class${level}_averagehp` style='display: inline;') + button(type='roll' name=`roll_class${level}_averagehp` value='' title='' data-i18n='average') Average + input.hpbylevel-toggle(type='checkbox' name='comp_hpbyLevel') + span.collapse 9 + div(class=`class${level}_by-levels`) + div + h3(class=`class${level}_features_title choice` style='display: inline;' data-i18n='charmancer-class-features:') Class Features: + button.mancer_info(type='action' name=`act_class${level}`) i + div(class=`class${level}_features`) + div(class=`subclass${level}_name`) + div(class=`subclass${level}_warning`) + div(class=`subclass${level}_selector`) + select(class=`choice subclass${level}` name=`comp_class${level}_subclass`) + option(value='' data-i18n='choose') Choose + div + h3(class=`subclass${level}_features_title choice` style='display: inline;' data-i18n='charmancer-subclass-features:') Subclass Features: + button.mancer_info(type='action' name=`act_class${level}_subclass`) i + div(class=`subclass${level}_features`) + +charmancer.sheet-charmancer-lp-welcome + .charmancer.container + +lpSteps(false) + .logos + span.charmancer-logo + span.compendium-logo + p.label(data-i18n='charmancer-welcome-lp') Welcome to the Charactermancer Level Up! + p(data-i18n='charmancer-leveler-what-is-lp') + | Look at you, with all that experience. Now it's time to claim your reward. You'll walk through the step-by-step process to make a few decisions, and your character will be at the next level in no time. Changes are saved as you move through the process, but if you change your mind, you'll need to revisit the steps and choices that come after. + p.label(data-i18n='charmancer-compendium') Your Compendium Awaits. + p(data-i18n='charmancer-compendium-detail-lp') + | The Charactermancer currently supports Dungeons & Dragons 5th Edition SRD, Player's Handbook, and Guildmasters' Guide to Ravnica. Xanathar's Guide to everything will be supported in the coming weeks. You can add the Player's Handbook and Guildmasters' Guide to Ravnica to your compendium in the Marketplace, or the game owner can share their compendium with everyone in the game. + p.label(data-i18n='get-started') Get started by clicking "Next". + +bottomBar({next: {type:'back', value: 'lp-levels'}}, false, true) + +cancelPrompt() + each name in ['spellinfo', 'previous_abilities', 'previous_attributes', 'previous_proficiencies', 'previous_repeating', 'lp-race', 'lp-subrace', 'lp-background'] + +hiddenInput(name) + +charmancer.sheet-charmancer-lp-levels + .charmancer.container + +lpSteps() + div(style='width: 100%;') + p(data-i18n='charmancer-leveler-level-info1') + | Your existing class levels have been pre-populated for you. By default your primary class has been set to be increased by one level. You can change how many levels to increase below, as well as adding a new multiclass. + p(data-i18n='charmancer-leveler-level-info2') + | In each class section you'll have the option to take the average number of hit points or to roll randomly, choose class features for the levels you're advancing, and choose your subclass if appropriate. + div(style='width: 100%; font-weight: bold;') + .levels_message + .choices.levels-multiclass + input.lock-custom-class(type='hidden' name='comp_lockcustomclass') + input.hide-multiclass(type='hidden' name='comp_multiclass' min='0' max='3') + input(type='hidden' name='comp_multiclass_initial' min='0' max='3') + .row.class1_container + .custom_warning + span(data-i18n='charmancer-leveler-custom-class-warning') The Level Up tool does not support custom classes at this time. + div + .class1_selector + select(name='comp_class1' value='') + .levels-message + span.class1_update + input.addinglevel(type='number' name='comp_class1_addlevel' min='0' max='19' value='1') + span.class1_tot + .levels-hp-row + h2(data-i18n='hp-u') HP + input(type='number' name='comp_class1_addhp') + input.hp-flag(type='hidden' name='comp_class1_hp_flag' value='average') + .class1_rollhp(style='display: inline;') + button(type='roll' name='roll_class1_rollhp' value='' title='' data-i18n='roll') Roll + .class1_averagehp(style='display: inline;') + button(type='roll' name='roll_class1_averagehp' value='' title='' data-i18n='average') Average + input.hpbylevel-toggle(type='checkbox' name='comp_hpbyLevel') + span.collapse 9 + .class1_by-levels + .class_features_container + h3.class1_features_title.choice(style='display: inline;' data-i18n='charmancer-class-features:') Class Features: + button.mancer_info(type='action' name='act_class1') i + .class1_features + .subclass1_name + .subclass1_warning + .subclass1_selector + select.choice.subclass1(name='comp_class1_subclass') + option(value='' data-i18n='choose') Choose + .subclass_features_container + h3.subclass1_features_title.choice(style='display: inline;' data-i18n='charmancer-subclass-features:') Subclass Features: + button.mancer_info(type='action' name='act_class1_subclass') i + .subclass1_features + +multiclass(2) + +multiclass(3) + +multiclass(4) + div + .multiclass_message + button(type='action' name='act_multiclass_add') + + button(type='action' name='act_multiclass_remove') - + .info + .sheet-compendium-page.sheet-levels-info(accept='Rules:Classes') + +bottomBar({back: {type:'back', value: 'lp-welcome'}, next: {type:'back', value: 'lp-choices'}}) + +cancelPrompt() + each name in ['characterlevel', 'class1', 'class1_subclass', 'class1_currentlevel', 'class1_classlevel', 'class1_hitdie', 'class2', 'class2_subclass', 'class2_currentlevel', 'class2_classlevel', 'class2_hitdie', 'class3', 'class3_subclass', 'class3_currentlevel', 'class3_classlevel', 'class3_hitdie', 'class4', 'class4_subclass', 'class4_currentlevel', 'class4_classlevel', 'class4_hitdie', 'asi', 'spells'] + +hiddenInput(name) + +charmancer.sheet-charmancer-lp-choices + .charmancer.container + +lpSteps() + .choices + .info + .sheet-compendium-page.sheet-class-info(accept='Rules:Classes') + +bottomBar({back: {type:'back', value: 'lp-levels'}, next: {action: true, name: 'act_lp-choices_next'}}) + +cancelPrompt() + +charmancer.sheet-charmancer-lp-asi + .charmancer.container + +lpSteps() + span.spinner-toggle + .spinnerloader + .choices + .info + .sheet-compendium-page.sheet-class-info(accept='Rules:Ability Scores') + +bottomBar({back: {type:'back', value: 'lp-choices'}, next: {action: true, name: 'act_lp-asi_next'}}) + +cancelPrompt() + +charmancer.sheet-charmancer-lp-spells + .charmancer.container + +lpSteps() + span.pagelock(style='display: none') + .choices.spellslide + p.instructions(data-i18n='charmancer-leveler-spells-info') + | Listed here are the current spells your character already knows. If you gained access to more spells during your advancement you will be able to select them below. Check next to the spells you wish to learn. The Charactermancer will help you pick the right number of spells and from the correct list. If your class has the option to swap out spells, you can do so by unselecting currently known spells which will allow you to select new ones in their place. + p.spells-summary + .cantripinfo + .info.spellslide + .sheet-compendium-page.sheet-spells-info(accept='Rules:Spells') + +bottomBar({back: {action: true, name: 'act_lp-spells_back'}, next: {type: 'back', value: 'lp-summary'}}) + +cancelPrompt() + each name in ['knowncantrips', 'knownspells', 'newcantrips', 'newspells', 'replace'] + +hiddenInput(name) + +charmancer.sheet-charmancer-lp-summary + .charmancer.container + +lpSteps() + .lp-summary.summary-container + .before + h2(data-i18n='before-leveling') Before Leveling + div + .after + h2(data-i18n='after-leveling') After Leveling + div + .summary-container + .summary + p.label(data-i18n='features') Features + .feature_info + .summary + p.label(data-i18n='feats') + .feat_info + .summary + p.label(data-i18n='spells') Spells + .spell_info + .choice.returnblock.spells_button + span(data-i18n='return-to:') Return to: + button.step(type='back' value='l1-spells' data-i18n='spells-u') SPELLS + +bottomBar({back: {action: true, name: 'act_lp-summary_back'}}, false, false, true) + +cancelPrompt() + +charmancer.sheet-charmancer-lp-spellchoice + .charmancer.container + +lpSteps() + span.pagelock(style='display: none') + .choices.spellslide + p.instructions + .info.spellslide + .sheet-compendium-page.sheet-spells-info(accept='Rules:Spells') + +bottomBar({}, true) + +cancelPrompt() + each name in ['source', 'valid', 'newcantrips', 'newspells'] + +hiddenInput(name) \ No newline at end of file diff --git a/Brancalonia Official/src/pug/npc.pug b/Brancalonia Official/src/pug/npc.pug new file mode 100644 index 0000000000..2ea2bb4cf1 --- /dev/null +++ b/Brancalonia Official/src/pug/npc.pug @@ -0,0 +1,74 @@ +mixin npcAttribute(name) + span(data-i18n=`${name.substring(0,3)}-u`) #{name.substring(0,3).toUpperCase()} + input(type="text" name=`attr_${name}_base` value!="10") + +mixin npcAttributeRoll(name) + - var short = name.substring(0,3); + - var value = `@{wtype}&{template:npc} @{npc_name_flag} {{rname=^{${name}}}} {{mod=[[[[@{${name}_mod}]][${short.toUpperCase()}]]]}} {{r1=[[@{d20}+[[@{${name}_mod}]][${short.toUpperCase()}]]]}} @{rtype}+[[@{${name}_mod}]][${short.toUpperCase()}]]]}} {{type=Ability}}`; + .npc__attribute-container + button.npc__attribute-button(type="roll" name=`roll_npc_${short}` value!=value) + span.npc__attribute-title(data-i18n=`${short}-u`) #{short.toUpperCase()} + span.npc__attribute-score(name=`attr_${name}`) + span ( + span.npc__attribute-mod(name=`attr_${name}_mod`) + span ) + +mixin npcSave(name) + - var short = name.substring(0,3); + span(data-i18n=`${short}-u`) #{short.toUpperCase()} + input(type="text" name=`attr_npc_${short}_save_base` placeholder="0") + input(type="hidden" name=`attr_npc_${short}_save` value!=`@{${name}_mod}`) + +mixin npcSaveRoll(name) + - const short = name.substring(0,3); + - const capitalized = short.charAt(0).toUpperCase() + short.slice(1); + - const value = `@{wtype}&{template:npc} @{npc_name_flag} {{rname=^{${name}-save}}} {{mod=[[[[@{npc_${short}_save}]][${short.toUpperCase()} SAVE]]]}} {{r1=[[@{d20}+[[@{npc_${short}_save}]][${short.toUpperCase()} SAVE]]]}} @{rtype}+[[@{npc_${short}_save}]][${short.toUpperCase()} SAVE]]]}} {{type=Save}}` + input.npc__flag--mod(type="hidden" name=`attr_npc_${short}_save`) + button.npc__save(type="roll" name=`roll_npc_${short}_save` value!=value) + span(data-i18n=short) #{capitalized} + span.stat(name=`attr_npc_${short}_save`) + +mixin npcSkill(skill) + - var name = skill.split(':')[0]; + - var sanitized = name.replace(/ /g,'_'); + - var modifier = skill.split(':')[1]; + .options__row.options__row--noborder(data-i18n-list-item=sanitized) + span.options__flex(data-i18n=`${sanitized}-u`) #{name.toUpperCase()} + input.options__flex--2(type="text" name=`attr_npc_${sanitized}_base` placeholder="0") + input(type="hidden" name=`attr_npc_${sanitized}` value!=`@{${modifier}_mod}`) + +mixin npcSkillRoll(skill) + - var sanitized = skill.replace(/ /g,'_'); + - var capitalized = skill.charAt(0).toUpperCase() + skill.slice(1); + - var value = `@{wtype}&{template:npc} @{npc_name_flag} {{rname=^{${sanitized}}}} {{mod=@{npc_${sanitized}}}} {{r1=[[@{d20}+@{npc_${sanitized}}]]}} @{rtype}+@{npc_${sanitized}}]]}} {{type=Skill}}` + input.npc__flag--mod(type="hidden" name=`attr_npc_${sanitized}`) + span(data-i18n-list-item=sanitized) + button.npc__skill(type="roll" name=`roll_npc_${sanitized}` value!=value) + span(data-i18n=sanitized) #{capitalized} + span.stat(name=`attr_npc_${sanitized}`) + +mixin toggleButton(attribute, cssClass="npc__toggle", showIcon=false, label="") + input.toggle__input(name=`attr_${attribute}`, type="hidden", value="on") + .toggle(class=`${cssClass}`) + input(name=`attr_${attribute}`, type="checkbox", checked) + span y + +include layouts/panels/npc/Settings + +.npc__grid + + .npc__column + + include layouts/panels/npc/Stats + + include layouts/panels/npc/Traits + + include layouts/panels/npc/BonusActions + + .npc__column--right + + include layouts/panels/npc/Actions + + include layouts/panels/npc/Reactions + + include layouts/panels/npc/LegendaryActions \ No newline at end of file diff --git a/Brancalonia Official/src/scss/abstracts/_placeholders.scss b/Brancalonia Official/src/scss/abstracts/_placeholders.scss new file mode 100644 index 0000000000..25a292c967 --- /dev/null +++ b/Brancalonia Official/src/scss/abstracts/_placeholders.scss @@ -0,0 +1,59 @@ +%SaveSkillBox { + text-align: center; + + .label { + font-weight: bold; + text-align: center; + } +} + +%TextBox { + width: auto; + margin-top: 0.5rem; + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-slice: 10% 5% 10% 5%; + image-width: 0.75rem 1rem 0.75rem 1rem; + image-outset: 0px 0px 0px 0px; + image-repeat: round round; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + } +} + +%MagicLabel { + margin: auto; + height: 3rem; + width: 100%; + margin-bottom: -2rem; + text-align: center; + padding-top: 0.75rem; + + background: { + image: url("https://s3.amazonaws.com/files.d20.io/images/229570991/7amxLms4s6lpmFthaaBpcQ/med.png?1624162130"); + position: center center; + size: 100% 100%; + repeat: no-repeat; + } + + font-size: 1.25rem; +} + +%BoxLabel { + position: relative; + height: 2.5rem; + border: { + image-slice: 10 190 33 146 fill; + image-width: 0.5rem 4rem 2rem 4rem; + image-outset: 0.5rem 3rem 2rem 3.5rem; + image-repeat: round stretch; + image-source: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626586904/box-header-2_qo5bye.png"); + style: solid; + } + + background-color: white; + + text-align: center; +} diff --git a/Brancalonia Official/src/scss/external/sanitization-fixes.scss b/Brancalonia Official/src/scss/external/sanitization-fixes.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Brancalonia Official/src/scss/generic.scss b/Brancalonia Official/src/scss/generic.scss new file mode 100644 index 0000000000..10194c549a --- /dev/null +++ b/Brancalonia Official/src/scss/generic.scss @@ -0,0 +1,117 @@ + + .ellipsis { + overflow: hidden; + text-overflow: ellipsis; + } + +/* GRID + ============================= */ + div.grid { + display: inline-grid; + grid-column-gap: 1%; + grid-row-gap: 0.5%; + } + + %gridRowCol { + display: inline-grid; + overflow: hidden; + grid-auto-rows: min-content; + grid-column-gap: 1%; + } + + .bold { + font-weight: bold; + } + + .italics { + font-style: italic; + } + + .text-right { + text-align: right; + } + + .text-uppercase { + text-transform: uppercase; + } + + .text-capitalize { + text-transform: capitalize; + } + + // div.2column { + // grid-template-columns: 1fr 1fr; + // } + + div.auto2column { + grid-template-columns: auto 1fr; + } + + +// dialogs + +.dialog { + display: none; + + position: absolute; + z-index: 999; + width: 100%; + height: 100%; + + background-color: rgba(white, 0.5); + + &__wrapper { + position: fixed; + top: 45%; + left: calc(50% - 20rem); + width: 40rem; + margin: auto; + padding: 2rem; + padding-bottom: 0; + + border: 1px solid black; + + background-color: white; + + text-align: center; + } + + &__newname { + display: block; + margin-top: 1rem; + + font-weight: bold; + } + + &__buttonrow { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + margin: auto; + margin-top: 2rem; + padding: 1rem 1rem; + + border-top: 1px solid rgba(black, 0.5); + } + + &__button { + padding: 0.5rem 1rem; + + border: 1px solid black; + border-radius: 0.5rem; + } + } + +input[name*="npc_confirmation_flag"][value="1"] + .dialog { + display: block; +} + +.active-drop-target.dropping { + border: none; + background: transparent; + + .dialog--warning { + display: block !important; + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/generics/_RollButton.scss b/Brancalonia Official/src/scss/generics/_RollButton.scss new file mode 100644 index 0000000000..10b23f8e3a --- /dev/null +++ b/Brancalonia Official/src/scss/generics/_RollButton.scss @@ -0,0 +1,25 @@ +%RollButton { + width: 100%; + padding: 0; + margin: 0; + + border: none; + + background-color: transparent; + background-image: none; + box-shadow: none; + color: black; + text-shadow: none; + + font-size: 0.8rem; + font-weight: bold; + line-height: 1.2rem; + + &:before { + content: ""; + } + + &:hover { + color: #ec2127; + } +} diff --git a/Brancalonia Official/src/scss/generics/_StandardInput.scss b/Brancalonia Official/src/scss/generics/_StandardInput.scss new file mode 100644 index 0000000000..414159321f --- /dev/null +++ b/Brancalonia Official/src/scss/generics/_StandardInput.scss @@ -0,0 +1,15 @@ +%StandardInput { + width: 100%; + padding: 0; + + background: none; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: none; + -webkit-border-radius: 0px; + + border: none; + border-radius: 0px; + + color: #c00; +} diff --git a/Brancalonia Official/src/scss/generics/_gridsystem.scss b/Brancalonia Official/src/scss/generics/_gridsystem.scss new file mode 100644 index 0000000000..addbcda598 --- /dev/null +++ b/Brancalonia Official/src/scss/generics/_gridsystem.scss @@ -0,0 +1,99 @@ +.core-body { + display: grid; + grid-template-columns: 0.8fr 1fr 1fr; + align-items: flex-start; + align-items: start; + grid-gap: 0.5rem; + margin-top: 1rem; + + .core-col { + &__split { + display: grid; + grid-template-columns: 10rem 1fr; + grid-gap: 1rem; + align-items: flex-start; + align-items: start; + } + + &--middle { + padding-left: 2rem; + } + } +} + +.bio-body { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + grid-gap: 1rem 3rem; + + > * { + min-height: 20rem; + } +} + +.spells { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + grid-template-rows: 10rem 1fr; + align-items: stretch; + grid-gap: 1rem 3rem; + + @media only screen and (max-width: 600px) { + grid-template-columns: 1fr; + } + + + * { + margin: 0; + } + + > * { + max-width: 100%; + } + + &__stats { + grid-column-end: span 2; + + @media only screen and (max-width: 600px) { + grid-column-end: unset; + } + } + + &__features { + grid-row-end: span 2; + + @media only screen and (max-width: 600px) { + grid-column-end: unset; + } + } +} + +.settings-body { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + align-items: stretch; + grid-gap: 1rem; + margin-top: 1rem; + + .options { + display: block; + padding: 1rem; + margin-bottom: 1rem; + + border: 1px solid rgba(red, 0.5); + border-radius: 1.5rem; + + &__row { + + &--title { + text-align: center; + font-weight: bold; + } + } + + &__flex--1 { + text-align: center; + } + } +} diff --git a/Brancalonia Official/src/scss/generics/_hiddenflag.scss b/Brancalonia Official/src/scss/generics/_hiddenflag.scss new file mode 100644 index 0000000000..85185d7a5f --- /dev/null +++ b/Brancalonia Official/src/scss/generics/_hiddenflag.scss @@ -0,0 +1,21 @@ +.hiddenflag { + &__simple { + display: none; + } + + &__complex { + display: block; + } + + &__flag { + &[value="on"] { + ~ .hiddenflag__simple { + display: block; + } + + ~ .hiddenflag__complex { + display: none; + } + } + } +} diff --git a/Brancalonia Official/src/scss/generics/_options.scss b/Brancalonia Official/src/scss/generics/_options.scss new file mode 100644 index 0000000000..316a28b97c --- /dev/null +++ b/Brancalonia Official/src/scss/generics/_options.scss @@ -0,0 +1,197 @@ +.options { + display: none; + box-sizing: border-box; + max-width: 100%; + padding: 0 0.5rem; + + border: 0.2rem dashed #c00; + border-width: 0.2rem 0; + + font-family: "Verdana", "Tahoma", sans-serif !important; + font-size: 0.9rem; + + background: rgba(#c00, 0.1); + + * { + font-family: inherit; + font-size: inherit; + } + + &__flag { + &[value="on"] { + ~ .options { + display: block; + } + } + } + + &__cog { + width: 1rem; + display: grid; + grid-template-areas: "checkmark"; + + > * { + grid-area: checkmark; + width: 100%; + height: 100%; + } + + span { + font-family: pictos; + text-align: center; + } + + input { + opacity: 0; + + &:checked + span { + color: #c00; + } + } + } + + &__row { + display: flex; + flex-wrap: nowrap; + align-items: center; + justify-content: space-between; + + margin-bottom: 0.25rem; + padding-bottom: 0.25rem; + + &--checkbox { + display: grid; + grid-template-columns: 3rem 1fr; + } + + &:not(:last-child) { + border-bottom: 1px solid rgba(#c00, 0.5); + } + + > * { + flex: auto 1 1; + } + + &--wrap { + flex-wrap: wrap; + } + + &--noborder { + border-bottom: 0 !important; + } + + &--topborder { + border-top: 1px solid rgba(#c00, 0.5); + border-bottom: 0 !important; + } + + &--title { + text-align: center; + font-weight: bold; + } + + &--center { + justify-content: center; + } + } + + &__flex { + flex: auto 1 1; + + @for $i from 1 through 10 { + &--#{$i} { + flex: $i * 10% 0 1 !important; + max-width: $i * 10%; + } + } + } + + span, + &__label { + flex: auto 0 0; + max-width: 100%; + + padding: 0; + margin: 0; + margin-right: 0.25rem; + + line-height: 1rem; + text-align: left; + } + + select, + input[type="checkbox"], + input[type="text"], + input[type="number"] { + + .options__label { + margin-left: 0.25rem; + } + } + + select, + input[type="text"], + input[type="number"] { + margin: 0; + margin-right: 0.25rem; + padding: 0; + height: 2rem; + width: 100%; + + border: 1px solid rgba(#c00, 0.25) !important; + border-radius: 0.3rem; + + font-size: 1rem !important; + font-family: sans-serif; + line-height: 1; + text-indent: 0; + text-align: left; + + color: black; + + background: white; + background-image: none !important; + } + + input[type="text"] { + text-align: left; + } + + textarea { + margin: 0; + padding: 0.25rem; + height: 10rem; + width: 100%; + + border: 1px solid rgba(#c00, 0.25) !important; + border-radius: 0.3rem; + + font-size: 1rem !important; + line-height: 2rem; + text-indent: 0; + text-align: left; + + color: black; + + background: white; + background-image: none !important; + } + + input[type="text"], + input[type="number"] { + padding-left: 0.5rem; + } + + .pb_custom { + display: none; + } + + input[name*="pb_type"][value*="custom"] ~ .pb_custom { + display: block; + } + + .repcontrol { + button { + font-size: 0; + } + } +} diff --git a/Brancalonia Official/src/scss/npc/_grid.scss b/Brancalonia Official/src/scss/npc/_grid.scss new file mode 100644 index 0000000000..114b27cc0c --- /dev/null +++ b/Brancalonia Official/src/scss/npc/_grid.scss @@ -0,0 +1,66 @@ +.npc { + &__grid { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 5rem; + } + + &__column { + + } + + &__row { + display: flex; + flex-wrap: wrap; + align-items: baseline; + + > * { + display: inline; + margin-right: 0.25rem; + + font-family: sans-serif; + } + + &--center { + justify-content: center; + } + + &--space-between { + justify-content: space-between; + } + + button[type="roll"] { + padding: 0; + margin: 0; + line-height: 1; + } + } + + &__rule { + + &--thin { + margin: 1rem 0; + border: 0.5px solid #900; + } + + &--thick-top { + margin: 1rem 0; + border: 0.5px solid #900; + + &:after { + display: block; + content: ""; + margin-top: 3px; + width: 100%; + height: 3px; + background-color: #900; + } + } + + &--thick-bottom { + @extend .npc__rule--thick-top; + transform: rotate(180deg) + } + + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/npc/_npc.scss b/Brancalonia Official/src/scss/npc/_npc.scss new file mode 100644 index 0000000000..128d38594c --- /dev/null +++ b/Brancalonia Official/src/scss/npc/_npc.scss @@ -0,0 +1,174 @@ +input[type="text"], +input[type="number"], +select, +textarea { + font-family: sans-serif !important; +} + +button[type="roll"][type="roll"] { + border: 0; + + background: none; + box-shadow: none; + + * { + font-family: sans-serif; + } + + &:hover { + color: red; + } +} + +@import "placeholders"; + +@import "options"; +@import "grid"; +@import "statblock"; + +.npc { + &__section-header { + font-family: "Playfair Display", serif !important; + font-size: 9pt; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 1px; + color: #900; + } + + &__toggle { + float: right; + + border: 0; + background: none; + box-shadow: none; + + span { + font-family: "Pictos"; + } + } + + &__challenge { + &--brackets { + @extend %brackets; + } + } +} + +.toggle { + display: grid; + grid-template-areas: "checkbox"; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + > input { + opacity: 0; + + &:checked + span { + color: red; + } + } + + > span { + font-family: "Pictos"; + } +} + +.action, +.bonusaction, +.reaction, +.legaction, +.trait { + margin-bottom: 0.33rem; + + input.toggle__input[value="on"] { + & ~ .toggle__options { + display: block; + } + + & ~ .toggle__display { + display: none; + } + } + + &__name[type="roll"] { + display: inline-block; + margin: 0; + padding: 0; + vertical-align: baseline; + + line-height: inherit; + font-weight: bold; + font-size: inherit; + font-style: italic; + + &:after { + display: inline; + content: "."; + margin-right: 0.5rem; + } + } + + &__description { + font-family: sans-serif; + white-space: pre-wrap; + } +} + +.repcontrol { + .repcontrol_edit, + .repcontrol_add { + display: flex; + align-items: center; + justify-content: center; + } +} + +.flag__display--attack { + display: none; +} + +input.flag__toggle--attack[value="on"] { + & ~ .flag__display--attack { + display: flex; + } +} + +input.npc__flag--options[value="on"] { + & ~ .npc__options { + display: block; + } +} + +input.npc__flag--next[value] { + & + * { + display: flex; + } +} + +input.npc__flag--mod:not([value]), +input.npc__flag--mod[value*="mod"] { + & + * { + display: none; + } +} + +.npc__bonus-actions, +.npc__reactions { + display: none; +} + +input[name*="npcbonusactionsflag"], +input[name*="npcreactionsflag"] { + &[value="1"] + div { + display: block; + } +} + +input[name*="npc_legendary_actions"][value="0"] + div { + display: none; +} diff --git a/Brancalonia Official/src/scss/npc/_options.scss b/Brancalonia Official/src/scss/npc/_options.scss new file mode 100644 index 0000000000..edf76b2600 --- /dev/null +++ b/Brancalonia Official/src/scss/npc/_options.scss @@ -0,0 +1,33 @@ +.npc { + &__options { + max-width: 500px; + margin-bottom: 2rem; + } + + &__settings { + float:right; + + display: grid; + grid-template-areas: "checkbox"; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + > input { + opacity: 0; + + &:checked ~ span { + color: red; + } + } + + > span { + font-family: Pictos; + } + } + + +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/npc/_placeholders.scss b/Brancalonia Official/src/scss/npc/_placeholders.scss new file mode 100644 index 0000000000..008f06131d --- /dev/null +++ b/Brancalonia Official/src/scss/npc/_placeholders.scss @@ -0,0 +1,12 @@ +%brackets { + &:before, + &:after { + display: inline; + } + &:before { + content: "("; + } + &:after { + content: ")"; + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/npc/_statblock.scss b/Brancalonia Official/src/scss/npc/_statblock.scss new file mode 100644 index 0000000000..8dcf159a8c --- /dev/null +++ b/Brancalonia Official/src/scss/npc/_statblock.scss @@ -0,0 +1,81 @@ +.npc { + + + + &__title { + display: block; + font-family: "Playfair Display SC", serif !important; + font-size: 16pt; + text-align: center; + color: #900; + } + + &__subtitle { + display: block; + font-family: "Playfair Display", serif; + } + + &__attribute-container { + margin-right: 1rem; + } + + &__attribute-mod { + font-weight: bold; + + &:not([value^="-"]):before { + display: inline; + content: "+"; + } + } + + &__attribute-title { + display: block; + + font-weight: bold; + text-align: center; + + color: #900; + } + + &__attribute-score { + margin-right: .25rem; + } + + &__label { + margin-right: .5rem; + + color: #900; + + font-size: 1.2rem; + font-weight: bold; + text-transform: uppercase; + } + + &__hidden { + display: none; + } + + &__ac-type { + @extend %brackets; + } + + &__hitpoints { + + &-formula { + @extend %brackets; + } + } + + &__skill, + &__save { + + > span { + margin-right: .5rem; + + &:last-child:after { + display: inline; + content: "," + } + } + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/pc/_AbilityScore.scss b/Brancalonia Official/src/scss/pc/_AbilityScore.scss new file mode 100644 index 0000000000..733b90b839 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_AbilityScore.scss @@ -0,0 +1,106 @@ +.abilityscores { + display: grid; + grid-template-rows: repeat(6, 12rem); + padding: 0.25rem; + padding-top: 1rem; + margin: 0; +} + +.abilityscore { + box-sizing: border-box; + display: grid; + grid-template-rows: 1.25rem 3.75rem 3rem; + align-items: center; + padding: 1rem 0; + margin-top: 1rem; + + text-align: center; + + background: { + image: url("https://s3.amazonaws.com/files.d20.io/images/229250145/sGV8WHAseUSfkSS6wyP14w/max.png?1624042176"); + repeat: no-repeat; + size: 100% 100%; + position: center top; + } + + input[type="text"], + input[type="number"] { + @extend %StandardInput; + } + + &__value { + font-family: "Dancing Script", serif; + font-size: 2.75rem; + font-weight: bold; + text-align: center; + } + + &__base { + opacity: 0; + + &:focus, + &:active { + opacity: 1; + + & ~ .abilityscore__final { + display: none; + } + } + } + + &__base, + &__final { + font-family: "Dancing Script", serif; + text-align: center; + + color: #c00; + } + + &__mod { + display: grid; + grid-template-areas: "mod"; + margin-top: 1rem; + + text-align: center; + + pointer-events: auto; + + > * { + grid-area: mod; + font-size: 2rem; + width: 100%; + height: 100%; + } + + &:hover { + .abilityscore__final { + display: none; + } + + .abilityscore__base { + opacity: 1; + pointer-events: auto; + } + } + } + + &__flag { + &[value="1"] + .abilityscore__final { + color: #3e99e8; + + &:after { + content: "*"; + font-size: 15px; + } + } + } + + &__rollbutton[type="roll"] { + @extend %RollButton; + padding: 0; + margin: 0; + margin-top: 1rem; + + font-size: 0.75rem; + } +} diff --git a/Brancalonia Official/src/scss/pc/_AttacksSpellcasting.scss b/Brancalonia Official/src/scss/pc/_AttacksSpellcasting.scss new file mode 100644 index 0000000000..bd5e1a6d1a --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_AttacksSpellcasting.scss @@ -0,0 +1,95 @@ +.attacks { + @extend %TextBox; + margin: 0 0.5rem; + + &__header { + @extend %TextBox; + display: grid; + grid-template-columns: 1fr 0.5fr 1fr 1.25rem; + grid-gap: 0.25rem; + padding: 0 0.5rem; + margin: 0.5rem -1rem; + + text-align: center; + } + + textarea { + width: auto; + } + + &__label { + @extend %MagicLabel; + height: 4rem; + margin-bottom: -1.5rem; + + background-size: 90% 100%; + + text-align: center; + } +} + +.attack { + width: 100%; + margin: 0.5rem 0; + + &__display { + display: grid; + grid-template-columns: 1fr 1.5rem; + grid-gap: 0.25rem; + align-items: center; + margin: 0.5rem; + + button[type="roll"] { + @extend %RollButton; + + display: grid; + grid-template-columns: 1fr 3rem 0.7fr; + grid-gap: 0.25rem; + align-items: center; + } + } + + &__name, + &__type, + &__bonus { + box-sizing: border-box; + margin: 0; + padding: 0; + width: 100%; + height: 2.5rem; + overflow: hidden; + text-overflow: ellipsis; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + font-size: 1.3rem; + font-weight: normal; + line-height: 1; + } + + &__name { + text-align: left; + } + + &__type, + &__bonus { + text-align: center; + } + + &__type { + font-size: 1.2em; + } + + &__value[type="text"] { + text-align: center; + } +} diff --git a/Brancalonia Official/src/scss/pc/_Bio.scss b/Brancalonia Official/src/scss/pc/_Bio.scss new file mode 100644 index 0000000000..fb5001754a --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Bio.scss @@ -0,0 +1,78 @@ +.appearance, +.backstory, +.allies, +.adfeatures, +.personalitytrait, +.treasure { + @extend %TextBox; + display: grid; + grid-template-columns: 1fr; + grid-template-rows: 3.5rem 1fr; + justify-content: center; + align-items: stretch; + padding: 1rem; + + &__label { + @extend %BoxLabel; + } + + textarea { + width: 100%; + min-height: 5rem; + height: auto; + margin: 0; + padding: 0; + resize: vertical; + border: 0; + } + + input[type="text"] { + padding: 0; + + border: 0; + border-bottom: 1px solid black; + border-radius: 0; + } +} + +.bounty { + @extend %TextBox; + display: grid; + min-height: 15rem; + grid-template-columns: 1fr; + grid-template-rows: 1fr 1rem; + justify-content: center; + align-items: stretch; + padding: 1rem; + + &__image { + display: block; + min-height: 3.5rem; + } + + &__bounty { + @extend %TextBox; + display: grid; + grid-template-columns: 1fr 7rem; + grid-gap: 1rem; + align-items: center; + height: 3rem; + margin: 0 -2rem; + padding: 0 1rem; + + background-color: white; + + input[type="number"] { + margin-top: -1rem; + margin-bottom: -1rem; + border: 0; + padding: 0; + width: 100%; + height: 4rem; + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + background-size: 100% 100%; + background-color: transparent; + text-align: center; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Coins.scss b/Brancalonia Official/src/scss/pc/_Coins.scss new file mode 100644 index 0000000000..ce56191729 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Coins.scss @@ -0,0 +1,39 @@ +.coins { + width: 100%; + height: 15rem; + margin-top: -2rem; + padding: 18% 7% 0 43%; + grid-column: span 2; + + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626578001/Pouch-Money_pagkje.png"); + size: contain; + position: center; + repeat: no-repeat; + } +} + +.money { + grid-column: 1 / -1; + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 0.5rem; + align-items: center; + justify-items: center; + + > * { + text-align: center; + } + + input[type="number"] { + width: 100%; + border: 0; + background: transparent; + + text-align: center; + } +} + +.coin { + color: black !important; +} diff --git a/Brancalonia Official/src/scss/pc/_DeathSaves.scss b/Brancalonia Official/src/scss/pc/_DeathSaves.scss new file mode 100644 index 0000000000..75599fb3f5 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_DeathSaves.scss @@ -0,0 +1,87 @@ +.deathsaves { + margin: 2rem 0; + + &__label { + @extend %MagicLabel; + margin: auto; + margin-bottom: 1rem; + height: 4rem; + width: 80%; + + button[type="roll"] { + @extend %RollButton; + + font-size: 1.2rem; + } + } + + &__failures, + &__successes { + width: 80%; + margin: auto; + display: grid; + grid-template-columns: 1fr 5rem 5rem 5rem; + align-items: center; + height: 3rem; + + input[type="checkbox"] { + &:checked ~ span { + background: { + image: url(""); + } + } + } + } + + &__failures { + .deathsaves__check { + span { + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-fail-white_e65mmc.png"); + size: contain; + position: center; + repeat: no-repeat; + } + } + + input[type="checkbox"]:checked + span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-fail-red_qydhmr.png"); + } + } + } + + &__successes { + .deathsaves__check { + span { + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-succeed-white_l9svuh.png"); + size: contain; + position: center; + repeat: no-repeat; + } + } + + input[type="checkbox"]:checked + span { + background-image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626577399/ds-succeed-red_rogomh.png"); + } + } + } + + &__check { + display: grid; + grid-template-areas: "check"; + height: 3rem; + + > * { + grid-area: check; + height: 100%; + width: 100%; + } + + input[type="checkbox"] { + opacity: 0; + position: relative; + z-index: 1000; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Equipment.scss b/Brancalonia Official/src/scss/pc/_Equipment.scss new file mode 100644 index 0000000000..4925413df5 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Equipment.scss @@ -0,0 +1,128 @@ +.equipment { + @extend %TextBox; + margin: 0 0.5rem; + margin-bottom: 2rem; + + &__header { + @extend %TextBox; + display: grid; + grid-template-columns: 1.5rem 3rem 1fr 3rem 1.5rem; + grid-gap: 0.25rem; + align-items: center; + padding: 0 0.5rem; + margin: 0.5rem -1rem; + } + + &__count { + grid-column: 2; + } + + &__title { + } + + &__weighti { + width: 1.5rem; + height: 1.5rem; + vertical-align: top; + justify-self: center; + + img { + vertical-align: top; + } + } + + &__weighttotal { + display: grid; + grid-template-columns: 1fr 3rem; + align-items: center; + padding: 0 4rem; + + font-weight: bold; + } + + &__encumbrance[type="number"] { + width: 3rem; + height: 3rem; + margin: 0.5rem 0; + + border-radius: 50%; + border: 1px solid black; + + text-align: center; + } + + &__encumbrancetotal { + font-weight: bold; + } + + &__label { + @extend %MagicLabel; + height: 4rem; + margin-bottom: -1.5rem; + + background-size: 90% 100%; + + text-align: center; + } +} + +.item { + input.item__optionsflag[value="on"] { + ~ .options { + display: block; + } + } + + input[type="text"] { + text-align: center; + } + + input[type="text"], + input[type="number"] { + width: 100%; + height: 16pt; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + font-size: 12pt; + line-height: 1; + } + + &__titlerow { + display: grid; + grid-template-columns: 1.5rem 3rem 1fr 3rem 1.5rem; + grid-gap: 0.5rem; + } + + &__optionsflag { + display: grid; + grid-template-areas: "check"; + + > * { + grid-area: check; + width: 100%; + height: 100%; + } + } + + &__optionscheck { + position: relative; + z-index: 1000; + opacity: 0; + + &:checked { + ~ span.pictos { + color: #c00; + } + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Exhaustion.scss b/Brancalonia Official/src/scss/pc/_Exhaustion.scss new file mode 100644 index 0000000000..7ea29518ff --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Exhaustion.scss @@ -0,0 +1,77 @@ +.exhaustions { + grid-template-columns: 2rem 1fr; +} + +.knocks { + grid-template-columns: 1fr 2rem; +} + +.exhaustions, +.knocks { + display: grid; + align-items: center; + + &__level { + display: none; + } + + > input[type="hidden"] { + @for $i from 0 through 6 { + &[value="#{$i}"] ~ * { + .knocks__level--#{$i}, + .exhaustions__level--#{$i} { + display: block; + margin: auto; + height: 100%; + max-height: 14rem; + width: auto; + } + } + } + } + + &__checks { + display: grid; + grid-template-rows: repeat(6, 1fr) 2rem; + } + + &__label { + grid-column: 1 / -1; + + font-size: 12pt; + text-align: center; + } +} + +.exhaustion, +.knock { + display: grid; + grid-template-areas: "checkbox"; + + &__radio { + grid-area: checkbox; + width: 100%; + height: 100%; + opacity: 0; + + &:checked { + opacity: 1; + + + span { + background-color: black; + color: white; + font-weight: bold; + } + } + } + + &__text { + display: block; + grid-area: checkbox; + width: 100%; + height: 100%; + text-align: center; + font-size: 1rem; + font-family: "Libre Baskerville", sans-serif; + } +} diff --git a/Brancalonia Official/src/scss/pc/_Features.scss b/Brancalonia Official/src/scss/pc/_Features.scss new file mode 100644 index 0000000000..a87b95a093 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Features.scss @@ -0,0 +1,101 @@ +.features { + @extend %TextBox; + padding: 1rem 0.5rem; + + &__label { + @extend %BoxLabel; + margin-bottom: 1rem; + } +} + +.feature { + $this: ".feature"; + + display: grid; + grid-template-columns: 1fr 1.5rem 1.5rem; + grid-gap: 0.5rem; + align-items: start; + + margin: 0 0.25rem; + padding: 0 0.25rem; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + &__title, + &__subheader { + display: block; + + text-align: left; + } + + &__subheader { + color: #666; + + > * { + font-size: 8pt; + } + } + + &__options { + grid-column: 1 / -1; + } + + &__chat-button[type="roll"] { + padding: 0; + margin: 0; + + border: 0; + box-shadow: none; + + background: transparent; + + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + + &__options-container { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + input[class*="flag"][type="checkbox"] { + opacity: 0; + width: 100%; + height: 100%; + + &:checked ~ span { + color: red; + } + } + + span { + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + } + + // Display Controls + + input#{$this}__flag--options { + &[value="on"] ~ #{$this}__options { + display: block !important; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Header.scss b/Brancalonia Official/src/scss/pc/_Header.scss new file mode 100644 index 0000000000..0de16e1f2e --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Header.scss @@ -0,0 +1,153 @@ +.header { + @extend %TextBox; + display: grid; + grid-template-columns: 0.5fr 1fr 2fr 1fr 0.5fr; + grid-gap: 1rem; + width: 100%; + padding: 0 1rem; + margin-bottom: 0.5rem; + + .logo { + height: 14rem; + margin-top: -7.5rem; + margin-bottom: -2rem; + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626655012/logo2_aaue57.png"); + position: center; + repeat: no-repeat; + size: contain; + } + } + + .classlevel, + .race, + .background { + grid-column: span 2; + } + + .initspeed { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 0.5rem; + } + + .classlevel { + display: grid; + grid-template-columns: 1fr 4rem; + grid-gap: 0.5rem; + } + + .alignment, + .initiative, + .speed, + .class, + .level, + .ac, + .playername, + .background, + .name, + .race { + display: grid; + grid-template-rows: 1fr 1.5rem; + + &__label { + font-size: 1.2rem; + font-weight: bold; + text-align: center; + } + + button[type="roll"], + input[type="number"], + input[type="text"] { + width: 100%; + margin: 0; + padding: 0; + + border: 0; + border-radius: 0; + + text-align: center; + + background: none; + box-shadow: none; + text-shadow: none; + } + + input[type="number"], + input[type="text"] { + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + font-size: 1.45rem; + text-align: center; + } + + &__value, + button[type="roll"] { + padding: 0; + margin: 0; + + line-height: 1.4; + } + } + + .initiative__value { + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 10% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + } + + color: #c00; + + font-size: 1.45rem; + text-align: center; + } + + .name { + position: relative; + margin-top: 0rem; + z-index: 10; + grid-template-rows: 3rem 1.5rem; + padding-top: 0.5rem; + + &:before { + @extend %MagicLabel; + position: absolute; + display: block; + content: ""; + top: 0; + bottom: 0; + right: -2rem; + left: -2rem; + z-index: -1; + height: 6rem; + margin-top: 0; + + background-image: url("https://s3.amazonaws.com/files.d20.io/images/229580853/RzAvglXLNQ9vfDdM0qm-nA/med.png?1624168102"); + } + + input[type="text"] { + width: 80%; + margin: auto; + height: auto; + + font-size: 1.5rem; + font-weight: bold; + + border-image: none; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_InsProf.scss b/Brancalonia Official/src/scss/pc/_InsProf.scss new file mode 100644 index 0000000000..011bea8fb0 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_InsProf.scss @@ -0,0 +1,77 @@ +.inspprof { + @extend %TextBox; + display: grid; + grid-template-columns: 7rem 1fr; + align-items: center; + margin: 1rem 0; + + &:after { + width: 100%; + height: 100%; + } + + &__value { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + margin-top: -1rem; + margin-bottom: -1rem; + margin-left: 1rem; + height: 4rem; + + background: { + image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + size: 100% 100%; + } + + font-family: "Dancing Script", serif; + font-size: 4rem; + font-weight: bold; + text-align: center; + + > * { + grid-area: checkbox; + height: 100%; + width: 100%; + + font-family: "Dancing Script", serif; + font-size: 3rem; + } + + input[type="checkbox"] { + opacity: 0; + height: 100%; + + &:checked ~ span { + align-self: center; + justify-self: center; + height: 130%; + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626670086/inspiration-3_qfwtry.png"); + position: center center; + size: contain; + repeat: no-repeat; + } + } + } + } + + &__label { + font-size: 0.9rem; + text-align: center; + } + + &__button[type="roll"] { + width: 100%; + + border: 0; + + background: transparent; + + font-size: 1.65rem; + + &:hover { + color: #c00; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Moves.scss b/Brancalonia Official/src/scss/pc/_Moves.scss new file mode 100644 index 0000000000..eec1923522 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Moves.scss @@ -0,0 +1,158 @@ +.moves { + @extend %TextBox; + margin-top: 1rem; + padding: 0; + + &__label { + @extend %BoxLabel; + margin-bottom: 1rem; + } +} + +.move-label { + @extend %BoxLabel; + display: grid; + grid-template-columns: 1fr 5rem 5rem; + align-items: center; + margin: 1rem 0.5rem; + height: auto; + + font-size: 1.25rem; + font-weight: bold; + + &__numeral { + display: grid; + grid-template-columns: 1fr min-content min-content; + + button[type="action"] { + border: none; + background: none; + } + } + + &__label { + font-size: 2rem; + text-transform: uppercase; + } + + &__total span { + font-family: "Dancing Script", serif; + } + + &__title { + font-family: "Quintessential", "Baskerville", serif; + font-size: 6pt; + text-transform: uppercase; + + color: #666; + } + + input[type="number"] { + @extend %StandardInput; + width: 100%; + height: auto; + border: 0; + + background-color: transparent; + + font-weight: bold; + text-align: center; + + -moz-appearance: textfield; + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + } + } +} + +.move { + $this: ".move"; + + display: grid; + grid-template-columns: 1fr 1.5rem 1.5rem; + grid-gap: 0.5rem; + + margin: 0 0.25rem; + padding: 0 0.25rem; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + &__title, + &__subheader { + display: block; + + text-align: left; + } + + &__subheader { + color: #666; + + > * { + font-size: 8pt; + } + } + + &__options { + grid-column: 1 / -1; + } + + &__chat-button[type="roll"] { + padding: 0; + margin: 0; + + border: 0; + box-shadow: none; + + background: transparent; + + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + + &__options-container { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + input[class*="flag"][type="checkbox"] { + opacity: 0; + width: 100%; + height: 100%; + + &:checked ~ span { + color: red; + } + } + + span { + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + } + + // Display Controls + + input#{$this}__flag--options { + &[value="on"] ~ #{$this}__options { + display: block !important; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Navigation.scss b/Brancalonia Official/src/scss/pc/_Navigation.scss new file mode 100644 index 0000000000..85c715722b --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Navigation.scss @@ -0,0 +1,79 @@ +.navigation { + display: grid; + grid-template-columns: 1fr 1fr; + margin-top: 1rem; + + &__pages { + justify-self: end; + display: grid; + grid-template-columns: auto auto auto 2rem; + justify-content: end; + } + + &__toggles { + grid-column: 1; + justify-self: left start; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + } + + &__toggle { + display: grid; + grid-template-columns: 1fr; + grid-template-areas: "checkbox"; + margin-right: 1rem; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + &--settings { + font-family: Pictos; + } + + &--whisperleft { + border-left: 1px solid black; + padding-left: 1rem; + } + + input[type="radio"] { + opacity: 0; + + &:checked + span { + border: 1px solid #c00; + background-color: #c00; + color: white; + } + } + + span.pictos, + span[data-i18n] { + display: block; + padding: 0.1rem 0.2rem; + + border: 1px solid black; + border-radius: 0.3rem; + + font-size: 1.2rem; + font-weight: bold; + text-align: center; + } + } +} + +.deathsaves { + grid-column: 1 / -1; +} + +.navigation__toggle-group { + display: none; +} + +.toggleflag[value="@{advantagetoggle}"] { + + .navigation__toggle-group { + display: flex; + align-items: space-between; + } +} diff --git a/Brancalonia Official/src/scss/pc/_OtherProficiencies.scss b/Brancalonia Official/src/scss/pc/_OtherProficiencies.scss new file mode 100644 index 0000000000..c1e8679f45 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_OtherProficiencies.scss @@ -0,0 +1,79 @@ +.otherprofs { + width: auto; + margin-top: 0.5rem; + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-source: url("#{$externalImgsPath}5eBorder.svg#{$imgParameters}"); + image-slice: 4% 8% 12% 8%; + image-width: 1.5rem 2rem 3rem 2rem; + image-repeat: stretch; + } + + &__header { + display: grid; + grid-template-columns: 0.8fr 1fr 1.25rem; + grid-gap: 0.25rem; + margin: 0.5rem; + + text-align: center; + + color: #666; + } + + &__label { + font-size: 1rem; + font-weight: bold; + text-align: center; + } + + textarea { + width: auto; + } +} + +.otherprof { + width: 100%; + margin: 0.5rem 0; + + &__display { + display: grid; + grid-template-columns: 1fr 1.5rem; + grid-gap: 0.25rem; + align-items: center; + margin: 0.5rem; + + button[type="roll"] { + @extend %RollButton; + + display: grid; + grid-template-columns: 0.8fr 1fr; + grid-gap: 0.25rem; + align-items: center; + } + } + + &__name, + &__type { + box-sizing: border-box; + margin: 0 0.25rem; + padding: 0.5rem; + width: 100%; + height: 2rem; + + border-radius: 5px 0 5px 0; + border: 0; + + font-size: 1rem; + font-weight: bold; + text-align: left; + + background-color: #efefef; + } + + &__value[type="text"] { + text-align: center; + } +} diff --git a/Brancalonia Official/src/scss/pc/_SavingThrows.scss b/Brancalonia Official/src/scss/pc/_SavingThrows.scss new file mode 100644 index 0000000000..e9bdebe9a6 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_SavingThrows.scss @@ -0,0 +1,68 @@ +.savingthrows { + @extend %TextBox; + display: grid; + grid-gap: 0.25rem; + padding: 1rem; + margin-bottom: 1rem; +} + +.savingthrow { + display: grid; + grid-template-columns: 1rem 2rem 1fr; + grid-gap: 0.5rem; + width: auto; + + &__button[type="roll"] { + @extend %RollButton; + + font-size: 1.2rem; + font-weight: normal; + text-align: left; + } + + &__value { + text-align: center; + } + + &__checkbox { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + input[type="checkbox"] { + opacity: 0; + + &:checked ~ span { + &:before { + background-color: #c00; + } + } + } + + span { + &:before { + display: block; + content: " "; + width: 1rem; + height: 1rem; + + border: 1px solid black; + border-radius: 50%; + + font-family: Pictos; + font-size: 1rem; + line-height: 1rem; + } + } + } +} + +.toggle:not([value="1"]) + [class*="toggleVisibilityBy"] { + display: none; +} diff --git a/Brancalonia Official/src/scss/pc/_Shields.scss b/Brancalonia Official/src/scss/pc/_Shields.scss new file mode 100644 index 0000000000..8e58ed454c --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Shields.scss @@ -0,0 +1,44 @@ +.shields { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 4rem; + padding: 30% 10% 20% 10%; + height: 18rem; + + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626658997/shields_m7snh3.png"); + position: center; + repeat: no-repeat; + size: contain; + } + + .speed, + .ac { + input[type="number"] { + width: 100%; + padding: 0; + margin: 0; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + background: transparent; + + font-size: 3rem; + text-align: center; + } + + &__label { + text-align: center; + font-size: 1.65rem; + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_Skills.scss b/Brancalonia Official/src/scss/pc/_Skills.scss new file mode 100644 index 0000000000..351e0648e2 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Skills.scss @@ -0,0 +1,63 @@ +.skills { + @extend %TextBox; + display: grid; + grid-gap: 0.25rem; + padding: 1rem; +} + +.skill { + display: grid; + grid-template-columns: 1rem 2rem 1fr; + grid-gap: 0.5rem; + width: auto; + + &__button[type="roll"] { + @extend %RollButton; + + font-size: 1.2rem; + font-weight: normal; + text-align: left; + } + + &__value { + text-align: center; + } + + &__checkbox { + display: grid; + grid-template-areas: "checkbox"; + align-items: center; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + input[type="checkbox"] { + opacity: 0; + + &:checked ~ span { + &:before { + background-color: #c00; + } + } + } + + span { + &:before { + display: block; + content: " "; + width: 1rem; + height: 1rem; + + border: 1px solid black; + border-radius: 50%; + + font-family: Pictos; + font-size: 1rem; + line-height: 1rem; + } + } + } +} diff --git a/Brancalonia Official/src/scss/pc/_SpellStats.scss b/Brancalonia Official/src/scss/pc/_SpellStats.scss new file mode 100644 index 0000000000..2f2ca8c653 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_SpellStats.scss @@ -0,0 +1,54 @@ +.spellstats { + @extend %TextBox; + display: flex; + justify-content: space-around; + align-items: center; + padding: 1rem; + height: 100%; + + &__ability select { + -webkit-appearance: none; + -moz-appearance: none; + + max-width: 10.5rem; + height: 4rem; + margin: 0; + padding: 0; + + border: none; + + background: { + image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + size: 100% 100%; + } + + text-align: center; + font-size: 1.6rem; + + } + + &__display { + display: block; + margin: auto; + max-width: 7.5rem; + height: 4rem; + + background: { + image: url("https://s3.amazonaws.com/files.d20.io/images/229570955/6sQSflLpvCODi8jUmDLwkg/med.png?1624162114"); + size: 100% 100%; + } + + font-family: "Dancing Script", serif; + font-size: 2.45rem; + line-height: 4rem; + text-align: center; + + color: #c00; + } + + &__label { + display: block; + + font-weight: bold; + } +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/pc/_Spells.scss b/Brancalonia Official/src/scss/pc/_Spells.scss new file mode 100644 index 0000000000..b21a31ac87 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Spells.scss @@ -0,0 +1,274 @@ +.spells { + margin-top: 1rem; + + &__cantrips, + &__section { + margin: 0; + } + + &__stats { + } + + &__section { + display: grid; + grid-gap: 1rem; + } + + &__container { + @extend %TextBox; + min-height: 100%; + } +} + +.spell-label { + @extend %BoxLabel; + display: grid; + grid-template-columns: 1fr 5rem 5rem; + align-items: center; + margin: 1rem .5rem; + height: auto; + + border-image: { + width: 0.5rem 3rem 2rem 2.5em; + outset: 0.5rem 2.50rem 2rem 3rem; + } + + font-size: 1.25rem; + font-weight: bold; + + &__numeral { + display: grid; + grid-template-columns: 1fr min-content min-content; + + button[type="action"] { + border: none; + background: none; + } + } + + &--0 { + grid-template-columns: 1fr; + } + + &__label { + font-size: 2rem; + text-transform: uppercase; + } + + &__total span { + font-family: "Dancing Script", serif; + } + + &__title { + font-family: "Quintessential", "Baskerville", serif; + font-size: 6pt; + text-transform: uppercase; + + color: #666; + } + + input[type="number"] { + @extend %StandardInput; + width: 100%; + height: auto; + border: 0; + + background-color: transparent; + + font-weight: bold; + text-align: center; + + -moz-appearance: textfield; + &::-webkit-outer-spin-button, + &::-webkit-inner-spin-button { + -webkit-appearance: none; + } + } +} + +.spell { + $this: ".spell"; + margin: 0 .25rem; + padding: 0 .25rem; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + + &__display { + display: grid; + grid-template-columns: 1.5rem 1fr 3.5rem 1.5rem 1.5rem; // 1.5rem; + grid-gap: .5rem; + align-items: center; + justify-content: center; + } + + &__card-button[type="roll"] { + grid-column: span 2; + } + + &__prepped { + display: grid; + align-items: center; + justify-content: center; + grid-template-areas: "checkbox"; + + text-align: center; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + &-mark { + $mark-size: 1rem; + display: block; + width: $mark-size; + height: $mark-size; + + border: 1px solid black; + border-radius: $mark-size; + } + + input#{$this}__prepped-input[type="checkbox"] { + opacity: 0; + } + + + .spell__card-button[type="roll"] { + grid-column: 2; + } + + } + + &__card-button[type="roll"] { + padding: 0; + margin: 0; + overflow: hidden; + + border: 0; + box-shadow: none; + + background: transparent; + + text-align: left; + text-overflow: ellipsis; + } + + &__indicators { + } + + &__components, + &__casting-details { + display: flex; + justify-content: space-between; + } + + &__ritual, + &__concentration { + display: block; + width: 1.25rem; + height: 1.25rem; + + background-color: black; + color: white; + + font-size: 6pt; + font-family: "Verdana", "Tahoma", sans-serif; + text-align: center; + } + + &__component { + font-size: 6pt; + font-family: "Verdana", "Tahoma", sans-serif; + text-align: center; + + &--v, + &--s, + &--m { + @extend #{$this}__component; + } + } + + &__chat-button[type="roll"] { + padding: 0; + margin: 0; + + border: 0; + box-shadow: none; + + background: transparent; + + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + + &__details-container, + &__options-container { + display: grid; + grid-template-areas: "checkbox"; + + > * { + grid-area: checkbox; + width: 100%; + height: 100%; + } + + input[class*="flag"][type="checkbox"] { + opacity: 0; + + &:checked ~ span { + color: red; + } + } + + span { + font-family: Pictos; + font-size: 12pt; + text-align: center; + } + } + + &__details { + display: none; + } + + &__options--attack { + display: none; + } + + // Display Controls + + input.spell__flag--details { + &[value="on"] ~ .spell__details { + display: block !important; + } + } + + input.spell__flag--options { + &[value="on"] ~ .spell__options { + display: block !important; + } + } + + input.spell__flag--output { + &[value="ATTACK"] ~ .spell__options--attack { + display: block !important; + } + } +} + +.details { + &__row { + + } + +} \ No newline at end of file diff --git a/Brancalonia Official/src/scss/pc/_ToolsProficiencies.scss b/Brancalonia Official/src/scss/pc/_ToolsProficiencies.scss new file mode 100644 index 0000000000..ce49a02b29 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_ToolsProficiencies.scss @@ -0,0 +1,74 @@ +.toolprofs { + width: auto; + margin-top: 0.25rem; + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-source: url("#{$externalImgsPath}proficiency-block.svg#{$imgParameters}"); + image-slice: 6% 8% 6% 8%; + image-width: 1.5rem 2rem; + image-repeat: stretch; + } + + &__header { + display: grid; + grid-template-columns: 1fr 0.75fr 1fr 1.25rem; + grid-gap: 0.25rem; + margin: 0.5rem; + + text-align: center; + + color: #666; + } + + &__label { + font-size: 1rem; + font-weight: bold; + text-align: center; + } +} + +.toolprof { + width: auto; + + &__display { + display: grid; + grid-template-columns: 1fr 1.25rem; + align-items: center; + margin: 0.5rem; + + button[type="roll"] { + @extend %RollButton; + + display: grid; + grid-template-columns: 1fr 0.75fr 1fr; + grid-gap: 0.25rem; + align-items: center; + } + } + + &__name, + &__value, + &__attribute { + box-sizing: border-box; + margin: 0; + padding: 0.5rem; + width: 100%; + height: 2rem; + + border-radius: 5px 0 5px 0; + border: 0; + + font-size: 1rem; + font-weight: bold; + text-align: left; + + background-color: #efefef; + } + + &__value[type="text"] { + text-align: center; + } +} diff --git a/Brancalonia Official/src/scss/pc/_Vitals.scss b/Brancalonia Official/src/scss/pc/_Vitals.scss new file mode 100644 index 0000000000..26be3a3238 --- /dev/null +++ b/Brancalonia Official/src/scss/pc/_Vitals.scss @@ -0,0 +1,160 @@ +.vitals { + display: grid; + grid-template-columns: 1fr 1fr; + grid-template-rows: 1fr 0.8fr; + grid-gap: 1rem 0; + padding: 0 8%; + + input[type="number"] { + -moz-appearance: textfield; + &::-webkit-outer-spin-button, + ::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; + } + } + + > div { + span { + display: block; + text-align: center; + font-size: 10pt; + } + } + + &__hp { + grid-row: span 2; + min-height: 22.5rem; + padding: 0 25%; + + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626560576/bottlehp_xgdwjn.png"); + size: auto 100%; + position: top center; + repeat: no-repeat; + } + + > input[type="number"]:first-child { + margin-top: 10rem; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + } + + > input[type="number"] { + font-size: 15pt; + text-align: center; + } + } + + &__temphp { + padding: 0 27%; + padding-left: 20%; + + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626557916/Pitcher-TempHP_mieznd.png"); + size: auto 100%; + position: top center; + repeat: no-repeat; + } + + > input[type="number"]:first-child { + margin-top: 57.5%; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + } + + > input[type="number"] { + font-size: 14pt; + text-align: center; + } + } + + &__hitdice { + padding: 0 27.5%; + padding-top: 2.5rem; + padding-bottom: 1rem; + display: grid; + grid-template-columns: 1fr 1rem 1fr; + align-items: center; + + background: { + image: url("https://res.cloudinary.com/dmrhbjudf/image/upload/v1626557915/Cup-HD_t2gkum.png"); + size: auto 100%; + position: top center; + repeat: no-repeat; + } + + > input[type="number"]:first-child { + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + } + + > input[type="number"] { + font-size: 14pt; + text-align: center; + } + + > span[name*="max"] { + font-size: 16pt; + + border: { + width: 0 0 0.5rem 0; + style: solid; + color: transparent; + image-slice: 15% 5% 10% 5%; + image-width: 0rem 0rem 0.75rem 0rem; + image-outset: 0px 0px 0px 0px; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + image-repeat: repeat; + } + } + + > span.vitals__label { + grid-column: span 3; + } + } + + button[type="roll"] { + @extend %RollButton; + } + + input[type="number"], + input[type="text"] { + @extend %StandardInput; + } +} + +.trackers { + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 1rem; + margin-top: 1rem; + padding: 1rem; +} diff --git a/Brancalonia Official/src/scss/repcontrol.scss b/Brancalonia Official/src/scss/repcontrol.scss new file mode 100644 index 0000000000..6426b60b73 --- /dev/null +++ b/Brancalonia Official/src/scss/repcontrol.scss @@ -0,0 +1,83 @@ + +.repcontrol { + min-height: 27px; +} + +.repcontrol .btn { + /*visibility: hidden;*/ + border: medium none; + color: white !important; + background: none; + box-shadow: none; +} + +.repcontrol .btn:focus { + outline: 0; +} +.saving-throw-container .repcontrol .repcontrol_edit, +.saving-throw-container .repcontrol .repcontrol_add { + padding-left: 4px; + padding-right: 4px; +} + +.repcontrol .repcontrol_edit:after { + content: '('; + visibility: visible; + font-family: pictos; + background-color: #fff; + border: 1px solid black; + border-radius: 2px; + font-size: 12px; + height: 12px; + width: 12px; + padding: 2px 4px 2px 4px; + color: black; +} + +.editmode ~ .repcontrol .repcontrol_edit:after { + content: ')'; +} + +.repcontrol .repcontrol_add:before { + content: '&'; + visibility: visible; + font-family: pictos; + background-color: #fff; + border: 1px solid black; + border-radius: 2px; + font-size: 12px; + height: 12px; + width: 12px; + padding: 2px 4px 2px 4px; + color: black; +} + +.repcontrol .repcontrol_edit:hover:after, +.repcontrol .repcontrol_add:hover:before +{ + background-color: #EFEFEF; +} + +.resources .repcontrol { + margin-top: -10px; +} + +.itemcontrol { + z-index: 10; +} + +.itemcontrol .repcontrol_del { + font-size: 10px; + margin-top: 3px; + padding: 0px; + height: 18px; + width: 18px; +} + +.itemcontrol .repcontrol_move { + font-size: 10px; + margin-top: 3px; + padding: 0px; + height: 18px; + width: 18px; +} diff --git a/Brancalonia Official/src/scss/rolltemplate.scss b/Brancalonia Official/src/scss/rolltemplate.scss new file mode 100644 index 0000000000..b4bac40341 --- /dev/null +++ b/Brancalonia Official/src/scss/rolltemplate.scss @@ -0,0 +1,1103 @@ +// Variables + +$font-l: 2rem; + +$title-face: "Quintessential", serif; +$info-face: "Dancing Script", serif; +$dense-face: 'Times New Roman', Times, serif; + +// Placeholders + +%RollTemplate { +} + +%InlineRollResult { +} + +// Default Styling + +// Attack + +.sheet-rolltemplate-atk { + +} + +// Simple + +.sheet-rolltemplate-atkdmg, +.sheet-rolltemplate-dmg, +.sheet-rolltemplate-atk, +.sheet-rolltemplate-simple { + width: 80%; + margin: auto; + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-slice: 11% 5% 10% 5% fill; + image-width: 0.75rem 1rem 0.75rem 1rem; + image-outset: 0px 0px 0px 0px; + image-repeat: round round; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + } + + font-family: $info-face; + + * { + box-sizing: border-box; + } + + .sheet-result { + display: flex; + align-content: center; + justify-content: space-around; + + width: 80%; + margin: auto; + padding: .5rem 1rem; + } + + .sheet-adv, + .sheet-solo { + display: grid; + align-items: center; + justify-content: center; + + height: auto; + + line-height: 1.125; + + > * { + display: block; + + text-align: center; + } + } + + .inlinerollresult { + padding: 0; + + border: 0; + + background-color: transparent; + + font-size: $font-l; + + &.fullcrit { + color: #3fb315; + border: 0; + } + + &.fullfail { + color: #b31515; + border: 0; + } + + &.importantroll { + color: #4a57ed; + border: 0; + } + } + + .sheet-advspacer { + align-self: stretch; + + min-width: .1rem; + max-width: .1rem; + min-height: 3.5rem; + height: 100%; + + background-color: black; + } + + .sheet-grey { + color: #ccc; + } + + .sheet-label { + margin: 0.5rem 0; + + color: black; + + font-family: $title-face; + font-weight: bold; + text-align: center; + + a { + background: transparent; + + border: 0px solid; + + text-decoration: none; + + color: #c00; + } + + span span { + font-family: $info-face; + } + } + + .sheet-sublabel { + display: flex; + justify-content: space-around; + + margin: 0 1rem; + + color: #000; + background-color: #eee; + } + + .sheet-charname { + font-family: $dense-face; + font-size: 1rem; + text-align: center; + text-transform: uppercase; + } + + .sheet-desc { + margin: .25rem 1rem; + padding: .5rem; + + border-top: 1px solid black; + + font-family: $dense-face; + font-size: 1.2rem; + line-height: 1.5; + } + + .sheet-savedc { + font-family: $dense-face; + font-size: 1.2rem; + text-align: center; + text-transform: uppercase; + + .inlinerollresult { + font-family: $dense-face; + font-size: 1.2rem; + font-weight: normal; + } + } + + .sheet-damagetype { + font-size: 1.5rem; + font-weight: bold; + } + + .sheet-spelldesc-link { + display: flex; + align-items: center; + justify-content: center; + + margin: .5rem 0; + + a { + background: transparent; + + border: 1px solid black; + + text-decoration: none; + + color: #c00; + } + } + + .sheet-atk.sheet-save { + margin: .5rem 1rem; + + border-bottom: 1px solid black; + + .sheet-label { + margin: 0; + } + } + + .sheet-hldmg { + display: block; + margin: 1rem; + + border-bottom: 1px solid black; + + text-align: center; + } +} + +.sheet-rolltemplate-traits, +.sheet-rolltemplate-spell, +.sheet-rolltemplate-spelloutput { + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-slice: 11% 5% 10% 5% fill; + image-width: 0.75rem 1rem 0.75rem 1rem; + image-outset: 0px 0px 0px 0px; + image-repeat: round round; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + } + + font-family: $dense-face; + + .sheet-header, + .sheet-title { + margin: .5rem 0; + + font-weight: bold; + font-family: $title-face; + font-size: 2rem; + text-align: center; + text-transform: uppercase; + + &.sheet-desconly { + margin: 0; + + color: #c00; + + font-size: 1.2rem + } + } + + .sheet-subheader, + .sheet-level { + display: block; + + font-weight: bold; + text-align: center; + text-transform: capitalize; + } + + .sheet-row { + margin: .5rem .75rem; + } + + .sheet-bold { + font-weight: bold; + text-transform: uppercase; + } + + .sheet-spellsavedc { + margin-top: 1rem; + + font-weight: bold; + font-size: 1.5rem; + text-align: center; + } +} + +.sheet-rolltemplate-npc, +.sheet-rolltemplate-npcfullatk, +.sheet-rolltemplate-npcdmg, +.sheet-rolltemplate-npcaction, +.sheet-rolltemplate-npcatk { + position: relative; + width: 80%; + margin: auto; + padding: 1rem 1rem; + + &:before { + display: block; + content: " "; + box-sizing: border-box; + + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + width: 100%; + height: 100%; + z-index: 1; + + border: { + width: 0.5rem; + style: solid; + color: transparent; + image-slice: 11% 5% 10% 5% fill; + image-width: 0.75rem 1rem 0.75rem 1rem; + image-outset: 0px 0px 0px 0px; + image-repeat: round round; + image-source: url("https://s3.amazonaws.com/files.d20.io/images/229248387/s-7U3vgLH9-s9S_jTdpHBw/max.png?1624041526"); + } + + filter: grayscale(100%) brightness(30%) sepia(100%) hue-rotate(-50deg) saturate(600%) contrast(0.8); + } + + > * { + position: relative; + z-index: 10; + + color: white; + + font-family: $dense-face; + } + + a { + padding: 0; + border: 0; + font-weight: bold; + background: transparent; + } + + .inlinerollresult { + padding: 0 .33rem; + + background: none; + border: none; + + font-family: $dense-face; + font-size: 1.5rem; + font-weight: normal; + line-height: 1; + + &.fullcrit { + border: 1px solid black; + background-color: green; + color: white; + font-weight: bold; + } + + &.fullfail { + border: 1px solid black; + background-color: red; + color: white; + font-weight: bold; + } + + &.importantroll { + border: 1px solid black; + background-color: blue; + color: white; + font-weight: bold; + } + } + + .sheet-row, + .sheet-header { + color: white; + + a { + padding: 0; + border: 0; + font-weight: bold; + background: transparent; + color: white; + } + } + + .sheet-row { + margin: 0.5rem 0; + } + + .sheet-header { + padding-bottom: .25rem; + margin-bottom: .5rem; + + border-bottom: 2px solid white; + + font-family: $title-face; + font-weight: bold; + } + + .sheet-subheader { + text-align: center; + text-transform: uppercase; + } + + .sheet-italics { + margin-right: .33rem; + font-weight: bold; + } +} + + + +// .sheet-rolltemplate-dmg, +// .sheet-rolltemplate-atk, +// .sheet-rolltemplate-simple, +// .sheet-rolltemplate-simple3D, +// .sheet-rolltemplate-skill, +// .sheet-rolltemplate-atkdmg { +// width: 100%; + +// .sheet-container { +// background-color: white; +// border: 1px solid black; +// color: black; +// width: 100%; +// } + +// .sheet-adv { +// display: inline-block; +// margin-top: 1rem; +// text-align: center; +// vertical-align: top; +// width: 45%; +// } + +// .sheet-adv:first-child { +// margin-left: 0.2em; +// } + +// .sheet-adv:nth-child(3) { +// margin-right: 8px; +// margin-left: -3px; +// } + +// .sheet-adv span, +// .sheet-solo span { +// background-color: transparent; +// border: 0px; +// font-size: 1.2em; +// padding: 0px; +// } + +// .sheet-advspacer { +// border: 1px solid black; +// display: inline-block; +// height: 35px; +// width: 0px; +// } + +// .sheet-solo { +// height: auto; +// padding-bottom: 0.5em; +// padding-top: 1em; +// text-align: center; +// width: 100%; +// } + +// span { +// font-size: 12px; +// font-weight: bold; +// line-height: 12px; +// text-align: center; +// } + +// span.sheet-plus { +// display: inline; +// font-size: 20px; +// font-weight: bold; +// } + +// .sheet-label span span { +// padding: 0px; +// border: 0px; +// background-color: transparent; +// font-size: 12px; +// } + +// .sheet-grey, +// .sheet-grey .inlinerollresult.fullcrit, +// .sheet-grey .inlinerollresult.fullfail, +// .sheet-grey .inlinerollresult.importantroll, +// .sheet-label span span { +// color: #a0a0a0; +// border: 0px; +// font-weight: normal; +// } + +// .sheet-label { +// margin-top: -3px; +// padding: 0.25em; +// text-align: center; +// } + +// .inlinerollresult.fullcrit { +// color: #3fb315; +// border: 0px; +// } + +// .inlinerollresult.fullfail { +// color: #b31515; +// border: 0px; +// } + +// .inlinerollresult.importantroll { +// color: #4a57ed; +// border: 0px; +// } + +// .sheet-save { +// .sheet-savedc { +// padding-bottom: 5px; +// padding-top: 15px; +// text-align: center; +// } + +// span { +// font-size: 15px; +// font-weight: bold; +// } + +// .sheet-label span { +// font-weight: bold; +// } + +// .inlinerollresult { +// background-color: transparent; +// border: 0px; +// display: inline-block; +// font-weight: bold; +// } + +// .inlinerollresult { +// padding: 0px; +// } +// } + +// .inlinerollresult { +// font-size: 20px; +// padding-bottom: 6px; +// padding-top: 10px; +// } + +// .sheet-desc .sheet-label span { +// font-weight: bold; +// } + +// span.sheet-bold { +// font-weight: bold; +// display: inline-block; +// } + +// .sheet-sublabel { +// text-align: center; +// font-style: italic; +// margin-top: -2px; +// min-height: 17px; +// } + +// .sheet-desc { +// background-color: white; +// border: 1px solid black; +// color: black; +// padding-bottom: 5px; +// padding-top: 5px; +// text-align: center; +// width: 81%; +// } + +// .sheet-desc { +// width: 100%; +// } + +// .sheet-desc span { +// font-weight: normal; +// line-height: 12px; +// display: block; +// } + +// .sheet-info span { +// text-align: left; +// padding: 0px 5px 0px 5px; +// } + +// .sheet-info .inlinerollresult { +// font-size: inherit; +// padding: 0px; +// } + +// .sheet-desc .sheet-sublabel { +// color: #a0a0a0; +// display: block; +// font-size: 10px; +// font-weight: normal; +// margin-top: -5px; +// } + +// .sheet-sublabel span { +// font-weight: normal; +// color: black; +// } + +// .sheet-spacer { +// height: 10px; +// } + +// a[href^="~"] { +// background-color: transparent; +// padding: 0px; +// color: black; +// border: 0px; +// } + +// a:hover { +// color: #ec2127; +// } + +// a[href^="~"]:visited { +// pointer-events: none; +// } + +// .sheet-header { +// color: rgb(126, 45, 64); +// font-size: 18px; +// text-align: left; +// font-family: "Times New Roman", Times, serif; +// font-variant: small-caps; +// } + +// .sheet-italics { +// font-style: italic; +// } +// } + +// .sheet-rolltemplate-atkdmg .sheet-damagetemplate .sheet-result, +// .sheet-rolltemplate-dmg .sheet-damagetemplate .sheet-result { +// min-height: 4.5rem; +// } + +// .sheet-rolltemplate-skill { + +// .sheet-result { +// display: flex; +// margin: 0 10px 0 7px; +// overflow: hidden; +// } + +// .sheet-roll { +// display: inline-block; +// margin-top: 1em; +// margin-bottom: 1em; +// text-align: center; +// vertical-align: top; +// width: 45%; +// flex-basis: 50%; +// flex-grow: 1; +// flex-shrink: 1; +// min-width: 33.33333%; +// position: relative; +// } + +// .sheet-reliableroll span .inlinerollresult { +// color: #4a57ed; +// } + +// .sheet-roll + .sheet-roll:before { +// content: ""; +// display: block; +// position: absolute; +// width: 2px; +// height: calc(100% + 1em); +// min-height: 35px; +// background: black; +// position: absolute; +// top: -1em; +// left: -1px; +// } +// } + +// .sheet-rolltemplate-spell .sheet-container, +// .sheet-rolltemplate-spelloutput .sheet-container { +// background-repeat: repeat; +// background-size: auto; +// border: 1px solid black; +// color: black; +// font-family: "Times New Roman", Times, serif; +// margin-left: -3em; +// padding: 0.5em; +// width: 19em; +// } + +// .withoutavatars .sheet-rolltemplate-spell .sheet-container, +// .withoutavatars .sheet-rolltemplate-spelloutput .sheet-container { +// margin-left: -15px; +// } + +// .sheet-rolltemplate-spell, +// .sheet-rolltemplate-spelloutput { + +// .sheet-row { +// display: block; +// } + +// .sheet-title { +// color: rgb(126, 45, 64); +// font-size: 1.2em; +// } + +// .sheet-italics { +// font-style: italic; +// } + +// .sheet-bold { +// font-weight: bold; +// } + +// .sheet-spacer { +// height: 5px; +// } +// } + +// .sheet-rolltemplate-traits .sheet-header { +// font-family: "Times New Roman", Times, serif; +// font-size: 16px; +// text-transform: capitalize; +// font-variant: small-caps; +// font-weight: bold; +// color: rgb(126, 45, 64); +// } + +// .sheet-rolltemplate-npc .sheet-italics, +// .sheet-rolltemplate-npcaction .sheet-italics, +// .sheet-rolltemplate-npcfullatk .sheet-italics, +// .sheet-rolltemplate-npcatk .sheet-italics, +// .sheet-rolltemplate-npcdmg .sheet-italics, +// .sheet-rolltemplate-dmgaction .sheet-italics, +// .sheet-rolltemplate-traits + +// .sheet-rolltemplate-npc .sheet-subheader, +// .sheet-rolltemplate-npcaction .sheet-subheader, +// .sheet-rolltemplate-npcfullatk .sheet-subheader, +// .sheet-rolltemplate-npcatk .sheet-subheader, +// .sheet-rolltemplate-npcdmg .sheet-subheader, +// .sheet-rolltemplate-dmgaction .sheet-subheader { +// line-height: 13px; +// margin-top: -3px; +// } + +// .sheet-rolltemplate-traits .sheet-subheader { +// font-style: italic; +// color: #a0a0a0; +// margin-top: -5px; +// } + +// .sheet-rolltemplate-npc .sheet-subheader span, +// .sheet-rolltemplate-npcaction .sheet-subheader span, +// .sheet-rolltemplate-npcfullatk .sheet-subheader span, +// .sheet-rolltemplate-npcatk .sheet-subheader span, +// .sheet-rolltemplate-npcdmg .sheet-subheader span, +// .sheet-rolltemplate-dmgaction .sheet-subheader span { +// font-size: 11px; +// line-height: 11px; +// } + +// .sheet-rolltemplate-traits .sheet-subheader span { +// font-weight: normal; +// font-size: 10px; +// text-align: left; +// line-height: 16px; +// } + +// .sheet-rolltemplate-traits .sheet-desc { +// font-weight: normal; +// font-size: 12px; +// text-align: left; +// line-height: 16px; +// } + +// .sheet-rolltemplate-npc .sheet-arrow-rightold, +// .sheet-rolltemplate-npcaction .sheet-arrow-rightold, +// .sheet-rolltemplate-npcfullatk .sheet-arrow-rightold, +// .sheet-rolltemplate-npcatk .sheet-arrow-rightold, +// .sheet-rolltemplate-npcdmg .sheet-arrow-rightold, +// .sheet-rolltemplate-dmgaction .sheet-arrow-rightold { +// border-top: 3px solid transparent; +// border-bottom: 3px solid transparent; +// border-left: 195px solid rgb(126, 45, 64); +// } + +// .sheet-rolltemplate-npc .sheet-arrow-right, +// .sheet-rolltemplate-npcaction .sheet-arrow-right, +// .sheet-rolltemplate-npcfullatk .sheet-arrow-right, +// .sheet-rolltemplate-npcatk .sheet-arrow-right, +// .sheet-rolltemplate-npcdmg .sheet-arrow-right, +// .sheet-rolltemplate-dmgaction .sheet-arrow-right { +// border: 1px solid rgb(126, 45, 64); +// margin-bottom: 2px; +// margin-top: 2px; +// } + +// .sheet-rolltemplate-npc .inlinerollresult, +// .sheet-rolltemplate-npcaction .inlinerollresult, +// .sheet-rolltemplate-npcfullatk .inlinerollresult, +// .sheet-rolltemplate-npcatk .inlinerollresult, +// .sheet-rolltemplate-npcdmg .inlinerollresult, +// .sheet-rolltemplate-dmgaction .inlinerollresult, +// .sheet-rolltemplate-traits .inlinerollresult { +// background-color: #ffffff; +// border: none; +// } + +// .sheet-rolltemplate-npc .inlinerollresult.fullcrit, +// .sheet-rolltemplate-npcaction .inlinerollresult.fullcrit, +// .sheet-rolltemplate-npcfullatk .inlinerollresult.fullcrit, +// .sheet-rolltemplate-npcatk .inlinerollresult.fullcrit, +// .sheet-rolltemplate-npcdmg .inlinerollresult.fullcrit, +// .sheet-rolltemplate-dmgaction .inlinerollresult.fullcrit { +// color: #3fb315; +// border: none; +// } + +// .sheet-rolltemplate-npc .inlinerollresult.fullfail, +// .sheet-rolltemplate-npcaction .inlinerollresult.fullfail, +// .sheet-rolltemplate-npcfullatk .inlinerollresult.fullfail, +// .sheet-rolltemplate-npcatk .inlinerollresult.fullfail, +// .sheet-rolltemplate-npcdmg .inlinerollresult.fullfail, +// .sheet-rolltemplate-dmgaction .inlinerollresult.fullfail { +// color: #b31515; +// border: none; +// } + +// .sheet-rolltemplate-npc .inlinerollresult.importantroll, +// .sheet-rolltemplate-npcaction .inlinerollresult.importantroll, +// .sheet-rolltemplate-npcfullatk .inlinerollresult.importantroll, +// .sheet-rolltemplate-npcatk .inlinerollresult.importantroll, +// .sheet-rolltemplate-npcdmg .inlinerollresult.importantroll, +// .sheet-rolltemplate-dmgaction .inlinerollresult.importantroll { +// color: #4a57ed; +// border: none; +// } + +// .sheet-rolltemplate-npcatk a[href^="~"] { +// background-color: transparent; +// padding: 0px; +// color: black; +// border: 0px; +// } + +// .sheet-rolltemplate-npcatk .sheet-header a[href^="~"] { +// color: rgb(126, 45, 64); +// } + +// .sheet-rolltemplate-npcatk a[href^="~"]:hover { +// color: #ec2127; +// } + +// .sheet-rolltemplate-simple .sheet-charname, +// .sheet-rolltemplate-simple3D .sheet-charname, +// .sheet-rolltemplate-skill .sheet-charname, +// .sheet-rolltemplate-atk .sheet-charname, +// .sheet-rolltemplate-dmg .sheet-charname, +// .sheet-rolltemplate-atkdmg .sheet-charname { +// text-align: center; +// margin-top: -10px; +// } + +// .sheet-rolltemplate-simple .sheet-charname span, +// .sheet-rolltemplate-simple3D .sheet-charname span, +// .sheet-rolltemplate-skill .sheet-charname span, +// .sheet-rolltemplate-atk .sheet-charname span, +// .sheet-rolltemplate-dmg .sheet-charname span, +// .sheet-rolltemplate-atkdmg .sheet-charname span { +// font-size: 11px; +// font-weight: normal; +// color: #a0a0a0; +// } + +// .sheet-rolltemplate-dmg .sheet-label .sheet-rolltemplate-inline, +// .sheet-rolltemplate-dmg .sheet-savedc .sheet-rolltemplate-inline, +// .sheet-rolltemplate-atkdmg .sheet-savedc .sheet-rolltemplate-inline, +// .sheet-rolltemplate-atkdmg .sheet-label .sheet-rolltemplate-inline { +// display: inline-block; +// } + +// /* ROLL TEMPLATE */ +// .sheet-rolltemplate-simple, +// .sheet-rolltemplate-simple3D, +// .sheet-rolltemplate-skill, +// .sheet-rolltemplate-atk, +// .sheet-rolltemplate-atkdmg, +// .sheet-rolltemplate-dmg, +// .sheet-rolltemplate-desc { +// image-rendering: -webkit-optimize-contrast; +// } + +// .sheet-rolltemplate-simple div.sheet-container, +// .sheet-rolltemplate-simple3D div.sheet-container, +// .sheet-rolltemplate-skill div.sheet-container { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Simple.png") top left; +// } + +// .sheet-rolltemplate-atk div.sheet-container, +// .sheet-rolltemplate-atkdmg div.sheet-container.sheet-atk, +// .sheet-rolltemplate-dmg div.sheet-atk { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Attack.png") top left; +// background-color: inherit; +// } + +// .sheet-rolltemplate-dmg div.sheet-container, +// .sheet-rolltemplate-atkdmg div.sheet-container.sheet-damagetemplate { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Damage.png") top left; +// background-color: inherit; +// } + +// .sheet-rolltemplate-atk div.sheet-desc, +// .sheet-rolltemplate-atkdmg div.sheet-desc, +// .sheet-rolltemplate-dmg div.sheet-desc, +// .sheet-rolltemplate-desc div.sheet-desc { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Desc.png") top left; +// background-color: inherit; +// padding-bottom: 0.35em; +// padding-top: 0.35em; +// } + +// .sheet-rolltemplate-simple div.sheet-container, +// .sheet-rolltemplate-simple3D div.sheet-container, +// .sheet-rolltemplate-skill div.sheet-container, +// .sheet-rolltemplate-atk div.sheet-container, +// .sheet-rolltemplate-atkdmg div.sheet-container.sheet-atk, +// .sheet-rolltemplate-dmg div.sheet-atk, +// .sheet-rolltemplate-dmg div.sheet-container, +// .sheet-rolltemplate-atkdmg div.sheet-container.sheet-damagetemplate, +// .sheet-rolltemplate-atk div.sheet-desc, +// .sheet-rolltemplate-atkdmg div.sheet-desc, +// .sheet-rolltemplate-dmg div.sheet-desc, +// .sheet-rolltemplate-desc div.sheet-desc { +// background-repeat: no-repeat; +// background-size: 13.8em 100%; +// border: none; +// width: 100%; +// } + +// .sheet-rolltemplate-atk div.sheet-desc.sheet-info, +// .sheet-rolltemplate-atkdmg div.sheet-desc.sheet-info, +// .sheet-rolltemplate-dmg div.sheet-desc.sheet-info, +// .sheet-rolltemplate-desc div.sheet-desc.sheet-info { +// background: none; +// width: 100%; +// } + +// .sheet-rolltemplate-atk div.sheet-desc.sheet-info > span, +// .sheet-rolltemplate-atkdmg div.sheet-desc.sheet-info > span, +// .sheet-rolltemplate-dmg div.sheet-desc.sheet-info > span, +// .sheet-rolltemplate-desc div.sheet-desc.sheet-info > span { +// padding: 0px; +// } + +// .sheet-rolltemplate-atk div.sheet-desc.sheet-info .sheet-bottom, +// .sheet-rolltemplate-atkdmg div.sheet-desc.sheet-info .sheet-bottom, +// .sheet-rolltemplate-dmg div.sheet-desc.sheet-info .sheet-bottom, +// .sheet-rolltemplate-desc div.sheet-desc.sheet-info .sheet-bottom { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Info-Bottom.png") top +// left; +// height: 1.1em; +// background-size: 100% 100%; +// margin-bottom: -0.3em; +// } + +// .sheet-rolltemplate-atk div.sheet-desc.sheet-info .sheet-top, +// .sheet-rolltemplate-atkdmg div.sheet-desc.sheet-info .sheet-top, +// .sheet-rolltemplate-dmg div.sheet-desc.sheet-info .sheet-top, +// .sheet-rolltemplate-desc div.sheet-desc.sheet-info .sheet-top { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Info-Top.png") top left; +// height: 1.1em; +// background-size: 100% 100%; +// margin-top: -0.3em; +// } + +// .sheet-rolltemplate-atk div.sheet-desc.sheet-info .sheet-middle, +// .sheet-rolltemplate-atkdmg div.sheet-desc.sheet-info .sheet-middle, +// .sheet-rolltemplate-dmg div.sheet-desc.sheet-info .sheet-middle, +// .sheet-rolltemplate-desc div.sheet-desc.sheet-info .sheet-middle { +// background: url("#{$externalImgsPath}D&D-Rolltemplate-Info-Middle.png") top +// left; +// background-size: 100% 100%; +// } + +// .sheet-rolltemplate-npc div.sheet-arrow-right, +// .sheet-rolltemplate-npcaction div.sheet-arrow-right, +// .sheet-rolltemplate-npcfullatk div.sheet-arrow-right, +// .sheet-rolltemplate-npcatk div.sheet-arrow-right, +// .sheet-rolltemplate-npcdmg div.sheet-arrow-right, +// .sheet-rolltemplate-dmgaction div.sheet-arrow-right { +// border: none; +// border-top: 0.25em solid transparent; +// border-bottom: 0.25em solid transparent; +// border-left: 14em solid rgb(126, 45, 64); +// } + +// .sheet-rolltemplate-atk div.sheet-advspacer, +// .sheet-rolltemplate-dmg div.sheet-advspacer, +// .sheet-rolltemplate-atkdmg div.sheet-advspacer { +// margin-top: 1px; +// } + +// .sheet-rolltemplate-npc .sheet-translated, +// .sheet-rolltemplate-npcaction .sheet-translated, +// .sheet-rolltemplate-npcfullatk .sheet-translated, +// .sheet-rolltemplate-npcatk .sheet-translated, +// .sheet-rolltemplate-npcdmg .sheet-translated, +// .sheet-rolltemplate-dmgaction .sheet-translated, +// .sheet-rolltemplate-npc .sheet-translated a, +// .sheet-rolltemplate-npcaction .sheet-translated a, +// .sheet-rolltemplate-npcfullatk .sheet-translated a, +// .sheet-rolltemplate-npcatk .sheet-translated a, +// .sheet-rolltemplate-npcdmg .sheet-translated a, +// .sheet-rolltemplate-dmgaction .sheet-translated a { +// text-transform: lowercase; +// display: inline-block; +// } + +// .sheet-rolltemplate-npc .sheet-translated:first-letter, +// .sheet-rolltemplate-npcaction .sheet-translated:first-letter, +// .sheet-rolltemplate-npcfullatk .sheet-translated:first-letter, +// .sheet-rolltemplate-npcatk .sheet-translated:first-letter, +// .sheet-rolltemplate-npcdmg .sheet-translated:first-letter, +// .sheet-rolltemplate-dmgaction .sheet-translated:first-letter, +// .sheet-rolltemplate-npc .sheet-translated a:first-letter, +// .sheet-rolltemplate-npcaction .sheet-translated a:first-letter, +// .sheet-rolltemplate-npcfullatk .sheet-translated a:first-letter, +// .sheet-rolltemplate-npcatk .sheet-translated a:first-letter, +// .sheet-rolltemplate-npcdmg .sheet-translated a:first-letter, +// .sheet-rolltemplate-dmgaction .sheet-translated a:first-letter { +// text-transform: capitalize; +// } + +// .sheet-rolltemplate-spelloutput .sheet-container { +// border: 1px dashed black; +// background: #fffef2; +// .sheet-desconly { +// span { +// width: 100%; +// text-transform: uppercase; +// text-align: center; +// display: inline-block; +// background: #c43c35; +// padding: 5px; +// box-sizing: border-box; +// margin-bottom: 5px; +// color: white; +// font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; +// font-size: 10px; +// line-height: normal; +// font-weight: 600; +// } +// } +// } + +// .sheet-rolltemplate-spelloutput .sheet-level, +// .sheet-rolltemplate-spell .sheet-level { +// text-transform: capitalize; +// } + +// .sheet-rolltemplate-spelloutput, +// .sheet-rolltemplate-spell { +// .sheet-spellsavedc { +// text-align: center; +// text-align: center; +// padding-top: 5px; +// border-top: 1px dotted black; +// margin-top: 10px; +// } +// } + +// .sheet-rolltemplate-atk .sheet-spelldesc-link, +// .sheet-rolltemplate-dmg .sheet-spelldesc-link, +// .sheet-rolltemplate-atkdmg .sheet-spelldesc-link { +// text-align: center; +// padding-bottom: 7px; +// span { +// a { +// background-color: transparent; +// padding: 0; +// color: #a0a0a0; +// border: 0; +// &:hover { +// color: #ec2127; +// } +// } +// } +// } diff --git a/Brancalonia Official/src/scss/spell.scss b/Brancalonia Official/src/scss/spell.scss new file mode 100644 index 0000000000..8a521d6101 --- /dev/null +++ b/Brancalonia Official/src/scss/spell.scss @@ -0,0 +1,608 @@ + + .cantrips { + display: inline-block; + border: 1px solid black; + height: 25px; + border-radius: 5px; + width: 238px; + text-align: center; + margin-left: -20px; + } + + .cantrips span { + display: block; + font-size: 9px; + line-height: 12px; + width: 100%; + text-align: center; + font-weight: bold; + margin-top: 8px; + } + + .spell-labels { + color: #a0a0a0; + } + + .spell-labels span { + display: inline; + font-weight: normal; + font-size: 8px; + } + + .spell-level input { + width: 100%; + text-align: center; + font-size: 20px; + border: none; + background: none; + box-shadow: none; + -webkit-appearance: none; + -moz-appearance: textfield; + -webkit-border-radius: 0px; + border-radius: 0px; + color: black; + padding: 0px; + margin: 2px; + height: 100%; + } + + .spell-level .total, + .spell-level .expended { + display: inline-block; + border: 1px solid black; + height: 25px; + border-radius: 5px; + text-align: center; + margin-left: -20px; + background-color: white; + } + + .spell-level .total { + width: 114px; + vertical-align: bottom; + } + + .spell-level .total span { + font-size: 20px; + font-weight: normal; + position: relative; + top: 3px; + } + + .spell-level .expended { + width: 139px; + border-top-left-radius: 0px; + border-bottom-left-radius: 0px; + } + + .spell { + margin-bottom: 5px; + width: 245px; + } + + .spell .wrapper button.spell_link::before { + content: "|"; + } + + .spell .wrapper button.spell_link { + position: absolute; + top: 0; + right: 5px; + border: none; + background: none; + color: #a0a0a0; + margin: 0; + padding: 0; + } + + .spell .wrapper button.spell_link:hover { + color: #000000; + } + + .spell .wrapper { + position: relative; + } + + .charsheet .spells .details span { + font-size: 12px; + } + + .charsheet .spells .details span[name="attr_spelldescription"] { + white-space: pre-line; + } + + .repcontainer .spell .details-flag:not(:checked) ~ .wrapper { + display: none; + } + + .spell .wrapper .options-flag, + .spell .wrapper .options-flag + span { + display: inherit; + } + + .repcontainer + .spell + .details-flag:not(:checked) + ~ .wrapper + input.spell_desc + + .options-flag, + .repcontainer + .spell + .details-flag:not(:checked) + ~ .wrapper + input.spell_desc + + .options-flag + + span { + display: none; + } + + .repcontainer .spell .wrapper .options .options-flag + span { + right: 23.5px; + width: 18px; + height: 18px; + } + + .repcontainer + .spell + .wrapper + input.spell_desc[value] + + .options-flag:not(:checked) + ~ .options { + display: none; + } + + .repcontainer .spell .wrapper .options-flag:not(:checked) ~ .options { + display: none; + } + + .spell .wrapper .options-flag:checked ~ .details { + display: none; + } + + .spell .wrapper .options-flag:checked ~ .options { + display: inherit; + } + + .spell .wrapper .options-flag { + z-index: 10; + } + + .spell .wrapper .options-flag, + .spell .wrapper .options-flag + span { + right: 23.5px; + } + + div.spell { + div.details { + overflow: hidden; + margin: 15px 10px; + } + } + + .spell .details span:not(.innate) { + display: inline; + font-weight: normal; + } + + .spell .details span.bold { + font-weight: bold; + } + + .spell .details .italics { + font-style: italic; + } + + .spell .details input[type="checkbox"] { + display: none; + } + + .spell .details input[type="checkbox"] + span { + display: none; + } + + .spell .details input[type="checkbox"]:checked + span { + display: inline; + } + + .spell + .details + input[type="checkbox"]:checked + ~ input[type="checkbox"]:checked + + span::before { + content: ", "; + } + + .spell .details span[name="attr_spellname"] { + font-family: "Times New Roman", Times, serif; + font-size: 16px; + text-transform: capitalize; + font-variant: small-caps; + color: rgb(126, 45, 64); + } + + .spell .details input[name="attr_spellcomp_materials"][value=""] + span, + .spell .details input[name="attr_spellathigherlevels"][value=""] + div { + display: none; + } + + .spell .options { + border-top: none; + border-bottom: 2px dashed gold; + padding-bottom: 40px; + } + + .spell .options-done { + display: inline-block; + margin-top: 5px; + padding: 3px 10px; + width: auto; + border-radius: 1em; + color: #ffffff; + background-color: #000000; + font-size: 1em; + float: right; + cursor: pointer; + } + + .spell .options-done:hover { + opacity: 0.6; + } + + .spell .options-done::before { + content: "3"; + font-family: pictos; + } + + .spell .options-done input[type="checkbox"] { + display: none; + } + + .spell .options-done span.label { + margin-top: 0; + } + + .spell .display { + position: relative; + } + + .spell .display button[type="roll"] { + background-color: transparent; + color: black; + border-top: none; + border-left: none; + border-right: none; + border-bottom: 1px solid #d3d3d3; + background-image: none; + text-shadow: none; + box-shadow: none; + padding: 0px; + margin: 0px; + width: 100%; + font-weight: bold; + text-align: left; + } + + .spell .display button[type="roll"]::before { + content: "" !important; + } + + span.spellritual, + span.spellconcentration { + display: none; + font-size: 8px; + font-weight: normal; + margin-top: 0px; + color: white; + background-color: black; + position: absolute; + width: 10px; + height: 10px; + top: 0px; + line-height: 10px; + } + + .spellicon_flag:not([value="none"]) + + .body + .spell + .display + .spellritual:not([value="0"]) + ~ span.spellritual { + display: inline-block; + right: 11px; + } + + .spellicon_flag:not([value="none"]) + + .body + .spell + .display + .spellconcentration:not([value="0"]) + ~ span.spellconcentration { + border-radius: 100%; + display: inline-block; + right: 0; + } + + .spell .display .componentscontainer { + position: absolute; + top: 3px; + right: 0; + width: auto; + } + + .spell .display .v, + .spell .display .s, + .spell .display .m { + display: none; + } + + .spellicon_flag[value="all"] + + .body + .spell + .display + input.v:not([value="0"]) + ~ .componentscontainer + span.v, + .spellicon_flag[value="all"] + + .body + .spell + .display + input.s:not([value="0"]) + ~ .componentscontainer + span.s, + .spellicon_flag[value="all"] + + .body + .spell + .display + input.m:not([value="0"]) + ~ .componentscontainer + span.m { + display: inline; + width: initial; + font-size: 8px; + } + + .spell .display input[type="text"] { + font-size: 12px; + line-height: 12px; + cursor: pointer; + text-align: left; + padding: none; + margin: none; + background-color: transparent; + color: black; + border: none; + background-image: none; + text-shadow: none; + box-shadow: none; + padding: 0px; + margin: 0px; + width: 100%; + } + + .spell .display span.spellname { + font-size: 12px; + text-align: left; + font-weight: normal; + margin-right: -4px; + margin-left: 4px; + display: inline; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + max-width: 220px; + } + + .spell .display .prep ~ span.spellname { + margin-left: 14px; + } + + .spell .details-flag, + .spell .details-flag + span { + position: absolute; + top: 0px; + right: 23px; + width: 18px; + height: 18px; + } + .spell .details-flag { + opacity: 0; + z-index: 2; + } + + .spell .details-flag + span { + white-space: nowrap; + font-size: 20px; + font-family: pictos; + color: #a0a0a0; + cursor: pointer; + margin-top: 0px; + display: none; + line-height: 18px; + } + + .spell .options-flag, + .spell .options-flag + span { + position: absolute; + top: 0px; + right: 23px; + width: 18px; + height: 18px; + } + .spell .options-flag { + opacity: 0; + z-index: 2; + } + + .spell .options-flag + span { + white-space: nowrap; + font-size: 20px; + font-family: pictos; + color: #a0a0a0; + cursor: pointer; + margin-top: 0px; + } + + .spell .details button.spell_link::before { + content: "|"; + } + + .spell .details button.spell_link { + float: right; + border: none; + background: none; + color: #a0a0a0; + } + + .spell .details button.spell_link:hover { + color: #000000; + } + + .spell .details-flag:checked + span { + display: block; + color: #000000; + } + + .spell:hover .details-flag + span { + display: block; + } + + .spell .details-flag ~ .details { + display: none; + } + + .spell .details-flag:checked ~ .details { + display: block; + } + + .spell .options { + margin: 15px 10px; + padding: 0; + overflow-x: hidden; + text-overflow: ellipsis; + } + + .spell .details span.bold { + font-weight: bold; + } + + .spell .details .italics { + font-style: italic; + } + + .spell .details input[type="checkbox"] { + display: none; + } + + .spell .details input[type="checkbox"] + span { + display: none; + } + + .spell .details input[type="checkbox"]:checked + span { + display: inline; + } + + .spell + .details + input[type="checkbox"]:checked + ~ input[type="checkbox"]:checked + + span::before { + content: ", "; + } + + .spell .details span[name="attr_spellname"] { + font-family: "Times New Roman", Times, serif; + font-size: 16px; + text-transform: capitalize; + font-variant: small-caps; + color: rgb(126, 45, 64); + } + + .spell .details input[name="attr_spellcomp_materials"][value=""] + span, + .spell .details input[name="attr_spellathigherlevels"][value=""] + div { + display: none; + } + + .spell .display { + position: relative; + } + + .spell .prep { + width: 10px; + height: 10px; + border-radius: 50%; + position: absolute; + top: 0px; + border: 1px solid black; + } + + .spell input[type="checkbox"]:checked ~ span.prep { + background-color: #ec2127; + } + + .spell .prep-box { + -webkit-appearance: checkbox; + -moz-appearance: checkbox; + opacity: 0; + z-index: 2; + position: relative; + width: 12px; + } + + .charsheet .spell .display button[type="roll"].spellcard { + overflow: hidden; + text-overflow: ellipsis; + width: calc(93% - 18px); + } + + .spell-level .spell-points { + span { + font-size: 20px; + font-weight: normal; + } + } + .spellpoints_flag:not([value="1"]) ~ .body .spell-points { + display: none; + } + .spellpoints_flag[value="1"] ~ .body .spell-labels { + display: grid; + grid-template-columns: 70px 1fr 1fr; + margin-left: 25px; + width: calc(100% - 25px); + span { + width: 100%; + margin: 0; + text-align: center; + } + } + .spellpoints_flag[value="1"] ~ .body { + .spell-point-hide { + display: none; + } + .spell-level { + display: grid; + grid-template-columns: 25px 70px 1fr 1fr; + .spell-points { + display: flex; + align-items: center; + span { + margin-top: 0; + } + } + .total:after { + content: ""; + position: absolute; + width: 1px; + height: 20px; + left: 76px; + top: 4px; + background: black; + } + .total, + .expended { + margin: 0; + width: 100%; + text-align: center; + box-sizing: border-box; + } + } + } \ No newline at end of file diff --git a/Brancalonia Official/translation.json b/Brancalonia Official/translation.json new file mode 100644 index 0000000000..d3c6dab3b4 --- /dev/null +++ b/Brancalonia Official/translation.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with":"Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/af.json b/Brancalonia Official/translations/af.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/af.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/ca.json b/Brancalonia Official/translations/ca.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/ca.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/cs.json b/Brancalonia Official/translations/cs.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/cs.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/da.json b/Brancalonia Official/translations/da.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/da.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/de.json b/Brancalonia Official/translations/de.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/de.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/el.json b/Brancalonia Official/translations/el.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/el.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/en.json b/Brancalonia Official/translations/en.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/en.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/es.json b/Brancalonia Official/translations/es.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/es.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/fi.json b/Brancalonia Official/translations/fi.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/fi.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/fr.json b/Brancalonia Official/translations/fr.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/fr.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/he.json b/Brancalonia Official/translations/he.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/he.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/hu.json b/Brancalonia Official/translations/hu.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/hu.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/it.json b/Brancalonia Official/translations/it.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/it.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/ja.json b/Brancalonia Official/translations/ja.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/ja.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/ko.json b/Brancalonia Official/translations/ko.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/ko.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/nl.json b/Brancalonia Official/translations/nl.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/nl.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/pb.json b/Brancalonia Official/translations/pb.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/pb.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/pl.json b/Brancalonia Official/translations/pl.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/pl.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/pt.json b/Brancalonia Official/translations/pt.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/pt.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/ru.json b/Brancalonia Official/translations/ru.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/ru.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/sl.json b/Brancalonia Official/translations/sl.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/sl.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/sv.json b/Brancalonia Official/translations/sv.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/sv.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/tr.json b/Brancalonia Official/translations/tr.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/tr.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/uk.json b/Brancalonia Official/translations/uk.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/uk.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/Brancalonia Official/translations/zh.json b/Brancalonia Official/translations/zh.json new file mode 100644 index 0000000000..84c2484542 --- /dev/null +++ b/Brancalonia Official/translations/zh.json @@ -0,0 +1,387 @@ +{ + "npc-options-u": "NPC OPTIONS", + "name-u": "NAME", + "npc-type-u": "NPC TYPE", + "armor-class-u": "ARMOR CLASS", + "type-u": "TYPE", + "hit-points-u": "HIT POINTS", + "formula-u": "FORMULA", + "speed-u": "SPEED", + "attributes-u": "ATTRIBUTES", + "str-u": "STR", + "dex-u": "DEX", + "con-u": "CON", + "int-u": "INT", + "wis-u": "WIS", + "cha-u": "CHA", + "saves-u": "SAVES", + "skills-u": "SKILLS", + "acrobatics-u": "ACROBATICS", + "animal_handling-u": "ANIMAL HANDLING", + "arcana-u": "ARCANA", + "athletics-u": "ATHLETICS", + "deception-u": "DECEPTION", + "history-u": "HISTORY", + "insight-u": "INSIGHT", + "intimidation-u": "INTIMIDATION", + "investigation-u": "INVESTIGATION", + "medicine-u": "MEDICINE", + "nature-u": "NATURE", + "perception-u": "PERCEPTION", + "performance-u": "PERFORMANCE", + "persuasion-u": "PERSUASION", + "religion-u": "RELIGION", + "sleight_of_hand-u": "SLEIGHT_OF_HAND", + "stealth-u": "STEALTH", + "survival-u": "SURVIVAL", + "damage-vuln-u": "DAMAGE VULNERABILITIES", + "damage-res-u": "DAMAGE RESISTANCES", + "damage-imm-u": "DAMAGE IMMUNITIES", + "cond-imm-u": "CONDITION IMMUNITIES", + "senses-u": "SENSES", + "langs-u": "LANGUAGES", + "challenge-u": "CHALLENGE", + "xp-u": "XP", + "token_size-u": "TOKEN SIZE", + "spellcast-npc-u": "SPELLCASTING NPCSPELLCASTING ABILITY\n \n NONE\n STRENGTH\n DEXTERITY\n CONSTITUTION\n INTELLIGENCE\n WISDOM\n CHARISMA", + "spell-ability-u": "SPELLCASTING ABILITY", + "none-u": "NONE", + "strength-u": "STRENGTH", + "dexterity-u": "DEXTERITY", + "constitution-u": "CONSTITUTION", + "intelligence-u": "INTELLIGENCE", + "wisdom-u": "WISDOM", + "charisma-u": "CHARISMA", + "glob-atk-mod:-u": "GLOBAL MAGIC ATTACK MODIFIER:", + "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "has-bonusaction-u": "HAS BONUS ACTIONS", + "has-reaction-u": "HAS REACTIONS", + "leg-actions:-u": "LEGENDARY ACTIONS:", + "myt-actions:-u": "MYTHIC ACTIONS:", + "gen-opts-u": "GENERAL OPTIONS", + "npc-u": "NPC", + "roll-queries:-u": "ROLL QUERIES:", + "always-adv": "Always Roll Advantage", + "adv-toggle": "Advantage Toggle", + "query-adv": "Query Advantage", + "never-adv": "Never Roll Advantage", + "whisp-rolls-gm:-u": "WHISPER ROLLS TO GM:", + "never-whisper-roll": "Never Whisper Rolls", + "toggle-roll-whisper": "Whisper Toggle", + "query-whisper-roll": "Query Whisper", + "always-whisper-roll": "Always Whisper Rolls", + "auto-dmg-roll:-u": "AUTO DAMAGE ROLL:", + "never-dmg": "Don't Auto Roll Damage", + "always-dmg": "Auto Roll Damage & Crit", + "npc-name-in-rolls:-u": "NPC NAME IN ROLLS:", + "show": "Show", + "hide": "Hide", + "add-dex-tiebreaker-u": "ADD DEX TIEBREAKER TO INITIATIVE", + "ac": "Armor Class", + "init-u": "INITIATIVE", + "hp": "Hit Points", + "speed": "Speed", + "saving-throw": "Saving Throws", + "str": "Str", + "dex": "Dex", + "con": "Con", + "int": "Int", + "wis": "Wis", + "cha": "Cha", + "skills": "Skills", + "acrobatics": "Acrobatics", + "animal_handling": "Animal handling", + "arcana": "Arcana", + "athletics": "Athletics", + "deception": "Deception", + "history": "History", + "insight": "Insight", + "intimidation": "Intimidation", + "investigation": "Investigation", + "medicine": "Medicine", + "nature": "Nature", + "perception": "Perception", + "performance": "Performance", + "persuasion": "Persuasion", + "religion": "Religion", + "sleight_of_hand": "Sleight_of_hand", + "stealth": "Stealth", + "survival": "Survival", + "dmg-vuln": "Damage Vulnerabilities", + "dmg-res": "Damage Resistances", + "dmg-imm": "Damage Immunities", + "cond-imm": "Condition Immunities", + "senses": "Senses", + "langs": "Languages", + "challenge": "Challenge", + "name:-u": "NAME:", + "bonus-actions": "Bonus Actions", + "attack-u": "ATTACK", + "type:-u": "TYPE:", + "melee": "Melee", + "ranged": "Ranged", + "range-reach:-u": "RANGE/REACH:", + "to-hit:-u": "TO HIT:", + "target:-u": "TARGET:", + "on-hit:-u": "ON HIT:", + "on-hit2:-u": "ON HIT 2:", + "desc:-u": "DESCRIPTION:", + "damage:-u": "DAMAGE:", + "hit:": "Hit:", + "actions": "Actions", + "reactions": "Reactions", + "leg-actions": "Legendary Actions", + "Alignment": "Alignment", + "Player Name": "Player Name", + "Class": "Class", + "Level": "Level", + "Background": "Background", + "Character Name": "Character Name", + "Race": "Race", + "ADVANTAGE": "ADVANTAGE", + "NORMAL": "NORMAL", + "DISADVANTAGE": "DISADVANTAGE", + "public": "PUBLIC", + "WHISPER": "WHISPER", + "CORE": "CORE", + "SPELLS & MOVES": "SPELLS & MOVES", + "BIO": "BIO", + "AC": "AC", + "Speed": "Speed", + "Initiative": "initative", + "Personality Traits": "Personality Traits", + "Ideals": "Ideals", + "Bonds": "Bonds", + "Flaws": "Flaws", + "Bounty": "Bounty", + "Hitpoints": "Hitpoints", + "Temporary HP": "Temporary HP", + "Hit Dice": "Hit Dice", + "Exhaustion": "Exhaustion", + "Knocks": "Knocks", + "death-saves-u": "DEATH SAVES", + "successes-u": "SUCCESSES", + "failures-u": "FAILURES", + "item-name-u": "ITEM NAME", + "equipped-u": "EQUIPPED", + "use-as-resource-u": "USE AS A RESOURCE", + "has-attack-u": "HAS AN ATTACK", + "prop:-u": "PROP:", + "mods:-u": "MODS:", + "total-weight-u": "TOTAL WEIGHT", + "Equipment": "Equipment", + "atk-u": "ATK", + "dmg-type-u": "DAMAGE/TYPE", + "attack:-u": "Attack:", + "spell-u": "SPELL", + "proficient-u": "PROFICIENT", + "range:-u": "RANGE:", + "magic-bonus:-u": "MAGIC BONUS:", + "crit-range-u": "CRIT RANGE:", + "crit:-u": "CRIT:", + "damage2:-u": "DAMAGE2:", + "saving-throw:-u": "SAVING THROW:", + "vs-dc:-u": "VS DC:", + "flat-u": "FLAT", + "save-effect:-u": "SAVE EFFECT:", + "ammunition:-u": "AMMUNITION:", + "description:-u": "DESCRIPTION:", + "global-attack-u": "GLOBAL ATTACK MODIFIER", + "roll:-u": "ROLL:", + "global-damage-u": "GLOBAL DAMAGE MODIFIER", + "dmg:-u": "Damage:", + "critical-dmg:-u": "CRITICAL DAMAGE:", + "Attacks & Spellcasting": "Attacks & Spellcasting", + "Proficiency Bonus": "Proficiency Bonus", + "strength": "Strength", + "dexterity": "Dexterity", + "constitution": "Constitution", + "intelligence": "Intelligence", + "wisdom": "Wisdom", + "charisma": "Charisma", + "Inspiration": "Inspiration", + "acrobatics-core": "Acrobatics (Dex)", + "animal_handling-core": "Animal Handling (Wis)", + "arcana-core": "Arcana (Int)", + "athletics-core": "Athletics (Str)", + "deception-core": "Deception (Cha)", + "history-core": "History (Int)", + "insight-core": "Insight (Wis)", + "intimidation-core": "Intimidation (Cha)", + "investigation-core": "Investigation (Int)", + "medicine-core": "Medicine (Wis)", + "nature-core": "Nature (Int)", + "perception-core": "Perception (Wis)", + "performance-core": "Performance (Cha)", + "persuasion-core": "Persuasion (Cha)", + "religion-core": "Religion (Int)", + "sleight_of_hand-core": "Sleight of Hand (Dex)", + "stealth-core": "Stealth (Dex)", + "survival-core": "Survival (Wis)", + "Passive Perception": "Passive Perception", + "L": "L", + "P": "P", + "S": "S", + "G": "G", + "feats-traits-u": "FEATURES & TRAITS", + "source:-u": "SOURCE:", + "racial": "Racial", + "class": "Class", + "feat": "Feat", + "background": "Background", + "other": "Other", + "source-type:-u": "SOURCE TYPE:", + "moves-u": "Moves", + "total": "total", + "current": "current", + "None": "None", + "Strength": "Strength", + "Dexterity": "Dexterity", + "Constitution": "Constitution", + "Intelligence": "Intelligence", + "Wisdom": "Wisdom", + "Charisma": "Charisma", + "Spellcasting Ability": "Spellcasting Ability", + "Spell Save DC": "Spell Save DC", + "Spell Attack Bonus": "Spell Attack Bonus", + "spell-ritual": "R", + "spell-concentration": "C", + "spell-component-verbal": "V", + "spell-component-somatic": "S", + "spell-component-material": "M", + "school:-u": "SCHOOL:", + "abjuration": "Abjuration", + "conjuration": "Conjuration", + "divination": "Divination", + "enchantment": "Enchantment", + "evocation": "Evocation", + "illusion": "Illusion", + "necromancy": "Necromancy", + "transmutation": "Transmutation", + "ritual-u": "RITUAL", + "casting-time:-u": "CASTING TIME:", + "components:-u": "COMPONENTS:", + "concentration-u": "CONCENTRATION", + "duration:-u": "DURATION:", + "innate:-u": "INNATE:", + "output:-u": "OUTPUT:", + "spellcard-u": "SPELLCARD", + "spell-atk:-u": "SPELL ATTACK:", + "none": "None", + "healing:-u": "HEALING:", + "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "cantrip-progression:-u": "CANTRIP PROGRESSION", + "cantrip-dice-u": "CANTRIP DICE", + "cantrip-beam-u": "CANTRIP BEAM", + "effect:-u": "EFFECT:", + "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "include_spell_desc:-u": "INCLUDE SPELL DESCRIPTION IN ATTACK:", + "off": "Off", + "partial": "Partial", + "on": "On", + "class:-u": "CLASS:", + "at-higher-lvl:-u": "AT HIGHER LEVELS:", + "Appearance": "Appearance", + "Build": "Build", + "Eyes": "Eyes", + "Hair": "Hair", + "Skin": "Skin", + "Misdeeds": "Misdeeds", + "Allies & Organizations": "Allies & Organizations", + "Backstory": "Backstory", + "Backpack": "Backpack", + "Notes": "Notes", + "hit-die:-u": "HIT DIE:", + "carrying-capacity-mod:-u": "CARRYING CAPACITY MODIFIER:", + "magic-use-lvl:-u": "MAGIC CASTER LEVEL:", + "class-options-u": "CLASS OPTIONS", + "class-name:-u": "CLASS NAME:", + "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spell-slots:-u": "SPELL SLOTS:", + "spell-full-u": "FULL (Cleric, Druid, Wizard)", + "spell-half-u": "HALF (Artificer, Paladin, Ranger)", + "spell-third-u": "THIRD (Arcane Fighter/Rogue)", + "cust-class-opts": "CUSTOM CLASS OPTIONS", + "lvl-u": "LEVEL", + "spell_slot_modifiers-u": "SPELL SLOT MODIFIERS", + "initiative-mod:-u": "INITIATIVE MODIFIER:", + "initiative-style:-u": "INITIATIVE STYLE:", + "norm": "Normal", + "adv": "Advantage", + "disadv": "Disadvantage", + "attribute-opts-u": "ATTRIBUTE OPTIONS", + "strength-save-u": "STRENGTH SAVE", + "dexterity-save-u": "DEXTERITY SAVE", + "constitution-save-u": "CONSTITUTION SAVE", + "intelligence-save-u": "INTELLIGENCE SAVE", + "wisdom-save-u": "WISDOM SAVE", + "charisma-save-u": "CHARISMA SAVE", + "death-save-mod:-u": "DEATH SAVE MODIFIER:", + "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", + "save-opts-u": "SAVE OPTIONS", + "normal": "Normal", + "expertise": "Expertise", + "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", + "skill-opts-u": "SKILL OPTIONS", + "always-roll-adv": "Always Roll Advantage", + "toggle-roll-adv": "Advantage Toggle", + "query-roll-adv": "Query Advantage", + "never-roll-adv": "Never Roll Advantage", + "never-roll-dmg": "Don't Auto Roll Damage", + "always-roll-dmg": "Auto Roll Damage & Crit", + "core-die-roll:-u": "CORE DIE ROLL:", + "default-critical-range:-u": "CRITICAL RANGE:", + "prof-bonus:-u": "PROFICIENCY BONUS:", + "by-level": "By Level (Default)", + "prof-die": "Proficency Die (DMG)", + "custom": "Custom", + "add-char-to-templates:-u": "ADD CHARACTER NAME TO TEMPLATES:", + "level-calculations:-u": "LEVEL CALCULATIONS:", + "encumbrance:-u": "ENCUMBRANCE:", + "simple": "Simple", + "variant-phb": "Variant (PHB p176)", + "ingore-non-equipped-weight": "IGNORE NON-EQUIPPED ITEMS WEIGHT", + "inventory:-u": "INVENTORY:", + "compendium-compatible": "Compendium Compatible", + "general-opts-u": "GENERAL OPTIONS", + "difficulty-class-abv": "DC", + "save": "Save", + "higher-lvl-cast": "Higher Level Cast", + "ritual-l": "ritual-l", + "casting-time:": "Casting Time:", + "range:": "Range:", + "target:": "Target:", + "components:": "Components:", + "duration:": "Duration:", + "concentration": "Concentration", + "at-higher-lvl": "At Higher Levels", + "spell-save-dc-u": "SPELL SAVE DC", + "desconly": "For Description Only", + "npc-type-place": "Medium fiend, any evil alignment", + "npc-armor-place": "scale mail", + "npc-speed-place": "30 ft., fly 60ft.", + "npc-dmg-vuln-place": "fire", + "npc-dmg-res-place": "cold", + "npc-dmg-imm-place": "lighting, thunder", + "npc-cond-imm-place": "charmed", + "npc-senses-place": "darkvision 120ft., passive Perception 16", + "npc-langs-place": "Abyssal, Common, Infernal", + "npc-trait-name-place": "False Appearance.", + "npc-trait-desc-place": "If the dragon fails...", + "range-reach-place": "5 ft.", + "to-hit-place": "One target", + "on-hit-place": "slashing", + "on-hit-2-place": "fire", + "npc-repeating-name-place": "Parry.", + "npc-repeating-desc-place": "The creature adds 2 to its AC against...", + "range-place": "Self (60-foot cone)", + "dmg-type-place": "Slashing", + "save-effect-place": "half damage", + "ammunition-place": "Arrows", + "description-place": "Up to 2 creatures within 5 feet", + "ruby-dust-place": "ruby dust worth 50gp", + "half-dmg-place": "Half damage", + "accept-compendium-drop": "Accepting Compendium Drop", + "replace-sheet-with": "Do you want to replace this sheet with" +} \ No newline at end of file diff --git a/COPS/COPS.css b/COPS/COPS.css index c29cb88809..94f8899ee6 100644 --- a/COPS/COPS.css +++ b/COPS/COPS.css @@ -162,6 +162,7 @@ div.sheet-options > label > span font-family:inherit; font-size:12px; align-items:center; + color:black; } div.sheet-options > label > select @@ -203,6 +204,12 @@ div.sheet-options > label > select .sheet-topHeader > div:nth-child(even) > label > span { font-weight:normal; + color:black; +} + +.sheet-topHeader > div:nth-child(odd) > label > span +{ + color:white; } .sheet-topHeader > div > label @@ -457,6 +464,7 @@ input[type="hidden"].sheet-page[value="5"] ~ div.sheet-page5 padding-left:2px; align-items:center; font-weight:normal; + color:black; } .sheet-ficheIdentite > label > input, @@ -534,6 +542,7 @@ input[type="hidden"].sheet-page[value="5"] ~ div.sheet-page5 padding-left:2px; align-items:center; font-weight:normal; + color:black; } .sheet-ficheParcours > label > input, @@ -746,6 +755,7 @@ input[type="hidden"].sheet-page[value="5"] ~ div.sheet-page5 .sheet-comp > div > div > div.repcontainer > div.repitem > div > label > input[type="checkbox"] ~ span { width:100%; + color:black; } .sheet-comp > div > div > div > label > input[type="checkbox"] ~ span::before, @@ -1212,6 +1222,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before .sheet-buttonSC > label > span { width:100%; + color:black; } @@ -1281,6 +1292,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before width:100%; justify-content:center; align-items:center; + color:black; } .sheet-stage > div > div > div > div:nth-child(2) > label:first-of-type > input[type="text"] @@ -1318,6 +1330,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before font-size:12px; font-weight:bold; font-family:inherit; + color:black; } .sheet-stage > div > div > div > div:not(:nth-child(2)) > label > span @@ -1349,6 +1362,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before { width:100%; height:22px; + color:black; } .sheet-stage > div > div > div > div > label > label > span::before @@ -1496,6 +1510,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before font-weight:bold; font-family:inherit; padding-left:2px; + color:black; } .sheet-mods > label > input[type="number"] @@ -1563,6 +1578,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before { width:100%; height:22px; + color:black; } .sheet-initAtt > div > label > input[type="radio"], @@ -1643,6 +1659,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before font-weight:bold; font-family:inherit; padding-left:2px; + color:black; } .sheet-bottomRight > label > input[type="number"] @@ -1722,6 +1739,7 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before align-items:center; font-size:12px; padding-left:2px; + color:black; } .sheet-poursuite > label > input[type="number"] @@ -1823,7 +1841,6 @@ div.sheet-armeEBonus > label > input[type="checkbox"]:checked ~ span::before padding-right:2px; } -, .sheet-rolltemplate-armement > div > div.sheet-spe > span:last-of-type { width:50%; diff --git a/CP-Unofficial-Persona-TTRPG/crimsonparcelsupttrpg.html b/CP-Unofficial-Persona-TTRPG/crimsonparcelsupttrpg.html index b5235898ab..ba933d008a 100644 --- a/CP-Unofficial-Persona-TTRPG/crimsonparcelsupttrpg.html +++ b/CP-Unofficial-Persona-TTRPG/crimsonparcelsupttrpg.html @@ -53,7 +53,7 @@
Score
 
-
Temp.
+
Bonus
AXP
Required
@@ -156,7 +156,7 @@
Current
 
Total
-
Temp.
+
Bonus
@@ -816,99 +816,188 @@ + + + + +
+

{{characterName}}

+ {{#rollname}} +

{{rollname}}

+ {{/rollname}} + {{^carac}}{{^arme}} +
{{rollResult}}
+ {{/arme}}{{/carac}} + {{#carac}} +
Seuil : {{carac}}+
+
Jet : {{rollResult}}
+
Résultat : + {{#rollGreater() rollResult carac}} + Réussite ! + {{/rollGreater() rollResult carac}} + + {{#rollLess() rollResult carac}} + Échec ! + {{/rollLess() rollResult carac}} + + {{#rollTotal() rollResult carac}} + Réussite ! + {{/rollTotal() rollResult carac}} +
+ {{/carac}} + {{#arme}} +

Attaque avec {{arme}}

+ {{#ca}} +
Jet {{rollResult}} contre CA{{ca}}
+ {{/ca}} + {{#blessure}}{{#thresh}} +
Résultat : + {{#rollGreater() rollResult ca}} + Blessure ! {{blessure}} dégâts. + {{/rollGreater() rollResult ca}} + + {{#rollGreater() rollResult thresh}} + {{#rollLess() rollResult ca}} + Contusion ! + {{/rollLess() rollResult ca}} + {{/rollGreater() rollResult thresh}} + + {{#rollTotal() rollResult ca}} + Blessure ! {{blessure}} dégâts. + {{/rollTotal() rollResult ca}} + + {{#rollWasCrit() rollResult}} + Double dégâts ! + {{/rollWasCrit() rollResult}} + + {{#rollWasFumble() rollResult}} + Maladresse ! + {{/rollWasFumble() rollResult}} +
+ {{/thresh}}{{/blessure}} + {{/arme}} +
+
diff --git a/CoeursVaillants/CoeursVaillants.png b/CoeursVaillants/CoeursVaillants.png index fa8796a978..1115c540a4 100644 Binary files a/CoeursVaillants/CoeursVaillants.png and b/CoeursVaillants/CoeursVaillants.png differ diff --git a/Cyberpunk 2020/translations/pt.json b/Cyberpunk 2020/translations/pt.json index 68c3b6355a..fb378c6d16 100644 --- a/Cyberpunk 2020/translations/pt.json +++ b/Cyberpunk 2020/translations/pt.json @@ -2,15 +2,15 @@ "accounting": "Accounting", "aero-tech": "Aero Tech", "aero-tech-2": "Aero Tech (2)", - "age": "Age", + "age": "Idade", "aikido": "Aikido", "aikido-3": "Aikido (3)", - "aiming": "Aiming", - "ambush": "Ambush", - "ammo": "Ammo", + "aiming": "Mirando", + "ambush": "Emboscar", + "ammo": "Munição", "animal-kung-fu": "Animal Kung Fu", "animal-kung-fu-3": "Animal Kung Fu (3)", - "anthropology": "Anthropology", + "anthropology": "Antropologia", "anti": "Anti-Person", "anti-system": "Anti System", "archery": "Archery", diff --git a/D&D_3-5/translations/fr.json b/D&D_3-5/translations/fr.json index 18301785f7..36115b4845 100644 --- a/D&D_3-5/translations/fr.json +++ b/D&D_3-5/translations/fr.json @@ -174,9 +174,9 @@ "intelligence-a": "Int", "half-strength": "1/2 For", "strength-and-half-strength": "For+1/2For", - "strength-and-intelligence": "Str+Int", - "strength-and-dexterity": "Str+dex", - "strength-and-dexterity-and-intelligence": "Str+Dex+Int", + "strength-and-intelligence": "For+Int", + "strength-and-dexterity": "For+Dex", + "strength-and-dexterity-and-intelligence": "For+Dex+Int", "attack-calculation-a": "Calc Attaque", "macro": "Macro", "full-attack-macro": "Macro complète d'Attaque", diff --git a/D&D_3-5/translations/ko.json b/D&D_3-5/translations/ko.json index d89891d41f..a3f90935f8 100644 --- a/D&D_3-5/translations/ko.json +++ b/D&D_3-5/translations/ko.json @@ -1,249 +1,249 @@ { - "whisp-skill-rolls-gm": "Whisper Skill Rolls to GM", + "whisp-skill-rolls-gm": "GM의 비밀 주사위 굴림", "whisp-skill-rolls-gm-info": "All skill rolls are sent to all players in chat by default. Query Whisper option gives you a prompt with each roll of whether or not the roll should be sent privately only to yourself and the GM. Always Whisper Skill Rolls will send all skill rolls only to yourself and the GM.", - "pc": "PC ", + "pc": "PC", "npc": "NPC", - "header": "Header", - "character-name": "Character Name", - "player-name": "Player Name", - "experience-points": "Experience Points", - "homeland": "Homeland", - "race": "Race", + "header": "헤더", + "character-name": "캐릭터 이름", + "player-name": "플레이어 이름", + "experience-points": "경험치", + "homeland": "출신지", + "race": "종족", "type": "종류", - "colossal": "Colossal", - "gargantuan": "Gargantuan", - "huge": "Huge", - "large": "큼", - "medium": "중화질", - "small": "작음", - "tiny": "Tiny", - "diminutive": "Diminutive", - "fine": "Fine", - "size": "Size", - "gender": "Gender", - "alignment": "Alignment", - "deity": "Deity", - "class": "Class", - "classes": "Classes", + "colossal": "초거대형", + "gargantuan": "초대형", + "huge": "거대형", + "large": "대형", + "medium": "중형", + "small": "소형", + "tiny": "초소형", + "diminutive": "극소형", + "fine": "초극소형", + "size": "크기", + "gender": "성별", + "alignment": "성향", + "deity": "신앙", + "class": "클래스", + "classes": "클래스", "level": "레벨", - "autoCalc": "Auto Calculate", + "autoCalc": "자동 계산", "ecl-i": "ECL", - "hit-dice-i": "HD", - "hit-dietype-i": "HD T.", - "hit-diceTotal-i": "HD Total", - "skillPointLiv-i": "S.P./lvl.", - "totSkillPoint-i": "S.P. tot.", - "totSkillPoint": "Skill Points Total", - "age": "Age", - "height": "Height", - "weight": "Weight", - "eyes": "Eyes", - "hair": "Hair", - "stats": "Stats", + "hit-dice-i": "HP 주사위", + "hit-dietype-i": "HD 유형", + "hit-diceTotal-i": "총 HP 주사위", + "skillPointLiv-i": "레벨당 기술점수", + "totSkillPoint-i": "총 기술 점수", + "totSkillPoint": "총 기술 점수", + "age": "나이", + "height": "키", + "weight": "무게", + "eyes": "눈색", + "hair": "머리 모양", + "stats": "스탯", "weapons": "무기", "armor-class-i": "AC", - "equipment": "Equipment", - "turn-undead": "Turn Undead", - "skills": "Skills", - "spells": "Spells", - "notes": "Notes", - "miscellaneous": "Misc", - "all": "All", - "abilities": "Abilities", - "ability-scores": "Ability Scores", - "ability": "Ability", + "equipment": "장비", + "turn-undead": "턴 언데드", + "skills": "기술", + "spells": "주문", + "notes": "기록", + "miscellaneous": "기타", + "all": "모두", + "abilities": "능력치", + "ability-scores": "능력치 점수", + "ability": "능력치", "total": "총", - "modifier": "모", - "base": "베이스", - "temporary": "Temp", + "modifier": "수정치", + "base": "기본치", + "temporary": "임시", "strength-i": "근력", - "note": "Note", + "note": "비고", "dexterity-i": "민첩", "constitution-i": "건강", "intelligence-i": "지능", - "wisdom-i": "WIS", - "charisma-i": "CHA", - "show-ability-macros": "Show Ability Macros", + "wisdom-i": "지혜", + "charisma-i": "매력", + "show-ability-macros": "능력치 매크로 보여주기", "hit-points-i": "HP", - "hit-pointsTotal-i": "HP Total", - "hit-points": "체력", - "current-hit-points": "Current HP", - "max": "Max", - "nonlethal-damage": "Nonlethal Damage", - "damage": "Damage", - "var-damage": "Var. Damage", - "initiative-u": "INITIATIVE", - "dexterity-modifier": "Dex Mod", - "miscellaneous-modifier-a": "Misc Mod", - "speed-u": "SPEED", - "speed": "Speed", - "load": "Load", - "alternate-movement": "Alternate Movement", - "fly": "Fly", - "perfect": "Perfect", - "good": "Good", - "average": "Average", - "poor": "Poor", - "clumsy": "Clumsy", + "hit-pointsTotal-i": "총 HP", + "hit-points": "히트 포인트", + "current-hit-points": "현재 HP", + "max": "최대", + "nonlethal-damage": "비치명적 피해", + "damage": "피해", + "var-damage": "대미지 유형", + "initiative-u": "우선권", + "dexterity-modifier": "민첩 수정", + "miscellaneous-modifier-a": "기타 수정", + "speed-u": "이동력", + "speed": "이동력", + "load": "무게", + "alternate-movement": "대체 이동", + "fly": "비행", + "perfect": "완벽", + "good": "좋음", + "average": "평균적", + "poor": "나쁨", + "clumsy": "최악", "none": "없음", - "maneuverability": "Maneuverability", - "glide": "Glide", - "climb": "Climb", - "burrow": "Burrow", - "swim": "Swim", - "armor-class": "Armor Class", - "ability-modifier-a": "Ability Mod", - "armor-bonus-a": "Armor Bns", - "size-modifier-a": "Size Mod", - "dodge": "Dodge", - "natural-armor-a": "Nat. Armor", - "deflection": "Deflection", - "armor-check-penalty-i": "AC Pen", - "touch-u": "TOUCH", - "flat-footed-u": "FLAT-FOOTED", - "immobile": "Immobile", - "damage-reduction": "Damage Reduction", - "saves-combat-notes": "Saves, Combat, Notes", - "saving-throws-s": "Saving
Throws", - "base-save-s": "Base
Save", - "ability-modifier-s": "Ability
Modifier", - "epic-save-bonus-s": "Epic Save
Bonus", - "magic-modifier": "Magic
Modifier", - "miscellaneous-modifier-s": "Misc
Modifier", - "temporary-modifier-s": "Temp
Modifier", - "fortitude": "Fortitude", - "constitution": "Constitution", - "reflex": "Reflex", - "dexterity": "Dexterity", - "will": "Will", - "wisdom": "Wisdom", - "show-save-macros": "Show Save Macros", - "spell-resistance": "Spell Resist", - "arcane-spell-failure": "Arcane Spell Failure", - "base-attack": "Base Attack", - "grapple": "Grapple", - "base-attack-bonus-epic-attack-bonus-i": "BAB+ EAB", - "strength-modifier-a": "Str Mod", - "base-attack-bonus-epic-attack-bonus-a": "Base AB
+ Epic AB", - "strength-modifier": "Strength
Modifier", - "size-modifier": "Size
Modifier", - "miscellaneous-modifier": "Misc
Modifier", - "temporary-modifier": "Temp
Modifier", - "melee": "Melee", - "attack-bonus": "Attack Bonus", - "ranged": "Ranged", - "show-grapple-and-base-attack-bonus-macros": "Show Grapple and Base Attack Macros", - "epic-levels": "Epic Levels", - "epic-save-bonus": "Epic Save Bonus", - "epic-attack-bonus": "Epic Attack Bonus", - "languages": "Languages", - "racial-abilities": "Racial Abilities", - "class-abilities": "Class Abilities", - "feats": "Feats", - "other": "Other", - "summons": "Summons", - "summoned": "Summoned", - "available": "Available", - "used": "Used", + "maneuverability": "기동성", + "glide": "활강", + "climb": "등반", + "burrow": "굴파기", + "swim": "수영", + "armor-class": "AC", + "ability-modifier-a": "능력 수정치", + "armor-bonus-a": "장갑 보너스", + "size-modifier-a": "크기 수정치", + "dodge": "회피", + "natural-armor-a": "천연 장갑", + "deflection": "굴절", + "armor-check-penalty-i": "AC 페널티", + "touch-u": "접촉", + "flat-footed-u": "기습", + "immobile": "무력화", + "damage-reduction": "피해 감소", + "saves-combat-notes": "내성, 전투, 기록", + "saving-throws-s": "내성 굴림", + "base-save-s": "기본 내성", + "ability-modifier-s": "능력 수정치", + "epic-save-bonus-s": "에픽 내성 보너스", + "magic-modifier": "마법 수정치", + "miscellaneous-modifier-s": "기타 수정치", + "temporary-modifier-s": "임시 수정치", + "fortitude": "인내", + "constitution": "건강", + "reflex": "반사", + "dexterity": "민첩", + "will": "의지", + "wisdom": "지혜", + "show-save-macros": "내성 매크로 보여주기", + "spell-resistance": "주문 저항", + "arcane-spell-failure": "아르카나 주문 실패", + "base-attack": "기본 공격", + "grapple": "붙잡기", + "base-attack-bonus-epic-attack-bonus-i": "BAB+EAB", + "strength-modifier-a": "근력 수정치", + "base-attack-bonus-epic-attack-bonus-a": "BAB+EAB", + "strength-modifier": "근력 수정치", + "size-modifier": "크기 수정치", + "miscellaneous-modifier": "기타 수정치", + "temporary-modifier": "임시 수정치", + "melee": "근접", + "attack-bonus": "공격 보너스", + "ranged": "원거리", + "show-grapple-and-base-attack-bonus-macros": "붙잡기와 기본 공격 매크로 보여주기", + "epic-levels": "에픽 레벨", + "epic-save-bonus": "에픽 내성 보너스", + "epic-attack-bonus": "에픽 공격 보너스", + "languages": "언어", + "racial-abilities": "종족 능력치", + "class-abilities": "클래스 능력치", + "feats": "재주", + "other": "기타", + "summons": "소환", + "summoned": "소환됨", + "available": "사용 가능", + "used": "사용함", "weapon": "무기", - "attack-damage-separate-roll": "Attack and Damage separate roll", - "attack-damage-single-roll": "Attack and Damage single roll", - "plain-critic-macro-roll": "Plain critic macro", - "reroll-critic-damage-roll": "Reroll critic damage", - "multiply-critic-damage-roll": "Multiply critic damage", - "single-attack": "Single Attack", - "full-attack": "Full Attack", - "damage-roll": "Damage Roll", - "single-attack-damage": "Single Attack and Damage", - "weapon-enhancement-a": "Weapon Enh", - "weapon-focus-s": "Weapon
Focus", - "weapon-specialization-as": "Weapon
Specialize", - "attack": "Attack", - "attack-enhancement-a": "Attack Enh", - "attack-focus-s": "Attack
Focus", - "attack-specialization-as": "Attack
Specialize", - "critical": "Critical", - "range": "Range", - "ammunition": "Ammunition", - "attack-ability": "Attack Ability", - "damage-ability": "Damage Ability", - "special-properties": "Special Properties", - "strength-a": "Str", - "dexterity-a": "Dex", - "wisdom-a": "Wis", - "intelligence-a": "Int", - "half-strength": "1/2 Str", - "strength-and-half-strength": "Str+1/2Str", - "strength-and-intelligence": "Str+Int", - "strength-and-dexterity": "Str+dex", - "strength-and-dexterity-and-intelligence": "Str+Dex+Int", - "attack-calculation-a": "Attack Calc", - "macro": "Macro", - "full-attack-macro": "Full Attack Macro", - "damage-calculation-a": "Damage Calc", - "critical-calculation-a": "Crit Calc", - "damage-macro": "Damage Macro", - "other-weapons": "Other Weapons", - "other-attacks": "Other Attacks", - "immobilized": "Immobilized", - "armor-check-penalty-a": "Armor Check Pen", - "armor": "Armor", - "armor-class-items-i": "AC Items", - "armor-name": "Armor Name", - "bonus": "Bonus", - "maximum-dexterity-a": " Max Dex ", - "check-penalty": " Check Penalty ", - "spell-failure": "Spell Failure", - "shield": "Shield", - "armor-bonus": "Armor Bonus", - "properties": "Properties", - "other-armor-class": "Other Armor Class", - "other-armor-class-i": "Other AC", - "ability-bonuses": "Ability Bonuses", - "bonus-for-armor-class-i": "Bonus for AC", - "touch-armor-class-a": "Touch AC", - "flat-footed-armor-class-i": "FF AC", - "immobilized-armor-class-i": "Immobilized AC", - "ability-armor-class-info": "Typically: part of AC and Touch AC. Penalty is part of FF AC and Immobilized AC, bonus is not. Capped by Armor and Load.", + "attack-damage-separate-roll": "공격과 피해 굴림 분리", + "attack-damage-single-roll": "공격과 피해 굴림 한 번에", + "plain-critic-macro-roll": "일반 크리티컬 매크로", + "reroll-critic-damage-roll": "크리티컬 대미지 재굴림", + "multiply-critic-damage-roll": "크리티컬 대미지 중복", + "single-attack": "일반 공격", + "full-attack": "전력 공격", + "damage-roll": "피해 굴림", + "single-attack-damage": "일반 공격과 피해", + "weapon-enhancement-a": "무기 강화", + "weapon-focus-s": "무기 집중", + "weapon-specialization-as": "무기 전문화", + "attack": "명중", + "attack-enhancement-a": "명중 강화", + "attack-focus-s": "명중 집중", + "attack-specialization-as": "명중 전문화", + "critical": "크리티컬", + "range": "범위", + "ammunition": "탄창", + "attack-ability": "명중 능력치", + "damage-ability": "피해 능력치", + "special-properties": "특별한 소유물", + "strength-a": "근력", + "dexterity-a": "민첩", + "wisdom-a": "지혜", + "intelligence-a": "지능", + "half-strength": "1/2 근력", + "strength-and-half-strength": "근력+1/2근력", + "strength-and-intelligence": "근력+지능", + "strength-and-dexterity": "근력+민첩", + "strength-and-dexterity-and-intelligence": "근력+민첩+지능", + "attack-calculation-a": "명중 계산", + "macro": "매크로", + "full-attack-macro": "전력 공격 매크로", + "damage-calculation-a": "피해 계산", + "critical-calculation-a": "크리티컬 계산", + "damage-macro": "피해 매크로", + "other-weapons": "다른 무기", + "other-attacks": "다른 공격", + "immobilized": "무력화", + "armor-check-penalty-a": "장갑 판정 페널티", + "armor": "장갑", + "armor-class-items-i": "AC 아이템", + "armor-name": "장갑 이름", + "bonus": "보너스", + "maximum-dexterity-a": "최대 민첩", + "check-penalty": "판정 페널티", + "spell-failure": "주문 실패", + "shield": "방패", + "armor-bonus": "장갑 보너스", + "properties": "소지품", + "other-armor-class": "다른 AC", + "other-armor-class-i": "다른 AC ", + "ability-bonuses": "능력치 보너스", + "bonus-for-armor-class-i": "AC 보너스", + "touch-armor-class-a": "접촉 AC", + "flat-footed-armor-class-i": "기습 AC", + "immobilized-armor-class-i": "무력화 AC", + "ability-armor-class-info": "AC와 접촉 AC의 요소. 기습 AC와 무력화 AC에 페널티가 들어갑니다. 장갑과 무게에 따라 제한을 받습니다.", "name": "이름", - "armor-class-bonus-i": "AC Bonus", - "capped?": "Capped?", - "capped-armor-class-bonus-i": "Capped AC Bonus", - "in-touch-armor-class?-i": "In Touch AC?", - "in-flat-footed-armor-class?-i": "In FF AC?", - "source/notes": "Source/Notes", - "dexterity-bonus-a": "Dex Bonus", - "dexterity-armor-class-modification-info": "Limited by Armor and Load; In AC and Touch AC; *Not in FF AC(except for penalty).", + "armor-class-bonus-i": "AC 보너스", + "capped?": "제한?", + "capped-armor-class-bonus-i": "AC 보너스 제한", + "in-touch-armor-class?-i": "접촉 AC?", + "in-flat-footed-armor-class?-i": "기습 AC?", + "source/notes": "출처/기록", + "dexterity-bonus-a": "민첩 보너스", + "dexterity-armor-class-modification-info": "장갑과 무게는 일반 AC와 접촉 AC에 영향을 줍니다 . 단, 기습 AC에는 영향이 없습니다.(페널티 예외).", "armor-class-info": " Component of AC and FF AC; Not component of Touch AC ", "from-armor-above": "From Armor, above. ", "from-shield-above": "From Shield, above. ", - "natural-armor": "Natural Armor", + "natural-armor": "천연 갑옷", "natural-armor-class-info": " Component of AC and FF AC; Not component of Touch AC ", - "current-natural-armor-bonus": "Current Natural Armor Bonus", + "current-natural-armor-bonus": "현재 천연 갑옷 보너스", "dodge-armor-class-info": " Component of AC and Touch AC; Not a component of FF AC. ", - "current-dodge-bonus": "Current Dodge Bonus", - "deflection-armor-class-info": " Component of AC, Touch AC, and FF AC. ", - "current-deflection-bonus": "Current Deflection Bonus", - "miscellaneous-armor-class-i": "Misc AC", + "current-dodge-bonus": "현재 회피 보너스", + "deflection-armor-class-info": "AC, 접촉 AC, 기습 AC의 구성요소", + "current-deflection-bonus": "현재 굴절 보너스", + "miscellaneous-armor-class-i": "기타 AC", "miscellaneous-armor-class-info": " Potential component of AC, Touch AC, FF or Immobilized AC. ", - "in-armor-class?-i": "In AC?", - "in-immobilized-armor-class?-i": "In Immobl AC?", - "current-miscellaneous-armor-class-bonus": "Current Misc AC Bonus", - "encumbrance/load": "Encumbrance/Load", - "encumbrance-and-load": "Encumbrance and Load", - "light-load": " Light Load ", - "medium-load": " Medium Load ", - "heavy-load": " Heavy Load ", - "lift-over-head-a": " Lift Over ", - "lift-off-ground": " Lift Off Ground ", - "push/drag": " Push/ Drag ", + "in-armor-class?-i": "AC?", + "in-immobilized-armor-class?-i": "이동 불가 AC?", + "current-miscellaneous-armor-class-bonus": "현재 기타 AC 보너스", + "encumbrance/load": "적재량/무게", + "encumbrance-and-load": "적재량과 무게", + "light-load": "가벼운 무게", + "medium-load": "평범한 무게", + "heavy-load": "무거운 무게", + "lift-over-head-a": "들어올리기", + "lift-off-ground": "떨어뜨리기", + "push/drag": "밀기/끌기", "or-less": "or less", - "weight-carried": " Weight Carried ", - "character-size-a": " Char Size ", - " data-i18n=": " Load ", - "speed-30ft": " Speed (30 ft.)", - "speed-20ft": " Speed (20 ft.)", - "run": " Run", + "weight-carried": "운반 가능 무게", + "character-size-a": "캐릭터 크기", + " data-i18n=": "무게", + "speed-30ft": "이동력(30 피트)", + "speed-20ft": "스피드(20 피트)", + "run": "달리기", "colossal-quadruped": "Colossal Quadruped", "gargantuan-quadruped": "Gargantuan Quadruped", "huge-quadruped": "Huge Quadruped", @@ -253,37 +253,37 @@ "tiny-quadruped": "Tiny Quadruped", "diminutive-quadruped": "Diminutive Quadruped", "fine-quadruped": "Fine Quadruped", - "light": "빛", - "heavy": "Heavy", - "feet-i": "ft", - "single-use-items": "Single Use Items", - "quantity-a": "Qty", - "cost(gp)": "Cost (gp)", - "total-cost(gp)-i": "T_Cost (gp)", + "light": "가벼움", + "heavy": "무거움", + "feet-i": "피트", + "single-use-items": "단독 사용 아이템", + "quantity-a": "수량", + "cost(gp)": "비용(GP)", + "total-cost(gp)-i": "총 비용(GP)", "weight-a": "Wt ()", "total-weight-a": "T_Wt ()", - "hitpoints-i": "HPs", + "hitpoints-i": "HP", "hardness-a": "Hard", "location": "Location", - "total-cost": "Total Cost", - "gold-pieces-i": "gp", - "total-weight": "Total Weight:", + "total-cost": "총 비용", + "gold-pieces-i": "GP", + "total-weight": "총 무게:", "not-copied": "Not Copied", "total-weight-copied": "Total Weight Copied to Weight Carried", - "magic-items": "Magic Items", - "magic-items-slots": "Magic Items Slots", - "other-items": "Other Items", - "head": "Head", - "face": "Face", - "throat": "Throat", - "shoulders": "Shoulders", - "body": "Body", - "torso": "Torso", - "arms": "Arms", - "hands": "Hands", - "ring": "Ring", - "waist": "Waist", - "money": "Money", + "magic-items": "매직 아이템", + "magic-items-slots": "매직 아이템 슬롯", + "other-items": "기타 아이템", + "head": "머리", + "face": "얼굴", + "throat": "목", + "shoulders": "어깨", + "body": "전신", + "torso": "반신", + "arms": "팔", + "hands": "손", + "ring": "반지", + "waist": "허리", + "money": "돈", "copper-pieces-iu": "CP", "silver-pieces-iu": "SP", "gold-pieces-iu": "GP", @@ -291,17 +291,17 @@ "skill-points-per-level-a": "Skill Points/Lvl", "global-skill-bonus": "Global Skill bonus", "bonus-to-all-skill-ckecks": "This bonus is applied to all skill checks", - "skill-names": "Skill Names", - "total-bonus-s": "Total
Bonus", - "stat": "Stat", - "ability-modifier-as": "Ability
Mod.", + "skill-names": "기술 이름", + "total-bonus-s": "총 보너스", + "stat": "스탯", + "ability-modifier-as": "능력 수정치", "ranks": "Ranks", - "armor-penalty-s": "Armor
Penalty", - "miscellaneous-modifier-as": "Misc
Mod.", - "damage-bonus-as": "Damage
Bonus", - "whisper-gm": "Whisper
GM", - "yes": "Yes", - "no": "No", + "armor-penalty-s": "장갑 페널티", + "miscellaneous-modifier-as": "기타 수정치", + "damage-bonus-as": "피해 보너스", + "whisper-gm": "GM에게 귓속말", + "yes": "네", + "no": "아니오", "turning-check": "Turning Check", "full-turning-check": "Full Turning Check", "turning-bonus": "Turning Bonus", @@ -311,11 +311,11 @@ "turning-level": "Turning level", "appraise": "Appraise", "not-applicable": "N/A", - "balance": "Balance", - "bluff": "Bluff", - "charisma-a": "Cha", - "concentration": "Concentration", - "constitution-a": "Con", + "balance": "균형 잡기", + "bluff": "허풍", + "charisma-a": "매력", + "concentration": "집중", + "constitution-a": "건강", "craft": "공예", "decipher-script": "Decipher Script", "diplomacy": "Diplomacy", @@ -323,16 +323,16 @@ "disguise": "Disguise", "escape-artist": "Escape Artist", "forgery": "Forgery", - "gather-information": "Gather Information", - "handle-animal": "Handle Animal", - "heal": "Heal", - "hide": "숨기기", - "intimidate": "Intimidate", - "jump": "Jump", + "gather-information": "정보 수집", + "handle-animal": "동물 다루기", + "heal": "치료", + "hide": "숨기", + "intimidate": "위협", + "jump": "도약", "knowledge": "지식", - "arcana": "Arcana", + "arcana": "아르카나", "engineering-a": "Engineer", - "dungeoneering-a": "Dungeon", + "dungeoneering-a": "던전학", "geography": "Geography", "history": "History", "local": "Local", diff --git a/D&D_3-5/translations/pl.json b/D&D_3-5/translations/pl.json index 264a92fd23..f330cf9f95 100644 --- a/D&D_3-5/translations/pl.json +++ b/D&D_3-5/translations/pl.json @@ -1,504 +1,504 @@ { - "whisp-skill-rolls-gm": "Whisper Skill Rolls to GM", - "whisp-skill-rolls-gm-info": "All skill rolls are sent to all players in chat by default. Query Whisper option gives you a prompt with each roll of whether or not the roll should be sent privately only to yourself and the GM. Always Whisper Skill Rolls will send all skill rolls only to yourself and the GM.", - "pc": "PC ", + "whisp-skill-rolls-gm": "Wyślij rzuty na umiejętność do MG", + "whisp-skill-rolls-gm-info": "Wszystkie rzuty na umiejętność domyślnie wysyłane są do wszystkich graczy na czacie. Opcja zapytania o szept pokazuje okno dialogowe dla każdego rzutu, czy rzut powinien być wysłany prywatnie tylko do ciebie i MG. Opcja zawsze szeptaj rzuty na umiejętność wyśle wszystkie rzuty tylko do ciebie i MG.", + "pc": "BG ", "npc": "BN", - "header": "Header", + "header": "Nagłówek", "character-name": "Imię bohatera", "player-name": "Imię Gracza/Graczki", "experience-points": "Punkty doświadczenia", - "homeland": "Homeland", + "homeland": "Ojczyzna", "race": "Rasa", "type": "Typ", "colossal": "Kolosalny", - "gargantuan": "Gargantuan", - "huge": "Huge", + "gargantuan": "Olbrzymi", + "huge": "Wielki", "large": "Duży", "medium": "Średni", "small": "Mały", - "tiny": "Tiny", - "diminutive": "Diminutive", - "fine": "Fine", + "tiny": "Malutki", + "diminutive": "Drobny", + "fine": "Filigranowy", "size": "Rozmiar", "gender": "Płeć", - "alignment": "Alignment", - "deity": "Deity", + "alignment": "Charakter", + "deity": "Bóstwo", "class": "Klasa", - "classes": "Classes", + "classes": "Klasy", "level": "Poziom", - "autoCalc": "Auto Calculate", - "ecl-i": "ECL", - "hit-dice-i": "HD", - "hit-dietype-i": "HD T.", - "hit-diceTotal-i": "HD Total", - "skillPointLiv-i": "S.P./lvl.", - "totSkillPoint-i": "S.P. tot.", - "totSkillPoint": "Skill Points Total", + "autoCalc": "Oblicz automatycznie", + "ecl-i": "RPP", + "hit-dice-i": "KW", + "hit-dietype-i": "KW T.", + "hit-diceTotal-i": "Suma KW", + "skillPointLiv-i": "P.U./poz.", + "totSkillPoint-i": "P.U. sum.", + "totSkillPoint": "Punkty Umiejętności Suma", "age": "Wiek", "height": "Wzrost", "weight": "Waga", "eyes": "Oczy", "hair": "Włosy", - "stats": "Stats", - "weapons": "Weapons", + "stats": "Statystyki", + "weapons": "Bronie", "armor-class-i": "KP", "equipment": "Ekwipunek", - "turn-undead": "Turn Undead", + "turn-undead": "Zamiana w nieumarłego", "skills": "Umiejętności", "spells": "Czary", "notes": "Notatki", "miscellaneous": "Inne", - "all": "All", - "abilities": "Abilities", - "ability-scores": "Ability Scores", - "ability": "Ability", + "all": "Wszystkie", + "abilities": "Atrybuty", + "ability-scores": "Wartości atrybutów", + "ability": "Atrybut", "total": "Suma", "modifier": "Mod.", "base": "Bazowy", - "temporary": "Temp", - "strength-i": "Sił", - "note": "Note", + "temporary": "Tymcz.", + "strength-i": "S", + "note": "Notatka", "dexterity-i": "ZR", - "constitution-i": "Kon", + "constitution-i": "BD", "intelligence-i": "INT", - "wisdom-i": "Mdr", - "charisma-i": "Cha", - "show-ability-macros": "Show Ability Macros", + "wisdom-i": "RZT", + "charisma-i": "CHA", + "show-ability-macros": "Pokaż makra atrybutów", "hit-points-i": "PW", - "hit-pointsTotal-i": "HP Total", + "hit-pointsTotal-i": "Suma PW", "hit-points": "Punkty Wytrzymałości", - "current-hit-points": "Current HP", + "current-hit-points": "Aktualne PW", "max": "Maks.", - "nonlethal-damage": "Nonlethal Damage", - "damage": "Damage", - "var-damage": "Var. Damage", - "initiative-u": "INITIATIVE", - "dexterity-modifier": "Dex Mod", - "miscellaneous-modifier-a": "Misc Mod", - "speed-u": "SPEED", - "speed": "Speed", - "load": "Load", - "alternate-movement": "Alternate Movement", - "fly": "Fly", - "perfect": "Perfect", - "good": "Good", - "average": "Average", - "poor": "Poor", - "clumsy": "Clumsy", + "nonlethal-damage": "Stłuczenia", + "damage": "Obrażenia", + "var-damage": "Rozm. obrażenia", + "initiative-u": "INICJATYWA", + "dexterity-modifier": "Mod. ze ZR", + "miscellaneous-modifier-a": "Rozm. Mod.", + "speed-u": "SZYBKOŚĆ", + "speed": "Szybkość", + "load": "Udźwig", + "alternate-movement": "Ruch alternatywny", + "fly": "Latanie", + "perfect": "Idealny", + "good": "Dobry", + "average": "Przeciętny", + "poor": "Słaby", + "clumsy": "Niezdarny", "none": "Brak", - "maneuverability": "Maneuverability", - "glide": "Glide", - "climb": "Climb", - "burrow": "Burrow", - "swim": "Swim", - "armor-class": "Armor Class", - "ability-modifier-a": "Ability Mod", - "armor-bonus-a": "Armor Bns", - "size-modifier-a": "Size Mod", - "dodge": "Dodge", - "natural-armor-a": "Nat. Armor", - "deflection": "Deflection", - "armor-check-penalty-i": "AC Pen", - "touch-u": "TOUCH", - "flat-footed-u": "FLAT-FOOTED", - "immobile": "Immobile", + "maneuverability": "Manewrowość", + "glide": "Ślizg", + "climb": "Wspinaczka", + "burrow": "Czołganie", + "swim": "Pływanie", + "armor-class": "Klasa Pancerza", + "ability-modifier-a": "Mod. z Atr.", + "armor-bonus-a": "Premia z panc.", + "size-modifier-a": "Mod. z rozmiaru", + "dodge": "Unik", + "natural-armor-a": "Panc. naturalny", + "deflection": "Odbicie", + "armor-check-penalty-i": "Kara do testu z panc.", + "touch-u": "DOTYK", + "flat-footed-u": "NIEPRZYGOTOWANY", + "immobile": "Unieruchomiony", "damage-reduction": "Redukcja Obrażeń", - "saves-combat-notes": "Saves, Combat, Notes", + "saves-combat-notes": "Rzuty obronne, Walka, Notatki", "saving-throws-s": "Rzuty Obronne", - "base-save-s": "Base
Save", - "ability-modifier-s": "Ability
Modifier", - "epic-save-bonus-s": "Epic Save
Bonus", - "magic-modifier": "Magic
Modifier", - "miscellaneous-modifier-s": "Misc
Modifier", - "temporary-modifier-s": "Temp
Modifier", - "fortitude": "Fortitude", - "constitution": "Constitution", - "reflex": "Reflex", + "base-save-s": "Bazowy
Rzut obr.", + "ability-modifier-s": "Mod.
z atr.", + "epic-save-bonus-s": "Epicka
premia do RO", + "magic-modifier": "Modyfikator
z magii", + "miscellaneous-modifier-s": "Rozmaite
Modyfikatory", + "temporary-modifier-s": "Tymcz.
Modyfikator", + "fortitude": "Wytrwałość", + "constitution": "Budowa", + "reflex": "Refleks", "dexterity": "Zręczność", "will": "Wola", - "wisdom": "Mądrość", - "show-save-macros": "Show Save Macros", - "spell-resistance": "Spell Resist", - "arcane-spell-failure": "Arcane Spell Failure", - "base-attack": "Base Attack", - "grapple": "Grapple", - "base-attack-bonus-epic-attack-bonus-i": "BAB+ EAB", + "wisdom": "Roztropność", + "show-save-macros": "Pokaż makra rzutów obronnych", + "spell-resistance": "Odp. na czary", + "arcane-spell-failure": "Niepowodzenie Czaru Wtajemniczeń", + "base-attack": "Bazowy Atak", + "grapple": "Zwarcie", + "base-attack-bonus-epic-attack-bonus-i": "BA + EPA", "strength-modifier-a": "Mod. z Siły", - "base-attack-bonus-epic-attack-bonus-a": "Base AB
+ Epic AB", + "base-attack-bonus-epic-attack-bonus-a": "Bazowy atak
+ Epicka premia do ataku", "strength-modifier": "Modyfikator z Siły", - "size-modifier": "Modyfikator Rozmiaru", - "miscellaneous-modifier": "Misc
Modifier", - "temporary-modifier": "Temp
Modifier", - "melee": "Melee", - "attack-bonus": "Attack Bonus", - "ranged": "Ranged", - "show-grapple-and-base-attack-bonus-macros": "Show Grapple and Base Attack Macros", - "epic-levels": "Epic Levels", - "epic-save-bonus": "Epic Save Bonus", - "epic-attack-bonus": "Epic Attack Bonus", + "size-modifier": "Modyfikator z
Rozmiaru", + "miscellaneous-modifier": "Rozmaite
Modyfikatory", + "temporary-modifier": "Tymcz.
Modyfikator", + "melee": "Wręcz", + "attack-bonus": "Premia", + "ranged": "Dystansowy", + "show-grapple-and-base-attack-bonus-macros": "Pokaż makra zwarcia oraz bazowego ataku", + "epic-levels": "Poziomy Epickie", + "epic-save-bonus": "Epicka premia do RO", + "epic-attack-bonus": "Epicka premia do ataków", "languages": "Języki", "racial-abilities": "Atuty Rasowe", "class-abilities": "Atuty klasowe", - "feats": "Feats", - "other": "Other", - "summons": "Summons", - "summoned": "Summoned", - "available": "Available", - "used": "Used", - "weapon": "Weapon", - "attack-damage-separate-roll": "Attack and Damage separate roll", - "attack-damage-single-roll": "Attack and Damage single roll", - "plain-critic-macro-roll": "Plain critic macro", - "reroll-critic-damage-roll": "Reroll critic damage", - "multiply-critic-damage-roll": "Multiply critic damage", - "single-attack": "Single Attack", - "full-attack": "Full Attack", - "damage-roll": "Damage Roll", - "single-attack-damage": "Single Attack and Damage", - "weapon-enhancement-a": "Weapon Enh", - "weapon-focus-s": "Weapon
Focus", - "weapon-specialization-as": "Weapon
Specialize", - "attack": "Attack", - "attack-enhancement-a": "Attack Enh", - "attack-focus-s": "Attack
Focus", - "attack-specialization-as": "Attack
Specialize", - "critical": "Critical", - "range": "Range", - "ammunition": "Ammunition", - "attack-ability": "Attack Ability", - "damage-ability": "Damage Ability", - "special-properties": "Special Properties", - "strength-a": "Str", - "dexterity-a": "Dex", - "wisdom-a": "Wis", + "feats": "Atuty", + "other": "Inne", + "summons": "Chowańce", + "summoned": "Przywołane", + "available": "Dostępne", + "used": "Zużyte", + "weapon": "Broń", + "attack-damage-separate-roll": "Osobne rzuty na atak i obrażenia", + "attack-damage-single-roll": "Pojedynczy rzut na atak i obrażenia", + "plain-critic-macro-roll": "Zwykłe makro krytyka", + "reroll-critic-damage-roll": "Przerzuć krytyczne obrażenia", + "multiply-critic-damage-roll": "Pomnóż krytyczne obrażenia", + "single-attack": "Pojedynczy atak", + "full-attack": "Pełny atak", + "damage-roll": "Rzut na obrażenia", + "single-attack-damage": "Pojedynczy atak i obrażenia", + "weapon-enhancement-a": "Uspr. broni", + "weapon-focus-s": "Zogni.
Broni", + "weapon-specialization-as": "Spec.
w broni", + "attack": "Atak", + "attack-enhancement-a": "Uspr. ataku", + "attack-focus-s": "Zogni.
Ataku", + "attack-specialization-as": "Spec.
w ataku", + "critical": "Krytyk", + "range": "Zasięg", + "ammunition": "Amunicja", + "attack-ability": "Atrybut ataku", + "damage-ability": "Atrybut obrażeń", + "special-properties": "Specjalne właściwości", + "strength-a": "Sił", + "dexterity-a": "Zr", + "wisdom-a": "Mdr", "intelligence-a": "Int", - "half-strength": "1/2 Str", - "strength-and-half-strength": "Str+1/2Str", - "strength-and-intelligence": "Str+Int", - "strength-and-dexterity": "Str+dex", - "strength-and-dexterity-and-intelligence": "Str+Dex+Int", - "attack-calculation-a": "Attack Calc", - "macro": "Macro", - "full-attack-macro": "Full Attack Macro", - "damage-calculation-a": "Damage Calc", - "critical-calculation-a": "Crit Calc", - "damage-macro": "Damage Macro", - "other-weapons": "Other Weapons", - "other-attacks": "Other Attacks", - "immobilized": "Immobilized", - "armor-check-penalty-a": "Armor Check Pen", - "armor": "Armor", - "armor-class-items-i": "AC Items", - "armor-name": "Armor Name", - "bonus": "Bonus", - "maximum-dexterity-a": " Max Dex ", - "check-penalty": " Check Penalty ", - "spell-failure": "Spell Failure", - "shield": "Shield", - "armor-bonus": "Armor Bonus", - "properties": "Properties", - "other-armor-class": "Other Armor Class", - "other-armor-class-i": "Other AC", - "ability-bonuses": "Ability Bonuses", - "bonus-for-armor-class-i": "Bonus for AC", - "touch-armor-class-a": "Touch AC", - "flat-footed-armor-class-i": "FF AC", - "immobilized-armor-class-i": "Immobilized AC", - "ability-armor-class-info": "Typically: part of AC and Touch AC. Penalty is part of FF AC and Immobilized AC, bonus is not. Capped by Armor and Load.", + "half-strength": "1/2 Sił", + "strength-and-half-strength": "Sił+1/2Sił", + "strength-and-intelligence": "Sił+Int", + "strength-and-dexterity": "Sił+Zr", + "strength-and-dexterity-and-intelligence": "Sił+Zr+Int", + "attack-calculation-a": "Kalkulacja ataku", + "macro": "Makro", + "full-attack-macro": "Makro pełny atak", + "damage-calculation-a": "Kalkulacja obrażeń", + "critical-calculation-a": "Kalkulacja krytyka", + "damage-macro": "Makro obrażeń", + "other-weapons": "Inne Bronie", + "other-attacks": "Inne Ataki", + "immobilized": "Unieruchomiony", + "armor-check-penalty-a": "Kara do testu z pancerza", + "armor": "Zbroja", + "armor-class-items-i": "Przedmioty KP", + "armor-name": "Pancerz", + "bonus": "Premia", + "maximum-dexterity-a": " Maks. Zr ", + "check-penalty": " Kara do Testu ", + "spell-failure": "Niepow. Czaru", + "shield": "Tarcza", + "armor-bonus": "Premia z panc.", + "properties": "Właściwości", + "other-armor-class": "Inna Klasa Pancerza", + "other-armor-class-i": "Inna KP", + "ability-bonuses": "Premie z atrybutów", + "bonus-for-armor-class-i": "Premia do KP", + "touch-armor-class-a": "Dotyk KP", + "flat-footed-armor-class-i": "Nieprzygotowany KP", + "immobilized-armor-class-i": "Unieruchomiony KP", + "ability-armor-class-info": "Zazwyczaj: część KP i Dotyk KP. Kara jest częścią Nieprzygotowany KP i Unieruchomiony KP, premia nie. Ograniczony przez Zbroję i Udźwig.", "name": "Nazwa", - "armor-class-bonus-i": "AC Bonus", - "capped?": "Capped?", - "capped-armor-class-bonus-i": "Capped AC Bonus", - "in-touch-armor-class?-i": "In Touch AC?", - "in-flat-footed-armor-class?-i": "In FF AC?", - "source/notes": "Source/Notes", - "dexterity-bonus-a": "Dex Bonus", - "dexterity-armor-class-modification-info": "Limited by Armor and Load; In AC and Touch AC; *Not in FF AC(except for penalty).", - "armor-class-info": " Component of AC and FF AC; Not component of Touch AC ", - "from-armor-above": "From Armor, above. ", - "from-shield-above": "From Shield, above. ", - "natural-armor": "Natural Armor", - "natural-armor-class-info": " Component of AC and FF AC; Not component of Touch AC ", - "current-natural-armor-bonus": "Current Natural Armor Bonus", - "dodge-armor-class-info": " Component of AC and Touch AC; Not a component of FF AC. ", - "current-dodge-bonus": "Current Dodge Bonus", - "deflection-armor-class-info": " Component of AC, Touch AC, and FF AC. ", - "current-deflection-bonus": "Current Deflection Bonus", - "miscellaneous-armor-class-i": "Misc AC", - "miscellaneous-armor-class-info": " Potential component of AC, Touch AC, FF or Immobilized AC. ", - "in-armor-class?-i": "In AC?", - "in-immobilized-armor-class?-i": "In Immobl AC?", - "current-miscellaneous-armor-class-bonus": "Current Misc AC Bonus", - "encumbrance/load": "Encumbrance/Load", - "encumbrance-and-load": "Encumbrance and Load", - "light-load": " Light Load ", - "medium-load": " Medium Load ", - "heavy-load": " Heavy Load ", - "lift-over-head-a": " Lift Over ", - "lift-off-ground": " Lift Off Ground ", - "push/drag": " Push/ Drag ", - "or-less": "or less", - "weight-carried": " Weight Carried ", - "character-size-a": " Char Size ", - " data-i18n=": " Load ", - "speed-30ft": " Speed (30 ft.)", - "speed-20ft": " Speed (20 ft.)", - "run": " Run", - "colossal-quadruped": "Colossal Quadruped", - "gargantuan-quadruped": "Gargantuan Quadruped", - "huge-quadruped": "Huge Quadruped", - "large-quadruped": "Large Quadruped", - "medium-quadruped": "Medium Quadruped", - "small-quadruped": "Small Quadruped", - "tiny-quadruped": "Tiny Quadruped", - "diminutive-quadruped": "Diminutive Quadruped", - "fine-quadruped": "Fine Quadruped", - "light": "Światło", - "heavy": "Heavy", + "armor-class-bonus-i": "Premia KP", + "capped?": "Ograniczony?", + "capped-armor-class-bonus-i": "Ograniczona premia KP", + "in-touch-armor-class?-i": "W Dotyk KP?", + "in-flat-footed-armor-class?-i": "W Nieprzyg. KP?", + "source/notes": "Źródło/Notatki", + "dexterity-bonus-a": "Premia ze ZR", + "dexterity-armor-class-modification-info": "Ograniczony przez Zbroję i Udźwig; W KP i Dotyk KP; *Nie w Nieprzyg. KP(oprócz kary).", + "armor-class-info": " Część KP i Nieprzygotowany KP; Nie jest częścią Dotyk KP ", + "from-armor-above": "Ze Zbroi, powyżej. ", + "from-shield-above": "Z Tarczy, powyżej. ", + "natural-armor": "Zbroja Naturalna", + "natural-armor-class-info": " Część KP i Nieprzygotowany KP; Nie jest częścią Dotyk KP ", + "current-natural-armor-bonus": "Aktualna Premia ze Zbroi Naturalnej", + "dodge-armor-class-info": " Część KP i Dotyk KP; Nie jest częścią Nieprzygotowany AC. ", + "current-dodge-bonus": "Aktualna Premia z Uniku", + "deflection-armor-class-info": " Część KP, Dotyk KP i Nieprzygotowany KP. ", + "current-deflection-bonus": "Aktualna Premia z Odbicia", + "miscellaneous-armor-class-i": "Rozm. KP", + "miscellaneous-armor-class-info": " Potencjalna część KP, Dotyk KP, Nieprzygotowany lub Unieruchomiony KP. ", + "in-armor-class?-i": "W KP?", + "in-immobilized-armor-class?-i": "W Unieru. KP?", + "current-miscellaneous-armor-class-bonus": "Aktualna Rozm. Premia KP", + "encumbrance/load": "Obciążenie/Udźwig", + "encumbrance-and-load": "Obciążenie i Udźwig", + "light-load": " Lekki Udźwig ", + "medium-load": " Średni Udźwig ", + "heavy-load": " Ciężki Udźwig ", + "lift-over-head-a": " Podnoszenie nad Głową ", + "lift-off-ground": " Podnoszenie z Ziemi ", + "push/drag": " Pchanie/ Ciągnięcie ", + "or-less": "lub mniej", + "weight-carried": " Łączne Obciążenie ", + "character-size-a": " Rozmiar Postaci ", + " data-i18n=": " Udźwig ", + "speed-30ft": " Szybkość (30 ft.)", + "speed-20ft": " Szybkość (20 ft.)", + "run": " Bieg", + "colossal-quadruped": "Kolosalny Czworonożny", + "gargantuan-quadruped": "Olbrzymi Czworonożny", + "huge-quadruped": "Wielki Czworonożny", + "large-quadruped": "Duży Czworonożny", + "medium-quadruped": "Średni Czworonożny", + "small-quadruped": "Mały Czworonożny", + "tiny-quadruped": "Malutki Czworonożny", + "diminutive-quadruped": "Drobny Czworonożny", + "fine-quadruped": "Filigranowy Czworonożny", + "light": "Lekki", + "heavy": "Ciężki", "feet-i": "ft", - "single-use-items": "Single Use Items", - "quantity-a": "Qty", - "cost(gp)": "Cost (gp)", - "total-cost(gp)-i": "T_Cost (gp)", - "weight-a": "Wt ()", - "total-weight-a": "T_Wt ()", - "hitpoints-i": "HPs", - "hardness-a": "Hard", - "location": "Location", - "total-cost": "Total Cost", - "gold-pieces-i": "gp", - "total-weight": "Total Weight:", - "not-copied": "Not Copied", - "total-weight-copied": "Total Weight Copied to Weight Carried", - "magic-items": "Magic Items", - "magic-items-slots": "Magic Items Slots", - "other-items": "Other Items", - "head": "Head", - "face": "Face", - "throat": "Throat", - "shoulders": "Shoulders", - "body": "Body", - "torso": "Torso", - "arms": "Arms", - "hands": "Hands", - "ring": "Ring", - "waist": "Waist", - "money": "Money", - "copper-pieces-iu": "CP", - "silver-pieces-iu": "SP", - "gold-pieces-iu": "GP", - "platinum-pieces-iu": "PP", - "skill-points-per-level-a": "Skill Points/Lvl", - "global-skill-bonus": "Global Skill bonus", - "bonus-to-all-skill-ckecks": "This bonus is applied to all skill checks", - "skill-names": "Skill Names", - "total-bonus-s": "Total
Bonus", - "stat": "Stat", - "ability-modifier-as": "Ability
Mod.", - "ranks": "Ranks", - "armor-penalty-s": "Armor
Penalty", - "miscellaneous-modifier-as": "Misc
Mod.", - "damage-bonus-as": "Damage
Bonus", - "whisper-gm": "Whisper
GM", - "yes": "Yes", - "no": "No", - "turning-check": "Turning Check", - "full-turning-check": "Full Turning Check", - "turning-bonus": "Turning Bonus", - "turning-damage": "Turning Damage", - "cha-mod": "Cha. Mod.", - "times-per-day": "Times per day", - "turning-level": "Turning level", - "appraise": "Appraise", - "not-applicable": "N/A", - "balance": "Balance", - "bluff": "Bluff", + "single-use-items": "Przedmioty Jednorazowego Użytku", + "quantity-a": "Ilość", + "cost(gp)": "Wartość (sz)", + "total-cost(gp)-i": "C_Wartość (sz)", + "weight-a": "Waga ()", + "total-weight-a": "C_Waga ()", + "hitpoints-i": "PW", + "hardness-a": "Twardość", + "location": "Położenie", + "total-cost": "Całkowita Wartość", + "gold-pieces-i": "sz", + "total-weight": "Całkowita Waga:", + "not-copied": "Nie przekopiowana", + "total-weight-copied": "Całkowita Waga Przekopiowana do Łącznego Obciążenia", + "magic-items": "Przedmioty Magiczne", + "magic-items-slots": "Miejsca na Przedmioty Magiczne", + "other-items": "Inne Przedmioty", + "head": "Głowa", + "face": "Twarz", + "throat": "Szyja", + "shoulders": "Ramiona", + "body": "Ciało", + "torso": "Tułów", + "arms": "Ręce", + "hands": "Dłonie", + "ring": "Pierścień", + "waist": "Pas", + "money": "Pieniądze", + "copper-pieces-iu": "SM", + "silver-pieces-iu": "SS", + "gold-pieces-iu": "SZ", + "platinum-pieces-iu": "SP", + "skill-points-per-level-a": "Punkty umiejętności/Poziom", + "global-skill-bonus": "Ogólna Premia do Umiejętności", + "bonus-to-all-skill-ckecks": "Ta premia jest stosowana do wszystkich rzutów na umiejętność", + "skill-names": "Nazwy Umiejętności", + "total-bonus-s": "Całkowita
Premia", + "stat": "Atrybut
Kluczowy", + "ability-modifier-as": "Mod. z
atrybutu", + "ranks": "Rangi", + "armor-penalty-s": "Kara z
Pancerza", + "miscellaneous-modifier-as": "Rozm.
Mod.", + "damage-bonus-as": "Premia do
Obrażeń", + "whisper-gm": "Wyślij do
MG", + "yes": "Tak", + "no": "Nie", + "turning-check": "Rzut na Zamianę", + "full-turning-check": "Rzut na Pełną Zamianę", + "turning-bonus": "Premia do Zamiany", + "turning-damage": "Obrażenia Zamiany", + "cha-mod": "Mod. z CHA", + "times-per-day": "Razy na dzień", + "turning-level": "Poziom zamiany", + "appraise": "Szacowanie", + "not-applicable": "nd.", + "balance": "Równowaga", + "bluff": "Blefowanie", "charisma-a": "Cha", - "concentration": "Concentration", - "constitution-a": "Con", - "craft": "Craft", - "decipher-script": "Decipher Script", - "diplomacy": "Diplomacy", - "disable-device": "Disable Device", - "disguise": "Disguise", - "escape-artist": "Escape Artist", - "forgery": "Forgery", - "gather-information": "Gather Information", - "handle-animal": "Handle Animal", - "heal": "Heal", - "hide": "Ukryj", - "intimidate": "Intimidate", - "jump": "Jump", - "knowledge": "Knowledge", - "arcana": "Arcana", - "engineering-a": "Engineer", - "dungeoneering-a": "Dungeon", - "geography": "Geography", - "history": "History", - "local": "Local", + "concentration": "Koncentracja", + "constitution-a": "Bd", + "craft": "Rzemiosło", + "decipher-script": "Odcyfrowywanie Zapisków", + "diplomacy": "Dyplomacja", + "disable-device": "Unieszkodliwianie Mechanizmów", + "disguise": "Przebieranie", + "escape-artist": "Wyzwalanie się", + "forgery": "Fałszerstwo", + "gather-information": "Zbieranie Informacji", + "handle-animal": "Postępowanie ze Zwięrzętami", + "heal": "Leczenie", + "hide": "Ukrywanie", + "intimidate": "Zastraszanie", + "jump": "Skakanie", + "knowledge": "Wiedza", + "arcana": "Tajemna", + "engineering-a": "Inżynieria", + "dungeoneering-a": "Lochy", + "geography": "Geografia", + "history": "Historia", + "local": "Lokalna", "nature": "Natura", - "nobility": "Nobility", - "religion": "Religion", - "the-planes": "The Planes", - "listen": "Listen", - "move-silently": "Move Silently", - "open-lock": "Open Lock", - "perform": "Perform", - "profession": "Profession", - "ride": "Ride", - "search": "Wyszukaj", - "sense-motive": "Sense Motive", - "sleight-of-hand": "Sleight of Hand", - "spellcraft": "Spellcraft", - "spot": "Spot", - "survival": "Survival", - "tumble": "Tumble", - "use-magic-device": "Use Magic Device", - "use-rope": "Use Rope", - "other-skills": "Other Skills", - "skill-name": "Skill Name", - "ability-stat-s": "Ability
Stat", - "trained-only": "Trained Only", - "caster-level": "Caster Level", - "manifester-level": "Manifester Level", - "invocer-level": "Invocer Level", - "spells-per-day": "Spells/Day", - "domain": "Domain", + "nobility": "Szlachta", + "religion": "Religia", + "the-planes": "Plany", + "listen": "Nasłuchiwanie", + "move-silently": "Ciche Poruszanie", + "open-lock": "Otwieranie Zamków", + "perform": "Występy", + "profession": "Profesja", + "ride": "Jeździectwo", + "search": "Przeszukiwanie", + "sense-motive": "Wyczucie Pobódek", + "sleight-of-hand": "Kradzież Kieszonkowa", + "spellcraft": "Czarostwo", + "spot": "Zauważanie", + "survival": "Tajniki Dziczy", + "tumble": "Upadanie", + "use-magic-device": "Stosowanie Magicznych Urządzeń", + "use-rope": "Stosowanie Liny", + "other-skills": "Inne Umiejętności", + "skill-name": "Nazwa Umiejętności", + "ability-stat-s": "Atrybut
Kluczowy", + "trained-only": "Tylko Wyszkolony", + "caster-level": "Poziom Czarującego", + "manifester-level": "Poziom Manifestującego", + "invocer-level": "Poziom Inwokującego", + "spells-per-day": "Czarów/Dzień", + "domain": "Domena", "zero": "0", - "first": "1st", - "second": "2nd", - "third": "3rd", - "fourth": "4th", - "fifth": "5th", - "sixth": "6th", - "seventh": "7th", - "eighth": "8th", - "ninth": "9th", - "casting-ability": "Casting Ability", - "manifesting-ability": "Manifesting Ability", - "invocing-ability": "Invocing Ability", - "spell-difficulty-classes": "Spell DC's", - "power-difficulty-classes": "Power DC's", - "dc": "DC", - "invocation-difficulty-classes": "Invocation DC's", - "spell-penetration-a": "Spell Pen", - "spell-focus": "Spell Focus", - "abjuration": "Abjuration", - "conjuration": "Conjuration", - "divination": "Divination", - "enchantment": "Enchantment", - "evocation": "Evocation", - "illusion": "Illusion", - "necromancy": "Necromancy", - "transmutation": "Transmutation", - "power-points": "Power Points", - "maneuvers-known": "Maneuvers Known", - "maneuvers-readied": "Maneuvers Readied", - "stances-known": "Stances Known", - "spell-level": "Spell Level", - "power-level": "Power Level", - "maneuver-level": "Maneuver Level", - "initiator-level": "Initiator Level", - "invocation-level": "Invocation Level", + "first": "1-szy", + "second": "2-gi", + "third": "3-ci", + "fourth": "4-ty", + "fifth": "5-ty", + "sixth": "6-ty", + "seventh": "7-my", + "eighth": "8-my", + "ninth": "9-ty", + "casting-ability": "Atrybut Rzucania", + "manifesting-ability": "Atrybut Manifestacji", + "invocing-ability": "Atrybut Inwokacji", + "spell-difficulty-classes": "ST Czaru", + "power-difficulty-classes": "ST Mocy", + "dc": "ST", + "invocation-difficulty-classes": "ST Inwokacji", + "spell-penetration-a": "Przenikanie Czaru", + "spell-focus": "Zogniskowanie Czaru", + "abjuration": "Odpychanie", + "conjuration": "Przyzywanie", + "divination": "Wieszczenie", + "enchantment": "Zaklinanie", + "evocation": "Wywoływanie", + "illusion": "Iluzja", + "necromancy": "Nekromancja", + "transmutation": "Transmutacja", + "power-points": "Punkty Mocy", + "maneuvers-known": "Znane Manewry", + "maneuvers-readied": "Gotowe Manewry", + "stances-known": "Znane Postawy", + "spell-level": "Poziom Czaru", + "power-level": "Poziom Mocy", + "maneuver-level": "Poziom Manewru", + "initiator-level": "Poziom Inicjatora", + "invocation-level": "Poziom Inwokacji", "invocation-level-least": "Invocation Level Least", "invocation-level-lesser": "Invocation Level Lesser", "invocation-level-greater": "Invocation Level Greater", "invocation-level-dark": "Invocation Level Dark", - "ability-level": "Ability Level", - "spell-section": "Spell Section", - "spellBaseMode": "Base Mode", - "spellFullMode": "Full Mode", - "divine-spells": "Divine Spells", - "arcane-spells": "Arcane Spells", - "psionic-powers": "Psionic Powers", - "maneuvers-stances": "Maneuvers & Stances", - "invocations": "Invocations", - "spell-like-abilites": "Spell Like Abilities", - "use-prep": "Use/Prep", - "use-prep-dom": "Use/Prep/Dom", - "lev-dc": "Lev/DC", - "use-gran-read": "Use/Gra/Rea", - "spell-name": " Spell name", - "power-name": " Power name", - "invocation-name": " Invocation name", - "maneuver-name": " Maneuver name ", - "ability-name": " Ability name", - "spell-actions-description": " Spell Actions Description", - "reset-used": "Reset Used", - "reset-prepared": "Reset Prepared", - "print-available-spells": "Print Available Spells", - "print-available-powers": "Print Available Powers", - "print-available-invocations": "Print Available Invocations", - "print-available-spell-like": "Print Available Spell Like Abilities", - "reset-readied": "Reset Readied", - "reset-granted": "Reset Granted", - "grant-maneuvers": "Grant Maneuvers", - "new-maneuvers-gained": "New Maneuvers Gained", - "manuevers-granted": "Maneuvers Granted", - "manuevers-used": "Maneuvers Used", - "available-spells": "Available Spells", - "new-manuevers-granted": "New Maneuvers Granted", - "level-a": "Lvl", - "school": "School (Subschool)", - "descriptor": "Descriptor", - "components": "Comp.", - "augment": "Aug.", - "display": "Display", - "casting-time": "Casting Time", - "target-effect-area": "Targ./Eff./Area", - "duration": "Duration", - "ready": "Ready", - "discipline": "Discipline", - "initiation-action": "Initiation Action", - "st": "ST", - "sr": "SR", + "ability-level": "Poziom Zdolności", + "spell-section": "Sekcja Zaklęć", + "spellBaseMode": "Tryb Podstawowy", + "spellFullMode": "Tryb Pełny", + "divine-spells": "Czary Objawień", + "arcane-spells": "Czary Wtajemniczeń", + "psionic-powers": "Moce Psioniczne", + "maneuvers-stances": "Manewry i Postawy", + "invocations": "Inwokacje", + "spell-like-abilites": "Zdolności czaropodobne", + "use-prep": "Użyte/Przyg.", + "use-prep-dom": "Użyte/Przyg./Dom.", + "lev-dc": "Poz/ST", + "use-gran-read": "Użyte/Nad./Got.", + "spell-name": " Nazwa czaru", + "power-name": " Nazwa mocy", + "invocation-name": " Nazwa inwokacji", + "maneuver-name": " Nazwa manewru ", + "ability-name": " Nazwa zdolności", + "spell-actions-description": " Opis Działania Czaru", + "reset-used": "Zresetuj Użyte", + "reset-prepared": "Zresetuj Przygotowane", + "print-available-spells": "Wypisz Dostępne Zaklęcia", + "print-available-powers": "Wypisz Dostępne Moce", + "print-available-invocations": "Wypisz Dostępne Inwokacje", + "print-available-spell-like": "Wypisz Dostępne Zdolności Czaropodobne", + "reset-readied": "Zresetuj Gotowe", + "reset-granted": "Zresetuj Nadane", + "grant-maneuvers": "Nadaj Manewry", + "new-maneuvers-gained": "Otrzymane Nowe Manewry", + "manuevers-granted": "Nadane Manewry", + "manuevers-used": "Manewry Użyte", + "available-spells": "Dostępne Czary", + "new-manuevers-granted": "Nadane Nowe Manewry", + "level-a": "Poz.", + "school": "Szkoła (Podszkoła)", + "descriptor": "Określnik", + "components": "Komp.", + "augment": "Podn.", + "display": "Przejawy", + "casting-time": "Czas Rzucania", + "target-effect-area": "Cel/Efekt/Obszar", + "duration": "Czas Trwania", + "ready": "Gotowy", + "discipline": "Dyscyplina", + "initiation-action": "Akcja Inicjująca", + "st": "RO", + "sr": "OC", "pr": "PR", - "emote-macro": "Emote/macro", - "show?": "Show?", - "date": "Date", - "note-etc": "Note etc", - "ability-recalc-info": "Ability score recalc. Click this box to force a recalc of the ability scores.", - "weight-setup-info1": " Weight unit setup for weight calculations.", - "weight-setup-info2": " Unit should be an abbreviation of 2 or 3 characters.", - "length-setup-info1": " Length unit setup for speed calculations.", - "length-setup-info2": " Unit should be an abbreviation of 2 or 3 characters.", - "scaling-factor": " Scaling factor ", - "unit": " Unit ", - "pound": " pound ", - "feet": " feet ", - "pronouns": "Pronouns", - "pronoun-setup-info": "For use in macros if desired. Enter your preferred pronoun for the following categories.", - "subjective-pronoun": "Subjective", - "he/she/it/they/etc": "he/she/it/they/etc", - "objective-pronoun": "Objective", - "him/her/it/them/etc": "him/her/it/them/etc", - "possessive-pronoun": "Possessive", - "his/hers/its/their/etc": "his/hers/its/their/etc", - "hit-dice": "Hit Dice", - "max-hit-points-a": "Max HP", - "initiative": "Initiative", - "armor-class-modification-info-a": "Armor Class Mod Info", - "touch": "Touch", - "touch-armor-class-i": "T AC", - "flat-footed-i": "FF", - "attack-macro": "Attack Macro", - "space": "Space", - "reach": "Reach", - "special-attacks": "Special Attacks", - "special-qualities": "Special Qualities", - "saves": "Saves", - "fortitude-a": "Fort", + "emote-macro": "Emotka/makro", + "show?": "Pokazać?", + "date": "Data", + "note-etc": "Notatka itp.", + "ability-recalc-info": "Przekalkulowanie wartości atrybutów. Kliknij w to pole aby wymusić przekalkulowanie wartości atrybutów.", + "weight-setup-info1": " Ustawienia jednostek wagi dla kalkulacji wagi.", + "weight-setup-info2": " Jednostka powinna być skrótem 2 lub 3 znakowym.", + "length-setup-info1": " Ustawienia jednostek długości dla kalkulacji szybkości.", + "length-setup-info2": " Jednostka powinna być skrótem 2 lub 3 znakowym.", + "scaling-factor": " Współczynnik skalowania ", + "unit": " Jednostka ", + "pound": " funt ", + "feet": " stopa ", + "pronouns": "Zaimki", + "pronoun-setup-info": "W razie potrzeby, do użytku w makrach. Wprowadź swój preferowany zaimek dla poniższych kategorii.", + "subjective-pronoun": "Podmiot", + "he/she/it/they/etc": "on/ona/ono/oni/itp", + "objective-pronoun": "Dopełnienie", + "him/her/it/them/etc": "jego/jej/tego/ich/itp", + "possessive-pronoun": "Dzierżawczy", + "his/hers/its/their/etc": "jego/jej/tego/ich/itp", + "hit-dice": "Kości Wytrzymałości", + "max-hit-points-a": "Maks. PW", + "initiative": "Inicjatywa", + "armor-class-modification-info-a": "Info. o Mod. Klasy Pancerza", + "touch": "Dotyk", + "touch-armor-class-i": "D KP", + "flat-footed-i": "NIEPRZYG.", + "attack-macro": "Makro Ataku", + "space": "Front", + "reach": "Zasięg", + "special-attacks": "Specjalne Ataki", + "special-qualities": "Specjalne Cechy", + "saves": "Rzuty Obronne", + "fortitude-a": "Wytrw", "reflex-a": "Ref", - "environment": "Environment", - "organization": "Organization", - "challenge-rating": "Challenge Rating", - "challenge-rating-i": "CR", - "treasure": "Treasure", - "advancement": "Advancement", - "level-adjustment": "Level Adjustment", - "description-etc": "Description etc", - "combat-u": "COMBAT", - "combat-information": "Combat information", - "roll-templates": "Roll Templates", - "attack-roll": " Attack Roll: " + "environment": "Klimat/teren", + "organization": "Organizacja", + "challenge-rating": "Stopień Wyzwania", + "challenge-rating-i": "SW", + "treasure": "Skarb", + "advancement": "Rozwój", + "level-adjustment": "Dostosowanie poziomu", + "description-etc": "Opis itp.", + "combat-u": "WALKA", + "combat-information": "Informacje o walce", + "roll-templates": "Szablony Rzutów", + "attack-roll": " Rzut na Atak: " } diff --git a/Dark_Heresy/translations/fr.json b/Dark_Heresy/translations/fr.json index d21c9c5cb0..92f07f1d26 100644 --- a/Dark_Heresy/translations/fr.json +++ b/Dark_Heresy/translations/fr.json @@ -100,7 +100,7 @@ "range_m:": "M:", "range_f:": "F:", "range_e:": "E:", - "range_description": "The input fields always show the maximum value for the distance category and the minimum value is always the previous category +1", + "range_description": "Les champs de saisie affichent toujours la valeur maximale pour la catégorie de distance et la valeur minimale est toujours la catégorie précédente +1", "type:": "Type", "rof:": "Modes", "clip:": "AT", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translation.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translation.json index 7ef52811c0..cf4afbe1bd 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translation.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translation.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/af.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/af.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/af.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/af.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ca.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ca.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ca.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ca.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/cs.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/cs.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/cs.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/cs.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/da.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/da.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/da.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/da.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/de.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/de.json index 42ddf9d421..bd44b699b5 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/de.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/de.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/el.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/el.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/el.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/el.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/en.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/en.json index 4caa3fdebd..d2146095e2 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/en.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/en.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Blasrohre,Bögen,Raufen,Kettenwaffen,Armbrüste,Dolche,Diskusse,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Lanzen,Spiesswaffen,Stangenwaffen,Schilde,Schleudern,Schwerter,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter,Peitschen", "koerpertalente-liste": "koerperbeherrschung,zechen,klettern,tanzen,kraftakt,fliegen,gaukeleien,sinnesschaerfe,taschendiebstahl,reiten,selbstbeherrschung,singen,verbergen,schwimmen", - "gesellschaftstalente-liste": "verkleiden,menschenkenntnis,etikette,ueberreden,einschuechtern,loyalitaet,bekehren,betoeren,gassenwissen,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "tierkunde,fischen,orientierung,pflanzenkunde,fesseln,wildnisleben,faehrtensuchen", "wissenstalente-liste": "sternkunde,glueckspiel,geographie,geschichtswissen,rechtskunde,magiekunde,rechnen,mechanik,sagenlegenden,goetterkulte,sphaerenkunde,kriegskunst", "handwerkstalente-liste": "alchemie,malenzeichnen,stoffbearbeitung,handel,fahrzeuge,steinbearbeitung,lederbearbeitung,metallbearbeitung,musizieren,schloesserknacken,lebensmittelbearbeitung,boote,hkkrankheiten,hkgift,hkseele,hkwunden,holzbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/es.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/es.json index 29432e9e0a..778346430d 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/es.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/es.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fi.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fi.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fi.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fi.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fr.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fr.json index b5b22c35cb..5c24018679 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fr.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/fr.json @@ -623,7 +623,7 @@ "zustaende-liste": "verwirrung,schmerz,belastung,betaeubung,erregung,entrueckung,paralyse,furcht,trance", "kampftalente-liste": "Armbrüste,Bögen,Kettenwaffen,Fechtwaffen,Wurfwaffen,Stangenwaffen,Raufen,Schilde,Feuerspeien,Dolche,Diskusse,Schwerter,Zweihandschwerter,Faecher,Peitschen,Schleudern,Hiebwaffen,Zweihandhiebwaffen,Lanzen,Spiesswaffen,Blasrohre", "koerpertalente-liste": "sinnesschaerfe,zechen,gaukeleien,singen,tanzen,reiten,klettern,verbergen,koerperbeherrschung,selbstbeherrschung,schwimmen,kraftakt,fliegen,taschendiebstahl", - "gesellschaftstalente-liste": "gassenwissen,bekehren,verkleiden,etikette,einschuechtern,menschenkenntnis,ueberreden,betoeren,willenskraft", + "gesellschaftstalente-liste": "gassenwissen,bekehren,verkleiden,etikette,einschuechtern,loyalitaet,menschenkenntnis,ueberreden,betoeren,willenskraft", "naturtalente-liste": "pflanzenkunde,orientierung,fischen,faehrtensuchen,fesseln,wildnisleben,tierkunde", "wissenstalente-liste": "kriegskunst,sternkunde,rechnen,sagenlegenden,goetterkulte,rechtskunde,geographie,geschichtswissen,glueckspiel,magiekunde,mechanik,sphaerenkunde", "handwerkstalente-liste": "alchemie,boote,handel,fahrzeuge,schloesserknacken,lebensmittelbearbeitung,musizieren,malenzeichnen,hkseele,hkwunden,hkkrankheiten,hkgift,steinbearbeitung,holzbearbeitung,lederbearbeitung,metallbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/he.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/he.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/he.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/he.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/hu.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/hu.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/hu.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/hu.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/it.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/it.json index 2fb466e659..ba70f6a2a3 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/it.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/it.json @@ -623,7 +623,7 @@ "zustaende-liste": "verwirrung,schmerz,trance,entrueckung,belastung,paralyse,furcht,betaeubung", "kampftalente-liste": "Bögen,Kettenwaffen,Hiebwaffen,Zweihandhiebwaffen,Wurfwaffen,Fechtwaffen,Stangenwaffen,Armbrüste,Blasrohre,Diskusse,Schleudern,Peitschen,Lanzen,Raufen,Spiesswaffen,Dolche,Schilde,Schwerter,Zweihandschwerter,Feuerspeien,Faecher", "koerpertalente-liste": "klettern,selbstbeherrschung,tanzen,zechen,taschendiebstahl,singen,reiten,koerperbeherrschung,verbergen,gaukeleien,schwimmen,sinnesschaerfe,kraftakt,fliegen", - "gesellschaftstalente-liste": "verkleiden,etikette,willenskraft,einschuechtern,ueberreden,menschenkenntnis,bekehren,betoeren,gassenwissen", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "fesseln,tierkunde,pflanzenkunde,orientierung,fischen,wildnisleben,faehrtensuchen", "wissenstalente-liste": "kriegskunst,magiekunde,sternkunde,goetterkulte,geographie,glueckspiel,rechtskunde,rechnen,mechanik,sagenlegenden,sphaerenkunde,geschichtswissen", "handwerkstalente-liste": "alchemie,handel,lebensmittelbearbeitung,hkseele,hkwunden,hkkrankheiten,hkgift,malenzeichnen,fahrzeuge,lederbearbeitung,holzbearbeitung,metallbearbeitung,steinbearbeitung,musizieren,boote,stoffbearbeitung,schloesserknacken", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ja.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ja.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ja.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ja.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ko.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ko.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ko.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ko.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/nl.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/nl.json index 685c9a4207..47ed30941a 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/nl.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/nl.json @@ -623,7 +623,7 @@ "zustaende-liste": "furcht,belastung,paralyse,schmerz,trance,betaeubung,entrueckung,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "tanzen,zechen,klettern,kraftakt,gaukeleien,koerperbeherrschung,reiten,verbergen,fliegen,taschendiebstahl,selbstbeherrschung,singen,sinnesschaerfe,schwimmen", - "gesellschaftstalente-liste": "bekehren,etikette,einschuechtern,menschenkenntnis,ueberreden,gassenwissen,betoeren,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "tierkunde,fesseln,orientierung,pflanzenkunde,faehrtensuchen,fischen,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechtskunde,rechnen,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,handel,hkgift,hkwunden,hkkrankheiten,hkseele,holzbearbeitung,lederbearbeitung,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung,malenzeichnen,lebensmittelbearbeitung,fahrzeuge", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pb.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pb.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pb.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pb.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pl.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pl.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pl.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pl.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pt.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pt.json index 6d5fc93a4c..d81031122c 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pt.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/pt.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ru.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ru.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ru.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/ru.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sl.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sl.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sl.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sl.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sv.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sv.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sv.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/sv.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/tr.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/tr.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/tr.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/tr.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/uk.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/uk.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/uk.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/uk.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/zh.json b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/zh.json index cd0450547a..43acf93943 100644 --- a/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/zh.json +++ b/Das Schwarze Auge (TDE) 5 OFFICIAL by Ulisses/translations/zh.json @@ -623,7 +623,7 @@ "zustaende-liste": "belastung,betaeubung,entrueckung,furcht,paralyse,schmerz,trance,verwirrung", "kampftalente-liste": "Armbrüste,Blasrohre,Bögen,Diskusse,Dolche,Faecher,Fechtwaffen,Feuerspeien,Hiebwaffen,Kettenwaffen,Lanzen,Peitschen,Raufen,Schilde,Schleudern,Schwerter,Spiesswaffen,Stangenwaffen,Wurfwaffen,Zweihandhiebwaffen,Zweihandschwerter", "koerpertalente-liste": "fliegen,gaukeleien,klettern,koerperbeherrschung,kraftakt,reiten,schwimmen,selbstbeherrschung,singen,sinnesschaerfe,tanzen,taschendiebstahl,verbergen,zechen", - "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,menschenkenntnis,ueberreden,verkleiden,willenskraft", + "gesellschaftstalente-liste": "bekehren,betoeren,einschuechtern,etikette,gassenwissen,loyalitaet,menschenkenntnis,ueberreden,verkleiden,willenskraft", "naturtalente-liste": "faehrtensuchen,fesseln,fischen,orientierung,pflanzenkunde,tierkunde,wildnisleben", "wissenstalente-liste": "glueckspiel,geographie,geschichtswissen,goetterkulte,kriegskunst,magiekunde,mechanik,rechnen,rechtskunde,sagenlegenden,sphaerenkunde,sternkunde", "handwerkstalente-liste": "alchemie,boote,fahrzeuge,handel,hkgift,hkkrankheiten,hkseele,hkwunden,holzbearbeitung,lebensmittelbearbeitung,lederbearbeitung,malenzeichnen,metallbearbeitung,musizieren,schloesserknacken,steinbearbeitung,stoffbearbeitung", diff --git a/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.css b/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.css index 0a6e0d2ae2..24d16f3fb8 100644 --- a/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.css +++ b/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.css @@ -1283,7 +1283,7 @@ p + p { .charsheet .sheet-talent-zauber-verstandigung:checked + div.sheet-zauber, .charsheet .sheet-talent-zauber-verwandlung:checked + div.sheet-zauber, .charsheet .sheet-talent-zauber-vipernblick:checked + div.sheet-zauber, -.charsheet .sheet-talent-zauber-visibli:checked + div.sheet-zauber, +.charsheet .sheet-talent-zauber-visibili:checked + div.sheet-zauber, .charsheet .sheet-talent-zauber-vocolimbo:checked + div.sheet-zauber, .charsheet .sheet-talent-zauber-vogelzwitschern:checked + div.sheet-zauber, .charsheet .sheet-talent-zauber-warmes-blut:checked + div.sheet-zauber, diff --git a/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.html b/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.html index 37dc4dda06..c16435efe9 100644 --- a/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.html +++ b/Das_Schwarze_Auge_4-1/dsa4_1_character_sheet_roll20.html @@ -8680,9 +8680,9 @@
- - -
+ + +
KL/KO/KK
@@ -8692,9 +8692,9 @@
- - -
+ + +
IN/CH/KO
@@ -8704,9 +8704,9 @@
- - -
+ + +
MU/CH/CH
@@ -10370,16 +10370,16 @@
- +
- - -
+ + +
KL/IN/GE
- - + +
272
- +
@@ -11044,7 +11044,7 @@ - + @@ -13779,6 +13779,32 @@

+

Update auf Version 20220604

+
+

Fehlerbehebungen +

    +
  • Der interne Name des „Visibili Vanitar“ wurde korrigiert. Da auch der Name der (internen) Attribute falsch war, wurden die Daten intern auf neue Namen migriert (umgeschrieben). Alte Würfelknöpfe in beispielsweise Makroleisten sollten weiterhin funktionieren.
  • +
+

+
+ +

+

+
+ +
+
+

+ +

Update auf Version 20220524

+
+

Fehlerbehebungen +

    +
  • Die Funktionen der Würfelknöpfe für „Kraft des Erzes“, „Kraft des Humus“ und „Krähenruf“ sind nicht länger vertauscht.
  • +
+

+
+

Update auf Version 20220226

Neue Features

    @@ -14107,9 +14133,9 @@ - - - + + + @@ -14248,7 +14274,7 @@ - + @@ -14587,7 +14613,7 @@
- „Das Schwarze Auge“-Heldenbogen für Roll20.net, Version + „Das Schwarze Auge“-Heldenbogen für Roll20.net, Version

Ability
Score
Iniciativa Bonificador Daño
@@ -18046,6 +18072,9 @@ Relevant character sheet versions * INI mod from main weapon * wound mods * 20210718: Reorganisation of encumbrance +* 20211010: Clearer attribute names for life energy, astral energy etc. +* 20220116: New roll buttons +* 20220604: Visibili Vanitar spelling fixes */ function migrationCheck() { safeGetAttrs(["character_sheet_version", "data_version"], function(v) { @@ -18121,7 +18150,8 @@ var versionsWithMigrations = [ 20210413, 20210718, 20211010, - 20220116 + 20220116, + 20220604 ] /* @@ -18679,6 +18709,49 @@ function migrateTo20220116(migrationChain) { }); } +/* + Migration steps: + - Use new attributes for spell "Visibili Vanitar" +*/ +function migrateTo20220604(migrationChain) { + var caller = "migrateTo20220604"; + debugLog(caller, "Invoked."); + + var attrsToGet = [ + "zauber_visibli", + "z_visibli_action", + "Spez_visibli", + "ZfW_visibli" + ]; + + var attrsToChange = {}; + + safeGetAttrs(attrsToGet, function(v) { + for (attr of attrsToGet) + { + if (attr.match("visibli")) + { + var newAttr = attr.replace(/visibli/gm, "visibili"); + if (attr.match("z_visibli_action")) + { + attrsToChange[newAttr] = v[attr].replace(/visibli/gm, "visibili"); + } else { + attrsToChange[newAttr] = v[attr]; + } + if (attr.match("Spez_visibli") && v[attr] === 0) + { + attrsToChange[newAttr] = ""; + } + } + } + + debugLog(caller, attrsToChange); + safeSetAttrs(attrsToChange, {}, function(){ + callNextMigration(migrationChain); + }); + }); +} + on("sheet:opened", function() { migrationCheck(); safeSetAttrs({ "safe-sheet-open": Date.now() }); @@ -20804,7 +20877,7 @@ const spells = [ 'z_verstaendigungstoeren', 'z_verwandlungbeenden', 'z_vipernblick', - 'z_visibli', + 'z_visibili', 'z_vocolimbo', 'z_vogelzwitschern', 'z_wandausdornen', @@ -21335,7 +21408,7 @@ const spellsData = { 'z_verstaendigungstoeren': {'internal': "verstandigung", 'ui': "Verständigung stören", 'stats': ['KL', 'KL', 'IN']}, 'z_verwandlungbeenden': {'internal': "verwandlung", 'ui': "Verwandlung beenden", 'stats': ['KL', 'CH', 'FF']}, 'z_vipernblick': {'internal': "vipernblick", 'ui': "Vipernblick", 'stats': ['MU', 'MU', 'CH']}, - 'z_visibli': {'internal': "visibli", 'ui': "Visibli Vanitar", 'stats': ['KL', 'IN', 'GE']}, + 'z_visibili': {'internal': "visibili", 'ui': "Visibili Vanitar", 'stats': ['KL', 'IN', 'GE']}, 'z_vocolimbo': {'internal': "vocolimbo", 'ui': "Vocolimbo hohler Klang", 'stats': ['KL', 'CH', 'FF']}, 'z_vogelzwitschern': {'internal': "vogelzwitschern", 'ui': "Vogelzwitschern Glockenspiel", 'stats': ['MU', 'IN', 'GE']}, 'z_wandausdornen': {'internal': "wandausdornen", 'ui': "Wand aus Dornen", 'stats': ['MU', 'KL', 'CH']}, diff --git a/DnD_Original_DnD/translations/uk.json b/DnD_Original_DnD/translations/uk.json index 3c9a16583a..46f72a7d89 100644 --- a/DnD_Original_DnD/translations/uk.json +++ b/DnD_Original_DnD/translations/uk.json @@ -1,48 +1,48 @@ { - "name-u": "Name", - "player-u": "Player", - "race-u": "Race", - "class-u": "Class", - "levelTitle-u": "(level title)", - "alignment-u": "Alignment", - "score-u": "Score", - "bounusesAndPenalties-u": "Bonuses and Penalties", - "ac-u": "AC", - "level-u": "Level", - "str-u": "Str.", - "hp-u": "HP", - "maxhp-u": "Max HP", - "xp-u": "XP", - "int-u": "Int.", - "hd-u": "HD", - "xpBonus-u": "XP +/-", - "wis-u": "Wis.", - "fightingCapability-u": "Fighting Capability", - "con-u": "Con.", - "dex-u": "Dex.", - "findSecretPassage-u": "Find Secret Passage", - "chr-u": "Chr.", - "openDoor-u": "Open Door", - "listen-u": "Listen", - "lowScoreAverageHigh-u": "(Low score is 3–8, Average is 9–12, High is 13–18)", - "languages-u": "Languages", - "saves-u": "Saves:", - "rayPoison-u": "Ray/Poison", - "wand-u": "Wand", - "stone-u": "Stone", - "breath-u": "Breath", - "stavesSpells-u": "Staves/Spells", - "toHitAC-u": "To Hit AC:", - "misc-u": "Misc.:", - "equipment-u": "Equipment", - "treasure-u": "Treasure", - "spellsMagic-u": "Spells/Magic", - "coin-u": "Coin", - "platinum-u": "Platinum", - "gold-u": "Gold", - "silver-u": "Silver", - "copper-u": "Copper", - "electrum-u": "Electrum", - "encumberanceMovement-u": "Encumbrance/Movement", - "relative-u": "Relative" + "name-u": "Ім'я", + "player-u": "Гравець", + "race-u": "Раса", + "class-u": "Клас", + "levelTitle-u": "(рівень)", + "alignment-u": "Світогляд", + "score-u": "Показник", + "bounusesAndPenalties-u": "Бонуси та штрафи", + "ac-u": "КО", + "level-u": "Рівень", + "str-u": "Сил", + "hp-u": "ОЗ", + "maxhp-u": "Макс. ОЗ", + "xp-u": "Досв.", + "int-u": "Інт", + "hd-u": "КЗ", + "xpBonus-u": "Досв. +/-", + "wis-u": "Муд.", + "fightingCapability-u": "Бойові здібності", + "con-u": "Ста", + "dex-u": "Спр", + "findSecretPassage-u": "Пошук таємних ходів", + "chr-u": "Хар", + "openDoor-u": "Відкривання дверей", + "listen-u": "Прислухатися", + "lowScoreAverageHigh-u": "(Низький показник 3-8, Середній 9-12, високий 13-18)", + "languages-u": "Мови", + "saves-u": "Рятунок:", + "rayPoison-u": "Промінь/Отрута", + "wand-u": "Паличка", + "stone-u": "Камінь", + "breath-u": "Подих", + "stavesSpells-u": "Посохи/Заклинання", + "toHitAC-u": "КО до влучання:", + "misc-u": "Різне:", + "equipment-u": "Спорядження", + "treasure-u": "Скарби", + "spellsMagic-u": "Заклинання/Магія", + "coin-u": "Монета", + "platinum-u": "Платинова", + "gold-u": "Золота", + "silver-u": "Срібна", + "copper-u": "Мідна", + "electrum-u": "Електрумова", + "encumberanceMovement-u": "Навантаження/Рух", + "relative-u": "Пов'язане" } diff --git a/Draci Hlidka/CHANGELOG.md b/Draci Hlidka/CHANGELOG.md index c68d61967f..e8dae73fe8 100644 --- a/Draci Hlidka/CHANGELOG.md +++ b/Draci Hlidka/CHANGELOG.md @@ -1,8 +1,23 @@ -# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) + +## 1.3.0 (2022-06-08) + +### Added + +* added add active or passive ability for class or race via dropdown +* added advanced settings to display all attributes on abilities +* added new ability attributes (isAttackRoll, attackRollBonus, attackDamageBonus, isDefenseRoll, defenseRollType, defenseRollBonus, additionalManaNum, additionalDifficulty, castingAttribute, secondaryRoll, secondaryCastingAttribute, secondaryRollAgainst, damage, damageType, isMulticast, obtainedLevel, customMacro) +* added dice roll buttons to active abilities + +### Changed + +* changed ability macros are not hardcoded but generated from attributes +* changed roll template to support new macro structure ## 1.2.0 (2021-10-13) -## Changed +### Changed + * changed modifiers are counted to attributes ### Added @@ -19,7 +34,8 @@ * fixed merging settings ## 1.1.0 (2021-09-22) -## Changed + +### Changed * styles of inputs and roll buttons @@ -43,7 +59,6 @@ * fixed sections gap, fixed moved roll advange, fixed labels, fixed build comment styles, fixed build span white spaces, fixed rolltemplates, fixed roll skills with modifiers - ## 1.0.1 (2021-09-06) ### Fixed @@ -52,11 +67,10 @@ * recalculate attack and defense on weapon attribute change * eqquip first weapon - ## 1.0.0 (2021-08-31) ### Added * player character sheet * roll buttons for ability, skill or fight action -* inventory weapons equipped are synchronized to fight section \ No newline at end of file +* inventory weapons equipped are synchronized to fight section diff --git a/Draci Hlidka/Draci Hlidka.css b/Draci Hlidka/Draci Hlidka.css index 2236e7322f..bd1e89af8c 100644 --- a/Draci Hlidka/Draci Hlidka.css +++ b/Draci Hlidka/Draci Hlidka.css @@ -437,6 +437,9 @@ box-shadow: none; border: none; } +.dh_main .dh_small_font { + font-size: 0.8125em !important; +} .dh_main select, .dh_main input[type=text], .dh_main input[type=number] { @@ -522,6 +525,9 @@ -webkit-user-select: none; opacity: 0.9; } +.dh_main .dh_border_left { + border-left: rgba(0, 0, 0, 0.3) 2px solid; +} .dh_main .dh_text_truncate { white-space: nowrap; overflow: hidden; @@ -1052,6 +1058,39 @@ display: flex; border-radius: 0px; } +.dh_main .dh_settingsVisible, +.dh_main .dh_moreSettings, +.dh_main .dh_lessSettings { + display: none; +} +.dh_main .dh_settingsVisibleBlock div { + width: 100%; +} +.dh_main .dh_macroEditable { + display: none; +} +.dh_main .dh_macroEditable:not(:checked) ~ .dh_macro { + pointer-events: none; + -ms-user-select: none; + user-select: none; + -moz-user-select: none; + -webkit-user-select: none; + opacity: 0.7; + color: darkslategrey; +} +.dh_main .dh_settingsVisible:not(:checked) ~ div .dh_settingsVisibleBlock { + display: none; +} +.dh_main .dh_settingsVisible:checked ~ div .dh_settingsVisibleBlock { + display: flex; + border-radius: 0px; +} +.dh_main .dh_settingsVisible:not(:checked) ~ div .dh_moreSettings { + display: flex; +} +.dh_main .dh_settingsVisible:checked ~ div .dh_lessSettings { + display: flex; +} .dh_main .dh_table { margin-left: 2px; } @@ -1102,6 +1141,12 @@ border: none; box-shadow: none; } +.dh_main .dh_border_none { + border: none !important; +} +.dh_main .dh_box_shadow_none { + box-shadow: none !important; +} .dh_main .dh_button { font-size: 1em; padding: 0px; @@ -1349,9 +1394,37 @@ background-position: center; background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Draci%20Hlidka/assets/pencil_outlined.svg); } -.dh_main .dh_checkbox:hover input ~ .dh_checkmark.dh_pencil, .dh_main .dh_checkbox:hover input ~ .dh_checkmark.dh_twoHanded { +.dh_main .dh_checkbox input:not(:checked) ~ .dh_settingVisibility { + min-width: 1.25em; + width: 1.25em; + min-height: 1.25em; + height: 1.25em; + border: none; + background-color: transparent; + background-size: 80%; + background-repeat: no-repeat; + background-position: center; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Draci%20Hlidka/assets/caret-up.svg); + background-size: 12px; +} +.dh_main .dh_checkbox input:checked ~ .dh_settingVisibility { + position: initial; + transform: none; + border: none; + margin: 0; + width: 1.25em; + height: 1.25em; + background-repeat: no-repeat; + background-position: center; + background-color: transparent; + background-size: 80%; + background-image: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Draci%20Hlidka/assets/caret-down.svg); + background-size: 12px; +} +.dh_main .dh_checkbox:hover input ~ .dh_checkmark.dh_settingVisibility, .dh_main .dh_checkbox:hover input ~ .dh_checkmark.dh_pencil, .dh_main .dh_checkbox:hover input ~ .dh_checkmark.dh_twoHanded { background-color: transparent; } +.dh_main .dh_checkbox input:checked ~ .dh_checkmark.dh_settingVisibility, .dh_main .dh_checkbox input:checked ~ .dh_checkmark.dh_pencil, .dh_main .dh_checkbox input:checked ~ .dh_checkmark.dh_twoHanded { background-color: transparent; @@ -1501,6 +1574,19 @@ background-repeat: repeat-y; background-position: inherit; } +.dh_main .dh_isSettingVisible[value*="1"] ~ div .dh_settingsVisibleToggle { + display: flex; +} +.dh_main .dh_isSettingVisible[value*="0"] ~ div .dh_settingsVisibleToggle, +.dh_main .dh_isSettingVisible[value*="0"] ~ div .dh_settingsVisibleBlock { + display: none; +} +.dh_main .dh_isSettingVisible[value*="1"] ~ div .dh_isAllAttributesVisibleToggle { + display: flex !important; +} +.dh_main .dh_isSettingVisible[value*="0"] ~ div .dh_sisAllAttributesVisibleToggle { + display: none; +} .dh_main .dh_pc, .dh_main .dh_npc, .dh_main .dh_sheet_type_modal { @@ -2110,6 +2196,7 @@ .dh_main .dh_activeAbilities .dh_ranger, .dh_main .dh_activeAbilities .dh_alchemist, .dh_main .dh_activeAbilities .dh_mage, +.dh_main .dh_activeAbilities .dh_thief, .dh_main .dh_activeAbilities .dh_priest { display: none; } @@ -2118,6 +2205,7 @@ .dh_main .dh_activeAbilities input.dh_selected_profession[value=Ranger] ~ div .dh_ranger, .dh_main .dh_activeAbilities input.dh_selected_profession[value=Mage] ~ div .dh_mage, .dh_main .dh_activeAbilities input.dh_selected_profession[value=Alchemist] ~ div .dh_alchemist, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Thief] ~ div .dh_thief, .dh_main .dh_activeAbilities input.dh_selected_profession[value=Priest] ~ div .dh_priest { display: flex; } @@ -2128,6 +2216,102 @@ .dh_main .dh_activeAbilities .dh_table .dh_printText button { border: none; } +.dh_main .dh_activeAbilities .dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities .dh_activeProfession, +.dh_main .dh_activeAbilities .dh_activeWarrior, +.dh_main .dh_activeAbilities .dh_activeRanger, +.dh_main .dh_activeAbilities .dh_activeAlchemist, +.dh_main .dh_activeAbilities .dh_activeMage, +.dh_main .dh_activeAbilities .dh_activeThief, +.dh_main .dh_activeAbilities .dh_activePriest, +.dh_main .dh_activeAbilities .dh_activeWarriorGeneral, +.dh_main .dh_activeAbilities .dh_activeWarriorBoneBreakerSchool, +.dh_main .dh_activeAbilities .dh_activeWarriorOneHandedSchool, +.dh_main .dh_activeAbilities .dh_activeWarriorTwoHandedSchool, +.dh_main .dh_activeAbilities .dh_activeWarriorShieldSchool, +.dh_main .dh_activeAbilities .dh_activeWarriorPiericngSchool, +.dh_main .dh_activeAbilities .dh_activeWarriorTwoWeaponSchool, +.dh_main .dh_activeAbilities .dh_activeRangerGeneral, +.dh_main .dh_activeAbilities .dh_activeRangerNatureMagic, +.dh_main .dh_activeAbilities .dh_activeRangerAnimalMagic, +.dh_main .dh_activeAbilities .dh_activeRangerRoadMagic, +.dh_main .dh_activeAbilities .dh_activeAlchemistGeneral, +.dh_main .dh_activeAbilities .dh_activeAlchemistCrystals, +.dh_main .dh_activeAbilities .dh_activeAlchemistMagicItems, +.dh_main .dh_activeAbilities .dh_activeAlchemistStars, +.dh_main .dh_activeAbilities .dh_activeAlchemistUnstableSubstances, +.dh_main .dh_activeAbilities .dh_activeAlchemistAnatomy, +.dh_main .dh_activeAbilities .dh_activeAlchemistElixirs, +.dh_main .dh_activeAbilities .dh_activeMageGeneral, +.dh_main .dh_activeAbilities .dh_activeMageWild, +.dh_main .dh_activeAbilities .dh_activeMageMental, +.dh_main .dh_activeAbilities .dh_activeMageHigh, +.dh_main .dh_activeAbilities .dh_activeMageTransform, +.dh_main .dh_activeAbilities .dh_activeMageVital, +.dh_main .dh_activeAbilities .dh_activeMageProtection, +.dh_main .dh_activeAbilities .dh_activePriestGeneral, +.dh_main .dh_activeAbilities .dh_activePriestAuras, +.dh_main .dh_activeAbilities .dh_activePriestTruth, +.dh_main .dh_activeAbilities .dh_activePriestDemon, +.dh_main .dh_activeAbilities .dh_activePriestMercy, +.dh_main .dh_activeAbilities .dh_activePriestPatron, +.dh_main .dh_activeAbilities .dh_activePriestHolyWarrior, +.dh_main .dh_activeAbilities .dh_activeNevybrano { + display: none; +} +.dh_main .dh_activeAbilities input.dh_selected_profession[value=vlastni] ~ div select.dh_activeProfession, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=vlastni] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Warrior] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Ranger] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Alchemist] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Mage] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Thief] ~ div.dh_activeAbilitiesAdd, +.dh_main .dh_activeAbilities input.dh_selected_profession[value=Priest] ~ div.dh_activeAbilitiesAdd { + display: flex; +} +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Warrior] ~ select.dh_activeWarrior, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Ranger] ~ select.dh_activeRanger, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Alchemist] ~ select.dh_activeAlchemist, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Mage] ~ select.dh_activeMage, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Thief] ~ select.dh_activeThief, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Priest] ~ select.dh_activePriest, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityProfession[value=Nevybrano] ~ select.dh_activeNevybrano { + display: flex; +} +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorGeneral] ~ select.dh_activeWarriorGeneral, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorBoneBreakerSchool] ~ select.dh_activeWarriorBoneBreakerSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorOneHandedSchool] ~ select.dh_activeWarriorOneHandedSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorTwoHandedSchool] ~ select.dh_activeWarriorTwoHandedSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorShieldSchool] ~ select.dh_activeWarriorShieldSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorPiericngSchool] ~ select.dh_activeWarriorPiericngSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=WarriorTwoWeaponSchool] ~ select.dh_activeWarriorTwoWeaponSchool, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=RangerGeneral] ~ select.dh_activeRangerGeneral, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=RangerNatureMagic] ~ select.dh_activeRangerNatureMagic, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=RangerAnimalMagic] ~ select.dh_activeRangerAnimalMagic, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=RangerRoadMagic] ~ select.dh_activeRangerRoadMagic, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistGeneral] ~ select.dh_activeAlchemistGeneral, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistCrystals] ~ select.dh_activeAlchemistCrystals, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistMagicItems] ~ select.dh_activeAlchemistMagicItems, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistStars] ~ select.dh_activeAlchemistStars, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistUnstableSubstances] ~ select.dh_activeAlchemistUnstableSubstances, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistAnatomy] ~ select.dh_activeAlchemistAnatomy, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=AlchemistElixirs] ~ select.dh_activeAlchemistElixirs, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageGeneral] ~ select.dh_activeMageGeneral, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageWild] ~ select.dh_activeMageWild, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageMental] ~ select.dh_activeMageMental, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageHigh] ~ select.dh_activeMageHigh, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageTransform] ~ select.dh_activeMageTransform, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageVital] ~ select.dh_activeMageVital, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=MageProtection] ~ select.dh_activeMageProtection, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestGeneral] ~ select.dh_activePriestGeneral, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestAuras] ~ select.dh_activePriestAuras, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestTruth] ~ select.dh_activePriestTruth, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestDemon] ~ select.dh_activePriestDemon, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestMercy] ~ select.dh_activePriestMercy, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestPatron] ~ select.dh_activePriestPatron, +.dh_main .dh_activeAbilities input.dh_addActiveAbilityHidden[value=PriestHolyWarrior] ~ select.dh_activePriestHolyWarrior { + display: flex; +} .dh_main .dh_passiveAbilities { margin-bottom: 2px; } @@ -2141,6 +2325,34 @@ .dh_main .dh_passiveAbilities .dh_table .dh_printText button { border: none; } +.dh_main .dh_passiveAbilities .dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities .dh_passiveProfession, +.dh_main .dh_passiveAbilities .dh_passiveWarrior, +.dh_main .dh_passiveAbilities .dh_passiveRanger, +.dh_main .dh_passiveAbilities .dh_passiveAlchemist, +.dh_main .dh_passiveAbilities .dh_passiveMage, +.dh_main .dh_passiveAbilities .dh_passiveThief, +.dh_main .dh_passiveAbilities .dh_passivePriest { + display: none; +} +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=vlastni] ~ div select.dh_passiveProfession, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=vlastni] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Warrior] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Ranger] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Alchemist] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Mage] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Thief] ~ div.dh_passiveAbilitiesAdd, +.dh_main .dh_passiveAbilities input.dh_selected_profession[value=Priest] ~ div.dh_passiveAbilitiesAdd { + display: flex; +} +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Warrior] ~ select.dh_passiveWarrior, +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Ranger] ~ select.dh_passiveRanger, +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Alchemist] ~ select.dh_passiveAlchemist, +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Mage] ~ select.dh_passiveMage, +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Thief] ~ select.dh_passiveThief, +.dh_main .dh_passiveAbilities input.dh_addPassiveAbilityProfession[value=Priest] ~ select.dh_passivePriest { + display: flex; +} .dh_main .dh_right_panel > div.dh_grid { grid-template-columns: 1fr 1fr; grid-template-areas: "pc_skills pc_skills" "pc_activeAbilities pc_activeAbilities" "pc_passiveAbilities pc_passiveAbilities"; @@ -2603,6 +2815,94 @@ .dh_main .dh_npcActiveAbilities { grid-area: npc_active_abilities; } +.dh_main .dh_npcActiveAbilities .dh_activeAbilitiesAdd, +.dh_main .dh_npcActiveAbilities .dh_activeProfession { + display: flex; +} +.dh_main .dh_npcActiveAbilities .dh_activeWarrior, +.dh_main .dh_npcActiveAbilities .dh_activeRanger, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemist, +.dh_main .dh_npcActiveAbilities .dh_activeMage, +.dh_main .dh_npcActiveAbilities .dh_activeThief, +.dh_main .dh_npcActiveAbilities .dh_activePriest, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorGeneral, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorBoneBreakerSchool, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorOneHandedSchool, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorTwoHandedSchool, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorShieldSchool, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorPiericngSchool, +.dh_main .dh_npcActiveAbilities .dh_activeWarriorTwoWeaponSchool, +.dh_main .dh_npcActiveAbilities .dh_activeRangerGeneral, +.dh_main .dh_npcActiveAbilities .dh_activeRangerNatureMagic, +.dh_main .dh_npcActiveAbilities .dh_activeRangerAnimalMagic, +.dh_main .dh_npcActiveAbilities .dh_activeRangerRoadMagic, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistGeneral, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistCrystals, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistMagicItems, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistStars, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistUnstableSubstances, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistAnatomy, +.dh_main .dh_npcActiveAbilities .dh_activeAlchemistElixirs, +.dh_main .dh_npcActiveAbilities .dh_activeMageGeneral, +.dh_main .dh_npcActiveAbilities .dh_activeMageWild, +.dh_main .dh_npcActiveAbilities .dh_activeMageMental, +.dh_main .dh_npcActiveAbilities .dh_activeMageHigh, +.dh_main .dh_npcActiveAbilities .dh_activeMageTransform, +.dh_main .dh_npcActiveAbilities .dh_activeMageVital, +.dh_main .dh_npcActiveAbilities .dh_activeMageProtection, +.dh_main .dh_npcActiveAbilities .dh_activePriestGeneral, +.dh_main .dh_npcActiveAbilities .dh_activePriestAuras, +.dh_main .dh_npcActiveAbilities .dh_activePriestTruth, +.dh_main .dh_npcActiveAbilities .dh_activePriestDemon, +.dh_main .dh_npcActiveAbilities .dh_activePriestMercy, +.dh_main .dh_npcActiveAbilities .dh_activePriestPatron, +.dh_main .dh_npcActiveAbilities .dh_activePriestHolyWarrior, +.dh_main .dh_npcActiveAbilities .dh_activeNevybrano { + display: none; +} +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Warrior] ~ select.dh_activeWarrior, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Ranger] ~ select.dh_activeRanger, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Alchemist] ~ select.dh_activeAlchemist, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Mage] ~ select.dh_activeMage, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Thief] ~ select.dh_activeThief, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Priest] ~ select.dh_activePriest, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityProfession[value=Nevybrano] ~ select.dh_activeNevybrano { + display: flex; +} +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorGeneral] ~ select.dh_activeWarriorGeneral, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorBoneBreakerSchool] ~ select.dh_activeWarriorBoneBreakerSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorOneHandedSchool] ~ select.dh_activeWarriorOneHandedSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorTwoHandedSchool] ~ select.dh_activeWarriorTwoHandedSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorShieldSchool] ~ select.dh_activeWarriorShieldSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorPiericngSchool] ~ select.dh_activeWarriorPiericngSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=WarriorTwoWeaponSchool] ~ select.dh_activeWarriorTwoWeaponSchool, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=RangerGeneral] ~ select.dh_activeRangerGeneral, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=RangerNatureMagic] ~ select.dh_activeRangerNatureMagic, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=RangerAnimalMagic] ~ select.dh_activeRangerAnimalMagic, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=RangerRoadMagic] ~ select.dh_activeRangerRoadMagic, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistGeneral] ~ select.dh_activeAlchemistGeneral, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistCrystals] ~ select.dh_activeAlchemistCrystals, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistMagicItems] ~ select.dh_activeAlchemistMagicItems, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistStars] ~ select.dh_activeAlchemistStars, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistUnstableSubstances] ~ select.dh_activeAlchemistUnstableSubstances, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistAnatomy] ~ select.dh_activeAlchemistAnatomy, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=AlchemistElixirs] ~ select.dh_activeAlchemistElixirs, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageGeneral] ~ select.dh_activeMageGeneral, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageWild] ~ select.dh_activeMageWild, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageMental] ~ select.dh_activeMageMental, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageHigh] ~ select.dh_activeMageHigh, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageTransform] ~ select.dh_activeMageTransform, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageVital] ~ select.dh_activeMageVital, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=MageProtection] ~ select.dh_activeMageProtection, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestGeneral] ~ select.dh_activePriestGeneral, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestAuras] ~ select.dh_activePriestAuras, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestTruth] ~ select.dh_activePriestTruth, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestDemon] ~ select.dh_activePriestDemon, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestMercy] ~ select.dh_activePriestMercy, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestPatron] ~ select.dh_activePriestPatron, +.dh_main .dh_npcActiveAbilities input.dh_addActiveAbilityHidden[value=PriestHolyWarrior] ~ select.dh_activePriestHolyWarrior { + display: flex; +} .dh_main .dh_npcPassiveAbilities { grid-area: npc_passive_abilities; } @@ -2740,12 +3040,22 @@ font-size: 1em; background:#EEE; } +.sheet-rolltemplate-custom .sheet-modifierMargin { + margin-left: 15px; +} .sheet-rolltemplate-custom .sheet-defaultSize { font-size: 0.875em; } .sheet-rolltemplate-custom .sheet-smallSize { font-size: 0.95em; } +.sheet-rolltemplate-custom .sheet-bigSize { + font-size: 1.3em; +} +.sheet-rolltemplate-custom .sheet-noPadding { + padding-top:0 !important; + padding-bottom: 0 !important; +} .sheet-rolltemplate-custom .sheet-content { display: grid; background: #FFF; @@ -2769,3 +3079,14 @@ overflow: hidden; text-overflow: ellipsis; } +.sheet-rolltemplate-custom .sheet-titleAbsolutePos { + position: absolute; + left: 15px; +} +.sheet-rolltemplate-custom .sheet-noStyleInlineroll .inlinerollresult { + background-color:transparent; + border: none; + padding: 0px; + font-weight: bold; + cursor: help; +} diff --git a/Draci Hlidka/Draci Hlidka.html b/Draci Hlidka/Draci Hlidka.html index d4a2496f12..0945ecf03a 100644 --- a/Draci Hlidka/Draci Hlidka.html +++ b/Draci Hlidka/Draci Hlidka.html @@ -1,8 +1,19 @@
- + + + + + + + + + + + + @@ -503,8 +514,7 @@
- +
Adrenalin
@@ -633,35 +643,57 @@
-
-
Hod +
+
+
Hod +
+
+
+
+ + +
+
+
+
+
+
Výhoda +
+
+
+
+ + + +
+
+
+
+
+
Kostky +
- - -
-
-
-
Modifikátor -
-
-
-
- - - + +
@@ -1526,6 +1558,8 @@ class="dh_isEditing"> +
@@ -1615,70 +1649,78 @@
-
-
Znalostní +
VíceMéně + +
+
+
+
Znalostní +
+
+ +
-
-
-
-
Profesní -
-
- -
-
-
-
Start. úroveň -
-
- -
-
-
-
SIL -
-
OBR -
-
ODO -
-
INT -
-
CHA -
-
-
- - - - - -
-
Popis -
- -
Text v makru -
- -
Makro -
-
@@ -1693,10 +1735,109 @@ class="dh_selected_profession">
Aktivní schopnosti
+
+
Přidat Aktivní schopnost +
+ +
+ + + + + + + + + + + + + + + + + + +
+
+
@@ -1734,12 +1875,23 @@
-
+
Adrenalin
Přízeň
-
Mana +
Mana
Duševní síla
@@ -1748,21 +1900,57 @@ value="0" class="dh_input_grow">
-
+
+
Dodatečný adrenalin (text) +
+
Dodatečná přízeň (text) +
+
Dodatečná mana (text) +
+
Dodatečná duševní síla (text) +
+
+ +
+
+
Dodatečný adrenalin
Dodatečná přízeň
-
Dodatečná mana +
Dodatečná mana
Dodatečná duševní síla
-
-
+
Suroviny
@@ -1770,36 +1958,56 @@ value="0" class="dh_input_grow">
-
+
Základ
-
+
Dosah
-
+
Rozsah
-
+
Trvání
-
-
Vyvolání +
+
Vyvolání
Vzývání
@@ -1810,7 +2018,7 @@ class="dh_input_grow">
-
+
Četnost
@@ -1818,14 +2026,24 @@ class="dh_input_grow">
-
+
Použití
-
+
Obtížnost
@@ -1833,7 +2051,36 @@ value="0" class="dh_input_grow">
-
+
+
Dodatečná obtížnost +
+
+ +
+
+
Vyžaduje
@@ -1841,23 +2088,249 @@ size="1" class="dh_input_grow">
-
-
Sesílací dovednost -
-
- -
-
Popis
-
Text v makru +
VíceMéně +
- -
Makro +
+
+
Hod na útok +
+
+ +
+
+
+
Bonus do útoku +
+
+ +
+
+
+
Bonus do zranění +
+
+ +
+
+
+
Hod na obranu +
+
+ +
+
+
+
Typ obrany +
+
+ +
+
+
+
Bonus do obrany +
+
+ +
+
+
+
Ověřovací dovednost +
+
+ +
+
+
+
Atribut pro ověření +
+
+ +
+
+
+
Past dovednosti +
+
+ +
+
+
+
Atribut pro past +
+
+ +
+
+
+
Past proti +
+
+ +
+
+
+
Zranění / Efekt +
+
+ +
+
+
+
Typ zranění +
+
+ +
+
+
+
Vícenásobné seslání +
+
+ +
+
+
+
Text vícenásobného sesílání +
+
+ +
+
+
+
Získaná na úrovni +
+
+ +
+
+
Text v makru +
+ + +
+
Vlastní makro +
+
+ +
+
+
Makro +
+
-
@@ -1870,6 +2343,50 @@
Pasivní schopnosti
+
+
Přidat pasivní schopnost +
+ +
+ + + + + + + + + +
+
+
@@ -3337,10 +3857,97 @@
Aktivní schopnosti
+
+ + + + + + + + + + + + + + + +
+
@@ -3378,6 +3985,60 @@
+
+
Hod na útok +
+
+ +
+
+
+
Bonus do útoku +
+
+ +
+
+
+
Bonus do zranění +
+
+ +
+
+
+
Hod na obranu +
+
+ +
+
+
+
Typ obrany +
+
+ +
+
+
+
Bonus do obrany +
+
+ +
+
Adrenalin
@@ -3393,16 +4054,30 @@
-
Dodatečný adrenalin +
Dodatečný adrenalin (text)
-
Dodatečná přízeň +
Dodatečná přízeň (text)
-
Dodatečná mana +
Dodatečná mana (text)
-
Dodatečná duševní síla +
Dodatečná duševní síla (text) +
+
+ +
+
+
+
Dodatečný adrenalin +
+
Dodatečná přízeň +
+
Dodatečná mana +
+
Dodatečná duševní síla
-
@@ -3473,6 +4148,14 @@ value="0" class="dh_input_grow">
+
+
Dodatečná obtížnost +
+
+ +
+
Vyžaduje
@@ -3481,37 +4164,125 @@ size="1" class="dh_input_grow">
-
-
Sesílací dovednost -
-
- -
-
-
-
Sesílací vlastnost -
-
- -
-
Popis
-
Text v makru +
Nastavení víceméně +
- -
Makro +
+
+
Ověrovací dovednost +
+
+ +
+
+
+
Atribut pro ověření +
+
+ +
+
+
+
Past dovednosti +
+
+ +
+
+
+
Atribut pro past +
+
+ +
+
+
+
Past proti +
+
+ +
+
+
+
Zranění / Efekt +
+
+ +
+
+
+
Typ zranění +
+
+ +
+
+
+
Vícenásobné seslání +
+
+ +
+
+
+
Text vícenásobného sesílání +
+
+ +
+
+
+
Získaná na úrovni +
+
+ +
+
+
Text v makru +
+ + +
+
Vlastní makro +
+
+ +
+
+
Makro +
+
-
@@ -3590,6 +4361,9 @@ +
@@ -3601,6 +4375,1198 @@
\ No newline at end of file diff --git a/FightingFantasy/sheet.json b/FightingFantasy/sheet.json new file mode 100644 index 0000000000..93beac56b7 --- /dev/null +++ b/FightingFantasy/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "FightingFantasy.html", + "css": "FightingFantasy.css", + "authors": "Marcus Rangel - Ghostdancing", + "roll20userid": "10112633", + "preview": "FightinFantasySheetHeroPart.PNG", + "instructions": "Fighting Fantasy character sheet.", + "legacy": false +} diff --git a/FightingFantasy/translation.json b/FightingFantasy/translation.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translation.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/af.json b/FightingFantasy/translations/af.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/af.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/ca.json b/FightingFantasy/translations/ca.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/ca.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/cs.json b/FightingFantasy/translations/cs.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/cs.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/da.json b/FightingFantasy/translations/da.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/da.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/de.json b/FightingFantasy/translations/de.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/de.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/el.json b/FightingFantasy/translations/el.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/el.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/en.json b/FightingFantasy/translations/en.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/en.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/es.json b/FightingFantasy/translations/es.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/es.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/fi.json b/FightingFantasy/translations/fi.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/fi.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/fr.json b/FightingFantasy/translations/fr.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/fr.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/he.json b/FightingFantasy/translations/he.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/he.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/hu.json b/FightingFantasy/translations/hu.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/hu.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/it.json b/FightingFantasy/translations/it.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/it.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/ja.json b/FightingFantasy/translations/ja.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/ja.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/ko.json b/FightingFantasy/translations/ko.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/ko.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/nl.json b/FightingFantasy/translations/nl.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/nl.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/pb.json b/FightingFantasy/translations/pb.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/pb.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/pl.json b/FightingFantasy/translations/pl.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/pl.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/pt.json b/FightingFantasy/translations/pt.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/pt.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/ru.json b/FightingFantasy/translations/ru.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/ru.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/sl.json b/FightingFantasy/translations/sl.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/sl.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/sv.json b/FightingFantasy/translations/sv.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/sv.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/tr.json b/FightingFantasy/translations/tr.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/tr.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/uk.json b/FightingFantasy/translations/uk.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/uk.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/FightingFantasy/translations/zh.json b/FightingFantasy/translations/zh.json new file mode 100644 index 0000000000..83a3f838f6 --- /dev/null +++ b/FightingFantasy/translations/zh.json @@ -0,0 +1,21 @@ +{ + "Hero": "Hero", + "Notes/Monsters": "Notes/Monsters", + "title": "Adventure Sheet", + "subtitle": "Fighting Fantasy by Steve Jackson and Ian Livingstone", + "hero-info": "Hero Info", + "hero-name": "Name ", + "provisions": "Provisions \n ", + "goldCoins": "Gold coins \n ", + "hero-stats": "Hero Stats", + "skill": "Skill", + "stamina": "Stamina", + "luck": "Luck ", + "equipments": "Equipments/Items ", + "potions": "Potions", + "backstory": "\n Backstory\n\n ", + "hero-notes": "Hero Notes", + "monster-encounters": "Encounters", + "monster name": "", + "attacks": "Attacks" +} \ No newline at end of file diff --git a/Godsend/Godsend.css b/Godsend/Godsend.css new file mode 100644 index 0000000000..8312812b5b --- /dev/null +++ b/Godsend/Godsend.css @@ -0,0 +1,154 @@ +@import url('https://fonts.googleapis.com/css2?family=Caesar+Dressing&display=swap'); + +.sheet-choose, +.sheet-divinity, +.sheet-avatar, +.sheet-apostle, +.sheet-followers, +.sheet-peril, +.threatstages, +.hidesecret { + display: none; +} + +.sheet-viewtypetoggle[value="choose"] ~ div.sheet-choose, +.sheet-viewtypetoggle[value="divinity"] ~ div.sheet-divinity, +.sheet-viewtypetoggle[value="avatar"] ~ div.sheet-avatar, +.sheet-viewtypetoggle[value="apostle"] ~ div.sheet-apostle, +.sheet-viewtypetoggle[value="followers"] ~ div.sheet-followers, +.sheet-viewtypetoggle[value="peril"] ~ div.sheet-peril { + display: block; +} + +.stagetoggle[value="confrontation"] ~ div.threatstages { + display: block; +} + +.secretbox:checked ~ input.hidesecret{ + display:inline; +} + +.secretbox:checked ~ textarea.hidesecret{ + display:block; +} + +.sheet-header, +.big-column, +.small-column, +.half-column, +.full-column { + border: 2px solid DarkRed; + border-radius: 10px; + padding: 10px; + margin: 5px; +} + + +.sheet-header, +.column-wrapper { + display: flex; + flex-direction: row; +} + +.big-column, +.small-column, +.half-column, +.full-column { + display: flex; + flex-direction: column; +} + +.big-column { + width: 40%; +} + +.small-column { + width: 20%; +} + +.half-column { + width: 50%; +} + +.full-column { + width: 100%; +} + +.inputpackage{ + margin-right: 25px; +} + +.inputbox, +.inputhidebox { + width: 150px; + border-style: none none solid; + font-weight: bold; +} + +.inputbox { + display: inline; +} + +.inputlabel { + font-family: 'Caesar Dressing', 'Patrick Hand'; + font-size: large; +} + +textarea.inputarea { + width: calc(100% - 10px); + height: 108px; + resize: vertical; +} + +textarea.shortinput { + width: calc(100% - 10px); + height: 36px; + resize: vertical; +} + +.numberbox { + font-size: x-large; + border-style: none none solid; + font-weight: bold; +} + +.minitext { + font-size: x-small; +} + +.pantheonheader, +.pantheonline { + display: grid; + grid-template-columns: 40% 40% 1fr; +} + +.pantheonitem { + border-style: none none solid; + width: 100%; + height: 100%; +} + +.pantheonheader{ + font-weight: bold; + margin: 4px; +} + +.fatenumber{ + font-size: x-large; + font-weight: bold; +} + +.salvruinlabel, +.boldlabel{ + font-weight: bold; +} + +.statbox{ + display: grid; + grid-template-columns: 1fr 1fr; +} + +.harmgrid{ + display: grid; + grid-template-columns: min-content 1fr; +} diff --git a/Godsend/Godsend.html b/Godsend/Godsend.html new file mode 100644 index 0000000000..dbe6f58c93 --- /dev/null +++ b/Godsend/Godsend.html @@ -0,0 +1,379 @@ + + +
+ Godsend +
+ + +
+ +
+ + +
+
+ + Name: + + + Domain: + + + Avatar: + blessed + +
+
+
+
+ Look + +
+
+ Cult + +
+
+ Epithet: + +
+
+ Sub-domain: + +
+
+ Artefacts + +
+
+
+
+ Fate Move + +
+
+ End of Time
+ Blessings + + + Blights + + +
+
+ Pantheon +
+ Divinity + Status + Oath +
+
+
+ + + +
+
+
+
+ Followers + +
+
+
+
+ Faith: + +
+
+ Fate
+ Salvation
+ +3
+ +2
+ +1
+ 0
+ -1
+ -2
+ -3
+ Ruin
+
+
+
+
+
+ Qualities + +
+
+ Detriments + +
+
+
+
+ + +
+
+ + Name: + + + Calling: + + + Divinity: + blessed + +
+
+
+
+ Charisma: + + Valor: + + Will: + + Wisdom: + +
+
+
+
+
+ Look + +
+
+ Backstory + +
+
+
+
+
+ Qualities + +
+
+ Detriments + +
+
+
+
+ Roles
+
+ When you mark a new Role after character creation, gain a new Move or add +1 to a Stat. If you’re Heretic or Lost, you can take a Move from another Calling.
+ If you’ve marked each Role, your character retires. Narrate an epilogue, using any element you like from their Apotheosis. +
+
+ + + +
+
+ + + +
+
+ + + +
+
+ + + +
+
+
+ Harm
+ When you are fatally wounded, mark off an unmarked option +
+ + Die and make your Apotheosis move. + + Survive but be weakened by your trial; get -1 to one of your Stats. + + Survive but reveal that your Divinity can't protect you; their Faith becomes weaker. + + Survive and change your role. +
+
+
+ Apotheosis Move + +
+
+
+ Moves +
+
+ + + +
+
+
+
+
+ + +
+
+ + Name: + + + Divinity: + + + Avatar: + +
+
+
+ Qualities + +
+
+ Detriments + +
+
+
+
+
+ Belief: + + +
+
+ Look: + + +
+
+ Role: + + +
+ If your Divinity’s Avatar changes their Role, you can change yours. Say why and how it happens. +
+
+
+
+
+ + +
+
+ + Name: + + + Followers of: + +
+
+
+ Qualities + +
+
+ Detriments + +
+
+
+
+
+ Description + +
+
+
+
+ + +
+
+ + Name: + + + Type: + + + + Agenda: + +
+
+
+ Qualities + +
+
+ Detriments + +
+
+
+
+ + +
+ Description + +
+
+ Stages +
+
+ Stage + + + +
+
+
+
+ Moves +
+
+ + +
+
+
+
+ + Secret: + + +
+
+
+
diff --git a/Godsend/Preview.png b/Godsend/Preview.png new file mode 100644 index 0000000000..7aee0a76ec Binary files /dev/null and b/Godsend/Preview.png differ diff --git a/Godsend/img/godsend.png b/Godsend/img/godsend.png new file mode 100644 index 0000000000..cb65dcdc29 Binary files /dev/null and b/Godsend/img/godsend.png differ diff --git a/Godsend/sheet.json b/Godsend/sheet.json new file mode 100644 index 0000000000..a034ce1ceb --- /dev/null +++ b/Godsend/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "Godsend.html", + "css": "Godsend.css", + "authors": "Alan Scott", + "roll20userid": "202071", + "preview": "Preview.png", + "instructions": "This is a character sheet for GodsEnd: Worlds of Legacy from UFO Press.\nWhen you first open each character sheet, choose whether your new character will be a divinity, an avatar, an apostle, a group of followers, or a GM Peril, and the appropriate sheet will be displayed.", + "legacy": false +} diff --git a/Halo_Mythic_3dot5/HaloMythicUpdated.css b/Halo_Mythic_3dot5/HaloMythicUpdated.css new file mode 100644 index 0000000000..ddabc75d68 --- /dev/null +++ b/Halo_Mythic_3dot5/HaloMythicUpdated.css @@ -0,0 +1,1160 @@ +input.sheet-background_switch_1:checked ~ div.sheet-background { background: white } +input.sheet-background_switch_2:checked ~ div.sheet-background { background-image: linear-gradient(#738132, #4b5320); color: white; } +input.sheet-background_switch_3:checked ~ div.sheet-background { background-image: linear-gradient(#8f489d, #59357a); color: white; } +input.sheet-background_switch_5:checked ~ div.sheet-background { background-image: linear-gradient(#aa3f3c, #772C2A); color: white; } +input.sheet-background_switch_4:checked ~ div.sheet-background { background-image: linear-gradient(#C45911, #833C0B); color: white; } +input.sheet-background_switch_6:checked ~ div.sheet-background { background-image: linear-gradient(#266daa, #17466e); color: white; } +input.sheet-background_switch_7:checked ~ div.sheet-background { background-image: linear-gradient(#9c8c60, #695d3f); color: white; } +input.sheet-background_switch_8:checked ~ div.sheet-background { background-image: linear-gradient(#a42444, #66001a); color: white; } +input.sheet-background_switch_9:checked ~ div.sheet-background { background: white; color: black;} + +input.sheet-background_override_switch_1:checked ~ div.sheet-background { background-image: linear-gradient(#738132, #4b5320); color: white; } +input.sheet-background_override_switch_2:checked ~ div.sheet-background { background-image: linear-gradient(#8f489d, #59357a); color: white; } +input.sheet-background_override_switch_3:checked ~ div.sheet-background { background-image: linear-gradient(#C45911, #833C0B); color: white; } +input.sheet-background_override_switch_4:checked ~ div.sheet-background { background-image: linear-gradient(#aa3f3c, #772C2A); color: white; } +input.sheet-background_override_switch_5:checked ~ div.sheet-background { background-image: linear-gradient(#266daa, #17466e); color: white; } +input.sheet-background_override_switch_6:checked ~ div.sheet-background { background-image: linear-gradient(#9c8c60, #695d3f); color: white; } +input.sheet-background_override_switch_7:checked ~ div.sheet-background { background-image: linear-gradient(#3a305b, #800020); color: white; } +input.sheet-background_override_switch_8:checked ~ div.sheet-background { background: white; color: black;} +input.sheet-background_override_switch_9:checked ~ div.sheet-background { background: #4d4d4d; color: white;} +input.sheet-background_override_switch_10:checked ~ div.sheet-background { background: #2E5984; color: white;} +input.sheet-background_override_switch_11:checked ~ div.sheet-background { background: #BFA52B; color: white;} +input.sheet-background_override_switch_12:checked ~ div.sheet-background { background: #696969; color: white;} +input.sheet-background_override_switch_13:checked ~ div.sheet-background { background: #ff00ff; color: black;} +input.sheet-background_override_switch_14:checked ~ div.sheet-background { background-image: linear-gradient(#a0e050, #800020); color: white } + + + + +/* ______________________________ start of CSS selectors, patterns used to select element(s) for styling ______________________________ */ + + + +/* Import multiple Google font families; Should ALWAYS be done at the TOP of the page! */ +@import url('https://fonts.googleapis.com/css?family=Orbitron|Saira+Semi+Condensed&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@300;400&display=swap'); +/* All input elements that are of type number or type text */ +select, +input[type='number'], +input[type='text'], +button[type='action'] { + background: #394C6A; + color: white; + font-family: Saira Semi Condensed; + text-align: center; +} + + +/* All horizontal rule elements receive the following CSS property. */ +hr { border-top: 1px dotted black; } + +/* All button elements of type roll */ +button[type='roll'] { + background: black; + color: white; + font-family: Saira Semi Condensed; + text-shadow: none; +} + +/* clear buttons with the clear class */ +button[type="roll"].sheet-clear::before { + content: ""; + display: none; +} + +/* All button elements of type roll when hovered over: */ +button[type='roll']:hover { background: rgb(200, 0, 0) !important; } +label:hover { cursor: pointer; } + +/* Both header elements 2 and 3 receive the following CSS properties. */ +h2, h3 { + color: white; + font-family: Orbitron; + letter-spacing: 1px; + text-align: center; +} + +/* Only type-2 headers receive the following CSS properties. */ +h2 { text-decoration: underline; } + +/* Only type-3 headers receive the following CSS properties. */ +h3 { background: #394C6A; } + +/* All instances of the placeholder attribute across all elements */ +::placeholder { + color: white; + opacity: 0.7; +} + +/* All textarea elements (keep width for textarea to prevent stretching off of sheet) */ +textarea { + background: #394C6A; + color: white; + font-family: 'Roboto Mono', monospace; + font-size: 13px; + resize: vertical; + width: calc(100% - 10px); +} + +/* Prevent disabled inputs from consuming mouse clicks */ +input[disabled] { + pointer-events: none; +} + +/* ______________________________ end of CSS selectors ______________________________ +______________________________ start of multipurpose or special-use classes such as grey border box on Core and Settings tabs ______________________________ */ + + + +.sheet-background_radius { + border: 2px solid black; + border-radius: 11px; +} + +.sheet-full_width_49px { width: calc(100% - 49px); } +.sheet-full_width_30px { width: calc(100% - 30px); } + +.sheet-margin_adjust { margin-top: -23px; margin-bottom: 4px; text-align: right; font-size: 16px;} +.sheet-margin_adjust2 { margin-top: -22px; margin-bottom: 4px; margin-left: -25px; text-align: right; font-size: 16px;} +.sheet-margin_adjust_wep { margin-top: -20px; margin-bottom: 2px; margin-left: 3px; text-align: right; font-size: 16px;} +.sheet-margin_adjust_wep2 { margin-top: -20px; margin-bottom: 2px; margin-left: -22px; text-align: right; font-size: 16px;} +.sheet-radius_border_right { border-bottom-right-radius: 7px !important; } +.sheet-radius_border_right_wep { border-bottom-right-radius: 10px !important; } +.sheet-radius_border_left { border-bottom-left-radius: 10px !important; } + +.sheet-collapsible_entity_toggle { display: block; } +.sheet-collapsible_entity_block { display: none; } +.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_block { display: block; } +.sheet-collapsible_entity_switch:checked ~ .sheet-collapsible_entity_toggle { display: none; } + +.sheet-hidden { display: none; } + +.sheet-input_background { + background: transparent; + border-color: transparent; + color: white; + cursor: pointer; + font-size: 16px; + margin-left: -7px; + margin-top: -3px; + text-align: center; + width: 35px; +} + +.sheet-input_char_background { + margin-top: -4px !important; + margin-bottom: -2px !important; + width: 50px; + margin-left: -12px!important; +} + +.sheet-input_init_background { + margin-top: -3px !important; + margin-bottom: -2px !important; + width: 35px; +} + +.sheet-box { + background: #4d4d4d; + border-color: black; + border-style: solid; + border-width: 1px; + color: white; +} + +.sheet-table { + background: #506b95; + color: white; + font-family: Saira Semi Condensed; +} + +.sheet-numerical_field { + margin-right: 20px; + width: 80px !important; +} + +.sheet-end_field { margin-right: 0px } + +.sheet-edge_padding { padding: 2px; } + +/* full height of containing block */ +.sheet-full_height {height: 100%; } +/* 40% width of containing block */ +.sheet-40width { width: 40%; } +/* half width of containing block */ +.sheet-half_width { width: 50%; } +/* 90% width of containing block */ +.sheet-90width { width: 90%; } +/* full width of containing block */ +.sheet-full_width { width: 100%; } + +.sheet-bold_text { font-weight: bold; } +.sheet-border_none { border: none !important; } +.sheet-auto_margin { margin: auto; } +.sheet-huge_text { font-size: 36px; } +.sheet-text_centered { text-align: center; } +.sheet-ssc { font-family: Saira Semi Condensed; } +.sheet-bttn_top_padding { padding-top: 5px } + +.sheet-radius_border { border-radius: 10px; } +.sheet-radius_border_top { + border-top-left-radius: 10px; + border-top-right-radius: 10px; +} +.sheet-radius_border_bottom { + border-bottom-left-radius: 10px; + border-bottom-right-radius: 10px; +} +.sheet-radius_border_heading { + border-top-left-radius: 9px; + border-top-right-radius: 9px; +} +.sheet-radius_border_box { + border-bottom-left-radius: 8px; + border-bottom-right-radius: 8px; +} +.sheet-description_rounded_margin { + margin-bottom: 0px; + border-radius: 0px 0px 8px 8px; +} + + + +/* ______________________________ end of special-use classes ______________________________ +______________________________ start of grid structure for character information ______________________________ */ + + + +.sheet-gs1 { grid-area: ah1; margin-top: 5px; font-size: 14px; padding-left: 2px } +.sheet-gs2 { grid-area: ah2; margin-top: 5px; font-size: 14px; } +.sheet-gs3 { grid-area: ah3; margin-top: 5px; font-size: 14px; } +.sheet-gs4 { grid-area: ah4; margin-top: 5px; font-size: 14px; } +.sheet-gs5 { grid-area: ah5; margin-top: 5px; font-size: 14px; } +.sheet-gs6 { grid-area: ah6; margin-top: 5px; font-size: 14px; } +.sheet-gs7 { grid-area: ah7; width: calc(100%); text-align: right !important; } +.sheet-gs8 { grid-area: ah8; width: calc(100% + 77px); margin-left: -77px; height: 100%; text-align: right !important; } +.sheet-gs9 { grid-area: ah9; width: calc(100% + 33px); margin-left: -33px; text-align: right !important; } +.sheet-gs10 { grid-area: ah10; width: calc(100% + 97px); margin-left: -97px; text-align: right !important; } +.sheet-gs11 { grid-area: ah11; width: calc(100% + 43px); margin-left: -43px; text-align: right !important; } +.sheet-gs12 { grid-area: ah12; width: calc(100% + 20px); margin-left: -20px; text-align: right !important; } +.sheet-gs13 { grid-area: ah13; margin: 0px 5px; } +.sheet-gs14 { grid-area: ah14; width: calc(100% + 30px); text-align: left !important; } +.sheet-gs15 { grid-area: ah15; width: calc(100% + 78px); text-align: left !important; } +.sheet-gs16 { grid-area: ah16; width: calc(100% + 96px); text-align: left !important; } +.sheet-gs17 { grid-area: ah17; width: calc(100% + 49px); text-align: left !important; } +.sheet-gs18 { grid-area: ah18; width: calc(100% + 30px); text-align: left !important; } +.sheet-gs19 { grid-area: ah19; width: calc(100% + 64px); text-align: left !important; } +.sheet-gs20 { grid-area: ah20; margin-top: 5px; font-size: 14px; text-align: right } +.sheet-gs21 { grid-area: ah21; margin-top: 5px; font-size: 14px; text-align: right } +.sheet-gs22 { grid-area: ah22; margin-top: 5px; font-size: 14px; text-align: right } +.sheet-gs23 { grid-area: ah23; margin-top: 5px; font-size: 14px; text-align: right } +.sheet-gs24 { grid-area: ah24; margin-top: 5px; font-size: 14px; text-align: right } +.sheet-gs25 { grid-area: ah25; margin-top: 5px; font-size: 14px; text-align: right } + +.sheet-header_logo { + font-family: Orbitron; + letter-spacing: 1px; + display: grid; + grid-template-columns: 145px auto 123px auto 145px; + grid-template-rows: 30px 30px 30px 30px 30px 30px; + grid-template-areas: + 'ah1 ah7 ah13 ah14 ah20' + 'ah2 ah8 ah13 ah15 ah21' + 'ah3 ah9 ah13 ah16 ah22' + 'ah4 ah10 ah13 ah17 ah23' + 'ah5 ah11 ah13 ah18 ah24' + 'ah6 ah12 ah13 ah19 ah25'; +} + + + +/* ______________________________ end of grid structure for character information ______________________________ +______________________________ start of structure for characteristics ______________________________ */ + + + +.sheet-characteristics_background { + background: black; + padding: 3px 0px 6px 3px; + display: grid; + grid-column-gap: 0.5%; + grid-template-columns: 9.53% 9.53% 9.53% 9.53% 9.53% 9.53% 9.53% 9.53% 9.53% 9.53%; + grid-template-rows: 26px 40px 26px; +} + +.sheet-characteristics_button { + margin-left: -0.1%!important; + width: calc(100% - 8px); +} +.sheet-characteristics_input { font-size: 30px; } + + + +/* ______________________________ end of structure for characteristics ______________________________ +______________________________ start of grid structure for the mythic characteristics, movement and pushing ______________________________ */ + + + +.sheet-characteristics_mythic_movement_carry { + display: grid; + grid-template-columns: 10% 80% 10%; +} + +.sheet-mythicgs_width { width: 40px; } +.sheet-mythicgs1 { grid-area: amy1; font-size: 15px; font-family: Orbitron; letter-spacing: 1px; text-align: center; } +.sheet-mythicgs2 { grid-area: amy2; z-index: 1; position: relative; } +.sheet-mythicgs3 { grid-area: amy3; z-index: 1; position: relative; } +.sheet-mythicgs4 { grid-area: amy4; z-index: 1; position: relative; } +.sheet-mythicgs5 { grid-area: amy5; font-family: Saira Semi Condensed; font-size: 14px; text-align: center; } +.sheet-mythicgs6 { grid-area: amy6; font-family: Saira Semi Condensed; font-size: 14px; text-align: center; } +.sheet-mythicgs7 { grid-area: amy7; font-family: Saira Semi Condensed; font-size: 14px; text-align: center; } +.sheet-characteristics2_mythic { + display: grid; + justify-items: center; + grid-template-columns: 50px 50px 50px; + grid-template-areas: + 'amy1 amy1 amy1' + 'amy2 amy3 amy4' + 'amy5 amy6 amy7'; +} + +.sheet-movementgs1 { grid-area: amm1; font-size: 15px; font-family: Orbitron; letter-spacing: 1px; } +.sheet-movementgs2 { grid-area: amm2; } +.sheet-movementgs3 { grid-area: amm3; } +.sheet-movementgs4 { grid-area: amm4; } +.sheet-movementgs5 { grid-area: amm5; } +.sheet-movementgs6 { grid-area: amm6; } +.sheet-movementgs7 { grid-area: amm7; } +.sheet-movementgs8 { grid-area: amm8; } +.sheet-movementgs9 { grid-area: amm9; 3px; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs10 { grid-area: amm10; 5px; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs11 { grid-area: amm11; 5px; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs12 { grid-area: amm12; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs13 { grid-area: amm13; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs14 { grid-area: amm14; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-movementgs15 { grid-area: amm15; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-characteristics2_movement { + justify-content: center; + text-align: center; + display: grid; + justify-items: center; + grid-template-columns: 50px 50px 50px 50px 50px 50px 50px; + grid-template-areas: + 'amm1 amm1 amm1 amm1 amm1 amm1 amm1' + 'amm2 amm3 amm4 amm5 amm6 amm7 amm8' + 'amm9 amm10 amm11 amm12 amm13 amm14 amm15'; +} + +.sheet-carrygs1 { grid-area: ac1; font-size: 15px; font-family: Orbitron; letter-spacing: 1px; } +.sheet-carrygs2 { grid-area: ac2; width: 50px; } +.sheet-carrygs3 { grid-area: ac3; width: 50px; } +.sheet-carrygs4 { grid-area: ac4; width: 50px; } +.sheet-carrygs5 { grid-area: ac5; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-carrygs6 { grid-area: ac6; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-carrygs7 { grid-area: ac7; font-size: 14px; font-family: Saira Semi Condensed; } +.sheet-characteristics2_carry { + justify-content: right; + text-align: center; + display: grid; + justify-items: center; + grid-template-columns: 60px 60px 60px; + grid-template-areas: + 'ac1 ac1 ac1' + 'ac2 ac3 ac4' + 'ac5 ac6 ac7'; +} + + + +/* ______________________________ end of grid structure for the mythic characteristics, movement and pushing ______________________________ +______________________________ start of grid structure for initiative and sheet tabs ______________________________ */ + + + +.sheet-tabs_main { + display: grid; + grid-template-columns: 50% 50%; +} + +.sheet-initiative_container { + display: grid; + grid-template-columns: 100px 90px 18px 50px 18px 90px; +} + +.sheet-init_field { + height: 100%; + margin-right: -60px; + width:85px; +} + +.sheet-init_plus { + font-size: 24px; + font-weight: bold; + padding-top: 12px; +} + +.sheet-sheet_tabs { + justify-content: right; + margin-right: 3px; + display: grid; + grid-template-columns: 45px 75px 60px 95px 60px 60px 45px; +} + + + +/* ______________________________ end of grid structure for initiative and sheet tabs ______________________________ +______________________________ start of tab buttons toggles ______________________________ */ + + + +.sheet-core, +.sheet-medical, +.sheet-equipment, +.sheet-advancements, +.sheet-journal, +.sheet-vehicles, +.sheet-settings { display: none } +/* show the selected tab */ + +.sheet-tabstoggle[value='core'] ~ div.sheet-core, +.sheet-tabstoggle[value='equipment'] ~ div.sheet-equipment, +.sheet-tabstoggle[value='medical'] ~ div.sheet-medical, +.sheet-tabstoggle[value='advancements'] ~ div.sheet-advancements, +.sheet-tabstoggle[value='journal'] ~ div.sheet-journal, +.sheet-tabstoggle[value='vehicles'] ~ div.sheet-vehicles, +.sheet-tabstoggle[value='settings'] ~ div.sheet-settings { display: block } +.sheet-core_bttn:checked + button { + background: rgb(200, 0, 0); + color: white; + vertical-align: center; +} + + + +/* ______________________________ end of tab buttons toggles ______________________________ +______________________________ start of minimisable infographic ______________________________ */ + + + +.sheet-select_text { + background: #394C6A; + border: 1px solid white; + border-radius: 4px; + color: white; + font-family: Saira Semi Condensed; + padding: 0px 4px 0px 4px; +} +.sheet-select_button:checked ~ .sheet-select_text { background: rgb(200, 0, 0); } + +.sheet-infographic_main { margin-left: 5px; } + +.sheet-infographic_override{ margin-top: -4px!important; height: 20px; font-weight: bold;} +.sheet-infographic_toggles { + display: grid; + grid-column-gap: 10px; + grid-template-columns: 82px 52px 80px 78px 113px 86px 66px auto; +} + +.sheet-infographic_grid { + display: grid; + grid-template-columns: 103px 103px 103px 103px 185px 185px; +} + +.sheet-infographic_g1 { grid-area: mi1; background: #394C6A !important; border: 0px solid transparent; font-family: Orbitron !important; letter-spacing: 1px; justify-self: center; width: calc(100% - 6px); } +.sheet-infographic_g2 { grid-area: mi2; color: white; justify-self: right; margin-top: 3px; margin-right: 3px; } +.sheet-infographic_g3 { grid-area: mi3; border-right: 1px solid #394C6A; } +.sheet-infographic_g4 { grid-area: mi4; color: white; justify-self: right; margin-top: 3px; margin-right: 3px; } +.sheet-infographic_g5 { grid-area: mi5; border-right: 1px solid #394C6A; border-bottom: 1px solid #394C6A; border-bottom-right-radius: 10px; } +.sheet-infographic_field2x3 { + background: #506b95; + margin-right: 10px; + display: grid; + grid-template-columns: 53px 40px; + grid-template-rows: 25px 25px 25px; + grid-template-areas: + 'mi1 mi1' + 'mi2 mi3' + 'mi4 mi5'; +} + +.sheet-infographic_g6 { grid-area: mi6; color: white; font-family: Saira Semi Condensed; justify-self: right; margin-top: 3px; margin-right: 3px; } +.sheet-infographic_g7 { grid-area: mi7; } +.sheet-infographic_g8 { grid-area: mi8; color: white; font-family: Saira Semi Condensed; justify-self: right; margin-top: 3px; margin-right: 3px; } +.sheet-infographic_g9 { grid-area: mi9; border-bottom: 1px solid #394C6A; } +.sheet-infographic_field4x3 { + background: #506b95; + margin-right: 10px; + display: grid; + grid-template-columns: 50px 40px 45px 40px; + grid-template-rows: 25px 25px 25px; + grid-template-areas: + 'mi1 mi1 mi1 mi1' + 'mi6 mi7 mi2 mi3' + 'mi8 mi9 mi4 mi5'; +} + +.sheet-infographic_gridR { + display: grid; + margin-top: 10px; + grid-column-gap: 14px; + grid-template-columns: 185px 185px 185px 185px; + +} + +/* ______________________________ end of minimisable infographic ______________________________ +______________________________ start of core tab ______________________________ */ + + + +.sheet-core_lists1 { grid-area: cl1; margin-right: 10px; } +.sheet-core_lists2 { grid-area: cl2; margin-bottom: 5px; } +.sheet-core_lists3 { grid-area: cl3; margin-top: 5px; } +.sheet-core_lists { + display: grid; + grid-template-columns: 400px auto; + grid-template-areas: + 'cl1 cl2' + 'cl1 cl3'; +} + +.sheet-skills_item { margin: 7px 5px; } +.sheet-skills_text { margin: 4px 0px; } +.sheet-skills_diff { margin-left: 8px; } +.sheet-text_left { text-align: left !important; } + +.sheet-skill_header { + border-bottom: 1px dotted darkgrey; + margin-top: 7px; + display: grid; + grid-template-columns: auto 28px 63px 56px 21px 30px 38px 30px; + grid-template-rows: 23px; +} + +.sheet-skill_grid { + border-bottom: 1px dotted darkgrey; + padding-top: 1.5px; + padding-bottom: 1.5px; + display: grid; + grid-template-columns: auto 53px 64px 50px 30px 30px 30px 35px; + grid-template-rows: 27px; + +} + +.sheet-education_grid { + border-bottom: 1px dotted darkgrey; + padding-top: 1.5px; + padding-bottom: 1.5px; + display: grid; + grid-template-columns: auto 63px 55px 30px 30px 35px; + grid-template-rows: 27px; +} + +.sheet-education_header { + border-bottom: 1px dotted darkgrey; + margin-top: 7px; + display: grid; + grid-template-columns: auto 63px 55px 25px 38px 30px; + grid-template-rows: 23px; +} + +.sheet-abilities_checkbox_pointer { + margin-top: -21px; + margin-right: 9px; + text-align: right; +} + + + +/* ______________________________ end of core tab ______________________________ +______________________________ start of equipment tab ______________________________ */ + + + +.sheet-equipment_divider { + display: grid; + grid-template-columns: 49.5% 1% 49.5%; + grid-template-areas: + 'e1 e0 e2' + 'e3 e3 e3'; +} + +.sheet-equipment_ranged_weapons { grid-area: e1; background:#475f85; border-radius: 10px; padding: 2px; z-index: 1;} +.sheet-equipment_melee_weapons { grid-area: e2; background:#475f85; border-radius: 10px; padding: 2px; } +.sheet-equipment_numerics { grid-area: e3; margin-top: 10px; } +.sheet-equipment_ranged_weapons_rep { background:#475f85; border:1px solid white; border-radius: 10px; padding: 2px; } + +.sheet-equipment_ranged_weapons_gs1 { grid-area: rw1; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs2 { grid-area: rw2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs3 { grid-area: rw3; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs4 { grid-area: rw4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs31 { grid-area: rw31; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; border-top-right-radius: 10px; margin: 0px 0px 0px; height: 27px;} +.sheet-equipment_ranged_weapons_gs5 { grid-area: rw5; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs6 { grid-area: rw6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs7 { grid-area: rw7; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs8 { grid-area: rw8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs9 { grid-area: rw9; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs10 { grid-area: rw10; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs11 { grid-area: rw11; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs12 { grid-area: rw12; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs13 { grid-area: rw13; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs14 { grid-area: rw14; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs15 { grid-area: rw15; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs16 { grid-area: rw16; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs17 { grid-area: rw17; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 12px; } +.sheet-equipment_ranged_weapons_gs18 { grid-area: rw18; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs19 { grid-area: rw19; color: white; font-size: 12px; width: 50px!important;} +.sheet-equipment_ranged_weapons_gs20 { grid-area: rw20; color: white; font-size: 12px; width: 50px!important;} +.sheet-equipment_ranged_weapons_gs21 { grid-area: rw21; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs22 { grid-area: rw22; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs23 { grid-area: rw23; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 12px; } +.sheet-equipment_ranged_weapons_gs24 { grid-area: rw24; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs25 { grid-area: rw25; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 12px; } +.sheet-equipment_ranged_weapons_gs26 { grid-area: rw26; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_ranged_weapons_gs27 { grid-area: rw27; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_ranged_weapons_gs28 { grid-area: rw28; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } + +.sheet-equipment_ranged_weapons_grid1 { + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto auto auto auto auto auto auto; + grid-template-areas: + 'rw1 rw2 rw2 rw2 rw2 rw2 rw2 rw3 rw4 rw31'; +} + +.sheet-equipment_ranged_weapons_grid2 { + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto auto auto auto auto auto auto; + grid-template-areas: + 'rw5 rw6 rw6 rw7 rw7 rw8 rw9 rw10 rw11 rw12'; +} + +.sheet-equipment_ranged_weapons_grid3 { + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto auto auto 61px 61px; + grid-template-areas: + 'rw13 rw14 rw15 rw16 rw17 rw18 rw19 rw20'; +} + + +.sheet-equipment_ranged_weapons_grid4 { + align-items: center; + display: grid; + grid-template-columns: auto 12% 4% 12% 4% 12% auto auto; + grid-template-areas: + 'rw21 rw22 rw23 rw24 rw25 rw26 rw27 rw28'; +} + +.sheet-equipment_melee_weapons_gs1 { grid-area: mw1; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_melee_weapons_gs2 { grid-area: mw2; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_melee_weapons_gs3 { grid-area: mw3; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_melee_weapons_gs4 { grid-area: mw4; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_melee_weapons_gs5 { grid-area: mw5; color: white; font-size: 12px; padding: 0px 2px } +.sheet-equipment_melee_weapons_gs6 { grid-area: mw6; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_melee_weapons_gs7 { grid-area: mw7; color: white; font-size: 30px; margin-top: -27px; text-align: center; height: 12px; } +.sheet-equipment_melee_weapons_gs8 { grid-area: mw8; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; } +.sheet-equipment_melee_weapons_gs9 { grid-area: mw9; color: white; font-size: 12px; width: 50px!important; } +.sheet-equipment_melee_weapons_gs10 { grid-area: mw10; color: white; font-size: 12px; width: 50px!important; } +.sheet-equipment_melee_weapons_gs11 { grid-area: mw11; color: white; font-size: 12px; } +.sheet-equipment_melee_weapons_gs12 { grid-area: mw12; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; height: 27px; margin-left: -8px; margin-bottom: 0px; } +.sheet-equipment_melee_weapons_gs13 { grid-area: mw13; color: white; font-size: 12px; } +.sheet-equipment_melee_weapons_gs14 { grid-area: mw14; color: white; font-size: 12px; border: none; border-bottom: 1px dotted white; height: 27px; margin-bottom: 0px; } + +.sheet-equipment_melee_weapons_grid3 { + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto auto auto auto auto 61px 61px; + grid-template-areas: + 'mw1 mw2 mw3 mw4 mw5 mw6 mw7 mw8 mw9 mw10'; +} + +.sheet-equipment_melee_weapons_grid4 { + align-items: center; + display: grid; + grid-template-columns: auto auto auto auto; + grid-template-areas: + 'mw11 mw12 mw13 mw14'; +} + +.sheet-equipment_gear_gs1 { grid-area: eg1; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs2 { grid-area: eg2; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs3 { grid-area: eg3; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs4 { grid-area: eg4; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs5 { grid-area: eg5; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs6 { grid-area: eg6; width: 100%; text-align: center; align-self: center; } +.sheet-equipment_gear_gs7 { margin-top: 5px !important; } +.sheet-equipment_gear { + display: grid; + padding-right: 2px; + grid-template-columns: auto 60px 80px 80px 80px 80px 25px; + grid-template-areas: + 'eg1 eg2 eg3 eg4 eg5 eg6 eg7'; +} + +.sheet-equipment_header { + background: #394C6A; + border: 2px solid #475f85; + border-bottom: none; + border-radius: 10px 10px 0px 0px; + font-family: Orbitron; + font-size: 14px; + height: 30px; + letter-spacing: 1px; +} +.sheet-equipment_titles { + font-size: 14px; + text-align: center; + height: 20px; +} + +.sheet-equipment_armor_input { width: 100%; height: 50px; } +.sheet-equipment_armor_gs1 { background: #475f85; padding: 2px; } +.sheet-equipment_armor_gs2 { background: #475f85; padding: 2px; } +.sheet-equipment_armor_gs3 { background: #475f85; padding: 2px; } +.sheet-equipment_armor_grid { + width: 100%; + display: grid; + grid-gap: 10px; + grid-template-columns: 300px 90px auto; +} + +.sheet-equipment_permutations_grid { + margin: 0px 50.5px 0.6px 0px; + display: grid; + grid-template-columns: auto 100px 40px 40px; +} + + + +/* ______________________________ end of equipment tab ______________________________ +______________________________ start of medical tab ______________________________ */ + + + +.sheet-medicalG { + background: #475f85; + border-left: 15px solid #475f85; + border-right: 15px solid #475f85; + color: white; + font-family: Saira Semi Condensed; +} + + + +.sheet-medicalg1 { grid-area: m1; border-top-left-radius: 10px;} +.sheet-medicalg2 { grid-area: m2; } +.sheet-medicalg3 { grid-area: m3; border-top-right-radius: 10px; } +.sheet-medicalg4 { grid-area: m4; } +.sheet-medicalg5 { grid-area: m5; } +.sheet-medicalg6 { grid-area: m6; } +.sheet-medicalg7 { grid-area: m7; } +.sheet-medicalg8 { grid-area: m8; } +.sheet-medicalg9 { grid-area: m9; } +.sheet-medicalg10 { grid-area: m10; } +.sheet-medicalg11 { grid-area: m11; } +.sheet-medicalg12 { grid-area: m12; } +.sheet-medicalg13 { grid-area: m13; } +.sheet-medicalg14 { grid-area: m14; } +.sheet-medicalg15 { grid-area: m15; border-bottom-left-radius: 10px; } +.sheet-medicalg16 { grid-area: m16; } +.sheet-medicalg17 { grid-area: m17; border-bottom-right-radius: 10px; } +.sheet-medicalgT { grid-area: mT; margin-left: 10px; } +.sheet-medicalgR { grid-area: mR; margin-top: 10px; } +.sheet-medical-grid { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-template-rows: 125px 125px 125px 125px 125px 175px auto; + grid-template-areas: + 'm1 m2 m3 mT' + 'm4 m5 m6 mT' + 'm7 m8 m9 mT' + 'm10 m8 m11 mT' + 'm12 m13 m14 mT' + 'm15 m16 m17 mT' + 'mR mR mR mT'; +} + +.sheet-medical_h2 { + background: #394C6A; + color: white; +} +.sheet-medical_input {width: 100% !important;} +.sheet-medical_effect {width: 110%-10 !important; height: 100px !important; font-size: 12px; font-family: arial; background-color: transparent; border: none; line-height: 15px; pointer-events: none; } +.sheet-medical_effect_long {width: 110%-10 !important; height: 210px !important; font-size: 12px; font-family: arial; background-color: transparent; border: none; line-height: 15px; pointer-events: none; } +.sheet-medical_h2_rollable:hover { background-color: rgb(200, 0, 0); } +.sheet-medical_initial_label { margin-bottom: -5px; } +.sheet-medical_table { + border-bottom: 1px dotted grey; + color: white; + font-family: Saira Semi Condensed; + text-align: center; + text-indent: 5px; +} +.sheet-medical_h2_background, +.sheet-medical_background { + background: #475f85; + margin-bottom: 10px; + border-radius: 10px; + padding: 2px; +} +.sheet-medical_h2_background { + border-radius: 10px 10px 0px 0px; + margin-bottom: 0; +} + + + +/* ______________________________ end of medical tab __________________________________________________________ +______________________________ start of advancements tab ______________________________ */ + + + +.sheet-advancements_grid_gs1 { grid-area: e1; align-self: center; text-align: center; width: 100%; } +.sheet-advancements_grid_gs2 { grid-area: e2; align-self: center; text-align: center; width: 100% !important; } +.sheet-advancements_grid_gs3 { grid-area: e3; align-self: center; text-align: center; width: 100% !important; } +.sheet-advancements_grid_gs4 { grid-area: e4; align-self: center; text-align: center; width: 100%; } +.sheet-advancements_grid_gs5 { grid-area: e5; align-self: center; text-align: center; width: 100% !important; } +.sheet-advancements_grid_gs6 { grid-area: e6; align-self: center; text-align: center; width: 100% !important; } +.sheet-advancements_grid { + justify-content: center; + display: grid; + grid-template-columns: 29% 10% 10% 2% 29% 10% 10% ; + grid-template-areas: + 'e1 e2 e3 e0 e4 e5 e6'; +} + +.sheet-faction_training { grid-area: t1; padding: 2px; background: #475f85; } +.sheet-weapon_training { grid-area: t2; padding: 2px; background: #475f85; } +.sheet-training { + margin: 10px 0px 10px 1.5%; + display: grid; + grid-template-columns: 33% 67%; + grid-template-areas: + 't1 t2'; +} + +.sheet-faction_training_grid_g1{ grid-area: ft1; } +.sheet-faction_training_grid_g2{ grid-area: ft2; } +.sheet-faction_training_grid_g3{ grid-area: ft3; } +.sheet-faction_training_grid { + font-size: 16px; + margin: 2px 0px 0px 20px; + display: grid; + grid-template-columns: 50% 50%; + grid-template-areas: + 'ft1 ft2' + 'ft3 ft3'; +} + +.sheet-weapon_training_grid { + font-size: 16px; + margin: 2px -5px 0px 25px; + display: grid; + grid-template-columns: 20% 25% 30% 25%; +} + + + +/* ______________________________ end of advancements tab ______________________________ +______________________________ start of vehicles tab ___________________________________________________________ */ + + + +.sheet-vehicles_grid1 { margin-right: 10px; background: #506b95; border-top: 2px solid #506b95; border-left: 2px solid #506b95; border-right: 2px solid #506b95; border-top-left-radius: 10px; border-top-right-radius: 10px; color: white; font-family: Saira Semi Condensed; } +.sheet-vehicles_grid2 { margin-right: 10px; background: #506b95; border-left: 2px solid #506b95; border-right: 2px solid #506b95; color: white; font-family: Saira Semi Condensed; } +.sheet-vehicles_grid3 { margin-right: 10px; background: #506b95; border-left: 2px solid #506b95; border-right: 2px solid #506b95; border-bottom-left-radius: 10px; border-bottom-right-radius: 10px; color: white; font-family: Saira Semi Condensed; } +.sheet-vehicle_weapons { grid-area: vgw; } +.sheet-vehicles_divider { + display: grid; + grid-template-columns: 50% 50%; + grid-template-areas: + 'vg1 vgw' + 'vg2 vgw' + 'vg3 vgw' + 'vg0 vgw'; +} +.sheet-vehicles_Gn { grid-area: vn; background: #394C6A; border: none; border-bottom: 1px solid white; border-radius: 9px 9px 0px 0px; color: white; font-family: Saira Semi Condensed; text-align: center; font-size: 16px; } +.sheet-vehicles_Gs { grid-area: vs; height: 28.5px; margin-bottom: -8px; margin-top: -1px; border-top: 1px solid white; } +.sheet-vehicles_Gt { grid-area: vt; height: 28.5px; margin-bottom: -8px; margin-top: -1px; border-top: 1px solid white; } +.sheet-vehicles_G1 { grid-area: v1 } +.sheet-vehicles_G2 { grid-area: v2; text-align: center } +.sheet-vehicles_G3 { grid-area: v3; text-align: center } +.sheet-vehicles_G4 { grid-area: v4; text-align: center } +.sheet-vehicles_G5 { grid-area: v5; text-align: center } +.sheet-vehicles_G6 { grid-area: v6 } +.sheet-vehicles_G7 { grid-area: v7 } +.sheet-vehicles_G8 { grid-area: v8 } +.sheet-vehicles_G9 { grid-area: v9 } +.sheet-vehicles_G10 { grid-area: v10 } +.sheet-vehicles_G11 { grid-area: v11; text-align: center } +.sheet-vehicles_G12 { grid-area: v12; text-align: center } +.sheet-vehicles_G13 { grid-area: v13; text-align: center } +.sheet-vehicles_G14 { grid-area: v14; text-align: center } +.sheet-vehicles_G15 { grid-area: v15 } +.sheet-vehicles_G16 { grid-area: v16 } +.sheet-vehicles_G17 { grid-area: v17 } +.sheet-vehicles_G18 { grid-area: v18 } +.sheet-vehicles_G19 { grid-area: v19; text-align: center } +.sheet-vehicles_G20 { grid-area: v20; text-align: center } +.sheet-vehicles_G21 { grid-area: v21; text-align: center } +.sheet-vehicles_G22 { grid-area: v22; text-align: center } +.sheet-vehicles_G23 { grid-area: v23 } +.sheet-vehicles_G24 { grid-area: v24 } +.sheet-vehicles_G25 { grid-area: v25 } +.sheet-vehicles_G26 { grid-area: v26 } +.sheet-vehicles_G27 { grid-area: v27; text-align: center } +.sheet-vehicles_G28 { grid-area: v28; text-align: center } +.sheet-vehicles_G29 { grid-area: v29 } +.sheet-vehicles_G30 { grid-area: v30 } +.sheet-vehicles_G31 { grid-area: v31 } +.sheet-vehicles_G32 { grid-area: v32; margin-top: 6px } +.sheet-vehicles_G33 { grid-area: v33 } +.sheet-vehicles_G34 { grid-area: v34; text-align: center } +.sheet-vehicles_G35 { grid-area: v35; text-align: center } +.sheet-vehicles_G36 { grid-area: v36 } +.sheet-vehicles_G37 { grid-area: v37 } +.sheet-vehicles_G38 { grid-area: v38 } +.sheet-vehicles_G39 { grid-area: v39; text-align: center } +.sheet-vehicles_G40 { grid-area: v40 } +.sheet-vehicles_grid1 { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-template-areas: + 'vn vn vn vn' + 'vs v1 v1 vt' + 'v2 v3 v4 v5' + 'v6 v7 v8 v9' + 'v10 v10 v10 v10' + 'v11 v12 v13 v14' + 'v15 v16 v17 v18' + 'v19 v20 v21 v22' + 'v23 v24 v25 v26' + 'v27 v28 v28 v28' + 'v29 v30 v30 v30' + 'v31 v32 v32 v32' + 'v33 v33 v33 v33' + 'v34 v34 v35 v35' + 'v36 v36 v37 v37' + 'v38 v38 v38 v38' + 'v39 v39 v39 v39' + 'v40 v40 v40 v40'; +} +.sheet-vehicles_G41 { grid-area: v41 } +.sheet-vehicles_G42 { grid-area: v42; text-align: center } +.sheet-vehicles_G43 { grid-area: v43; text-align: center } +.sheet-vehicles_G44 { grid-area: v44; text-align: center } +.sheet-vehicles_G45 { grid-area: v45; text-align: center } +.sheet-vehicles_G46 { grid-area: v46; text-align: center } +.sheet-vehicles_G47 { grid-area: v47 } +.sheet-vehicles_G48 { grid-area: v48 } +.sheet-vehicles_G49 { grid-area: v49 } +.sheet-vehicles_G50 { grid-area: v50 } +.sheet-vehicles_G51 { grid-area: v51 } +.sheet-vehicles_G52 { grid-area: v52; text-align: center } +.sheet-vehicles_G53 { grid-area: v53; text-align: center } +.sheet-vehicles_G54 { grid-area: v54; text-align: center } +.sheet-vehicles_G55 { grid-area: v55; text-align: center } +.sheet-vehicles_G56 { grid-area: v56; text-align: center } +.sheet-vehicles_G57 { grid-area: v57; text-align: center } +.sheet-vehicles_G58 { grid-area: v58 } +.sheet-vehicles_G59 { grid-area: v59 } +.sheet-vehicles_G60 { grid-area: v60 } +.sheet-vehicles_G61 { grid-area: v61 } +.sheet-vehicles_G62 { grid-area: v62 } +.sheet-vehicles_grid2 { + display: grid; + grid-template-columns: 20% 20% 20% 20% 20%; + grid-template-areas: + 'v41 v41 v41 v41 v41' + 'v42 v43 v44 v45 v46' + 'v47 v48 v49 v50 v51' + 'v52 v52 v52 v52 v52' + 'v53 v54 v55 v56 v57' + 'v58 v59 v60 v61 v62'; +} +.sheet-vehicles_G63 { grid-area: v63 } +.sheet-vehicles_G64 { grid-area: v64; text-align: center } +.sheet-vehicles_G65 { grid-area: v65; text-align: center } +.sheet-vehicles_G66 { grid-area: v66 } +.sheet-vehicles_G67 { grid-area: v67 } +.sheet-vehicles_G68 { grid-area: v68; text-align: center } +.sheet-vehicles_G69 { grid-area: v69; text-align: center } +.sheet-vehicles_G70 { grid-area: v70; text-align: center } +.sheet-vehicles_G71 { grid-area: v71; text-align: center } +.sheet-vehicles_G72 { grid-area: v72 } +.sheet-vehicles_G73 { grid-area: v73 } +.sheet-vehicles_G74 { grid-area: v74 } +.sheet-vehicles_G75 { grid-area: v75 } +.sheet-vehicles_G76 { grid-area: v76; padding-bottom: 2px; } +.sheet-vehicles_grid3 { + display: grid; + grid-template-columns: 25% 25% 25% 25%; + grid-template-areas: + 'v63 v63 v63 v63' + 'v64 v64 v65 v65' + 'v66 v66 v67 v67' + 'v68 v69 v70 v71' + 'v72 v73 v74 v75' + 'v76 v76 v76 v76'; +} + +.sheet-vehicles_descriptor { border-bottom-left-radius: 8px; } + +/* These hider checkboxes have names which match the select element on a 1-2-3; +the appropriate element is displayed on a 4 all elements are hidden */ +.sheet-hider:not(:checked) + div { display: none } +.sheet-hider:not(:checked) + input { display: none } +.sheet-hidernot:checked + div { display: none } +.sheet-hidernot:checked + input { display: none } + + + +/* ______________________________ end of vehicles tab ______________________________ +______________________________ start of NPC sheet overrides ___________________________________________________________ */ + +.sheet-NPC_stats_fields { height: 26px !important; font-size: 16px; color: white; width: auto;} +.sheet-NPC_stats_grid{ + padding-top: 2px; + text-align: center; + display: grid; + grid-template-columns: 33% 33% 33%; + grid-template-rows: 18px auto; +} + +.sheet-NPC_core_grid{ + display: grid; + grid-template-columns: 290px 5px auto; +} + +.sheet-NPC_characteristics_fields { height: 26px !important; font-size: 16px; color: white;} +.sheet-NPC_characteristics_roll { width:calc(100% - 10px); height: 20px !important; font-size: 16px; } +.sheet-NPC_characteristics { + color: white; + display: grid; + grid-template-columns: 60px 40px 10px 40px 10px 60px 60px; +} +.sheet-NPC_pageselect{ + display: grid; + grid-template-columns: 70px 67px 120px; +} + +.sheet-NPC_medical { + background: #475f85; + margin-right: 10px; + padding: 2px 2px 2px 2px; + color: white; + font-family: Saira Semi Condensed; + height: 110px; +} + +.sheet-NPC_margin{ margin-right: 10px; } + +.sheet-NPC_textfield_override { height:300px } + + + + +/* ______________________________ end of NPC sheet overrides ______________________________ +______________________________ start of rolltemplate ___________________________________________________________ */ + + + +.sheet-rolltemplate-mythic .sheet-template-header, +.sheet-rolltemplate-mythic .sheet-template-row { + color: white; + line-height: 1.6em; + font-size: 1.2em; + font-family: Saira Semi Condensed; +} + +.sheet-rolltemplate-mythic .sheet-template-header { + background: #394C6A; + border-radius: 10px 10px 0px 0px; + border-left: 2px solid grey; + border-right: 2px solid grey; + border-top: 2px solid grey; + text-align: center; + text-decoration: underline; +} + +.sheet-rolltemplate-mythic .sheet-template-content { + background: #506b95; + background-image: url(https://github.com/michaelvanweelde/Halo_Mythic_4dot0/blob/master/images/Assets/Mythic_rolltemplate_background.png?raw=true); + border-radius: 0px 0px 10px 10px; + border-left: 2px solid grey; + border-right: 2px solid grey; + border-bottom: 2px solid grey; + padding: 2px +} + +.sheet-rolltemplate-mythic .sheet-template-content_top { + border-radius: 0px 0px 0px 0px; + border-bottom: 3px solid #394C6A; +} + +.sheet-rolltemplate-mythic .sheet-template-round { + border-radius: 10px 10px 10px 10px; +} + +.sheet-rolltemplate-mythic .sheet-template-2x2 { + display: grid; + grid-template-columns: auto auto +} + +.sheet-rolltemplate-mythic .sheet-template-right { + text-align: right; + margin-right: 5px +} + +.sheet-rolltemplate-mythic .sheet-template-center { + text-align: center; +} + +.sheet-rolltemplate-mythic .sheet-template-break { + margin-top: 10px; +} + +.sheet-rolltemplate-mythic .sheet-inlineresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 1px solid white; + border-radius: 3px 3px 3px 3px; + background: #394C6A; + color: white; + line-height: 1.6em; + font-size: 1.2em; + font-family: Saira Semi Condensed; + font-weight: bold; + padding: 0px 4px 0px 4px +} + +.sheet-rolltemplate-mythic .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 1px solid white; + border-radius: 3px 3px 3px 3px; + background: #394C6A +} + +.sheet-rolltemplate-mythic .inlinerollresult.fullcrit { + border: 3px solid #B31515; +} + +.sheet-rolltemplate-mythic .inlinerollresult.fullfail { + border: 3px solid #3FB315; +} + +.sheet-rolltemplate-mythic .inlinerollresult.importantroll { + border: 3px solid #4A57ED; +} + +.sheet-rolltemplate-mythic .sheet-mythic_crit .inlinerollresult.fullcrit { + border: 3px solid #3FB315; +} + +.sheet-rolltemplate-mythic .sheet-mythic_crit .inlinerollresult.fullfail { + border: 3px solid #B31515; +} diff --git a/Halo_Mythic_3dot5/HaloMythicUpdated.html b/Halo_Mythic_3dot5/HaloMythicUpdated.html new file mode 100644 index 0000000000..858203e683 --- /dev/null +++ b/Halo_Mythic_3dot5/HaloMythicUpdated.html @@ -0,0 +1,4037 @@ + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ +
+

Mythic

+ + + +

STR

+

TOU

+

AGI

+
+
+

Character Movement

+ + + + + + + +

Half

+

Full

+

Charge

+

Run

+

Sprint

+

Jump

+

Leap

+
+
+

Weight Capacity

+ + + +

Carry

+

Lift

+

Push

+
+ +
+
+ + + + + +
+ +
+ + +

+

+ +

+

+ +
+
+ + + + + + + + + + + + + + +
+ +
+
+ + + + + +
+ +
+ + + +

+ + + +
+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+ +
+
+
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+
+
+ +
+
+
+ + + + + + + + + + + + +
+ + +
+ +
+

Skillset

+
+

Name

+

+

Char

+

Mod

+

T

+

+10

+

+20

+

Roll

+
+
+

Appeal

+

+ + + + + + +
+
+

Athletics

+

+ + + + + + +
+
+

Camouflage

+

+ + + + + + +
+
+

Command

+

+ + + + + + +
+
+

Cryptography

+

Adv.

+ + + + + + +
+
+

Deception

+

+ + + + + + +
+
+

Demolition

+

Adv.

+ + + + + + +
+
+

Evasion

+

+ + + + + + +
+
+

Gambling

+

+ + + + + + +
+
+

Interrogation

+

+ + + + + + +
+
+

Intimidation

+

+ + + + + + +
+
+

Investigation

+

+ + + + + + +
+
+

Medication

+

Adv.

+ + + + + + +
+
+

Nav Air

+

+ + + + + + +
+
+

Nav Land

+

+ + + + + + +
+
+

Nav Space

+

+ + + + + + +
+
+

Nav Slipspace

+

+ + + + + + +
+
+

Negotiation

+

+ + + + + + +
+
+

Pilot Air

+

+ + + + + + +
+
+

Pilot Land

+

+ + + + + + +
+
+

Pilot Space

+

+ + + + + + +
+
+

Security

+

Adv.

+ + + + + + +
+
+

Stunting

+

+ + + + + + +
+
+

Survival

+

+ + + + + + +
+
+

Technology

+

Adv.

+ + + + + + +
+
+
+ + + + + + + + +
+
+
+ +
+

Education

+
+

Name

+

Char

+

Mod

+

+5

+

+10

+

Roll

+
+
+ + + +
+
+ +
+
+
+ + + +
+
+ +
+
+
+ +
+

Languages

+
+ +
+
+ +
+
+ + + +

Abilities

+

Expand or collapse ability's descriptor block ⯆

+
+ + + + + +
+ + + + + +
+
+ + + + + + +
+ + + +
+
+
+

Ranged Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Range
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Magazine
+ +
/
+ + + +
+
+
RoF
+ +
/
+ +
/
+ +
Reload
+ +
+
+ + + + + +
+
+
+
+
+ +
+

Melee Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Reach
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Attacks
+ +
Br Pts
+ +
/
+ + + +
+
+
damage plus Strength
+ +
pierce plus Strength
+ +
+
+ + + + + +
+
+
+
+
+ +
+ cR Count: + cR Calculation: + Weight Calculation: kilograms + + +
+
+
+ +
+
Gear / Item Name
+
Amount
+
Value
+
Weight
+
B Pts
+
Page #
+
+
+ + + + + + + +
+ + +
+
+ + + + + + + +
+ + +
+
+ +
+
+

Armor Display

+ +
+
+

Armor

+
+
+

Head

+ +
+
+
+

Arm L

+ +
+
+
+

Arm R

+ +
+
+
+

Chest

+ +
+
+
+

Leg L

+ +
+
+
+

Leg R

+ +
+
+ +
+

Armor Permutations

+
+
+

Name

+

Location

+

Hpts

+

Pg#

+
+
+ + + + +
+ + + + +
+
+
+
+ + + + +
+ + + + +
+
+ +
+ +

Armor Description

+ +
+ + + + + +
+
+
+ +
+ + + + + +
+ +
+ +
+ Finger / Toe + + + +
+ +
+ Heart + + +
+ +
+ Neck + + +
+ +
+ Skull / Brain + + +
+ +
+ Nose / Ear + + +
+ +
+ Chest + + +
+ +
+ Small / Large Intestines + + +
+ +
+ Lungs + + +
+ +
+ Kidney / Stomach / Liver + + +
+ +
+ Knee / Ankle / Shoulder / Elbow + + +
+ +
+ Pelvis + + +
+ +
+ Mouth + + +
+ +
+ Hand + + +
+ +
+ Chin / Jaw / Cheek + + +
+ +
+ Eye + + +
+ +
+ Foot + + +
+ +
+ Limb (Arm / Leg) + + +
+ +
+
+ +

01-10 HEAD

+
01 Neck
+
02 Chin
+
03 Mouth
+
04-05 Nose
+
06-07 Cheeks
+
08 Eyes
+
09 Forehead
+
10 Ear
+

11-20 LEFT ARM

+
11 Fingers
+
12 Hands
+
13-15 Forearm
+
16 Elbow
+
17-19 Bicep
+
20 Shoulder
+

21-30 RIGHT ARM

+
21 Fingers
+
22 Hands
+
23-25 Forearm
+
26 Elbow
+
27-29 Bicep
+
30 Shoulder
+

31-45 LEFT LEG

+
31 Toes
+
32 Foot
+
33 Ankle
+
34-37 Shin
+
38 Knee
+
39-43 Thigh
+
44-45 Pelvis
+

46-61 RIGHT LEG

+
46 Toes
+
47 Foot
+
48 Ankle
+
49-53 Shin
+
54 Knee
+
55-58 Thigh
+
59-60 Pelvis
+

62-100 CHEST

+
61-66 Small Intestines
+
67-72 Large Intestines
+
73-78 Kidney
+
79-84 Stomach / Liver
+
85-89 Heart
+
90-96 Lungs
+
97-100 No Organ Hit
+
+
+

ROLL LOCATION (optional)

+
1-3 Left
+
4-7 Center
+
8-10 Right
+
+
+

IF Fingers / Toes 1D10

+
1-2 Pinky Finger / Toe
+
3-4 Ring Finger / Toe
+
5-6 Middle Finger / Toe
+
7-8 Index Finger / Toe
+
9-10 Thumb Finger / Toe
+
+
+ +
+
+

Medical Information

+
+ + +
+ +
+
+ +
+
+ + + + + +
+ +

Experience Summary

+
+ Unspent XP: + Spent XP: + XP Total: +
+
+
+
Name
+
XP Cost
+
Page #
+
Name
+
XP Cost
+
Page #
+
+
+ + + + + + +
+
+
+ + + + + + +
+
+ +
+
+

Faction Training

+
+
U.N.S.C.
+
Forerunner
+
Covenant / Banished
+
+
+
+

Weapon Training

+
+
Basic
+
Infantry
+
Vehicle
+
Melee
+
Heavy
+
Advanced
+
Long-Range
+
Explosives
+
+
+
+ +
+ + + + + +
+ +

Journal: Objectives

+
+
+ + +
+
+

Journal: Notes

+
+
+ + +
+
+
+ + + + + +
+ +
+
+
+ + + + + +

DIMENSIONS

+
Length
+
Width
+
Height
+
Weight
+ + + + + + +

SPEED AND MANEUVERABILITY

+ +

SPEED AND MANEUVERABILITY

+ +

CHARACTERISTICS

+ + +
Accelerate
+ +
Brake
+ +
Top Speed
+ +
Maneuver
+ + + + + + + + + + +
Vertical
+ +
Takeoff
+ +
Target Range
+ +
Targeting
+ + + + + + + + + + +
Strength
+ +
Melee
+ + + + + + + + +
Mythic
+ + +

CREW AND COMPLEMENT

+ +
Crew
+ +
Complement
+ + + + +

HULL

+
Hull Material
+ +
+
+

BREAKPOINTS

+
1-20 Wep
+
21-40 Mob
+
41-60 Eng
+
61-80 Optic
+
81-100 Crew
+ + + + + +

Armor

+
Front
+
Back
+
Side
+
Top
+
Bottom
+ + + + + +
+
+

Miscellaneous

+
Size Points
+
Weapon Points
+ + + + +
Shield Rating
+ +
Shield Current
+ +
Recharge Delay
+ +
Recharge Rate
+ + + + + + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+
+
+ +
+
+

Vehicle Ranged Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Range
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Magazine
+ +
/
+ + + +
+
+
RoF
+ +
/
+ +
/
+ +
Reload
+ +
+
+ + + + + +
+
+
+
+
+ +
+

Vehicle Melee Weaponry

+
+
+
+
Name
+ +
Type
+ + +
+
+
Reach
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Attacks
+ +
Br Pts
+ +
/
+ + + +
+
+ + + + + +
+
+
+
+
+
+
+ +
+ + + + + +
+ +

Settings

+

Species Overrides

+ +
+ +

Initiative Overrides

+ +
+ +

Auto Roll Hit Locations

+ +
+ +

Weapon Description in Damage Roll

+ +
+ +

Display DOS as decimals

+ +
+ +

Calculate The Negative Impact Of Fatigue Automatically

+ +
+ +

Add half mythic agility to initiative

+ +
+ +

Sheet color override

+ +
+ +

Medical section version override

+ +
+ +

NPC Sheet

+ +
+
+ +
+ + + + + + + + + + + + + + + +
+
+ +
+ + +

+

+ +

+

+ +
+
+

EXPERIENCE

+

RANK

+

SIZE

+ + + +
+
+ +
+
+ + + + + + + +
+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+ +
+
+
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Current

+ +

Max

+ +

Delay

+ +

Charge

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+ +

Head

+ +

Arms

+ +

Chest

+ +

Legs

+ +
+ +
+
+
+ +
+ +
+ +
+

Stats

+
+
+

Characteristics

+ + + + + + + + + + +
+
+

 

+ + + + + + + + + + +
+
+
+

Mythic

+ + + +
+
+

 

+
+
+

Movement/carry

+

Half

+

Full

+

Charge

+

Run

+

Sprint

+

Jump

+

Leap

+

Carry

+

Lift

+

Push

+
+
+

 

+ + + + + + + + + + +
+
+
+ +
+ +
+

Skillset

+
+

Name

+

+

Char

+

Mod

+

T

+

+10

+

+20

+

Roll

+
+
+
+ + + + + + + + +
+
+
+
+ +
+ +
+ + + +
+ + +
+
+ +
+ +
+
+
+ + + + + +

DIMENSIONS

+
Length
+
Width
+
Height
+
Weight
+ + + + + + +

SPEED AND MANEUVERABILITY

+ +

SPEED AND MANEUVERABILITY

+ +

CHARACTERISTICS

+ + +
Accelerate
+ +
Brake
+ +
Top Speed
+ +
Maneuver
+ + + + + + + + + + +
Vertical
+ +
Takeoff
+ +
Target Range
+ +
Targeting
+ + + + + + + + + + +
Strength
+ +
Melee
+ + + + + + + + +
Mythic
+ + +

CREW AND COMPLEMENT

+ +
Crew
+ +
Complement
+ + + + +

HULL

+
Hull Material
+ +
+
+

BREAKPOINTS

+
1-20 Wep
+
21-40 Mob
+
41-60 Eng
+
61-80 Optic
+
81-100 Crew
+ + + + + +

Armor

+
Front
+
Back
+
Side
+
Top
+
Bottom
+ + + + + +
+
+

Miscellaneous

+
Size Points
+
Weapon Points
+ + + + +
Shield Rating
+ +
Shield Current
+ +
Recharge Delay
+ +
Recharge Rate
+ + + + + + + + + +
+
+ + + + + +
+
+ + + + + +
+
+
+   +
+
+
+ +
+ +
+
+

Finger / Toe

+ + +
+ +
+

Heart

+ + +
+ +
+

Neck

+ + +
+ +
+

Skull / Brain

+ + +
+ +
+

Nose / Ear

+ + +
+ +
+

Limb (Arm / Leg)

+ + +
+ +
+

Small / Large Intestines

+ + +
+ +
+

Lungs

+ + +
+ +
+

Kidney / Stomach / Liver / Spleen

+ + +
+ +
+

Knee / Ankle / Shoulder / Elbow

+ + +
+ +
+

Eye

+ + +
+ +
+

Mouth

+ + +
+ +
+

Hand

+ + +
+ +
+

Chin / Jaw / Cheek

+ + +
+ +
+

Foot

+ + +
+ +
+

Pelvis

+ + +
+ +
+

Chest

+ + +
+
+
+ +
+ +
+
+
+

Vehicle Ranged Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Range
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Magazine
+ +
/
+ + + +
+
+
RoF
+ +
/
+ +
/
+ +
Reload
+ +
+
+ + + + + +
+
+
+
+ +
+

Vehicle Melee Weaponry

+
+
+
+
Name
+ +
Type
+ + +
+
+
Reach
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Attacks
+ +
Br Pts
+ +
/
+ + + +
+
+ + + + + +
+
+
+
+
+
+
+ +
+ +
+
+

Ranged Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Range
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Magazine
+ +
/
+ + + +
+
+
RoF
+ +
/
+ +
/
+ +
Reload
+ +
+
+ + + + + +
+
+
+
+
+

Melee Weapons

+
+
+
+
Name
+ +
Type
+ + +
+
+
Reach
+ +
DMG Roll
+ +
Base
+ +
Pierce
+ +
+
+
Hit Mod
+ +
Attacks
+ +
Br Pts
+ +
/
+ + + +
+
+
damage plus Strength
+ +
pierce plus Strength
+ +
+
+ + + + + +
+
+
+
+
+
+ +
+

Additional info

+
+ + + + + +
+ + + + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{#initiative}} +
{{character}} rolls for Initiative
+
+
{{initiative}} Degrees of success
+ +
+ {{/initiative}} + + + + {{#roll-name}} +
{{character}} rolls for {{roll-name}}
+
+
+
+ {{roll}} +
+
+ {{#^rollLess() roll 0 }}Degrees of success{{/^rollLess() roll 0 }} + {{#rollLess() roll 0 }}Degrees of failure{{/rollLess() roll 0 }} +
+
+ +
+ {{/roll-name}} + + + + {{#avrdam}} +
{{character}} damage with autoroller
+
+
+
Damage dealt:
+
{{avrdam}}
+
+ +
+ {{/avrdam}} + + + + {{#multiroll}} +
{{character}} rolls multiple times
+
+
+
Successes:
+
{{multiroll}}
+
+
+ {{/multiroll}} + + + + {{#attack}} +
{{character}} rolls to attack with {{weapon}}
+ {{#loc}}
{{/loc}} + {{^loc}}
{{/loc}} + +
+
{{roll}}
+ {{#^rollLess() roll 0 }}
Degrees of success
{{/^rollLess() roll 0 }} + {{#rollLess() roll 0 }}
Degrees of failure
{{/rollLess() roll 0 }} +
+ + {{#rollWasCrit() roll }}
A CRITICAL FAIL!
{{/rollWasCrit() roll }} + {{#rollWasFumble() roll }}
A CRITICAL HIT!
{{/rollWasFumble() roll }} +
+ {{/attack}} + + + + {{#loc}} + {{^attack}}
{{/attack}} + {{#attack}}
{{/attack}} +
Hit Location {{loc}}
+
+ {{#rollBetween() loc 1 10}} HEAD: {{/rollBetween() loc 1 10}} + {{#rollBetween() loc 1 1}} 01 Neck {{/rollBetween() loc 1 1}} + {{#rollBetween() loc 2 2}} 02 Chin {{/rollBetween() loc 2 2}} + {{#rollBetween() loc 3 3}} 03 Mouth {{/rollBetween() loc 3 3}} + {{#rollBetween() loc 4 5}} 04-05 Nose {{/rollBetween() loc 4 5}} + {{#rollBetween() loc 6 7}} 06-07 Cheeks {{/rollBetween() loc 6 7}} + {{#rollBetween() loc 8 8}} 08 Eyes {{/rollBetween() loc 8 8}} + {{#rollBetween() loc 9 9}} 09 Forehead {{/rollBetween() loc 9 9}} + {{#rollBetween() loc 10 10}} 10 Ear {{/rollBetween() loc 10 10}} + + {{#rollBetween() loc 11 20}} LEFT ARM: {{/rollBetween() loc 11 20}} + {{#rollBetween() loc 11 11}} 11 Fingers {{/rollBetween() loc 11 11}} + {{#rollBetween() loc 12 12}} 12 Hands {{/rollBetween() loc 12 12}} + {{#rollBetween() loc 13 15}} 13-15 Forearm {{/rollBetween() loc 13 15}} + {{#rollBetween() loc 16 16}} 16 Elbow {{/rollBetween() loc 16 16}} + {{#rollBetween() loc 17 19}} 17-19 Bicep {{/rollBetween() loc 17 19}} + {{#rollBetween() loc 20 20}} 20 Shoulder {{/rollBetween() loc 20 20}} + + {{#rollBetween() loc 21 30}} RIGHT ARM: {{/rollBetween() loc 21 30}} + {{#rollBetween() loc 21 21}} 21 Finger {{/rollBetween() loc 21 21}} + {{#rollBetween() loc 22 22}} 22 Hands {{/rollBetween() loc 22 22}} + {{#rollBetween() loc 23 25}} 23-25 Forearm {{/rollBetween() loc 23 25}} + {{#rollBetween() loc 26 26}} 26 Elbow {{/rollBetween() loc 26 26}} + {{#rollBetween() loc 27 29}} 27-29 Bicep {{/rollBetween() loc 27 29}} + {{#rollBetween() loc 30 30}} 30 Shoulder {{/rollBetween() loc 30 30}} + + {{#rollBetween() loc 31 45}} LEFT LEG: {{/rollBetween() loc 31 45}} + {{#rollBetween() loc 31 31}} 31 Toes {{/rollBetween() loc 31 31}} + {{#rollBetween() loc 32 32}} 32 Foot {{/rollBetween() loc 32 32}} + {{#rollBetween() loc 33 33}} 33 Ankle {{/rollBetween() loc 33 33}} + {{#rollBetween() loc 34 37}} 34-37 Shin {{/rollBetween() loc 34 37}} + {{#rollBetween() loc 38 38}} 38 Knee {{/rollBetween() loc 38 38}} + {{#rollBetween() loc 39 43}} 39-43 Thigh {{/rollBetween() loc 39 43}} + {{#rollBetween() loc 44 45}} 44-45 Pelvis {{/rollBetween() loc 44 45}} + + {{#rollBetween() loc 46 60}} RIGHT LEG: {{/rollBetween() loc 46 60}} + {{#rollBetween() loc 46 46}} 46 Toes {{/rollBetween() loc 46 46}} + {{#rollBetween() loc 47 47}} 47 Foot {{/rollBetween() loc 47 47}} + {{#rollBetween() loc 48 48}} 48 Ankle {{/rollBetween() loc 48 48}} + {{#rollBetween() loc 49 53}} 49-53 Shin {{/rollBetween() loc 49 53}} + {{#rollBetween() loc 54 54}} 54 Knee {{/rollBetween() loc 54 54}} + {{#rollBetween() loc 55 58}} 55-58 Thigh {{/rollBetween() loc 55 58}} + {{#rollBetween() loc 59 60}} 59-60 Pelvis {{/rollBetween() loc 59 60}} + + {{#rollBetween() loc 61 100}} CHEST: {{/rollBetween() loc 61 100}} + {{#rollBetween() loc 61 66}} 61-66 Small Intestines {{/rollBetween() loc 61 66}} + {{#rollBetween() loc 67 72}} 67-72 Large Intestines {{/rollBetween() loc 67 72}} + {{#rollBetween() loc 73 78}} 73-78 Kidney {{/rollBetween() loc 73 78}} + {{#rollBetween() loc 79 84}} 79-84 Stomach / Liver {{/rollBetween() loc 79 84}} + {{#rollBetween() loc 85 89}} 85-89 Heart {{/rollBetween() loc 85 89}} + {{#rollBetween() loc 90 96}} 90-96 Lungs {{/rollBetween() loc 90 96}} + {{#rollBetween() loc 97 100}} 97-100 No Organ Hit {{/rollBetween() loc 97 100}} +
+
+ {{/loc}} + + + + {{#damage}} +
{{character}} rolls for damage with {{weapon}}
+ {{#description}}
{{/description}} + {{^description}}
{{/description}} +
+ +
+
Damage
+
{{damage}}
+
+ +
+
Pierce
+
{{pierce}}
+
+
+ +
+ {{/damage}} + {{#description}} + {{#name}}
{{name}}
{{/name}} +
+
{{description}}
+
+ {{/description}} + + + + {{#scatter-range}} +
{{character}} scatters
+
+
Range: {{scatter-range}} meters
+ {{#rollBetween() scatter-direction 1 2}} {{/rollBetween() scatter-direction 1 2}} + {{#rollBetween() scatter-direction 3 3}} {{/rollBetween() scatter-direction 3 3}} + {{#rollBetween() scatter-direction 4 4}} {{/rollBetween() scatter-direction 4 4}} + {{#rollBetween() scatter-direction 5 5}} {{/rollBetween() scatter-direction 5 5}} + {{#rollBetween() scatter-direction 6 7}} {{/rollBetween() scatter-direction 6 7}} + {{#rollBetween() scatter-direction 8 8}} {{/rollBetween() scatter-direction 8 8}} + {{#rollBetween() scatter-direction 9 9}} {{/rollBetween() scatter-direction 9 9}} + {{#rollBetween() scatter-direction 10 10}} {{/rollBetween() scatter-direction 10 10}} + +
+ {{/scatter-range}} + + + + {{#2x2}} +
{{character}}: {{name}}
+
+ +
+
{{2x2-name}}
+
{{2x2}}
+
{{2x2-name-max}}
+
{{2x2-max}}
+
+ +
+ {{/2x2}} + + {{#4x2-1}} +
{{character}}: {{name}}
+
+
+ +
+
{{4x2-1-name}}
+
{{4x2-1}}
+
{{4x2-1-name-max}}
+
{{4x2-1-max}}
+
+ +
+
{{4x2-2-name}}
+
{{4x2-2}}
+
{{4x2-2-name-max}}
+
{{4x2-2-max}}
+
+ +
+ {{/4x2-1}} + +
+ diff --git a/Halo_Mythic_3dot5/images/Logos/faction_Logo_SOS.png b/Halo_Mythic_3dot5/images/Logos/faction_Logo_SOS.png new file mode 100644 index 0000000000..1eeed19402 Binary files /dev/null and b/Halo_Mythic_3dot5/images/Logos/faction_Logo_SOS.png differ diff --git a/Halo_Mythic_3dot5/sheet.json b/Halo_Mythic_3dot5/sheet.json index 099364b32c..8070ed6d2c 100644 --- a/Halo_Mythic_3dot5/sheet.json +++ b/Halo_Mythic_3dot5/sheet.json @@ -1,6 +1,6 @@ { - "html": "HaloMythic4dot0.html", - "css": "HaloMythic4dot0.css", + "html": "HaloMythicUpdated.html", + "css": "HaloMythicUpdated.css", "authors": "Omran Losinno, Michael van Weelde", "roll20userid": "557736, 1503191", "preview": "preview.png", diff --git a/Haunted-West-Character-Sheet/haunted_west.html b/Haunted-West-Character-Sheet/haunted_west.html index c0b324f516..5371db6e67 100644 --- a/Haunted-West-Character-Sheet/haunted_west.html +++ b/Haunted-West-Character-Sheet/haunted_west.html @@ -153,7 +153,7 @@
-
+
@@ -184,13 +184,16 @@
Move (MPH)
+
+
+
Gumption
-
+
Grit
@@ -202,11 +205,11 @@
Initiative
-
+
Stamina
-
+
XP
@@ -220,12 +223,13 @@
Move (ft)
+
ROLL MODIFIER
- Add any roll modifiers to this box to apply them to rolls + Add any roll modifiers to this box to apply them to the target. Use - for negative, but do not include + for positive.
@@ -236,55 +240,67 @@
-
+
-
+
-
+
-
+
+
-
-
+
+
+
+
+
-
+
+
-
-
+
+
+
+
+
-
+
-
+
-
+
+
-
-
+
+
+
+
+
-
+
@@ -295,49 +311,53 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
-
-
+
+
+
+
+
-
+
@@ -346,60 +366,75 @@
-
+
-
+
-
+
-
+
+
-
-
-
-
-
+
+
+
+
+
+ +
+
-
+
+
+
+
+
+
+
+
+
-
+
+
-
-
- -
+
+
+
+
+
-
+
-
+
@@ -408,58 +443,62 @@
-
+
-
-
+
+
+
-
-
- -
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
-
-
- -
+
+
+ +
+
@@ -468,56 +507,60 @@
-
+
-
-
+
+
+
-
-
- -
+
+
+
+
+
-
+
-
+
-
+
-
+
+
-
-
- -
+
+
+
+
+
-
+
-
+
-
+
@@ -526,111 +569,124 @@
-
+
-
+
-
+
-
+
-
+
+
-
-
- -
+
+
+
+
+
-
+
-
+
+
-
-
+
+
+
+
+
+
-
+
+
-
-
- -
+
+
+
+
+
-
+
+
-
-
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -960,4 +1016,4 @@ }); }); }); - \ No newline at end of file + diff --git a/Haunted-West-Character-Sheet/sheet.json b/Haunted-West-Character-Sheet/sheet.json index 1d93a7ebbf..500f92fa1d 100644 --- a/Haunted-West-Character-Sheet/sheet.json +++ b/Haunted-West-Character-Sheet/sheet.json @@ -4,5 +4,6 @@ "authors": "Chris Spivey, John Arcadian", "roll20userid": "", "preview": "hwcspreview.jpg", - "instructions": " " + "instructions": " ", + "compendium": "hwest", } diff --git a/HeroSystem6eHeroic/HeroSystem6eHeroic.css b/HeroSystem6eHeroic/HeroSystem6eHeroic.css index bef461d99d..ce9bcc6e60 100644 --- a/HeroSystem6eHeroic/HeroSystem6eHeroic.css +++ b/HeroSystem6eHeroic/HeroSystem6eHeroic.css @@ -319,12 +319,14 @@ select:focus + .focus { flex-wrap: wrap; align-items: center; justify-content: space-evenly; - width: 674px; + width: 668px; height: 36px; border: 3px solid #fff990; border-radius: 5px; background: royalblue; margin: 0px; + padding-left: 3px; + padding-right: 3px; } .sheet-flex-tallybar span { @@ -333,11 +335,11 @@ select:focus + .focus { .sheet-flex-tallybar span:nth-child(1) { color: white; - margin-left: 5px; + } -.sheet-flex-tallybar input { - max-width: 40px; +.sheet-flex-tallybar input[type=number] { + min-width: 52px; text-align: right; padding-right: 0px; } @@ -350,6 +352,8 @@ select:focus + .focus { .sheet-flex-tallybar input[readonly]{ background: #fff990; padding-right: 0px; + min-width: 36px; + max-width: 40px; text-align: center; } @@ -535,11 +539,17 @@ select:focus + .focus { line-height: 1.3; } +.item-characteristics-earnings-experience input { + min-width: 54px; + padding-right: 0px; + padding-top: 0px; +} + .item-characteristics-earnings input[type=number] { text-align: right; - padding-right: 1px; + padding-right: 0px; border: solid 1px palegoldenrod; - padding-top: 2px; + padding-top: 0px; margin-bottom: 5px; } @@ -1280,7 +1290,7 @@ select:focus + .focus { background-color: #fff990; margin: 5px; width: 450px; - max-height: 203px; + height: 213px; margin: 0px; border: solid 2px goldenrod; border-radius: 3px; @@ -2249,9 +2259,10 @@ select:focus + .focus { flex-direction: column; border-radius: 5px; max-width: 333px; - padding: 2px; + padding-top: 1px; padding-left: 4px; padding-right: 4px; + padding-bottom: 2px; margin: 0px; height: 797px; } diff --git a/HeroSystem6eHeroic/HeroSystem6eHeroic.html b/HeroSystem6eHeroic/HeroSystem6eHeroic.html index 8b553716f2..0d38367ff1 100644 --- a/HeroSystem6eHeroic/HeroSystem6eHeroic.html +++ b/HeroSystem6eHeroic/HeroSystem6eHeroic.html @@ -1579,7 +1579,7 @@
- +
@@ -2957,6 +2957,10 @@ + + + +
@@ -2966,7 +2970,11 @@ + + + +
@@ -2977,6 +2985,10 @@ + + + +
@@ -2987,6 +2999,10 @@ + + + +
@@ -2997,6 +3013,10 @@ + + + +
@@ -3007,6 +3027,10 @@ + + + +
@@ -3017,6 +3041,10 @@ + + + +
@@ -4384,8 +4412,8 @@
- - + +
@@ -4439,6 +4467,14 @@

Use Hit Location System

+ +
+ +

Takes No STUN

+
@@ -4466,6 +4502,9 @@
+ + + @@ -4682,20 +4721,6 @@ return heroRoundHigh(9+theNumber/5); } - function calculatePoints() { - // Calculate points spent on characteristics, skills, powers, perks, and talents for the tally bar. - sumCharacteristicPoints(); - sumComplicationsBenefit(); - sumPowersPerksTalents(); - - // Placeholders until tabs are finished - setAttrs({ - "skillsCost":0 - }); - - // Calculate benefit of complications - } - /* ------------------------- */ /* Portrait Selection */ /* ------------------------- */ @@ -4797,22 +4822,36 @@ // Add 1 to currentSTUN on("clicked:currentSTUNplus", function () { - getAttrs(["currentSTUN"], function(values) { - const currentValue = parseInt(values.currentSTUN)||0; + getAttrs(["currentSTUN", "optionTakesNoSTUN"], function(values) { + let currentValue = parseInt(values.currentSTUN)||0; + const takesNoSTUN = values.optionTakesNoSTUN; + if (takesNoSTUN != 0) { + currentValue = 0; + } else { + currentValue = currentValue+1; + } + setAttrs({ - "currentSTUN":currentValue+1 + "currentSTUN":currentValue }); }); }); // Subtract 1 from currentSTUN on("clicked:currentSTUNminus", function () { - getAttrs(["currentSTUN"], function(values) { - const currentValue = parseInt(values.currentSTUN)||0; + getAttrs(["currentSTUN", "optionTakesNoSTUN"], function(values) { + let currentValue = parseInt(values.currentSTUN)||0; + const takesNoSTUN = values.optionTakesNoSTUN; + if (takesNoSTUN != 0) { + currentValue = 0; + } else { + currentValue = currentValue-1; + } + setAttrs({ - "currentSTUN":currentValue-1 + "currentSTUN":currentValue }); }); }); @@ -4892,22 +4931,36 @@ // Add 1 to gearCurrentSTUN on("clicked:gearCurrentSTUNplus", function () { - getAttrs(["gearCurrentSTUN"], function(values) { - const currentValue = parseInt(values.gearCurrentSTUN)||0; + getAttrs(["gearCurrentSTUN", "optionTakesNoSTUN"], function(values) { + let currentValue = parseInt(values.gearCurrentSTUN)||0; + const takesNoSTUN = values.optionTakesNoSTUN; + + if (takesNoSTUN != 0) { + currentValue = 0; + } else { + currentValue = currentValue +1; + } setAttrs({ - "gearCurrentSTUN":currentValue+1 + "gearCurrentSTUN":currentValue }); }); }); // Subtract 1 from gearCurrentSTUN on("clicked:gearCurrentSTUNminus", function () { - getAttrs(["gearCurrentSTUN"], function(values) { - const currentValue = parseInt(values.gearCurrentSTUN)||0; + getAttrs(["gearCurrentSTUN", "optionTakesNoSTUN"], function(values) { + let currentValue = parseInt(values.gearCurrentSTUN)||0; + const takesNoSTUN = values.optionTakesNoSTUN; + if (takesNoSTUN != 0) { + currentValue = 0; + } else { + currentValue = currentValue -1; + } + setAttrs({ - "gearCurrentSTUN":currentValue-1 + "gearCurrentSTUN":currentValue }); }); }); @@ -5149,7 +5202,7 @@ } // Update Strength related stats and skills - on("change:strength", function () { + on("change:strength change:useCharacteristicMaximums", function () { getAttrs(["strength","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.strength)||0; @@ -5192,12 +5245,12 @@ }); // Update costs - calculatePoints(); + sumCharacteristicPoints(); }); }); // Update Dexterity - on("change:dexterity", function () { + on("change:dexterity change:useCharacteristicMaximums", function () { getAttrs(["dexterity","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.dexterity)||0; @@ -5225,7 +5278,7 @@ }); // Update Constitution - on("change:constitution", function () { + on("change:constitution change:useCharacteristicMaximums", function () { getAttrs(["constitution","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.constitution)||0; @@ -5253,7 +5306,7 @@ }); // Update Intelligence - on("change:intelligence change:enhancedPerceptionModifier", function () { + on("change:intelligence change:enhancedPerceptionModifier change:useCharacteristicMaximums", function () { getAttrs(["intelligence","useCharacteristicMaximums","enhancedPerceptionModifier"], function(values) { const statValue = parseInt(values.intelligence)||0; @@ -5291,7 +5344,7 @@ }); // Update Ego - on("change:ego", function () { + on("change:ego change:useCharacteristicMaximums", function () { getAttrs(["ego","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.ego)||0; @@ -5319,7 +5372,7 @@ }); // Update Presence - on("change:presence", function () { + on("change:presence change:useCharacteristicMaximums", function () { getAttrs(["presence","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.presence)||0; @@ -5349,7 +5402,7 @@ // Combat Characteristics // Update Offensive Combat Value - on("change:ocv", function () { + on("change:ocv change:useCharacteristicMaximums", function () { getAttrs(["ocv","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.ocv)||0; @@ -5400,18 +5453,24 @@ }); // Update hidden attribute currentDCV - on("change:dcv change:weightDexDCVPenalty change:shieldDCV change:bonusDCVmodifier", function () { - getAttrs(["dcv","useCharacteristicMaximums","currentDCV","weightDexDCVPenalty","shieldDCV","bonusDCVmodifier"], function(values) { + on("change:dcv change:weightDexDCVPenalty change:shieldDCV change:bonusDCVmodifier change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { + getAttrs(["dcv","useCharacteristicMaximums","currentDCV","weightDexDCVPenalty","shieldDCV","bonusDCVmodifier", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.dcv)||0; const shieldBonus = parseInt(values.shieldDCV)||0; const weightPenalty = parseInt(values.weightDexDCVPenalty)||0; const bonusModifier = parseInt(values.bonusDCVmodifier)||0; const useMaximums = values.useCharacteristicMaximums; - const baseStat = 3; + const takesNoSTUN = values.optionTakesNoSTUN; + let baseStat = 3; const maxStat = 8; - const costStat = 5; + let costStat = 5; let statCP = 0; + + // Automaton defenses cost triple. + if (takesNoSTUN != 0) { + costStat = costStat*3; + } if ( (statValue>maxStat) && (useMaximums != 0) ) { statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; @@ -5431,7 +5490,7 @@ }); // Update Mental Offensive Combat Value - on("change:omcv", function () { + on("change:omcv change:useCharacteristicMaximums", function () { getAttrs(["omcv","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.omcv)||0; @@ -5458,15 +5517,21 @@ }); // Update Mental Defensive Combat Value - on("change:dmcv", function () { - getAttrs(["dmcv","useCharacteristicMaximums"], function(values) { + on("change:dmcv change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { + getAttrs(["dmcv","useCharacteristicMaximums", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.dmcv)||0; const useMaximums = values.useCharacteristicMaximums; + const takesNoSTUN = values.optionTakesNoSTUN; const baseStat = 3; const maxStat = 8; - const costStat = 3; + let costStat = 3; let statCP = 0; + + // Automaton defenses cost triple. + if (takesNoSTUN != 0) { + costStat = costStat*3; + } if ( (statValue>maxStat) && (useMaximums != 0) ) { statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; @@ -5485,7 +5550,7 @@ }); // Update Speed - on("change:speed", function () { + on("change:speed change:useCharacteristicMaximums", function () { getAttrs(["speed","useCharacteristicMaximums"], function(values) { let theSpeed = parseInt(values.speed)||0; @@ -5632,15 +5697,22 @@ }); // Update Physical Defense - on("change:pd", function () { - getAttrs(["pd","useCharacteristicMaximums"], function(values) { + on("change:pd change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { + getAttrs(["pd","useCharacteristicMaximums", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.pd)||0; const useMaximums = values.useCharacteristicMaximums; - const baseStat = 2; + const takesNoSTUN = values.optionTakesNoSTUN; + let baseStat = 2; const maxStat = 8; - const costStat = 1; + let costStat = 1; let statCP = 0; + + // Automaton defenses cost triple. + if (takesNoSTUN != 0) { + costStat = costStat*3; + baseState = 1; + } if ( (statValue>maxStat) && (useMaximums != 0) ) { statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; @@ -5659,15 +5731,22 @@ }); // Update Energy Defense - on("change:ed", function () { - getAttrs(["ed","useCharacteristicMaximums"], function(values) { + on("change:ed change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { + getAttrs(["ed","useCharacteristicMaximums", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.ed)||0; const useMaximums = values.useCharacteristicMaximums; - const baseStat = 2; + const takesNoSTUN = values.optionTakesNoSTUN; + let baseStat = 2; const maxStat = 8; - const costStat = 1; + let costStat = 1; let statCP = 0; + + // Automaton defenses cost triple. + if (takesNoSTUN != 0) { + costStat = costStat*3; + baseState = 1; + } if ( (statValue>maxStat) && (useMaximums != 0) ) { statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; @@ -5686,7 +5765,7 @@ }); // Update BODY - on("change:body", function () { + on("change:body change:useCharacteristicMaximums", function () { getAttrs(["body","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.body)||0; @@ -5712,27 +5791,69 @@ }); }); + // Handle STUN data when optionTakesNoSTUN is checked. + on("change:optionTakesNoSTUN", function () { + getAttrs(["optionTakesNoSTUN", "stun", "hiddenSTUN"], function(values) { + + const takesNoSTUN = values.optionTakesNoSTUN; + let statValue = values.stun; + + // Store STUN in hiddenSTUN and then set it to zero. + if (takesNoSTUN != 0) { + savedStatValue = statValue; + statValue = 0; + } else { + statValue = savedStatValue; + } + + // Update character. Reset health status. + setAttrs({ + "hiddenSTUN":savedStatValue, + "stun":statValue, + "currentSTUN":statValue, + "gearCurrentSTUN":statValue + }); + + // Update characteristics cost + sumCharacteristicPoints(); + }); + }); + // Update STUN - on("change:stun", function () { - getAttrs(["stun","useCharacteristicMaximums"], function(values) { + on("change:stun change:useCharacteristicMaximums change:optionTakesNoSTUN", function () { + getAttrs(["stun","useCharacteristicMaximums", "hiddenSTUN", "optionTakesNoSTUN"], function(values) { const statValue = parseInt(values.stun)||0; const useMaximums = values.useCharacteristicMaximums; - const baseStat = 20; + const takesNoSTUN = values.optionTakesNoSTUN; + let baseStat = 20; const maxStat = 50; const costStat = 0.5; let statCP = 0; - - if ( (statValue>maxStat) && (useMaximums != 0) ) { - statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; - } else { - statCP=(statValue-baseStat)*costStat; - } - // Update cost - setAttrs({ - "stunCP":heroRoundLow(statCP) - }); + // If option takesNoSTUN is not checked. Save the new value of STUN. + if (takesNoSTUN != 0) { + + // Reset STUN and cost to zero. + setAttrs({ + "stun":0, + "stunCP":0 + }); + + } else { + + // Calculate costs, save stun to hiddenSTUN, and calculate cost. + if ( (statValue>maxStat) && (useMaximums != 0) ) { + statCP=(statValue-maxStat)*costStat+(statValue-baseStat)*costStat; + } else { + statCP=(statValue-baseStat)*costStat; + } + + setAttrs({ + "hiddenSTUN":statValue, + "stunCP":heroRoundLow(statCP) + }); + } // Update costs sumCharacteristicPoints(); @@ -5740,7 +5861,7 @@ }); // Update Endurance - on("change:endurance", function () { + on("change:endurance change:useCharacteristicMaximums", function () { getAttrs(["endurance","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.endurance)||0; @@ -5767,7 +5888,7 @@ }); // Update Recovery - on("change:recovery", function () { + on("change:recovery change:useCharacteristicMaximums", function () { getAttrs(["recovery","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.recovery)||0; @@ -5793,10 +5914,11 @@ }); }); + // Movement abilities // Update Running - on("change:running", function () { + on("change:running change:useCharacteristicMaximums", function () { getAttrs(["running","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.running)||0; @@ -5823,7 +5945,7 @@ }); // Update Leaping - on("change:leaping", function () { + on("change:leaping change:useCharacteristicMaximums", function () { getAttrs(["leaping","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.leaping)||0; @@ -5850,7 +5972,7 @@ }); // Update Swimming - on("change:swimming", function () { + on("change:swimming change:useCharacteristicMaximums", function () { getAttrs(["swimming","useCharacteristicMaximums"], function(values) { const statValue = parseInt(values.swimming)||0; @@ -5876,6 +5998,13 @@ }); }); + + // Update point totals when option: useCharacteristicMaximums checked or unchecked. + on("change:useCharacteristicMaximums", function () { + sumCharacteristicPoints(); + }); + + /* -------------------------------------- */ /* Functions used for tally bar */ /* -------------------------------------- */ @@ -5899,7 +6028,7 @@ const experienceCP = parseInt(values.experienceBenefit)||0; let totalSkillsCP = set1SkillsCP+set2SkillsCP+set3SkillsCP+combatSkillsCP+languageSkillsCP+enhancerSkillsCP+martialSkillsCP; - let totalCP = characteristicsCP+totalSkillsCP+powersPerksTalentsCP-complicationsCP-bonusCP+experienceCP; + let totalCP = characteristicsCP+totalSkillsCP+powersPerksTalentsCP-complicationsCP-bonusCP-experienceCP; setAttrs({ "skillsCost":totalSkillsCP, @@ -8687,6 +8816,22 @@ skillBaseCost = 0; break; + case "CSL8": skillLevelCost=8; + skillBaseCost = 0; + break; + + case "PSL1": skillLevelCost=1; + skillBaseCost = 0; + break; + + case "PSL2": skillLevelCost=2; + skillBaseCost = 0; + break; + + case "PSL3": skillLevelCost=3; + skillBaseCost = 0; + break; + default: skillLevelCost=0; skillBaseCost = 0; break; @@ -10616,6 +10761,7 @@ }); }); + /* ---------------- */ /* Equipment Movers */ /* ---------------- */ diff --git a/Heroes-Unlimited-2E/hu2.html b/Heroes-Unlimited-2E/hu2.html index c904ad1efd..d24186c455 100644 --- a/Heroes-Unlimited-2E/hu2.html +++ b/Heroes-Unlimited-2E/hu2.html @@ -328,7 +328,7 @@
- + diff --git a/Ironsworn-Starforged/src/package-lock.json b/Ironsworn-Starforged/src/package-lock.json index 3d43c387d5..ebf217fb47 100644 --- a/Ironsworn-Starforged/src/package-lock.json +++ b/Ironsworn-Starforged/src/package-lock.json @@ -4594,9 +4594,9 @@ } }, "node_modules/semver-regex": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz", - "integrity": "sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", + "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", "engines": { "node": ">=8" }, @@ -9474,9 +9474,9 @@ } }, "semver-regex": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz", - "integrity": "sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==" + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", + "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==" }, "set-blocking": { "version": "2.0.0", diff --git a/Ironsworn/Ironsworn.css b/Ironsworn/Ironsworn.css index fd7ec7db0a..a06773db5e 100644 --- a/Ironsworn/Ironsworn.css +++ b/Ironsworn/Ironsworn.css @@ -2607,17 +2607,17 @@ .charsheet .oracle-table-2-column { display: flex; flex-flow: column wrap; - height: 48em; + height: 50em; } .charsheet .oracle-table-3-column { display: flex; flex-flow: column wrap; - height: 63em; + height: 65em; } .charsheet .oracle-table-4-column { display: flex; flex-flow: column wrap; - height: 93em; + height: 95em; } .charsheet .oracle-table-2-column-group { display: flex; diff --git a/Ironsworn/src/app/components/oracles/oracles.styl b/Ironsworn/src/app/components/oracles/oracles.styl index b1a8660bb7..0b65ff2d51 100644 --- a/Ironsworn/src/app/components/oracles/oracles.styl +++ b/Ironsworn/src/app/components/oracles/oracles.styl @@ -173,13 +173,13 @@ span.oracle-result padding-left 0.5em .oracle-table-2-column - column-wrap(48em) + column-wrap(50em) .oracle-table-3-column - column-wrap(63em) + column-wrap(65em) .oracle-table-4-column - column-wrap(93em) + column-wrap(95em) .oracle-table-2-column-group display flex diff --git a/Knight/knight.css b/Knight/knight.css index fdf9e3fd31..6be6b3fd25 100644 --- a/Knight/knight.css +++ b/Knight/knight.css @@ -1113,6 +1113,9 @@ div.charsheet > div.content div.popup div select { text-align: center; border: 0px; } +div.charsheet > div.content div.popup div select:not(:first-of-type) { + border-top: 1px solid RGB(93, 111, 179); +} div.charsheet > div.content div.popup div span { word-break: break-word; text-align: justify; @@ -10535,20 +10538,29 @@ div.charsheet > div.content div.tabArmure div.MAL div.MALPriest input[type=hidde div.charsheet > div.content div.tabArmure div.MAL div.MALPriest input[type=hidden].legendeChoisie[value="2"] ~ div.priestNanoC div.titre { border-top: 0px; } +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion { + flex-wrap: wrap; +} div.charsheet > div.content div.tabArmure div.MAL div.MALPsion > div { display: none; } -div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="1"] ~ div.psionPuppetMaster { - display: flex; +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion > div:not(:first-of-type) { + border-top: 5px double RGB(213, 215, 237); +} +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion > div:first-of-type { border-top: 0px; } -div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="2"] ~ div.psionDiscord { +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="1"] ~ div.psionPuppetMaster, +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="1"] ~ div.psionPuppetMaster { display: flex; - border-top: 0px; } -div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="3"] ~ div.psionWindtalker { +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="2"] ~ div.psionDiscord, +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="2"] ~ div.psionDiscord { + display: flex; +} +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="3"] ~ div.psionWindtalker, +div.charsheet > div.content div.tabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="3"] ~ div.psionWindtalker { display: flex; - border-top: 0px; } div.charsheet > div.content div.tabArmure div.MAL div.MALShaman { flex-wrap: wrap; @@ -23488,15 +23500,18 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPriest div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion > div { display: none; } -div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="1"] ~ div.psionPuppetMaster { +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="1"] ~ div.psionPuppetMaster, +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="1"] ~ div.psionPuppetMaster { display: flex; border-top: 0px; } -div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="2"] ~ div.psionDiscord { +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="2"] ~ div.psionDiscord, +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="2"] ~ div.psionDiscord { display: flex; border-top: 0px; } -div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="3"] ~ div.psionWindtalker { +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie[value="3"] ~ div.psionWindtalker, +div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALPsion input[type=hidden].legendeChoisie2[value="3"] ~ div.psionWindtalker { display: flex; border-top: 0px; } diff --git a/Knight/knight.html b/Knight/knight.html index 99a5cbe4f0..9549a8e2f8 100644 --- a/Knight/knight.html +++ b/Knight/knight.html @@ -8898,12 +8898,15 @@ on('clicked:selectionMALWarmasterWarlord', async () => { on('clicked:selectionMALPsion', async () => { const attrs = await getAttrsAsync([ 'listeModeMALPsion', + 'listeModeMALPsion2', ]); const choix = parseInt(attrs.listeModeMALPsion, 10) || 0; + const choix2 = parseInt(attrs.listeModeMALPsion2, 10) || 0; await setAttrsAsync({ malpsionmode: choix, + malpsionmode2: choix2, popup: 0, }); }); @@ -10265,7 +10268,9 @@ on('clicked:importKNPCG', () => { const name = effects[cle].name.split(' ', length).join(' ').toLowerCase(); const value2 = eff[length] || 0; - switch (name) { + const uEff = name === 'ignore' || name === 'perce' || name === 'dégâts' ? `${name} ${eff[1]}` : name; + + switch (uEff) { case 'anathème': newrowattrsW[`${path + newrowidW}_anatheme`] = '{{anatheme=Anathème}}'; break; @@ -10358,7 +10363,7 @@ on('clicked:importKNPCG', () => { newrowattrsW[`${path + newrowidW}_ignoreArmure`] = '{{ignoreArmure=Ignore Armure}}'; break; - case 'ignore champ de force': + case 'ignore CdF': newrowattrsW[`${path + newrowidW}_ignoreCdF`] = '{{ignoreCdF=Ignore Champs de Force}}'; break; @@ -17681,6 +17686,7 @@ for (let i = 0; i < rollMAImprovise; i += 1) { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', ]; const arme = []; @@ -17704,6 +17710,8 @@ for (let i = 0; i < rollMAImprovise; i += 1) { let OD = 0; + const wraith = attrs.MADDjinnWraithActive; + const type = attrs.MAUtilisationArmeAI; const mod = +attrs.jetModifDes; const hasBonus = +attrs.bonusCarac; @@ -17809,6 +17817,14 @@ for (let i = 0; i < rollMAImprovise; i += 1) { // FIN GESTION DU STYLE + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + cBonus.push(+attrs[ODValue.discretion]); + bDegats.push(+attrs.discretion); + bDegats.push(+attrs[ODValue.discretion]); + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + if (cRoll.length === 0) { cRoll.push(0); } if (bonus.length === 0) { bonus.push(0); } @@ -18709,6 +18725,8 @@ rollDemon.forEach((button) => { const base = roll[0]; + let wraith; + let degats; let violence; let bDegats = 0; @@ -18725,14 +18743,25 @@ rollDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]); + wraith = attrs.MADDjinnWraithActive; + degats = attrs[roll[1]]; violence = attrs[roll[2]]; bDegats = +degats.split('+')[1]; bViolence = +violence.split('+')[1]; + if (wraith !== '0') { + degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`; + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{effets=^{CDF-desactive-pendant} [[1D3]] ^{tours}}}`); break; @@ -18743,15 +18772,30 @@ rollDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]); + wraith = attrs.MADDjinnWraithActive; + degats = attrs[roll[1]]; violence = attrs[roll[2]]; + if (wraith !== '0') { + degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`; + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{degatsConditionnel=true}} {{violenceConditionnel=true}} {{antiAnatheme=${i18n_antiAnatheme}}} {{antiAnathemeCondition=${i18n_antiAnathemeCondition}}} {{effets=${i18n_antiVehicule}}}`); break; } + if (wraith !== '0') { + exec.push('{{special2=^{module-wraith} ^{active}}}'); + } + const devaste = +attrs.devasterAnatheme; const bourreau = +attrs.bourreauTenebres; const equilibre = +attrs.equilibreBalance; @@ -18815,6 +18859,8 @@ rollCombatDemon.forEach((button) => { const cBonus = []; let cOD = 0; + let wraith; + let degats; let bDegats; let violence; @@ -18824,8 +18870,6 @@ rollCombatDemon.forEach((button) => { let autresEffets; - let active; - exec.push(base); switch (button) { @@ -18843,12 +18887,17 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -18913,6 +18962,14 @@ rollCombatDemon.forEach((button) => { degats += getStyle.diceDegats; violence += getStyle.diceViolence; + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -18959,7 +19016,7 @@ rollCombatDemon.forEach((button) => { attrs = await getAttrsAsync(listAttrs); - active = attrs.MADDjinnWraithActive; + wraith = attrs.MADDjinnWraithActive; bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -18969,8 +19026,6 @@ rollCombatDemon.forEach((button) => { C3 = attrs.caracteristiqueWraith3; C4 = attrs.caracteristiqueWraith4; - if (active !== '0') { exec.push('{{special2=^{module-wraith} ^{active}}}'); } - attrsCarac = await getCarac(bCarac, C1, C2, C3, C4); if (attrsCarac.C1) { @@ -19043,12 +19098,17 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -19113,6 +19173,14 @@ rollCombatDemon.forEach((button) => { degats += getStyle.diceDegats; violence += getStyle.diceViolence; + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -19154,11 +19222,16 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -19228,6 +19301,14 @@ rollCombatDemon.forEach((button) => { exec.push(`{{mod=${mod}}}`); } + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -19275,6 +19356,10 @@ rollCombatDemon.forEach((button) => { } } + if (wraith !== '0') { + exec.push('{{special2=^{module-wraith} ^{active}}}'); + } + const finalRoll = await startRoll(exec.join(' ')); const tJet = finalRoll.results.jet.result; @@ -23158,7 +23243,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_couvert}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; case 'agressif': @@ -23167,7 +23252,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_agressif}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; case 'akimbo': @@ -23189,7 +23274,7 @@ on('clicked:distanceWizardBorealis', async (info) => { cRoll.push(-1); } else { exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); } break; @@ -23208,7 +23293,7 @@ on('clicked:distanceWizardBorealis', async (info) => { cRoll.push(-1); } else { exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); } break; @@ -23218,7 +23303,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_defensif}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; } @@ -25990,6 +26075,12 @@ on('clicked:rollVehicule', async (info) => { +
@@ -30355,6 +30446,7 @@ on('clicked:rollVehicule', async (info) => {
+
@@ -39942,6 +40034,188 @@ on('clicked:rollVehicule', async (info) => {
+
+ + +
+ + +
+ + + +

Mode Puppet Master

+ +
+
+ + +
+
+ + +
+

Ordre Donné

+
+ + +
+
+
+ + + +
+ + + +

Mode Discord

+ + +
+ +
+ + + +
+ +
+ + +
+ + + +
+
+

Mode Windtalker

+

Actions des Créatures

+
+ + +
+
+
+
@@ -54501,7 +54775,7 @@ on('clicked:rollVehicule', async (info) => { Bonus sournoise inclus ({{vSournoise}}) {{/vSournoise}} {{#vSubsoniqueD}} - Subsonique inclus ({{vSubsoniqueD}}) + Subsonique inclus ({{vSubsoniqueD}}) {{/vSubsoniqueD}} {{#vSurMesure}} Sur mesure inclus ({{vSurMesure}}) @@ -55044,6 +55318,9 @@ on('clicked:rollVehicule', async (info) => { {{#vSystemes}} Systemes inclus ({{vSystemes}}) {{/vSystemes}} + {{#vWraithA}} + Bonus du mode wraith inclus ({{vWraithA}}) + {{/vWraithA}}
{{/jet}} @@ -55074,6 +55351,10 @@ on('clicked:rollVehicule', async (info) => { {{#vMStyleD}} Style inclus ({{vMStyleD}}) {{/vMStyleD}} + + {{#vWraithD}} + Bonus du mode wraith inclus ({{vWraithD}}) + {{/vWraithD}}
{{/degats}} {{#degatsConditionnel}} diff --git a/Knight/pug/html/popup/popup.html b/Knight/pug/html/popup/popup.html index c6ec9b4be8..93f2ea6f6d 100644 --- a/Knight/pug/html/popup/popup.html +++ b/Knight/pug/html/popup/popup.html @@ -79,6 +79,12 @@ +
diff --git a/Knight/pug/html/tab/armure.html b/Knight/pug/html/tab/armure.html index cf64eb6305..29c4cf8a2f 100644 --- a/Knight/pug/html/tab/armure.html +++ b/Knight/pug/html/tab/armure.html @@ -3130,6 +3130,7 @@
+
diff --git a/Knight/pug/html/tab/subCombat/armure.html b/Knight/pug/html/tab/subCombat/armure.html index 2185bfded8..ff9e28e0ce 100644 --- a/Knight/pug/html/tab/subCombat/armure.html +++ b/Knight/pug/html/tab/subCombat/armure.html @@ -4782,6 +4782,188 @@
+
+ + +
+ + +
+ + + +

Mode Puppet Master

+ +
+
+ + +
+
+ + +
+

Ordre Donné

+
+ + +
+
+
+ + + +
+ + + +

Mode Discord

+ + +
+ +
+ + + +
+ +
+ + +
+ + + +
+
+

Mode Windtalker

+

Actions des Créatures

+
+ + +
+
+
+
diff --git a/Knight/pug/html/templates/combat.html b/Knight/pug/html/templates/combat.html index ebcec6aa2f..1430bda80f 100644 --- a/Knight/pug/html/templates/combat.html +++ b/Knight/pug/html/templates/combat.html @@ -304,7 +304,7 @@ Bonus sournoise inclus ({{vSournoise}}) {{/vSournoise}} {{#vSubsoniqueD}} - Subsonique inclus ({{vSubsoniqueD}}) + Subsonique inclus ({{vSubsoniqueD}}) {{/vSubsoniqueD}} {{#vSurMesure}} Sur mesure inclus ({{vSurMesure}}) diff --git a/Knight/pug/html/templates/mechaArmure.html b/Knight/pug/html/templates/mechaArmure.html index 4c04139b5b..e4639c6c48 100644 --- a/Knight/pug/html/templates/mechaArmure.html +++ b/Knight/pug/html/templates/mechaArmure.html @@ -61,6 +61,9 @@ {{#vSystemes}} Systemes inclus ({{vSystemes}}) {{/vSystemes}} + {{#vWraithA}} + Bonus du mode wraith inclus ({{vWraithA}}) + {{/vWraithA}}
{{/jet}} @@ -91,6 +94,10 @@ {{#vMStyleD}} Style inclus ({{vMStyleD}}) {{/vMStyleD}} + + {{#vWraithD}} + Bonus du mode wraith inclus ({{vWraithD}}) + {{/vWraithD}}
{{/degats}} {{#degatsConditionnel}} diff --git a/Knight/pug/js/knight.js b/Knight/pug/js/knight.js index 6bb7fb832a..679e30df70 100644 --- a/Knight/pug/js/knight.js +++ b/Knight/pug/js/knight.js @@ -1959,12 +1959,15 @@ on('clicked:selectionMALWarmasterWarlord', async () => { on('clicked:selectionMALPsion', async () => { const attrs = await getAttrsAsync([ 'listeModeMALPsion', + 'listeModeMALPsion2', ]); const choix = parseInt(attrs.listeModeMALPsion, 10) || 0; + const choix2 = parseInt(attrs.listeModeMALPsion2, 10) || 0; await setAttrsAsync({ malpsionmode: choix, + malpsionmode2: choix2, popup: 0, }); }); @@ -3326,7 +3329,9 @@ on('clicked:importKNPCG', () => { const name = effects[cle].name.split(' ', length).join(' ').toLowerCase(); const value2 = eff[length] || 0; - switch (name) { + const uEff = name === 'ignore' || name === 'perce' || name === 'dégâts' ? `${name} ${eff[1]}` : name; + + switch (uEff) { case 'anathème': newrowattrsW[`${path + newrowidW}_anatheme`] = '{{anatheme=Anathème}}'; break; @@ -3419,7 +3424,7 @@ on('clicked:importKNPCG', () => { newrowattrsW[`${path + newrowidW}_ignoreArmure`] = '{{ignoreArmure=Ignore Armure}}'; break; - case 'ignore champ de force': + case 'ignore CdF': newrowattrsW[`${path + newrowidW}_ignoreCdF`] = '{{ignoreCdF=Ignore Champs de Force}}'; break; diff --git a/Knight/pug/js/rolls/pj/mechaArmure.js b/Knight/pug/js/rolls/pj/mechaArmure.js index 8bf754d54c..73434df2b7 100644 --- a/Knight/pug/js/rolls/pj/mechaArmure.js +++ b/Knight/pug/js/rolls/pj/mechaArmure.js @@ -304,6 +304,7 @@ for (let i = 0; i < rollMAImprovise; i += 1) { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', ]; const arme = []; @@ -327,6 +328,8 @@ for (let i = 0; i < rollMAImprovise; i += 1) { let OD = 0; + const wraith = attrs.MADDjinnWraithActive; + const type = attrs.MAUtilisationArmeAI; const mod = +attrs.jetModifDes; const hasBonus = +attrs.bonusCarac; @@ -432,6 +435,14 @@ for (let i = 0; i < rollMAImprovise; i += 1) { // FIN GESTION DU STYLE + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + cBonus.push(+attrs[ODValue.discretion]); + bDegats.push(+attrs.discretion); + bDegats.push(+attrs[ODValue.discretion]); + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + if (cRoll.length === 0) { cRoll.push(0); } if (bonus.length === 0) { bonus.push(0); } @@ -1332,6 +1343,8 @@ rollDemon.forEach((button) => { const base = roll[0]; + let wraith; + let degats; let violence; let bDegats = 0; @@ -1348,14 +1361,25 @@ rollDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]); + wraith = attrs.MADDjinnWraithActive; + degats = attrs[roll[1]]; violence = attrs[roll[2]]; bDegats = +degats.split('+')[1]; bViolence = +violence.split('+')[1]; + if (wraith !== '0') { + degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`; + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{effets=^{CDF-desactive-pendant} [[1D3]] ^{tours}}}`); break; @@ -1366,15 +1390,30 @@ rollDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]); + wraith = attrs.MADDjinnWraithActive; + degats = attrs[roll[1]]; violence = attrs[roll[2]]; + if (wraith !== '0') { + degats += `+${+attrs.discretion + +attrs[ODValue.discretion]}`; + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + exec.push(`{{degats=[[${degats}]]}} {{violence=[[${violence}]]}} {{degatsConditionnel=true}} {{violenceConditionnel=true}} {{antiAnatheme=${i18n_antiAnatheme}}} {{antiAnathemeCondition=${i18n_antiAnathemeCondition}}} {{effets=${i18n_antiVehicule}}}`); break; } + if (wraith !== '0') { + exec.push('{{special2=^{module-wraith} ^{active}}}'); + } + const devaste = +attrs.devasterAnatheme; const bourreau = +attrs.bourreauTenebres; const equilibre = +attrs.equilibreBalance; @@ -1438,6 +1477,8 @@ rollCombatDemon.forEach((button) => { const cBonus = []; let cOD = 0; + let wraith; + let degats; let bDegats; let violence; @@ -1447,8 +1488,6 @@ rollCombatDemon.forEach((button) => { let autresEffets; - let active; - exec.push(base); switch (button) { @@ -1466,12 +1505,17 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -1536,6 +1580,14 @@ rollCombatDemon.forEach((button) => { degats += getStyle.diceDegats; violence += getStyle.diceViolence; + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -1582,7 +1634,7 @@ rollCombatDemon.forEach((button) => { attrs = await getAttrsAsync(listAttrs); - active = attrs.MADDjinnWraithActive; + wraith = attrs.MADDjinnWraithActive; bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -1592,8 +1644,6 @@ rollCombatDemon.forEach((button) => { C3 = attrs.caracteristiqueWraith3; C4 = attrs.caracteristiqueWraith4; - if (active !== '0') { exec.push('{{special2=^{module-wraith} ^{active}}}'); } - attrsCarac = await getCarac(bCarac, C1, C2, C3, C4); if (attrsCarac.C1) { @@ -1666,12 +1716,17 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -1736,6 +1791,14 @@ rollCombatDemon.forEach((button) => { degats += getStyle.diceDegats; violence += getStyle.diceViolence; + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -1777,11 +1840,16 @@ rollCombatDemon.forEach((button) => { 'devasterAnatheme', 'bourreauTenebres', 'equilibreBalance', + 'MADDjinnWraithActive', + 'discretion', + `${ODValue.discretion}`, ]; listAttrs = listAttrs.concat(listStyle); attrs = await getAttrsAsync(listAttrs); + wraith = attrs.MADDjinnWraithActive; + bCarac = attrs.bonusCarac; mod = +attrs.jetModifDes; @@ -1851,6 +1919,14 @@ rollCombatDemon.forEach((button) => { exec.push(`{{mod=${mod}}}`); } + if (wraith !== '0') { + cRoll.push(+attrs.discretion); + rollBonus.push(+attrs[ODValue.discretion]); + + bDegats += +attrs.discretion + +attrs[ODValue.discretion]; + exec.push(`{{vWraithA=${+attrs.discretion}D6+${+attrs[ODValue.discretion]}}} {{vWraithD=[[${+attrs.discretion}+${+attrs[ODValue.discretion]}]]}}`); + } + jet = `{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`; exec.push(jet); @@ -1898,6 +1974,10 @@ rollCombatDemon.forEach((button) => { } } + if (wraith !== '0') { + exec.push('{{special2=^{module-wraith} ^{active}}}'); + } + const finalRoll = await startRoll(exec.join(' ')); const tJet = finalRoll.results.jet.result; diff --git a/Knight/pug/js/rolls/pj/wizard.js b/Knight/pug/js/rolls/pj/wizard.js index 2518cb38fd..f9b7c2db59 100644 --- a/Knight/pug/js/rolls/pj/wizard.js +++ b/Knight/pug/js/rolls/pj/wizard.js @@ -167,7 +167,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_couvert}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; case 'agressif': @@ -176,7 +176,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_agressif}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; case 'akimbo': @@ -198,7 +198,7 @@ on('clicked:distanceWizardBorealis', async (info) => { cRoll.push(-1); } else { exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); } break; @@ -217,7 +217,7 @@ on('clicked:distanceWizardBorealis', async (info) => { cRoll.push(-1); } else { exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); } break; @@ -227,7 +227,7 @@ on('clicked:distanceWizardBorealis', async (info) => { exec.push(`{{style=${i18n_style} ${i18n_defensif}}}`); exec.push(`{{vMStyleA=${modA}D}}`); - cRoll.push(modA); + cRoll.push(Number(modA)); break; } diff --git a/Knight/scss/files/popup.scss b/Knight/scss/files/popup.scss index bd1160fc55..b154c84389 100644 --- a/Knight/scss/files/popup.scss +++ b/Knight/scss/files/popup.scss @@ -183,6 +183,10 @@ div.popup { width:100%; text-align: center; border:0px; + + &:not(:first-of-type) { + border-top:1px solid $sombre; + } } span { diff --git a/Knight/scss/files/tabs/armure.scss b/Knight/scss/files/tabs/armure.scss index e4d70a3452..adbd17802a 100644 --- a/Knight/scss/files/tabs/armure.scss +++ b/Knight/scss/files/tabs/armure.scss @@ -4618,29 +4618,37 @@ div.tabArmure { } div.MALPsion { + flex-wrap: wrap; + >div { display:none; + + &:not(:first-of-type) { + border-top:5px double $clair; + } + + &:first-of-type { + border-top:0px; + } } - input[type="hidden"].legendeChoisie { + input[type="hidden"].legendeChoisie, + input[type="hidden"].legendeChoisie2 { &[value="1"] { & ~ div.psionPuppetMaster { display:flex; - border-top:0px; } } &[value="2"] { & ~ div.psionDiscord { display:flex; - border-top:0px; } } &[value="3"] { & ~ div.psionWindtalker { display:flex; - border-top:0px; } } } diff --git a/Knight/scss/files/tabs/combat.scss b/Knight/scss/files/tabs/combat.scss index edfb641464..04277cd0f5 100644 --- a/Knight/scss/files/tabs/combat.scss +++ b/Knight/scss/files/tabs/combat.scss @@ -7363,7 +7363,8 @@ div.tabCombat { display:none; } - input[type="hidden"].legendeChoisie { + input[type="hidden"].legendeChoisie, + input[type="hidden"].legendeChoisie2 { &[value="1"] { & ~ div.psionPuppetMaster { display:flex; diff --git a/Knight/translation.json b/Knight/translation.json index 165c6e5b8b..98659a265e 100644 --- a/Knight/translation.json +++ b/Knight/translation.json @@ -1217,6 +1217,7 @@ "missile-jericho":"Missile Jericho", "mode-siege-tower":"Mode Siège Tower", "module-wraith":"Module Wraith", + "wraith-inclus":"Bonus du mode wraith inclus", "type-jet":"Type de jet", "nanobrume":"Nanobrume", "poings-soniques":"Poings soniques", diff --git a/Knight/translations/af.json b/Knight/translations/af.json index d00b126627..236dc92ae9 100644 --- a/Knight/translations/af.json +++ b/Knight/translations/af.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/ca.json b/Knight/translations/ca.json index ded2443067..7b474f54f2 100644 --- a/Knight/translations/ca.json +++ b/Knight/translations/ca.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/cs.json b/Knight/translations/cs.json index ada5647fc1..cab9ac1521 100644 --- a/Knight/translations/cs.json +++ b/Knight/translations/cs.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/da.json b/Knight/translations/da.json index 4ae31866e5..9cfe04822b 100644 --- a/Knight/translations/da.json +++ b/Knight/translations/da.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/de.json b/Knight/translations/de.json index fc73b3bda4..453a030763 100644 --- a/Knight/translations/de.json +++ b/Knight/translations/de.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/el.json b/Knight/translations/el.json index 958633637b..0208b30f73 100644 --- a/Knight/translations/el.json +++ b/Knight/translations/el.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/en.json b/Knight/translations/en.json index 5851d53c32..1f8aeba17b 100644 --- a/Knight/translations/en.json +++ b/Knight/translations/en.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/es.json b/Knight/translations/es.json index 622b2610b8..97b4ce48e5 100644 --- a/Knight/translations/es.json +++ b/Knight/translations/es.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/fi.json b/Knight/translations/fi.json index ded2443067..7b474f54f2 100644 --- a/Knight/translations/fi.json +++ b/Knight/translations/fi.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/fr.json b/Knight/translations/fr.json index 71efff715b..25756a85ae 100644 --- a/Knight/translations/fr.json +++ b/Knight/translations/fr.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/he.json b/Knight/translations/he.json index 3657733dd9..acc4437372 100644 --- a/Knight/translations/he.json +++ b/Knight/translations/he.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/hu.json b/Knight/translations/hu.json index ded2443067..7b474f54f2 100644 --- a/Knight/translations/hu.json +++ b/Knight/translations/hu.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/it.json b/Knight/translations/it.json index 9cfb08e915..fb25423c14 100644 --- a/Knight/translations/it.json +++ b/Knight/translations/it.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/ja.json b/Knight/translations/ja.json index b0c9181e4d..e0349faf98 100644 --- a/Knight/translations/ja.json +++ b/Knight/translations/ja.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/ko.json b/Knight/translations/ko.json index 677fb70c8c..71b1c1fb9e 100644 --- a/Knight/translations/ko.json +++ b/Knight/translations/ko.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/nl.json b/Knight/translations/nl.json index cc5d7a1d71..1e74fbfb5e 100644 --- a/Knight/translations/nl.json +++ b/Knight/translations/nl.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/pb.json b/Knight/translations/pb.json index ded2443067..7b474f54f2 100644 --- a/Knight/translations/pb.json +++ b/Knight/translations/pb.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/pl.json b/Knight/translations/pl.json index a0a309e863..508ec13e6f 100644 --- a/Knight/translations/pl.json +++ b/Knight/translations/pl.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/pt.json b/Knight/translations/pt.json index d82d68b4f9..6882c44815 100644 --- a/Knight/translations/pt.json +++ b/Knight/translations/pt.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/ru.json b/Knight/translations/ru.json index 0136607d1b..4fc51a163f 100644 --- a/Knight/translations/ru.json +++ b/Knight/translations/ru.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/sl.json b/Knight/translations/sl.json index ded2443067..7b474f54f2 100644 --- a/Knight/translations/sl.json +++ b/Knight/translations/sl.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/sv.json b/Knight/translations/sv.json index f8a08eada0..af787d1d7e 100644 --- a/Knight/translations/sv.json +++ b/Knight/translations/sv.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/tr.json b/Knight/translations/tr.json index 068fbdc577..48caf7e7f6 100644 --- a/Knight/translations/tr.json +++ b/Knight/translations/tr.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/uk.json b/Knight/translations/uk.json index 63b73cc8a8..b889bc4552 100644 --- a/Knight/translations/uk.json +++ b/Knight/translations/uk.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/Knight/translations/zh.json b/Knight/translations/zh.json index d2831961da..f8070368bc 100644 --- a/Knight/translations/zh.json +++ b/Knight/translations/zh.json @@ -1217,6 +1217,7 @@ "missile-jericho": "Missile Jericho", "mode-siege-tower": "Mode Siège Tower", "module-wraith": "Module Wraith", + "wraith-inclus": "Bonus du mode wraith inclus", "type-jet": "Type de jet", "nanobrume": "Nanobrume", "poings-soniques": "Poings soniques", diff --git a/L5R 5th Edition Unofficial/translations/pl.json b/L5R 5th Edition Unofficial/translations/pl.json index dff8c67e86..0b47e2b7c5 100644 --- a/L5R 5th Edition Unofficial/translations/pl.json +++ b/L5R 5th Edition Unofficial/translations/pl.json @@ -1,12 +1,12 @@ { "character-name-u": "Character Name", "player-name-u": "Player Name", - "clan-u": "Clan", + "clan-u": "Klan", "family-u": "Family", "school-u": "School", "school-rank-u": "School Rank", "roles-u": "Roles", - "honour-u": "Honour", + "honour-u": "Honor", "glory-u": "Glory", "status-u": "Status", "advantages-disadvantages-u": "Advantages and Disadvantages", @@ -62,7 +62,7 @@ "social-u": "Social", "command-u": "Command", "courtesy-u": "Courtesy", - "games-u": "Rozgrywki", + "games-u": "Gry", "performance-u": "Performance", "trick-u": "Trick", "reason-u": "Reason", @@ -181,14 +181,14 @@ "part-6-u": "PART VI: ANCESTRY & FAMILY", "part-7-u": "PART VII: DEATH", "part-8-u": "PART VIII: GENERATE CHARACTER", - "question-1-u": "What clan does your character belong to? (p. 41)", - "question-2-u": "What family does your character belong to? (p. 49)", - "question-3-u": "What is your character’s school, and what roles does that school fall into? (p. 56)", + "question-1-u": "Do jakiego klanu należy twój bohater? (p.41)", + "question-2-u": "Do której rodziny należ twój bohater? (p.49)", + "question-3-u": "Do jekiej szkoły przynależysz, jaką rolę reprezentuje ta szkoła ? (p.56)", "question-4-u": "How does your character stand out within their school? (p. 88)", - "question-5-u": "Who is your lord and what is your character’s duty to them? (Select Giri) (p. 88)", + "question-5-u": "Kto jest twoim Lordem i jakie są twoje obowiązki wobec niego ? (Wybierz Giri) (p.88)", "question-6-u": "What does your character long for, and how might this impede their duty? (Select Ninjō) (p. 90)", - "question-7-u": "What is your character’s relationship with their clan? (p. 91)", - "question-8-u": "What does your character think of Bushidō? (p. 91)", + "question-7-u": "Jakie są relacje twojego bohatera z jego klanem? (p.91)", + "question-8-u": "Co twój bohater myśli o Bushido? (p.91)", "question-9-u": "What is your character’s greatest accomplishment so far? (p. 92)", "question-10-u": "What holds your character back the most in life? (p. 92)", "question-11-u": "What activity most makes your character feel at peace? (p. 92)", diff --git a/L5R/translations/pl.json b/L5R/translations/pl.json index c49671043a..dd1843a779 100644 --- a/L5R/translations/pl.json +++ b/L5R/translations/pl.json @@ -1,19 +1,19 @@ { "name-u": "Name:", - "clan-u": "Clan:", - "crab-u": "Crab", - "crane-u": "Crane", - "dragon-u": "Dragon", - "lion-u": "Lion", - "mantis-u": "Mantis", - "phoenix-u": "Phoenix", - "scorpion-u": "Scorpion", - "spider-u": "Spider", - "unicorn-u": "Unicorn", + "clan-u": "Klan", + "crab-u": "Krab", + "crane-u": "Żuraw", + "dragon-u": "Smok", + "lion-u": "Lew", + "mantis-u": "Modliszka", + "phoenix-u": "Feniks", + "scorpion-u": "Skorpion", + "spider-u": "Pająk", + "unicorn-u": "Jednorożec", "ronin-u": "Ronin", "misc-u": "Misc", "family-u": "Family", - "school-u": "School", + "school-u": "Szkoła", "rank-u": "Rank", "experience-u": "Experience", "insight-u": "Insight", diff --git a/Liminal/liminal.css b/Liminal/liminal.css index 5e855ba6e5..9d29558a8d 100644 --- a/Liminal/liminal.css +++ b/Liminal/liminal.css @@ -1,27 +1,65 @@ /* Set the min-width so that when the window is resized the look will stay consistant */ .charsheet { - background-color: #8bb; - min-width: 825px; + /*background-color: #8bb;*/ + background-color:#9EBFBB; + background-size: cover; + width:825px; + min-width:825px; + min-height:400px; + margin:0; /*background-image: url('https://d1vzi28wh99zvq.cloudfront.net/images/4329/267203.jpg');*/ } /* Universal styling applied to all elements of these types */ -h1 { +.charsheet h1 { font-size: 4em; margin-bottom: 10px; + margin-top:-15px; text-align: center; } -h2 { +.charsheet h2 { font-size: 2em; margin-bottom: 10px; text-align: center; + width:100%; + /*background:#195154;*/ + background: #277F84; + color:white; + font-family: mason-serif, sans-serif; +} +.charsheet h3 { + margin-bottom: 10px; + text-align: center; +} + +.charsheet input, .charsheet textarea, .charsheet select { + background-color:#DAE7E5; +} + +/* LAYOUT */ + +.sheet-character { + display: grid; + grid-template-columns: 133px 133px 133px 133px 133px 133px; + grid-template-rows: auto; + gap: 5px; + grid-template-areas: + "basic basic basic drive drive drive" + "physical physical mental mental social social" + "explain explain explain explain explain explain" + "unspent unspent cap cap totalskill totalskill" + "traits traits traits other other other" } /* BASIC INFO */ +.sheet-basicinfo { + grid-area: basic; +} + .sheet-basicinfo label { display: inline-block; width: 80px; @@ -37,22 +75,38 @@ h2 { width: 300px; } -.sheet-basicinfo textarea { +.sheet-drive { + grid-area: drive; +} + +.sheet-drive textarea { display: inline-block; width: 290px; height:110px; } -.sheet-basicinfo label.sheet-drive { +.sheet-drive label { + display: inline-block; + width: 80px; vertical-align:top; } /* SKILLS */ +.sheet-physical { + grid-area: physical; +} +.sheet-mental { + grid-area: mental; +} +.sheet-social { + grid-area: social; +} + .sheet-skills label { margin-left:153px; margin-bottom:0; - margin-top:-15px; - font-weight: normal; + margin-top:-5px; + font-weight: bold; font-size:1em; } .sheet-skills input { @@ -60,17 +114,9 @@ h2 { width: 115px; } -p.sheet-skill-explain { - margin-top:10px; -} - -.ui-dialog .charsheet .sheet-skills .sheet-col { - margin-right:10px; - width: calc(33% - 9px); -} .charsheet .sheet-skills button[type=roll].sheet-skill-button { - width:94px; + width:100px; margin:0; height:22px; text-align:left; @@ -79,6 +125,26 @@ p.sheet-skill-explain { content: ''; } + + +p.sheet-skill-explain { + grid-area:explain; + margin-top:10px; +} + +.sheet-unspent { + grid-area: unspent; + margin-bottom:10px; +} +.sheet-cap { + grid-area: cap; + margin-bottom:10px; +} +.sheet-totalskill { + grid-area: totalskill; + margin-bottom:10px; +} + .sheet-skillpoints label { display: inline-block; width: 150px; @@ -96,35 +162,67 @@ textarea { resize: vertical; } +/* TRAITS */ +.sheet-traits { + grid-area:traits; +} + +.sheet-traits input { + display: inline-block; + width: 340px; + font-weight:bold; +} +.sheet-traits textarea { + height:100px; + width:379px; +} + +.sheet-attributes button[type=roll].sheet-2d6-dice::before { + font-family: 'dicefontd6'; + content: 'ff '; +} + +.sheet-attributes button[type=roll].sheet-d6-dice::before { + font-family: 'dicefontd6'; + content: 'f '; +} + + +.sheet-other { + grid-area: other; + display: flex; + flex-direction: column; +} /* STATS */ -.sheet-stats h4 { +.sheet-attributes h4 { display: inline-block; text-align: left; } -.sheet-stats h4.sheet-first { +.sheet-attributes h4.sheet-first { margin-left: 120px; margin-right: 15px; } -.sheet-stats input { - /*margin-right: 8%; - width: 17%;*/ +.sheet-attributes input { display: inline-block; } -.sheet-stats label { +.sheet-attributes label { display: inline-block; width: 110px; } -.sheet-stats label.sheet-driveused { +.sheet-attributes label.sheet-driveused { display: inline-block; width: 190px; } /* COMBAT */ +.sheet-combat { + margin-top:20px; +} .sheet-combat label { display: inline-block; @@ -141,37 +239,38 @@ textarea { width: 170px; } -.sheet-combat label.sheet-unarmed { - width: 297px; - font-weight:normal; -} - .sheet-combat select { display: inline-block; width: 80px; } -/* TRAITS */ - -.sheet-traits input { - display: inline-block; - width: 340px; -} -.sheet-traits textarea { - height:60px; - width:379px; -} - -.sheet-stats button[type=roll].sheet-2d6-dice::before { +.sheet-combat button[type=roll].sheet-2d6-dice::before { font-family: 'dicefontd6'; content: 'ff '; } -.sheet-stats button[type=roll].sheet-d6-dice::before { +.sheet-combat button[type=roll].sheet-d6-dice::before { font-family: 'dicefontd6'; content: 'f '; } +/* ADVANCEMENT */ +.sheet-advancement { + margin-top:20px; +} + +.sheet-advancement input { + display: inline-block; +} + +.sheet-advancement label { + display: inline-block; + width: 180px; +} + + +/* TABS */ + /*Configure the tab buttons*/ .charsheet .sheet-character, .charsheet .sheet-crew , @@ -183,7 +282,7 @@ textarea { .charsheet .sheet-tabstoggle[value="character"] ~ div.sheet-character, .charsheet .sheet-tabstoggle[value="crew"] ~ div.sheet-crew , .charsheet .sheet-tabstoggle[value="mods"] ~ div.sheet-mods { - display: block; + display: grid; } /* CREW AREA */ diff --git a/Liminal/liminal.html b/Liminal/liminal.html index e9c7958819..5e68f30371 100644 --- a/Liminal/liminal.html +++ b/Liminal/liminal.html @@ -9,195 +9,197 @@

A RPG about those caught between the ordinary and extraordinary.

-
-
-
-
-
- -
-
-

+

+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+
+
+
+
+
+ / +
+
+
+
+ / +
+
+
+
+ +
+
+
+
+ +
+
+ +
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+

+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+

+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+   +
+
+ +
+
+
+
+ +
+
+   +
+
+ +
+
+
+
+ +
+
+   +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+   +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+

+
+
+ + +
+
+
+
+

+
+
+ +
+ + + + + + +
+
+
+
+
+

+
+
+ +
+ + + + + + +
+ +
+
+
+
+

+ +
+
+

+ +
+
+
+
+
+
+

+ +

+

+

+

+

+

+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+ +
+
+
+ / +
+

 

+
+
+ / +
+
+
+

+
+
+
+
+
+ +
+
+
+
+
+
+

+
+
+ + +
+
+
+
+
+
+ +
+ + + +
+
{{name}}
+
+
{{skill}}
+
{{skillValue}}
+
+
+
{{attribute}}
+
{{attributeValue}}
+
+
+
+
{{target}}
+
+
+
+
{{roll1}}
+
+
{{computed::roll1}}
+
+
+ + +
+
{{name}}
+
+
{{attribute}}
+
{{attributeValue}}
+
+
+
+
{{target}}
+
+
+
+
{{roll1}}
+
+
{{computed::roll1}}
+
+
+ + +
+
{{name}}
+
+
{{initiative}}
+
{{roll1}}
+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/NHKS/NHKS.png b/NHKS/NHKS.png new file mode 100644 index 0000000000..b01a81742a Binary files /dev/null and b/NHKS/NHKS.png differ diff --git a/NHKS/README.md b/NHKS/README.md new file mode 100644 index 0000000000..880b3245a1 --- /dev/null +++ b/NHKS/README.md @@ -0,0 +1,2 @@ +# Roll20_NHKS_CharacterSheet +Roll20 CharacterSheet for New Hong Kong Story diff --git a/NHKS/images/standard/Rollenbogen_100.png b/NHKS/images/standard/Rollenbogen_100.png new file mode 100644 index 0000000000..47cb6c42ff Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_100.png differ diff --git a/NHKS/images/standard/Rollenbogen_100_freigestellt.png b/NHKS/images/standard/Rollenbogen_100_freigestellt.png new file mode 100644 index 0000000000..5479870ab8 Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_100_freigestellt.png differ diff --git a/NHKS/images/standard/Rollenbogen_25_freigestellt.png b/NHKS/images/standard/Rollenbogen_25_freigestellt.png new file mode 100644 index 0000000000..700f56ae48 Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_25_freigestellt.png differ diff --git a/NHKS/images/standard/Rollenbogen_50.png b/NHKS/images/standard/Rollenbogen_50.png new file mode 100644 index 0000000000..df93bb7da5 Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_50.png differ diff --git a/NHKS/images/standard/Rollenbogen_50_freigestellt.png b/NHKS/images/standard/Rollenbogen_50_freigestellt.png new file mode 100644 index 0000000000..c0b3da3d92 Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_50_freigestellt.png differ diff --git a/NHKS/images/standard/Rollenbogen_75.png b/NHKS/images/standard/Rollenbogen_75.png new file mode 100644 index 0000000000..07e9291375 Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_75.png differ diff --git a/NHKS/images/standard/Rollenbogen_75_freigestellt.png b/NHKS/images/standard/Rollenbogen_75_freigestellt.png new file mode 100644 index 0000000000..02f9711e7f Binary files /dev/null and b/NHKS/images/standard/Rollenbogen_75_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_100.png b/NHKS/images/standard/Schauspielerbogen_1_100.png new file mode 100644 index 0000000000..3c9e45ebba Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_100.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_100_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_1_100_freigestellt.png new file mode 100644 index 0000000000..799014fcc6 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_100_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_25_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_1_25_freigestellt.png new file mode 100644 index 0000000000..73a3aa4762 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_25_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_50.png b/NHKS/images/standard/Schauspielerbogen_1_50.png new file mode 100644 index 0000000000..fcb0427691 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_50.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_50_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_1_50_freigestellt.png new file mode 100644 index 0000000000..0cc995ea66 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_50_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_75.png b/NHKS/images/standard/Schauspielerbogen_1_75.png new file mode 100644 index 0000000000..e7085c89f1 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_75.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_1_75_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_1_75_freigestellt.png new file mode 100644 index 0000000000..dc403dac16 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_1_75_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_100.png b/NHKS/images/standard/Schauspielerbogen_2_100.png new file mode 100644 index 0000000000..547974654a Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_100.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_100_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_2_100_freigestellt.png new file mode 100644 index 0000000000..ff12f4d551 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_100_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_25_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_2_25_freigestellt.png new file mode 100644 index 0000000000..1396539b0d Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_25_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_50.png b/NHKS/images/standard/Schauspielerbogen_2_50.png new file mode 100644 index 0000000000..c5febd453b Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_50.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_50_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_2_50_freigestellt.png new file mode 100644 index 0000000000..534c621d71 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_50_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_75.png b/NHKS/images/standard/Schauspielerbogen_2_75.png new file mode 100644 index 0000000000..0f120f479e Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_75.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_2_75_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_2_75_freigestellt.png new file mode 100644 index 0000000000..95248eac3a Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_2_75_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_100.png b/NHKS/images/standard/Schauspielerbogen_3_100.png new file mode 100644 index 0000000000..c8683e0d77 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_100.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_100_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_3_100_freigestellt.png new file mode 100644 index 0000000000..1c48cab65b Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_100_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_25_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_3_25_freigestellt.png new file mode 100644 index 0000000000..800c4f50fa Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_25_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_50.png b/NHKS/images/standard/Schauspielerbogen_3_50.png new file mode 100644 index 0000000000..f6e04ce7a9 Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_50.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_50_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_3_50_freigestellt.png new file mode 100644 index 0000000000..d66e8038ee Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_50_freigestellt.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_75.png b/NHKS/images/standard/Schauspielerbogen_3_75.png new file mode 100644 index 0000000000..87868ad2ea Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_75.png differ diff --git a/NHKS/images/standard/Schauspielerbogen_3_75_freigestellt.png b/NHKS/images/standard/Schauspielerbogen_3_75_freigestellt.png new file mode 100644 index 0000000000..c5cd54247b Binary files /dev/null and b/NHKS/images/standard/Schauspielerbogen_3_75_freigestellt.png differ diff --git a/NHKS/sheet.json b/NHKS/sheet.json new file mode 100644 index 0000000000..f17b36de9b --- /dev/null +++ b/NHKS/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "NHKS.html", + "css": "NHKS.css", + "authors": "Gorthian", + "roll20userid": "485178", + "preview": "NHKS.png", + "instructions": "Charakterbogen für New Hong Kong Story", + "legacy": true +} \ No newline at end of file diff --git a/NHKS/translation.json b/NHKS/translation.json new file mode 100644 index 0000000000..802062570b --- /dev/null +++ b/NHKS/translation.json @@ -0,0 +1,137 @@ +{ + "actor" : "Schauspieler", + "role" : "Rolle", + "attributes-and-descriptions" : "ATTRIBUTE & BESCHREIBUNG", + "skills" : "FERTIGKEITEN", + "advantages-and-disadvantages" : "VORTEILE & NACHTEILE", + "movies" : "FILME", + "martialarts" : "MARTIAL ARTS", + "awards" : "AWARDS", + "misc" : "SONSTIGES", + "name" : "Name", + "gender" : "Geschlecht", + "age" : "Alter", + "weight" : "Gewicht", + "size" : "Größe", + "nationality" : "Nationalität", + "stature" : "Statur", + "description" : "Beschreibung", + "knowledge-short" : "WIS", + "knowledge" : "Wissen", + "strength-short" : "STK", + "strength" : "Stärke", + "coolness-short" : "COL", + "coolness" : "Coolness", + "stamina-short" : "AUS", + "stamina" : "Ausdauer", + "chi-short" : "CHI", + "chi" : "Chi", + "dexterity-short" : "GES", + "dexterity" : "Geschick", + "hitpoints" : "TREFFERPUNKTE", + "hitpoints-desc" : "(Ausdauer + 4) x 10", + "chipoints" : "CHI-PUNKTE", + "chipoints-desc" : "Chi x 10", + "famepoints" : "STARRUHM-PUNKTE", + "famepoints-desc" : "", + "awardpoints" : "AWARD-PUNKTE", + "awardpoints-desc" : "", + "initiative" : "INITIATIVE", + "initiative-desc" : "Coolness", + "melee-attack" : "NAH. ANGRIFF", + "melee-attack-desc" : "(Stärke x 2 + Chi) / 3", + "melee-defense" : "NAH. VERTEIDIGUNG", + "melee-defense-desc" : "(Stärke + Geschick + Chi) / 3", + "melee-damage" : "NAH. SCHADEN", + "melee-damage-desc" : "Nahkampf-Schadensbonus", + "ranged-attack" : "FERN. ANGRIFF", + "ranged-attack-desc" : "(Geschick x 2 + Chi) / 3", + "ranged-damage" : "FERN. SCHADEN", + "ranged-damage-desc" : "Fernkampf-Schadensbonus", + "acrobatic" : "Akrobatik", + "athletic" : "Athletik", + "dodge" : "Ausweichen", + "boats" : "Boote lenken", + "persuade" : "Einschüchtern
& Überreden", + "computers" : "Elektronik
& Computer", + "firstaid" : "Erste Hile", + "extremesport" : "Extremsport", + "slideofhand" : "Fingerfertigkeit", + "aircrafts" : "Flugzeuge
& Helikopter", + "vehicles" : "Gewöhnliche
Fahrzeuge", + "improvisation" : "Improvisation", + "climbing" : "Klettern", + "contacts" : "Kontakte
& Ortskenntnisse", + "mechanic" : "Mechanik", + "stealth" : "Schleichen", + "perception" : "Sinnesschärfe", + "languages" : "Sprachen", + "searching" : "Suchen", + "hiding" : "Verbergen", + "melee-small" : "Kleine Nahkampfwaffen", + "melee-medium" : "Mittelgroße Nahkampfwaffen", + "melee-big" : "Große Nahkampfwaffen", + "pistols" : "Pistolen & Maschinenpistolen", + "rifles" : "Gewehre", + "heavy-weapons" : "Schwere Waffen", + "melee-misc" : "Diverse Nahkampfwaffen", + "ranged-misc" : "Diverse Fernkampfwaffen", + "unarmed" : "Waffenloser Kampf", + "role-name" : "Filmrolle", + "movieplot" : "Filmplot", + "role-description" : "Aussehen", + "role-inventory" : "Ausrüstung", + "role-weapons" : "Waffen", + "role-skills" : "Rollenfertigkeiten", + "role-advantages" : "Vorteile", + "role-weapon-name" : "Name", + "role-weapon-attention" : "Achtung", + "role-weapon-attention-short" : "A", + "role-weapon-burst" : "Feuerstoß", + "role-weapon-burst-short" : "FS", + "role-weapon-flexible" : "Flexibel", + "role-weapon-flexible-short" : "FL", + "role-weapon-grib" : "Griffbonus", + "role-weapon-grib-short" : "GB", + "role-weapon-delicate" : "Heikel", + "role-weapon-delicate-short" : "H", + "role-weapon-reload" : "Laden", + "role-weapon-reload-short" : "L", + "role-weapon-martial" : "Martial Arts", + "role-weapon-martial-short" : "MA", + "role-weapon-strength" : "Mindeststärke", + "role-weapon-strength-short" : "MS", + "role-weapon-recoil" : "Rückstoß", + "role-weapon-recoil-short" : "R", + "role-weapon-painful" : "Schmerzhaft", + "role-weapon-painful-short" : "S", + "role-weapon-painful+" : "Sehr Schmerzhaft", + "role-weapon-painful+-short" : "S+", + "role-weapon-whip" : "Umwickeln", + "role-weapon-whip-short" : "U", + "role-weapon-defense" : "Verteidigungsbonus", + "role-weapon-defense-short" : "VB", + "role-weapon-throw" : "Wurfwaffe", + "role-weapon-throw-short" : "W", + "role-weapon-2handbonus" : "Zweihandbonus", + "role-weapon-2handbonus-short" : "ZB", + "role-weapon-2hand" : "Zweihhändig", + "role-weapon-2hand-short" : "ZH", + "role-weapon-twin" : "Zwillingswaffen", + "role-weapon-twin-short" : "Z", + "role-weapon-damage" : "Schaden", + "success" : "Erfolg", + "critical-success" : "Kritischer Erfolg", + "critical-success-to" : "Krit. Erfolg bis", + "failure" : "Fehlschlag", + "critical-failure" : "Kritischer Fehlschlag", + "critical-failure-from" : "Krit. Fehlschlag ab", + "roll" : "Wurf", + "target-value" : "Zielwert", + "main-role" : "Hauptrolle", + "supporting-role" : "Nebenrolle", + "rolltemplate-intiative-desc" : "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat" : "KAMPF", + "parry" : "Parade", + "modifier" : "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/af.json b/NHKS/translations/af.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/af.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/ca.json b/NHKS/translations/ca.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/ca.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/cs.json b/NHKS/translations/cs.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/cs.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/da.json b/NHKS/translations/da.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/da.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/de.json b/NHKS/translations/de.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/de.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/el.json b/NHKS/translations/el.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/el.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/en.json b/NHKS/translations/en.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/en.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/es.json b/NHKS/translations/es.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/es.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/fi.json b/NHKS/translations/fi.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/fi.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/fr.json b/NHKS/translations/fr.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/fr.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/he.json b/NHKS/translations/he.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/he.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/hu.json b/NHKS/translations/hu.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/hu.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/it.json b/NHKS/translations/it.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/it.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/ja.json b/NHKS/translations/ja.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/ja.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/ko.json b/NHKS/translations/ko.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/ko.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/nl.json b/NHKS/translations/nl.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/nl.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/pb.json b/NHKS/translations/pb.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/pb.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/pl.json b/NHKS/translations/pl.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/pl.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/pt.json b/NHKS/translations/pt.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/pt.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/ru.json b/NHKS/translations/ru.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/ru.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/sl.json b/NHKS/translations/sl.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/sl.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/sv.json b/NHKS/translations/sv.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/sv.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/tr.json b/NHKS/translations/tr.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/tr.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/uk.json b/NHKS/translations/uk.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/uk.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/NHKS/translations/zh.json b/NHKS/translations/zh.json new file mode 100644 index 0000000000..0fb5426f57 --- /dev/null +++ b/NHKS/translations/zh.json @@ -0,0 +1,137 @@ +{ + "actor": "Schauspieler", + "role": "Rolle", + "attributes-and-descriptions": "ATTRIBUTE & BESCHREIBUNG", + "skills": "FERTIGKEITEN", + "advantages-and-disadvantages": "VORTEILE & NACHTEILE", + "movies": "FILME", + "martialarts": "MARTIAL ARTS", + "awards": "AWARDS", + "misc": "SONSTIGES", + "name": "Name", + "gender": "Geschlecht", + "age": "Alter", + "weight": "Gewicht", + "size": "Größe", + "nationality": "Nationalität", + "stature": "Statur", + "description": "Beschreibung", + "knowledge-short": "WIS", + "knowledge": "Wissen", + "strength-short": "STK", + "strength": "Stärke", + "coolness-short": "COL", + "coolness": "Coolness", + "stamina-short": "AUS", + "stamina": "Ausdauer", + "chi-short": "CHI", + "chi": "Chi", + "dexterity-short": "GES", + "dexterity": "Geschick", + "hitpoints": "TREFFERPUNKTE", + "hitpoints-desc": "(Ausdauer + 4) x 10", + "chipoints": "CHI-PUNKTE", + "chipoints-desc": "Chi x 10", + "famepoints": "STARRUHM-PUNKTE", + "famepoints-desc": "", + "awardpoints": "AWARD-PUNKTE", + "awardpoints-desc": "", + "initiative": "INITIATIVE", + "initiative-desc": "Coolness", + "melee-attack": "NAH. ANGRIFF", + "melee-attack-desc": "(Stärke x 2 + Chi) / 3", + "melee-defense": "NAH. VERTEIDIGUNG", + "melee-defense-desc": "(Stärke + Geschick + Chi) / 3", + "melee-damage": "NAH. SCHADEN", + "melee-damage-desc": "Nahkampf-Schadensbonus", + "ranged-attack": "FERN. ANGRIFF", + "ranged-attack-desc": "(Geschick x 2 + Chi) / 3", + "ranged-damage": "FERN. SCHADEN", + "ranged-damage-desc": "Fernkampf-Schadensbonus", + "acrobatic": "Akrobatik", + "athletic": "Athletik", + "dodge": "Ausweichen", + "boats": "Boote lenken", + "persuade": "Einschüchtern
& Überreden", + "computers": "Elektronik
& Computer", + "firstaid": "Erste Hile", + "extremesport": "Extremsport", + "slideofhand": "Fingerfertigkeit", + "aircrafts": "Flugzeuge
& Helikopter", + "vehicles": "Gewöhnliche
Fahrzeuge", + "improvisation": "Improvisation", + "climbing": "Klettern", + "contacts": "Kontakte
& Ortskenntnisse", + "mechanic": "Mechanik", + "stealth": "Schleichen", + "perception": "Sinnesschärfe", + "languages": "Sprachen", + "searching": "Suchen", + "hiding": "Verbergen", + "melee-small": "Kleine Nahkampfwaffen", + "melee-medium": "Mittelgroße Nahkampfwaffen", + "melee-big": "Große Nahkampfwaffen", + "pistols": "Pistolen & Maschinenpistolen", + "rifles": "Gewehre", + "heavy-weapons": "Schwere Waffen", + "melee-misc": "Diverse Nahkampfwaffen", + "ranged-misc": "Diverse Fernkampfwaffen", + "unarmed": "Waffenloser Kampf", + "role-name": "Filmrolle", + "movieplot": "Filmplot", + "role-description": "Aussehen", + "role-inventory": "Ausrüstung", + "role-weapons": "Waffen", + "role-skills": "Rollenfertigkeiten", + "role-advantages": "Vorteile", + "role-weapon-name": "Name", + "role-weapon-attention": "Achtung", + "role-weapon-attention-short": "A", + "role-weapon-burst": "Feuerstoß", + "role-weapon-burst-short": "FS", + "role-weapon-flexible": "Flexibel", + "role-weapon-flexible-short": "FL", + "role-weapon-grib": "Griffbonus", + "role-weapon-grib-short": "GB", + "role-weapon-delicate": "Heikel", + "role-weapon-delicate-short": "H", + "role-weapon-reload": "Laden", + "role-weapon-reload-short": "L", + "role-weapon-martial": "Martial Arts", + "role-weapon-martial-short": "MA", + "role-weapon-strength": "Mindeststärke", + "role-weapon-strength-short": "MS", + "role-weapon-recoil": "Rückstoß", + "role-weapon-recoil-short": "R", + "role-weapon-painful": "Schmerzhaft", + "role-weapon-painful-short": "S", + "role-weapon-painful+": "Sehr Schmerzhaft", + "role-weapon-painful+-short": "S+", + "role-weapon-whip": "Umwickeln", + "role-weapon-whip-short": "U", + "role-weapon-defense": "Verteidigungsbonus", + "role-weapon-defense-short": "VB", + "role-weapon-throw": "Wurfwaffe", + "role-weapon-throw-short": "W", + "role-weapon-2handbonus": "Zweihandbonus", + "role-weapon-2handbonus-short": "ZB", + "role-weapon-2hand": "Zweihhändig", + "role-weapon-2hand-short": "ZH", + "role-weapon-twin": "Zwillingswaffen", + "role-weapon-twin-short": "Z", + "role-weapon-damage": "Schaden", + "success": "Erfolg", + "critical-success": "Kritischer Erfolg", + "critical-success-to": "Krit. Erfolg bis", + "failure": "Fehlschlag", + "critical-failure": "Kritischer Fehlschlag", + "critical-failure-from": "Krit. Fehlschlag ab", + "roll": "Wurf", + "target-value": "Zielwert", + "main-role": "Hauptrolle", + "supporting-role": "Nebenrolle", + "rolltemplate-intiative-desc": "Der Token muss ausgewählt sein, damit er automatisch im Turn-Tracker erscheint.", + "combat": "KAMPF", + "parry": "Parade", + "modifier": "Modifikator" +} \ No newline at end of file diff --git a/Official Savage Worlds/SavageWorldsCharSheet.css b/Official Savage Worlds/SavageWorldsCharSheet.css index b53158da18..9ff0188613 100644 --- a/Official Savage Worlds/SavageWorldsCharSheet.css +++ b/Official Savage Worlds/SavageWorldsCharSheet.css @@ -5701,8 +5701,8 @@ li.docList::before { align-items: center; text-align: center; /*background-image: url(https://raw.githubusercontent.com/finderski/SWT/master/BackgroundImages/Red_Tape_Side.png); - background-size: cover;*/ - color: #FCEEEE; + background-size: cover;*/ + color: #fceeee; flex-flow: row wrap; } .statblockview .statBlockHeader .statblockName .headerContainer { @@ -5721,7 +5721,7 @@ li.docList::before { margin: -10px 0 -10px 5px; } .statblockview .statBlockHeader .statblockName .charsummary .groupHeading { - color: #FCEEEE; + color: #fceeee; } .statblockview .statBlockHeader .statblockName .charsummary .groupHeading .benny { margin: 0 10px 0 0; @@ -5732,7 +5732,7 @@ li.docList::before { } .statblockview .statBlockHeader .statblockName .charsummary .groupHeading .benny .imagecontainer span.hiddenInput { display: inline-block; - color: #FCEEEE; + color: #fceeee; } .statblockview .statBlockHeader .statblockName .charsummary .reach { display: none; @@ -5756,8 +5756,8 @@ li.docList::before { content: " (+3)"; } .statblockview .statBlockHeader .statblockName .charsummary .bennies { - border-bottom: 1px #FCEEEE solid; - color: #FCEEEE; + border-bottom: 1px #fceeee solid; + color: #fceeee; text-align: center; } .statblockview .statBlockHeader .statblockName .charsummary .benny { @@ -5778,7 +5778,7 @@ li.docList::before { font-size: 0.75em; } .statblockview .statBlockHeader .statblockName .charsummary label.conviction .hasconviction:not(:checked) + .convictiontoken::before { - color: #FCEEEE; + color: #fceeee; } .statblockview .statBlockHeader .statblockName .charsummary label.conviction .hasconviction:checked + .convictiontoken::before { color: pink; @@ -6104,6 +6104,7 @@ li.docList::before { } .statblockview .attributeStatsPlus .rowContainer .hindrancesEdgesSAs .skillsCondensed .repcontainer { width: auto; + flex-flow: row wrap; } .statblockview .attributeStatsPlus .rowContainer .hindrancesEdgesSAs .skillsCondensed .repitem { margin: 3px 5px 0 0; @@ -6300,10 +6301,16 @@ li.docList::before { .statblockview .gearCondensed .statblock { display: inline; } -.statblockview .gearCondensed .derivelabel, .statblockview .gearCondensed .derivebase, .statblockview .gearCondensed .derivemisc, .statblockview .gearCondensed .derivemod, .statblockview .gearCondensed .derivecurrent, .statblockview .gearCondensed .basederived { +.statblockview .gearCondensed .derivelabel, +.statblockview .gearCondensed .derivebase, +.statblockview .gearCondensed .derivemisc, +.statblockview .gearCondensed .derivemod, +.statblockview .gearCondensed .derivecurrent, +.statblockview .gearCondensed .basederived { width: auto; } -.statblockview .gearCondensed .derivelabel.wealth, .statblockview .gearCondensed .derivebase, +.statblockview .gearCondensed .derivelabel.wealth, +.statblockview .gearCondensed .derivebase, .statblockview .gearCondensed .usewealth:not(:checked) + .useMultiCurrency[value="1"] ~ .nonwealth > .derivebase { flex-grow: 0; } diff --git a/Official Savage Worlds/SavageWorldsCharSheet.html b/Official Savage Worlds/SavageWorldsCharSheet.html index 012c541b88..e385063857 100644 --- a/Official Savage Worlds/SavageWorldsCharSheet.html +++ b/Official Savage Worlds/SavageWorldsCharSheet.html @@ -1,7 +1,7 @@ \ No newline at end of file + {{/accessible}} + +
+
\ No newline at end of file diff --git a/Pathfinder Community/translation.json b/Pathfinder Community/translation.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translation.json +++ b/Pathfinder Community/translation.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/af.json b/Pathfinder Community/translations/af.json index 6d3300ba5d..fb3c10e87b 100644 --- a/Pathfinder Community/translations/af.json +++ b/Pathfinder Community/translations/af.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/ca.json b/Pathfinder Community/translations/ca.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/ca.json +++ b/Pathfinder Community/translations/ca.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/cs.json b/Pathfinder Community/translations/cs.json index d7ee77b51b..824b327783 100644 --- a/Pathfinder Community/translations/cs.json +++ b/Pathfinder Community/translations/cs.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/da.json b/Pathfinder Community/translations/da.json index 6aec6c540c..b49bf9911a 100644 --- a/Pathfinder Community/translations/da.json +++ b/Pathfinder Community/translations/da.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/de.json b/Pathfinder Community/translations/de.json index a62587b4e9..c6dcfefdd5 100644 --- a/Pathfinder Community/translations/de.json +++ b/Pathfinder Community/translations/de.json @@ -61,6 +61,8 @@ "ability-macros-current": "aktuelles Attributsmakro laden", "ability-menus": "Attributs-Menü", "ability-name": "Attributsname", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Attributsmali funktionieren wie ein Schaden an dem Attribut, sie können dich aber nicht ohnmächtig werden oder sterben lassen. Das bedeutet, dass die Mali deine Attributswerte nicht unter eins senken können", "ability-roll-template": "Attributswurfvorlage", "ability-score": "Attributswert", @@ -1069,6 +1071,7 @@ "improved": "Verbessert", "improved-title": "Improved Dual Wield check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Optionen", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/el.json b/Pathfinder Community/translations/el.json index 12ab8fdbef..9a87941e29 100644 --- a/Pathfinder Community/translations/el.json +++ b/Pathfinder Community/translations/el.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/en.json b/Pathfinder Community/translations/en.json index 6137984eb1..52a4a92fc4 100644 --- a/Pathfinder Community/translations/en.json +++ b/Pathfinder Community/translations/en.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/es.json b/Pathfinder Community/translations/es.json index b9ec6ec81e..ea6b19b711 100644 --- a/Pathfinder Community/translations/es.json +++ b/Pathfinder Community/translations/es.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Nombre de la habilidad", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Los penalizadores funcionan como el daño de característica, pero causan la muerte o inconsciencida del personaje. Los penalizadores nunca pueden reducir una característica a un valor inferior a 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Opciones", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/fi.json b/Pathfinder Community/translations/fi.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/fi.json +++ b/Pathfinder Community/translations/fi.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/fr.json b/Pathfinder Community/translations/fr.json index 8a7ebe1541..2940c9fa80 100644 --- a/Pathfinder Community/translations/fr.json +++ b/Pathfinder Community/translations/fr.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Menus de capacité", "ability-name": "Nom de la capacité", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Modèle de jet de capacité", "ability-score": "Valeur de carac", @@ -1069,6 +1071,7 @@ "improved": "Amélioré", "improved-title": "Science du Combat à Deux Armes: cliquer ici si la main secondaire gagne les attaques itératives", "in-special-abilities-section": "Dans la liste sous les capacités spéciales ci-dessous", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Inclure les notes et l'image aux jets d'attaque ? Les notes et l'image varient selon le type d'attaque.", "include-attack-totals": "Inclure les totaux d'attaque?", "include-attacks-?": "Inclure une attaque ?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Coût double ou prohibé", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/he.json b/Pathfinder Community/translations/he.json index d623e16d86..790518c7cb 100644 --- a/Pathfinder Community/translations/he.json +++ b/Pathfinder Community/translations/he.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/hu.json b/Pathfinder Community/translations/hu.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/hu.json +++ b/Pathfinder Community/translations/hu.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/it.json b/Pathfinder Community/translations/it.json index 153e6957ea..0be08f5554 100644 --- a/Pathfinder Community/translations/it.json +++ b/Pathfinder Community/translations/it.json @@ -61,6 +61,8 @@ "ability-macros-current": "Macro di Caratteristica alla presente", "ability-menus": "Menù Caratteristiche", "ability-name": "Nome Caratteristica", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Le penalità funzionano proprio come danni alle Caratteristiche, ma non possono farti perdere conoscenza o ucciderti. Le penalità non possono ridurre il tuo punteggio Caratteristica a meno di 1.", "ability-roll-template": "Template Prova di Caratteristica", "ability-score": "Punteggio Caratteristiche", @@ -1069,6 +1071,7 @@ "improved": "Migliorato", "improved-title": "Combattere con due armi Migliorato: controlla qui se l'attacco dell'arma secondaria ottiene modifiche", "in-special-abilities-section": "In lista sotto Abilità Speciali", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Includere note o immagini ai Tiri per Colpire? Entrambe verranno incluse nel tipo di Attacco.", "include-attack-totals": "Includere totali degli Attacchi?", "include-attacks-?": "Includere Attacco?", @@ -1460,6 +1463,7 @@ "opposition": "Opposizione", "opposition-school-example": "Costa il doppio o è proibito", "options": "Opzioni", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Usa template semplice per gli attacchi.", "options-attacks-attack-title": "Includi note d'attacco.", "options-attacks-cmb-image-title": "Includi l'immagine header per il BMC.", diff --git a/Pathfinder Community/translations/ja.json b/Pathfinder Community/translations/ja.json index 73195c9823..f61ebd9eb6 100644 --- a/Pathfinder Community/translations/ja.json +++ b/Pathfinder Community/translations/ja.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/ko.json b/Pathfinder Community/translations/ko.json index f1b9299eaf..3c9a249d1d 100644 --- a/Pathfinder Community/translations/ko.json +++ b/Pathfinder Community/translations/ko.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "능력 이름", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/nl.json b/Pathfinder Community/translations/nl.json index 616eda123d..d3bfcdf1c1 100644 --- a/Pathfinder Community/translations/nl.json +++ b/Pathfinder Community/translations/nl.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/pb.json b/Pathfinder Community/translations/pb.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/pb.json +++ b/Pathfinder Community/translations/pb.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/pl.json b/Pathfinder Community/translations/pl.json index aa18d22e93..8f60f6aaaa 100644 --- a/Pathfinder Community/translations/pl.json +++ b/Pathfinder Community/translations/pl.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/pt.json b/Pathfinder Community/translations/pt.json index 1ef4246286..b5b050439e 100644 --- a/Pathfinder Community/translations/pt.json +++ b/Pathfinder Community/translations/pt.json @@ -61,6 +61,8 @@ "ability-macros-current": "Macros de Habilidade para atual", "ability-menus": "Menus de Habilidade", "ability-name": "Nome da Habilidade", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalidades funcionam como dano de habilidade, mas não podem deixá-lo inconsciente ou matá-lo. Penalidades não podem reduzir seus pontos de habilidade para menos que 1.", "ability-roll-template": "Template de Rolagem de Habilidade", "ability-score": "Pontos de Habilidade", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/ru.json b/Pathfinder Community/translations/ru.json index b34932a6c7..2f89e4b940 100644 --- a/Pathfinder Community/translations/ru.json +++ b/Pathfinder Community/translations/ru.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Включить примечания или изображения при бросках атаки? Примечания и изображения будут привязаны к типу атаки.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Включить атаку?", @@ -1460,6 +1463,7 @@ "opposition": "Запрещённое", "opposition-school-example": "Занимет две ячейки или запрещено", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Включить примечания к атакам", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/sl.json b/Pathfinder Community/translations/sl.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/sl.json +++ b/Pathfinder Community/translations/sl.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/sv.json b/Pathfinder Community/translations/sv.json index 332c257422..ba2096ab98 100644 --- a/Pathfinder Community/translations/sv.json +++ b/Pathfinder Community/translations/sv.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/tr.json b/Pathfinder Community/translations/tr.json index 458ebd9051..1f28115a6d 100644 --- a/Pathfinder Community/translations/tr.json +++ b/Pathfinder Community/translations/tr.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die. Penalties cannot decrease your ability score to less than 1.", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type.", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks.", "options-attacks-attack-title": "Include Attack notes.", "options-attacks-cmb-image-title": "Include the CMB header image.", diff --git a/Pathfinder Community/translations/uk.json b/Pathfinder Community/translations/uk.json index 18be6926b0..f382b62a05 100644 --- a/Pathfinder Community/translations/uk.json +++ b/Pathfinder Community/translations/uk.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "Ability Menus", "ability-name": "Ability Name", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "Penalties function just like ability damage, but they cannot cause you to fall unconscious or die Penalties cannot decrease your ability score to less than 1", "ability-roll-template": "Ability Roll Template", "ability-score": "Ability Score", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "Improved Dual Wield: check here if offhand attack gains iteratives", "in-special-abilities-section": "In list under Special Abilities below", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "Include notes or images in attack rolls? Notes and image will be mapped to attack type", "include-attack-totals": "Include Attack Totals?", "include-attacks-?": "Include Attack?", @@ -1460,6 +1463,7 @@ "opposition": "Opposition", "opposition-school-example": "Cost double or prohibited", "options": "Options", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "Use simple accessible template for attacks", "options-attacks-attack-title": "Include Attack notes", "options-attacks-cmb-image-title": "Include the CMB header image", diff --git a/Pathfinder Community/translations/zh.json b/Pathfinder Community/translations/zh.json index 07afc69724..8242cb2982 100644 --- a/Pathfinder Community/translations/zh.json +++ b/Pathfinder Community/translations/zh.json @@ -61,6 +61,8 @@ "ability-macros-current": "Ability macros to current", "ability-menus": "能力選單", "ability-name": "能力名稱", + "ability-notes": " Ability Notes", + "ability-notes-place": "Put notes about context-sensitive Ability bonuses here", "ability-penalty-desc": "屬性減值作用如同屬性傷害,但不會因其而陷入昏迷或死亡。事實上,屬性減值不會令你的屬性低於1點。", "ability-roll-template": "能力擲骰模版", "ability-score": "屬性值", @@ -1069,6 +1071,7 @@ "improved": "Improved", "improved-title": "精通雙持: 如果副手獲得多次攻擊則勾選", "in-special-abilities-section": "在下面的特殊能力列表中", + "include-ability-notes": "Include Ability Notes in roll", "include-attack-notes": "在攻擊檢定中包含註記或header圖式? 註記和header圖式會與攻擊類型匹配", "include-attack-totals": "包含總攻擊加值?", "include-attacks-?": "包含幾次攻擊?", @@ -1460,6 +1463,7 @@ "opposition": "對立", "opposition-school-example": "雙倍消耗或禁止", "options": "選項", + "options-ability-title": "Show Ability Notes", "options-attacks-accessible-title": "使用簡易攻擊模版", "options-attacks-attack-title": "包含攻擊註記", "options-attacks-cmb-image-title": "包含CMB header圖式", diff --git a/PokemonTabletopAdventures_v3/PTA3.css b/PokemonTabletopAdventures_v3/PTA3.css index 6b0852c633..3add325256 100644 --- a/PokemonTabletopAdventures_v3/PTA3.css +++ b/PokemonTabletopAdventures_v3/PTA3.css @@ -691,6 +691,8 @@ label.sheet-afflictions-text { .sheet-text-background { background-color: var(--text-background-color); + border-radius: 6px; + padding: 6px; } .sheet-top-information[type="number"], diff --git a/PokemonTabletopAdventures_v3/PTA3.html b/PokemonTabletopAdventures_v3/PTA3.html index 4a16a66fe3..c072da1af5 100644 --- a/PokemonTabletopAdventures_v3/PTA3.html +++ b/PokemonTabletopAdventures_v3/PTA3.html @@ -4,6 +4,9 @@
+ + +
@@ -292,7 +295,7 @@ Attack


@@ -302,7 +305,7 @@ Defense


@@ -315,7 +318,7 @@ Special Attack


@@ -325,7 +328,7 @@ Special Defense


@@ -335,7 +338,7 @@ Speed


@@ -524,7 +527,7 @@ @@ -533,7 +536,7 @@ @@ -542,7 +545,7 @@ @@ -551,7 +554,7 @@ @@ -560,7 +563,7 @@ @@ -569,7 +572,7 @@ @@ -578,7 +581,7 @@ @@ -587,7 +590,7 @@ @@ -596,7 +599,7 @@ @@ -607,7 +610,7 @@ @@ -616,7 +619,7 @@ @@ -625,7 +628,7 @@ @@ -634,7 +637,7 @@ @@ -643,7 +646,7 @@ @@ -652,7 +655,7 @@ @@ -660,7 +663,7 @@ - @@ -669,7 +672,7 @@ @@ -678,7 +681,7 @@ @@ -697,7 +700,7 @@ @@ -752,7 +755,7 @@ ℹ @@ -834,7 +837,7 @@ ℹ @@ -860,7 +863,7 @@
ℹ @@ -878,7 +881,7 @@ ℹ @@ -945,7 +948,7 @@
ℹ @@ -953,7 +956,7 @@ ℹ @@ -988,7 +991,7 @@ ℹ @@ -1146,7 +1149,7 @@
@@ -1174,6 +1177,14 @@
+

Welcome to Pokémon Tabletop Adventures 3!

+
+

+ To use this sheet, first select your Character Type below, and then click "Character" on the top left to open the character sheet.
+ Or, use the Import box below to load a pre-existing sheet, and then click "Character" after the import is complete.

+ To return to this page later, click Configuration on the top left. +

+

Configuration Options

@@ -1229,7 +1240,7 @@

+ value="@{publicity_roll} @{character_name}'s Initiative: [[@{initiative-macro}&{tracker}]]">
Initiative Tie Breaker: @@ -2162,6 +2173,24 @@ }); }); + on(`clicked:toggle-roll-publicity`, function () { + getAttrs(["publicity_label"], function (values) { + const publicity = values["publicity_label"]; + var publicityLabel = "Rolling Publicly"; + var publicityRoll = ""; + + if (publicity == publicityLabel) { + publicityLabel = "Rolling to GM"; + publicityRoll = "/w gm "; + } + + setAttrs({ + publicity_label: publicityLabel, + publicity_roll: publicityRoll, + }); + }); + }); + // Natures (must be before stat calculation) const allNatures = { lonely : [ 1, -1, 0, 0, 0], diff --git a/PokemonTabletopAdventures_v3/README.md b/PokemonTabletopAdventures_v3/README.md index 0ec6b59cd4..136f92a98c 100644 --- a/PokemonTabletopAdventures_v3/README.md +++ b/PokemonTabletopAdventures_v3/README.md @@ -24,6 +24,13 @@ Things we want to add to the character sheet, presented in no particular order o ## Changelog +### May 25, 2022 +- Added some explanation text to the Configuration page to give some background on what's going on there and how to use the sheet + +### May 24, 2022 +- Added Roll to GM functionality! + - New button added next to the Configuration button to toggle between the ability to send rolls to the public chat or to whisper them to the GM + ### May 12, 2022 - Fixed a bug where the pokemon and hybrid character pages would default to the normal type selection rather than typeless if this value isn't modified - Also sets the default type for a newly created move to typeless rather than normal diff --git a/Primal Quest/PrimalQuest.css b/Primal Quest/PrimalQuest.css new file mode 100644 index 0000000000..a2a963f988 --- /dev/null +++ b/Primal Quest/PrimalQuest.css @@ -0,0 +1,464 @@ +@import url("https://fonts.googleapis.com/css2?family=Amatic+SC:wght@700&family=Permanent+Marker&display=swap"); +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: "Permanent Marker", cursive; + font-weight: bolder; + color: #111111 !important; +} +input { + border: none !important; + background-color: transparent; + outline: 0; +} +/* Chrome, Safari, Edge, Opera */ +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +input[type="number"] { + -moz-appearance: textfield; +} + +.abs { + position: absolute; +} +/*Sheet Scrollbar*/ +::-webkit-scrollbar { + width: 5px; +} + +::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px grey; +} +.btn:hover { + background-position: 0 0; +} +.ui-dialog .charsheet button[type="roll"].negativeDice { + background-color: #ffffff; + color: #e91010 !important; + margin: 0; + /* left: 250px; */ + border: 1px dashed; + + box-shadow: none; + border-radius: 5px; +} + +.ui-dialog .charsheet button[type="roll"].negativeDice::before { + font-family: "dicefontd6"; + content: "f"; + background-color: #e91010; + color: #fff; + font-size: 16px; +} + +.ui-dialog .charsheet button[type="roll"].positiveDice { + background-color: rgb(251, 255, 250); + color: #098029 !important; + margin: 0; + /* left: 310px !important; */ + border: 1px dashed #098029; + + box-shadow: none; +} +.ui-dialog .charsheet button[type="roll"].positiveDice::before { + font-family: "dicefontd6"; + content: "f"; + background-color: #098029; + color: #fff; + font-size: 16px; +} +.charsheet .div_weapon_one > button[type="roll"], +.charsheet .div_weapon_two > button[type="roll"], +.charsheet .div_weapon_three > button[type="roll"] { + background-color: transparent; + border: none; + margin: 0; + height: 0; + border: 0; + position: relative; + left: -10px; + box-shadow: none; +} +.ui-dialog .charsheet button[type="roll"], +.charsheet .div_body > button[type="roll"], +.charsheet .div_mind > button[type="roll"], +.charsheet .div_heart > button[type="roll"], +.charsheet .div_weapon_one > button[type="roll"], +.charsheet .div_weapon_two > button[type="roll"], +.charsheet .div_weapon_three > button[type="roll"] { + background-image: none; +} + +.ui-dialog .charsheet button[type="roll"]:before, +.charsheet .div_body > button[type="roll"]:before, +.charsheet .div_mind > button[type="roll"]:before, +.charsheet .div_heart > button[type="roll"]:before, +.charsheet .div_weapon_one > button[type="roll"]:before, +.charsheet .div_weapon_two > button[type="roll"]:before, +.charsheet .div_weapon_three > button[type="roll"]:before { + font-family: "dicefontd6"; + content: "f"; + background-color: #b61414; + color: #fff; + font-size: 20px; +} +.charsheet .div_weapon_one > button[type="roll"]:before, +.charsheet .div_weapon_two > button[type="roll"]:before, +.charsheet .div_weapon_three > button[type="roll"]:before { + font-size: 16px; + border: none; +} +.mainContent { + width: 1000px; + height: 500px; + background-image: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxyLYfKqmfMp1AjoBg9jQM2eDTyUQQ4yeKMEX4F7wS11grwXUZEADp4aCQucg_2G8RZS79ZtjZctbxYkTkvwBPTq0AxISJnYCR3VQOqto3eXXhXcZ3gADUN3lC8-qaoZmUuO_SMZGoJodXbvrSPJlZNcneO8IKJgYOOApd4RC1_wVnGvUBx6Z3XCd/s701/pqf2.png"); + background-repeat: no-repeat; + background-size: 1000px 500px; + position: relative !important; + + margin: 10px auto !important; +} + +.div_name { + left: 122px; + top: 20px; +} +.attr_character_name { + outline: 0; + height: 12px; + padding: 0; + border-bottom: 0; +} +.div_body { + left: 31px; + top: 97px; + border-bottom: none; + padding: 0; + transform: rotate(-28deg); +} +.div_mind { + left: 210px; + top: 88px; + border-bottom: none; + padding: 0; + transform: rotate(-28deg); +} +.div_heart { + width: 160px; + left: 360px; + top: 38px; + border-bottom: none; + padding: 0; + transform: rotate(-28deg); +} +.attr_heroBody, +.attr_heroMind, +.attr_heroHeart { + width: 50px; + height: 50px; + font-size: 30px; + text-align: center; +} + +.div_weapon_one { + display: flex; + + justify-content: space-around; + width: 317px; + bottom: 54px; + left: 20px; +} +.div_weapon_two { + display: flex; + + justify-content: space-around; + width: 317px; + bottom: 34px; + left: 20px; +} +.div_weapon_three { + display: flex; + + justify-content: space-around; + width: 317px; + bottom: 16px; + left: 20px; +} +.attr_heroWeaponOne, +.attr_heroWeaponTwo, +.attr_heroWeaponThree { + width: 150px; + height: 20px; + font-size: 16px; +} +.weapon_range, +.weapon_dmg { + width: 30px; + height: 20px; + font-size: 12px; + text-align: center; + margin-left: 10px; +} +.extra_tags { + left: 340px; + bottom: 14px; +} +textarea { + background-color: transparent; + border: none; + resize: none; + width: 236px !important; + height: 77px !important; + outline: 0; +} +.div_food { + bottom: 20px; + right: 270px; +} + +.div_water { + bottom: 20px; + right: 340px; +} +.div_xp { + left: 690px; + top: 35px; +} +.div_xp_spent { + left: 690px; + top: 69px; +} + +.div_max { + right: 150px; + top: 35px; + transform: rotate(32deg); +} + +.div_vitality { + right: 110px; + top: 32px; + transform: rotate(-42deg); +} + +.div_defense { + right: 10px; + top: 30px; + transform: rotate(-90deg); +} +.attr_heroXP, +.attr_heroXP_Spent, +.attr_heroMax, +.attr_heroVitality, +.attr_heroFood, +.attr_heroWater { + width: 30px; + height: 30px; + font-size: 20px; + text-align: center; +} +.attr_heroDefense { + width: 50px; + height: 50px; + font-size: 30px; + text-align: center; +} +.div_concept { + left: 438px; + top: 98px; + transform: rotate(-23deg); +} +.attr_heroConcept { + border-bottom: 0; +} + +.div_talent { + left: 452px; + top: 164px; + transform: rotate(-15deg); +} + +.div_motivation { + left: 498px; + top: 230px; + transform: rotate(-5deg); +} +.div_relationship { + left: 498px; + top: 303px; + transform: rotate(6deg); +} +.div_problem { + left: 468px; + top: 357px; + transform: rotate(13deg); +} + +.equip_input { + width: 185px; + outline: 0; + height: 12px; + padding: 0; + border-bottom: 0; +} +.div_equip { + position: absolute; + right: 33px; + display: inline-block; +} +.div_equip_one { + top: 137px; +} +.div_equip_two { + top: 154px; +} +.div_equip_three { + top: 173px; +} +.div_equip_four { + top: 190px; +} +.div_equip_five { + top: 207px; +} +.div_equip_six { + top: 222px; +} +.div_equip_seven { + top: 239px; +} +.div_equip_eight { + top: 256px; +} +.div_equip_nine { + top: 273px; +} +.div_equip_ten { + top: 289px; +} +.div_equip_eleven { + top: 307px; +} +.div_equip_twelve { + top: 324px; +} +.div_equip_thirteen { + top: 340px; +} +.div_equip_fourteen { + top: 357px; +} +.div_equip_fifteen { + top: 372px; +} +.div_equip_sixteen { + top: 389px; +} + +.div_equip_seventeen { + top: 406px; +} +.div_equip_eighteen { + top: 423px; +} +.div_equip_nineteen { + top: 439px; +} +.div_equip_twenty { + top: 455px; +} + +.sheet-rolltemplate-primalquest { + width: 280px; + margin: 10px 0; + height: 280px; + position: relative; + background-image: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6W9ihU2T1HnsUUlmoGWa03vcago_1cFxiFuS7NvRaMQ9mhO0HTbqgegax9GKXpgEV1B2VZaw_eRxlE7CTSxNx_AfzxgPKkuDovvdx_CPU5UQs89brdrH3KdhlIzCO-TF6u-ZU2OymVli16Lk9MQu0xzpmGY0Lyn0hWx64dRr3NWl1m_2qOSMgC8UL/w945-h600-p-k-no-nu/bgpeople.png"); + background-repeat: no-repeat; + background-size: 100%; +} +.sheet-rolltemplate-primalquest > .sheet-container > div.sheet-header { + display: flex; + align-items: start; + justify-content: center; + width: 100%; + margin-top: 9px; +} +.sheet-rolltemplate-primalquest > .sheet-container > div.sheet-footer { + position: absolute; + bottom: 10px; + width: 100%; + + background-image: url("https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhF8EIftdblaSj-mm_8v-WsKrNa-UsE0TiOVM5jemgoJS2BbZc0_knPB6j_SIsr6UA0bTt75M1C0_pBtXCioaftcTVt1oTHN8TWx3pW5oY6TxB9KSeMp_lc5AflZH0qSsg7xrv6WiqPz4AlB7WhxEia-PIzriKkpwW3xXnr2Jb1SoumDKG6pVKL6ODc/s215/caveMan.png"); + background-repeat: no-repeat; + background-size: 30px; + background-position: bottom right; + height: 120px; + background-color: #fff; +} + +.sheet-rolltemplate-primalquest > .sheet-container > div.sheet-header p span { + background-color: #000; + color: rgb(172, 14, 14); + font-size: 22px; + padding: 1px; + border: 2px solid #000; + margin: 10px; +} +.sheet-rolltemplate-primalquest + > .sheet-container + > div.sheet-footer + > div.sheet-footer-content { + width: 85%; + margin: 0 auto; +} +.sheet-rolltemplate-primalquest + > .sheet-container + > div.sheet-footer + > div.sheet-footer-content + span { + margin: 0 2px; + font-family: "Permanent Marker", cursive; +} + +.sheet-rolltemplate-primalquestND, +.sheet-rolltemplate-primalquestPD, +.sheet-rolltemplate-customRoll { + width: 240px; + margin: 10px 0; + + position: relative; +} +.sheet-rolltemplate-primalquestND > div.sheet-sheetHeader, +.sheet-rolltemplate-primalquestPD > div.sheet-sheetHeader, +.sheet-rolltemplate-customRoll > div.sheet-sheetHeader { + display: flex !important; + justify-content: space-between !important; + background-color: #fff; + + padding: 10px; +} + +.sheet-rolltemplate-primalquestPD > div.sheet-sheetHeader p span { + background-color: rgb(9, 88, 19); + color: rgb(241, 238, 238); + font-size: 22px; + padding: 1px; + border: 2px solid rgba(0, 0, 0, 0); + margin: 10px; +} +.sheet-rolltemplate-primalquestND > div.sheet-sheetHeader p span, +.sheet-rolltemplate-customRoll > div.sheet-sheetHeader span span { + background-color: #000; + color: rgb(172, 14, 14); + font-size: 22px; + padding: 1px; + border: 2px solid #000; + margin: 10px; +} diff --git a/Primal Quest/PrimalQuest.html b/Primal Quest/PrimalQuest.html new file mode 100644 index 0000000000..4449161631 --- /dev/null +++ b/Primal Quest/PrimalQuest.html @@ -0,0 +1,380 @@ + + +
+ Primal Quest - Weird Stone & Sorcery Adventure Game by Diogo Nogueira, Brasil. + License for Primal Quest by Diogo Nogueira +
+ +
+ Custom roll + + + + + + + + + Dif + + + +
+ + + +
+ + +
+
+ + + + + + + + +
+
+ + + +
+
+ + + +
+ +
+ + + + +
+
+ + + + +
+
+ + + + +
+ +
+ +
+
+
+ +
+ + +
+ +
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+ + + + + +
+ + +

+ Primal Quest

+ + + + +
+

Rolling + {{heroAttribute}} +

+

{{roll}}

+ +
+

{{final}}

+ + + +
+
+ + + + +
+

+ Primal Quest

+
+ +
+

+ Rolling negative dice {{negativeDice}} +

+

{{roll}}

+
+ +
+ + +
+

+ Primal Quest

+
+ +
+

+ Rolling positive dice {{positiveDice}} +

+

{{roll}}

+
+ +
+ + + + +
+

+ Primal Quest

+
+ +
+

+ Rolling {{customRoll}} +

+ {{final}} +
+ +
+ + + + + + + + + + \ No newline at end of file diff --git a/Primal Quest/pqsheet.PNG b/Primal Quest/pqsheet.PNG new file mode 100644 index 0000000000..5e3a8af7bd Binary files /dev/null and b/Primal Quest/pqsheet.PNG differ diff --git a/Primal Quest/primalLicense.PNG b/Primal Quest/primalLicense.PNG new file mode 100644 index 0000000000..f482e77c50 Binary files /dev/null and b/Primal Quest/primalLicense.PNG differ diff --git a/Primal Quest/sheet.json b/Primal Quest/sheet.json new file mode 100644 index 0000000000..4c6c54ed1b --- /dev/null +++ b/Primal Quest/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "PrimalQuest.html", + "css": "PrimalQuest.css", + "authors": "Marcus Rangel - Ghostdancing", + "roll20userid": "10112633", + "preview": "pqsheet.PNG", + "instructions": "# Primal Quest character sheet.\n ## Primal Quest by Diogo Nogueira, Brazil. Art by Felipe Faria.\n *This sheet will improve with time.*\n[Primal Quest](https://diogo-old-skull.itch.io/primal-quest-essentials)", + "legacy": false +} diff --git a/RatasEnLasParedes/translations/fr.json b/RatasEnLasParedes/translations/fr.json index a6f462c041..95d370cdee 100644 --- a/RatasEnLasParedes/translations/fr.json +++ b/RatasEnLasParedes/translations/fr.json @@ -1,17 +1,17 @@ { - "nombre": "NOMBRE", - "profesion": "PROFESION", - "reputacion": "REPUTACION", - "destreza": "DESTREZA", - "ingenio": "INGENIO", - "musculo": "MUSCULO", - "violencia": "VIOLENCIA", - "voluntad": "VOLUNTAD", + "nombre": "Nom", + "profesion": "Profession", + "reputacion": "Réputation", + "destreza": "Adresse", + "ingenio": "Astuce", + "musculo": "Vigueur", + "violencia": "Violence", + "voluntad": "Volonté", "pv": "PV", - "pc": "PJ", - "pe": "PE", - "damage": "DAÑO", - "armas-1-mano": "Armas 1 Mano", - "armas-2-manos": "Armas 2 Manos", - "armas-grandes": "Armas Grandes" + "pc": "PS", + "pe": "XP", + "damage": "Armement", + "armas-1-mano": "Armes à une main", + "armas-2-manos": "Armes à deux main", + "armas-grandes": "Armes imposantes" } \ No newline at end of file diff --git a/RyF (Rapido y Facil)/images/ryf_actual.jpg b/RyF (Rapido y Facil)/images/ryf_actual.jpg new file mode 100644 index 0000000000..0c7af8fe35 Binary files /dev/null and b/RyF (Rapido y Facil)/images/ryf_actual.jpg differ diff --git a/RyF (Rapido y Facil)/images/ryf_cifi.jpg b/RyF (Rapido y Facil)/images/ryf_cifi.jpg new file mode 100644 index 0000000000..a16f69ba98 Binary files /dev/null and b/RyF (Rapido y Facil)/images/ryf_cifi.jpg differ diff --git a/RyF (Rapido y Facil)/images/ryf_medieval.jpg b/RyF (Rapido y Facil)/images/ryf_medieval.jpg new file mode 100644 index 0000000000..f241c0ff7f Binary files /dev/null and b/RyF (Rapido y Facil)/images/ryf_medieval.jpg differ diff --git a/RyF (Rapido y Facil)/ryf.css b/RyF (Rapido y Facil)/ryf.css new file mode 100644 index 0000000000..36fa02576f --- /dev/null +++ b/RyF (Rapido y Facil)/ryf.css @@ -0,0 +1,57 @@ +h2 { + background-color: #000000; + color: #FFFFFF; + border: 2px solid #FFFFFF; + font-size: 20px; +} + +h3 { + margin: 3px; + border-radius: 10px; + font-size: 16px; +} + +/*Configure the tab buttons*/ +.charsheet .sheet-actual, +.charsheet .sheet-medieval, +.charsheet .sheet-cifi{ + display: none; +} + +/* show the selected tab */ +.charsheet .sheet-tabstoggle[value="actual"] ~ div.sheet-actual, +.charsheet .sheet-tabstoggle[value="medieval"] ~ div.sheet-medieval, +.charsheet .sheet-tabstoggle[value="cifi"] ~ div.sheet-cifi{ + display: block; +} + + +.divTable{ + display: table; + width: 100%; +} +.divTableRow { + display: table-row; +} +.divTableHeading { + background-color: #EEE; + display: table-header-group; +} +.divTableCell, .divTableHead { + border: 0px solid #999999; + display: table-cell; + +} +.divTableHeading { + background-color: #EEE; + display: table-header-group; + font-weight: bold; +} +.divTableFoot { + background-color: #EEE; + display: table-footer-group; + font-weight: bold; +} +.divTableBody { + display: table-row-group; +} diff --git a/RyF (Rapido y Facil)/ryf.html b/RyF (Rapido y Facil)/ryf.html new file mode 100644 index 0000000000..9e375aac57 --- /dev/null +++ b/RyF (Rapido y Facil)/ryf.html @@ -0,0 +1,482 @@ + +
+ + + +
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

PERSONAJE

+
+
+
+
+
+
+
+
+
+
+

ATRIBUTOS

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
NOMBRE
+
+
+
+
CONCEPTO
+
+
+
+
DESCRIPCION
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
FISICO (F)
+
+ +
+
+
+
DESTREZA (D)
+
+ +
+
+
+
INTELIGENCIA (I)
+
+
+
+
PERCEPCION (P)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

HABILIDADES

+
+
+
+
+
+
+
+
+
+
+
+
Advertir / Notar (P)
+
+ +
+
+
+
Armas a distancia (D)
+
+
+
+
Armas Combate (F)
+
+
+
+
Atletismo (F)
+
+
+
+
Bailar (d)
+
+
+
+
Buscar (P)
+
+
+
+
Callejeo (I)
+
+
+
+
Comercio (I)
+
+
+
+
Conducir (D)
+
+
+
+
+
+
+
+
+
+
Esquivar (D)
+
+
+
+
Historia (I)
+
+
+
+
Informática (I)
+
+
+
+
Leyes (I)
+
+
+
+
Mecánica (I)
+
+
+
+
Medicina (I)
+
+
+
+
Música (P)
+
+
+
+
Ocultismo (I)
+
+
+
+
Reflejos (P)
+
+
+
+
+
+
+
+
+
+
Pilotar (D)
+
+
+
+
Sigilo (D)
+
+
+
+
Supervivencia (I)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

COMBATE

+
+
+
+
+
+
+
+
+
+
+
+
+

INICIATIVA

+
+
+

+
+
+
+
+
+
+
+
+
+
+

DEFENSA

+
+
+

+
+
+
+
+
+
+
+
+
+
+

P. DE VIDA

+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Arma
+
Daño
+
Alcance
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Armadura
+
Absorción
+
Estorbo
+
+
+
+
+
+
+
+
+
+
+
+
+
+

EQUIPO

+
+ +
+
+
+
+
+
+
+
+
+
+

MAGIA / PODERES

+
+
+

VENTAJAS

+
+
+
+
+
+
+
+
+
+
+
+
PUNTOS DE PODER
+
+
+
+
+
+
 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

DINERO

+
+
+

+
+
+
+
+
+
+
+
+
+
+

EXPERIENCIA

+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + diff --git a/RyF (Rapido y Facil)/ryf.png b/RyF (Rapido y Facil)/ryf.png new file mode 100644 index 0000000000..67c0b953ed Binary files /dev/null and b/RyF (Rapido y Facil)/ryf.png differ diff --git a/RyF (Rapido y Facil)/sheet.json b/RyF (Rapido y Facil)/sheet.json new file mode 100644 index 0000000000..421b3b8eb6 --- /dev/null +++ b/RyF (Rapido y Facil)/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "ryf.html", + "css": "ryf.css", + "authors": "kinower", + "roll20userid": "8242830", + "instructions": "", + "preview": "ryf.png", + "legacy": true +} \ No newline at end of file diff --git a/Shadowrun Sixth World/translations/es.json b/Shadowrun Sixth World/translations/es.json index cce97bd2ba..e29e9a3ef5 100644 --- a/Shadowrun Sixth World/translations/es.json +++ b/Shadowrun Sixth World/translations/es.json @@ -1,39 +1,39 @@ { "a": "A", "acc": "ACC", - "accel": "Accel", - "acceleration": "Acceleration", - "acid": "Acid", - "acidprotection": "Acid Protection", - "act": "Act", - "actions": "Actions (AC)", - "active": "Active", - "activeprogramslots": "Active Program Slots", - "addedgetodicepool": "Add Edge to dice pool and make 6's explode", - "adept": "Adept", - "adeptpowers": "Adept Powers", - "age": "Age", - "agility": "Agility", - "air": "Air", - "alchemy": "Alchemy", - "alphaware": "Alphaware", - "ammo": "Ammo", + "accel": "Acelerar", + "acceleration": "Aceleración", + "acid": "Ácido", + "acidprotection": "Protección del ácido", + "act": "Interpretar", + "actions": "Acciones (AC)", + "active": "Activo", + "activeprogramslots": "Ranuras de programas activos", + "addedgetodicepool": "Agregue Edge al grupo de dados y haga explotar 6", + "adept": "Adepto", + "adeptpowers": "Poderes adeptos", + "age": "Edad", + "agility": "Agilidad", + "air": "Aire", + "alchemy": "Alquimia", + "alphaware": "Alfaware", + "ammo": "Munición", "ap": "AP", "ar": "AR", - "archetype": "Archetype", - "armor": "Armor", - "armorrating": "Armor Rating", - "arms": "Arms", - "assensing": "Assensing", - "astralini": "Astral Init", - "astralinitiative": "Astral Initiative", - "astralinitiativedice": "Astral Initiative Dice", + "archetype": "Arquetipo", + "armor": "Armadura", + "armorrating": "Nivel de Armadura", + "arms": "Armas", + "assensing": "Evaluando", + "astralini": "Iniciación astral", + "astralinitiative": "Tirada de iniciativa", + "astralinitiativedice": "Dados de Iniciativa Astral", "astral": "Astral", - "athletics": "Athletics", - "attack": "Attack", - "attacks": "Attacks", - "attackrating": "Attack Rating", - "attribute": "Attribute", + "athletics": "Atletismo", + "attack": "Ataque", + "attacks": "Ataques", + "attackrating": "Puntuación de ataque", + "attribute": "Atributo", "attributearray": "Attribute Array", "attributes": "Attributes", "atv": "Atv", diff --git a/Shadowrun5th/Shadowrun5th.css b/Shadowrun5th/Shadowrun5th.css index b5266ac15b..b6af1b076a 100644 --- a/Shadowrun5th/Shadowrun5th.css +++ b/Shadowrun5th/Shadowrun5th.css @@ -1776,6 +1776,7 @@ div.collapsible { .sheet-rolltemplate-reactsoak table, .sheet-rolltemplate-hitsToDrain table, .sheet-rolltemplate-extendedRoll table, +.sheet-rolltemplate-shadowrun-forcedglitch table, .sheet-rolltemplate-shadowrun table{ background-color:#111111; border:4px solid #550000; @@ -1790,6 +1791,7 @@ div.collapsible { .sheet-rolltemplate-reactsoak img, .sheet-rolltemplate-hitsToDrain img, .sheet-rolltemplate-extendedRoll img, +.sheet-rolltemplate-shadowrun-forcedglitch img, .sheet-rolltemplate-shadowrun img{ float:left; width:auto; @@ -1800,6 +1802,7 @@ div.collapsible { .sheet-rolltemplate-reactsoak table th, .sheet-rolltemplate-hitsToDrain table th, .sheet-rolltemplate-extendedRoll table th, +.sheet-rolltemplate-shadowrun-forcedglitch table th, .sheet-rolltemplate-shadowrun table th{ background-color:#444444; text-align:center; @@ -1812,6 +1815,7 @@ div.collapsible { .sheet-rolltemplate-reactsoak table .inlinerollresult, .sheet-rolltemplate-hitsToDrain table .inlinerollresult, .sheet-rolltemplate-extendedRoll table .inlinerollresult, +.sheet-rolltemplate-shadowrun-forcedglitch table .inlinerollresult, .sheet-rolltemplate-shadowrun table .inlinerollresult{ border:none !important; background-color:inherit; diff --git a/Shadowrun5th/Shadowrun5th.html b/Shadowrun5th/Shadowrun5th.html index 5836cc193f..d357781caf 100644 --- a/Shadowrun5th/Shadowrun5th.html +++ b/Shadowrun5th/Shadowrun5th.html @@ -16817,7 +16817,7 @@ const rollDogableAttack = async (rollPart, dmgType) => { if(amount > attackRoll.results.result.dice.length/2) { glitchComputed = 1; - if(attackRoll.results.result.dice.filter(x => x >= 5).length == 0) { + if(attackRoll.results.result.result == 0) { glitchComputed = 2; } } @@ -17856,4 +17856,215 @@ const asw = (() => { {{/^rollGreater() computed::dmgTaken 0}} {{/dmgTaken}} + + + + + + + + {{#subheader}} + + + + + + + {{/subheader}} + + + + + + + {{#val1}} + + + + {{/val1}} + {{#val2}} + + + + {{/val2}} + {{#val3}} + {{#^rollTotal() val3_num 0}} + + + + {{/^rollTotal() val3_num 0}} + {{/val3}} + {{#val4}} + {{#^rollTotal() val4_num 0}} + + + + {{/^rollTotal() val4_num 0}} + {{/val4}} + {{#val5}} + {{#^rollTotal() val5_num 0}} + + + + {{/^rollTotal() val5_num 0}} + {{/val5}} + {{#val6}} + {{#^rollTotal() val6_num 0}} + + + + {{/^rollTotal() val6_num 0}} + {{/val6}} + {{#val7}} + {{#^rollTotal() val7_num 0}} + + + + {{/^rollTotal() val7_num 0}} + {{/val7}} + {{#val8}} + {{#^rollTotal() val8_num 0}} + + + + {{/^rollTotal() val8_num 0}} + {{/val8}} + {{#mod_num}} + {{#^rollTotal() mod_num 0}} + + + + {{/^rollTotal() mod_num 0}} + {{/mod_num}} + {{#sustainedspells}} + {{#^rollTotal() sustainedspells 0}} + + + + {{/^rollTotal() sustainedspells 0}} + {{/sustainedspells}} + {{#wounds_num}} + {{#^rollTotal() wounds_num 0}} + + + + {{/^rollTotal() wounds_num 0}} + {{/wounds_num}} + {{#edge}} + + + + + + + + + + {{/edge}} + {{^edge}} + {{#limit}} + + + + + + + + + + {{#limit_mod}} + {{#^rollTotal() limit_mod 0}} + + + + {{/^rollTotal() limit_mod 0}} + {{/limit_mod}} + {{/limit}} + {{/edge}} + {{#result}} + + + + + + + + + + + + + + + + {{/result}} + + {{#after1}} + + + + {{/after1}} + {{#drain}} + + + + {{/drain}} + {{#after2}} + + + + {{/after2}} + {{#after3}} + + + + {{/after3}} + {{#description}} + + + + + + + + + + {{/description}} +
+ {{#name}}{{name}} rolls{{#roll_name}} {{roll_name}}{{/roll_name}}{{/name}}
+
+
+
{{subheader}}
+
+
+
+
Dicepool
+
> {{val1}}({{val1_num}})
> {{val2}}({{val2_num}})
> {{val3}}({{val3_num}})
> {{val4}}({{val4_num}})
> {{val5}}({{val5_num}})
> {{val6}}({{val6_num}})
> {{val7}}({{val7_num}})
> {{val8}}({{val8_num}})
> Modifiers({{mod_num}})
> Sustained spells({{sustainedspells}})
> Woundpenalty({{wounds_num}})
+
+
+
Edge
+
+
> Edge({{edge_num}})
+
+
+
+
Limit
+
+
> {{limit}}({{limit_num}})
+
+
> Modifiers({{limit_mod}})
+
+
+
+
Result
+
{{result}} Successes
+
+
Critical Glitch!
{{after1}}({{after1_num}}{{#after1dmg}}{{after1dmg}}{{/after1dmg}})
Incoming {{drain}}({{#rollGreater() drain_num 1}}{{drain_num}}{{/rollGreater() drain_num 1}}{{#rollLess() drain_num 2}}2{{/rollLess() drain_num 2}}{{#spiritdrain}}{{after1_num}}* 2{{/spiritdrain}})
{{after2}}({{after2_num}})
{{after3}}({{after3_num}})
+
+
+
Description
+
+
{{description}}
+
+
\ No newline at end of file diff --git a/Shadowrun6th-German/package-lock.json b/Shadowrun6th-German/package-lock.json index f2a9e4264a..216efcbca4 100644 --- a/Shadowrun6th-German/package-lock.json +++ b/Shadowrun6th-German/package-lock.json @@ -2,55 +2,68 @@ "requires": true, "lockfileVersion": 1, "dependencies": { + "a-sync-waterfall": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz", + "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==" + }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, "async": { - "version": "0.9.2", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", + "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==" }, "concat-map": { "version": "0.0.1", @@ -58,56 +71,82 @@ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "ejs": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz", - "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.7.tgz", + "integrity": "sha512-BIar7R6abbUxDA3bfXrO4DSgwo8I+fB5/1zgujl3HLLjwd6+9iOnrT+t3grn2qbk9vOgBubXOFwX2m9axoFaGw==", "requires": { - "jake": "^10.6.1" + "jake": "^10.8.5" } }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, "filelist": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", - "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "requires": { - "minimatch": "^3.0.4" + "minimatch": "^5.0.1" + }, + "dependencies": { + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "jake": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", - "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==", + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", "requires": { - "async": "0.9.x", - "chalk": "^2.4.2", + "async": "^3.2.3", + "chalk": "^4.0.2", "filelist": "^1.0.1", "minimatch": "^3.0.4" } }, "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "requires": { "brace-expansion": "^1.1.7" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + } + } + }, + "nunjucks": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.3.tgz", + "integrity": "sha512-psb6xjLj47+fE76JdZwskvwG4MYsQKXUtMsPh6U0YMvmyjRtKRFcxnlXGWglNybtNTNVmGdp94K62/+NjF5FDQ==", + "requires": { + "a-sync-waterfall": "^1.0.0", + "asap": "^2.0.3", + "commander": "^5.1.0" } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } } } diff --git a/Shadowrun6th-German/package.json b/Shadowrun6th-German/package.json index 7e73d612a4..901d54106a 100644 --- a/Shadowrun6th-German/package.json +++ b/Shadowrun6th-German/package.json @@ -1,7 +1,7 @@ { "type": "module", "dependencies": { - "ejs": "^3.1.6", + "ejs": "^3.1.7", "nunjucks": "^3.2.3" } } diff --git a/Shadowrun6th-German/translations/en.json b/Shadowrun6th-German/translations/en.json index 9975fd5892..5c56d23482 100644 --- a/Shadowrun6th-German/translations/en.json +++ b/Shadowrun6th-German/translations/en.json @@ -41,13 +41,13 @@ "6K": "6K", "7B": "7B", "7K": "7K", - "act_banishing": "Verbannung eines Geistes", + "act_banishing": "Banishing spirits", "act_focus": "Focus", - "act_ritual": "Ritualhandlung durchführen", + "act_ritual": "Ritual spellcasting", "act_spellcasting": "Wirken eines Zaubers", - "act_spirit": "Handlung eines Geistes", - "act_summoning": "Herbeirufung eines Geistes", - "action": "Handlung", + "act_spirit": "Spirit action", + "act_summoning": "Summon spirit", + "action": "Action", "active": "Aktiviert", "addgenericrolls": "Generische Würfel hinzufügen", "adept_description": "Kurzbeschreibung", diff --git a/Sig City of Blades/translations/fr.json b/Sig City of Blades/translations/fr.json index 18bc8979c4..087e096bf7 100644 --- a/Sig City of Blades/translations/fr.json +++ b/Sig City of Blades/translations/fr.json @@ -1,483 +1,483 @@ { - "+major": "+Major", - "+minor": "+Minor", - "+moderate": "+Moderate", - "advance_description": "Advance Description", - "advance_name": "Advance Name", - "advances": "Advances", - "alignment": "Alignment", - "apathy": "Apathy", - "burnout": "Burnout", - "claims": "Claims", - "choosesheetcopy": "Select if this will be a single Freebooter Sheet or a Crew Sheet", - "consumed": "Consumed", + "+major": "Conséquences Graves", + "+minor": "Conséquences Mineures", + "+moderate": "Conséquences Modérées", + "advance_description": "Description de l'Amélioration", + "advance_name": "Nom de l'Amélioration", + "advances": "Améliorations", + "alignment": "Alignement", + "apathy": "Apathie", + "burnout": "Séquelle", + "claims": "Domaines", + "choosesheetcopy": "Choisissez s'il s'agit de la fiche d'un Matois ou d'une Bande", + "consumed": "Consumé", "contacts": "Contacts", - "crew": "Crew", - "dead": "Dead", - "drive": "Drive", - "eliminated": "Eliminated", - "entername": "Enter your Name and Title", - "enteralignment": "Enter your Alignment", - "enterrelationships": "Enter your Relationships", - "fatigue": "Fatigue", - "forgotten": "Forgotten", - "fortune roll": "Fortune Roll", - "freebooterorcrew": "Freebooter or Crew", - "freebootersheet": "Freebooter Sheet", - "crewsheet": "Crew Sheet", + "crew": "Bande", + "dead": "Mort", + "drive": "Pulsion", + "eliminated": "Élimination", + "entername": "Entrez votre nom et titre", + "enteralignment": "Entrez votre alignement", + "enterrelationships": "Entrez vos relations", + "fatigue": "Épuisement", + "forgotten": "Oublié·e", + "fortune roll": "Jet de chance", + "freebooterorcrew": "Matois ou Bande", + "freebootersheet": "Feuille de Matois", + "crewsheet": "Feuille de Bande", "faction": "Faction", - "freebooter": "Freebooter", - "gear": "Gear", - "harm": "Harm", - "healthy": "Healthy", - "heavy": "Heavy", - "incapacitated": "Incapacitated", - "insight": "Insight", - "infamy": "Infamy", + "freebooter": "Matois", + "gear": "Équipement", + "harm": "Blessure", + "healthy": "Indemne", + "heavy": "Lourde", + "incapacitated": "Invalide", + "insight": "Perspicacité", + "infamy": "Renom", "isolation": "Isolation", - "light": "Light", - "loadout": "Loadout", - "lost": "Lost", - "medium": "Medium", - "name": "Name", - "noactions": "No Actions", - "nopenalty": "No Penalty", - "overloaded": "Overloaded", - "purse": "Purse", - "preparation roll": "Preparation Roll", - "prowess": "Prowess", - "reducedeffect": "Reduced Effect", - "relationships": "Relationships", - "relaxed": "Relaxed", - "resolve": "Resolve", - "reveal": "Reveal", - "selectcrew": "Select a Crew", - "stash": "Stash", + "light": "Légère", + "loadout": "Charge", + "lost": "Perdu·e", + "medium": "Intermédiaire", + "name": "Nom", + "noactions": "Pas d'action", + "nopenalty": "Pas de pénalité", + "overloaded": "Surchargé·e", + "purse": "Bourse", + "preparation roll": "Jet d'Engagement", + "prowess": "Prouesse", + "reducedeffect": "Effet réduit", + "relationships": "Liens", + "relaxed": "Détendu·e", + "resolve": "Détermination", + "reveal": "Révéler", + "selectcrew": "Choisir une Bande", + "stash": "Réserve", "stress": "Stress", - "study": "Study", - "survey": "Survey", - "tense": "Tense", - "tinker": "Tinker", - "treasury": "Treasury", + "study": "Étudier", + "survey": "Surveiller", + "tense": "Crispé", + "tinker": "Bricoler", + "treasury": "Trésor", "vice": "Vice", - "wounded": "Wounded", - "finesse": "Finesse", - "maneuver": "Maneuver", - "skirmish": "Skirmish", - "who serve": "Who Serve", - "wreck": "Wreck", - "channel": "Channel", - "command": "Command", - "consort": "Consort", - "sway": "Sway", - "turf": "Turf", - "hideout": "Hideout", - "workshop": "Workshop", - "selectculture": "Select a Culture", - "truthbearer": "Truthbearer Culture", - "truthdrive": "Proclaim a Divine Mandate", - "windborne": "Windbourne", - "windbornedesc": "You are able to fly with effortless grace, moving at great speed. Without this advance, your flight is clumsy and slow..", - "untouchable": "Untouchable", - "untouchabledesc": "Your inhuman grace impresses those around you and earn you the benefit of the doubt. You receive an additional die to resist any Fallout.", - "keeper": "Keeper Culture", - "keeperdrive": "Share Ancient Lore", - "forgottenrites": "Forgotten Rites", - "forgottenritesdesc": "You have been practicing sorcery longer than many of the Gods have lived. You can Study to discover or create an arcane ritual to summon planar energies or beings.", - "willofthecrystal": "Will of the Crystal", - "willofthecrystaldesc": "Your long years of research and scholarship have hardened your will. Gain a die when you resist with Resolve.", - "kinbound": "Kinbound Culture", - "kinbounddrive": "Support your Kin", - "familyties": "Family Ties", - "familytiesdesc": "You have a large family that you can call on to assist during a hunt. You may spend 1 Coin to hire your kin to assist you, granting additional effect on all Command or Survey rolls during the next job.", - "trustinme": "Trust in Me", - "trustinmedesc": "Your natural charisma grants you the power to manipulate and harm those closest to you. You may transfer Stress between yourself and anyone you have an intimate Relationship with.", - "anarch": "Anarch Culture", - "anarchdrive": "Break the Rules", - "blackblock": "Black Block", - "blackblockdesc": "No justice, no peace. Anarchs of the black block have mastered the skill of destruction and violence, gain additional effect on any Skirmish, Wreck, or Command roll in the presence of a mob.", - "communityorganizer": "Community Organizer", - "communityorganizerdesc": "You have learned how to call for communal action. On a successful Channel roll, you can assemble a crowd of protestors, trigger a demonstration, or start a riot.", - "scoundrel": "Scoundrel Culture", - "scoundreldrive": "Take Reckless Gambles", - "pokerface": "Poker Face", - "pokerfacedesc": "You have mastered the skill of concealing your true feelings. Gain Armour vs. detecting your motivations or emotions.", - "friendsinlow": "Friends in Low Places", - "friendsinlowdesc": "Gain an additional die when you Consort to gather information on a target for a mission.", - "fireheart": "Fireheart Culture", - "fireheartdrive": "Unleash your Passion", - "burninghands": "Burning Hands", - "burninghandsdesc": "Your heartbond to the Elemental Plane of Fire grants you access to pyrokinetic magics. Your hands and feet can ignite on command, giving you additional effect on any Skirmish orWreck rolls.", - "endlesspassion": "Enless Passion", - "endlesspassiondesc": "Your passion regularly drives you to incredible and dangerous risks. You gain an additional die on any roll involving one of your Relationships.", - "caretaker": "Caretaker Culture", - "caretakerdrive": "Care for the Vulnerable", - "healerofbodies": "Healer of Bodies", - "healerofbodiesdesc": "You may make a preparation roll to Study your crew and their injuries, removing Harm depending on the result; 4/5: one segment, 6: two segments, critical: three segments.", - "leaderofhearts": "Leader of Hearts", - "leaderofheartsdesc": "Whenever there is a disagreement on what decision should be made, those around you naturally defer to your judgement unless they resist with their Resolve.", - "innovator": "Innovator Culture", - "innovatordrive": "Perform Daring Experiments", - "alchemicaldistiller": "Alchemical Distiller", - "alchemicaldistillerdesc": "You are a master of the alchemical sciences, and your skills far surpass most other mortals. Gain additional effect whenever you use Tinker to create alchemical mixtures or potions.", - "demolisher": "Demolisher", - "demolisherdesc": "You are are a master of property damage and arson. You can gain additional effect when you Wreck a structure using alchemy or mechanical experimentation.", - "courtier": "Courtier Culture", - "courtierdrive": "Seek Valuable Secrets", - "courtspy": "Court Spy", - "courtspydesc": "In truth, you are one of the finest spies and thieves from your fallen homeland. Your skills as an infiltrator means you are not affected by quality or Tier when you bypass security.", - "harmlesshedonist": "Harmless Hedonist", - "harmlesshedonistdesc": "You may spend 1 Coin to throw a lavish party during your next mission. Gain additional effect on all Consort or Sway rolls during that mission.", - "caskclad": "Caskclad Culture", - "caskcladdrive": "Drown your Regrets", - "loyalpatron": "Loyal Patron", - "loyalpatrondesc": "No matter how you have fallen, theGodling of Revelry still believes in you. You automatically succeed on all Consort rolls within the Isle of Spirits, as you know drinking establishments like the back of your hand.", - "drunkenwarrior": "Drunken Warrior", - "drunkenwarriordesc": "Unlike most folk, alcohol keeps you fit. You may spend 1 Coin for enough booze to keep you well lubricated for the next mission. Gain an extra die for all resistance rolls during that mission.", - "selectlineage": "Select a Lineage", - "devahil": "Devahil Lineage", - "devahildrive": "Twist Loyalties", - "memoryfog": "Memory Fog", - "memoryfogdesc": "You are so skilled in manipulation that others don’t even realize you were involved. When you Sway, you can make them forget that it happened until you interact with them next.", - "likelookingmirror": "Like Looking in a Mirror", - "likelookingmirrordesc": "You can always tell when someone is lying to you, though the truth may still evade your detection.", - "aesigilar": "Aesigilar Lineage", - "aesigilardrive": "Secure a New Host", - "hostswap": "Host Swap", - "hostswapdesc": "The Aesigilar intelligence is quite capable of changing hosts. You are able to change host bodies quickly, requiring only minutes. Without this advance, it takes you days to change hosts.", - "patternsoffate": "Patterns of Fate", - "patternsoffatedesc": "Your kind have an intuitive sense of the cosmic order and are capable of predicting ouʨomes based on limited knowledge. You may trigger two flashbacks per mission with no stress cost.", - "revenant": "Revenant Lineage", - "revenantdrive": "Avenge your Death", - "speakerforthedead": "Speaker for the Dead", - "speakerforthedeaddesc": "As one who has returned from the lands of the dead, you may speak to others of your kind. You may Command, Consort, or Sway the dead.", - "thatwhichisdead": "That Which is Dead", - "thatwhichisdeaddesc": "Your undead flesh is resilient to harm and you feel no pain from blows that would cripple the living. Gain Armour vs. physcial harm.", - "gnomish": "Gnomish Lineage", - "gnomishdrive": "Cultivate Beauty and Splendour", - "phantasmalraiment": "Phantasmal Raiment", - "phantasmalraimentdesc": "You may conjure an illusion of any piece of equipment you may bear. It cannot physically affect the environment or an individual, though observers may be convinced it has done so.", - "artificer": "Artificer", - "artificerdesc": "The Gnomish culture revolves around craftwork and the arts, which leads them to earn great respect. Gain additional effect when creating or modifying objects.", - "giant": "Giant Lineage", - "giantdrive": "Adopt Heavy Burdens", - "childofatlas": "Child of Atlas", - "childofatlasdesc": "Your broad back and enormous shoulders allow you to carry two more load on any missions.", - "unstoppablemight": "Unstoppable Might", - "unstoppablemightdesc": "You can push yourself, gaining two Stress, to perform an act of stunning physical force or resilience that rivals the gods.", - "wyrm": "Wyrm Lineage", - "wyrmdrive": "Defend your Territory", - "scalesofbattle": "Scales of Battle", - "scalesofbattledesc": "You are covered with thick scales which can turn a sword’s blow. You naturally have one (Armour vs. Skirmish) which doesn’t contribute to your load.", - "auraofmenace": "Aura of Menace", - "auraofmenacedesc": "Your cruel countenance brings terror and obedience. Gain an additional effect when you Command the frightened or the vulnerable.", - "polari": "Polari Lineage", - "polaridrive": "Succumb to Weariness", - "starlightsword": "Starlight Sword", - "starlightsworddesc": "Each of the Polari have been granted a sword of light by their fallen queen. You may conjure a weightless blade of frozen starlight with additional effect in battle.", - "zealousreflexes": "Zealous Reflexes", - "zealousreflexesdesc": "Your martial training as one of the Polari has given you a zealous initiative. When there's a question about who acts first, the answer is you.", - "ancestral": "Ancestral Lineage", - "ancestraldrive": "Guide those Without Hope", - "cladinlightning": "Clad in Lightning", - "cladinlightningdesc": "As a trained sacred warrior, your spirit is bound to additional items which you may access at will without load: a Lighting Spear (+ smiting) and Spirit Plate (Armour vs. spirits).", - "guardianoath": "Guardian Oath", - "guardianoathdesc": "You have sworn an unbreakable oath in the pursuit of ultimate justice. When you defend another from violence, gain additional effect.", - "sylvan": "Sylvan Lineage", - "sylvandrive": "Spread Your Seed", - "verdantregeneration": "Verdant Regeneration", - "verdantregenerationdesc": "As one bound to the Conceptual Plane of Life, your body regenerates at frightful speed. You automatically heal one segment on your harm track during downtime.", - "familytree": "Family Tree", - "familytreedesc": "As one of the more animated Sylva, you may rouse your kin. Command, Consort, or Sway the trees, as well as animating them on a successful roll.", - "waterborn": "Waterborn Lineage", - "waterborndrive": "Break Every Chain", - "waterbender": "Waterbender", - "waterbenderdesc": "Saltwater flows through your veins, and the tides whisper to you in your dreams. You may make a Channel roll to manipulate it any fresh or saltwater according to your will.", - "purewaters": "Pure Waters", - "purewatersdesc": "Your bond to the Elemental Plane of Water constantly refreshes your body with endless power. You gain Armour vs. exhaustion, weakness, or chemical effects.", - "selectdevotion": "Select a Devotion", - "ferrelux": "Devotion to Ferrelux", - "ferreluxdrive": "Spread Vicious Rumours", - "rumourmonger": "Rumour-Monger", - "rumourmongerdesc": "Ferrelux grants you the power to spread gossip and rumours. On a successful Channel roll, you implant a rumour in someone's mind, which they remember as someone saying to them 'just the other day'.", - "rebelseye": "Rebel’s Eye", - "rebelseyedesc": "You can see discontent and internal strife with great skill. Add a die for any Reveal roll to establish internal disagreements in a group.", - "magdak": "Devotion to Magdak", - "magdakdrive": "Serve the City of Blades", - "sleeplessservant": "Sleepless Servant", - "sleeplessservantdesc": "Magdak’s noble service stands resolute, resisting the weaknesses of mortal flesh. While you may be weary, you never need to sleep and cannot be rendered unconscious.", - "patternsight": "Pattern Sight", - "patternsightdesc": "Your service to Magdak forges links to the Divine Pattern of the Plane of Order. On a successful Reveal roll you can establish the connections between people, things, or events.", - "aludra": "Devotion to Aludra", - "aludradrive": "Mourn the Fallen", - "eternaltears": "Eternal Tears", - "eternaltearsdesc": "Aludra grants you the ability to place an item or a person in stasis, outside the flow of time and unchanging. You must succeed on a Channel roll to do so.", - "memorypalace": "Memory Palace", - "memorypalacedesc": "You have an eidetic memory and will automatically recall any fact or experience you have encountered while in service to Aludra.", - "kestranna": "Devotion to Kestranna", - "kestrannadrive": "Reap the Weak", - "kestrsbounty": "Kestr’s Bounty", - "kestrsbountydesc": "The BountifulAspect of your goddess gives you feasts and plenty. When you retire, consider your Stash to be one level higher than your Coin would indicate.", - "rannasharvest": "Ranna’s Harvest", - "rannasharvestdesc": "The Reaper aspect of your goddess allows you to cull the young, the old, the weak, and the ill. Gain additional effect on any Survey or Skirmish rolls against vulnerable targets.", - "nyx": "Devotion to Nyx", - "nyxdrive": "Follow Your Dreams", - "deeplistener": "Deep Listener", - "deeplistenerdesc": "You can close your eyes and open your mind to the eternal dream. On a successful Channel roll, you can ask a player or the GMwhat a character would like most in the world.", - "dreamwalker": "Dreamwalker", - "dreamwalkerdesc": "You may travel into someone's dreamscape and interact with them. You may Sway them through dream-logic, insert subconscious Commands, Wreck their rest with a nightmare, or Tinker with their memory.", - "morkanah": "Devotion to Morkanah", - "morkanahdrive": "Shelter the Vulnerable", - "morkanahslove": "Morkanah’s Love", - "morkanahslovedesc": "Morkanah loves the fragile children of clay and flesh, protecting those who need it. Anyone who touches you has their flesh turn to living stone, granting them armour vs. all physical harm.", - "shelteringstone": "Sheltering Stone", - "shelteringstonedesc": "As the Primordial of Stone, Morkanah is bound to the rock and soil. As one of their servitors, you may Channel in order to shape stone like a sculptor does clay.", - "eaterofworlds": "Devotion to Eater-of-Worlds", - "eaterofworldsdrive": "Sacrifice the Mighty", - "fathershunger": "Father’s Hunger", - "fathershungerdesc": "On a successful Channel roll, you can infect someone with the ravenous hunger which shall only be temporarily satisfied once they consume the flesh of another mortal, spreading this curse.", + "wounded": "Blessé", + "finesse": "Manier", + "maneuver": "Manœuvrer", + "skirmish": "Combattre", + "who serve": "Affiliation", + "wreck": "Démolir", + "channel": "Canaliser", + "command": "Commander", + "consort": "Côtoyer", + "sway": "Influencer", + "turf": "Territoire", + "hideout": "Cachette", + "workshop": "Atelier", + "selectculture": "Choisir une Culture", + "truthbearer": "Culture Porteuse de Vérité", + "truthdrive": "Proclamez un décret divin.", + "windborne": "Porté par le vent", + "windbornedesc": "Vous êtes capable de voler sans effort avec grâce, vous déplaçant à grande vitesse. Sans cette amélioration, votre vol est lent et maladroit.\n", + "untouchable": "Intouchable", + "untouchabledesc": "Votre grâce surhumaine impressionne ceux qui vous entourent, vous valant le bénéfice du doute. Vous jetez un dé supplémentaire pour résister à n’importe quelle retombée.", + "keeper": "Culture Conservatrice", + "keeperdrive": "Partagez des connaissances anciennes.", + "forgottenrites": "Rites oubliés", + "forgottenritesdesc": "Vous pratiquez une sorcellerie plus ancienne que la plupart des dieux. Vous pouvez étudier pour découvrir ou créer un rituel magique pour invoquer des énergies ou des entités planaires.", + "willofthecrystal": "Volonté du Cristal", + "willofthecrystaldesc": "Vos longues années de recherche et d’étude ont endurci votre volonté. Vous jetez un dé supplémentaire quand vous résistez avec détermination.", + "kinbound": "Culture Tribale", + "kinbounddrive": "Soutenez vos proches.", + "familyties": "Liens familiaux", + "familytiesdesc": "Vous appartenez à une grande famille à laquelle vous pouvez faire appel lors d’une traque. Vous pouvez dépenser une pièce pour engager vos proches pour vous aider, ce qui vous fait bénéficier d’un niveau d’effet supplémentaire sur tous les jets de commander ou de surveiller lors de la prochaine mission.", + "trustinme": "Aie confiance", + "trustinmedesc": "Votre charisme inné vous donne le pouvoir de manipuler vos proches et de leur nuire. Vous pouvez transférer le stress entre vous et toute personne avec laquelle vous entretenez une relation intime. Dans le cas d’un PNJ, lui donner du stress le rendra émotionnellement instable et lui causera des problèmes, tandis que lui en prendre le calmera et lui facilitera la vie.", + "anarch": "Culture Anar", + "anarchdrive": "Enfreignez les règles.", + "blackblock": "Action directe", + "blackblockdesc": "Pas de justice, pas de paix ! Vous êtes passé maître dans l’art de la destruction et de la violence. Vous bénéficiez d’un niveau d’effet supplémentaire sur tous les jets de combattre, de commander ou de démolir en présence d’une foule.", + "communityorganizer": "Action collective", + "communityorganizerdesc": "Vous savez faire appel aux actions de masse. Sur un jet de canaliser réussi, vous rassemblez une foule de manifestants ou déclenchez une émeute.", + "scoundrel": "Culture Scélérate", + "scoundreldrive": "Jouez avec la fortune des autres.", + "pokerface": "Visage impassible", + "pokerfacedesc": "Vous avez maîtrisé l’art de dissimuler vos véritables sentiments. Vous bénéficiez d’une armure contre la détection des motivations ou des émotions.", + "friendsinlow": "Amis des bas-fonds", + "friendsinlowdesc": "Vous jetez un dé supplémentaire lorsque vous côtoyez pour recueillir des informations sur une cible pour une mission.", + "fireheart": "Culture Cœur Ardente", + "fireheartdrive": "Exprimez votre passion.", + "burninghands": "Mains brûlantes", + "burninghandsdesc": "Votre affinité avec le Plan élémentaire des Flammes vous octroie le don de pyrokinésie. Vos mains et vos pieds peuvent magiquement s’embraser sur commande, ce qui vous fait bénéficier d’un niveau d’effet supplémentaire sur tous les jets de combattre ou de démolir.", + "endlesspassion": "Passion infinie", + "endlesspassiondesc": "Votre passion vous pousse régulièrement à prendre des risques incroyables. Vous gagnez un dé supplémentaire sur tout jet impliquant l’une de vos relations.", + "caretaker": "Culture Aidante", + "caretakerdrive": "Occupez-vous des démunis.", + "healerofbodies": "Soigneur", + "healerofbodiesdesc": "Pendant des décennies, vous avez œuvré comme serviteur des arts de la guérison. Vous pouvez utiliser une activité de temps mort pour étudier la bande et ses blessures. Vous effacez un nombre de niveaux de blessures en fonction du résultat du jet de dé : un segment sur un 4/5, deux segments sur un 6, et trois segments sur un critique. Cette action peut également aider à soigner les membres de votre cohorte.", + "leaderofhearts": "Leader né", + "leaderofheartsdesc": " Vos aptitudes innées pour diriger vous ont amené à assumer des responsabilités. Les gens qui vous entourent suivent naturellement vos ordres, à moins qu’ils soient déraisonnables, auquel cas un jet de commander réussi est nécessaire pour les convaincre. Un matois peut toujours résister avec sa détermination.", + "innovator": "Culture Innovatrice", + "innovatordrive": "Réalisez des expériences audacieuses.", + "alchemicaldistiller": "Alchimiste distillateur", + "alchemicaldistillerdesc": "Vous êtes un maître des sciences alchimiques ; votre compétence dépasse de loin celle du commun des mortels. Vous bénéficiez d’un niveau d’effet supplémentaire quand vous bricolez pour créer des potions ou des remèdes alchimiques.", + "demolisher": "Destructeur", + "demolisherdesc": "Beaucoup de vos expériences ont eu des conséquences imprévues et ont causé d’importants dégâts matériels. Vous bénéficiez d’un niveau d’effet supplémentaire quand vous démolissez une structure en faisant des expérimentations alchimiques ou mécaniques.", + "courtier": "Culture Courtisane", + "courtierdrive": "Recherchez de précieux secrets.", + "courtspy": "Espion de cour", + "courtspydesc": "En vérité, vous comptez parmi les meilleurs espions et voleurs de votre patrie déchue. Vous n’êtes pas affecté par la qualité ou le rang de la sécurité que vous infiltrez ou contournez.", + "harmlesshedonist": "Hédoniste", + "harmlesshedonistdesc": "Vous pouvez dépenser 1 pièce pour organiser une fête somptueuse lors de votre prochaine mission. Vous bénéficiez d’un niveau d’effet supplémentaire sur tous les jets de côtoyer ou influencer pendant cette mission.", + "caskclad": "Culture Pocharde", + "caskcladdrive": "Noyez vos regrets.", + "loyalpatron": "Client régulier", + "loyalpatrondesc": "Vous avez peut-être perdu votre honneur, mais le dieu mineur des Bacchanales croit toujours en vous. Vous réussissez automatiquement tous les jets de côtoyer sur l’Île des Spiritueux, car vous connaissez les débits de boissons comme votre poche.", + "drunkenwarrior": "Guerrier ivre", + "drunkenwarriordesc": "Contrairement à la plupart des gens, l’alcool vous maintient en forme. Vous pouvez dépenser 1 pièce pour acheter suffisamment d’alcool pour la prochaine mission. Vous jetez un dé supplémentaire sur tous les jets de résistance pendant cette mission.", + "selectlineage": "Choisir une Origine", + "devahil": "Origine Devati", + "devahildrive": "Corrompez les loyautés.", + "memoryfog": "Mémoire embrumée", + "memoryfogdesc": "Vous êtes tellement habile à manipuler les autres qu’ils ne se rendent même pas compte de votre implication. Quand vous influencez, vous pouvez faire oublier à votre cible ce qui s’est passé jusqu’à votre prochaine interaction.", + "likelookingmirror": "Tel le reflet dans le miroir", + "likelookingmirrordesc": "Bien que la vérité puisse vous échapper, vous savez toujours quand quelqu’un vous ment.", + "aesigilar": "Origine Sigilwa", + "aesigilardrive": "Emparez-vous d’un nouvel hôte.", + "hostswap": "Changement d’hôte", + "hostswapdesc": "Les Sigilwa sont capables de changer d’hôte. Vous pouvez changer de corps rapidement, en quelques minutes seulement. Sans cette amélioration, il vous faut des jours pour en changer.", + "patternsoffate": "Lignes du Destin", + "patternsoffatedesc": "Votre espèce a un sens instinctif de l’ordre cosmique qui la rend capable de prédire l’issue d’une situation sur la base de connaissances limitées. Vous pouvez déclencher un flash-back sans payer de stress deux fois par mission.", + "revenant": "Origine Revenante", + "revenantdrive": "Vengez votre mort.", + "speakerforthedead": "Parler avec les morts", + "speakerforthedeaddesc": "Pour être revenu des sombres demeures, vous avez le don de parler aux morts. Vous pouvez commander, côtoyer ou influencer les morts.", + "thatwhichisdead": "Ce qui est mort", + "thatwhichisdeaddesc": "Votre chair de mort-vivant est résistante aux blessures et vous ne ressentez pas la douleur. Vous bénéficiez d’une armure naturelle contre les dégâts physiques. ", + "gnomish": "Origine Gnomique", + "gnomishdrive": "Cultivez la beauté et la splendeur.", + "phantasmalraiment": "Paré d’illusions", + "phantasmalraimentdesc": "Vous pouvez invoquer une illusion de n’importe quel équipement que vous pouvez porter. Elle ne peut pas affecter physiquement l’environnement ou un individu, mais des observateurs peuvent être convaincus du contraire.", + "artificer": "Artificier", + "artificerdesc": "La culture gnomique tourne autour de l’artisanat et des arts. Vous bénéficiez d’un effet supplémentaire quand vous créez ou modifiez des objets.", + "giant": "Origine Géante", + "giantdrive": "Portez de lourds fardeaux.", + "childofatlas": "Enfant d’Atlas", + "childofatlasdesc": " Votre large carrure et votre puissant dos vous permettent de porter deux charges supplémentaires lors des missions.", + "unstoppablemight": "Puissance inarrêtable", + "unstoppablemightdesc": "Vous pouvez vous dépasser pour accomplir un acte stupéfiant qui rivalise avec les dieux, à la condition qu’il soit en lien avec la force physique ou la robustesse.\n", + "wyrm": "Origine Drake", + "wyrmdrive": "Défendez votre territoire.", + "scalesofbattle": "Armure d’écailles", + "scalesofbattledesc": "Vous êtes couvert d’écailles épaisses qui peuvent absorber un coup d’épée. Une armure naturelle vous protège des dégâts physiques ; elle ne coûte aucune charge.", + "auraofmenace": "Aura menaçante", + "auraofmenacedesc": "Votre visage cruel inspire la terreur et l’obéissance. Quand vous commandez des personnes effrayées ou vulnérables, vous bénéficiez d’un niveau d’effet supplémentaire.", + "polari": "Origine Polari", + "polaridrive": "Succombez à la Lassitude.", + "starlightsword": "Épée de lueur d’étoile", + "starlightsworddesc": "Chaque Polari a reçu une épée de lumière de sa reine disparue. Vous pouvez conjurer une lame de lumière stellaire gelée extrêmement légère. Vous bénéficiez d’un niveau d’effet supplémentaire en combat.", + "zealousreflexes": "Réflexes fulgurants", + "zealousreflexesdesc": "Les Polari suivent un entraînement martial qui leur confère des réflexes affûtés. Vous agissez toujours en premier quand il est question d’initiative.", + "ancestral": "Origine Ancestrale", + "ancestraldrive": "Guidez les désespérés.", + "cladinlightning": "Enveloppé d’éclairs", + "cladinlightningdesc": "En tant que guerrier sacré, vous êtes lié à des objets supplémentaires qui ne réclament aucune charge. Vous avez ainsi accès à une Lance de Foudre (+châtiment) et une Armure spirituelle (armure contre les esprits).", + "guardianoath": "Serment de Défenseur", + "guardianoathdesc": "Vous avez prêté un serment irrévocable en quête de justice absolue. Quand vous protégez quelqu’un contre une forme de violence, vous bénéficiez d’un niveau d’effet supplémentaire.", + "sylvan": "Origine Sylvaine", + "sylvandrive": "Répandez vos Graines.", + "verdantregeneration": "Régénération verdoyante", + "verdantregenerationdesc": "Vous êtes lié au Plan conceptuel de la Vie et votre corps se régénère à une vitesse stupéfiante. Vous guérissez automatiquement un segment de votre jauge de blessure pendant les temps morts.", + "familytree": "Arbre généalogique", + "familytreedesc": "Vous comptez parmi les Sylvains les plus actifs, vous êtes capable de réveiller vos pairs. Vous pouvez commander, côtoyer ou influencer les arbres, et même les animer si vous réussissez votre jet.", + "waterborn": "Origine Amphibienne", + "waterborndrive": "Brisez les chaînes.", + "waterbender": "Maître de l’eau", + "waterbenderdesc": "L’eau salée coule dans vos veines, et les vagues susurrent dans vos rêves. Vous pouvez canaliser afin de manipuler par votre seule volonté l’eau, qu’elle soit salée ou douce.", + "purewaters": "Eau pure", + "purewatersdesc": "Votre lien avec le Plan élémentaire des Vagues revigore constamment votre corps. Vous bénéficiez d’une armure contre l’épuisement, la faiblesse ou les effets chimiques.", + "selectdevotion": "Choisir une Dévotion", + "ferrelux": "Dévotion à Fèrrelux", + "ferreluxdrive": "Répandez de méchantes rumeurs.", + "rumourmonger": "Ouï-dire", + "rumourmongerdesc": "Fèrrelux vous donne le pouvoir de colporter des ragots et des rumeurs. Sur un jet de canaliser réussi, vous implantez dans l’esprit d’une cible une rumeur dont elle se souvient comme si « un ami » le lui avait raconté « l’autre jour ».", + "rebelseye": "Œil de rebelle", + "rebelseyedesc": "Vous semez avec habileté les graines de la discorde et du mécontentement. Vous jetez un dé supplémentaire à tout jet de révéler pour provoquer des dissensions au sein d’un groupe.", + "magdak": "Dévotion à Magdak", + "magdakdrive": "Servez la Cité des Lames.", + "sleeplessservant": "Serviteur sans repos", + "sleeplessservantdesc": "La détermination de Magdak à servir est inébranlable et sert d’inspiration pour lutter contre les faiblesses de la chair mortelle. Bien que vous puissiez être fatigué, vous n’avez jamais besoin de dormir et ne pouvez pas sombrer dans l’inconscience.", + "patternsight": "Vision des motifs", + "patternsightdesc": "Votre dévotion à Magdak crée une affinité avec les signes divins du Plan idéologique de l’Ordre. Sur un jet de révéler réussi, vous pouvez établir les liens entre des personnes, des choses ou des événements.", + "aludra": "Dévotion à Aludra", + "aludradrive": "Pleurez les morts.", + "eternaltears": "Larmes éternelles", + "eternaltearsdesc": "Aludra vous accorde la capacité de figer dans une stase hors du temps, immuable, un objet ou une personne sur un jet de canaliser réussi.", + "memorypalace": "Palais mémoriel", + "memorypalacedesc": "Vous avez une mémoire eidétique. Vous vous souvenez automatiquement de tout fait ou expérience vécu tandis que vous serviez Aludra.", + "kestranna": "Dévotion à Kestranna", + "kestrannadrive": "Fauchez les faibles.", + "kestrsbounty": "Générosité de Kestr", + "kestrsbountydesc": "L’aspect généreux de votre déesse vous accorde richesses et festins. Votre réserve est considérée comme étant d’un niveau supérieur à ce qu’indiquent vos pièces pour fixer votre style de vie actuel et l’état de votre retraite.", + "rannasharvest": "Moisson de Ranna", + "rannasharvestdesc": "L’aspect de la Faucheuse vous permet de décimer les très jeunes, les vieux, les faibles et les malades. Vous bénéficiez d’un niveau d’effet supplémentaire sur tous les jets de combattre ou de surveiller contre des cibles vulnérables.", + "nyx": "Dévotion à Nyx", + "nyxdrive": "Suivez vos rêves.", + "deeplistener": "Écoute attentive", + "deeplistenerdesc": "Vous avez la capacité d’ouvrir votre esprit au rêve éternel en fermant les yeux. Sur un jet de canaliser réussi, vous pouvez demander à un joueur ou au MJ ce que son personnage aimerait le plus au monde.", + "dreamwalker": "Voyageur onirique", + "dreamwalkerdesc": "Vous pouvez voyager dans le monde onirique d’une personne et interagir avec son esprit. Vous pouvez l’influencer à travers la logique du rêve, insérer des mots de commande dans son inconscient, démolir son repos avec un cauchemar ou bricoler sa mémoire.", + "morkanah": "Dévotion à Morkanah, Pierre Protectrice", + "morkanahdrive": "Abritez les faibles.", + "morkanahslove": "Compassion de Morkanah", + "morkanahslovedesc": "Morkanah aime les fragiles enfants d’argile et de chair, protégeant ceux qui en ont besoin. Si vous le souhaitez, une personne qui vous touche voit sa peau durcir comme la pierre, lui conférant une armure contre les dégâts physiques.", + "shelteringstone": "Pierre protectrice", + "shelteringstonedesc": "En tant que Primordial de la Pierre, Morkanah est lié à la roche et à la terre. Vous pouvez canaliser afin de façonner la pierre comme un sculpteur le ferait avec de l’argile.", + "eaterofworlds": "Dévotion à Mangemondes", + "eaterofworldsdrive": "Offrez les puissants en sacrifice.", + "fathershunger": "Faim du Père", + "fathershungerdesc": "Sur un jet de canaliser réussi, vous pouvez infecter quelqu’un avec la faim vorace de Mangemondes. Sa faim ne sera satisfaite, et seulement temporairement, qu’après avoir consommé la chair d’un autre mortel, propageant ainsi cette malédiction.", "saboteur": "Saboteur", - "saboteurdesc": "As a servitor of the Eater of Worlds, destructive magics course through your ichorous blood. You may Wreck with subtlety, rotting wood and fracturing stone so it is well hidden from casual inspection.", - "omalaub": "Devotion to Omalaub", - "omalaubdrive": "End the Suffering", - "thespectralcloak": "The Spectral Cloak", - "thespectralcloakdesc": "As a servant of Omalaub, you have one foot across the veil of death and do not leave a mark on the mortal world. You can move through physical barriers at will and cannot be tracked.", - "numbblessing": "Numb Blessing", - "numbblessingdesc": "As a servant of the Tranquil God, you may remove pain and suffering with a touch, removing all penalties from Harm and all pleasure of the flesh until you next rest.", - "brossien": "Devotion to Brossein", - "brossiendrive": "Earn Their Adulations", - "heartsong": "Heart-Song", - "heartsongdesc": "Whenever you perform before a crowd, you declare what emotion your music evokes in them. You may also direct a brief, private message to a single specific person in the audience.", - "bardicmagics": "Bardic Magics", - "bardicmagicsdesc": "As a servitor of the Bardic God, you may Consort with the arcane spirits to cast any minor sorceries or enchantments you so desire, although any effects fade within a day's time.", - "calla": "Devotion to Calla", - "calladrive": "Lie with the Truth", - "giftofgullibility": "The Gift of Gullibility", - "giftofgullibilitydesc": "As a servitor of Calla, the trickster looks after you and shrouds you from waʨhing eyes. You gain Armour vs. suspicion which allows you to undertake ambitious schemes.", - "masterchaos": "Master Chaos", - "masterchaosdesc": "As the servitor of a chaos-god, you often have strange orders. You may always ask Calla for a Planar Bargain, where the Power will give you a bizarre task to accomplish in exchange for temporary blessings.", - "glimmerknights": "Glimmer Knights", - "glimmersandmaestros": "The Glimmers and the Maestros", - "fineclothing": "Fine Clothing", - "writingsupplies": "Writing Supplies", - "starforgedchainmail": "Starforged Chainmail Coat", - "armvsskirmish": "Armour vs. skirmish", - "coronetofglory": "Coronet of Glory", - "armvscommand": "Armour vs. command", - "shieldofsilverandice": "A shield of silver and ice", - "armvschannel": "Armour vs channel", - "concealinggreycloak": "A concealing grey cloak", - "armvssurvey": "Armour vs survey", - "bowstrungwithstarlight": "A bow strung with starlight", - "plusranged": "+ranged", - "keenedgesilversword": "A keen-edged silver sword", - "plusdemonslayer": "+demonslayer", - "diplomaticcredentials": "Diplomatic Credentials", - "musicalinstrument": "Musical instrument", - "whitehornbindingshackles": "Whitehorn binding shackles", - "plusantimagic": "+antimagic", - "hornofalarm": "Horn of Alarm", - "plusloud": "+loud", - "chimesoftranquility": "Chimes of Tranquility", - "plussleep": "+sleep", - "kilkuratface": "Kiku Ratface", - "appearancesmatter": "Appearances Matter", - "yewlandthebard": "Yewland the Bard", - "songsmustbepreserved": "Songs must be Preserved", - "bormantheteacher": "Borman the Teacher", - "educationisemancipation": "Education is Emancipation", - "illianasmokedancer": "Illiana Smokedancer", - "joyunitesus": "Joy Unites Us", - "neutralgrounds": "Neutral Grounds", - "neutralgroundsdesc": "The Eternal Stage is safe from direct assault or violence, even when you are at war. No faction dares to despoil the ancient accords. The rest of your territory receives no such protection.", - "starlightshroud": "Starlight Shroud", - "starlightshrouddesc": "Each Freebooter may add +1 action rating to Finesse, Skirmish, or Command (up to a max rating of 3).", - "therimeguard": "The Rime Guard", - "therimeguarddesc": "Your devotion to theQueen of Rime and Woe has granted you the blessing of endless winter. Your heart has frozen, mind stilled, and skin hardened which grants you an additional die on resistance rolls.", - "spynetwork": "Spy Network", - "spynetworkdesc": "The guild has members skilled in espionage who are embedded in each of the factions of the city. Their information gives you an additional die on engagement rolls against other factions.", - "patronage": "Patronage", - "patronagedesc": "When you advance your Tier, you can pay in the form of a favour to a powerful patron rather than Coin. Before you advance, you must perform some job for your patron.", - "arcticpact": "Arctic Pact", - "arcticpactdesc": "The guild is strongly aligned to the Elemental Plane of Ice. While this frozen plane is tethered to Sig, you can make Planar Bargains with that plane without suffering Consequences.", - "twilightsquires": "Twilight Squires", - "twilightsquiresdesc": "The faction is served by a cohort of clever and discrete agents. Your crew may use preparation actions to assign them certain tasks.", - "queensoath": "The Queen’s Oath", - "queensoathdesc": "The crew is given the opportunity to swear an oath of three parts to theQueen of Rime and Woe. Thereafter, it is impossible for these oathbound knights to break this oath by ignorance, volition, or duress.", - "eternalstage": "Eternal Stage", - "ashenkeys": "The Order of the Ashen Keys", - "markedandwise": "The Marked and the Wise", - "elaboraterobes": "Elaborate Robes", - "ritualcomponents": "Ritual Components", - "arcanestaff": "Arcane Staff", + "saboteurdesc": "La magie de la destruction coule dans vos veines. Vous pouvez démolir avec subtilité, en pourrissant le bois et en fracturant la pierre, de façon à ce que ces dégâts soient très bien dissimulés tant que l’inspection reste superficielle.", + "omalaub": "Dévotion à Omalaub le Tranquille", + "omalaubdrive": "Mettez fin à la souffrance.", + "thespectralcloak": "Manteau spectral", + "thespectralcloakdesc": "Vous avez un pied posé au-delà du voile de la mort et ne laissez pas de trace dans le monde des mortels. Vous ne pouvez pas être pisté. De plus, sur un jet de canaliser réussi, vous avez la capacité de traverser n’importe quelle barrière physique.", + "numbblessing": "Bénédiction de l’engourdissement", + "numbblessingdesc": "Le Dieu Tranquille est miséricordieux et souhaite que les mortels ne souffrent pas. Vous pouvez supprimer la douleur d’un simple toucher, annulant ainsi toutes les pénalités liées aux blessures, ainsi que tous les plaisirs de la chair, jusqu’au prochain temps mort.", + "brossien": "Dévotion à Brossien du Chant Mystique", + "brossiendrive": "Remportez les adulations des autres.", + "heartsong": "Chanson du cœur", + "heartsongdesc": " Quand vous vous produisez devant une foule, annoncez quelle émotion votre musique suscite. Vous pouvez également adresser un bref message privé à un individu spécifique dans ce public.", + "bardicmagics": "Magie bardique", + "bardicmagicsdesc": "Vous pouvez côtoyer avec les esprits des arcanes qui dansent au-delà de la perception des mortels. Cela vous permet de lancer n’importe quel enchantement ou tour mineurs que vous souhaitez, comme par exemple créer une illusion mineure. Cela reste limité : il n’est notamment pas possible de copier les effets d’une action ou d’un jet de résistance par ce biais. Les effets s’estompent au bout d’un jour au plus tard.", + "calla": "Dévotion à Calla le Sage", + "calladrive": "Trichez avec la vérité.", + "giftofgullibility": "Don de crédulité", + "giftofgullibilitydesc": "Le dieu farceur veille sur vous et vous abrite des regards, ce qui vous permet d’entreprendre d’ambitieuses machinations. Vous bénéficiez d’une armure contre la suspicion.", + "masterchaos": "Maître du Chaos", + "masterchaosdesc": "Vous recevez souvent des ordres étranges. Vous pouvez demander à Calla un pacte avec les plans : il vous confiera une tâche bizarre à accomplir en échange de sa bénédiction temporaire. Cela peut être aussi simple que d’acheter un chou sur le marché ou aussi important que de brûler une école vide.", + "glimmerknights": "Chevaliers Chatoyants", + "glimmersandmaestros": "Les Paillettes, les Maestros", + "fineclothing": "Vêtements de qualité", + "writingsupplies": "Matériel d’écriture", + "starforgedchainmail": "Haubert en cotte de mailles stellaire", + "armvsskirmish": "Armure contre les dégâts physiques", + "coronetofglory": "Diadème de Triomphe", + "armvscommand": "Armure contre l’influence sociale", + "shieldofsilverandice": "Bouclier d’argent et de glace", + "armvschannel": "Armure contre les dégâts magiques", + "concealinggreycloak": "Cape grise de camouflage", + "armvssurvey": "Armure contre la détection", + "bowstrungwithstarlight": "Arc à la corde de lumière étoilée", + "plusranged": "+distance", + "keenedgesilversword": "Épée d’argent au tranchant acéré", + "plusdemonslayer": "+tueur de démons", + "diplomaticcredentials": "Lettres de créance diplomatique", + "musicalinstrument": "Instrument de musique", + "whitehornbindingshackles": "Menottes de l’Épine d’argent", + "plusantimagic": "+antimagie", + "hornofalarm": "Cor d’alarme", + "plusloud": "+bruyant", + "chimesoftranquility": "Carillon de Tranquillité", + "plussleep": "+sommeil", + "kilkuratface": "Skilku Face-de-Rat", + "appearancesmatter": "L’apparence compte.", + "yewlandthebard": "Ifain le Barde", + "songsmustbepreserved": "Les chansons doivent être préservées.", + "bormantheteacher": "Borman le Professeur", + "educationisemancipation": "L’éducation émancipe.", + "illianasmokedancer": "Iliana Dansefumée", + "joyunitesus": "La joie nous unit.", + "neutralgrounds": "Terrain neutre", + "neutralgroundsdesc": "La Scène Éternelle est protégée de toute agression ou violence directe, même en cas de guerre. Aucune faction n’oserait rompre les anciens traités. Par contre, le reste de votre territoire ne bénéficie pas d’une telle protection.", + "starlightshroud": "Enveloppé de la lueur des étoiles", + "starlightshrouddesc": "Chaque matois peut ajouter un point d’action supplémentaire à combattre, commander ou manier (avec une valeur maximum de 3).", + "therimeguard": "La Garde des Rimes", + "therimeguarddesc": "Votre dévotion à la Reine des Rimes et de l’Infortune vous a accordé la bénédiction de l’hiver éternel. Votre cœur a gelé, votre esprit s’est calmé et votre peau s’est renforcée, ce qui vous confère un dé supplémentaire aux jets de résistance.", + "spynetwork": "Réseau d’espionnage", + "spynetworkdesc": " La Guilde a des espions compétents infiltrés dans chacune des factions de la ville. Les informations qu’ils fournissent vous donnent un dé supplémentaire sur les jets d’engagement contre les autres factions.", + "patronage": "Mécène", + "patronagedesc": "Lorsque vous augmentez votre rang, plutôt que de payer en pièces, vous pouvez offrir une faveur à un puissant mécène. Avant de progresser, vous devez effectuer une mission pour votre mécène.", + "arcticpact": "Le Pacte arctique", + "arcticpactdesc": "La Guilde est alignée avec le Plan élémentaire de la Glace. Tant que ce dernier est relié à Sig, vous pouvez passer avec ce plan un pacte avec les plans sans subir de conséquences.", + "twilightsquires": "Écuyers Crépusculaires", + "twilightsquiresdesc": " La faction dispose d’une cohorte d’agents rusés et discrets. La bande peut utiliser une activité de temps mort pour lui assigner certaines tâches.", + "queensoath": "Le Serment de la Reine", + "queensoathdesc": "La bande a la possibilité de prêter un serment composé de trois vœux à la Reine des Rimes et de l’Infortune. Les joueurs définissent ces vœux (par exemple : « ne pas mentir »). Par la suite, il leur est impossible de les briser, que ce soit par ignorance, de leur plein gré ou sous la contrainte.", + "eternalstage": "Scène Éternelle", + "ashenkeys": "L’Ordre des Clés Cendrées", + "markedandwise": "Les Marqués, les Penseurs", + "elaboraterobes": "Robes ornées", + "ritualcomponents": "Composants magiques pour rituels", + "arcanestaff": "Bâton de sorcier", "plusfocus": "+focus", - "fineenchantingdagger": "A fine enchanted dagger", - "plusconcealed": "+concealed", - "arcanefamiliar": "Arcane familiar", - "plussentient": "+sentient", - "tomeofsecretlore": "A tome of secret lore", - "plusversatile": "+versatile", - "forbiddenritualscroll": "A forbidden ritual scroll", - "plusmessy": "+messy", - "defensivecharmtali": "A defensive charm/talisman", - "armorvschoice": "Armour vs. action of choice)", - "impressivehat": "An impressive hat", - "plusmemorableintimidating": "+memorable +intimidating)", - "cryptographysupplies": "Cryptography supplies", - "alchemysupplies": "Alchemy supplies", - "tinkeringtools": "Tinkering tools", - "xanak": "Xanak the Bookkeeper", - "coinbeearned": "Coin must be Earned", - "calvyn": "Calvyn the Shoulder", - "memoriesareshackles": "Memories are Shackles", - "itzel": "Itzel the Masked", - "youdonotunderstand": "You do not Understand", - "invisiblelibrary": "Invisible Library", - "invisiblelibrarydesc": "You can store any amount of information securely in the Invisible Library, cyphered and hidden beyond mortal reach. You also gain additional effect when researching from within the Library.", - "academicexcellence": "Academic Excellence", - "academicexcellencedesc": "Each PC may add +1 action rating to Channel, Study, or Tinker (up to a max rating of 3).", - "loretethered": "Lore Tethered", - "loretethereddesc": "The Collegium is strongly aligned to the Conceptual Plane of Lore. While this plane is tethered to Sig, members of your faction can make Planar Bargains with that plane without suffering consequences.", - "alchemicallab": "Alchemical Laboratory", - "alchemicallabdesc": "You may brew, distill, transmute, or purify any substance with your laboratory. Roll an additional die on any preparation roll which involves alchemical solutions.", - "scrolloftheelders": "Scroll of the Elders", - "scrolloftheeldersdesc": "You have a collection of forbidden scrolls which may unleash ancient evils. You may Wreck entire buildings in a single roll by opening hellgates or summoning unspeakable horrors.", - "revolutionarycells": "Revolutionary Cells", - "revolutionarycellsdesc": "The Sage Collegium is accustomed to war (-3 faction Status), so crew members do not lose any downtime actions due to war.", - "thebonescribes": "The Bone Scribes", - "thebonescribesdesc": "The faction is served by a cohort of skilled wizards, illusionists, conjurers, and necromancers. Your crew may use preparation actions to assign them certain tasks.", - "planaranchor": "Planar Anchor", - "planaranchordesc": "You get another die for resistance rolls against planar magics, and you cannot be subjected to involuntary planar transportation.", - "statelibrary": "The State Library", - "daughtersoftheraven": "Daughters of the Raven", - "birdsandwatchers": "The Birds and the Watchers", - "travellinggarb": "Travelling Garb", - "blackravencloak": "Fine black raven-feather cloak", - "mailsatchelholding": "Mail saʨhel of holding", - "shadowforgedarmour": "Shadowforged Armour", - "travellinggear": "Travelling and camping gear", - "keenedgedblade": "Keen-Edged Blades", - "plusrangedinfinite": "+ranged +infinite", - "spearchoosing": "Spear of Choosing", - "plusvengeful": "+vengeful", - "fineclothingandjewelry": "Fine clothes and jewelery", - "burglarygear": "Burglary Gear", - "gloriousmask": "Glorious Mask", - "plusauthoritative": "+Authoritative", - "wrathfulmask": "Wrathful Mask", - "plusterrifying": "+Terrifying", - "facelessmask": "Faceless Mask", - "plusforgotten": "+Forgotten", - "marak": "Marak the Tailor", - "trustisablade": "Trust is a Blade", - "harun": "Harun the Smuggler", - "everyonehasprice": "Everyone has a Price", - "lettersofintroduction": "Letters of Introduction", - "lettersofintroductiondesc": "You can gain access to an audience with anyone in Sig, including any Powers currently there. You will have an opportunity to deliver a written or spoken message safely.", - "seasontraveller": "Seasoned Traveller", - "seasontravellerdesc": "Each PC may add +1 action rating to Survey, Maneuver, or Sway (up to a maximum of 3)", - "atlasofsig": "The Atlas of Sig", - "atlasofsigdesc": "The Heralds Guild has an incredible supply of maps and charts which reveal secret routes, hidden doors, and forgotten tunnels. Gain an additional die on engagement rolls in the city of Sig.", - "seeker": "Seeker", - "seekerdesc": "If you know someone’s True Name, you know where to find them. If their name is obscured to you, you must succeed on a Survey roll to find them.", - "farwhispers": "Far Whispers", - "farwhispersdesc": "You can communicate with any member of your faction instantly so long as they are in the City of Blades, or in a plane that currently has the tether.", - "rumourmongers": "Rumour Mongers", - "rumourmongersdesc": "Your faction knows all the dirty secrets and sordid rumours about the powerful figures of the city. You can take a preparation action to release this information and take -3 Infamy.", - "windtethered": "Wind Tethered", - "windtethereddesc": "The guild is strongly aligned to the Elemental Plane of Wind. While this plane is tethered to Sig, you can make Planar Bargains with that plane without suffering Consequences.", - "thewrens": "The Wrens", - "thewrensdesc": "The Wrens are comprised of experienced planar rangers and vergers who maintain waystations throughout the verse. Your crew may use preparation actions to assign them certain tasks.", - "unifiedsigpostalservice": "Unified Kilku Ratface Appearances Matter Sig Postal Service", - "reforgedblades": "Reforged Blades", - "slagsandmelters": "The Slags and the Melters", - "nondescriptclothing": "Nondescript clothing and dust-grey cloaks", - "recycledtools": "Unlimited recycled tools and weapons", - "symbioticooze": "Symbiotic Ooze", - "plussentempower": "+sentient, +empowering", - "symbolofauth": "A symbol of your former authority", - "plusimpressive": "+impressive", - "salvagedarmour": "Salvaged Armour", - "finespiritsorpoison": "A fine bottle of spirits or poison", - "plusdebilitating": "+debilitating", - "ancientblade": "An ancient blade, reforged", - "plusepic": "+epic", - "sackoffoodanddrink": "A sack full of food and drink", - "demolitiongear": "Demolition gear", - "alchemygear": "Alchemy gear", - "ajarofhungryooze": "A jar of hungry ooze", - "khana": "K’hana the Nightwaʨh", - "vengeanceiseternal": "Vengeance is Eternal", - "scrapvalue": "Scrap Value", - "scrapvaluedesc": "You know how to extract value from stolen goods. When you find something valuable on a mission, you may mark load to bring it with you and sell it for 1 Coin in downtime.", - "oozefriend": "Ooze-friend", - "oozefrienddesc": "A sentient ooze is who are willing to enter symbiosis with you and replace what has been lost. Each character may bond to an ooze once, healing all Harm while permanently getting a guest in their head.", - "rustworker": "Rustworker", - "rustworkerdesc": "You have communed with the metal-eating rustbeasts, who have taught you their secret arts. Any metal on your person slowly corrodes, and your blood causes metals to rust on contact.", - "theorphannetwork": "The Orphan Network", - "theorphannetworkdesc": "Your cooperative has good relationships with the Orphans Union and they give you useful intel. Gain an advantage on any investigation roll.", - "theunwashedmasses": "The Unwashed Masses", - "theunwashedmassesdesc": "The Breeding Warrens is a vile place with a reputation for filth. Living here has rendered you immune to disease and poison. You can sustain with rotten food and stale beer.", - "thingsspeak": "Things Speak", - "thingsspeakdesc": "You have learned the language of broken things. If you put your ear to a piece of rubbish or scrap, you can hear it speak to you of what it experienced “in the good old days”.", - "entropicshard": "Entropic Shard", - "entropicsharddesc": "The Recyclers Cooperative is strongly aligned to the Shard of Ooze. When you make Planar Bargains involving rot and decay, you only suffer minor Consequences despite your Stress.", - "thescrappers": "The Scrappers", - "thescrappersdesc": "The Scrappers are comprised of resentful and passionate common citizens who are driven to rise up against their oppressors. Your crew may use preparation actions to assign them certain tasks.", - "polvanscrapyard": "Polvan Scrapyard", - "voidstriders": "Void Striders", - "keysandwedges": "The Keys and the Wedges", - "fuligindarkuniform": "Fuligin-dark uniform", - "writinggear": "Writing Gear", - "bonehourglass": "Bone hourglas which predics planar alignments", - "portalshield": "A portal shield", - "armvsrangedplusreflective": "Armour vs. Ranged, +reflective", - "potionofthegaul": "Potion of the Gaul", - "armvsskirmplusstrength": "Armour vs Skirmish, +strength", - "axeofsmokelessflame": "Axe of Smokeless Flame", - "plusmessyplusvoidkiller": "+messy, +voidkiller", - "spicesoflife": "Spices of Life", - "plusnarcoticplusprophetic": "+narcotic, +prophetic", - "spiritbottles": "Spirit Bottles", - "plustrap": "+trap", - "wandoflethe": "Wand of Lethe", - "plusneuralyzer": "+neuralyzer", - "bindingchainofsilver": "A binding chain of silver", - "callingcensorofbrass": "A calling censor of brass", - "banishinggoldenbell": "A banishing golden bell", - "divinelocksmith": "Divine Locksmith", - "divinelocksmithdesc": "You have access to the gatekeeper archives which record the keys to thousands of gates. You may access any prime world you know of. With a successful Reveal roll, you can even be assured safe travel.", - "culteralliason": "Cultural Liaison", - "culteralliasondesc": "Each PC may add +1 action rating to their Survey, Reveal, or Consort (up to a maximum of 3).", - "theplanarcodex": "The Planar Codex", - "theplanarcodexdesc": "The Portalsmiths have extensive records of the eternal planes of existence and the infinite prime worlds. Gain an additional die on engagement rolls while outside of Sig.", - "multiversaltranslator": "Multiversal Translator", - "multiversaltranslatordesc": "The Portalsmiths train their people to understand, speak, and write nearly any language. When translating under pressure, make a Consort roll to avoid misunderstandings.", - "appraiserseye": "Appraiser’s Eye", - "appraiserseyedesc": "You are skilled in identifying valuable goods from throughout the verse. Each of you gain 1 Coin the first time you visit a new prime world or plane.", - "thegreatmaterialcontinuum": "The Great Material Continuum", - "thegreatmaterialcontinuumdesc": "You have learned how to sail down the great river of commerce. You automatically succeed on any Acquire roll if you can describe the chain of barter that led you to receive your prize.", - "gatewayechoes": "Gateway Echoes", - "gatewayechoesdesc": "The Portalsmiths are intimately connected to the planar tethers. You may make Planar Bargains which involve any of the planes of existence, suffering the normal Consequences.", - "theexorcists": "The Exorcists", - "theexorcistsdesc": "The Exorcists are a skilled cohort of faithful abjurers who specialize in planar banishment rituals. Your crew may use preparation actions to assign them certain tasks.", - "mirrorwalk": "Mirrorwalk", - "paperguard": "Paperguard", - "guildofartificers": "Guild of Artificers", - "guildoftoil": "Guild of Toil", - "guildofadvocates": "Guild of Advocates", - "siggazatteer": "Sig Gazatteer", - "riverkeepers": "Riverkeepers", - "cleaners": "Cleaners", - "farmersguild": "Farmers Guild", - "leagueofexterminators": "League of Exterminators", - "enforcers": "Enforcers", - "dustkeepers": "Dustkeepers", - "teachersguild": "Teachers Guild", - "nightbarons": "Night Barons", - "recyclerscooperative": "Recyclers Cooperative", - "portalsmiths": "Portalsmiths", - "performersguild": "Performers Guild", - "heraldsguild": "Heralds Guild", - "sagecollegium": "Sage Collegium" + "fineenchantingdagger": "Dague enchantée de qualité", + "plusconcealed": "+discret", + "arcanefamiliar": "Familier magique", + "plussentient": "+intelligent", + "tomeofsecretlore": "Tome de connaissances secrètes", + "plusversatile": "+polyvalent", + "forbiddenritualscroll": "Parchemin de rituel interdit", + "plusmessy": "+salissant", + "defensivecharmtali": "Charme ou talisman de protection", + "armorvschoice": "Armure contre un type de dégâts au choix", + "impressivehat": "Chapeau impressionnant", + "plusmemorableintimidating": "+mémorable, +intimidant", + "cryptographysupplies": "Matériel de cryptographie", + "alchemysupplies": "Matériel d’alchimie", + "tinkeringtools": "Outils de bricolage", + "xanak": "Xanak le Comptable", + "coinbeearned": "L’argent se mérite.", + "calvyn": "Calvyn l'Épaule", + "memoriesareshackles": "Les souvenirs sont des entraves.", + "itzel": "Itzel le Masqué", + "youdonotunderstand": "Vous ne comprenez pas.", + "invisiblelibrary": "Conservatoire Invisible", + "invisiblelibrarydesc": "Vous pouvez stocker, chiffrer et cacher dans le Conservatoire Invisible n’importe quelle quantité d’informations en toute sécurité, hors de portée des mortels. Vous bénéficiez également d’un niveau d’effet supplémentaire quand vous effectuez des recherches dans le Conservatoire. Seuls les membres du Collegium des Sages peuvent y accéder.", + "academicexcellence": "Excellence académique", + "academicexcellencedesc": "Chaque matois peut ajouter un point d’action supplémentaire à bricoler, canaliser ou étudier (avec une valeur maximum de 3).", + "loretethered": "Relié au Savoir", + "loretethereddesc": "Le Collegium est fortement aligné avec le Plan conceptuel du Savoir. Tant que ce dernier est relié à Sig, vous pouvez passer avec ce plan un pacte avec les plans sans subir de conséquences.", + "alchemicallab": "Laboratoire alchimique", + "alchemicallabdesc": "Vous pouvez infuser, distiller, transmuter ou purifier n’importe quelle substance dans ce laboratoire. Vous lancez un dé supplémentaire sur tout jet d’activité de temps mort en lien avec des solutions alchimiques.", + "scrolloftheelders": "Parchemin des Anciens", + "scrolloftheeldersdesc": "Vous possédez une collection de parchemins interdits qui peuvent libérer d’anciennes malédictions. Vous pouvez démolir des bâtiments entiers en un seul jet de dés en ouvrant des portails infernaux ou en invoquant des horreurs innommables.", + "revolutionarycells": "Cellules révolutionnaires", + "revolutionarycellsdesc": "Le Collegium des Sages est habitué à la guerre (statut -3 avec une faction). Les membres de la bande ne perdent aucune activité de temps mort à cause de la guerre.", + "thebonescribes": "Les Scribes des Ossements", + "thebonescribesdesc": "La faction dispose d’une cohorte de talentueux sorciers, illusionnistes, invocateurs et nécromanciens. La bande peut utiliser une activité de temps mort pour lui assigner certaines tâches.", + "planaranchor": "Ancre planaire", + "planaranchordesc": "Vous obtenez un dé supplémentaire pour les jets de résistance contre la magie planaire. Aucune téléportation planaire ne peut vous déplacer contre votre gré.", + "statelibrary": "La Bibliothèque d’Ardoises", + "daughtersoftheraven": "Les Filles du Corbeau", + "birdsandwatchers": "Les Oiseaux, les Observateurs", + "travellinggarb": "Tenue de voyage", + "blackravencloak": "Cape noire en plumes de corbeau de qualité", + "mailsatchelholding": "Sacoche de contenance pour le courrier", + "shadowforgedarmour": "Armure en ombre forgée", + "travellinggear": "Matériel de voyage et de camping", + "keenedgedblade": "Lames au tranchant acéré", + "plusrangedinfinite": "+distance, +nombreux", + "spearchoosing": "Lance du Choix", + "plusvengeful": "+vengeance", + "fineclothingandjewelry": "Vêtements et bijoux de qualité", + "burglarygear": "Matériel de cambriolage", + "gloriousmask": "Masque glorieux", + "plusauthoritative": "+autoritaire", + "wrathfulmask": "Masque furieux", + "plusterrifying": "+terrifiant", + "facelessmask": "Masque anonyme", + "plusforgotten": "+oubli", + "marak": "Marak le Confectionneur", + "trustisablade": "La confiance est une lame.", + "harun": "Harun le Contrebandier", + "everyonehasprice": "Tout le monde a un prix.", + "lettersofintroduction": "Lettres d’introduction", + "lettersofintroductiondesc": "Vous pouvez obtenir audience auprès de n’importe qui à Sig, y compris les Puissances actuellement incarnées. Bien qu’un accueil chaleureux ne soit pas garanti, vous aurez l’occasion de délivrer un message écrit ou oral en toute sécurité.", + "seasontraveller": "Voyageur chevronné", + "seasontravellerdesc": "Chaque matois peut ajouter un point d’action supplémentaire à influencer, manœuvrer ou surveiller (avec une valeur maximum de 3).", + "atlasofsig": "L'Atlas de Sig", + "atlasofsigdesc": "La Guilde des Hérauts possède une incroyable réserve de cartes et de plans détaillant les passages secrets, les portes dérobées et les tunnels oubliés. Vous lancez un dé supplémentaire sur tout jet d’engagement effectué dans la cité de Sig.", + "seeker": "Limier", + "seekerdesc": "Afin de livrer des messages et des colis à travers le multivers, votre faction a appris à localiser n’importe quel individu. Si vous connaissez le Vrai Nom d’une personne, vous savez où la trouver. Autrement, vous devez réussir un jet de surveiller pour la trouver.", + "farwhispers": "Chuchotements lointains", + "farwhispersdesc": "Vous pouvez communiquer instantanément avec n’importe quel membre de votre faction, à condition qu’il se trouve dans la Cité des Lames ou sur un plan actuellement relié par un des trois filins.", + "rumourmongers": "Colporteurs de rumeurs", + "rumourmongersdesc": "Votre faction connaît tous les secrets honteux et les rumeurs sordides concernant les figures influentes de la ville. Vous pouvez utiliser une activité de temps mort pour divulguer ces informations et perdre trois points de renom.", + "windtethered": "Relié par le Vent", + "windtethereddesc": "La Guilde est alignée avec le Plan élémentaire du Vent. Tant que ce dernier est relié à Sig, vous pouvez passer avec ce plan un pacte avec les plans sans subir de conséquences.", + "thewrens": "Les Pies", + "thewrensdesc": "La faction dispose d’une cohorte de rôdeurs planaires et de concierges expérimentés qui maintiennent des haltes de passage dans tout le multivers. La bande peut utiliser une activité de temps mort pour lui assigner certaines tâches.", + "unifiedsigpostalservice": "Service Postal Unifié de Sig", + "reforgedblades": "Lames Reforgées", + "slagsandmelters": "Les Scories, les Fondus", + "nondescriptclothing": "Vêtements quelconques et épaisses capes gris poussière", + "recycledtools": "Accès illimité à des outils et des armes de récupération.", + "symbioticooze": "Vase symbiotique", + "plussentempower": "+conscient, +fortifiant", + "symbolofauth": "Symbole d’une ancienne autorité", + "plusimpressive": "+impressionnant", + "salvagedarmour": "Armure de récupération", + "finespiritsorpoison": "Bouteille de spiritueux ou poison de qualité", + "plusdebilitating": "+débilitant", + "ancientblade": "Lame ancienne reforgée", + "plusepic": "+épique", + "sackoffoodanddrink": "Sac rempli de nourriture et de boissons", + "demolitiongear": "Matériel de démolition", + "alchemygear": "Matériel d’alchimie", + "ajarofhungryooze": "Bocal de vase affamée", + "khana": "K'hana la Veilleuse", + "vengeanceiseternal": "La vengeance est éternelle.", + "scrapvalue": "Au prix de la ferraille", + "scrapvaluedesc": "Les objets volés ont de la valeur entre vos mains. Lorsque vous trouvez un objet de valeur durant une mission, vous pouvez utiliser une charge pour l’emporter avec vous et le revendre pour 1 pièce lors de la phase de temps mort.", + "oozefriend": "Ami Vaseux", + "oozefrienddesc": "Une vase intelligente est prête à entrer en symbiose avec vous et à remplacer ce qui a été perdu. Chaque Matois peut se lier à une vase une fois, guérissant toutes les blessures tout en obtenant de façon permanente une voix supplémentaire dans sa tête.", + "rustworker": "Oxydeur", + "rustworkerdesc": "Vous avez communié avec les bêtes de rouille dévoreuses de métal qui vous ont enseigné leur technique secrète. Tout métal sur votre personne se corrode lentement et le contact de votre sang fait rouiller le métal.", + "theorphannetwork": "Réseau d’orphelins", + "theorphannetworkdesc": " La Coopérative entretient de bonnes relations avec l’Union des Gamins des Rues et ils vous fournissent des informations utiles. Vous lancez un dé supplémentaire quand vous recueillez des informations.", + "theunwashedmasses": "Conditions insalubres", + "theunwashedmassesdesc": "Les Terriers d’Élevage sont un endroit ignoble rempli d’immondices. Vivre ici vous a immunisé contre les maladies et le poison. Vous pouvez vous nourrir avec des aliments pourris et de la bière éventée. ", + "thingsspeak": "Les choses parlent", + "thingsspeakdesc": "Le temps passé dans les décharges vous a appris le langage des objets cassés. Si vous tendez l’oreille à un morceau d’ordure ou de ferraille, vous pouvez l’entendre vous parler de ce qu’il a connu « au bon vieux temps ».", + "entropicshard": "Fragment entropique", + "entropicsharddesc": "La Coopérative est alignée avec le Fragment planaire de la Vase. Quand vous passez un pacte avec les plans en lien avec la pourriture et la décomposition, vous ne subissez que des conséquences mineures, quel que soit votre niveau de stress.", + "thescrappers": "Les Bagarreurs", + "thescrappersdesc": "La faction dispose d’une cohorte de citoyens ordinaires, aigris et véhéments qui sont déterminés à se soulever contre leurs oppresseurs. La bande peut utiliser une activité de temps mort pour lui assigner certaines tâches.", + "polvanscrapyard": "Casse Poussière", + "voidstriders": "Arpenteurs du Vide", + "keysandwedges": "Les Clés, les Cales", + "fuligindarkuniform": "Uniforme noir de fumée", + "writinggear": "Matériel d’écriture", + "bonehourglass": "Sablier en os qui prédit les changements d’alignement planaire", + "portalshield": "Bouclier de portail", + "armvsrangedplusreflective": "Armure contre les armes à distance, +réfléchissant", + "potionofthegaul": "Potion de la Fureur guerrière", + "armvsskirmplusstrength": "Armure contre le combat au corps-à-corps, +force", + "axeofsmokelessflame": "Hache de Flamme sans fumée", + "plusmessyplusvoidkiller": "+salissant, +lame de néant", + "spicesoflife": "Épices de Vie", + "plusnarcoticplusprophetic": "+narcotique, +prophétique", + "spiritbottles": "Flacons spirituels", + "plustrap": "+piège", + "wandoflethe": "Baguette de Léthé", + "plusneuralyzer": "+paralysant", + "bindingchainofsilver": "Chaîne d’entrave en argent", + "callingcensorofbrass": "Encensoir d’invocation en cuivre", + "banishinggoldenbell": "Cloche de bannissement en orichalque", + "divinelocksmith": "Serrurier Divin", + "divinelocksmithdesc": "En tant que membres des Portiers, vous avez accès aux archives des gardiens des portes qui tiennent le registre des clés de milliers de conduits planaires. Vous pouvez accéder à tous les mondes primaires connus et, avec un jet de révéler réussi, votre voyage est sans danger.", + "culteralliason": "Liaison culturelle", + "culteralliasondesc": "Chaque matois peut ajouter un point d’action supplémentaire à côtoyer, révéler ou surveiller (avec une valeur maximum de 3).", + "theplanarcodex": "Codex Planaire", + "theplanarcodexdesc": "Les Portiers possèdent des archives complètes sur les plans d’existence éternels. Vous lancez un dé supplémentaire sur tout jet d’engagement effectué hors de la cité de Sig.", + "multiversaltranslator": "Traducteur multiversel", + "multiversaltranslatordesc": "Les Portiers forment leurs membres à comprendre, parler et écrire presque toutes les langues. Ce n’est que quand vous interprétez sous pression que vous devez faire un jet de côtoyer pour éviter les incompréhensions.", + "appraiserseye": "Œil d’expert", + "appraiserseyedesc": "Vous savez identifier les biens de valeur de tout le multivers. Chaque matois gagne 1 pièce la première fois qu’il visite un nouveau plan ou monde primaire.", + "thegreatmaterialcontinuum": "Le Grand Continuum Matériel", + "thegreatmaterialcontinuumdesc": "Vous avez appris à naviguer sur le grand fleuve du commerce. Vous réussissez automatiquement tout jet d’Acquérir une ressource si vous pouvez décrire la chaîne de marchandage qui vous a permis de recevoir ce bien.", + "gatewayechoes": "Échos des portails", + "gatewayechoesdesc": "Les Portiers sont connectés aux filins planaires. Vous pouvez passer un pacte avec les plans en lien avec n’importe quel plan d’existence, en subissant les conséquences habituelles.", + "theexorcists": "Les Exorcistes", + "theexorcistsdesc": "La faction dispose d’une cohorte de loyaux abjurateurs spécialisés dans les rituels de bannissement planaire. La bande peut utiliser une activité de temps mort pour lui assigner certaines tâches.", + "mirrorwalk": "Promenade Miroitante", + "paperguard": "Garde-Papier", + "guildofartificers": "Guilde des Artisans", + "guildoftoil": "Guilde du Labeur", + "guildofadvocates": "Guilde des Avocats", + "siggazatteer": "Gazette de Sig", + "riverkeepers": "Gardes-Rivière", + "cleaners": "Nettoyeurs", + "farmersguild": "Guilde des Fermiers", + "leagueofexterminators": "Ligue des Exterminateurs", + "enforcers": "Gens d'Armes", + "dustkeepers": "Gardiens de la Poussière", + "teachersguild": "Guilde des Enseignants", + "nightbarons": "Barons de la Nuit", + "recyclerscooperative": "Coopérative des Recycleurs", + "portalsmiths": "Portiers", + "performersguild": "Guilde des Artistes", + "heraldsguild": "Guilde des Hérauts", + "sagecollegium": "Collegium des Sages" } \ No newline at end of file diff --git a/Space1889/Historie.txt b/Space1889/Historie.txt new file mode 100644 index 0000000000..fa57fd94a3 --- /dev/null +++ b/Space1889/Historie.txt @@ -0,0 +1,11 @@ +2022-05-21 +- Release v1.1 +- Design : Beschriftungen der Felder optimiert +- Design : Umstellung auf Table-Design + +2022-05-18 +- Bugfix Issue #1: Berechnung Wahrnehmung +- Bugfix Issue #2: Fehlerhafte Formel bei der Erfolgsberechnung + +2022-05-08 +- Release v1.0 diff --git a/Space1889/README.md b/Space1889/README.md new file mode 100644 index 0000000000..74fa0274ba --- /dev/null +++ b/Space1889/README.md @@ -0,0 +1,16 @@ +# Roll20_Space1889_CharacterSheet + +Bei diesem Community-Bogen handelt es sich um ein rein privates Fan-Projekt. + +## 2022-05-21 V1.1 +Community-Bogen für Space 1889 (Ubiquity) + +Github - https://github.com/Gorthian/Roll20_Space1889_CharacterSheet +
Wiki - https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/wiki +
Bugs - https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/issues +
Historie - https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/blob/main/Historie.txt + +## Copyright + +Artwork © 2022 Ulisses Spiele. +
Space 1889 ist eine eingetragene Marke von Ulisses Spiele. Alle Rechte von Ulisses Spiele GmbH vorbehalten. Die Verwendung der Grafiken erfolgt unter den von Ulisses Spiele erlaubten Richtlinien. Eine Verwendung über diese Richtlinien hinaus darf nur nach vorheriger schriftlicher Genehmigung der Ulisses Medien und Spiel Distribution GmbH erfolgen. diff --git a/Space1889/sheet.json b/Space1889/sheet.json new file mode 100644 index 0000000000..054499f5e8 --- /dev/null +++ b/Space1889/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "space1889.html", + "css": "space1889.css", + "authors": "Gorthian", + "roll20userid": "485178", + "preview": "space1889.png", + "instructions": "**Community-Bogen für Space 1889 -Ubiquity-**\n\n[Github](https://github.com/Gorthian/Roll20_Space1889_CharacterSheet)\n\n[Wiki](https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/wiki)\n\n[Bugs](https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/issues)\n\n[Historie](https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/blob/main/Historie.txt)", + "legacy": true +} \ No newline at end of file diff --git a/Space1889/space1889.css b/Space1889/space1889.css new file mode 100644 index 0000000000..371ab7f82e --- /dev/null +++ b/Space1889/space1889.css @@ -0,0 +1,179 @@ +/* + EDITED by Gorthian + Version 1.1 + Letzte Änderung 2022-05-21 + + GitHub https://github.com/Gorthian/Roll20_Space1889_CharacterSheet + Wiki https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/wiki + Bugs & Issues https://github.com/Gorthian/Roll20_Space1889_CharacterSheet/issues +*/ + + +/* GRUNDLAGEN */ + +div.sheet-wrapper { + --sheet-bg : #ffffff; + --sheet-text-color : #000000; + --line-height : 30px; +} + +.sheet-nowrap { + white-space : nowrap; +} + +div.sheet-space1889 { + line-height : var(--line-height); +} + +/* GRIDS */ + +div.sheet-space1889 { + background-color : var(--sheet-bg); + color : var(--sheet-text-color); + display : grid; + grid-template-areas : "content" + "footer" +} + +div.sheet-content { + display : grid; + grid-area : content; + grid-template-columns : 50% 50%; + grid-template-areas : "basics basics" + "primary-attributes secondary-attributes" + "style health" + "skills skills" + "combat combat" + "misc misc" +} + +div.sheet-basics { + display : grid; + grid-area : basics; +} + +div.sheet-basics span.sheet-label { + display : inline-block; + width : 30%; +} + +div.sheet-primary-attributes { + display : grid; + grid-area : primary-attributes; +} + +div.sheet-primary-attributes span.sheet-label { + display : inline-block; + width : 30%; +} + +div.sheet-primary-attributes input { + display : inline-block; +} + +div.sheet-secondary-attributes { + display : grid; + grid-area : secondary-attributes; +} + +div.sheet-secondary-attributes span.sheet-label { + display : inline-block; + width : 30%; +} + +div.sheet-style { + display : grid; + grid-area : style; +} + +div.sheet-health { + display : grid; + grid-area : health; +} + +div.sheet-skills { + display : grid; + grid-area : skills; +} + +div.sheet-combat { + display : grid; + grid-area : combat; +} + +div.sheet-misc { + display : grid; + grid-area : misc; + grid-template-areas : "talents ressources weaknesses" +} + +div.sheet-talents { + display : grid; + grid-area : talents; +} + +div.sheet-ressources { + display : grid; + grid-area : ressources; +} + +div.sheet-weaknesses { + display : grid; + grid-area : weaknesses; +} + +div.sheet-footer { + display : grid; + grid-area : footer; +} + +/* LAYOUTS */ + +div.sheet-box { + border : 1px solid black; + border-radius : 10px; + background-color : lightgray; + padding : 5px; + margin : 5px; +} + +:is(div.sheet-weaponattribute, div.sheet-skillentry) select{ + width : auto; +} + +div.sheet-space1889 div.sheet-content :is(input, select, button) { + height : var(--line-height); + margin : 0px; + padding : 4px; +} + +div.sheet-table { + display : table; + width : 100%; +} + +div.sheet-table-row { + display : table-row; + width : 100%; +} + +div.sheet-table-col { + display : table-cell; +} + +hr { + border-color : black; +} + +/* Chrome, Safari, Edge, Opera */ +input:read-only:-webkit-outer-spin-button, +input:read-only::-webkit-inner-spin-button { + -webkit-appearance: none; + margin: 0; +} + +/* Firefox */ +input[type=number]:read-only { + -moz-appearance : textfield; + text-align : center; +} \ No newline at end of file diff --git a/Space1889/space1889.html b/Space1889/space1889.html new file mode 100644 index 0000000000..5ce2625630 --- /dev/null +++ b/Space1889/space1889.html @@ -0,0 +1,449 @@ + + + +
+
+
+
+
+
+
+
+
+
+
+
+

+

+

+

+

+

+

+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+

+
+
+

+

/

+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
=
+
()
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + +
+
+ +
+
+
+
()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+ +
+
+
+

+
+ +
+
+
+

+
+ +
+
+
+
+ +
+ + + \ No newline at end of file diff --git a/Space1889/space1889.png b/Space1889/space1889.png new file mode 100644 index 0000000000..68730ae0cb Binary files /dev/null and b/Space1889/space1889.png differ diff --git a/Space1889/translation.json b/Space1889/translation.json new file mode 100644 index 0000000000..0c3b3e683c --- /dev/null +++ b/Space1889/translation.json @@ -0,0 +1,55 @@ +{ + "name" : "Name", + "archetype" : "Archetyp", + "motivation" : "Motivation", + "attribute" : "Attribut", + "primary-attributes" : "Primäre Attribute", + "secondary-attributes" : "Sekundäre Attribute", + "style" : "Stil", + "health" : " Gesundheit", + "skills" : "Fertigkeiten", + "combat" : "Kampf", + "constitution" : "Konstitution", + "constitution-short" : "Kon", + "dexterity" : "Geschicklichkeit", + "dexterity-short" : "Ges", + "strength" : "Stärke", + "strength-short" : "Stä", + "charisma" : "Charisma", + "charisma-short" : "Cha", + "intelligence" : "Intelligenz", + "intelligence-short" : "Int", + "willpower" : "Willenskraft", + "willpower-short" : "Wil", + "size" : "Größe", + "movement" : "Bewegung", + "perception" : "Wahrnehmung", + "initiative" : "Initiative", + "defense" : "Abwehr", + "stunned" : "Betäubt", + "weapon" : "Waffe", + "damage" : "Schaden", + "modifier" : "Modifikator", + "attack" : "Angriffswert", + "average" : "Durchschnitt", + "range" : "Reichweite", + "capacity" : "Kapazität", + "firerate" : "Feuerrate", + "speed" : "Tempo", + "weight" : "Gewicht", + "ammo" : "Munition", + "note" : "Notiz", + "talents" : "Talente", + "ressources" : "Ressourcen", + "weaknesses" : "Schwächen", + "successes" : "Erfolge", + "lethal" : "Tödlich", + "nonlethal" : "Nicht tödlich", + "value" : "Wert", + "modificator-short" : "Mod.", + "sum" : "Summe", + "level" : "Stufe", + "weapon-fast" : "Schnell (S)", + "weapon-average" : "Durchschnittlich (D)", + "weapon-slow" : "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/af.json b/Space1889/translations/af.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/af.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/ca.json b/Space1889/translations/ca.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/ca.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/cs.json b/Space1889/translations/cs.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/cs.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/da.json b/Space1889/translations/da.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/da.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/de.json b/Space1889/translations/de.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/de.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/el.json b/Space1889/translations/el.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/el.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/en.json b/Space1889/translations/en.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/en.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/es.json b/Space1889/translations/es.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/es.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/fi.json b/Space1889/translations/fi.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/fi.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/fr.json b/Space1889/translations/fr.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/fr.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/he.json b/Space1889/translations/he.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/he.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/hu.json b/Space1889/translations/hu.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/hu.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/it.json b/Space1889/translations/it.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/it.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/ja.json b/Space1889/translations/ja.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/ja.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/ko.json b/Space1889/translations/ko.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/ko.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/nl.json b/Space1889/translations/nl.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/nl.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/pb.json b/Space1889/translations/pb.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/pb.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/pl.json b/Space1889/translations/pl.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/pl.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/pt.json b/Space1889/translations/pt.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/pt.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/ru.json b/Space1889/translations/ru.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/ru.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/sl.json b/Space1889/translations/sl.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/sl.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/sv.json b/Space1889/translations/sv.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/sv.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/tr.json b/Space1889/translations/tr.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/tr.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/uk.json b/Space1889/translations/uk.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/uk.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Space1889/translations/zh.json b/Space1889/translations/zh.json new file mode 100644 index 0000000000..e228b3b9c6 --- /dev/null +++ b/Space1889/translations/zh.json @@ -0,0 +1,55 @@ +{ + "name": "Name", + "archetype": "Archetyp", + "motivation": "Motivation", + "attribute": "Attribut", + "primary-attributes": "Primäre Attribute", + "secondary-attributes": "Sekundäre Attribute", + "style": "Stil", + "health": " Gesundheit", + "skills": "Fertigkeiten", + "combat": "Kampf", + "constitution": "Konstitution", + "constitution-short": "Kon", + "dexterity": "Geschicklichkeit", + "dexterity-short": "Ges", + "strength": "Stärke", + "strength-short": "Stä", + "charisma": "Charisma", + "charisma-short": "Cha", + "intelligence": "Intelligenz", + "intelligence-short": "Int", + "willpower": "Willenskraft", + "willpower-short": "Wil", + "size": "Größe", + "movement": "Bewegung", + "perception": "Wahrnehmung", + "initiative": "Initiative", + "defense": "Abwehr", + "stunned": "Betäubt", + "weapon": "Waffe", + "damage": "Schaden", + "modifier": "Modifikator", + "attack": "Angriffswert", + "average": "Durchschnitt", + "range": "Reichweite", + "capacity": "Kapazität", + "firerate": "Feuerrate", + "speed": "Tempo", + "weight": "Gewicht", + "ammo": "Munition", + "note": "Notiz", + "talents": "Talente", + "ressources": "Ressourcen", + "weaknesses": "Schwächen", + "successes": "Erfolge", + "lethal": "Tödlich", + "nonlethal": "Nicht tödlich", + "value": "Wert", + "modificator-short": "Mod.", + "sum": "Summe", + "level": "Stufe", + "weapon-fast": "Schnell (S)", + "weapon-average": "Durchschnittlich (D)", + "weapon-slow": "Langsam (L)" +} \ No newline at end of file diff --git a/Star Wars Saga Edition/StarWarsSagaEdition.css b/Star Wars Saga Edition/StarWarsSagaEdition.css index a9a3d96bd1..54c2713511 100644 --- a/Star Wars Saga Edition/StarWarsSagaEdition.css +++ b/Star Wars Saga Edition/StarWarsSagaEdition.css @@ -448,13 +448,14 @@ input.sheet-skillsNotes{ display: inline-block; min-width: 1.5em; text-align: center; - border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + border: 2px solid #000000; /*Cool Gray 6 C*/ + background-color: #000000; /*Cool Gray 6 C*/ + color: whitesmoke; } .sheet-rolltemplate-sagadefault .inlinerollresult.fullcrit { background-color: #3FB315; - color: white; + color: #f5f5f5; } .sheet-rolltemplate-sagadefault .inlinerollresult.fullfail { @@ -523,7 +524,8 @@ input.sheet-skillsNotes{ min-width: 1.5em; text-align: center; border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + background-color: #000000; /*Cool Gray 6 C*/ + color: #f5f5f5; } .sheet-rolltemplate-attack .inlinerollresult.fullcrit { @@ -593,27 +595,98 @@ input.sheet-skillsNotes{ min-width: 1.5em; text-align: center; border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + background-color: #000000; + color: #f5f5f5; } .sheet-rolltemplate-skill .inlinerollresult.fullcrit { border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + background-color: #008000; } .sheet-rolltemplate-skill .inlinerollresult.fullfail { border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + background-color: #FF0000; } .sheet-rolltemplate-skill .inlinerollresult.importantroll { border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ - background-color: #c5c6c7; /*Cool Gray 6 C*/ + background-color: #c5c6c7; } .sheet-rolltemplate-skill div{ width:100%; max-width:400px; } +/* sheet roll template for Second Wind */ +.sheet-rolltemplate-second-wind table { + width:100%; + font-size: 1em; + font-family: "Helvetica Neue", Helvetica, sans-serif; + border-collapse:separate; + border:solid black 1px; + border-radius:5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; +} +.sheet-rolltemplate-second-wind .sheet-tcat { + font-weight: bold; +} +.sheet-rolltemplate-second-wind th { + background-color: #000000; + color: #ffffff; + padding: 2px; + border-top: none; + line-height: 1.6em; + font-size: 1.2em; + text-align: center; +} + +.sheet-rolltemplate-second-wind td { + padding: 5px; + border:solid black 1px; + text-align:left; +} + +.sheet-rolltemplate-second-wind tr:nth-child(odd) { + background-color: #ffffff; +} + +.sheet-rolltemplate-second-wind tr:nth-child(even) { + background-color: #ededed; +} + +.sheet-rolltemplate-second-wind tr:first-child td{ + text-align: center; + border-left: none; + width: 75px; +} +.sheet-rolltemplate-second-wind .inlinerollresult { + display: inline-block; + min-width: 1.5em; + text-align: center; + border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ + background-color: #000000; + color: #f5f5f5; +} + +.sheet-rolltemplate-second-wind .inlinerollresult.fullcrit { + border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ + background-color: #008000; +} + +.sheet-rolltemplate-second-wind .inlinerollresult.fullfail { + border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ + background-color: #FF0000; +} + +.sheet-rolltemplate-second-wind .inlinerollresult.importantroll { + border: 2px solid #a7a8aa; /*Cool Gray 6 C*/ + background-color: #c5c6c7; +} +.sheet-rolltemplate-second-wind div{ + width:100%; + max-width:400px; +} /* sheet roll template for stat block */ .sheet-rolltemplate-statBlock table { width:100%; diff --git a/Star Wars Saga Edition/StarWarsSagaEdition.html b/Star Wars Saga Edition/StarWarsSagaEdition.html index 4d87bb4e95..1805ad59e7 100644 --- a/Star Wars Saga Edition/StarWarsSagaEdition.html +++ b/Star Wars Saga Edition/StarWarsSagaEdition.html @@ -4,7 +4,7 @@
-

+

Character Record Sheet
@@ -92,11 +92,13 @@
- - - + + + + - + + + + + + + + + + + + + @@ -1612,7 +1625,7 @@ -
Encumberance
+
Encumbrance
Equipment @@ -1620,17 +1633,20 @@
 /  - +
Heavy Load - + + Double Carry Capacity + +
Carrying Capacity (lift) - +
@@ -1753,7 +1769,7 @@
-

+

NPC Record Sheet
@@ -2404,7 +2420,7 @@
-

+

Vehicle Record Sheet
@@ -3203,7 +3219,14 @@ For Help, please see the wiki page. +
+
Hit Points
Hit Points
Condition
Current Total
Current Total Bonus @@ -111,6 +113,17 @@  / 
Second Wind
Current Total
Threshold
Total Defense Misc
+ + +
{{name}}
Health recovered: {{computed::roll1}}
+
+ + + + + + + +
+
{{charactername}} {{name}}
+ {{#rollBetween() computed::roll 2 9}} +
+ + {{computed::roll}}[base roll] + + + {{computed::modifier}}[modifier] + + + {{computed::mitigation}}[mitigation] + = + {{computed::finalResult}}[damage reduction] + +
+ {{/rollBetween() computed::roll 2 9}} + + {{#rollTotal() computed::roll 1}} +
+ + 1 [base roll] + - + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::mitigation}}[mitigation] + = + {{computed::finalResult}}[damage reduction] + +
+ {{/rollTotal() computed::roll 1}} + {{#rollTotal() computed::roll 10}} +
+ + 10 [base roll] + + + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::mitigation}}[mitigation] + = + {{computed::finalResult}}[damage reduction] + +
+ {{/rollTotal() computed::roll 10}} +
+
+
Passive Effect
+
{{typeeffect}}
+
+ + {{#rollTotal() computed::toggle 2}} +
+
Flaw
+
{{flaw}}
+
+ {{/rollTotal() computed::toggle 2}} +
+ + +
+
{{charactername}} {{name}}
+ {{#rollBetween() computed::roll 2 9}} +
+ + {{computed::roll}}[base roll] + + + {{computed::modifier}}[modifier] + + + {{computed::resistance}}[resistance] + = + {{computed::finalResult}}[total] + +
+ {{/rollBetween() computed::roll 2 9}} + + {{#rollTotal() computed::roll 1}} +
+ + 1 [base roll] + - + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::resistance}}[resistance] + = + {{computed::finalResult}}[total] + +
+ {{/rollTotal() computed::roll 1}} + {{#rollTotal() computed::roll 10}} +
+ + 10 [base roll] + + + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::resistance}}[resistance] + = + {{computed::finalResult}}[total] + +
+ {{/rollTotal() computed::roll 10}} +
+
+
Passive Effect
+
{{typeeffect}}
+
+ {{#rollTotal() computed::toggle 2}} +
+
Flaw
+
{{flaw}}
+
+ {{/rollTotal() computed::toggle 2}} +
+ + +
+
{{charactername}} Active WAR: {{name}}
+ {{#rollBetween() computed::roll 2 9}} +
+ + {{computed::roll}}[base roll] + + + {{computed::modifier}}[modifier] + + + {{computed::damage}}[base damage] + = + {{computed::rollResult}}[damage] + +
+ {{/rollBetween() computed::roll 2 9}} + + {{#rollTotal() computed::roll 1}} +
+ + 1 [base roll] + - + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::damage}}[base damage] + = + {{computed::rollResult}}[damage] + +
+ {{/rollTotal() computed::roll 1}} + {{#rollTotal() computed::roll 10}} +
+ + 10 [base roll] + + + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::damage}}[base damage] + = + {{computed::rollResult}}[damage] + +
+ {{/rollTotal() computed::roll 10}} + + {{#range}} +
Effort Modification: {{range}}
+ {{/range}} +
+ {{#rollGreater() computed::toggle 0}} +
+
Optional
+ {{#rollGreater() survival 0}} +
Self Healing: {{survival}}
+ {{/rollGreater() survival 0}} + {{#rollGreater() shielding 0}} +
Shielding Recovery: {{shielding}}
+ {{/rollGreater() shielding 0}} + {{#rollGreater() movement 0}} +
Immediate Movement: {{movement}}
+ {{/rollGreater() movement 0}} +
+ {{/rollGreater() computed::toggle 0}} + {{#rollTotal() computed::toggled 2}} +
+
Flaw
+
{{flaw}}
+
+ {{/rollTotal() computed::toggled 2}} +
+ + +
+
{{charactername}} Active WAR: {{name}}
+ {{#rollBetween() computed::roll 2 9}} +
+ + {{computed::roll}}[base roll] + + + {{computed::modifier}}[modifier] + + + {{computed::healing}}[base healing] + = + {{computed::rollResult}}[healing] + +
+ {{/rollBetween() computed::roll 2 9}} + + {{#rollTotal() computed::roll 1}} +
+ + 1 [base roll] + - + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::healing}}[base healing] + = + {{computed::rollResult}}[healing] + +
+ {{/rollTotal() computed::roll 1}} + {{#rollTotal() computed::roll 10}} +
+ + 10 [base roll] + + + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::healing}}[base healing] + = + {{computed::rollResult}}[healing] + +
+ {{/rollTotal() computed::roll 10}} + {{#range}} +
Effort Modification: {{range}}
+ {{/range}} +
+ {{#rollGreater() computed::toggle 0}} +
+
Optional
+ {{#rollGreater() survival 0}} +
Self Healing: {{survival}}
+ {{/rollGreater() survival 0}} + {{#rollGreater() shielding 0}} +
Shielding Recovery: {{shielding}}
+ {{/rollGreater() shielding 0}} + {{#rollGreater() movement 0}} +
Immediate Movement: {{movement}}
+ {{/rollGreater() movement 0}} +
+ {{/rollGreater() computed::toggle 0}} + + {{#rollTotal() computed::toggled 2}} +
+
Flaw
+
{{flaw}}
+
+ {{/rollTotal() computed::toggled 2}} +
+ + +
+
{{charactername}} Active WAR: {{name}}
+ {{#rollBetween() computed::roll 2 9}} +
+ + {{computed::roll}}[base roll] + + + {{computed::modifier}}[modifier] + + + {{computed::manipulation}}[manipulation] + = + {{computed::finalResult}}[result] + +
+ {{/rollBetween() computed::roll 2 9}} + + {{#rollTotal() computed::roll 1}} +
+ + 1 [base roll] + - + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::manipulation}}[manipulation] + = + {{computed::finalResult}}[result] + +
+ {{/rollTotal() computed::roll 1}} + {{#rollTotal() computed::roll 10}} +
+ + 10 [base roll] + + + {{whelming}}[secondary roll] + + + {{computed::modifier}}[modifier] + + + {{computed::manipulation}}[manipulation] + = + {{computed::finalResult}}[result] + +
+ {{/rollTotal() computed::roll 10}} + + {{#range}} +
Effort Modification: {{range}}
+ {{/range}} +
+
+
+
{{#rollTotal() malben 1}}Direct Damage{{/rollTotal() malben 1}}{{#rollTotal() malben 2}}Healing{{/rollTotal() malben 2}}
+
+
+ {{#rollTotal() malben 1}} {{damage}} {{/rollTotal() malben 1}} + {{#rollTotal() malben 2}} {{healing}} {{/rollTotal() malben 2}}
+
+
+
{{#rollTotal() malben 1}}Condition{{/rollTotal() malben 1}}{{#rollTotal() malben 2}}Boon{{/rollTotal() malben 2}}
+
+
{{condition}}
+
+
+ + {{#rollGreater() computed::toggle 0}} +
+
Optional
+ {{#rollGreater() survival 0}} +
Self Healing: {{survival}}
+ {{/rollGreater() survival 0}} + {{#rollGreater() shielding 0}} +
Shielding Recovery: {{shielding}}
+ {{/rollGreater() shielding 0}} + {{#rollGreater() movement 0}} +
Immediate Movement: {{movement}}
+ {{/rollGreater() movement 0}} +
+ {{/rollGreater() computed::toggle 0}} + + {{#rollTotal() computed::toggled 2}} +
+
Flaw
+
{{flaw}}
+
+ {{/rollTotal() computed::toggled 2}} +
+ + +
+
{{charactername}} Attack: {{name}}
+
Targeting: {{targetname}}
+ +
+ Damage: {{damage}} Imposed Roll Penalty: {{computed::penalty}} +
+ +
+ Offence: {{computed::offence}} Manipulation: {{computed::manipulation}} +
+ +
+ Defence Roll: [k](~{{targetdefencename}}|passive) +
+
+ {{#prefix}} +
+
Effect
+
+
{{prefix}}
+
+ {{/prefix}} + {{#effort}} +
+
Effort
+
+
{{effort}}
+
+ {{/effort}} + {{#info}} +
+
Quality Info
+
+
{{info}}
+
+ {{/info}} +
+ + +
+
{{name}}
+
Roll: {{original}}
+
Manoeuvre Value: {{manoeuvre}}
+
Result: {{roll}}
+
+ {{#rollTotal() original 1}} + You are surprised and lose the first round of combat + {{/rollTotal() original 1}} + {{#^rollTotal() original 1}} + {{#^rollTotal() original 10}} + You are sufficiently prepared and act on your turn + {{/^rollTotal() original 10}} + {{/^rollTotal() original 1}} + {{#rollTotal() original 10}} + Your reactions were sharp, granting a single action before turn order starts. + {{/rollTotal() original 10}} +
+
+
+ + +
+
{{name}}
+ {{#rollTotal() type 1}} +
Result: {{computed::result}} vs Target {{target}} + {{#rollTotal() computed::outcome 1}} + Success + {{/rollTotal() computed::outcome 1}} + {{#rollTotal() computed::outcome 2}} + Failure + {{/rollTotal() computed::outcome 2}} +
+ {{/rollTotal() type 1}} + {{#rollTotal() type 2}} +
Die Rolls: {{roll1}} {{roll2}} {{roll3}} {{roll4}}
+
+
+
Results
+
+ {{#rollTotal() computed::result 0}} + No Chance Success + {{/rollTotal() computed::result 0}} + {{#rollTotal() computed::result 1}} + High Chance + {{/rollTotal() computed::result 1}} + {{#rollTotal() computed::result 2}} + High Chance & Average Chance + {{/rollTotal() computed::result 2}} + {{#rollTotal() computed::result 3}} + High Chance, Average Chance & Low Chance + {{/rollTotal() computed::result 3}} + {{#rollTotal() computed::result 4}} + Full Chance Success + {{/rollTotal() computed::result 4}} + +
+ {{/rollTotal() type 2}} +
+
+ + +
+ {{#rollTotal() type 1}} +
{{name}} Ethereal Activation
+
Before the attack resolution you can move a single hex.
+
Grants 2 free hexes of movement after the current Attack is resolved.
+
Grants 2 free hexes of movement after the current Attack is resolved.
+
This Movement does not trigger any effects or qualities that rely uppon movement.
+ {{/rollTotal() type 1}} + {{#rollTotal() type 2}} +
{{name}} Natural Activation
+
Grants 2 free Effort for the current Defence Action
+ {{/rollTotal() type 2}} + {{#rollTotal() type 3}} +
{{name}} Physical Activation
+
Choose one:
+
- Prevents any Condition, Paresis, Trauma or Torment Medical Emergency caused by the attack
- Double the Damage reduction from this WAR.
+ {{/rollTotal() type 3}} +
+
+ + +
+
{{name}} {{ability}} Activation
+
{{description}}
+
+
+ + +
+
{{version}} Check{{pursuitName}}
+ {{#level}} +
+ Training: + {{level}} +
+ {{/level}} + {{#rollBetween() roll 2 9}} +
Roll: {{roll}} vs Difficulty {{difficulty}} + Result: + {{#rollLess() roll difficulty}} + + Failed + + {{/rollLess() roll difficulty}} + {{#^rollLess() roll difficulty}} + + Passed + + {{/^rollLess() roll difficulty}} +
+ {{/rollBetween() roll 2 9}} + {{#rollTotal() roll 1}} +
Underwhelming Roll: {{underwhelming}} vs {{difficulty}} + Result: + {{#rollLess() underwhelming difficulty}} + + Failed + + {{/rollLess() underwhelming difficulty}} + {{#^rollLess() underwhelming difficulty}} + + Passed + + {{/^rollLess() underwhelming difficulty}} + {{/rollTotal() roll 1}} + {{#rollTotal() roll 10}} +
Overwhelming Roll: {{overwhelming}} vs {{difficulty}} + Result: + {{#rollLess() overwhelming difficulty}} + + Failed + + {{/rollLess() overwhelming difficulty}} + {{#^rollLess() overwhelming difficulty}} + + Passed + + {{/^rollLess() overwhelming difficulty}} + {{/rollTotal() roll 10}} +
+
+ + + +
+
Stress Test
+ {{#^rollWasFumble() roll}} + {{#^rollWasCrit() roll}} +
Roll: {{roll}}
+
Result: + {{#rollLess() roll 2}} + + +2 Stress + + {{/rollLess() roll 2}} + {{#rollBetween() roll 2 4}} + + +1 Stress + + {{/rollBetween() roll 2 4}} + {{#rollBetween() roll 5 9}} + + +0 Stress + + {{/rollBetween() roll 5 9}} + {{#rollGreater() roll 9}} + + -1 Stress + + {{/rollGreater() roll 9}} +
+ {{/^rollWasCrit() roll}} + {{/^rollWasFumble() roll}} + {{#rollWasFumble() roll}} +
Underwhelming Roll: {{underwhelming}} vs Difficulty {{difficulty}}
+
Result: + {{#rollLess() underwhelming 2}} + + +2 Stress + + {{/rollLess() underwhelming 2}} + {{#rollBetween() underwhelming 2 4}} + + +1 Stress + + {{/rollBetween() underwhelming 2 4}} + {{#rollBetween() underwhelming 5 9}} + + +0 Stress + + {{/rollBetween() underwhelming 5 9}} + {{#rollGreater() underwhelming 9}} + + -1 Stress + + {{/rollGreater() underwhelming 9}} +
+ {{/rollWasFumble() roll}} + {{#rollWasCrit() roll}} +
Overwhelming Roll: {{overwhelming}} vs Difficulty {{difficulty}}
+
Result: + {{#rollLess() overwhelming 2}} + + +2 Stress + + {{/rollLess() overwhelming 2}} + {{#rollBetween() overwhelming 2 4}} + + +1 Stress + + {{/rollBetween() overwhelming 2 4}} + {{#rollBetween() overwhelming 5 9}} + + +0 Stress + + {{/rollBetween() overwhelming 5 9}} + {{#rollGreater() overwhelming 9}} + + -1 Stress + + {{/rollGreater() overwhelming 9}} +
+ {{/rollWasCrit() roll}} +
+
\ No newline at end of file diff --git a/The One Ring 2e/images/wiki/tor2e_pc_area_combat.png b/The One Ring 2e/images/wiki/tor2e_pc_area_combat.png index 61cf528091..8577fec3d8 100644 Binary files a/The One Ring 2e/images/wiki/tor2e_pc_area_combat.png and b/The One Ring 2e/images/wiki/tor2e_pc_area_combat.png differ diff --git a/The One Ring 2e/images/wiki/tor2e_pc_sheet.png b/The One Ring 2e/images/wiki/tor2e_pc_sheet.png index 9395abefc4..e5fe779218 100644 Binary files a/The One Ring 2e/images/wiki/tor2e_pc_sheet.png and b/The One Ring 2e/images/wiki/tor2e_pc_sheet.png differ diff --git a/The One Ring 2e/release-notes.md b/The One Ring 2e/release-notes.md index e135b4ab1a..ec33bbde7a 100644 --- a/The One Ring 2e/release-notes.md +++ b/The One Ring 2e/release-notes.md @@ -4,9 +4,23 @@ This is a rewrite based on the early 2e (basic) and 1e edition that also include # Release History +## 02.13.01 (Build 18) + +### CSS + +- fixed protection roll-button may be not available with minimal width + +## 02.13.00 (Build 17) + +### CSS + +- enhanced contrast of roll buttons + ## 02.12.01 (Build 16) + ### Bugfixes -- Fixed stance damagebonus should be dependent on the stance damage active checkbox (error was introduced with the grievous selectbox) + +- Fixed stance damagebonus should be dependent on the stance damage active checkbox (error was introduced with the grievous selectbox) ## 02.12.00 (Build 15) diff --git a/The One Ring 2e/sheet.css b/The One Ring 2e/sheet.css index 5844384ee2..951917cd51 100644 --- a/The One Ring 2e/sheet.css +++ b/The One Ring 2e/sheet.css @@ -763,9 +763,9 @@ .charsheet #armour-nested { display: grid; - grid-template-columns: min-content 130px min-content min-content min-content min-content; + grid-template-columns: min-content 125px min-content min-content min-content min-content; grid-template-rows: repeat(6, 22px); - column-gap: 5px; + column-gap: 2px; justify-items: left; padding: 0px 0px 0px 5px; border-left: var(--solidborder); @@ -887,13 +887,15 @@ .ui-dialog .charsheet :is(button[type="roll"], button[type="roll"][class~="table-rolls"], button[type="action"][class~="parsed-rolls"]) { + color: rgb(40, 40, 40); + font-weight: bold; font-size: 1.3em; background: transparent; border: none; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; - opacity: 1; + opacity: 0.8; padding: 0px; margin: 0px 0px; outline: none; @@ -911,8 +913,10 @@ /* change D12 to target-appropriate crosshairs */ font-family: "Pictos Custom" !important; content: "[" !important; - color: inherit; - opacity: 0.3; + font-size: 1.1em; + color: rgb(40, 40, 40); + font-weight: normal; + opacity: 0.8; } .ui-dialog .charsheet :is(button[type="roll"][class~="table-rolls"], @@ -1069,7 +1073,7 @@ background-color: var(--yellow); border: 5px solid transparent; border-image-source: var(--borderred); - border-image-slice: 24 24 24 24; + border-image-slice: 20 20 20 20; border-image-repeat: repeat; } diff --git a/The One Ring 2e/sheet.html b/The One Ring 2e/sheet.html index c4b02ec856..7d6930bcbe 100644 --- a/The One Ring 2e/sheet.html +++ b/The One Ring 2e/sheet.html @@ -1,4 +1,4 @@ - + @@ -2548,7 +2548,25 @@ }); } } - + + if (build < 18) { + attrs["build"] = 18; + let releaselog = {msg:""}; + hlog(`Release 02.13.01 - ${new Date().toLocaleString()}`, releaselog); + if (v.sheettab === "isPC"){ + getAttrs(['releaselog'], function(values){ + hlog(` +### CSS +- fixed protection roll-button may be not available with minimal width + `, releaselog); + hlog("==============", releaselog); + attrs['releaselog'] = releaselog.msg + values['releaselog']; + if (Object.keys(attrs).length) { + setAttrs(attrs); + } + }); + } + } /* if (build === 9) { attrs["build"] = 8; diff --git a/The One Ring 2e/sheet.png b/The One Ring 2e/sheet.png index 57197b6912..e5fe779218 100644 Binary files a/The One Ring 2e/sheet.png and b/The One Ring 2e/sheet.png differ diff --git a/The One Ring 2e/translations/de.json b/The One Ring 2e/translations/de.json index e4f31bd0e9..d33b2508e2 100644 --- a/The One Ring 2e/translations/de.json +++ b/The One Ring 2e/translations/de.json @@ -13,9 +13,9 @@ "resolve": "Entschlossenheit", "parry-and-shield": "Abwehr & Schild", "armour": "Rüstung", - "helm": "Helmet", + "helm": "Helm", "armour-placeholder": "[Rüstung]", - "helm-placeholder": "[Helmet]", + "helm-placeholder": "[Helm]", "skills": "Fertigkeiten", "custom": "Gesellschaft", "perception": "Wahrnehmung", @@ -200,7 +200,7 @@ "bows-description": "Mit der Kampffertigkeit Bogen können Charaktere Fernkampfangriffe mit einem Bogen oder großen Bogen ausführen.", "spears-description": "Mit der Kampffertigkeit SPEERE können Charaktere mit einem kurzen Speer oder einem Speer kämpfen oder mit einem großen Speer angreifen.", "swords-description": "Mit der Kampffertigkeit SCHWERTER können Charaktere im Nahkampf mit Kurzschwertern, Schwertern und Langschwertern angreifen.", - "other-placeholder": "[Other]", + "other-placeholder": "[Andere]", "close-fitting": "CF", "close-fitting-description": "Close Fitting: Protection +2 (Ancient armour: +3)", "cunning-make": "CM", @@ -224,5 +224,5 @@ "custom-tn": "ZW:", "custom-successdice": "Erfolg:", "custom-featdie": "Heldenw.:", - "custom-rollname-placeholder": "[Roll Text]" + "custom-rollname-placeholder": "[Wurf Text]" } \ No newline at end of file diff --git a/The One Ring 2e/translations/es.json b/The One Ring 2e/translations/es.json index 42605e5017..79ca16813a 100644 --- a/The One Ring 2e/translations/es.json +++ b/The One Ring 2e/translations/es.json @@ -9,29 +9,29 @@ "endurance": "Aguante", "endurance-short": "Aguan.", "current-endurance": "Aguante actual", - "hate": "Hate", - "resolve": "Resolve", + "hate": "Odio", + "resolve": "Determinación", "parry-and-shield": "Parada & Escudo", "armour": "Armadura", - "helm": "Helmet", + "helm": "Casco", "armour-placeholder": "[Armadura]", - "helm-placeholder": "[Helmet]", + "helm-placeholder": "[Casco]", "skills": "Habilidades", "custom": "Costumbres", "perception": "Percepción", "vocation": "Vocación", "weapon-name": "Nombre", - "weapon-rating": "Rango", - "weapon-type": "Type", + "weapon-rating": "Puntos", + "weapon-type": "Tipo", "weapon-damage": "Daño", - "weapon-load": "Load", + "weapon-load": "Carga", "weapon-injury": "Herida", - "weapon-fell": "F", - "weapon-fell-description": "Fell: Injury +2 (superior weapons: +4)", - "weapon-grievous": "G", - "weapon-grievous-description": "Grievous: Damage +1 (superior weapons: +2)", - "weapon-keen": "K", - "weapon-keen-description": "Keen: Piercing Blow if Feat die 9+ (superior weapons: 8+) or Gandalf Rune", + "weapon-fell": "C", + "weapon-fell-description": "Cruel: Herida +2 (armas superiores: +4)", + "weapon-grievous": "D", + "weapon-grievous-description": "Dolorosa: Daño +1 (armas superiores: +2)", + "weapon-keen": "A", + "weapon-keen-description": "Afilada: Golpe perforante si el dado de proeza es 9+ (armas superiores 8+) o Runa de Gandalf", "weapon-called-shot": "Golpe apunt.", "special-abilities": "Habilidades Especiales", "hope": "Esperanza", @@ -41,20 +41,20 @@ "standard-of-living": "Nivel de Vida", "cultural-blessing": "Bendición", "calling": "Ocupación", - "shadow-weakness": "Debilidad", + "shadow-weakness": "Senda de la Sombra", "specialities": "Especialidades", "distinctive-features": "Rasgos dist.", "attributes": "Atributos", "body": "Cuerpo", "body-description": "Un personaje con una puntuación elevada de Cuerpo puede ser duro y vigoroso, o bien alto y ágil, o incluso atractivo o imponente. Todo aspecto de un personaje que se basa en el vigor o en el bienestar físico viene representado en el juego por el Cuerpo.", - "favoured": "Favorito", + "favoured": "Favorecida", "heart": "Corazón", "heart-description": "Mide la capacidad de un personaje para la emoción, la energía, y el entusiasmo. Un héroe con una puntuación de Corazón elevada puede ser ardiente, intenso, y difícil de desanimar. Las actividades que se benefician de un carácter apasionado o enérgico pueden verse influenciadas por la puntuación de Corazón de un personaje.", "wits": "Mente", "wits-description": "Un héroe con una puntuación elevada de Mente puede ser inteligente, atento, y tenaz. Una persona perspicaz piensa rápido, y está probablemente alerta y vigilante, por lo que cualquier acción que exija dichas cualidades se suele beneficiar de la puntuación de Mente de un héroe.", "valour": "Valor", "valour-description": "El Valor es una medida del coraje de un personaje, que se templa mediante gestas peligrosas. Un hombre de valor está dispuesto a ponerse en peligro a cambio de la seguridad de otros. En una época en la que nuevas amenazas surgen cada día, el Valor es una virtud muy apreciada, y un aventurero valiente es a menudo estimado por encima de todos los demás individuos. Por esta razón, el rango de un héroe en Valor también refleja el nivel de renombre que ha alcanzado llevando a cabo grandes gestas.", - "wisdom": "Sabidura", + "wisdom": "Sabiduría", "wisdom-description": "El conocimiento de las propias capacidades de un personaje, su confianza en sí mismo, y su capacidad de buen juicio cambian y mejoran con las luchas y los conflictos. Una característica con profundas implicaciones personales, el rango de un héroe en Sabiduría es también un indicativo del estatus del mismo ante quieenes aprecian estas cualidades.", "common-skills": "Habilidades comunes", "skill-groups": "Grupos habil.", @@ -74,7 +74,7 @@ "movement-description": "La pasta de la que está hecho un aventurero veterano viene dada por su capacidad de salvar obstáculos, soportar largos viajes, y moverse en secreto.", "awareness": "Alerta", "awareness-description": "La habilidad Alerta representa la capacidad de un héroe para reacionar, y darse cuenta de algo inesperado, fuera de lo ordinario, o difícil de detectar. Refleja a la vez unos sentidos agudos y la experiencia necesaria para entender lo que ves y oyes.

Un nivel elevado de Alerta expresa una vigilancia extraordinaria, y es mu útil al miembro de la compañía que ocupa el papel de vigía.", - "insight": "Persipcacia", + "insight": "Perspicacia", "insight-description": "La Perspicacia es la capacidad de un héroe para ver más allá de las apariencias, reconociendo los pensamientos y creencias ocultos de la gente. Con Perspicacia los héroes puede reconocer cuando alguien les miente, y extraer conclusiones útiles acerca de los motivos de la gente. Un héroe con una puntuación elevada de Perspicacia es a menudo reconocido como un individuo sensible y con criterio, y muchos podrían buscar sus consejos.

Una tirada con éxito de Perspicacia proporciona al héroe un retrato fiel, aunque parcial, del personaje observado. Un éxito grande o extraordinario revela verdades acerca de un individuo que él mismo podría ignorar. Las pruebas de Perspicacia se pueden tirar en oposición a un adeversario que use Persuadir o cualquier otra habilidad de personalidad.", "search": "Buscar", "search-description": "Buscar se utiliza cuando se intenta encontrar algo examinando de cerca. Esta habilidad puede permitir a un héroe registrar una biblioteca para encontrar una información relevante, buscar puertas secretas o inscripciones ocultas, reconocer un rostro familiar en una multitud, o incluso registrar las ropas de un sospechoso de ser un ladrón. Se requiere una tirada por cada inspección de un área pequeña, como por ejemplo una habitación. Las tiradas de Buscar se llevan a cabo principalmente a instancias del jugador, en vez del Maestro del Saber, porque la percepción pasiva de los personajes se suele determinar mediante la Alerta.

Una tirada con éxito de Buscar permite por lo general a los personajes encontrar lo que están buscando, si se encuentra en la zona registrada. Un éxito grande o extraordinario suele indicar una resolución más rápida. Si el objeto está particularmente bien escondido, el Maestro del saber podría decidir que se requiere un nivel mayor de éxito para descubrirlo.", @@ -120,8 +120,8 @@ "total-shadow": "Sombra total", "temporal-shadow": "Sombra temp.", "permanent-shadow": "Sombra perm.", - "miserable": "Miserable", - "wounded": "Wounded", + "miserable": "Desanimado", + "wounded": "Herido", "rewards-and-virtues": "Recompensas & Virtudes", "rewards": "Recompensas", "virtues": "Virtudes", @@ -130,8 +130,8 @@ "advancement-points": "Puntos de avance", "experience": "Experiencia", "experience-description": "La experiencia es una medida de que un personaje se ha visto afectado o adquirido conocimientos o habilidades a través de la observación directa o la participación durante un período de tiempo.", - "treasure": "Tesoro", - "treasure-rating": "Rango
Tesoro", + "treasure": "Riqueza", + "treasure-rating": "Puntos de
Riqueza", "standing": "Estatus", "background": "Trasfondo", "notes": "Notas", @@ -149,11 +149,11 @@ "event-description": "Descripción del acontecimiento", "mount": "Montura", "mount-name": "Nombre", - "mount-treasure": "Treasure", - "mount-vigour": "Vigour", + "mount-treasure": "Riqueza", + "mount-vigour": "Vigor", "rolls-for": "tira", "against-tn": "contra NO", - "protection": "Proteccion", + "protection": "Protección", "protection-abbr": "Prot.", "injury": "Herida", "target-number": "Número objetivo", @@ -167,18 +167,18 @@ "special-damage": "Daño Especial", "general": "General", "flaws": "Defectos", - "adventure-points": "Puntos
Aventura", - "skill-points": "Puntos
Habilidad", + "adventure-points": "Puntos de
Aventura", + "skill-points": "Puntos de
Habilidad", "adventure-points-total": "Total
Aventura", - "skill-points-total": "Skill
Total", - "treasure-load-title": "Carga del tesoro (transportado)", - "rating": "Rango", + "skill-points-total": "Total
Habilidad", + "treasure-load-title": "Carga de la riqueza (transportado)", + "rating": "Puntuación", "tn-strength": "NO", "tn-heart": "NO", "tn-wits": "NO", "strength": "Fuerza", "strength-description": "Un personaje con una puntuación alta en Fuerza puede ser duro y estar en forma, o ser alto y ágil, o incluso atractivo o imponente. Cada aspecto de un personaje que se basa en el vigor o el bienestar físico está representado en el juego por la Fuerza.", - "endurance-max": "Aguan. (max.)", + "endurance-max": "Aguan. (máx.)", "hope-max": "Esperanza (máx.)", "load": "Carga", "fatigue": "Fatiga", @@ -200,29 +200,29 @@ "bows-description": "La Habilidad de ARCOS permite al aventurero realizar ataques a distancia un arco o un arco largo.", "spears-description": "La Habilidad de LANZAS permite al aventurero usar una lanza o una lanza larga.", "swords-description": "La Habilidad de ESPADAS permite al aventurero usar espadas cortas, espadas y espadas largas.", - "other-placeholder": "[Other]", - "close-fitting": "CF", - "close-fitting-description": "Close Fitting: Protection +2 (Ancient armour: +3)", - "cunning-make": "CM", - "cunning-make-description": "Cunning make: Load -2 (Ancient armour: -3)", - "reinforced": "RI", - "reinforced-description": "Reinforced: Parry +1 (Superior shield: +2)", + "other-placeholder": "[Otro]", + "close-fitting": "Aj.", + "close-fitting-description": "Ajustada: Protección +2 (Ajustada por los antiguos: +3)", + "cunning-make": "HF", + "cunning-make-description": "Hábilmente fabricada: Carga -2 (Hábilmente fabricada por los antiguos: -3)", + "reinforced": "R", + "reinforced-description": "Reforzado: Parada +1 (escudo superior: +2)", "stance-attack-modifier": "Mod. Ataque", "stance-attack-modifier-description": "Dependiendo de la posición de combate, el modificador de ataque será vanguardia: 1/abierta: 0/defensiva: -1/retraguardia: 0. Este modificador de ataque es el valor predeterminado para los dados de bonificación de ataque. Si un personaje está en posición defensiva luchando contra más de un jugador adversario, puede usar la caja de consulta de dados de bonificación para establecer -2/-3 según la cantidad de adversarios.", - "conditions-modifiers": "Conditions / Modifiers", + "conditions-modifiers": "Condiciones / Modificadores", "normal": "Normal", - "illfavoured": "Ill. Fav.", - "parsed-rolls": "Parsed rolls", - "table-rolls": "Table rolls", - "stance": "Stance", - "stance-forward": "Forw.", - "stance-open": "Open", + "illfavoured": "Desfav.", + "parsed-rolls": "Tiradas
analizadas", + "table-rolls": "Tiradas
de tabla", + "stance": "Posición", + "stance-forward": "Vang.", + "stance-open": "Abie.", "stance-defensive": "Def.", - "stance-rearward": "Rear", - "stance-damage": "Stance Damage:", - "custom-roll": "Custom Roll:", - "custom-tn": "TN:", - "custom-successdice": "Success:", - "custom-featdie": "Feat:", - "custom-rollname-placeholder": "[Roll Text]" + "stance-rearward": "Retag.", + "stance-damage": "Daño posición:", + "custom-roll": "Tirada personalizada:", + "custom-tn": "NO:", + "custom-successdice": "Éxito:", + "custom-featdie": "Proeza:", + "custom-rollname-placeholder": "[Texto para la tirada]" } \ No newline at end of file diff --git a/The One Ring 2e/translations/it.json b/The One Ring 2e/translations/it.json index 8957672d16..668e4c822a 100644 --- a/The One Ring 2e/translations/it.json +++ b/The One Ring 2e/translations/it.json @@ -1,228 +1,228 @@ { - "sheet-type-Player-Character": "Player Character", - "sheet-type-LM-Character": "LM Character", - "sheet-type-Adversary": "Adversary", - "attribute-level": "Attribute Level", - "weary-state": "Weary State", - "weary-normal": "Not Weary", - "weary-weary": "Weary", - "endurance": "Endurance", - "endurance-short": "Endur.", - "current-endurance": "Current Endurance", - "hate": "Hate", - "resolve": "Resolve", - "parry-and-shield": "Parry & Shield", - "armour": "Armour", - "helm": "Helmet", - "armour-placeholder": "[Armour]", - "helm-placeholder": "[Helmet]", - "skills": "Skills", - "custom": "Custom", - "perception": "Perception", - "vocation": "Vocation", - "weapon-name": "Name", - "weapon-rating": "Rating", - "weapon-type": "Type", - "weapon-damage": "Dmg.", - "weapon-load": "Load", - "weapon-injury": "Inj.", - "weapon-fell": "F", - "weapon-fell-description": "Fell: Injury +2 (superior weapons: +4)", - "weapon-grievous": "G", - "weapon-grievous-description": "Grievous: Damage +1 (superior weapons: +2)", - "weapon-keen": "K", - "weapon-keen-description": "Keen: Piercing Blow if Feat die 9+ (superior weapons: 8+) or Gandalf Rune", - "weapon-called-shot": "Called Shot", - "special-abilities": "Special Abilities", - "hope": "Hope", - "current-hope": "Current Hope", - "character-name": "Name", - "culture": "Culture", - "standard-of-living": "Living Std.", - "cultural-blessing": "Blessing", - "calling": "Calling", - "shadow-weakness": "Weakness", - "specialities": "Specialities", - "distinctive-features": "Dist. Features", - "attributes": "Attributes", - "body": "Body", - "body-description": "A character with a high Body score can be tough and fit, or tall and agile, or even attractive or imposing. Every aspect of a character that relies on vigour or physical well-being is represented in the game by Body.", - "favoured": "Favoured", - "heart": "Heart", - "heart-description": "Measures a character’s capacity for emotion, energy and enthusiasm. A hero with a high Heart score can be fiery, intense, and hard to demoralise. Activities that benefit from a passionate or energetic temper may be influenced by a character’s Heart score.", - "wits": "Wits", - "wits-description": "A hero with a high Wits rating can be clever, attentive and strong-willed. A sharp-witted person is a quick thinker, and probably alert and vigilant, so any action that calls upon these qualities benefits from a hero’s Wits score.", - "valour": "Valour", - "valour-description": "Valour is a measure of a character’s courage, as tempered by dangerous deeds. A man of valour is willing to place himself in danger for the safety of others. In a time where new threats arise each day, courage is highly prized, and a valiant adventurer is often esteemed above all other individuals. For this reason, a hero’s rank in Valour also reflects the level of renown he attained as a doer of great deeds.

When a player decides to favour Valour over Wisdom, his hero’s actions, not his judgement, will tend to prove his status in the eyes of others. From the lowliest start as a wandering adventurer, a hero might one day equal the repute and respect earned by a famous champion or king.", - "wisdom": "Wisdom", - "wisdom-description": "A character’s knowledge of his own capabilities, his self- confidence and capacity for good judgement changes and improves with struggles and strife. A characteristic with deeply personal implications, a hero’s rank in Wisdom also determines the stature of the hero in the eyes of those that prize these qualities.

When Wisdom is chosen over Valour when spending Experience points, it suggests that the hero’s adventures are affecting him subtly but profoundly. Starting as a more or less ingenuous individual with an adventurous spirit, the hero can achieve the maturity and sagacity of the Wise.", - "common-skills": "Common Skills", - "skill-groups": "Skill Groups", - "awe": "Awe", - "awe-description": "This skill measures a hero’s capacity to provoke respect in onlookers, and determines the impression a hero makes on someone he meets for the first time. Depending on the circumstances and the hero’s intentions or disposition, it can be used to instil wonderment, admiration, or even fear. Awe arises from a character’s native charisma, but can also be engineered with a dramatic entrance or impressive attire.

A successful use of the skill provokes the chosen effect. A failure fails to have any impact, or can even lead to the opposite result! Achieving a great success means that the hero has won the hearts of the onlookers, or cowed them into silent submission. An extraordinary success may produce open reverence, or panic.", - "inspire": "Inspire", - "inspire-description": "A hero able to Inspire others can instil positive feelings in others, urging them to act on the matter at hand. This is a feat achieved mainly through example, charisma and personal conviction, rather than through the effective use of words (which falls under Persuade, below). It can be used on individuals, but is especially effective in influencing crowds. Heroes with high Inspire ratings can be forceful orators, passionate agitators, and well- loved leaders of men

A successful Inspire roll awakens a chosen feeling in the subject, so long as it is not in opposition to their current mood. A great success is enough to influence wholly disinterested individuals, and an extraordinary success may turn rivals into supporters.", - "persuade": "Persuade", - "persuade-description": "This skill allows a hero to apply his or her reasoning to convince another individual of an idea or course of action. It can be used to influence small groups of listeners, but only if used in an appropriate context, such as a common hall. An attempt at persuasion requires more time than other Personality skills, but can have a more lasting impact on other characters’ actions. A high Persuade score denotes an uncommon eloquence, a love of speech and knowledge of its proper use and its effect on listeners. Wise men, advisors to chieftains and kings and their messengers all share this passion for the spoken word.

The successful use of the skill lets the hero convince his audience of the flaws in their current position. A great success convinces the subject of the quality of the hero’s stance, while an extraordinary success may turn the subject into an ardent believer.", - "personality-description": "A hero’s personality comes through in his capacity to impress, encourage and influence others. A good level of proficiency in all three skills in this group is the mark of a leader.", - "athletics": "Athletics", - "athletics-description": "Athletics is a broad skill, covering most of the physical activities that a hero might undertake while adventuring, including r unning, leaping, climbing, swimming and throwing stones or other small objects. Heroes with high Athletics skill scores exhibit a winning combination of physical prowess, grace and control, generally gained through continuous exercise and daily exertion.

A successful Athletics roll produces a satisfactory outcome in the physical activity, while a failed roll might even lead to serious harm, depending on the circumstances. A great or extraordinary result suggests a spectacular achievement.", - "travel": "Travel", - "travel-description": "In the Third Age, the cities, villages and towns of Middle- earth are often separated by many leagues of wild or deserted areas. Roads that used to lead safely to distant realms now end in broken trails that go nowhere.

When the company needs to cover a distance across uncertain territory, including by boat, every companion is required to perform one or more tests using the Travel skill to avoid becoming weary too soon. While certainly the product of exper ience, the use of Travel benef its mostly from a hero’s strength of spirit.", - "stealth": "Stealth", - "stealth-description": "A hero resorts to Stealth whenever he needs, or is forced, to act in a furtive or secret way. The skill includes hiding, moving quietly and shadowing others. These activities often rely on quickness and precision, so a stealthy hero combines practiced caution with the ability to judge the right moment to take a chance. Hunters, burglars, and solitary fighters use Stealth to prosper in their trade.

A successful Stealth roll indicates that the character has gone unnoticed, while a failure has almost certainly attracts unwanted attention.

A great or extraordinary success produces an outcome so flawless that it even be impossible to trace the hero’s actions after the fact.", - "movement-description": "Overcoming obstacles, enduring long journeys and moving secretly are the stuff adventurers are made of.", - "awareness": "Awareness", - "awareness-description": "The Awareness skill represents a hero’s readiness to react and his ability to notice something unexpected, out of the ordinary, or difficult to detect. High skill reflects both keen senses and the experience to understand what you see and hear.

A high Awareness rating expresses an extraordinar y watchfulness, and is extremely useful to a companion who ser ves as a look-out for the company.", - "insight": "Insight", - "insight-description": "Insight is the ability of a hero to see beyond appearances, recognising people’s hidden thoughts and beliefs. Heroes with Insight can recognise when someone is lying, and can draw useful conclusions about people’s motives. A hero with a high Insight score is often recognised as being a sensible and discerning individual, and many might seek his counsel. A successful Insight roll provides the hero with a faithful, if partial, portrait of the character observed. A great or extraordinary success reveals truths about an individual of which he himself is ignorant. Insight tests may be rolled in opposition to an adversary using Persuade or another Personality skill.", - "search": "Search", - "search-description": "Search is used when trying to find something by close examination. This skill may let a hero search a library to locate a piece of relevant information, look for concealed doors or hidden inscriptions, recognise a familiar face in a crowd or even search a suspected thief’s clothing. One roll is required for each inspection of a small area, such as a room. Search rolls are generally initiated by the player rather than the Loremaster; Awareness is used to see if the characters passively notice something. A successful Search roll generally lets the characters find what they are looking for if it is to be found. A great or extraordinary success usually means the object is found more quickly. If an item is particularly well hidden, the Loremaster could decide that a higher level of success is required to uncover it.", - "perception-description": "The ability to catch hidden details often pays off, be it noticing an odd noise that gives away an ambusher, catching the gleam in the eyes of a liar or spotting the crack in the wall that reveals a secret door.", - "explore": "Explore", - "explore-description": "Adventurers rely on their Explore skill when they move through an unfamiliar area of the Wild. An Explore test may be required during a journey to find the company’s heading, or to get back on track after a detour; to cope with adverse weather conditions or other natural hazards; to create paths through the wilderness suitable for others to follow; or to choose a suitable place to set up camp. A high Explore rating is an invaluable resource for a companion acting as a scout for his group of adventurers.", - "healing": "Healing", - "healing-description": "The knowledge of how to relieve pain and apply remedies to restore health to the suffering is an ancient one, and treatments differ from culture to culture. Almost all traditions, however, agree on the treatment of serious injuries, which must be immediately tended to keep from worsening.

The Healing skill includes bone setting and the use of herbs or salves, but the outcome relies on the ability of the healer to understand what ails the sufferer and determine what should be done.", - "hunting": "Hunting", - "hunting-description": "Knowing how to hunt is a fundamental skill common in much of Middle-earth. A Hunting roll may be required when pursuing a creature through wild areas, or to locate tracks and follow them, or to identify a quarry by its spoor. The skill also covers preparing traps and the training and use of hunting dogs or birds. In wilder areas, hunters learn to apply their trade to more dangerous quarry, such as Orcs, Spiders or Wargs, or else risk becoming the prey.", - "survival-description": "The three skills of this group, essential for a roving adventurer, make a hero an invaluable member of a company.", - "song": "Song", - "song-description": "Hobbits and Men, Elves and Dwarves, even Goblins and maybe Orcs: all the creatures of Middle-earth celebrate by playing music and singing songs. Great deeds and grim misfortunes are remembered in verse, and pleasant or even comic stories are told to ease spirits and find comfort.

Song is used to recite poems, sing songs or play instruments suitable to the character’s culture. It can also be used to learn new works or create original compositions.", - "courtesy": "Courtesy", - "courtesy-description": "The Free Peoples recognise common norms of decency and ancient conventions of behaviour. Observing these traditions demonstrates respect and is a way of quickly establishing a friendly footing even with complete strangers.

A hero succeeding in a Courtesy roll knows what to say at the right moment to make a good impression with their host, or is mindful of his manners when receiving guests.", - "riddle": "Riddle", - "riddle-description": "Owing its name to the ancient Game, the Riddle skill represents a hero’s ability to draw conclusions from seemingly unconnected scraps of information, by deduction, reasoning and intuition.

An adventurer also relies on Riddle whenever he is forced to talk about a subject but wants to conceal part of what he knows, for example to explain something about himself without revealing his true identity.

An accepted custom among many creatures, speaking in riddles is usually allowed among strangers meeting for the first time who want to speak guardedly. This skill is also used to gain helpful insight from a spoken or written riddle.", - "custom-description": "While heroes are often held to be uncivilised brutes by the common folk, their lives can sometimes depend on knowing the proper words, wisest song or cleverest answer. Excelling in these skills is considered a noble achievement.", - "craft": "Craft", - "craft-description": "The Craft skill doesn’t really cover the whole range of abilities of smiths, wrights and other artisans, but reflects the talent of a character for making or mending things by hand, although Traits like Smithcraft or Woodwright can be used to reflect proficiency in a specific craft. Craft could be used to attempt to repair the wheel of a cart, or construct an improvised raft with wood found on a river shore, or even when trying to start a fire on a windy hill.

A high Craft score may indicate that the hero was a craftsman before starting his life of adventure. Some races, such as the Dwar ves and Noldor Elves, revere crafts as the highest expression of creativity.", - "battle": "Battle", - "battle-description": "A hero’s proficiency in this skill shows his grasp of the rules of battle, and his ability to keep his head when involved in a violent confrontation. The Battle skill can be used to gain an advantage when involved in a fight with a group of foes, or to lead a company of men in open battle and maintain order in the midst of chaos (combat itself is covered by Weapon skills).", - "lore": "Lore", - "lore-description": "Lore expresses a hero’s love for learning, be it a fascination with descriptions of distant lands, or an interest in family genealogy. Whenever an action involves knowledge of some kind, a Lore roll is required. Heroes are considered to be knowledgeable in the traditions of their own people, and so the Loremaster should rarely require a player to make a Lore test for information regarding their character’s culture, background or the area they originally come from.", - "vocation-description": "Before his resolve hardened and pushed a hero on his road to adventure, he probably led a life much like an ordinary individual of his folk; learning a trade, defending his people and absorbing their accumulated wisdom.", - "weapon": "Weapon", - "weapon-encumbrance-abbreviation": "Enc", - "combat-values": "Combat Values", - "damage": "Damage", - "ranged": "Ranged", - "parry": "Parry", - "total-parry": "Total Parry", - "shield": "Shield", - "shield-placeholder": "[Shield]", - "head-gear": "Head Gear", - "gear": "Gear", - "description": "Description", - "encumbrance-abbreviation": "Enc", - "character-states": "Character States", - "total-fatigue": "Total Fatigue", - "encumbrance-fatigue": "Enc. Fatigue", - "travel-fatigue": "Travel Fatigue", - "total-shadow": "Total Shadow", - "temporal-shadow": "Temp. Shadow", - "permanent-shadow": "Perm. Shadow", - "miserable": "Miserable", - "wounded": "Wounded", - "rewards-and-virtues": "Rewards & Virtues", - "rewards": "Rewards", - "virtues": "Virtues", - "progress-and-keepings": "Progress & Holdings", - "fellowship-pool": "Fellowship", - "advancement-points": "Advancement Points", - "experience": "Experience", - "experience-description": "Experience is a measure of a character’s having been affected by or gained knowledge or skill through direct observation or participation over a period of time.", - "treasure": "Treasure", - "treasure-rating": "Treasure
Rating", - "standing": "Standing", - "background": "Background", - "notes": "Notes", - "company": "Company", - "guide": "Guide", - "scout": "Scout", - "huntsman": "Huntsman", - "look-out_man": "Look-out Man", - "fellowship-focus": "Fellowship Focus", - "fellowship-phase": "Fellowship Phase", - "sanctuaries": "Sanctuaries", - "patron": "Patron", - "tale-of-years": "Tale of Years", - "year": "Year", - "event-description": "Event Description", - "mount": "Mount", - "mount-name": "Name", - "mount-treasure": "Treasure", - "mount-vigour": "Vigour", - "rolls-for": "rolls for", - "against-tn": "against TN", - "protection": "Protection", + "sheet-type-Player-Character": "Eroe Giocante", + "sheet-type-LM-Character": "Personaggio del MDS", + "sheet-type-Adversary": "Avversario", + "attribute-level": "Livello di attributo", + "weary-state": "Affaticato", + "weary-normal": "Non affaticato ", + "weary-weary": "Affaticato ", + "endurance": "Resistenza", + "endurance-short": "Resist.", + "current-endurance": "Resistenza attuale", + "hate": "Odio", + "resolve": "Risolutezza", + "parry-and-shield": "Difesa e Scudo", + "armour": "Armatura ", + "helm": "Elmo", + "armour-placeholder": "[Armatura]", + "helm-placeholder": "[Elmo]", + "skills": "Abilità ", + "custom": "Usanze", + "perception": "Percezione ", + "vocation": "Vocazione ", + "weapon-name": "Nome", + "weapon-rating": "Grado", + "weapon-type": "Tipo", + "weapon-damage": "Danno", + "weapon-load": "Ingombro ", + "weapon-injury": "Ferire", + "weapon-fell": "I", + "weapon-fell-description": "Implacabile: Ferire +2 (arma superiore: +4)", + "weapon-grievous": "D", + "weapon-grievous-description": "Dolorosa: Danno +1 (arma superiore: +2)", + "weapon-keen": "A", + "weapon-keen-description": "Acuminata: Colpo Perforante se Dado Impresa 9+ (arma superiore: 8+) o Runa di Gandalf", + "weapon-called-shot": "Colpo mirato", + "special-abilities": "Abilità Speciali", + "hope": "Speranza", + "current-hope": "Speranza attuale", + "character-name": "Nome", + "culture": "Cultura Eroica", + "standard-of-living": "Tenore di Vita", + "cultural-blessing": "Vantaggio Culturale", + "calling": "Vocazione ", + "shadow-weakness": "Discesa nell'ombra", + "specialities": "Specialità", + "distinctive-features": "Tratti Distintivi", + "attributes": "Attributi", + "body": "Forza", + "body-description": "Un personaggio con un alto punteggio in FORZA può essere robusto e in forma, o alto e agile, o addirittura attraente o maestoso. Ogni aspetto del personaggio che fa affidamento su vigore o sul benessere è rappresentato nel gioco dalla FORZA.", + "favoured": "Favorito ", + "heart": "Cuore", + "heart-description": "Misura la capacità di un personaggio di provare emozioni, la sua energia ed entusiasmo. Un eroe con un punteggio CUORE alto può essere appassionato, intenso e difficile da demoralizzare. Le attività che beneficiano di un temperamento appassionato o energico possono essere influenzate dal punteggio di CUORE di un personaggio.", + "wits": "Ingegno", + "wits-description": "Un eroe con un alto grado di INGEGNO può essere intelligente, attento e volitivo. Una persona arguta è un pensatore rapido, e probabilmente all'erta e vigile, quindi qualsiasi azione che fa appello a queste qualità beneficia del punteggio di INGEGNO di un eroe.", + "valour": "Valore", + "valour-description": "Il VALORE misura il coraggio di un Eroe, temprato da gesta pericolose. Un personaggio valoroso è disposto a mettersi in pericolo per la sicurezza degli altri. In un tempo in cui ogni giorno nascono nuove minacce, il coraggio è una virtù molto apprezzata, e un avventuriero valoroso è spesso stimato più di tutti gli altri individui. Per questa ragione, il grado di un Eroe in VALORE rispecchia anche il livello di fama di cui gode come fautore di grandi gesta.

Se un giocatore decide di preferire il VALORE rispetto alla SAGGEZZA, saranno le azioni del suo Eroe e non la sua capacità di giudizio a stabilire il suo prestigio agli occhi del prossimo. Dagli inizi più umili come avventuriero errante, un Eroe potrebbe un giorno uguagliare la fama e il rispetto di un famoso campione o re.\n", + "wisdom": "Saggezza ", + "wisdom-description": "La SAGGEZZA esprime la fiducia nelle proprie capacità da parte di un personaggio, la sua autostima e la capacità di compiere le scelte giuste. È una caratteristica che ha implicazionipersonali profonde, in quanto si sviluppa attraverso la lotta e il conflitto interiore e determina anche la statura dell’Eroe agli occhi di coloro che considerano preziose queste qualità.

Se un giocatore preferisce la SAGGEZZA al VALORE nella spesa dei punti Esperienza, se ne deduce che le avventure stanno cambiando il suo Eroe in modo sottile ma profondo. Iniziando il gioco come individuo più o meno intraprendente e dotato di uno spirito avventuroso, un Eroe può raggiungere la maturità e la sagacia dei grandi saggi.", + "common-skills": "Abilità comuni", + "skill-groups": "Abilità Gruppi", + "awe": "Intimorire", + "awe-description": "Questa abilità misura la capacità di un Eroe di incutere rispetto negli astanti e determina l’impressione che fa su qualcuno che lo incontra per la prima volta. A seconda delle circostanze e le intenzioni dell’Eroe, può essere usata per suscitare meraviglia, ammirazione o persino paura. La capacità di INTIMORIRE deriva dal carisma innato di un personaggio, ma può anche essere ricreata artificialmente tramite un ingresso teatrale o abiti adatti.

Usare con successo INTIMORIRE provoca l’effetto che si è scelto; un fallimento potrebbe provocare il risultato opposto. Raggiungere un successo superiore significa che l’Eroe ha conquistato i cuori degli astanti o li ha intimiditi fino a una silenziosa sottomissione.", + "inspire": "Incoraggiare", + "inspire-description": "Un Eroe capace di INCORAGGIARE gli altri può suscitare sentimenti positivi nel prossimo, spronandolo a reagire alla situazione del momento. Per riuscirsi, si affida a dare il buon esempio, piuttosto che all’uso efficace delle parole (che ricade sotto CONVINCERE). L’abilità può essere usata sugli individui, ma risulta particolarmente efficace nell’influenzare i gruppi numerosi. Gli Eroi dotati di elevati punteggi di INCORAGGIARE possono essere oratori energici, agitatori appassionati e beneamati comandanti.

Un successo in un tiro di INCORAGGIARE risveglia nel soggetto il sentimento desiderato dall’oratore, a patto che non sia troppo in contrasto con il suo umore attuale. Un successo superiore è sufficiente per influenzare individui del tutto disinteressati o addirittura trasformare dei rivali in sostenitori.", + "persuade": "Convincere", + "persuade-description": "Questa abilità consente a un Eroe di servirsi della dialettica al fine di persuadere un altro individuo di una sua idea o linea di azione. Può essere usata per influenzare piccoli gruppi di ascoltatori, ma solo se impiegata nel contesto appropriato, ad esempio in una sala comune. Un tentativo di persuasione richiede più tempo rispetto ad altre abilità di personalità, ma può avere un impatto di più lunga durata sulle azioni degli altri personaggi. Un elevato punteggio di CONVINCERE denota un’eloquenza fuori dal comune, un amore per l’oratoria e la conoscenza del suo uso appropriato e dei suoi effetti sugli ascoltatori. Sapienti, consiglieri di re e comandanti e i loro messaggeri condividono tutti questa passione per la lingua parlata. Usare con successo questa abilità consente a un Eroe di convincere l’interlocutore dei difetti insiti nella posizione da egli presa.

Un successo superiore lo convince della qualità del punto di vista dell’Eroe, e può persino trasformarlo in un fervido seguace.", + "personality-description": "La personalità di un Eroe si esprime nella sua capacità di impressionare, incoraggiare e influenzare gli altri. Un buon livello di competenza in tutte e tre le abilità di questo gruppo è la misura di un buon capo.", + "athletics": "Atletica", + "athletics-description": "ATLETICA è un’abilità piuttosto generica, che comprende la maggior parte delle attività fisiche che un Eroe potrebbe intraprendere durante un’avventura, come correre, saltare, scalare e nuotare. Gli Eroi dotati di elevati punteggi di ATLETICA mostrano una combinazione vincente di prestanza, grazia e controllo del loro corpo, in genere ottenuti tramite un costante allenamento e un esercizio quotidiano.

Un successo in un tiro di ATLETICA produce un risultato soddisfacente nell’attività fisica intrapresa, mentre un fallimento può provocare lesioni gravi a seconda delle circostanze. Un risultato superiore suggerisce invece una prestazione spettacolare.", + "travel": "Viaggio", + "travel-description": "Nella Terza Era, le città, i villaggi e le cittadine della Terra di Mezzo sono spesso separati da molte leghe di terreno deserto o selvaggio. Le strade che un tempo portavano senza pericoli a regni lontani ora finiscono su sentieri interrotti che non conducono da nessuna parte.

Quando la compagnia deve coprire una distanza attraverso un territorio incerto, anche in barca, ogni avventuriero è tenuto a eseguire uno o più test utilizzando l'abilità VIAGGIO per evitare di stancarsi troppo presto. Sebbene sia certamente il prodotto dell'esperienza, l'uso di Viaggio trae giovamento principalmente dalla forza d'animo di un eroe.", + "stealth": "Furtività", + "stealth-description": "Un Eroe può ricorrere alla FURTIVITÀ ogni volta che deve agire in modo segreto o nascosto. L’abilità comprende nascondersi, muoversi in silenzio e pedinare qualcuno. Queste attività si basano sovente su rapidità e precisione, perciò un Eroe furtivo unisce una prudenza ben coltivata alla capacità di scegliere il momento giusto per correre un rischio. Cacciatori, scassinatori e combattenti solitari si affidano alla FURTIVITÀ per avere successo nel loro mestiere.

Un successo in un tiro di FURTIVITÀ indica che il personaggio non si è fatto notare, mentre un fallimento comporta quasi certamente l’attirare attenzioni non desiderate.

Un successo superiore produce un’azione così perfetta da rendere addirittura impossibile accorgersene se non molto tempo dopo.", + "movement-description": "Superare ostacoli, sopportare lunghi viaggi e muoversi senza farsi vedere sono il pane quotidiano di ogni avventuriero che si rispetti.", + "awareness": "Allerta", + "awareness-description": "L’abilità ALLERTA rappresenta la rapidità di reazione di un personaggio e la sua capacità di notare qualcosa di inatteso, fuori dall’ordinario o difficile da percepire. Punteggi alti in questa abilità denotano sia dei sensi particolarmente acuti sia l’esperienza per capire ciò che si vede e sente.

Un grado di ALLERTA straordinario risulta estremamente utile all’Eroe che funge da vedetta per la compagnia.", + "insight": "Perspicacia", + "insight-description": "La PERSPICACIA è la capacità di un Eroe di vedere al di là delle apparenze, di riconoscere i pensieri e le convinzioni nascoste della gente: non serve a capire se qualcuno sta mentendo, ma può fornire utili intuizioni riguardo le motivazioni delle persone. Un Eroe con un elevato punteggio di PERSPICACIA è spesso considerato un individuo sensibile e intuitivo, e i suoi consigli sono ricercati da molti. Un successo in un tiro di PERSPICACIA fornisce a un Eroe un ritratto fedele, anche se parziale, della persona che sta osservando. Un successo superiore gli consente di indovinare dettagli aggiuntivi sullo stato mentale dell’individuo osservato. Un tiro di PERSPICACIA può anche essere effettuato per contrastare un avversario che cerca di influenzare o persuadere l’Eroe di qualcosa.", + "search": "Scrutare", + "search-description": "Un Eroe può usare SCRUTARE quando tenta di trovare qualcosa tramite un esame accurato. Questa abilità può consentirgli di esaminare un libro in cerca di qualche informazione importante, individuare porte segrete o iscrizioni nascoste, riconoscere un volto familiare tra la folla o localizzare una serie di impronte sul terreno. I tiri di SCRUTARE sono generalmente proposti da un giocatore anziché richiesti dal Maestro del Sapere; per vedere se un personaggio nota qualcosa in modo passivo si ricorre ad ALLERTA. Un successo in un tiro di SCRUTARE permette in genere a un personaggio di reperire quello che cercava, a patto naturalmente che si trovi nell’area perlustrata. Un successo superiore di solito significa che l’oggetto viene trovato più in fretta del previsto.", + "perception-description": "La capacità di cogliere i dettagli nascosti è spesso essenziale, che si tratti di notare uno strano rumore che svela un agguato incombente, captare il lampo della menzogna negli occhi di un bugiardo o individuare la crepa nel muro che indica una porta segreta.", + "explore": "Esplorazione", + "explore-description": "Gli Eroi si affidano alla loro abilità di ESPLORAZIONE quando attraversano un’area sconosciuta nella natura selvaggia. Un tiro di ESPLORAZIONE può essere richiesto durante un viaggio per trovare la direzione giusta da seguire o per tornare sul sentiero principale dopo una deviazione; per affrontare le avverse condizioni climatiche o altri pericoli naturali; per aprire passaggi attraverso la vegetazione intricata in modo che tutti possano passarvi; o per scegliere un luogo adatto dove accamparsi. Un valore elevato in ESPLORAZIONE è una risorsa inestimabile per un Eroe che agisce come esploratore per la sua compagnia.", + "healing": "Guarigione", + "healing-description": "La conoscenza di come alleviare il dolore e applicare rimedi per risanare i sofferenti è molto antica, e le modalità di trattamento variano da una Cultura all’altra. Quasi tutte le tradizioni sono tuttavia d’accordo su come curare le ferite più gravi, che devono essere trattate immediatamente per evitare che peggiorino.

L’abilità GUARIGIONE include la capacità di sistemare ossa rotte e l’uso di erbe o linimenti, ma il risultato dipende dalla perizia del guaritore nel capire cosa tormenta il malato e decidere cosa bisogna fare per curarlo.", + "hunting": "Caccia", + "hunting-description": "Sapere come cacciare è una capacità fondamentale, comune in gran parte della Terra di Mezzo. Un tiro di CACCIA può essere richiesto quando si insegue una creatura in zone selvagge, per localizzare tracce e seguirle o per identificare una preda dalle sue impronte. L’abilità comprende anche l’allestimento di trappole e l’addestramento e l’impiego di cani o rapaci da caccia. Nelle aree meno civilizzate, i cacciatori imparano ad applicare i principi della loro arte anche a prede più pericolose come Orchi, Ragni o Warg… o rischiano di diventare essi stessi le prede.", + "survival-description": "Le tre abilità di questo gruppo, fondamentali per un avventuriero girovago, rendono chi le possiede un membro inestimabile in qualsiasi compagnia.", + "song": "Canzoni", + "song-description": "Hobbit e Uomini, Elfi e Nani, persino i goblin e forse gli Orchi: tutte le creature della Terra di Mezzo festeggiano suonando musica e cantando canzoni. Grandi gesta e tristi sventure sono ricordate nei versi, e storie piacevoli o divertenti sono narrate per alleviare lo spirito e portare conforto.

CANZONI si usa per recitare poesie, cantare o suonare strumenti musicali adatti alla Cultura di un personaggio. L'abilità può anche essere utilizzata per imparare nuove opere o per creare composizioni originali.", + "courtesy": "Cortesia", + "courtesy-description": "I Popoli Liberi conoscono le comuni norme della buona educazione e le antiche convenzioni del comportamento. Osservare queste tradizioni è segno di rispetto e può servire a stabilire interazioni amichevoli anche con dei perfetti sconosciuti.

Un Eroe che ottiene un successo in un tiro di CORTESIA sa che cosa dire al momento giusto per fare buona impressione al suo ospite, o è attento a comportarsi correttamente quando riceve altre persone.", + "riddle": "Indovinelli", + "riddle-description": "Omonimo dell’antico gioco, INDOVINELLI rappresenta la capacità di un Eroe di trarre conclusioni da informazioni apparentemente prive di connessione, usando deduzione, ragionamento e intuito.

Un avventuriero, inoltre, si affida a INDOVINELLI ogni volta che è costretto a parlare di un argomento ma desidera nascondere parte di ciò che conosce, ad esempio per spiegare qualcosa di sé stesso senza rivelare la propria vera identità.

Parlare per enigmi è un’usanza diffusa in molte culture della Terra di Mezzo, in genere quando degli sconosciuti si incontrano per la prima volta e vogliono conversare in modo circospetto. Questa abilità è usata anche per ricavare utili intuizioni da un enigma scritto o enunciato.", + "custom-description": "Anche se gli Eroi sono spesso considerati dei bruti incivili dalla gente comune, a volte le loro vite possono dipendere dal conoscere la canzone più arguta, le parole giuste o la risposta più intelligente. Raggiungere l’eccellenza in queste abilità è considerato un nobile risultato.", + "craft": "Manualità", + "craft-description": "L’abilità MANUALITÀ non comprende effettivamente l’intera gamma di specializzazioni di fabbri, costruttori e altri artigiani, ma rispecchia il talento di un personaggio per la fabbricazione o la riparazione di oggetti con le proprie mani. MANUALITÀ si può usare per riparare la ruota di un carro o costruire una zattera improvvisata con il legno trovato sulla riva di un fiume, o persino per tentare di accendere un fuoco su un colle ventoso. Un elevato punteggio di MANUALITÀ può indicare che l’Eroe era un artigiano prima di iniziare la sua carriera di avventuriero. Alcune Culture, come i Nani e gli Elfi Noldor, rispettano l’artigianato come massima espressione della creatività", + "battle": "Battaglia", + "battle-description": "La competenza in questa abilità misura la conoscenza delle regole della battaglia e la capacità di affrontare uno scontro violento. L’abilità BATTAGLIA si può usare per ottenere un vantaggio durante una mischia contro un gruppo di nemici o per guidare una compagnia di soldati in uno scontro campale e mantenere l’ordine in mezzo al caos (i combattimenti individuali sono regolati dalle competenze di combattimento).", + "lore": "Sapienza", + "lore-description": "La SAPIENZA esprime l’amore per l’apprendimento, che si tratti del fascino esercitato dalle descrizioni di terre remote o di un interesse per la genealogia di famiglia. Ogni volta che un’azione richiede una conoscenza di qualche tipo, si effettua un tiro di SAPIENZA. Si presuppone che gli Eroi siano versati nelle tradizioni dei rispettivi popoli, pertanto il Maestro del Sapere dovrebbe richiedere di rado dei tiri di SAPIENZA riguardanti informazioni sulla Cultura o la regione di origine di un personaggio.", + "vocation-description": "Prima che la sua risolutezza si consolidasse e lo spingesse sulla via dell’avventura, ogni Eroe ha probabilmente condotto una vita molto simile a quella di un individuo comune: ha imparato un mestiere, ha difeso la sua gente e ne ha assimilato la saggezza.", + "weapon": "Armi", + "weapon-encumbrance-abbreviation": "Ing", + "combat-values": "Valori di Combattimento", + "damage": "Danno", + "ranged": "A distanza", + "parry": "Difesa", + "total-parry": "Difesa Totale", + "shield": "Scudo", + "shield-placeholder": "[Scudo]", + "head-gear": "Testa", + "gear": "Equipaggiamento", + "description": "Descrizione", + "encumbrance-abbreviation": "Ing", + "character-states": "Condizioni", + "total-fatigue": "Fatica Totale", + "encumbrance-fatigue": "Fatica da Ingombro", + "travel-fatigue": "Fatica del Viaggio", + "total-shadow": "Ombra Totale", + "temporal-shadow": "Ombra Temporanea", + "permanent-shadow": "Ombra Permanente", + "miserable": "Oppresso", + "wounded": "Ferito", + "rewards-and-virtues": "Ricompense & Virtù", + "rewards": "Ricompense", + "virtues": "Virtù", + "progress-and-keepings": "Progresso & Proprietà", + "fellowship-pool": "Valore della
Compagnia", + "advancement-points": "Punti Avanzamento", + "experience": "Esperienza", + "experience-description": "L'esperienza è una misura del fatto che un personaggio è stato influenzato o ha acquisito conoscenze o abilità attraverso diretta osservazione o partecipazione in un periodo di tempo.", + "treasure": "Tesoro", + "treasure-rating": "Tesoro", + "standing": "In piedi", + "background": "Storia", + "notes": "Note", + "company": "Compagnia", + "guide": "Guida", + "scout": "Esploratore", + "huntsman": "Cacciatore", + "look-out_man": "Vedetta", + "fellowship-focus": "Focus della Compagnia", + "fellowship-phase": "Fase della Compagnia", + "sanctuaries": "Santuari", + "patron": "Patrono", + "tale-of-years": "Racconto degli anni", + "year": "Anno", + "event-description": "Descrizione Evento", + "mount": "Cavalcatura", + "mount-name": "Nome", + "mount-treasure": "Tesoro", + "mount-vigour": "Vigore", + "rolls-for": "tiro per", + "against-tn": "contro TN", + "protection": "Protezione", "protection-abbr": "Prot.", - "injury": "Injury", - "target-number": "Target Number", - "attacks-with": "attacks with", - "attacks-with-a": "attacks with a", - "charges-with": "charges with", - "an-attack": "to attack", - "might": "Might", - "combat-proficiency": "Combat Proficiency", - "fell-ability": "Fell Ability", - "special-damage": "Special Damage", - "general": "General", - "flaws": "Flaws", - "adventure-points": "Adventure
Points", - "skill-points": "Skill Points", - "adventure-points-total": "Adventure
Total", - "skill-points-total": "Skill
Total", - "treasure-load-title": "Treasure Load (carried)", - "rating": "Rating", + "injury": "Lesioni", + "target-number": "Tiro Necessario", + "attacks-with": "attacca con", + "attacks-with-a": "attacca con", + "charges-with": "carica con", + "an-attack": "per attaccare", + "might": "Possanza", + "combat-proficiency": "Competenze di Combatt.", + "fell-ability": "Capacità Funeste", + "special-damage": "Danno Speciale", + "general": "Generale", + "flaws": "Difetti", + "adventure-points": "Punti
Avventura", + "skill-points": "Punti Abilità ", + "adventure-points-total": "Punti Avv.
Totali", + "skill-points-total": "Punti Abilità
Totali", + "treasure-load-title": "Ingombro del Tesoro (trasp.)", + "rating": "Grado", "tn-strength": "TN", "tn-heart": "TN", "tn-wits": "TN", - "strength": "Strength", - "strength-description": "A character with a high Strength score can be tough and fit, or tall and agile, or even attractive or imposing. Every aspect of a character that relies on vigour or physical well-being is represented in the game by Strength.", - "endurance-max": "End. (max.)", - "hope-max": "Hope (max.)", - "load": "Load", - "fatigue": "Fatigue", - "shadow": "Shadow", - "scars": "Scars", - "age": "Age", - "scan": "Scan", - "scan-description": "Player-heroes can use the SCAN Skill when examining something closely or attentively. This Skill allows a Player-hero to skim through a book to locate a piece of relevant information, look for concealed doors or hidden inscriptions, recognise a familiar face in a crowd, or locate a set of tracks on the ground. SCAN rolls are generally initiated by the players rather than the Loremaster. One roll is required for each inspection of a small area, such as a room. AWARENESS, rather than SCAN, is used to see if a hero passively notices something. A successful SCAN roll generally lets Player-heroes find what they are looking for — if it is to be found at all. A superior success usually means the object is found more quickly.", - "enhearten": "Enhearten", - "enhearten-description": "Player-heroes can use the ENHEARTEN skill to instil positive feelings in others, urging them to act on the matter at hand. They achieve this mainly through example, charisma, and personal conviction, rather than through the effective use of words (which falls under PERSUADE below). This Skill can be used on individuals, but is particularly effective in influencing crowds. Player-heroes with high ENHEARTEN ratings can be forceful orators, passionate agitators, and well-loved leaders. A successful ENHEARTEN roll awakens a chosen feeling in the subject, as long as it is not in opposition to their current mood. A superior success is enough to influence wholly disinterested individuals, or turn rivals into supporters.", - "combat": "Combat", - "axes": "Axes", - "swords": "Swords", - "bows": "Bows", - "spears": "Spears", - "parsedroll-description": "When enabled the dice rolls will be parsed and calculated, with output displayed in a rolltemplate. This removes the need for roll tables.", - "tableroll-description": "When enabled the dice rolls will be using preconfigured rollable tables according to instructions for The One Ring 1st Edition, with output displayed in a rolltemplate. This removes the needed rollable tables to be preconfigured.", - "axes-description": "The AXES Combat Proficiency allows a Player-hero to use an axe, a great axe, a long-hafted axe, but also a mattock.", - "bows-description": "The BOWS Combat Proficiency enables a Player-hero to make ranged attacks using a bow or a great bow.", - "spears-description": "The SPEARS Combat Proficiency allows a hero to make and close combat attacks using a short spear or a spear, or to fight in close combat using a great spear.", - "swords-description": "The SWORDS Combat Proficiency enables a Player-hero to attack in close combat using short swords, swords, and long swords.", - "other-placeholder": "[Other]", - "close-fitting": "CF", - "close-fitting-description": "Close Fitting: Protection +2 (Ancient armour: +3)", - "cunning-make": "CM", - "cunning-make-description": "Cunning make: Load -2 (Ancient armour: -3)", + "strength": "Forza", + "strength-description": "Un personaggio con un alto punteggio in FORZA può essere robusto e in forma, o alto e agile, o addirittura attraente o maestoso. Ogni aspetto del personaggio che fa affidamento su vigore o sul benessere è rappresentato nel gioco dalla FORZA.", + "endurance-max": "Res. (max)", + "hope-max": "Speranza (max)", + "load": "Ingombro", + "fatigue": "Fatica", + "shadow": "Ombra", + "scars": "Cicatrici", + "age": "Età ", + "scan": "Scrutare", + "scan-description": "Un Eroe può usare SCRUTARE quando tenta di trovare qualcosa tramite un esame accurato. Questa abilità può consentirgli di esaminare un libro in cerca di qualche informazione importante, individuare porte segrete o iscrizioni nascoste, riconoscere un volto familiare tra la folla o localizzare una serie di impronte sul terreno. I tiri di SCRUTARE sono generalmente proposti da un giocatore anziché richiesti dal Maestro del Sapere; per vedere se un personaggio nota qualcosa in modo passivo si ricorre ad ALLERTA. Un successo in un tiro di SCRUTARE permette in genere ad un personaggio di reperire quello che cercava, a patto naturalmente che si trovi nell’area perlustrata. Un successo superiore di solito significa che l’oggetto viene trovato più in fretta del previsto.\n", + "enhearten": "Incoraggiare", + "enhearten-description": "Un Eroe capace di INCORAGGIARE gli altri può suscitare sentimenti positivi nel prossimo, spronandolo a reagire alla situazione del momento. Per riuscirsi, si affida a dare il buon esempio, piuttosto che all’uso efficace delle parole (che ricade sotto CONVINCERE). L’abilità può essere usata sugli individui, ma risulta particolarmente efficace nell’influenzare i gruppi numerosi. Gli Eroi dotati di elevati punteggi di INCORAGGIARE possono essere oratori energici, agitatori appassionati e beneamati comandanti.

Un successo in un tiro di INCORAGGIARE risveglia nel soggetto il sentimento desiderato dall’oratore, a patto che non sia troppo in contrasto con il suo umore attuale. Un successo superiore è sufficiente per influenzare individui del tutto disinteressati o addirittura trasformare dei rivali in sostenitori.", + "combat": "Combattimento", + "axes": "Asce", + "swords": "Spade", + "bows": "Archi", + "spears": "Lance ", + "parsedroll-description": "Quando questa modalità viene abilitata, i lanci di dadi verranno analizzati e calcolati, con l'output visualizzato in un modulo apposito. Questo elimina la necessità di definire tabelle di lancio dei dadi.", + "tableroll-description": "Quando abilitati, i lanci di dadi utilizzeranno tabelle di lancio preconfigurate secondo le istruzioni per The One Ring 1st Edition, con l'output visualizzato in un modello di lancio. Questo rimuove la necessità di preconfigurare le tabelle di lancio.", + "axes-description": "La competenza nelle ASCE consente a un Eroe di usare asce, asce grandi, asce a manico lungo e anche i picconi d’arme.", + "bows-description": "La competenza negli ARCHI consente a un Eroe di effettuare attacchi a distanza usando un arco o un arco grande.", + "spears-description": "La competenza nelle LANCE consente a un Eroe di effettuare attacchi a distanza o ravvicinati usando una lancia o una lancia corta, o di effettuare attacchi ravvicinati usando una lancia grande.", + "swords-description": "La competenza nelle SPADE consente a un Eroe di effettuare attacchi ravvicinati usando spade corte, spade e spade lunghe.", + "other-placeholder": "[Altro]", + "close-fitting": "BM", + "close-fitting-description": "Ben Modellato: Protezione +2 (Armatura antica: +3)", + "cunning-make": "AF", + "cunning-make-description": "Abile Fattura: Ingombro -2 (Armatura antica: -3)", "reinforced": "RI", - "reinforced-description": "Reinforced: Parry +1 (Superior shield: +2)", - "stance-attack-modifier": "Attack Mod.", - "stance-attack-modifier-description": "Depending on stance the attack modifier will be forward:1/open:0/defensive:-1/rearward:0. This attack modifier is the default value for attack bonus dice. If a character is in defensive stance fighting against more then one adversary player can use the bonus dice query to set this to -2/-3 according to the number of adversaries. ", - "conditions-modifiers": "Conditions / Modifiers", - "normal": "Normal", - "illfavoured": "Ill. Fav.", - "parsed-rolls": "Parsed rolls", - "table-rolls": "Table rolls", - "stance": "Stance", - "stance-forward": "Forw.", - "stance-open": "Open", - "stance-defensive": "Def.", - "stance-rearward": "Rear", - "stance-damage": "Stance Damage:", - "custom-roll": "Custom Roll:", + "reinforced-description": "Rinforzato: Difesa +1 (Scudo superiore: +2)", + "stance-attack-modifier": "Mod. Attacco", + "stance-attack-modifier-description": "A seconda della posizione il modificatore di attacco sarà offensiva:1/aperta:0/difensiva:-1/arretrata:0. Questo modificatore di attacco è il valore predefinito dei dadi bonus di attacco. Se un personaggio è in posizione difensiva e sta combattendo contro più di un avversario può utilizzare il pop-up dei dadi bonus per impostarlo su -2/-3 in base al numero di avversari. ", + "conditions-modifiers": "Condizioni / Modificatori", + "normal": "Normale", + "illfavoured": "Sfavorito", + "parsed-rolls": "Tiri interpretati", + "table-rolls": "Tiri tabellati", + "stance": "Posizione", + "stance-forward": "Off.", + "stance-open": "Aperta", + "stance-defensive": "Dif.", + "stance-rearward": "Arretrata", + "stance-damage": "Danni Posizione", + "custom-roll": "Tiro Personalizzato:", "custom-tn": "TN:", - "custom-successdice": "Success:", - "custom-featdie": "Feat:", - "custom-rollname-placeholder": "[Roll Text]" + "custom-successdice": "Successo:", + "custom-featdie": "Impresa:", + "custom-rollname-placeholder": "[Nome del tiro]" } \ No newline at end of file diff --git a/The One Ring 2e/translations/zh.json b/The One Ring 2e/translations/zh.json index eea1b3e777..093f148aa2 100644 --- a/The One Ring 2e/translations/zh.json +++ b/The One Ring 2e/translations/zh.json @@ -25,13 +25,13 @@ "weapon-type": "類型", "weapon-damage": "傷害", "weapon-load": "負載", - "weapon-injury": "致傷", - "weapon-fell": "F", - "weapon-fell-description": "Fell: Injury +2 (superior weapons: +4)", - "weapon-grievous": "G", - "weapon-grievous-description": "Grievous: Damage +1 (superior weapons: +2)", - "weapon-keen": "K", - "weapon-keen-description": "Keen: Piercing Blow if Feat die 9+ (superior weapons: 8+) or Gandalf Rune", + "weapon-injury": "致殘", + "weapon-fell": "兇殘", + "weapon-fell-description": "兇殘: 致殘值 +2 (卓越武器 +4)", + "weapon-grievous": "潰滅", + "weapon-grievous-description": "潰滅: 傷害 +1 (卓越武器 +2) ", + "weapon-keen": "鋒銳", + "weapon-keen-description": "鋒銳: 英雄骰擲出 9+ (卓越武器 8+) 或甘道夫符文會造成致命一擊。", "weapon-called-shot": "Called Shot", "special-abilities": "特殊能力", "hope": "希望", @@ -126,7 +126,7 @@ "rewards": "獎賞", "virtues": "美德", "progress-and-keepings": "Progress & Holdings", - "fellowship-pool": "團隊", + "fellowship-pool": "團隊值", "advancement-points": "升級值", "experience": "經驗值", "experience-description": "Experience is a measure of a character’s having been affected by or gained knowledge or skill through direct observation or participation over a period of time.", @@ -155,7 +155,7 @@ "against-tn": "against TN", "protection": "防護", "protection-abbr": "防護", - "injury": "致傷", + "injury": "致殘", "target-number": "目標值", "attacks-with": "attacks with", "attacks-with-a": "attacks with a", @@ -201,12 +201,12 @@ "spears-description": "The SPEARS Combat Proficiency allows a hero to make and close combat attacks using a short spear or a spear, or to fight in close combat using a great spear.", "swords-description": "The SWORDS Combat Proficiency enables a Player-hero to attack in close combat using short swords, swords, and long swords.", "other-placeholder": "[Other]", - "close-fitting": "CF", - "close-fitting-description": "Close Fitting: Protection +2 (Ancient armour: +3)", - "cunning-make": "CM", - "cunning-make-description": "Cunning make: Load -2 (Ancient armour: -3)", - "reinforced": "RI", - "reinforced-description": "Reinforced: Parry +1 (Superior shield: +2)", + "close-fitting": "合身", + "close-fitting-description": "合身: 防護 +2 (遠古護甲 +3)", + "cunning-make": "輕便", + "cunning-make-description": "輕便: 負載 -2 (遠古護甲 -3)", + "reinforced": "加固", + "reinforced-description": "加固: 格擋 +1 (卓越盾牌 +2)", "stance-attack-modifier": "攻擊調整", "stance-attack-modifier-description": "Depending on stance the attack modifier will be forward:1/open:0/defensive:-1/rearward:0. This attack modifier is the default value for attack bonus dice. If a character is in defensive stance fighting against more then one adversary player can use the bonus dice query to set this to -2/-3 according to the number of adversaries. ", "conditions-modifiers": "狀態 / 調整", @@ -222,7 +222,7 @@ "stance-damage": "架式傷害:", "custom-roll": "自訂檢定:", "custom-tn": "TN:", - "custom-successdice": "成功:", - "custom-featdie": "英雄:", + "custom-successdice": "成功骰:", + "custom-featdie": "英雄骰:", "custom-rollname-placeholder": "[Roll Text]" } \ No newline at end of file diff --git a/The One Ring/translations/es.json b/The One Ring/translations/es.json index edd895eda8..5273cb50a6 100644 --- a/The One Ring/translations/es.json +++ b/The One Ring/translations/es.json @@ -118,7 +118,7 @@ "fellowship-pool": "Fondo de comunidad", "advancement-points": "Puntos de avance", "experience": "Experiencia", - "experience-description": "Experience is a measure of a character’s having been affected by or gained knowledge or skill through direct observation or participation over a period of time.

The upper left bubble represents a player characters unspent experience points.

The upper right bubble bubble represents a player characters spent experience points.

The central big main bubble represents a player characters total experience points, this can be helpful when determining courage points.", + "experience-description": "La experiencia es una medida de cómo un personaje se ha visto afectado o ha adquirido conocimientos o habilidades a través de la observación directa o la participación durante un período de tiempo.

La burbuja superior izquierda representa los puntos de experiencia no gastados de un personaje.

La burbuja superior derecha representa los puntos de experiencia gastados de un personaje.

La gran burbuja central principal representa el total de puntos de experiencia de un personaje, lo cual puede ser útil a la hora de determinar los puntos de Coraje.", "treasure": "Tesoro", "standing": "Estatus", "background": "Trasfondo", diff --git a/Toon/Images/11-fiber-paper-background-sml.jpg b/Toon/Images/11-fiber-paper-background-sml.jpg new file mode 100644 index 0000000000..45f4c08f8e Binary files /dev/null and b/Toon/Images/11-fiber-paper-background-sml.jpg differ diff --git a/Toon/toon.css b/Toon/toon.css index f2130e6f8e..92291ba615 100644 --- a/Toon/toon.css +++ b/Toon/toon.css @@ -14,7 +14,7 @@ padding-right: 4px; width: 3.5em; } .charsheet { -background-image: url("http://freeseamlesstextures.com/images/11-fiber-paper-background-sml.jpg"); +background-image: url("https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Toon/Images/11-fiber-paper-background-sml.jpg"); } .charsheet table td, .charsheet table th { font-size: 1.2em; diff --git a/Warhammer 4e Character Sheet/README.md b/Warhammer 4e Character Sheet/README.md index 16f07dbe43..1741ff29c2 100644 --- a/Warhammer 4e Character Sheet/README.md +++ b/Warhammer 4e Character Sheet/README.md @@ -73,6 +73,26 @@ Note conditions are not intended for out of combat situations, GM simply makes t ///// ============ Change Log ============ ///// +June 6th 2022 v1.56.1 + +- Fixed NPC weapon rolls not working when Talent Integration is disabled. +- NPC Crit roll button will now follow UiA rules if then are active/selected. + + +May 20th 2022 v1.56 + +Winds of Magic update +- Various minor Magic rule changes as per Winds of Magic rule book, including Miscast Table changes. +- Ritauls Tab added to Spellbook, functions similarly to Arcane Spells. +- New Skills: Augury & Psychometry +- New Talents: Suffuse With (Wind) & Magical Assistant +- Magical Robes & Enchanted Staff's selector in the spellbook tab, bonus add automatically. Added Spellbook settings tab for old options. +- Added Orge - Lore Great Maw as a static Magic Lore option, incl. Casting/Channelling/Effects. +- Channeling roll which rolls in +0 SL outcome now adds +1 to the Accu Ext SL pool. +- Casting Success/Failure is now based on achiving +SL not roll vs target success. +- Various Talent fixes to make them visable in talents Tab and add custom situation SL in RT. Add Orge Talent - Vice, no intergration. + + May 12th 2022 v1.55f - Implemented Unshakable Talent, which adds conditional bonus to Cool tests. diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css index e00b8dfc13..7294a9f2a4 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.css @@ -495,6 +495,7 @@ button[type=action].sheet-combat-mini span { display: inline-block; position: relative; } +button[type=action]:hover, button[type=action].sheet-npc-combat:hover, button[type=roll].sheet-roll:hover, button[type=action].sheet-roll:hover, @@ -1980,6 +1981,11 @@ button[type=roll].sheet-magicmenu-buttons::before { background-color: transparent; content: none; } +button.sheet-magicmenu-buttons:hover { + background-color: #615c50; + color: white; + background-image: linear-gradient(rgba(255,255,255,.3), rgba(255,255,255,0)); +} /* General sheet/rolltemplate wide Styles */ @@ -2011,7 +2017,22 @@ input { padding-bottom: 2px; color: black; } - +.sheet-vsmall-label, +.sheet-rolltemplate-whfrp2e .sheet-vsmall-label { + font-size: 10px !important; + line-height: 100%; + padding-top: 2px; + padding-bottom: 2px; + color: black; +} +.sheet-vsmall-text, +.sheet-rolltemplate-whfrp2e .sheet-vsmall-text { + font-size: 10px !important; + line-height: 100%; + padding-top: 2px; + padding-bottom: 2px; + color: grey; +} .sheet-small-label-white, .sheet-rolltemplate-whfrp2e .sheet-small-label-white { font-size: 11px !important; @@ -2023,6 +2044,12 @@ input { color: white; } +.sheet-vsmall-text input[type=text], +.sheet-vsmall-text input[type=number], +.sheet-vsmall-text select, +.sheet-vsmall-label input[type=text], +.sheet-vsmall-label input[type=number], +.sheet-vsmall-label select, .sheet-small-label input[type=text], .sheet-small-label input[type=number], .sheet-small-label select { @@ -2030,6 +2057,8 @@ input { font-size: 8px; line-height: 100%; } +.sheet-vsmall-text select, +.sheet-vsmall-label select, .sheet-small-label select { height: 12px; -webkit-appearance: none; diff --git a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html index e52cacdcc4..1f663205f8 100644 --- a/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html +++ b/Warhammer 4e Character Sheet/Warhammer 4e Character Sheet.html @@ -320,7 +320,7 @@
- + Magic n @@ -510,8 +510,9 @@ - - + + + @@ -951,6 +952,23 @@
+ + +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
@@ -976,7 +994,66 @@
- Spell 1 + +
+
Spell
+
CN
+
Accu SL
+
Channel
+
Cast
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1521,7 +1598,7 @@
- +
@@ -2857,7 +2934,7 @@
- +
@@ -3175,7 +3252,7 @@
-
@@ -4193,7 +4270,7 @@
- +
@@ -5529,7 +5606,7 @@
- +
@@ -5847,7 +5924,7 @@
-
@@ -6866,7 +6943,7 @@
- +
@@ -8201,7 +8278,7 @@
- +
@@ -8519,7 +8596,7 @@
-
@@ -9538,7 +9615,7 @@
- +
@@ -10875,7 +10952,7 @@
- +
@@ -11193,7 +11270,7 @@
-
@@ -17551,11 +17628,111 @@
-
- - - +
+ + +
+
+ +
+
+ Augury +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ + + + +
+ + + +
+
+
Roll Outcome
+
Text to show
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
@@ -17573,7 +17750,7 @@
-
+
Channelling (Fire) @@ -17622,9 +17799,6 @@
-
- -
Channelling (Death) @@ -17633,6 +17807,9 @@
+
+ +
Channelling (Shadows) @@ -17665,6 +17842,14 @@
+
+
+ Channelling (Great Maw) +
+
+ +
+
Channelling (Misc) @@ -17673,6 +17858,12 @@
+
+
+
+
+
+
@@ -18829,6 +19020,110 @@
+
+
+ + + +
+
+ +
+
+ Channelling (Great Maw) +
+
+ +
+ +
+ +
+
+ +
+
+ + +
+ +
+ +
+ +
+ +
+
+ +
+ + + + +
+ + + +
+
+
Roll Outcome
+
Text to show
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
@@ -19991,7 +20286,104 @@ - + +
+
+ +
+
+ Psychometry +
+
+ +
+ +
+ +
+
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ + +
+ +
+
+
Roll Outcome
+
Text to show
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
@@ -23590,6 +23982,14 @@
+
+
+ +
+
+ +
+
@@ -23795,6 +24195,9 @@
+ + +
@@ -23803,9 +24206,6 @@
-
- -
@@ -24045,7 +24445,7 @@
- +
@@ -24168,6 +24568,9 @@
+ + +
@@ -24221,9 +24624,6 @@
-
- -
@@ -24306,7 +24706,82 @@
- + +
+
+ +
+
+ +
+
- + Aqshy +
+
+ +
+
+ +
+
- + Azyr +
+
+ +
+
+ +
+
- + Chamon +
+
+ +
+
+ +
+
- + Ghur +
+
+ +
+
+ +
+
- + Ghyran +
+
+ +
+
+ +
+
- + Hysh +
+
+ +
+
+ +
+
- + Shyish +
+
+ +
+
+ +
+
- + Uglu
@@ -24416,6 +24891,14 @@
+
+
+ +
+
+ +
+
@@ -26760,6 +27243,26 @@ j
+ +
+
+ +
+
+ Magical Assitant +
+
+ / +
+
+ +
+
+ +
+ + * +
@@ -26792,10 +27295,10 @@ /
- +
- +
* @@ -27683,6 +28186,46 @@ j
+ +
+
+ +
+
+ Sea Legs +
+
+ +
+
+ +
+
+ +
+ + * +
+ +
+
+ +
+
+ Seasoned Traveller +
+
+ +
+
+ +
+
+ +
+ + * +
@@ -27701,7 +28244,7 @@
- * + *
@@ -27843,6 +28386,26 @@ j
+ +
+
+ +
+
+ Speedreader +
+
+ +
+
+ +
+
+ +
+ + j +
@@ -27863,6 +28426,46 @@ j
+ +
+
+ +
+
+ Step Aside +
+
+ +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Stone Soup +
+
+ +
+
+ +
+
+ +
+ + j +
@@ -27906,7 +28509,7 @@
- * + *
@@ -27931,7 +28534,7 @@
- * + *
@@ -27956,128 +28559,8 @@
- * -
- -
-
- -
-
- Suave -
-
- / -
-
- -
-
- -
- - j -
- -
-
- -
-
- Suffused With Uglu -
-
- / -
-
- -
-
- -
- *
- -
-
- -
-
- Super Numerate -
-
- -
-
- -
-
- -
- - j -
- -
-
- -
-
- Supportive -
-
- -
-
- -
-
- -
- - * -
- -
-
- -
-
- Sure Shot -
-
- -
-
- -
-
- -
- - j -
- -
-
- -
-
- Surgery -
-
- -
-
- -
-
- -
- - j -
@@ -28238,6 +28721,276 @@ j
+ +
+
+ +
+
+ Suave +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Aqshy +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Azyr +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Chamon +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Ghur +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Ghyran +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Hysh +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Shyish +
+
+ / +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Suffused With + Uglu +
+
+ / +
+
+ +
+
+ +
+ + j +
+ + + +
+
+ +
+
+ Super Numerate +
+
+ +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Supportive +
+
+ +
+
+ +
+
+ +
+ + * +
+ +
+
+ +
+
+ Sure Shot +
+
+ +
+
+ +
+
+ +
+ + j +
+ +
+
+ +
+
+ Surgery +
+
+ +
+
+ +
+
+ +
+ + j +
@@ -28418,6 +29171,26 @@ j
+ +
+
+ +
+
+ Vice +
+
+ +
+
+ +
+
+ +
+ + * +
@@ -28732,17 +29505,17 @@
-
+
-
+
-
+
@@ -31041,22 +31814,27 @@
-
+
-
+
+
+
+
-
+
-
+
@@ -31073,6 +31851,10 @@ Arcane + + + Rituals + Blessings @@ -31081,6 +31863,54 @@ Miracles + +
+
+ + + + Wizard’s Robes: +
+ +
+
+
+ Enchanted Staff: +
+ +
+ +
+ + + +
+ +
Aethyric Attunement
- Instinctive Diction: + Instinctive Diction
- + +
+
+ +
+ @@ -31683,6 +32518,15 @@ + + + + + + + + +
@@ -31846,6 +32690,7 @@ +
@@ -32105,6 +32950,15 @@ + + + + + + + + +
@@ -32121,11 +32975,12 @@
-
+
- Lore + Lore
+ +
+ Quick Menu:
- +
+
+
-
+ +
+ +
+ +
+ +
+ +
+ +
+
Memorised:
@@ -32166,11 +33039,21 @@
+ +
+ CN x2 +
+
CN
- - + + +
+ -1 +
+ +
@@ -32401,6 +33284,339 @@
+ + + + + +
+
+ +
+ +
+
+ +
+
+ Ritual Name +
+ +
+ +
+
+
+ Ritual Name +
+ +
+
+
+
+
+ Lore +
+ +
+
+ +
+
+
+
+ Memorised: +
+
+ +
+
+ +
+
+ XP Cost: +
+
+ +
+
+
+ + + + +
+
+
+ +
+ CN x4 +
+ +
+ CN +
+ + +
+
+
+
+
+ Accu Ext SL +
+ +
+
+
+ Mod +
+ +
+
+
+ Target +
+ +
+ +
+ +
+
+ +
+ + +
+
+
+
+ Mod +
+ +
+
+
+ Target +
+ +
+ +
+ + +
+ +
+ + +
+ +
+
+ +
+ + + +
+
+
Roll Outcome
+
Text to show
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+ +
+ +
+ + +
+
+
Roll Outcome
+
Text to show
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ + + +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ () +
+ +
+
+
+
+
+ Spell Description () +
+ +
+
+
+
+
+
@@ -34688,7 +35904,7 @@
@@ -34817,7 +36033,7 @@ {{#spellcastingnumber}}
-
Casting Number
+
{{#rollGreater() usedenchstaff 0}}- 1{{/rollGreater() usedenchstaff 0}}
{{spellcastingnumber}} {{#rollTotal() spellmem 0}}- {{/rollTotal() spellmem 0}}
{{/spellcastingnumber}} @@ -34826,12 +36042,7 @@
Accu Ext SL
{{accuchanexlsl}}
-
- {{#rollGreater() spellcastingnumber accuchanexlsl}} -
-
Note: Insufficient Accu Ext SL
-
- {{/rollGreater() spellcastingnumber accuchanexlsl}} +
{{/accuchanexlsl}} {{#^rollGreater() ammo 0}} @@ -35102,6 +36313,9 @@
Miscast{{RTminor}} {{RTmajor}}
+ {{#rollTotal() spellmem 0}}
+ {{RTgrim}}
{{/rollTotal() spellmem 0}} +
{{/rollGreater() test target}} {{/rollBetween() rolltype 5 6}} {{#rollBetween() rolltype 7 8}} @@ -35132,19 +36346,6 @@ {{/^rollWasCrit() test}} {{/rollBetween() test 06 98}} - {{#rollBetween() test 06 97}} - {{#rollTotal() rolltype 9}} - {{#rollTotal() computed::test 10}} - {{#rollGreater() test target}} -
-
- Miscast{{RTminor}} {{RTmajor}}
-
- {{/rollGreater() test target}} - {{/rollTotal() computed::test 10}} - {{/rollTotal() rolltype 9}} - {{/rollBetween() test 06 97}} - {{#rollGreater() test 98}} {{#rollWasFumble() test}} {{#rollBetween() rolltype 0 4}} @@ -35159,6 +36360,8 @@
Miscast{{RTminor}} {{RTmajor}}
+ {{#rollTotal() spellmem 0}}
+ {{RTgrim}}
{{/rollTotal() spellmem 0}}
{{/rollGreater() test target}} {{/rollBetween() rolltype 5 6}} @@ -38152,7 +39355,7 @@
-{{computed::sl}}SL
{{/rollGreater() computed::sl 0}}{{/rollGreater() computed::rangedsize 0}} {{#rollGreater() SLmod 0}} -
+{{SLmod}}SL
+
+{{SLmod}}SL
{{/rollGreater() SLmod 0}} {{#rollLess() SLmod 0}}
{{SLmod}}SL
@@ -38168,10 +39371,13 @@ {{/rollGreater() sizemod 0}} {{#rollGreater() computed::cnsl 0}} -
+{{computed::cnsl}}SL
+
+{{computed::cnsl}}SL
{{/rollGreater() computed::cnsl 0}} + {{#rollGreater() robes 0}} +
+{{robes}}SL
+ {{/rollGreater() robes 0}} {{#rollLess() computed::cnsl 0}} -
{{computed::cnsl}}SL
+
{{computed::cnsl}}SL
{{/rollLess() computed::cnsl 0}} {{#rollGreater() defensive 0}} @@ -38300,7 +39506,67 @@ {{#rollGreater() sptal3 0}}{{#rollTotal() sptal2 0}}
+{{sptal3}}SL
{{/rollTotal() sptal2 0}}{{/rollGreater() sptal3 0}} - {{/^rollGreater() test target}} + {{/^rollGreater() test target}} + {{#^rollTotal() rolltype 9}} + {{#rollTotal() lore 1}} + {{#rollTotal() computed::lore 1}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 1}} + {{/rollTotal() lore 1}} + {{#rollTotal() lore 2}} + {{#rollTotal() computed::lore 2}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 2}} + {{/rollTotal() lore 2}} + {{#rollTotal() lore 3}} + {{#rollTotal() computed::lore 3}} +
+
+
+1 SL
+
+
+ {{/rollTotal() computed::lore 3}} + {{/rollTotal() lore 3}} + {{#rollTotal() lore 4}} + {{#rollTotal() computed::lore 4}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 4}} + {{/rollTotal() lore 4}} + {{#rollTotal() lore 5}} + {{#rollTotal() computed::lore 5}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 5}} + {{/rollTotal() lore 5}} + {{#rollTotal() lore 6}} + {{#rollTotal() computed::lore 6}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 6}} + {{/rollTotal() lore 6}} + {{#rollTotal() lore 7}} + {{#rollTotal() computed::lore 7}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 7}} + {{/rollTotal() lore 7}} + {{#rollTotal() lore 8}} + {{#rollTotal() computed::lore 8}} +
+
+1 SL
+
+ {{/rollTotal() computed::lore 8}} + {{/rollTotal() lore 8}} + {{/^rollTotal() rolltype 9}} {{#rollGreater() gunner 0}}
+{{gunner}}SL
@@ -38329,7 +39595,10 @@ {{/rollGreater() practical 0}} {{#rollGreater() bookish 0}}
:
- {{/rollGreater() bookish 0}} + {{/rollGreater() bookish 0}} + {{#rollGreater() speedreader 0}} +
:
+ {{/rollGreater() speedreader 0}} {{#rollGreater() carousersl 0}}
:
{{/rollGreater() carousersl 0}} @@ -38372,7 +39641,10 @@ {{/rollGreater() practical 0}} {{#rollGreater() bookish 0}}
:
- {{/rollGreater() bookish 0}} + {{/rollGreater() bookish 0}} + {{#rollGreater() speedreader 0}} +
:
+ {{/rollGreater() speedreader 0}} {{#rollGreater() carousersl 0}}
:
{{/rollGreater() carousersl 0}} @@ -38437,7 +39709,7 @@
+{{sptal3}}SL
- {{/rollTotal() sptal2 0}}{{/rollGreater() sptal3 0}} + {{/rollTotal() sptal2 0}}{{/rollGreater() sptal3 0}} {{/^rollGreater() test target}} {{#rollTotal() mod1type 1}} @@ -38650,9 +39922,21 @@ {{#rollGreater() sixthsense 0}}
+{{sixthsense}}SL
{{/rollGreater() sixthsense 0}} + {{#rollGreater() seasonedtraveller 0}} +
+{{seasonedtraveller}}SL
+ {{/rollGreater() seasonedtraveller 0}} + {{#rollGreater() speedreader 0}} +
+{{speedreader}}SL
+ {{/rollGreater() speedreader 0}} + {{#rollGreater() speedreaderlang 0}} +
+{{speedreaderlang}}SL
+ {{/rollGreater() speedreaderlang 0}} {{#rollGreater() secondsight 0}}
+{{secondsight}}SL
{{/rollGreater() secondsight 0}} + {{#rollGreater() stepaside 0}} +
+{{stepaside}}SL
+ {{/rollGreater() stepaside 0}} {{#rollGreater() stouthearted 0}}
+{{stouthearted}}SL
{{/rollGreater() stouthearted 0}} @@ -39030,8 +40314,8 @@
{{/inittest}} - - {{#^rollGreater() test target}}{{#^rollWasFumble() test}} + + {{#^rollWasFumble() test}}{{#rollGreater() computed::testoutcome 0}} {{#arcanetest}}
Casting Test Successful
@@ -39042,9 +40326,25 @@
Pray Test Successful
{{/praytest}} - {{/^rollWasFumble() test}}{{/^rollGreater() test target}} + {{/rollGreater() computed::testoutcome 0}}{{/^rollWasFumble() test}} - {{#^rollGreater() test target}}{{#rollWasFumble() test}} + + + {{#^rollGreater() computed::testoutcome 0}} {{#^rollWasFumble() test}} + {{#arcanetest}} +
+
Casting Test Failure
+
+ {{/arcanetest}} + {{#praytest}} +
+
Pray Test Failure
+
+ {{/praytest}} + {{/^rollWasFumble() test}} {{/^rollGreater() computed::testoutcome 0}} + + + {{#rollWasFumble() test}} {{#arcanetest}}
Casting Test Failure
@@ -39055,24 +40355,8 @@
Pray Test Failure
{{/praytest}} - {{/rollWasFumble() test}}{{/^rollGreater() test target}} + {{/rollWasFumble() test}} - - {{#arcanetest}} - {{#rollGreater() test target}} -
-
Casting Test Failure
-
- {{/rollGreater() test target}} - {{/arcanetest}} - {{#praytest}} - {{#rollGreater() test target}} -
-
Pray Test Failure
-
- {{/rollGreater() test target}} - {{/praytest}} - @@ -39194,13 +40478,27 @@
{{/rollGreater() computed::slbonus 0}} {{/leaping}} - + {{#ritualsacr}} +
+
+
{{ritualsacr}}
+
+ {{/ritualsacr}} + {{#rollLess() computed::slbonus 0}} + {{#consequence}} +
+
+
{{consequence}}
+
+ {{/consequence}} + {{/rollLess() computed::slbonus 0}} + - {{#^rollWasFumble() test}}{{#^rollGreater() test target}} + {{#^rollWasFumble() test}}{{#rollGreater() computed::testoutcome 0}} {{#spelldescription}}
-
Spell Description
+
{{spelldescription}}
{{/spelldescription}} @@ -39840,7 +41138,7 @@
{{/spelldamage}} - {{/^rollGreater() test target}} {{/^rollWasFumble() test}} + {{/rollGreater() computed::testoutcome 0}} {{/^rollWasFumble() test}} @@ -40653,8 +41951,8 @@ - {{#^rollGreater() test target}}{{#^rollWasFumble() test}} - {{#rollBetween() lore 1 8}} + {{#rollGreater() computed::testoutcome 0}}{{#^rollWasFumble() test}} + {{#rollBetween() lore 1 12}}
Lore Effects
: @@ -40693,9 +41991,13 @@ {{#arcanetest}}
{{/arcanetest}} {{^arcanetest}}
{{/arcanetest}} {{/rollTotal() lore 8}} + {{#rollTotal() lore 12}} + {{#arcanetest}}
{{/arcanetest}} + {{^arcanetest}}
{{/arcanetest}} + {{/rollTotal() lore 12}}
- {{/rollBetween() lore 1 8}} - {{/^rollWasFumble() test}}{{/^rollGreater() test target}} + {{/rollBetween() lore 1 12}} + {{/^rollWasFumble() test}}{{/rollGreater() computed::testoutcome 0}} @@ -43449,6 +44751,30 @@
Major20
{{/rollBetween() majorroll 96 100}} {{/majorroll}} + + + {{#grimmcroll}} +
+
+
{{grimmcroll}}
+
+ {{#rollBetween() grimmcroll 1 2}} +
GrimMc1
+ {{/rollBetween() grimmcroll 1 2}} + {{#rollBetween() grimmcroll 3 10}} +
GrimMc2
+ {{/rollBetween() grimmcroll 3 10}} + {{#rollBetween() grimmcroll 11 90}} +
GrimMc3
+ {{/rollBetween() grimmcroll 11 90}} + {{#rollBetween() grimmcroll 91 95}} +
GrimMc4
+ {{/rollBetween() grimmcroll 91 95}} + {{#rollBetween() grimmcroll 96 100}} +
GrimMc5
+ {{/rollBetween() grimmcroll 96 100}} + {{/grimmcroll}} + {{#wrathroll}}
@@ -46936,6 +48262,7 @@ on('sheet:opened', function(event){ }); + on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', function(event) { getAttrs(["Armorplatelegspenalty"], function(v) { if (v.Armorplatelegspenalty == 10) { setAttrs( @@ -46991,17 +48318,16 @@ on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', functio if (condseemovedef > 3) {condseemovedef = 3;} if (conda > 3) {conda = 3;} } - + let condseehearperc = condseehear; - if (condseehearperc > 0) {apen = (v.armorcoifpenalty*1 + v.armorhelmpenalty*1)/10 + condseehearperc - 3; condseehearperc -= apen;} else {apen = 0;} + if (condseehearperc > 0) {apen = (v.armorcoifpenalty*1 + v.armorhelmpenalty*1)/10 + condseehearperc - 3; if (apen < 0) {apen = 0;}; condseehearperc -= apen;} else {apen = 0;} if (apen < 0) {apen = 0;} let condseemovestealth = condseemove; - if (condseemovestealth > 0) {apen2 = (v.armormailpenalty*1 + v.armorplatepenalty*1 + v.armorplatelegspenalty*1)/10 + condseemovestealth - 3; condseemovestealth -= apen2;} else {apen2 = 0;} + if (condseemovestealth > 0) {apen2 = (v.armormailpenalty*1 + v.armorplatepenalty*1 + v.armorplatelegspenalty*1)/10 + condseemovestealth - 3; if (apen2 < 0) {apen2 = 0;}; condseemovestealth -= apen2;} else {apen2 = 0;} if (apen2 < 0) {apen2 = 0;} let condseemoveatkoff = condseemoveatk; let condseemovedefoff = condseemovedef; - console.log(condseemoveatkoff); if (condseemoveatkoff > 0) {apen3 = offpen + condseemoveatkoff - 3; if (apen3 < 0) {apen3 = 0;}; condseemoveatkoff -= apen3;} else {apen3 = 0;} if (apen3 < 0) {apen3 = 0;} @@ -47010,7 +48336,7 @@ on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', functio let dmodpout = dmodout - ((v.armorcoifpenalty*1 + v.armorhelmpenalty*1)/10 + dmodout -3); let dmodsout = dmodout - ((v.armormailpenalty*1 + v.armorplatepenalty*1 + v.armorplatelegspenalty*1)/10 + dmodout -3); - + let dmodatkout = dmodout - (offpen + dmodout - 3); let dmoddefout = dmodout - (offpen2 + dmodout - 3); if (dmodout == 0) {dmodpout = 0;} @@ -47028,7 +48354,7 @@ on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', functio if (v.Poisoned > 3) {modpi = 3;} else {modpi = v.Poisoned*1;} if (v.Stuned > 3) {mods = 3;} else {mods = v.Stuned*1;} let modpr = v.Prone*2; - + setAttrs({ "DrunkMod" : dmodout * 10, "DrunkPercMod" : (dmodout - dmodpout) * 10, @@ -47036,17 +48362,17 @@ on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', functio "DrunkAtkMod" : dmodatkout * 10, "DrunkDefMod" : dmoddefout * 10, "BlindedMod" : modbl * toggle * 10, - "BlindedPercMod" : (apen - dmodout) * 10, + "BlindedPercMod" : (apen) * 10, "BlindedStealthMod" : apen2 * 10, "BlindedAtkMod" : apen3 * 10, "BlindedDefMod" : apen4 * 10, "BrokenMod" : modbr * toggle * 10, - "BrokenPercMod" : (apen - dmodout) * 10, + "BrokenPercMod" : (apen) * 10, "BrokenStealthMod" : apen2 * 10, "BrokenAtkMod" : apen3 * 10, "BrokenDefMod" : apen4 * 10, "DeafenedMod" : modd * toggle * 10, - "DeafenedPercMod" : (apen - dmodout) * 10, + "DeafenedPercMod" : (apen ) * 10, "DeafenedAtkMod" : apen3 * 10, "DeafenedDefMod" : apen4 * 10, "EntangledMod" : mode * toggle * 10, @@ -47054,17 +48380,17 @@ on('sheet:opened change:armorplatelegspenalty change:armorplatepenalty', functio "EntangledAtkMod" : apen3 * 10, "EntangledDefMod" : apen4 * 10, "FatiguedMod" : modf * toggle * 10, - "FatiguedPercMod" : (apen - dmodout) * 10, + "FatiguedPercMod" : (apen) * 10, "FatiguedStealthMod" : apen2 * 10, "FatiguedAtkMod" : apen3 * 10, "FatiguedDefMod" : apen4 * 10, "PoisonedMod" : modpi * toggle * 10, - "PoisonedPercMod" : (apen - dmodout) * 10, + "PoisonedPercMod" : (apen) * 10, "PoisonedStealthMod" : apen2 * 10, "PoisonedAtkMod" : apen3 * 10, "PoisonedDefMod" : apen4 * 10, "StunedMod" : mods * toggle * 10, - "StunedPercMod" : (apen - dmodout) * 10, + "StunedPercMod" : (apen) * 10, "StunedStealthMod" : apen2 * 10, "StunedAtkMod" : apen3 * 10, "StunedDefMod" : apen4 * 10, @@ -47155,8 +48481,6 @@ on("clicked:activate", function(event) { }); - - // on('sheet:opened change:repeating_talents:talentname change:repeating_talents:talentlevel', function(event) { @@ -47847,7 +49171,7 @@ on('sheet:opened change:repeating_otherxp:otherxp change:repeating_otherxp:other }); }); - const skills = ['Athletics', 'Bribery', 'Charm', 'CharmAnimal', 'Climb', 'ConsumeAlcohol', 'Cool', 'Dodge', 'Drive', 'Endurance', 'Gamble', 'Gossip', 'Haggle', 'Intimidate', 'Intuition', 'Leadership', 'MeleeBasic', 'MeleeBrawling', 'MeleeCavalry', 'MeleeFencing', 'MeleeFlail', 'MeleeParry', 'MeleePolearm', 'MeleeTwoHanded', 'Navigation', 'OutdoorSurvival', 'Perception', 'Row', 'AnimalCare', 'ChannellingFire', 'ChannellingHeavens', 'ChannellingMetal', 'ChannellingBeasts', 'ChannellingLife', 'ChannellingLight', 'ChannellingDeath', 'ChannellingShadows', 'ChannellingWitch', 'ChannellingDark', 'ChannellingChaos', 'ChannellingMisc', 'Evaluate', 'Heal', 'Hypnotism', 'LangMagick', 'PickLock', 'Pray', 'RangedBlackpowder', 'RangedBow', 'RangedCrossbow', 'RangedEngineering', 'RangedEntangling', 'RangedExplosives', 'RangedSling', 'RangedThrowing', 'Research', 'SetTrap', 'SleightofHand', 'Swim', 'Track']; + const skills = ['Athletics', 'Bribery', 'Charm', 'CharmAnimal', 'Climb', 'ConsumeAlcohol', 'Cool', 'Dodge', 'Drive', 'Endurance', 'Gamble', 'Gossip', 'Haggle', 'Intimidate', 'Intuition', 'Leadership', 'MeleeBasic', 'MeleeBrawling', 'MeleeCavalry', 'MeleeFencing', 'MeleeFlail', 'MeleeParry', 'MeleePolearm', 'MeleeTwoHanded', 'Navigation', 'OutdoorSurvival', 'Perception', 'Row', 'AnimalCare', 'Augury', 'ChannellingFire', 'ChannellingHeavens', 'ChannellingMetal', 'ChannellingBeasts', 'ChannellingLife', 'ChannellingLight', 'ChannellingDeath', 'ChannellingShadows', 'ChannellingWitch', 'ChannellingDark', 'ChannellingChaos', 'ChannellingGreatMaw', 'ChannellingMisc', 'Evaluate', 'Heal', 'Hypnotism', 'LangMagick', 'Psychometry', 'PickLock', 'Pray', 'RangedBlackpowder', 'RangedBow', 'RangedCrossbow', 'RangedEngineering', 'RangedEntangling', 'RangedExplosives', 'RangedSling', 'RangedThrowing', 'Research', 'SetTrap', 'SleightofHand', 'Swim', 'Track']; skills.forEach(skill => { @@ -48075,8 +49399,8 @@ on('sheet:opened change:repeating_otherxp:otherxp change:repeating_otherxp:other }); - on(`sheet:opened change:xp change:xp_artdis change:xp_entertaindis change:xp_ridedis change:xp_stealthdis change:xp_animaltrainingdis change:xp_languagedis change:xp_loredis change:xp_performdis change:xp_playdis change:xp_saildis change:xp_secretsignsdis change:xp_tradedis change:athleticsxp change:briberyxp change:charmxp change:charmanimalxp change:climbxp change:consumealcoholxp change:coolxp change:dodgexp change:drivexp change:endurancexp change:gamblexp change:gossipxp change:hagglexp change:intimidatexp change:intuitionxp change:leadershipxp change:meleebasicxp change:meleebrawlingxp change:meleecavalryxp change:meleefencingxp change:meleeflailxp change:meleeparryxp change:meleepolearmxp change:meleetwohandedxp change:navigationxp change:outdoorsurvivalxp change:perceptionxp change:rowxp change:animalcarexp change:channellingfirexp change:channellingheavensxp change:channellingmetalxp change:channellingbeastsxp change:channellinglifexp change:channellinglightxp change:channellingdeathxp change:channellingshadowsxp change:channellingwitchxp change:channellingdarkxp change:channellingchaosxp change:channellingmiscxp change:evaluatexp change:healxp change:hypnotismxp change:langmagickxp change:picklockxp change:prayxp change:rangedblackpowderxp change:rangedbowxp change:rangedbowxp change:rangedcrossbowxp change:rangedengineeringxp change:rangedentanglingxp change:rangedexplosivesxp change:rangedslingxp change:rangedthrowingxp change:researchxp change:settrapxp change:sleightofhandxp change:swimxp change:trackxp`, function () { - getAttrs(['XP_ArtDis', 'XP_EntertainDis', 'XP_RideDis', 'XP_StealthDis', 'XP_AnimalTrainingDis', 'XP_LanguageDis', 'XP_LoreDis', 'XP_PerformDis', 'XP_PlayDis', 'XP_SailDis', 'XP_SecretSignsDis', 'XP_TradeDis', 'AthleticsAdv', 'AthleticsXP', 'BriberyAdv', 'BriberyXP', 'CharmAdv', 'CharmXP', 'CharmAnimalAdv', 'CharmAnimalXP', 'ClimbAdv', 'ClimbXP', 'ConsumeAlcoholAdv', 'ConsumeAlcoholXP', 'CoolAdv', 'CoolXP', 'DodgeAdv', 'DodgeXP', 'DriveAdv', 'DriveXP', 'EnduranceAdv', 'EnduranceXP', 'GambleAdv', 'GambleXP', 'GossipXP', 'GossipAdv', 'HaggleXP', 'HaggleAdv', 'IntimidateXP', 'IntimidateAdv', 'IntuitionXP', 'IntuitionAdv', 'LeadershipXP', 'LeadershipAdv', 'MeleeBasicXP', 'MeleeBasicAdv', 'MeleeBrawlingXP', 'MeleeBrawlingAdv', 'MeleeCavalryXP', 'MeleeCavalryAdv', 'MeleeFencingXP', 'MeleeFencingAdv', 'MeleeFlailXP', 'MeleeFlailAdv', 'MeleeParryXP', 'MeleeParryAdv', 'MeleePolearmXP', 'MeleePolearmAdv', 'MeleeTwoHandedXP', 'MeleeTwoHandedAdv', 'NavigationXP', 'NavigationAdv', 'OutdoorSurvivalXP', 'OutdoorSurvivalAdv', 'PerceptionXP', 'PerceptionAdv', 'RowXP', 'RowAdv', 'AnimalCareXP', 'AnimalCareAdv', 'ChannellingFireXP', 'ChannellingFireAdv', 'ChannellingHeavensXP', 'ChannellingHeavensAdv', 'ChannellingMetalXP', 'ChannellingMetalAdv', 'ChannellingBeastsXP', 'ChannellingBeastsAdv', 'ChannellingLifeXP', 'ChannellingLifeAdv', 'ChannellingLightXP', 'ChannellingLightAdv', 'ChannellingDeathXP', 'ChannellingDeathAdv', 'ChannellingShadowsXP', 'ChannellingShadowsAdv', 'ChannellingWitchXP', 'ChannellingWitchAdv', 'ChannellingDarkXP', 'ChannellingDarkAdv', 'ChannellingChaosXP', 'ChannellingChaosAdv', 'ChannellingMiscXP', 'ChannellingMiscAdv', 'EvaluateXP', 'EvaluateAdv', 'HealXP', 'HealAdv', 'HypnotismAdv', 'HypnotismXP', 'LangMagickXP', 'LangMagickAdv', 'PickLockXP', 'PickLockAdv', 'PrayXP', 'PrayAdv', 'RangedBlackpowderXP', 'RangedBlackpowderAdv', 'RangedBowXP', 'RangedBowAdv', 'RangedCrossbowXP', 'RangedCrossbowAdv', 'RangedEngineeringXP', 'RangedEngineeringAdv', 'RangedEntanglingXP', 'RangedEntanglingAdv', 'RangedExplosivesXP', 'RangedExplosivesAdv', 'RangedSlingXP', 'RangedSlingAdv', 'RangedThrowingXP', 'RangedThrowingAdv', 'ResearchXP', 'ResearchAdv', 'SetTrapXP', 'SetTrapAdv', 'SleightofHandXP', 'SleightofHandAdv', 'SwimXP', 'SwimAdv', 'TrackXP', 'TrackAdv'], function (x) { + on(`sheet:opened change:xp change:xp_artdis change:xp_entertaindis change:xp_ridedis change:xp_stealthdis change:xp_animaltrainingdis change:xp_languagedis change:xp_loredis change:xp_performdis change:xp_playdis change:xp_saildis change:xp_secretsignsdis change:xp_tradedis change:athleticsxp change:briberyxp change:charmxp change:charmanimalxp change:climbxp change:consumealcoholxp change:coolxp change:dodgexp change:drivexp change:endurancexp change:gamblexp change:gossipxp change:hagglexp change:intimidatexp change:intuitionxp change:leadershipxp change:meleebasicxp change:meleebrawlingxp change:meleecavalryxp change:meleefencingxp change:meleeflailxp change:meleeparryxp change:meleepolearmxp change:meleetwohandedxp change:navigationxp change:outdoorsurvivalxp change:perceptionxp change:rowxp change:animalcarexp change:auguryxp change:channellingfirexp change:channellingheavensxp change:channellingmetalxp change:channellingbeastsxp change:channellinglifexp change:channellinglightxp change:channellingdeathxp change:channellingshadowsxp change:channellingwitchxp change:channellingdarkxp change:channellingchaosxp change:channellinggreatmawxp change:channellingmiscxp change:evaluatexp change:healxp change:hypnotismxp change:langmagickxp change:psychometryxp change:picklockxp change:prayxp change:rangedblackpowderxp change:rangedbowxp change:rangedbowxp change:rangedcrossbowxp change:rangedengineeringxp change:rangedentanglingxp change:rangedexplosivesxp change:rangedslingxp change:rangedthrowingxp change:researchxp change:settrapxp change:sleightofhandxp change:swimxp change:trackxp`, function () { + getAttrs(['XP_ArtDis', 'XP_EntertainDis', 'XP_RideDis', 'XP_StealthDis', 'XP_AnimalTrainingDis', 'XP_LanguageDis', 'XP_LoreDis', 'XP_PerformDis', 'XP_PlayDis', 'XP_SailDis', 'XP_SecretSignsDis', 'XP_TradeDis', 'AthleticsAdv', 'AthleticsXP', 'BriberyAdv', 'BriberyXP', 'CharmAdv', 'CharmXP', 'CharmAnimalAdv', 'CharmAnimalXP', 'ClimbAdv', 'ClimbXP', 'ConsumeAlcoholAdv', 'ConsumeAlcoholXP', 'CoolAdv', 'CoolXP', 'DodgeAdv', 'DodgeXP', 'DriveAdv', 'DriveXP', 'EnduranceAdv', 'EnduranceXP', 'GambleAdv', 'GambleXP', 'GossipXP', 'GossipAdv', 'HaggleXP', 'HaggleAdv', 'IntimidateXP', 'IntimidateAdv', 'IntuitionXP', 'IntuitionAdv', 'LeadershipXP', 'LeadershipAdv', 'MeleeBasicXP', 'MeleeBasicAdv', 'MeleeBrawlingXP', 'MeleeBrawlingAdv', 'MeleeCavalryXP', 'MeleeCavalryAdv', 'MeleeFencingXP', 'MeleeFencingAdv', 'MeleeFlailXP', 'MeleeFlailAdv', 'MeleeParryXP', 'MeleeParryAdv', 'MeleePolearmXP', 'MeleePolearmAdv', 'MeleeTwoHandedXP', 'MeleeTwoHandedAdv', 'NavigationXP', 'NavigationAdv', 'OutdoorSurvivalXP', 'OutdoorSurvivalAdv', 'PerceptionXP', 'PerceptionAdv', 'RowXP', 'RowAdv', 'AnimalCareXP', 'AnimalCareAdv', 'AuguryXP', 'AuguryAdv', 'ChannellingFireXP', 'ChannellingFireAdv', 'ChannellingHeavensXP', 'ChannellingHeavensAdv', 'ChannellingMetalXP', 'ChannellingMetalAdv', 'ChannellingBeastsXP', 'ChannellingBeastsAdv', 'ChannellingLifeXP', 'ChannellingLifeAdv', 'ChannellingLightXP', 'ChannellingLightAdv', 'ChannellingDeathXP', 'ChannellingDeathAdv', 'ChannellingShadowsXP', 'ChannellingShadowsAdv', 'ChannellingWitchXP', 'ChannellingWitchAdv', 'ChannellingDarkXP', 'ChannellingDarkAdv', 'ChannellingChaosXP', 'ChannellingChaosAdv', 'ChannellingGreatMawXP', 'ChannellingGreatMawAdv', 'ChannellingMiscXP', 'ChannellingMiscAdv', 'EvaluateXP', 'EvaluateAdv', 'HealXP', 'HealAdv', 'HypnotismAdv', 'HypnotismXP', 'LangMagickXP', 'LangMagickAdv', 'PsychometryXP', 'PsychometryAdv', 'PickLockXP', 'PickLockAdv', 'PrayXP', 'PrayAdv', 'RangedBlackpowderXP', 'RangedBlackpowderAdv', 'RangedBowXP', 'RangedBowAdv', 'RangedCrossbowXP', 'RangedCrossbowAdv', 'RangedEngineeringXP', 'RangedEngineeringAdv', 'RangedEntanglingXP', 'RangedEntanglingAdv', 'RangedExplosivesXP', 'RangedExplosivesAdv', 'RangedSlingXP', 'RangedSlingAdv', 'RangedThrowingXP', 'RangedThrowingAdv', 'ResearchXP', 'ResearchAdv', 'SetTrapXP', 'SetTrapAdv', 'SleightofHandXP', 'SleightofHandAdv', 'SwimXP', 'SwimAdv', 'TrackXP', 'TrackAdv'], function (x) { console.log('Skill XP change'); if (x.AthleticsAdv > 0) { var out1 = getTranslationByKey('ATHLETICS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.AthleticsAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.AthleticsXP + ' ✥ '; } else { var out1 = '';} if (x.BriberyAdv > 0) { var out2 = getTranslationByKey('BRIBERY') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.BriberyAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.BriberyXP + ' ✥ '; } else { var out2 = '';} @@ -48108,18 +49432,18 @@ on('sheet:opened change:repeating_otherxp:otherxp change:repeating_otherxp:other if (x.RowAdv > 0) { var out28 = getTranslationByKey('ROW') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.RowAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.RowXP + ' ✥ '; } else { var out28 = '';} if (x.AnimalCareAdv > 0) { var out29 = getTranslationByKey('ANIMALCARE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.AnimalCareAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.AnimalCareXP + ' ✥ '; } else { var out29 = '';} - if (x.ChannellingFireAdv > 0) { var out30 = getTranslationByKey('CHANNELLING-FIRE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingFireAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingFireXP + ' ✥ '; } else { var out30 = '';} - if (x.ChannellingHeavensAdv > 0) { var out31 = getTranslationByKey('CHANNELLING-HEAVENS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingHeavensAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingHeavensXP + ' ✥ '; } else { var out31 = '';} - if (x.ChannellingMetalAdv > 0) { var out32 = getTranslationByKey('CHANNELLING-METAL') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingMetalAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingMetalXP + ' ✥ '; } else { var out32 = '';} - if (x.ChannellingBeastsAdv > 0) { var out33 = getTranslationByKey('CHANNELLING-BEASTS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingBeastsAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingBeastsXP + ' ✥ '; } else { var out33 = '';} - if (x.ChannellingLifeAdv > 0) { var out34 = getTranslationByKey('CHANNELLING-LIFE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingLifeAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingLifeXP + ' ✥ '; } else { var out34 = '';} - if (x.ChannellingLightAdv > 0) { var out35 = getTranslationByKey('CHANNELLING-LIGHT') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingLightAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingLightXP + ' ✥ '; } else { var out35 = '';} - if (x.ChannellingDeathAdv > 0) { var out36 = getTranslationByKey('CHANNELLING-DEATH') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingDeathAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingDeathXP + ' ✥ '; } else { var out36 = '';} - if (x.ChannellingShadowsAdv > 0) { var out37 = getTranslationByKey('CHANNELLING-SHADOWS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingShadowsAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingShadowsXP + ' ✥ '; } else { var out37 = '';} - if (x.ChannellingWitchAdv > 0) { var out38 = getTranslationByKey('CHANNELLING-WITCH') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingWitchAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingWitchXP + ' ✥ '; } else { var out38 = '';} - if (x.ChannellingDarkAdv > 0) { var out39 = getTranslationByKey('CHANNELLING-DARK') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingDarkAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingDarkXP + ' ✥ '; } else { var out39 = '';} - if (x.ChannellingChaosAdv > 0) { var out40 = getTranslationByKey('CHANNELLING-CHAOS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingChaosAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingChaosXP + ' ✥ '; } else { var out40 = '';} - if (x.ChannellingMiscAdv > 0) { var out41 = getTranslationByKey('CHANNELLING-MISC') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingMiscAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingMiscXP + ' ✥ '; } else { var out41 = '';} + if (x.ChannellingFireAdv > 0) { var out30 = getTranslationByKey('CHANNELLINGFIRE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingFireAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingFireXP + ' ✥ '; } else { var out30 = '';} + if (x.ChannellingHeavensAdv > 0) { var out31 = getTranslationByKey('CHANNELLINGHEAVENS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingHeavensAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingHeavensXP + ' ✥ '; } else { var out31 = '';} + if (x.ChannellingMetalAdv > 0) { var out32 = getTranslationByKey('CHANNELLINGMETAL') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingMetalAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingMetalXP + ' ✥ '; } else { var out32 = '';} + if (x.ChannellingBeastsAdv > 0) { var out33 = getTranslationByKey('CHANNELLINGBEASTS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingBeastsAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingBeastsXP + ' ✥ '; } else { var out33 = '';} + if (x.ChannellingLifeAdv > 0) { var out34 = getTranslationByKey('CHANNELLINGLIFE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingLifeAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingLifeXP + ' ✥ '; } else { var out34 = '';} + if (x.ChannellingLightAdv > 0) { var out35 = getTranslationByKey('CHANNELLINGLIGHT') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingLightAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingLightXP + ' ✥ '; } else { var out35 = '';} + if (x.ChannellingDeathAdv > 0) { var out36 = getTranslationByKey('CHANNELLINGDEATH') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingDeathAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingDeathXP + ' ✥ '; } else { var out36 = '';} + if (x.ChannellingShadowsAdv > 0) { var out37 = getTranslationByKey('CHANNELLINGSHADOWS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingShadowsAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingShadowsXP + ' ✥ '; } else { var out37 = '';} + if (x.ChannellingWitchAdv > 0) { var out38 = getTranslationByKey('CHANNELLINGWITCH') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingWitchAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingWitchXP + ' ✥ '; } else { var out38 = '';} + if (x.ChannellingDarkAdv > 0) { var out39 = getTranslationByKey('CHANNELLINGDARK') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingDarkAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingDarkXP + ' ✥ '; } else { var out39 = '';} + if (x.ChannellingChaosAdv > 0) { var out40 = getTranslationByKey('CHANNELLINGCHAOS') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingChaosAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingChaosXP + ' ✥ '; } else { var out40 = '';} + if (x.ChannellingMiscAdv > 0) { var out41 = getTranslationByKey('CHANNELLINGMISC') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingMiscAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingMiscXP + ' ✥ '; } else { var out41 = '';} if (x.EvaluateAdv > 0) { var out42 = getTranslationByKey('EVALUATE') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.EvaluateAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.EvaluateXP + ' ✥ '; } else { var out42 = '';} if (x.HealAdv > 0) { var out43 = getTranslationByKey('HEAL') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.HealAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.HealXP + ' ✥ '; } else { var out43 = '';} if (x.HypnotismAdv > 0) { var out44 = getTranslationByKey('HYPNOTISM') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.HypnotismAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.HypnotismXP + ' ✥ '; } else { var out44 = '';} @@ -48141,10 +49465,13 @@ on('sheet:opened change:repeating_otherxp:otherxp change:repeating_otherxp:other if (x.SwimAdv > 0) { var out59 = getTranslationByKey('SWIM') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.SwimAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.SwimXP + ' ✥ '; } else { var out59 = '';} if (x.TrackAdv > 0) { var out60 = getTranslationByKey('TRACK') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.TrackAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.TrackXP + ' ✥ '; } else { var out60 = '';} + if (x.AuguryAdv > 0) { var out61 = getTranslationByKey('AUGURY') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.AuguryAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.AuguryXP + ' ✥ '; } else { var out61 = '';} + if (x.PsychometryAdv > 0) { var out62 = getTranslationByKey('PSYCHOLOGY') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.PsychometryAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.PsychometryXP + ' ✥ '; } else { var out62 = '';} + if (x.ChannellingGreatMawAdv > 0) { var out63 = getTranslationByKey('CHANNELLINGGREATMAW') + ' -' + ' ' + getTranslationByKey('ABBREVIATE-ADVANCE') + ': ' + x.ChannellingGreatMawAdv + ' -' + ' ' + getTranslationByKey('XP') + ': ' + x.ChannellingGreatMawXP + ' ✥ '; } else { var out63 = '';} - let out = x.XP_ArtDis + out1 + out2 + out3 + out4 + out5 + out6 + out7 + out8 + out9 + out10 + x.XP_EntertainDis + out11 + out12 + out13 + out14 + out15 + out16 + out17 + out18 + out19 + out20 + out21 + out22 + out23 + out24 + out25 + out26 + out27 + x.XP_RideDis + out28 + x.XP_StealthDis + out29 + x.XP_AnimalTrainingDis + out30 + out31 + out32 + out33 + out34 + out35 + out36 + out37 + out38 + out39 + out40 + out41 + out42 + out43 + out44 + x.XP_LanguageDis + x.XP_LoreDis + x.XP_PerformDis + out45 + x.XP_PlayDis + out46 + out47 + out48 + out49 + out50 + out51 + out52 + out53 + out54 + out55 + x.XP_SailDis + x.XP_SecretSignsDis + out56 + out57 + out58 + out59 + out60 + x.XP_TradeDis ; + let out = x.XP_ArtDis + out1 + out2 + out3 + out4 + out5 + out6 + out7 + out8 + out9 + out10 + x.XP_EntertainDis + out11 + out12 + out13 + out14 + out15 + out16 + out17 + out18 + out19 + out20 + out21 + out22 + out23 + out24 + out25 + out26 + out27 + x.XP_RideDis + out28 + x.XP_StealthDis + out29 + x.XP_AnimalTrainingDis + out30 + out31 + out32 + out33 + out34 + out35 + out36 + out37 + out38 + out39 + out40 + out41 + out42 + out43 + out44 + x.XP_LanguageDis + x.XP_LoreDis + x.XP_PerformDis + out45 + x.XP_PlayDis + out46 + out47 + out48 + out49 + out50 + out51 + out52 + out53 + out54 + out55 + x.XP_SailDis + x.XP_SecretSignsDis + out56 + out57 + out58 + out59 + out60 + out61 + out62 + out62 + x.XP_TradeDis ; - let xpout = x.AthleticsXP + x.BriberyXP + x.CharmXP + x.CharmAnimalXP + x.ConsumeAlcoholXP + x.ClimbXP + x.CoolXP + x.DodgeXP + x.DriveXP + x.EnduranceXP + x.GambleXP + x.GossipXP + x.HaggleXP + x.IntimidateXP + x.IntuitionXP + x.LeadershipXP + x.MeleeBasicXP + x.MeleeBrawlingXP + x.MeleeFencingXP + x.MeleeCavalryXP + x.MeleeFlailXP + x.MeleeParryXP + x.MeleePolearmXP + x.MeleeTwoHandedXP + x.NavigationXP + x.OutdoorSurvivalXP + x.PerceptionXP + x.RowXP + x.AnimalCareXP + x.ChannellingFireXP + x.ChannellingHeavensXP + x.ChannellingMetalXP + x.ChannellingBeastsXP + x.ChannellingLifeXP + x.ChannellingLightXP + x.ChannellingDeathXP + x.ChannellingShadowsXP + x.ChannellingWitchXP + x.ChannellingDarkXP + x.ChannellingChaosXP + x.ChannellingMiscXP + x.EvaluateXP + x.HealXP + x.HypnotismXP + x.LangMagickXP + x.PickLockXP + x.PrayXP + x.RangedBlackpowderXP + x.RangedBowXP + x.RangedCrossbowXP + x.RangedEngineeringXP + x.RangedEntanglingXP + x.RangedExplosivesXP + x.RangedSlingXP + x.RangedThrowingXP + x.ResearchXP + x.SetTrapXP + x.SleightofHandXP + x.SwimXP + x.TrackXP ; + let xpout = x.AthleticsXP + x.BriberyXP + x.CharmXP + x.CharmAnimalXP + x.ConsumeAlcoholXP + x.ClimbXP + x.CoolXP + x.DodgeXP + x.DriveXP + x.EnduranceXP + x.GambleXP + x.GossipXP + x.HaggleXP + x.IntimidateXP + x.IntuitionXP + x.LeadershipXP + x.MeleeBasicXP + x.MeleeBrawlingXP + x.MeleeFencingXP + x.MeleeCavalryXP + x.MeleeFlailXP + x.MeleeParryXP + x.MeleePolearmXP + x.MeleeTwoHandedXP + x.NavigationXP + x.OutdoorSurvivalXP + x.PerceptionXP + x.RowXP + x.AnimalCareXP + x.AuguryXP + x.ChannellingFireXP + x.ChannellingHeavensXP + x.ChannellingMetalXP + x.ChannellingBeastsXP + x.ChannellingLifeXP + x.ChannellingLightXP + x.ChannellingDeathXP + x.ChannellingShadowsXP + x.ChannellingWitchXP + x.ChannellingDarkXP + x.ChannellingChaosXP + x.ChannellingGreatMawXP + x.ChannellingMiscXP + x.EvaluateXP + x.HealXP + x.HypnotismXP + x.LangMagickXP + x.PsychometryXP + x.PickLockXP + x.PrayXP + x.RangedBlackpowderXP + x.RangedBowXP + x.RangedCrossbowXP + x.RangedEngineeringXP + x.RangedEntanglingXP + x.RangedExplosivesXP + x.RangedSlingXP + x.RangedThrowingXP + x.ResearchXP + x.SetTrapXP + x.SleightofHandXP + x.SwimXP + x.TrackXP ; console.log(xpout); setAttrs( { @@ -48581,9 +49908,6 @@ on('change:repeating_spellbookarcane change:repeating_spellbookarcane:spellname' if (v.repeating_spellbookarcane_spellname == "@{customarcname}") {cust = 1;} else {cust = 0;} - console.log("change"); - console.log(v.repeating_spellbookarcane_spellname); - console.log(cust); getSectionIDs("repeating_spellbookarcane", function (ids) { if (playerclickedid == ids.toLowerCase) return; @@ -48647,7 +49971,8 @@ on('change:repeating_spellbookarcane:ExtChannellingLore', function(event) { if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingWitch})") {lore = 9;} if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingDark})") {lore = 10;} if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingChaos})") {lore = 11;} - if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingMisc})") {lore = 12;} + if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingGreatMaw})") {lore = 12;} + if (v.repeating_spellbookarcane_ExtChannellingLore == "(@{ChannellingMisc})") {lore = 13;} console.log("spelllore change"); console.log(lore); @@ -48671,6 +49996,103 @@ on('change:repeating_spellbookarcane:ExtChannellingLore', function(event) { }); }); +on('change:repeating_spellbookrituals change:repeating_spellbookrituals:spellname', function(event) { + // makes sure the sheet worker doesnt trigger itself + if (event.sourceType === 'sheetworker') return; + // get the row id that the player clicked. the id is always between the second and third '_' + const playerclickedid = event.sourceAttribute.split('_')[2] || ''; + + getAttrs(["repeating_spellbookrituals_spellname"], function(v) { + + if (v.repeating_spellbookrituals_spellname == "@{customritualname}") {cust = 1;} else {cust = 0;} + + getSectionIDs("repeating_spellbookrituals", function (ids) { + if (playerclickedid == ids.toLowerCase) return; + // create an object to hold all the attributes we are bout to change + const output = {}; + // loop through the row ids + ids.forEach(id => { + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + let playerId = playerclickedid.toLowerCase(); + if(playerId == id.toLowerCase()) { + output[`repeating_spellbookrituals_${id}_rep_ID`] = playerId; + output[`repeating_spellbookrituals_${id}_custname`] = cust; + } + }); + setAttrs(output, {silent: true}); + }); +}); +}); +on('clicked:repeating_spellbookrituals:custname', function(event) { + // makes sure the sheet worker doesnt trigger itself + if (event.sourceType === 'sheetworker') return; + // get the row id that the player clicked. the id is always between the second and third '_' + const playerclickedid = event.sourceAttribute.split('_')[2] || ''; + + console.log("spellname click"); + + getSectionIDs("repeating_spellbookrituals", function (ids) { + if (playerclickedid == ids.toLowerCase) return; + // create an object to hold all the attributes we are bout to change + const output = {}; + const output2 = {}; + // loop through the row ids + ids.forEach(id => { + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + let playerId = playerclickedid.toLowerCase(); + if(playerId == id.toLowerCase()) { + output[`repeating_spellbookrituals_${id}_spellname`] = ""; + output2[`repeating_spellbookrituals_${id}_custname`] = 0; + } + }); + setAttrs(output, {silent: true}); + setAttrs(output2, {silent: true}); + }); +}); +on('change:repeating_spellbookrituals:ExtChannellingLore', function(event) { + // makes sure the sheet worker doesnt trigger itself + if (event.sourceType === 'sheetworker') return; + // get the row id that the player clicked. the id is always between the second and third '_' + const playerclickedid = event.sourceAttribute.split('_')[2] || ''; + + getAttrs(["repeating_spellbookrituals_ExtChannellingLore"], function(v) { + + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingFire})") {lore = 1;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingHeavens})") {lore = 2;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingMetal})") {lore = 3;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingBeasts})") {lore = 4;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingLife})") {lore = 5;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingLight})") {lore = 6;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingDeath})") {lore = 7;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingShadows})") {lore = 8;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingWitch})") {lore = 9;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingDark})") {lore = 10;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingChaos})") {lore = 11;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingGreatMaw})") {lore = 12;} + if (v.repeating_spellbookrituals_ExtChannellingLore == "(@{ChannellingMisc})") {lore = 13;} + + console.log("spelllore change"); + console.log(lore); + + + getSectionIDs("repeating_spellbookrituals", function (ids) { + if (playerclickedid == ids.toLowerCase) return; + // create an object to hold all the attributes we are bout to change + const output = {}; + // loop through the row ids + ids.forEach(id => { + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + let playerId = playerclickedid.toLowerCase(); + if(playerId == id.toLowerCase()) { + output[`repeating_spellbookrituals_${id}_MagicLore`] = lore; + output[`repeating_spellbookrituals_${id}_spellchannelsl`] = 0; + } + }); + setAttrs(output, {silent: true}); + }); + }); +}); + on('change:repeating_divineblessings change:repeating_divineblessings:spellname', function(event) { // makes sure the sheet worker doesnt trigger itself if (event.sourceType === 'sheetworker') return; @@ -49728,6 +51150,19 @@ on('sheet:opened', function() { console.log('Check and assign Spellbookarcane IDs.'); idArray.forEach(id => {output[`repeating_spellbookarcane_${id}_rep_ID`] = id, setAttrs(output, {silent: true})}); + }); + }); + + getSectionIDs('repeating_spellbookrituals', function (idArray) { + let attrs = [ + ...idArray.map(id => `repeating_spellbookrituals_${id}_rep_ID`) + ]; + getAttrs(attrs, function (v) { + const output = {}; + // logs undefined + console.log('Check and assign Spellbookrituals IDs.'); + idArray.forEach(id => {output[`repeating_spellbookrituals_${id}_rep_ID`] = id, setAttrs(output, {silent: true})}); + }); }); @@ -49763,7 +51198,7 @@ on('sheet:opened', function() { }); -on('sheet:opened change:advantage change:advantage_casting', function(event) { +on('sheet:opened change:advantage change:repeating_npc-tab-page:advstat change:repeating_npc-tab-page2:advstat change:repeating_npc-tab-page3:advstat change:repeating_npc-tab-page4:advstat change:advantage_casting', function(event) { // makes sure the sheet worker doesnt trigger itself if (event.sourceType === 'sheetworker') return; getAttrs(["Advantage", "Advantage_casting"], function(v) { @@ -50842,7 +52277,7 @@ on('clicked:rangedweaponrld', (eventInfo) => { on('clicked:repeating_spellbookpetty:spellcast clicked:repeating_spellbookpetty:spellcastdmg', (eventInfo) => { getAttrs(["initiative_houserule"], function(v) { - let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_InstinctiveDictionLvl}+@{Talent_PerfectPitchLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusCast}]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_SpellMod}}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{advantage=[[@{Advantage}*10*@{Advantage_casting}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{spelltype=^{PETTY-SPELL}}} {{spellrange=Range: @{prefix2-_spellrange}}} {{spelltarget=Targets: @{prefix2-_spelltarget}}} {{spellduration=Duration: @{prefix2-_spellduration}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + [[{@{LangMagick}}]] [SKILL] + ?{@{translation_modifier}|0} [MOD] + [[@{Advantage}*10*@{Advantage_casting}]] [ADV] ]]}} {{spelldescription=@{prefix2-_spelldescription}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[6]]}} {{mod1type=[[@{prefix2-_PettySpell_modtype1}]]}} {{mod1=@{prefix2-_PettySpell_mod1}}} {{mod2type=[[@{prefix2-_PettySpell_modtype2}]]}} {{mod2=@{prefix2-_PettySpell_mod2}}} {{mod3type=[[@{prefix2-_PettySpell_modtype3}]]}} {{mod3=@{prefix2-_PettySpell_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{reroll=[1](~@{character_name}|prefix2-_spellcast)}} {{sptal2=[[0+@{Talent_InstinctiveDictionLvl}]]}} {{sptal3=[[@{Talent_PerfectPitchLvl}]]}} {{sptal23=[[@{Talent_InstinctiveandPitch}]]}}'; + let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_InstinctiveDictionLvl}+@{Talent_PerfectPitchLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusCast}]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_SpellMod}}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{advantage=[[@{Advantage}*10*@{Advantage_casting}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{spelltype=^{PETTY-SPELL}}} {{spellrange=Range: @{prefix2-_spellrange}}} {{spelltarget=Targets: @{prefix2-_spelltarget}}} {{spellduration=Duration: @{prefix2-_spellduration}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + [[{@{LangMagick}}]] [SKILL] + ?{@{translation_modifier}|0} [MOD] + [[@{Advantage}*10*@{Advantage_casting}]] [ADV] ]]}} {{spelldescription=@{prefix2-_spelldescription}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[6]]}} {{mod1type=[[@{prefix2-_PettySpell_modtype1}]]}} {{mod1=@{prefix2-_PettySpell_mod1}}} {{mod2type=[[@{prefix2-_PettySpell_modtype2}]]}} {{mod2=@{prefix2-_PettySpell_mod2}}} {{mod3type=[[@{prefix2-_PettySpell_modtype3}]]}} {{mod3=@{prefix2-_PettySpell_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{reroll=[1](~@{character_name}|prefix2-_spellcast)}} {{sptal2=[[0+@{Talent_InstinctiveDictionLvl}]]}} {{sptal3=[[@{Talent_PerfectPitchLvl}]]}} {{sptal23=[[@{Talent_InstinctiveandPitch}]]}} {{testoutcome=[[0]]}}'; var trigger = eventInfo.triggerName.slice(8); var skillpre = trigger.split('_'); var skill = skillpre[3]; @@ -50874,6 +52309,12 @@ on('clicked:repeating_spellbookpetty:spellcast clicked:repeating_spellbookpetty: if ( test <= target ) { var computed4 = slbonusatk ;} else { var computed4 = 0 ;} if ( test <= target ) { var computed5 = slbonusatk + SLmod ;} else { var computed5 = SLmod ;} + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -50882,6 +52323,7 @@ on('clicked:repeating_spellbookpetty:spellcast clicked:repeating_spellbookpetty: slbonus: computed3, slbonusatk: computed4, sladd: computed5, + testoutcome: outcome, } ); }); @@ -50889,9 +52331,309 @@ on('clicked:repeating_spellbookpetty:spellcast clicked:repeating_spellbookpetty: }); on('clicked:repeating_spellbookarcane:spellcast clicked:repeating_spellbookarcane:spellcastdmg clicked:repeating_spellbookarcane:spellcastreroll clicked:repeating_spellbookarcane:spellcastdmgreroll', (eventInfo) => { + getAttrs(["initiative_houserule", "OverChannel", "LastRollAccuExtSL", "Talent_SuffusedWithAqshyLvl", "Talent_SuffusedWithAzyrLvl", "Talent_SuffusedWithChamonLvl", "Talent_SuffusedWithGhurLvl", "Talent_SuffusedWithGhyranLvl", "Talent_SuffusedWithHyshLvl", "Talent_SuffusedWithShiyshLvl", "Talent_SuffusedWithUgluLvl"], function(v) { + + let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_InstinctiveDictionLvl}+@{Talent_PerfectPitchLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusCast}]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_SpellMod}}]]}} {{accuchanexlsl=[[Accu-]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{advantage=[[@{Advantage}*10*@{Advantage_casting}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{spelltype=^{ARCANE-SPELL}}} {{spellrange=Range: @{prefix2-_spellrange}}} {{spelltarget=Targets: @{prefix2-_spelltarget}}} {{spellduration=Duration: @{prefix2-_spellduration}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + [[{@{LangMagick}}]] [SKILL] + ?{@{translation_modifier}|0} [MOD] + [[@{Advantage}*10*@{Advantage_casting}]] [ADV] ]]}} {{spelldescription=@{prefix2-_spelldesc}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[6]]}} {{spellcastingnumber=[[@{prefix2-_cn-sl-mod}+(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1))]]}} {{mod1type=[[@{prefix2-_ArcaneSpell_modtype1}]]}} {{mod1=@{prefix2-_ArcaneSpell_mod1}}} {{mod2type=[[@{prefix2-_ArcaneSpell_modtype2}]]}} {{mod2=@{prefix2-_ArcaneSpell_mod2}}} {{mod3type=[[@{prefix2-_ArcaneSpell_modtype3}]]}} {{mod3=@{prefix2-_ArcaneSpell_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{RTgrim=@{RT-grim}}} {{sptal2=[[@{Talent_InstinctiveDictionLvl}]]}} {{sptal3=[[@{Talent_PerfectPitchLvl}]]}} {{sptal23=[[@{Talent_InstinctiveandPitch}]]}} {{spellmem=[[@{prefix2-_Spellmem}]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{usedenchstaff=[[@{prefix2-_Used_Enchanted_Staff_show}]]}} {{cnsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}-(@{prefix2-_spellcastingnumber}+(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1)))]]}} {{testoutcome=[[0]]}}'; + var trigger = eventInfo.triggerName.slice(8); + var skillpre = trigger.split('_'); + var skill = skillpre[3]; + if (skill === "spellcast") {rollDmgPart = ' {{reroll=[1](~@{character_name}|prefix2-_spellcastreroll)}}'; + var accumod = '@{prefix2-_spellchannelsl}'; + var prefix = eventInfo.triggerName.slice(8, -10);} + if (skill === "spellcastreroll") {rollDmgPart = ' {{reroll=[1](~@{character_name}|prefix2-_spellcastreroll)}}'; + var accumod = '@{LastRollAccuExtSL}'; + var prefix = eventInfo.triggerName.slice(8, -16);} + if (skill === "spellcastdmg") {rollDmgPart = ' {{hitlocation=true}} {{spelldamage=[[@{prefix2-_spelldamage}+@{prefix2-_spelldamagewb}]]}} {{RTcrit=@{RT-critical}}} {{reroll=[1](~@{character_name}|prefix2-_spellcastdmgreroll)}}'; + var accumod = '@{prefix2-_spellchannelsl}'; + var prefix = eventInfo.triggerName.slice(8, -13);} + if (skill === "spellcastdmgreroll") {rollDmgPart = ' {{hitlocation=true}} {{spelldamage=[[@{prefix2-_spelldamage}+@{prefix2-_spelldamagewb}]]}} {{RTcrit=@{RT-critical}}} {{reroll=[1](~@{character_name}|prefix2-_spellcastdmgreroll)}}'; + var accumod = '@{LastRollAccuExtSL}'; + var prefix = eventInfo.triggerName.slice(8, -19);} + + let rollBegins = '@{Whisper} &{template:whfrp2e}'; + + let rollDmg = rollDmgPart.replaceAll('prefix2-', `${prefix}`); + let rollPart = roll.replaceAll('Accu-', accumod).replaceAll('prefix2-', `${prefix}`); + + console.log(rollPart); + + startRoll(rollBegins + rollPart + rollDmg, (results) => { + const target = results.results.target.result + const test = results.results.test.result + const sl = results.results.sl.result + const slbonus = results.results.slbonus.result + const slbonusatk = results.results.slbonusatk.result + const sptal2 = results.results.sptal2.result + const sptal3 = results.results.sptal3.result + const SLmod = results.results.SLmod.result + const accuchanexlsl = results.results.accuchanexlsl.result + const cn = results.results.spellcastingnumber.result + const lore = results.results.lore.result + const computed = (Math.floor(target / 10) - Math.floor(test / 10)) ; + const computed2 = (((test-1)%10)+1) ; + + cnsl = accuchanexlsl - cn; + + suffadd = 0; + lorecomp = 0; + if (lore === 1) {if (v.Talent_SuffusedWithAqshyLvl == 1) {suffadd = 1; lorecomp = 1;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 2) {if (v.Talent_SuffusedWithAzyrLvl == 1) {suffadd = 1; lorecomp = 2;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 3) {if (v.Talent_SuffusedWithChamonLvl == 1) {suffadd = 1; lorecomp = 3;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 4) {if (v.Talent_SuffusedWithGhurLvl == 1) {suffadd = 1; lorecomp = 4;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 5) {if (v.Talent_SuffusedWithGhyranLvl == 1) {suffadd = 1; lorecomp = 5;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 6) {if (v.Talent_SuffusedWithHyshLvl == 1) {suffadd = 1; lorecomp = 6;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 7) {if (v.Talent_SuffusedWithShiyshLvl == 1) {suffadd = 1; lorecomp = 7;} else {suffadd = 0; lorecomp = 0;}} + if (lore === 8) {if (v.Talent_SuffusedWithAzyrLvl == 1) {suffadd = 1; lorecomp = 8;} else {suffadd = 0; lorecomp = 0;}} + + console.log(lore); + console.log(lorecomp); + + setAttrs({ + "LastRollAccuExtSL": accuchanexlsl, + }, {silent: true}); + + if (v.OverChannel == 0) {if (cnsl > 0) {cnsl = 0;}} + + if ( test <= target ) { var computed3 = computed + sptal2 + sptal3 + SLmod + cnsl + suffadd ;} else { var computed3 = computed + SLmod + cnsl + suffadd ;} + if ( test <= target ) { var computed4 = slbonusatk + cnsl + suffadd ;} else { var computed4 = cnsl + suffadd ;} + if ( test <= target ) { var computed5 = slbonusatk + SLmod + cnsl + suffadd ;} else { var computed5 = SLmod + cnsl + suffadd ;} + + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + + finishRoll( + results.rollId, + { + test: computed2, + sl: computed, + slbonus: computed3, + slbonusatk: computed4, + sladd: computed5, + cnsl: cnsl, + lore: lorecomp, + testoutcome: outcome, + } + ); + + + getSectionIDs("repeating_spellbookarcane", function (ids) { + // create an object to hold all the attributes we are bout to change + const output = {}; + // loop through the row ids + ids.forEach(id => { + + getAttrs([`repeating_spellbookarcane_${id}_MagicLore`, `repeating_spellbookarcane_${id}_UsedSpell1`, `repeating_spellbookarcane_${id}_UsedSpell2`, `repeating_spellbookarcane_${id}_UsedSpell3`], function(v) { + + if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + { + output[`repeating_spellbookarcane_${id}_spellchannelsl`] = 0, setAttrs(output, {silent: true}) + + console.log("check"); + console.log(v[`repeating_spellbookarcane_${id}_UsedSpell1`]); + + if(v[`repeating_spellbookarcane_${id}_UsedSpell1`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell1_AccuSL": 0, + }, {silent: true}); + } + if(v[`repeating_spellbookarcane_${id}_UsedSpell2`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell2_AccuSL": 0, + }, {silent: true}); + } + if(v[`repeating_spellbookarcane_${id}_UsedSpell3`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell3_AccuSL": 0, + }, {silent: true}); + } + + } + }); + }); + + }); + }); + }); + + }); + + + + +on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { + getAttrs(["initiative_houserule", "WillPowerBonus"], function(v) { + + let roll = '{{test=[[@{roll_rule}]]}} {{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_AethyricAttunementLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusChannel}]]}} {{sladd=[[0]]}} {{modvalue=[[?{Channeling Roll Modifier|@{prefix2-_ChanMod}}]]}} {{title=^{EXTENDED-CHANNELLING-TEST}}} {{skill=^{ADVANCED-SKILL}}}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{character_name=@{character_name}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + @{prefix2-_ExtChannellingLore} [SKILL] + ?{Channeling Roll Modifier|0} [MOD] ]]}} {{skilltest=true}} {{accuchanexlsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}}} {{SLmod=[[?{SL Modifier|0}]]]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{rolltype=[[9]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{robes=[[@{Used_Wizard_Robes}]]}} {{mod1type=[[@{prefix2-_ExtChannellingLoreRoll_modtype1}]]}} {{mod1=@{prefix2-_ExtChannellingLoreRoll_mod1}}} {{mod2type=[[@{prefix2-_ExtChannellingLoreRoll_modtype2}]]}} {{mod2=@{prefix2-_ExtChannellingLoreRoll_mod2}}} {{mod3type=[[@{prefix2-_ExtChannellingLoreRoll_modtype3}]]}} {{mod3=@{prefix2-_ExtChannellingLoreRoll_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{reroll=[1](~@{character_name}|prefix2-_extchannellingloreroll)}} {{sptal1=[[@{Talent_AethyricAttunementLvl}]]}} {{testoutcome=[[0]]}}'; + var trigger = eventInfo.triggerName.slice(8); + var prefix = eventInfo.triggerName.slice(8, -23); + + let rollBegins = '@{Whisper} &{template:whfrp2e}'; + let rollPart = roll.replaceAll('prefix2-', `${prefix}`); + extsl = 0; + + console.log(trigger); + console.log(rollPart); + + + startRoll(rollBegins + rollPart, (results) => { + const target = results.results.target.result + const test = results.results.test.result + const sl = results.results.sl.result + const slbonus = results.results.slbonus.result + const slbonusatk = results.results.slbonusatk.result + const sptal1 = results.results.sptal1.result + const SLmod = results.results.SLmod.result + const accuchanexlsl = results.results.accuchanexlsl.result + const lore = results.results.lore.result + const robes = results.results.robes.result + con = (Math.floor(target / 10) - Math.floor(test / 10)); + + if ( test <= target ) { + if ( con = 0 ) {computed = 1;} else {computed = (Math.floor(target / 10) - Math.floor(test / 10));} + } else {computed = (Math.floor(target / 10) - Math.floor(test / 10));} + + const computed2 = (((test-1)%10)+1) ; + + if ( test <= target ) { var computed3 = computed + sptal1 + robes + SLmod ;} else { var computed3 = computed + robes + SLmod ;} + if ( test <= target ) { var computed4 = slbonusatk + robes ;} else { var computed4 = robes ;} + if ( test <= target ) { var computed5 = slbonusatk + robes + SLmod ;} else { var computed5 = robes + SLmod ;} + + if ( computed >= computed3 ) {extsl = computed;} else {extsl = computed3;} + if ( test <= target ) {if ( extsl === 0 ) {extsl += 1;}} + + chancrit = 0; + + if ( test <= target ) { + if ( test === 11 ) {chancrit = 1;} + if ( test === 22 ) {chancrit = 1;} + if ( test === 33 ) {chancrit = 1;} + if ( test === 44 ) {chancrit = 1;} + if ( test === 55 ) {chancrit = 1;} + if ( test === 66 ) {chancrit = 1;} + if ( test === 77 ) {chancrit = 1;} + if ( test === 88 ) {chancrit = 1;} + if ( test === 99 ) {chancrit = 1;} + } + + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + + + finishRoll( + results.rollId, + { + test: computed2, + sl: computed, + slbonus: computed3, + slbonusatk: computed4, + sladd: computed5, + testoutcome: outcome, + } + ); + + + getSectionIDs("repeating_spellbookarcane", function (ids) { + // create an object to hold all the attributes we are bout to change + const output = {}; + // loop through the row ids + ids.forEach(id => { + + getAttrs([`repeating_spellbookarcane_${id}_MagicLore`, `repeating_spellbookarcane_${id}_UsedSpell1`, `repeating_spellbookarcane_${id}_UsedSpell2`, `repeating_spellbookarcane_${id}_UsedSpell3`], function(v) { + + if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + { + extslout = accuchanexlsl + extsl; + if (extslout < 0) {extslout = 0;} + if (chancrit === 1) {extslout += v.WillPowerBonus;} + + output[`repeating_spellbookarcane_${id}_spellchannelsl`] = extslout, setAttrs(output, {silent: true}) + + + if(v[`repeating_spellbookarcane_${id}_UsedSpell1`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell1_AccuSL": extslout, + }, {silent: true}); + } + if(v[`repeating_spellbookarcane_${id}_UsedSpell2`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell2_AccuSL": extslout, + }, {silent: true}); + } + if(v[`repeating_spellbookarcane_${id}_UsedSpell3`] === 1) + { + setAttrs({ + "Quick_ArcaneSpell3_AccuSL": extslout, + }, {silent: true}); + } + + + + } + }); + + }); + }); + + + }); + + }); +}); + + +on('clicked:repeating_spellbookarcane:channelreset', (eventInfo) => { + const playerclickedid = eventInfo.sourceAttribute.split('_')[2] || ''; + + console.log("channel reset"); + lore = ''; + + getSectionIDs("repeating_spellbookarcane", function (ids) { + // create an object to hold all the attributes we are bout to change + const output = {}; + const output2 = {}; + // loop through the row ids + ids.forEach(id => { + + if(playerclickedid.toLowerCase() == id.toLowerCase()) { + + getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(t) { + + lore = t[`repeating_spellbookarcane_${id}_MagicLore`]; + + }); + + + } + + getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(v) { + + if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + { + output2[`repeating_spellbookarcane_${id}_spellchannelsl`] = 0, setAttrs(output2, {silent: true}) + } + }); + + }); + }); + + }); + + +on('clicked:repeating_spellbookrituals:spellcast clicked:repeating_spellbookrituals:spellcastdmg clicked:repeating_spellbookrituals:spellcastreroll clicked:repeating_spellbookrituals:spellcastdmgreroll', (eventInfo) => { getAttrs(["initiative_houserule", "OverChannel", "LastRollAccuExtSL"], function(v) { - let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_InstinctiveDictionLvl}+@{Talent_PerfectPitchLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusCast}]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_SpellMod}}]]}} {{accuchanexlsl=[[Accu-]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{advantage=[[@{Advantage}*10*@{Advantage_casting}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{spelltype=^{ARCANE-SPELL}}} {{spellrange=Range: @{prefix2-_spellrange}}} {{spelltarget=Targets: @{prefix2-_spelltarget}}} {{spellduration=Duration: @{prefix2-_spellduration}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + [[{@{LangMagick}}]] [SKILL] + ?{@{translation_modifier}|0} [MOD] + [[@{Advantage}*10*@{Advantage_casting}]] [ADV] ]]}} {{spelldescription=@{prefix2-_spelldesc}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[6]]}} {{spellcastingnumber=[[@{prefix2-_spellcastingnumber}+(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1))]]}} {{mod1type=[[@{prefix2-_ArcaneSpell_modtype1}]]}} {{mod1=@{prefix2-_ArcaneSpell_mod1}}} {{mod2type=[[@{prefix2-_ArcaneSpell_modtype2}]]}} {{mod2=@{prefix2-_ArcaneSpell_mod2}}} {{mod3type=[[@{prefix2-_ArcaneSpell_modtype3}]]}} {{mod3=@{prefix2-_ArcaneSpell_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{sptal2=[[@{Talent_InstinctiveDictionLvl}]]}} {{sptal3=[[@{Talent_PerfectPitchLvl}]]}} {{sptal23=[[@{Talent_InstinctiveandPitch}]]}} {{spellmem=[[@{prefix2-_Spellmem}]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{cnsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}-(@{prefix2-_spellcastingnumber}+(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1)))]]}}'; + let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_InstinctiveDictionLvl}+@{Talent_PerfectPitchLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusCast}]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_SpellMod}}]]}} {{accuchanexlsl=[[Accu-]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{advantage=[[@{Advantage}*10*@{Advantage_casting}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{spelltype=^{RITUALS}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + [[{@{LangMagick}}]] [SKILL] + ?{@{translation_modifier}|0} [MOD] + [[@{Advantage}*10*@{Advantage_casting}]] [ADV] ]]}} {{consequence=@{prefix2-_ritualcons}}} {{spelldescription=@{prefix2-_spelldesc}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[6]]}} {{spellcastingnumber=[[@{prefix2-_cn-sl-mod}+(3*(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1)))]]}} {{mod1type=[[@{prefix2-_ArcaneSpell_modtype1}]]}} {{mod1=@{prefix2-_ArcaneSpell_mod1}}} {{mod2type=[[@{prefix2-_ArcaneSpell_modtype2}]]}} {{mod2=@{prefix2-_ArcaneSpell_mod2}}} {{mod3type=[[@{prefix2-_ArcaneSpell_modtype3}]]}} {{mod3=@{prefix2-_ArcaneSpell_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{RTgrim=@{RT-grim}}} {{sptal2=[[@{Talent_InstinctiveDictionLvl}]]}} {{sptal3=[[@{Talent_PerfectPitchLvl}]]}} {{sptal23=[[@{Talent_InstinctiveandPitch}]]}} {{spellmem=[[@{prefix2-_Spellmem}]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{cnsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}-(@{prefix2-_spellcastingnumber}+(@{prefix2-_spellcastingnumber}*((@{prefix2-_Spellmem}-1)*-1)))]]}} {{testoutcome=[[0]]}}'; var trigger = eventInfo.triggerName.slice(8); var skillpre = trigger.split('_'); var skill = skillpre[3]; @@ -50948,6 +52690,12 @@ on('clicked:repeating_spellbookarcane:spellcast clicked:repeating_spellbookarcan if ( test <= target ) { var computed4 = slbonusatk + cnsl ;} else { var computed4 = cnsl ;} if ( test <= target ) { var computed5 = slbonusatk + SLmod + cnsl ;} else { var computed5 = SLmod + cnsl ;} + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -50957,23 +52705,25 @@ on('clicked:repeating_spellbookarcane:spellcast clicked:repeating_spellbookarcan slbonusatk: computed4, sladd: computed5, cnsl: cnsl, + lore: 0, + testoutcome: outcome, } ); const playerclickedid = eventInfo.sourceAttribute.split('_')[2] || ''; - getSectionIDs("repeating_spellbookarcane", function (ids) { + getSectionIDs("repeating_spellbookrituals", function (ids) { if (playerclickedid == ids.toLowerCase) return; // create an object to hold all the attributes we are bout to change const output = {}; // loop through the row ids ids.forEach(id => { - getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(v) { + getAttrs([`repeating_spellbookrituals_${id}_MagicLore`], function(v) { - if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + if(v[`repeating_spellbookrituals_${id}_MagicLore`] == lore) { - output[`repeating_spellbookarcane_${id}_spellchannelsl`] = 0, setAttrs(output, {silent: true}) + output[`repeating_spellbookrituals_${id}_spellchannelsl`] = 0, setAttrs(output, {silent: true}) } }); @@ -50984,11 +52734,13 @@ on('clicked:repeating_spellbookarcane:spellcast clicked:repeating_spellbookarcan }); }); - -on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { - getAttrs(["initiative_houserule"], function(v) { - let roll = '{{test=[[@{roll_rule}]]}} {{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_AethyricAttunementLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusChannel}]]}} {{sladd=[[0]]}} {{modvalue=[[?{Channeling Roll Modifier|@{prefix2-_ChanMod}}]]}} {{title=^{EXTENDED-CHANNELLING-TEST}}} {{skill=^{ADVANCED-SKILL}}}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{character_name=@{character_name}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + @{prefix2-_ExtChannellingLore} [SKILL] + ?{Channeling Roll Modifier|0} [MOD] ]]}} {{skilltest=true}} {{accuchanexlsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}}} {{SLmod=[[?{SL Modifier|0}]]]]}} {{spellcastingnumber=[[@{prefix2-_spellcastingnumber}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{rolltype=[[9]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{mod1type=[[@{prefix2-_ExtChannellingLoreRoll_modtype1}]]}} {{mod1=@{prefix2-_ExtChannellingLoreRoll_mod1}}} {{mod2type=[[@{prefix2-_ExtChannellingLoreRoll_modtype2}]]}} {{mod2=@{prefix2-_ExtChannellingLoreRoll_mod2}}} {{mod3type=[[@{prefix2-_ExtChannellingLoreRoll_modtype3}]]}} {{mod3=@{prefix2-_ExtChannellingLoreRoll_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{reroll=[1](~@{character_name}|prefix2-_extchannellingloreroll)}} {{sptal1=[[@{Talent_AethyricAttunementLvl}]]}}'; + + +on('clicked:repeating_spellbookrituals:extchannellingloreroll', (eventInfo) => { + getAttrs(["initiative_houserule", "WillPowerBonus"], function(v) { + + let roll = '{{test=[[@{roll_rule}]]}} {{sl=[[0 [Roll SL]]]}} {{slbonus=[[@{Talent_AethyricAttunementLvl} [SL TOTAL]]]}} {{slbonusatk=[[@{slbonusChannel}]]}} {{sladd=[[0]]}} {{modvalue=[[?{Channeling Roll Modifier|@{prefix2-_ChanMod}}]]}} {{title=^{EXTENDED-CHANNELLING-TEST}}} {{skill=^{ADVANCED-SKILL}}}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{character_name=@{character_name}}} {{target=[[ [[(@{condgen_see}*-1)]] [COND] + @{prefix2-_ExtChannellingLore} [SKILL] + ?{Channeling Roll Modifier|0} [MOD] ]]}} {{skilltest=true}} {{accuchanexlsl=[[?{Accumulated Extended Channelling SL (Start at 0)|@{prefix2-_spellchannelsl}}]]}} {{ritualsacr=@{prefix2-_ritualsacr}}} {{SLmod=[[?{SL Modifier|0}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{rolltype=[[9]]}} {{lore=[[@{prefix2-_MagicLore}]]}} {{robes=[[@{Used_Wizard_Robes}]]}} {{mod1type=[[@{prefix2-_ExtChannellingLoreRoll_modtype1}]]}} {{mod1=@{prefix2-_ExtChannellingLoreRoll_mod1}}} {{mod2type=[[@{prefix2-_ExtChannellingLoreRoll_modtype2}]]}} {{mod2=@{prefix2-_ExtChannellingLoreRoll_mod2}}} {{mod3type=[[@{prefix2-_ExtChannellingLoreRoll_modtype3}]]}} {{mod3=@{prefix2-_ExtChannellingLoreRoll_mod3}}} {{NPC=[[0]]}} {{RTminor=@{RT-minor}}} {{RTmajor=@{RT-major}}} {{reroll=[1](~@{character_name}|prefix2-_extchannellingloreroll)}} {{sptal1=[[@{Talent_AethyricAttunementLvl}]]}} {{testoutcome=[[0]]}}'; var trigger = eventInfo.triggerName.slice(8); var prefix = eventInfo.triggerName.slice(8, -23); @@ -51009,9 +52761,8 @@ on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { const sptal1 = results.results.sptal1.result const SLmod = results.results.SLmod.result const accuchanexlsl = results.results.accuchanexlsl.result - const cn = results.results.spellcastingnumber.result const lore = results.results.lore.result - + const robes = results.results.robes.result con = (Math.floor(target / 10) - Math.floor(test / 10)); if ( test <= target ) { @@ -51020,11 +52771,12 @@ on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { const computed2 = (((test-1)%10)+1) ; - if ( test <= target ) { var computed3 = computed + sptal1 + SLmod ;} else { var computed3 = computed + SLmod ;} - if ( test <= target ) { var computed4 = slbonusatk ;} else { var computed4 = 0 ;} - if ( test <= target ) { var computed5 = slbonusatk + SLmod ;} else { var computed5 = SLmod ;} + if ( test <= target ) { var computed3 = computed + sptal1 + robes + SLmod ;} else { var computed3 = computed + SLmod + robes ;} + if ( test <= target ) { var computed4 = slbonusatk + robes ;} else { var computed4 = robes ;} + if ( test <= target ) { var computed5 = slbonusatk + robes + SLmod ;} else { var computed5 = robes + SLmod ;} if ( computed >= computed3 ) {extsl = computed;} else {extsl = computed3;} + if ( test <= target ) {if ( extsl === 0 ) {extsl += 1;}} chancrit = 0; @@ -51040,6 +52792,12 @@ on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { if ( test === 99 ) {chancrit = 1;} } + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -51048,26 +52806,28 @@ on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { slbonus: computed3, slbonusatk: computed4, sladd: computed5, + testoutcome: outcome, } ); const playerclickedid = eventInfo.sourceAttribute.split('_')[2] || ''; - getSectionIDs("repeating_spellbookarcane", function (ids) { + getSectionIDs("repeating_spellbookrituals", function (ids) { // create an object to hold all the attributes we are bout to change const output = {}; // loop through the row ids ids.forEach(id => { - getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(v) { + getAttrs([`repeating_spellbookrituals_${id}_MagicLore`], function(v) { - if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + if(v[`repeating_spellbookrituals_${id}_MagicLore`] == lore) { extslout = accuchanexlsl + extsl; + if (extslout < 0) {extslout = 0;} - if (chancrit === 1) {if (accuchanexlsl + extsl < cn) {extslout = cn;}} + if (chancrit === 1) {extslout += v.WillPowerBonus;} - output[`repeating_spellbookarcane_${id}_spellchannelsl`] = extslout, setAttrs(output, {silent: true}) + output[`repeating_spellbookrituals_${id}_spellchannelsl`] = extslout, setAttrs(output, {silent: true}) } }); @@ -51081,13 +52841,13 @@ on('clicked:repeating_spellbookarcane:extchannellingloreroll', (eventInfo) => { }); -on('clicked:repeating_spellbookarcane:channelreset', (eventInfo) => { +on('clicked:repeating_spellbookrituals:channelreset', (eventInfo) => { const playerclickedid = eventInfo.sourceAttribute.split('_')[2] || ''; console.log("channel reset"); lore = ''; - getSectionIDs("repeating_spellbookarcane", function (ids) { + getSectionIDs("repeating_spellbookrituals", function (ids) { // create an object to hold all the attributes we are bout to change const output = {}; const output2 = {}; @@ -51096,20 +52856,20 @@ on('clicked:repeating_spellbookarcane:channelreset', (eventInfo) => { if(playerclickedid.toLowerCase() == id.toLowerCase()) { - getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(t) { + getAttrs([`repeating_spellbookrituals_${id}_MagicLore`], function(t) { - lore = t[`repeating_spellbookarcane_${id}_MagicLore`]; + lore = t[`repeating_spellbookrituals_${id}_MagicLore`]; }); } - getAttrs([`repeating_spellbookarcane_${id}_MagicLore`], function(v) { + getAttrs([`repeating_spellbookrituals_${id}_MagicLore`], function(v) { - if(v[`repeating_spellbookarcane_${id}_MagicLore`] == lore) + if(v[`repeating_spellbookrituals_${id}_MagicLore`] == lore) { - output2[`repeating_spellbookarcane_${id}_spellchannelsl`] = 0, setAttrs(output2, {silent: true}) + output2[`repeating_spellbookrituals_${id}_spellchannelsl`] = 0, setAttrs(output2, {silent: true}) } }); @@ -51118,11 +52878,15 @@ on('clicked:repeating_spellbookarcane:channelreset', (eventInfo) => { }); + + + + on('clicked:repeating_divineblessings:bless', (eventInfo) => { getAttrs(["initiative_houserule"], function(v) { - let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[0 [SL TOTAL]]]}} {{sladd=[[0]]}} {{slbonusatk=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_BlessMod}}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[0]]}} {{stuned=[[0]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}} {{sin=[[@{Sin}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{spelltype=^{PRAYER}}} {{spellrange=Range: @{prefix2-_blessingrange}}} {{spelltarget=Targets: @{prefix2-_blessingtarget}}} {{spellduration=Duration: @{prefix2-_blessingduration}}} {{target=[[ [[(@{condgen}-@{DrunkMod})*-1]] [COND] + [[{@{PrayChar}+@{PrayAdv}+@{PrayMisc}}]] [SKILL] + ?{@{translation_modifier}|@{prefix2-_BlessMod}} [MOD] ]]}} {{spelldescription=@{prefix2-_blessingdesc}}} {{test=[[@{roll_rule}]]}} {{rolltype=[[7]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{praytest=true}} {{mod1type=[[@{prefix2-_BlessingSpell_modtype1}]]}} {{mod1=@{prefix2-_BlessingSpell_mod1}}} {{mod2type=[[@{prefix2-_BlessingSpell_modtype2}]]}} {{mod2=@{prefix2-_BlessingSpell_mod2}}} {{mod3type=[[@{prefix2-_BlessingSpell_modtype3}]]}} {{mod3=@{prefix2-_BlessingSpell_mod3}}} {{NPC=[[0]]}} {{RTwrath=@{RT-wrath}}} {{reroll=[1](~@{character_name}|bless)}}'; + let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[0 [SL TOTAL]]]}} {{sladd=[[0]]}} {{slbonusatk=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_BlessMod}}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[0]]}} {{stuned=[[0]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}} {{sin=[[@{Sin}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{spelltype=^{PRAYER}}} {{spellrange=Range: @{prefix2-_blessingrange}}} {{spelltarget=Targets: @{prefix2-_blessingtarget}}} {{spellduration=Duration: @{prefix2-_blessingduration}}} {{target=[[ [[(@{condgen}-@{DrunkMod})*-1]] [COND] + [[{@{PrayChar}+@{PrayAdv}+@{PrayMisc}}]] [SKILL] + ?{@{translation_modifier}|@{prefix2-_BlessMod}} [MOD] ]]}} {{spelldescription=@{prefix2-_blessingdesc}}} {{test=[[@{roll_rule}]]}} {{rolltype=[[7]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{praytest=true}} {{mod1type=[[@{prefix2-_BlessingSpell_modtype1}]]}} {{mod1=@{prefix2-_BlessingSpell_mod1}}} {{mod2type=[[@{prefix2-_BlessingSpell_modtype2}]]}} {{mod2=@{prefix2-_BlessingSpell_mod2}}} {{mod3type=[[@{prefix2-_BlessingSpell_modtype3}]]}} {{mod3=@{prefix2-_BlessingSpell_mod3}}} {{NPC=[[0]]}} {{RTwrath=@{RT-wrath}}} {{reroll=[1](~@{character_name}|bless)}} {{testoutcome=[[0]]}}'; var trigger = eventInfo.triggerName.slice(8); var prefix = eventInfo.triggerName.slice(8, -6); @@ -51144,6 +52908,12 @@ on('clicked:repeating_divineblessings:bless', (eventInfo) => { if ( test <= target ) { var computed4 = 0 ;} else { var computed4 = 0 ;} if ( test <= target ) { var computed5 = SLmod ;} else { var computed5 = SLmod ;} + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -51152,6 +52922,7 @@ on('clicked:repeating_divineblessings:bless', (eventInfo) => { slbonus: computed3, slbonusatk: computed4, sladd: computed5, + testoutcome: outcome, } ); }); @@ -51164,7 +52935,7 @@ on('clicked:repeating_divineblessings:bless', (eventInfo) => { on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:miracledmg', (eventInfo) => { getAttrs(["initiative_houserule"], function(v) { - let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[0 [SL TOTAL]]]}} {{slbonusatk=[[0]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_MiracleMod}}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[0]]}} {{stuned=[[0]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{sin=[[@{Sin}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{spelltype=^{PRAYER}}} {{spellrange=Range: @{prefix2-_miraclerange}}} {{spelltarget=Targets: @{prefix2-_miracletarget}}} {{spellduration=Duration: @{prefix2-_miracleduration}}} {{target=[[ [[(@{condgen}-@{DrunkMod})*-1]] [COND] + [[@{PrayChar}+@{PrayAdv}+@{PrayMisc}]] [SKILL] + ?{@{translation_modifier}|@{prefix2-_MiracleMod}} [MOD] ]]}} {{spelldescription=@{prefix2-_miracledesc}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{praytest=true}} {{rolltype=[[8]]}} {{mod1type=[[@{prefix2-_MiracleSpell_modtype1}]]}} {{mod1=@{prefix2-_MiracleSpell_mod1}}} {{mod2type=[[@{prefix2-_MiracleSpell_modtype2}]]}} {{mod2=@{prefix2-_MiracleSpell_mod2}}} {{mod3type=[[@{prefix2-_MiracleSpell_modtype3}]]}} {{mod3=@{prefix2-_MiracleSpell_mod3}}} {{NPC=[[0]]}} {{RTcrit=@{RT-critical}}} {{RTwrath=@{RT-wrath}}} {{reroll=[1](~@{character_name}|prefix2-_miracledmg)}}'; + let roll = '{{sl=[[0 [Roll SL]]]}} {{slbonus=[[0 [SL TOTAL]]]}} {{slbonusatk=[[0]]}} {{sladd=[[0]]}} {{modvalue=[[?{@{translation_modifier}|@{prefix2-_MiracleMod}}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[0]]}} {{stuned=[[0]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{sin=[[@{Sin}]]}} {{title=@{prefix2-_spellname}}} {{character_name=@{character_name}}} {{spelltype=^{PRAYER}}} {{spellrange=Range: @{prefix2-_miraclerange}}} {{spelltarget=Targets: @{prefix2-_miracletarget}}} {{spellduration=Duration: @{prefix2-_miracleduration}}} {{target=[[ [[(@{condgen}-@{DrunkMod})*-1]] [COND] + [[@{PrayChar}+@{PrayAdv}+@{PrayMisc}]] [SKILL] + ?{@{translation_modifier}|@{prefix2-_MiracleMod}} [MOD] ]]}} {{spelldescription=@{prefix2-_miracledesc}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{praytest=true}} {{rolltype=[[8]]}} {{mod1type=[[@{prefix2-_MiracleSpell_modtype1}]]}} {{mod1=@{prefix2-_MiracleSpell_mod1}}} {{mod2type=[[@{prefix2-_MiracleSpell_modtype2}]]}} {{mod2=@{prefix2-_MiracleSpell_mod2}}} {{mod3type=[[@{prefix2-_MiracleSpell_modtype3}]]}} {{mod3=@{prefix2-_MiracleSpell_mod3}}} {{NPC=[[0]]}} {{RTcrit=@{RT-critical}}} {{RTwrath=@{RT-wrath}}} {{reroll=[1](~@{character_name}|prefix2-_miracledmg)}} {{testoutcome=[[0]]}}'; var trigger = eventInfo.triggerName.slice(8); var skillpre = trigger.split('_'); var skill = skillpre[3]; @@ -51193,6 +52964,12 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi if ( test <= target ) { var computed4 = 0 ;} else { var computed4 = 0 ;} if ( test <= target ) { var computed5 = SLmod ;} else { var computed5 = SLmod ;} + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -51201,6 +52978,7 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi slbonus: computed3, slbonusatk: computed4, sladd: computed5, + testoutcome: outcome, } ); }); @@ -51287,7 +53065,7 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi }); - on('clicked:artroll clicked:athleticsroll clicked:briberyroll clicked:charmroll clicked:charmanimalroll clicked:climbroll clicked:consumealcoholroll clicked:driveroll clicked:enduranceroll clicked:entertainroll clicked:gambleroll clicked:gossiproll clicked:haggleroll clicked:intimidateroll clicked:intuitionroll clicked:leadershiproll clicked:navigationroll clicked:outdoorsurvivalroll clicked:perceptionroll clicked:rideroll clicked:rowroll clicked:stealthroll clicked:animalcareroll clicked:channellingfireroll clicked:channellingheavensroll clicked:channellingmetalroll clicked:channellingbeastsroll clicked:channellingliferoll clicked:channellinglightroll clicked:channellingdeathroll clicked:channellingshadowsroll clicked:channellingwitchroll clicked:channellingdarkroll clicked:channellingchaosroll clicked:channellingmiscroll clicked:evaluateroll clicked:picklockroll clicked:prayroll clicked:researchroll clicked:settraproll clicked:sleightofhandroll clicked:swimroll clicked:trackroll', (eventInfo) => { + on('clicked:artroll clicked:athleticsroll clicked:briberyroll clicked:charmroll clicked:charmanimalroll clicked:climbroll clicked:consumealcoholroll clicked:driveroll clicked:enduranceroll clicked:entertainroll clicked:gambleroll clicked:gossiproll clicked:haggleroll clicked:intimidateroll clicked:intuitionroll clicked:leadershiproll clicked:navigationroll clicked:outdoorsurvivalroll clicked:perceptionroll clicked:rideroll clicked:rowroll clicked:stealthroll clicked:animalcareroll clicked:auguryroll clicked:channellingfireroll clicked:channellingheavensroll clicked:channellingmetalroll clicked:channellingbeastsroll clicked:channellingliferoll clicked:channellinglightroll clicked:channellingdeathroll clicked:channellingshadowsroll clicked:channellingwitchroll clicked:channellingdarkroll clicked:channellingchaosroll clicked:channellinggreatmawroll clicked:channellingmiscroll clicked:evaluateroll clicked:psychometryroll clicked:picklockroll clicked:prayroll clicked:researchroll clicked:settraproll clicked:sleightofhandroll clicked:swimroll clicked:trackroll', (eventInfo) => { let roll = '{{test=[[@{roll_rule}]]}} {{sl=[[0]]}} {{slbonus=[[0>addsl<]]}} {{sladd=[[0]]}} {{slbonusatk=[[0>addsl<]]}} {{modvalue=[[?{@{translation_modifier}|0}]]}} {{unconscious=[[@{UnconsciousMod}]]}} {{title=^{>Charcap<}}} {{skill=^{BASIC-SKILL}}} {{character_name=@{character_name}}} {{target=[[ [[cond-*-1]] [COND] + [[(@{>CharCharCharaddtak<]] [SKILL] + ?{@{translation_modifier}|0} [MOD] ]]}} {{skilltest=true}} {{SLmod=[[?{SL Modifier|0}]]}} {{sitmod=[[0>sitmod<]]}} {{sitfail=[[0>sitfail<]]}} {{mod1type=[[@{>Char<_modtype1}]]}} {{mod1=@{>Char<_mod1}}} {{mod2type=[[@{>Char<_modtype2}]]}} {{mod2=@{>Char<_mod2}}} {{mod3type=[[@{>Char<_modtype3}]]}} {{mod3=@{>Char<_mod3}}} {{reroll=@{RT-reroll}>Charaddtak<', addtak).replaceAll('>sitmod<', sitmods).replaceAll('>addsl<', addsl);} + else if (trigger === 'psychometry') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; + addtak= '*@{PsychometryTaken}'; + rollPart = rollPart2.replaceAll('cond-', `@{condgen_see}`).replaceAll('>addtak<', addtak);} else if (trigger === 'picklock') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; addtak= '*@{PickLockTaken}'; rollPart = rollPart2.replaceAll('cond-', `@{condgen_see}`).replaceAll('>addtak<', addtak);} else if (trigger === 'play') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; rollPart = rollPart2.replaceAll('cond-', `@{condgen_see}`);} - else if (trigger === 'research') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{bookish=[[@{Talent_BookishLvl}]]}}'; + else if (trigger === 'research') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{bookish=[[@{Talent_BookishLvl}]]}} {{speedreader=[[@{Talent_SpeedreaderLvl}]]}}'; addtak= '*@{ResearchTaken}'; addsl = '+@{Talent_BookishLvl}'; - rollPart = rollPart2.replaceAll('cond-', `@{condgen_see}`).replaceAll('>addtak<', addtak).replaceAll('>addsl<', addsl);} + sitmods = '+@{Talent_SpeedreaderLvl}'; + rollPart = rollPart2.replaceAll('cond-', `@{condgen_see}`).replaceAll('>addtak<', addtak).replaceAll('>addsl<', addsl).replaceAll('>sitmod<', sitmods);} else if (trigger === 'athletics') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{strider1=[[@{Talent_Strider1Lvl}]]}} {{strider1name=@{Talent_Strider1}}} {{strider2=[[@{Talent_Strider2Lvl}]]}} {{strider2name=@{Talent_Strider2}}} {{strider3=[[@{Talent_Strider3Lvl}]]}} {{strider3name=@{Talent_Strider3}}}'; sitmods = '+@{Talent_Strider1Lvl}+@{Talent_Strider2Lvl}+@{Talent_Strider3Lvl}'; rollPart = rollPart2.replaceAll('cond-', `@{condgen_see_move}`).replaceAll('>sitmod<', sitmods);} @@ -51382,7 +53164,10 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_move}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} else if (trigger === 'channellingchaos') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; addtak= '*@{ChannellingChaosTaken}'; - rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_move}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} + rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_move}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} + else if (trigger === 'channellinggreatmaw') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; + addtak= '*@{ChannellingGreatMawTaken}'; + rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_move}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} else if (trigger === 'channellingmisc') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; addtak= '*@{ChannellingMiscTaken}'; rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_move}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} @@ -51444,6 +53229,9 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi else if (trigger === 'animalcare') {cond = '{{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}}'; addtak= '*@{AnimalCareTaken}'; rollPart = rollPart2.replaceAll('cond-', `@{condgen}`).replaceAll('>addtak<', addtak);} + else if (trigger === 'augury') {cond = '{{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}}'; + addtak= '*@{AuguryTaken}'; + rollPart = rollPart2.replaceAll('cond-', `@{condgen}`).replaceAll('>addtak<', addtak);} else if (trigger === 'pray') {cond = '{{cond=[[@{condgen}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[0]]}} {{deafened=[[0]]}}'; addtak= '*@{PrayTaken}'; rollPart = rollPart2.replaceAll('cond-', `(@{condgen}-@{DrunkMod})`).replaceAll('>addtak<', addtak);} @@ -51451,9 +53239,9 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi else if (trigger === 'intuition') {cond = '{{cond=[[@{condgen_see_hear}-@{DrunkMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[@{DeafenedMod}]]}} {{sixthsense=[[@{Talent_SixthSenseLvl}]]}} {{detectartefact=[[@{Talent_DetectArtefactLvl}]]}} {{holyvisions=[[@{Talent_HolyVisionsLvl}]]}}'; sitmods = '+@{Talent_SixthSenseLvl}+@{Talent_DetectArtefactLvl}+@{Talent_HolyVisionsLvl}'; rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_hear}-@{DrunkMod})`).replaceAll('>sitmod<', sitmods);} - else if (trigger === 'perception') {cond = '{{cond=[[@{condgen_see_hear_perception}-@{DrunkPercMod}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod} - @{FatiguedPercMod}]]}} {{broken=[[@{BrokenMod} - @{BrokenPercMod}]]}} {{stuned=[[@{StunedMod} - @{StunedPercMod}]]}} {{poisoned=[[@{PoisonedMod} - @{PoisonedPercMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod} - @{BlindedPercMod}]]}} {{deafened=[[@{DeafenedMod} - @{DeafenedPercMod}]]}} {{acute1=[[@{Talent_AcuteSense1Lvl}]]}} {{acute1name=@{Talent_AcuteSense1}}} {{acute2=[[@{Talent_AcuteSense2Lvl}]]}} {{acute2name=@{Talent_AcuteSense2}}} {{combataware=[[@{Talent_CombatAwareLvl}]]}} {{lipreading=[[@{Talent_LipreadingLvl}]]}} {{nightvision=[[@{Talent_NightVisionLvl}]]}} {{nosefortrouble=[[@{Talent_NoseForTroubleLvl}]]}} {{secondsight=[[@{Talent_SecondSightLvl}]]}} {{trapper=[[@{Talent_TrapperLvl}]]}}'; + else if (trigger === 'perception') {cond = '{{cond=[[@{condgen_see_hear_perception}]]}} {{drunk=[[0]]}} {{fatigued=[[@{FatiguedMod} - @{FatiguedPercMod}]]}} {{broken=[[@{BrokenMod} - @{BrokenPercMod}]]}} {{stuned=[[@{StunedMod} - @{StunedPercMod}]]}} {{poisoned=[[@{PoisonedMod} - @{PoisonedPercMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod} - @{BlindedPercMod}]]}} {{deafened=[[@{DeafenedMod} - @{DeafenedPercMod}]]}} {{acute1=[[@{Talent_AcuteSense1Lvl}]]}} {{acute1name=@{Talent_AcuteSense1}}} {{acute2=[[@{Talent_AcuteSense2Lvl}]]}} {{acute2name=@{Talent_AcuteSense2}}} {{combataware=[[@{Talent_CombatAwareLvl}]]}} {{lipreading=[[@{Talent_LipreadingLvl}]]}} {{nightvision=[[@{Talent_NightVisionLvl}]]}} {{nosefortrouble=[[@{Talent_NoseForTroubleLvl}]]}} {{secondsight=[[@{Talent_SecondSightLvl}]]}} {{trapper=[[@{Talent_TrapperLvl}]]}}'; sitmods = '+@{Talent_AcuteSense1Lvl}+@{Talent_AcuteSense2Lvl}+@{Talent_CombatAwareLvl}+@{Talent_LipreadingLvl}+@{Talent_NightVisionLvl}+@{Talent_NoseForTroubleLvl}+@{Talent_SecondSightLvl}+@{Talent_TrapperLvl}'; - rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_hear_perception}-@{DrunkPercMod})`).replaceAll('>sitmod<', sitmods);} else {cond = ''} + rollPart = rollPart2.replaceAll('cond-', `(@{condgen_see_hear_perception})`).replaceAll('>sitmod<', sitmods);} else {cond = ''} rollPartReady = rollPart.replaceAll('>addtak<', addtak); @@ -51510,8 +53298,8 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi if (trigger === 'cool') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{ironwill=[[@{Talent_IronWillLvl}]]}} {{stouthearted=[[@{Talent_StoutHeartedLvl}]]}} {{unshakable=[[@{Talent_UnshakableLvl}]]}}'; sitmods = '+@{Talent_IronWillLvl}+@{Talent_StoutHeartedLvl}+@{Talent_UnshakableLvl}'; rollPart = rollPart2.replaceAll('cond-', `condgen_see`).replaceAll('>sitmod<', sitmods);} - else if (trigger === 'dodge') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{enclosedfighter=[[@{Talent_EnclosedFighterLvl}]]}} {{armorqualities=[[@{armorqualities}]]}} {{aq1=[[@{armorimpenetrable}]]}} {{aq2=[[@{armorweakpoints}]]}} {{aq3=[[@{armorpartial}]]}} {{aq4=[[@{armorcustom}]]}} {{aqtxt=@{armorQuality}}} {{trickriding=[[@{Talent_TrickRidingLvl}]]}}'; - sitmods = '+@{Talent_EnclosedFighterLvl}+@{Talent_TrickRidingLvl}'; + else if (trigger === 'dodge') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{enclosedfighter=[[@{Talent_EnclosedFighterLvl}]]}} {{armorqualities=[[@{armorqualities}]]}} {{aq1=[[@{armorimpenetrable}]]}} {{aq2=[[@{armorweakpoints}]]}} {{aq3=[[@{armorpartial}]]}} {{aq4=[[@{armorcustom}]]}} {{aqtxt=@{armorQuality}}} {{trickriding=[[@{Talent_TrickRidingLvl}]]}} {{stepaside=[[@{Talent_StepAsideLvl}]]}}'; + sitmods = '+@{Talent_EnclosedFighterLvl}+@{Talent_TrickRidingLvl}+@{Talent_StepAsideLvl}'; rollPart = rollPart2.replaceAll('cond-', `condgen_see_move`).replaceAll('>sitmod<', sitmods);} else if (trigger === 'meleebasic') {cond = '{{cond=[[@{condgen_see_move}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[@{ProneMod}]]}} {{entangled=[[@{EntangledMod}]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; rollPart = rollPart2.replaceAll('cond-', `condgen_see_move`);} @@ -51671,14 +53459,16 @@ on('clicked:repeating_divinemiracles:miracle clicked:repeating_divinemiracles:mi var skillcap = skill.toUpperCase(); let rollBegins = '@{Whisper} &{template:whfrp2e}'; - if (skill === 'language') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{linguistics=[[@{Talent_LinguisticsLvl}]]}}'; + if (skill === 'language') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{linguistics=[[@{Talent_LinguisticsLvl}]]}} {{speedreaderlang=[[@{Talent_SpeedreaderLvl}]]}}'; addsl = '+@{Talent_LinguisticsLvl}'; addtak= '*@{prefix-Taken}'; - rollPart2 = roll.replaceAll('cond-', `(@{condgen_see})`).replaceAll('>addtak<', addtak).replaceAll('>addsl<', addsl);} + sitmods = '+@{Talent_SpeedreaderLvl}'; + rollPart2 = roll.replaceAll('cond-', `(@{condgen_see})`).replaceAll('>addtak<', addtak).replaceAll('>addsl<', addsl).replaceAll('>sitmod<', sitmods);} - else if (skill === 'lore') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}}'; + else if (skill === 'lore') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{seasonedtraveller=[[@{Talent_SeasonedTravellerLvl}]]}}'; addtak= '*@{prefix-Taken}'; - rollPart2 = roll.replaceAll('cond-', `(@{condgen_see})`).replaceAll('>addtak<', addtak);} + sitmods = '+@{Talent_SeasonedTravellerLvl}'; + rollPart2 = roll.replaceAll('cond-', `(@{condgen_see})`).replaceAll('>addtak<', addtak).replaceAll('>sitmod<', sitmods);} else if (skill === 'sail') {cond = '{{cond=[[@{condgen_see}-@{DrunkMod}]]}} {{drunk=[[@{DrunkMod}]]}} {{fatigued=[[@{FatiguedMod}]]}} {{broken=[[@{BrokenMod}]]}} {{stuned=[[@{StunedMod}]]}} {{poisoned=[[@{PoisonedMod}]]}} {{prone=[[0]]}} {{entangled=[[0]]}} {{blinded=[[@{BlindedMod}]]}} {{deafened=[[0]]}} {{waterman=[[@{Talent_WatermanLvl}]]}} {{oldsalt=[[@{Talent_OldSaltLvl}]]}} {{pilot=[[@{Talent_PilotLvl}]]}}'; sitmods = '+@{Talent_WatermanLvl}+@{Talent_OldSaltLvl}+@{Talent_PilotLvl}'; @@ -52307,7 +54097,7 @@ on('clicked:AmputationTest', (eventInfo) => { on('clicked:repeating_npc-tab-page:praycastroll clicked:repeating_npc-tab-page:praycastdmgroll clicked:repeating_npc-tab-page:praycast2roll clicked:repeating_npc-tab-page:praycastdmg2roll clicked:repeating_npc-tab-page:spellcastroll clicked:repeating_npc-tab-page:spellcastdmgroll clicked:repeating_npc-tab-page:spellcast2roll clicked:repeating_npc-tab-page:spellcastdmg2roll clicked:repeating_npc-tab-page:spellcast3roll clicked:repeating_npc-tab-page:spellcastdmg3roll clicked:repeating_npc-tab-page2:praycastroll clicked:repeating_npc-tab-page2:praycastdmgroll clicked:repeating_npc-tab-page2:praycast2roll clicked:repeating_npc-tab-page2:praycastdmg2roll clicked:repeating_npc-tab-page2:spellcastroll clicked:repeating_npc-tab-page2:spellcastdmgroll clicked:repeating_npc-tab-page2:spellcast2roll clicked:repeating_npc-tab-page2:spellcastdmg2roll clicked:repeating_npc-tab-page2:spellcast3roll clicked:repeating_npc-tab-page2:spellcastdmg3roll clicked:repeating_npc-tab-page3:praycastroll clicked:repeating_npc-tab-page3:praycastdmgroll clicked:repeating_npc-tab-page3:praycast2roll clicked:repeating_npc-tab-page3:praycastdmg2roll clicked:repeating_npc-tab-page3:spellcastroll clicked:repeating_npc-tab-page3:spellcastdmgroll clicked:repeating_npc-tab-page3:spellcast2roll clicked:repeating_npc-tab-page3:spellcastdmg2roll clicked:repeating_npc-tab-page3:spellcast3roll clicked:repeating_npc-tab-page3:spellcastdmg3roll clicked:repeating_npc-tab-page4:praycastroll clicked:repeating_npc-tab-page4:praycastdmgroll clicked:repeating_npc-tab-page4:praycast2roll clicked:repeating_npc-tab-page4:praycastdmg2roll clicked:repeating_npc-tab-page4:spellcastroll clicked:repeating_npc-tab-page4:spellcastdmgroll clicked:repeating_npc-tab-page4:spellcast2roll clicked:repeating_npc-tab-page4:spellcastdmg2roll clicked:repeating_npc-tab-page4:spellcast3roll clicked:repeating_npc-tab-page4:spellcastdmg3roll', (eventInfo) => { console.log("test"); - let rollStart2 = '{{sl=[[0]]}} {{slbonus=[[0]]}} {{sladd=[[0]]}} {{modvalue=[[?{Modifier (Adv. already added)|0}]]}} {{unconscious=[[@{prefix-UnconsciousStat}]]}} {{cond=[[{[[@{prefix-ConditionModNPC}]],[[@{prefix-ConditionMoveModNPC}]],[[@{prefix-ConditionSeeModNPC}]]}kh1]]}} {{fatigued=[[@{prefix-FatiguedStat}]]}} {{broken=[[@{prefix-BrokenStat}]]}} {{stuned=[[@{prefix-StunedStat}]]}} {{poisoned=[[@{prefix-PoisonedStat}]]}} {{prone=[[@{prefix-ProneStat}]]}} {{entangled=[[@{prefix-EntangledStat}]]}} {{blinded=[[@{prefix-BlindedStat}]]}} {{deafened=[[0]]}}'; + let rollStart2 = '{{sl=[[0]]}} {{slbonus=[[0]]}} {{sladd=[[0]]}} {{modvalue=[[?{Modifier (Adv. already added)|0}]]}} {{unconscious=[[@{prefix-UnconsciousStat}]]}} {{cond=[[{[[@{prefix-ConditionModNPC}]],[[@{prefix-ConditionMoveModNPC}]],[[@{prefix-ConditionSeeModNPC}]]}kh1]]}} {{fatigued=[[@{prefix-FatiguedStat}]]}} {{broken=[[@{prefix-BrokenStat}]]}} {{stuned=[[@{prefix-StunedStat}]]}} {{poisoned=[[@{prefix-PoisonedStat}]]}} {{prone=[[@{prefix-ProneStat}]]}} {{entangled=[[@{prefix-EntangledStat}]]}} {{blinded=[[@{prefix-BlindedStat}]]}} {{deafened=[[0]]}} {{testoutcome=[[0]]}}'; let pray = '{{title=@{prefix-npc-prayname>numb<}}} {{character_name=@{prefix-npc_name}}} {{prayrange=Range: @{prefix-npc-prayrange>numb<}}} {{spelltarget=Targets: @{prefix-npc-praytarget>numb<}}} {{spellduration=Duration: @{prefix-npc-prayduration>numb<}}} {{target=[[ [[@{prefix-ConditionModNPC}]] [COND] + [[@{prefix-FellowshipStat}+@{prefix-npc-prayloremodmod>numb<}]] [SKILL] + ?{Modifier (Adv. already added)|0} [MOD] ]]}} {{spelldescription=@{prefix-npc-praydesc>numb<}}} {{test=[[@{roll_rule}]]}} {{SLmod=[[?{SL Modifier|0}]]}} {{spelltest=[[1d10]]}} {{arcanetest=true}} {{rolltype=[[7]]}} {{NPC=[[1]]}} {{RTminor=@{prefix-NPC-rt-minor}}} {{RTmajor=@{prefix-NPC-rt-major}}} {{RTwrath=@{prefix-NPC-rt-wrath}}} {{reroll=@{prefix-NPC-rep}PrayCast>numb<)}}'; @@ -52366,6 +54156,12 @@ on('clicked:AmputationTest', (eventInfo) => { if ( test <= target ) { var computed3 = computed + SLmod ;} else { var computed3 = computed + SLmod ;} if ( test <= target ) { var computed5 = SLmod ;} else { var computed5 = SLmod ;} + if ( computed3 > 0 ) { + outcome = 1; + } else if ( computed3 === 0 ) { + if ( test <= target ) { outcome = 1; } else { outcome = 0; } + } else { outcome = 0; } + finishRoll( results.rollId, { @@ -52373,6 +54169,7 @@ on('clicked:AmputationTest', (eventInfo) => { sl: computed, slbonus: computed3, sladd: computed5, + testoutcome: outcome, } ); }); @@ -52923,7 +54720,7 @@ on('sheet:opened', function(event){ sta = 0 if (v.Talent_StrikeToInjureLvl > 0) {sti = v.Talent_StrikeToInjureLvl} - if (v.Advantage_casting > 0) {spa = v.Advantage_casting} + if (v.Advantage_casting > 0) {spa = v.Advantage_casting} else {spa = 0} console.log("Test Devmode"); console.log(v.Devmode*1); @@ -52957,5 +54754,199 @@ on('sheet:opened change:armorimpenetrable change:armorweakpoints change:armorpar }); }); +on('change:Used_Enchanted_Staff change:repeating_spellbookarcane:ExtChannellingLore', function(event){ + if (event.sourceType === 'sheetworker') return; + console.log("Used_Enchanted_Staff change"); + + + getAttrs(["Used_Enchanted_Staff"], function(v) { + + if (v.Used_Enchanted_Staff > 0) {lorestaff = parseInt(v.Used_Enchanted_Staff);} else {lorestaff = 0;} + + console.log(lorestaff); + + getSectionIDs("repeating_spellbookarcane", function (ids) { + ids.forEach(id => { + const output = {}; + getAttrs([`repeating_spellbookarcane_${id}_ExtChannellingLore`], function(t) { + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingFire})") {checklore = 1;} else {checklore = 0;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingHeavens})") {checklore = 2;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingMetal})") {checklore = 3;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingBeasts})") {checklore = 4;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingLife})") {checklore = 5;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingLight})") {checklore = 6;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingDeath})") {checklore = 7;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingShadows})") {checklore = 8;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingWitch})") {checklore = 9;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingDark})") {checklore = 10;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingChaos})") {checklore = 11;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingGreatMaw})") {checklore = 12;} + if(t[`repeating_spellbookarcane_${id}_ExtChannellingLore`] === "(@{ChannellingMisc})") {checklore = 13;} + + if (lorestaff === checklore) { + output[`repeating_spellbookarcane_${id}_Used_Enchanted_Staff_show`] = 1, setAttrs(output, {silent: true}) + } else if (lorestaff === 14) { + output[`repeating_spellbookarcane_${id}_Used_Enchanted_Staff_show`] = 1, setAttrs(output, {silent: true}) + } else { + output[`repeating_spellbookarcane_${id}_Used_Enchanted_Staff_show`] = 0, setAttrs(output, {silent: true}) + } + + }); + + }); + }); + + + }); + + +}); + + +on("change:repeating_spellbookarcane:UsedSpell1 change:repeating_spellbookarcane:UsedSpell2 change:repeating_spellbookarcane:UsedSpell3", function (event) { + if (event.sourceType === 'sheetworker') return; + // get the row id that the player clicked. the id is always between the second and third '_' + const playerclickedid = event.sourceAttribute.split('_')[2] || ''; + var trigger = event.triggerName.slice(56); + + getAttrs(["repeating_spellbookarcane_UsedSpell1","repeating_spellbookarcane_UsedSpell2","repeating_spellbookarcane_UsedSpell3"],function(t) { + getSectionIDs("repeating_spellbookarcane", function (ids) { + // create an object to hold all the attributes we are bout to change + const output = {}; + const output2 = {}; + const output3 = {}; + + // loop through the row ids + ids.forEach(id => { + + if (trigger === "1") { + if (t.repeating_spellbookarcane_UsedSpell1 === "0") { + + setAttrs({ + "Quick_ArcaneSpell1_Name": '', + "Quick_ArcaneSpell1_show": 0, + }, {silent: true}); + } else { + + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + output[`repeating_spellbookarcane_${id}_UsedSpell1`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 1 : 0; + setAttrs(output, {silent: true}); + if (t.repeating_spellbookarcane_UsedSpell2*1 === 1) { + output2[`repeating_spellbookarcane_${id}_UsedSpell2`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output2, {silent: true});} + if (t.repeating_spellbookarcane_UsedSpell3*1 === 1) { + output3[`repeating_spellbookarcane_${id}_UsedSpell3`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output3, {silent: true});} + } + } else if (trigger === "2") { + if (t.repeating_spellbookarcane_UsedSpell2 === "0") { + + setAttrs({ + "Quick_ArcaneSpell2_Name": '', + "Quick_ArcaneSpell2_show": 0, + }, {silent: true}); + } else { + + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + output[`repeating_spellbookarcane_${id}_UsedSpell2`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 1 : 0; + setAttrs(output, {silent: true}); + if (t.repeating_spellbookarcane_UsedSpell1*1 === 1) { + output2[`repeating_spellbookarcane_${id}_UsedSpell1`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output2, {silent: true});} + if (t.repeating_spellbookarcane_UsedSpell3*1 === 1) { + output3[`repeating_spellbookarcane_${id}_UsedSpell3`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output3, {silent: true});} + } + } else if (trigger === "3") { + if (t.repeating_spellbookarcane_UsedSpell3 === "0") { + + setAttrs({ + "Quick_ArcaneSpell3_Name": '', + "Quick_ArcaneSpell3_show": 0, + }, {silent: true}); + } else { + + // check if the id is the one the player clicked; if not, set to 0, if it is, set to 1. + output[`repeating_spellbookarcane_${id}_UsedSpell3`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 1 : 0; + setAttrs(output, {silent: true}); + if (t.repeating_spellbookarcane_UsedSpell2*1 === 1) { + output2[`repeating_spellbookarcane_${id}_UsedSpell2`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output2, {silent: true});} + if (t.repeating_spellbookarcane_UsedSpell1*1 === 1) { + output3[`repeating_spellbookarcane_${id}_UsedSpell1`] = (playerclickedid.toLowerCase() == id.toLowerCase()) ? 0 : 0; + setAttrs(output3, {silent: true});} + } + } + // now all attributes have been updated, save them + // we use silent:true, so this change doesnt trigger the sheet worker again. + + getAttrs(["repeating_spellbookarcane_spellname", "repeating_spellbookarcane_spellcastingnumber", "repeating_spellbookarcane_spellchannelsl", "repeating_spellbookarcane_SpellMod", "repeating_spellbookarcane_rep_ID", "Used_Enchanted_Staff", "repeating_spellbookarcane_ExtChannellingLore"], function(v) { + + console.log("Quick Arcane Spell change"); + + let name = v.repeating_spellbookarcane_spellname; + let lore = v.Used_Enchanted_Staff*1; + + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingFire})") {checklore = 1;} else {checklore = 0;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingHeavens})") {checklore = 2;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingMetal})") {checklore = 3;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingBeasts})") {checklore = 4;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingLife})") {checklore = 5;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingLight})") {checklore = 6;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingDeath})") {checklore = 7;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingShadows})") {checklore = 8;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingWitch})") {checklore = 9;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingDark})") {checklore = 10;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingChaos})") {checklore = 11;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingGreatMaw})") {checklore = 12;} + if(v.repeating_spellbookarcane_ExtChannellingLore === "(@{ChannellingMisc})") {checklore = 13;} + + + if (lore === checklore) { + cnmod = 1; + } else if (lore === 14) { + cnmod = 1; + } else { + cnmod = 0; + } + + + if (trigger === "1") { + if (t.repeating_spellbookarcane_UsedSpell1 === "1") { + setAttrs({ + "Quick_ArcaneSpell1_Name": name, + "Quick_ArcaneSpell1_CN": v.repeating_spellbookarcane_spellcastingnumber - cnmod, + "Quick_ArcaneSpell1_AccuSL": v.repeating_spellbookarcane_spellchannelsl, + "Quick_ArcaneSpell1_SpellMod": v.repeating_spellbookarcane_SpellMod, + "Quick_ArcaneSpell1_rep_ID": v.repeating_spellbookarcane_rep_ID, + "Quick_ArcaneSpell1_show": 1, + }, {silent: true});} + } else if (trigger === "2") { + if (t.repeating_spellbookarcane_UsedSpell2 === "1") { + setAttrs({ + "Quick_ArcaneSpell2_Name": name, + "Quick_ArcaneSpell2_CN": v.repeating_spellbookarcane_spellcastingnumber - cnmod, + "Quick_ArcaneSpell2_AccuSL": v.repeating_spellbookarcane_spellchannelsl, + "Quick_ArcaneSpell2_SpellMod": v.repeating_spellbookarcane_SpellMod, + "Quick_ArcaneSpell2_rep_ID": v.repeating_spellbookarcane_rep_ID, + "Quick_ArcaneSpell2_show": 1, + }, {silent: true});} + } else if (trigger === "3") { + if (t.repeating_spellbookarcane_UsedSpell3 === "1") { + setAttrs({ + "Quick_ArcaneSpell3_Name": name, + "Quick_ArcaneSpell3_CN": v.repeating_spellbookarcane_spellcastingnumber - cnmod, + "Quick_ArcaneSpell3_AccuSL": v.repeating_spellbookarcane_spellchannelsl, + "Quick_ArcaneSpell3_SpellMod": v.repeating_spellbookarcane_SpellMod, + "Quick_ArcaneSpell3_rep_ID": v.repeating_spellbookarcane_rep_ID, + "Quick_ArcaneSpell3_show": 1, + }, {silent: true});} + } + }); + }); + }); + }); +}); + \ No newline at end of file diff --git a/Warhammer 4e Character Sheet/translation.json b/Warhammer 4e Character Sheet/translation.json index 3c69953cc2..0fb6a1ff10 100644 --- a/Warhammer 4e Character Sheet/translation.json +++ b/Warhammer 4e Character Sheet/translation.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -543,46 +548,49 @@ "HOUSERULE1-INITIATIVE": "Houserule 1: Flat Initiative test to determine SL", "HOUSERULE2-INITIATIVE": "Houserule 2: Roll 1d10 + Initiative", "HOUSERULE3-INITIATIVE": "Houserule 3: Roll 1d10 + Agility Bonus + Initiative Bonus", + "MINOR1": "Witchsign: The next living creature born within 1 mile is mutated. ", "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", + "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", "MAJOR19": "Power Drain: You are unable to use the Talent used to cast the spell (usually Arcane Magic , though it could be Chaos Magic , or a similar Talent), for 1d10 minutes", "MAJOR20": "Aethyric Feedback: Everyone within a number of yards equal to your Willpower Bonus — friend and foe alike — suffers 1d10 wounds, ignoring Toughness Bonus and Armour Points, and receives the Prone Condition. If there are no targets in range, the magic has nowhere to vent, so your head explodes, killing you instantly.", + "WRATH1": "Holy Vision: Visions of your god plague your senses. Attempt an Average (+20) Endurance Test. If you fail gain one Stunned Condition.", "WRATH2": "Think Over Your Deeds: Any successful Pray test cannot achieve more than +0 SL for the next week.", "WRATH3": "Heed My Lessons: You suffer a penalty of –10 to your Pray Skill for the next 1d10+Sin points Rounds.", @@ -1128,6 +1136,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1201,7 +1210,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1225,6 +1253,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1293,6 +1322,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", @@ -1433,6 +1463,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", @@ -1455,9 +1492,49 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1465,6 +1542,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/af.json b/Warhammer 4e Character Sheet/translations/af.json index 6400df8010..90e62e9043 100644 --- a/Warhammer 4e Character Sheet/translations/af.json +++ b/Warhammer 4e Character Sheet/translations/af.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/ca.json b/Warhammer 4e Character Sheet/translations/ca.json index a9566f2ee8..2904ced131 100644 --- a/Warhammer 4e Character Sheet/translations/ca.json +++ b/Warhammer 4e Character Sheet/translations/ca.json @@ -151,6 +151,7 @@ "PRAY": "Pregar", "STEALTH": "Furtiu", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Carisma", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Investigar", "HYPNOTISM": "Hipnosi", "NAVIGATION": "Orientació", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Càrr", "REACH": "Abast", "IMPACT": "Impacte", @@ -547,37 +552,37 @@ "MINOR2": "Llet Agra: Tota la llet en 1d100 iardes a la rodona es torna agra instantàniament. ", "MINOR3": "Marciment: tants camps com el teu Bonificador de Voluntat en tantes milles a la rodona com el teu Bonificador de Voluntat es marceixen, els cultius podreixen durant la nit.", "MINOR4": "Cera de l'ànima: Les orelles se t'omplen de cop d'una cera espessa. Pateixes un estat 1 Estat d'Ensordiment que no s'eliminarà fins que algú te les netegi (amb un ús amb èxit de l'Habilitat Curar).", - "MINOR5": "Llum Bruixa: Brilles amb una llum inquietant relacionada amb el teu Saber, emetent tanta llum com una foguera gran, que dura 1d10 Assalts.", - "MINOR6": "Xiuxiuegs degradants: Passa una tirada de Voluntat +20 o guanyes 1 punt de Corrupció.", - "MINOR7": "Trencament: Els teus nas, ulls i orelles comencen a sagnar sense parar. Guany 1d10 condicions de Sagnant.", - "MINOR8": "Tremolor d'ànima: Guanyes la condició de Caigut.", - "MINOR9": "Deslligat: Tot el que dus es deslliga o es descorda: sivelles, llaços, cinturons, cordons. Perds la roba, les bosses s'obre, els sacs es deslliguen i l'armadura cau.", - "MINOR10": "Roba guerrera: la teva vestima es regira i retorça com si tingues vida pròpia. Rep 1 condició d'Entortolligat amb una Força de 1d10x5 a resistir.", - "MINOR11": "Maledicció de la temperància: Tot l'alcohol a 1d100 iardes es fa malbé, es torna amarg i putrescent.", - "MINOR12": "Drena l'ànima: Guanya una condició de Fatigat que dura 1d10 hores.", - "MINOR13": "Dut a la distracció: Si està en combat guanyes la condició Sorprès. Si no, et quedes ben embadalit, amb el cor bategant asíncopadament i incapaç de concentrar-te durant uns moments.", - "MINOR14": "Visions impiues: T'envolten visions flotant d'actes profans i impius. Reps la condició Encegat, i et cal passar una tirada de Calma o en guanyes una altra.", - "MINOR15": "Llengua empalagosa: Totes les tirades de Llenguatge (incloses les d'Invocació) reben un a penalització de -10 durant 1d10 assalts.", - "MINOR16": "L'horror!: Passa una tirada de Calma amb -20 o guanyes 1 condició de Desmoralitzat.", - "MINOR17": "El toc de la corrupció: Guanyes 1 punt de Corrupció.", - "MINOR18": "Problema doble: L'efecte del conjur s'esdevé a 1d10 milles d'on ets ara mateix. El lloc concret el decideix el DJ, allà on pugui tenir conseqüències.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Desgràcia múltiple: Tira dues vegades en aquesta taula, tirant de nou si surt entre 91 i 100.", "MINOR20": "Cascada de caos: Tira de nou a la taula de Disfuncions majors.", "MAJOR1": "Veus fantasmagòriques: Tothom en un radi de la teva Voluntat comença a escoltar veus sensuals que xiuxiuegen dels dels Regnes del Caos. Tota criatura intel·ligent ha de passar una tirada de Calma+20 per no guanyar un punt de Corrupció.", - "MAJOR2": "Ulls maleïts: Els teus ulls agafen un color antinatural associat al teu Saber durant 1d10 hores. Mentre els teus ulls estan així, tens una condició d'Encegat que no es pot resoldre de cap manera.", - "MAJOR3": "Xoc aethyric: Reps 1d10 Ferides, que ignoren BR i PA. Si no passes una tirada d'Aguant+20 guanyes una condició d'Atordit.", - "MAJOR4": "Passos mortals: Les teves passes porten la mort allà on passes. Durant 1d10 hores les plantes prou teu es marceixen i es moren.", - "MAJOR5": "Revolta intestinal: Les teves entranyes emprenen una dansa caòtica que acaba amb els teus pantalons empastifats. Guanyes 1 condició de Fatigat, que no et pots treure fins que et canviïs de roba i et netegis com cal.", - "MAJOR6": "Foc de l'ànima: Guanyes una condicio d'En flames, mentre et coronen flames màgiques del color associat al teu Saber.", - "MAJOR7": "Parlant les mil llengües: Balbuceges de forma incomprensible per 1d10 assalts. Mentre això dura no pots comunicar-te verbalemnt ni fer cap tirada d'Invocació. Per la resta pots actuar amb normalitat.", - "MAJOR8": "Plaga: t'ataca una plaga de rates, aranyes gegants, serps o algun altra bèstia aethyrica. Fes servir el perfil estàndar de la criatura afegint el tret Plaga. Si en 1d10 assalts no ha estat destruïda es retira.", - "MAJOR9": "Nina de drap: ets llançat 1d10 iardes lluny, en direcció aleatòria, reps 1d10 ferides que ignoren PA, i reps la condició de Caigut.", - "MAJOR10": "Membre congelat: Un membre determinat a l'atzar es queda inmovilitzat com està ara durant 1d10 hores. És totalment inútil, com si estigués amputat (pàg. 180).", - "MAJOR11": "Visió enfosquida: Perds els beneficis del talent Clarividència per 1d10 hores. Les tirades de Canalització reben una penalització de -20.", - "MAJOR12": "Premonició caòtica: Guanyes una reserva de 1d10 punts de Fortuna (que pot superar el teu límit natural). Cada vegada que gastis un dels punts guanyes 1 punt de Corrupció. Al final de la sessió els que et quedin es perden.", - "MAJOR13": "Levitació: Els Vents de la Màgia t'impulsen a 1d10 iardes d'alçada durant 1d10 minuts. Altres personatges et poden moure amb força o tu pots volar amb ales o conjurs, però si se't deixa tornes de forma contínua a la teva posició de levitar. Consulta les regles de caiguda (pàg. 166) per quan acabi la levitació.", - "MAJOR14": "Regurgitació: vomites quelcom pudent que no saps d'on surt, de forma incontrolable. Guanyes la copndició d'Atordit durant 1d10 assalts.", - "MAJOR15": "Terratrèmol del caos: Totes les criatures en un radi de 1d100 iardes han de passar una tirada d'Atletisme+20 o quedaran Caiguts.", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Cor de traidor: els Déus Foscos t'animen a cometre una perfídia horripilant. Si ataques o traeixes a un aliat amb tota la teva capacitat i potència, recuperes tots els punts de Fortuna. Si fas perdre al personatge 1 punt de Destí, tu en guanyes un.", "MAJOR17": "Afebliment fastigós: Guanyes 1 punt de Corrupció, la condició Caigut i una de Fatigat.", "MAJOR18": "Tuf infernal: Ara si que puts! Guanyes el tret de criatura Torbador i la més que probable enemistat de qualsevol que tingui olfacte. Això s'allarga durant 1d10 hores.", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Sobornar", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Sentir màgia", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/cs.json b/Warhammer 4e Character Sheet/translations/cs.json index 8f7edd117f..4b4613075a 100644 --- a/Warhammer 4e Character Sheet/translations/cs.json +++ b/Warhammer 4e Character Sheet/translations/cs.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Dosah", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/da.json b/Warhammer 4e Character Sheet/translations/da.json index ae9f5840e4..5e6beb2337 100644 --- a/Warhammer 4e Character Sheet/translations/da.json +++ b/Warhammer 4e Character Sheet/translations/da.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/de.json b/Warhammer 4e Character Sheet/translations/de.json index 4030ecdb66..abeab7a720 100644 --- a/Warhammer 4e Character Sheet/translations/de.json +++ b/Warhammer 4e Character Sheet/translations/de.json @@ -151,6 +151,7 @@ "PRAY": "Beten", "STEALTH": "Schleichen", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charme", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Nachforschen", "HYPNOTISM": "Hypnotisieren", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "TP", "REACH": "Reichweite", "IMPACT": "Wuchtig", @@ -547,37 +552,37 @@ "MINOR2": "Saure Milch: Alle Milch im Umkreis von 100 Metern wird sofort sauer.", "MINOR3": "Braunfäule: Willenskraft-Bonus Felder im Umkreis von Willenskraft-Bonus Meilen (je 1,6 km) werden von Braunfäule heimgesucht und das Getreide verrottet über Nacht.", "MINOR4": "Seelenwachs: Deine Ohren sind schlagartig mit dickem Wachs verstopft. Du erhältst 1 Ertaubt-Zustand, der so lange anhält, bis jemand deine Ohren reinigt (durch den gelungenen Einsatz der Fähigkeit Heilen).", - "MINOR5": "Hexenlicht: Du glühst in geisterhaftem, deiner Lehre entsprechendem Licht, das ungefähr so viel Licht wie ein Lagerfeuer verbreitet und 1W10 Runden anhält.", - "MINOR6": "Böses Flüstern Bestehe einen durchschnittlichen (+20) Willenskraft-Wurf, oder du erhältst 1 Korrumpierungspunkt.", - "MINOR7": "Aderrisse: Deine Nase, deine Augen und deine Ohren bluten ausgiebig. Du erhältst 1W10 Blutend-Zustände.", - "MINOR8": "Seelenbeben: Du erhältst den Zustand Niedergestreckt.", - "MINOR9": "Großes Lösen: An deinem Körper öffnen sich jede Schnalle und jeder Knoten; deine Gürtel fallen, Beutel öffnen sich, Taschen stürzen zu Boden und Rüstungsteile verrutschen.", - "MINOR10": "Störrische Kleidung: Deine Kleidungsstücke scheinen ein Eigenleben zu entwickeln. Du erhältst 1 Gefesselt-Zustand, wobei die Stärke, gegen die du würfeln musst, mit 1W10x5 bestimmt wird.", - "MINOR11": "Gärungsfluch: Alle alkoholischen Getränke innerhalb von 1W100 Metern kippen und schmecken plötzlich bitter und faulig.", - "MINOR12": "Seelensog: Du erhältst 1 Erschöpft-Zustand, der 1W10 Stunden anhält.", - "MINOR13": "Zu Tode erschreckt: Wenn du im Kampf bist, erhältst du den Zustand Überrascht. Anderenfalls bist du völlig verschreckt, hast Herzrasen und bist einige Momente lang unfähig, dich zu konzentrieren.", - "MINOR14": "Unheilige Visionen: Flüchtige Visionen schändlicher und unheiliger Akte suchen dich heim. Du erhältst 1 Geblendet-Zustand und musst einen herausfordernden (+0) Besonnenheits-Wurf bestehen, oder du erhältst einen weiteren.", - "MINOR15": "Geschwollene Zunge: Bei allen Sprache-Würfen (inklusive Zauberwürfen) erleidest du für 1W10 Runden einen Abzug von -10.", - "MINOR16": "Der Schrecken!: Du musst einen schweren (-20) Besonnenheits-Wurf bestehen, oder du erhältst 1 Demoralisiert-Zustand.", - "MINOR17": "Fluch der Korrumpierung: Du erhältst 1 Korrumpierungspunkt.", - "MINOR18": "Doppelter Ärger: Der Effekt des Zaubers, den du gewirkt hast, tritt irgendwo innerhalb von 1W10 Meilen (je 1,6 km) ein. Der SL legt die Details fest, aber der Zauber sollte nach Möglichkeit Konsequenzen haben.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Mehrfaches Missgeschick: Wirf zweimal auf diese Tabelle und wiederhole Würfe von 91-00.", "MINOR20": "Chaoskaskade: Würfle auf die Tabelle für Schwere Kontrollverluste.", "MAJOR1": "Geisterhafte Stimmen: Jeder in Willenskraft Meter Umkreis hört ein dunkles, verführerisches Flüstern. Alle empfindungsfähigen Wesen müssen einen durchschnittlichen (+20) Besonnenheits-Wurf bestehen, oder sie erhalten 1 Korrumpierungspunkt.", - "MAJOR2": "Hexenaugen: Deine Augen nehmen für 1W10 Stunden eine unnatürliche, deiner Lehre entsprechende Farbe an. Solange deine Augen derart verfärbt sind, hast du 1 Geblendet-Zustand, der durch absolut nichts vorzeitig beseitigt werden kann.", - "MAJOR3": "Ätherschock: Du verlierst 1W10 LP, wobei Widerstands-Bonus und RP ignoriert werden. Zudem musst du einen herausfordernden (+0) Ausdauer-Wurf bestehen, oder du erhältst 1 Betäubt-Zustand.", - "MAJOR4": "Wandelnder Tod: Deine Schritte hinterlassen den Tod. Für die nächsten 1W10 Stunden welkt jedwedes pflanzliche Leben, in dessen Nähe du kommst, dahin und stirbt.", - "MAJOR5": "Innere Rebellion: Deine Eingeweide bewegen sich unkontrolliert und du erleichterst dich in deine Kleidung. Du erhältst 1 Erschöpft-Zustand, der nur dadurch beseitigt werden kann, dass du die Kleider wechselst und dich reinigst.", - "MAJOR6": "Seelenfeuer: u erhältst 1 Brennend-Zustand, während du in unheiligen Flammen mit deiner Lehre entsprechenden Farbe loderst.", - "MAJOR7": "Fremde Zungen: Du brabbelst 1W10 Runden dümmlich vor dich hin. Während dieser Zeit kannst du nicht verbal kommunizieren und keine Zauberwürfe durchführen, dich ansonsten aber normal verhalten.", - "MAJOR8": "Umschwärmt: Du wirst von einem Schwarm ätherischer Ratten, Riesenspinnen, Schlangen oder Ähnlichem (Wahl des SL) angegriffen. Verwende das Standardprofil der jeweiligen Kreatur und füge die Kreaturen-Eigenschaft Schwarm hinzu. Nach 1W10 Runden zieht sich der Schwarm zurück, sofern er zuvor nicht zerstört wurde.", - "MAJOR9": "Weggeworfene Puppe: Du wirst 1W10 Meter in Zufallsrichtung durch die Luft geschleudert und verlierst beim Aufprall 1W10 LP, die RP ignorieren. Zudem erhältst du den Zustand Niedergestreckt.", - "MAJOR10": "Gefrorenes Körperteil: Ein Arm oder Bein (zufällig bestimmt) ist für 1W10 Stunden in seiner Haltung erstarrt. Das Glied ist nutzlos, so als sei es amputiert.", - "MAJOR11": "Verdunkelte Sicht: Du verlierst für 1W10 Stunden die Vorteile des Talents Zweites Gesicht. Während dieser Zeit hast du -20 auf alle Kanalisieren-Würfe.", - "MAJOR12": "Chaotische Voraussicht: Du erhältst einen Vorrat von 1W10 Glückspunkten (was dich über deine Obergrenze bringen kann). Jedes Mal, wenn du einen dieser Glückspunkte einsetzt, erhältst du 1 Korrumpierungspunkt. Alle verbliebenen Punkte verfallen mit dem Ende des Spielabends.", - "MAJOR13": "Levitation: Du wirst von den Winden der Magie erfasst und schwebst für 1W10 Minuten 1W10 Meter hoch über dem Boden. Andere Charaktere können dich gewaltsam bewegen und auch du selbst kannst dies tun, solltest du geeignete Zauber, Flügel etc. haben, wobei du aber immer wieder in diesen schwebenden Zustand zurückkehrst, wenn man dich lässt. Die Regeln für das Fallen (siehe Seite 166) erklären dir, was passiert, wenn das Schweben endet.", - "MAJOR14": "Rückfluss: Du speist unkontrolliert einen Strahl von viel, viel mehr übelriechendem Erbrochenen aus, als dein Körper überhaupt fassen kann. Du erhältst für 1W10 Runden den Zustand Betäubt.", - "MAJOR15": "Chaosbeben: Alle Wesen innerhalb von 1W100 Meter müssen einen durchschnittlichen (+20) Athletik-Wurf bestehen, oder sie erhalten den Zustand Niedergestreckt.", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Verräterherz: Die Dunklen Götter locken dich auf perfide Weise. Solltest du einen Verbündeten unter maximalem Einsatz deiner Möglichkeiten attackieren oder auf andere Weise verraten, erhältst du alle Glückspunkte zurück. Sollte ein anderer Charakter dabei einen Schicksalspunkt verlieren, erhältst du +1 Schicksalspunkt.", "MAJOR17": "Bösartige Schwächung: Du erhältst 1 Korrumpierungspunkt, den Zustand Niedergestreckt und einen Erschöpft-Zustand.", "MAJOR18": "Höllischer Gestank: Du riechst jetzt wirklich übel! Du erhältst die Kreaturen-Eigenschaft Verstörend (siehe Seite 343) und möglicherweise auch viel Ablehnung von jedem, der riechen kann. Dies hält 1W10 Stunden an.", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bestechen", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magiegespür", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/el.json b/Warhammer 4e Character Sheet/translations/el.json index 4b3899ff7e..8ed86b0775 100644 --- a/Warhammer 4e Character Sheet/translations/el.json +++ b/Warhammer 4e Character Sheet/translations/el.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/en.json b/Warhammer 4e Character Sheet/translations/en.json index a636ac54fb..7b09d596ea 100644 --- a/Warhammer 4e Character Sheet/translations/en.json +++ b/Warhammer 4e Character Sheet/translations/en.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/es.json b/Warhammer 4e Character Sheet/translations/es.json index 4aab1b958a..16afce3814 100644 --- a/Warhammer 4e Character Sheet/translations/es.json +++ b/Warhammer 4e Character Sheet/translations/es.json @@ -151,6 +151,7 @@ "PRAY": "Rezar", "STEALTH": "Mov. silencioso", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Carisma", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Investigar", "HYPNOTISM": "Hipnotismo", "NAVIGATION": "Orientación", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Imp", "REACH": "Longitud", "IMPACT": "Impactante", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Sobornar", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Sentir Magia", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/fi.json b/Warhammer 4e Character Sheet/translations/fi.json index 0c0cdb825e..72256d6bec 100644 --- a/Warhammer 4e Character Sheet/translations/fi.json +++ b/Warhammer 4e Character Sheet/translations/fi.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/fr.json b/Warhammer 4e Character Sheet/translations/fr.json index 33b4ade491..76f2a32b2f 100644 --- a/Warhammer 4e Character Sheet/translations/fr.json +++ b/Warhammer 4e Character Sheet/translations/fr.json @@ -151,6 +151,7 @@ "PRAY": "Prière", "STEALTH": "Discrétion", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charme", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Recherche", "HYPNOTISM": "Hypnotisme", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc.", "REACH": "Allonge", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Lait caillé: tout le lait dans un rayon de 1d100 mètres tourne instantanément.", "MINOR3": "Mildiou: un nombre de champs égal à votre bonus de Force Mentale dans un rayon de (Bonus de Force Mentale) kilomètres subissent une calamité, et toutes les cultures pourrissent dans la nuit.", "MINOR4": "Cérumen: vos oreilles se bouchent instantanément à cause d'une cire épaisse. Gagnez 1 État Assourdi, qui ne peut être retiré jusqu'a ce que quelqu'un les nettoie pour vous en utilisant avec succès la Compétence Guérison.", - "MINOR5": "Lueur occulte: vous luisez d'une lueur sinistre en lien avec votre Domaine, émettant autant de lumière qu'un grand bûcher, qui dure au moins 1d10 rounds.", - "MINOR6": "Murmurs mortels: réussissez un Test de Force Mentale Accessible (+20) ou gagnez 1 Point de Corruption.", - "MINOR7": "Rupture: votre nez, vos yeux et vos oreilles saignent abondamment. Gagnez 1d10 États Hémorragique.", - "MINOR8": "Secousse spirituelle: gagnez l'État A Terre.", - "MINOR9": "Délié: sur votre personne, toutes les boucles se détachent et tous les lacets se délassent, ce qui peut entraîner la chute de ceintures et de sacs, l'ouverture des poches et le glissement de l'armure.", - "MINOR10": "Tenue indisciplinée: vos vêtements semblent se tordre par leur propre volonté. Recevez 1 État Enchevêtré avec une Force de 1d10 x 5 pour résister.", - "MINOR11": "Malédiction de la sobriété: tout l'alcool dans un rayon de 1d100 mètres s'évente, prenat un goût infect et amer.", - "MINOR12": "Drain de l'âme: gagnez un État Exténué, qui dure 1d10 heures.", - "MINOR13": "Distraction: si vous êtes engagé en combat, gagnez l'État Surpris. Sinon, vous ête complètement décontenancé, le coeur battant et incapable de vous concentrer pendant quelques instants.", - "MINOR14": "Visions Impies: des visions éphémères d'actes profanes et impies vous harcèlent. Recevez l'État Aveuglé; réussissez un Test de Calme Intermédiaire (+0) ou gagnez-en un autre.", - "MINOR15": "Langue maladroite: tous les Tests de Langue (y compris les Tests d'Incantation) subissent une pénalité de -10 pendant 1d10 rounds.", - "MINOR16": "L'horreur !: passez un Test de Calme Difficile (-20) ou gagnez l'État Brisé.", - "MINOR17": "Malédiction de corruption: obtenez un Point de Corruption.", - "MINOR18": "Double Problème: l'effet du sort que vous lancez agit ailleurs dans un rayon de 1d10 kilomètres. A la discrétion du MJ, dans la mesure du possible, cela devrait avoir des conséquences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplication d'infortune: effectuez deux lancers de déssur cette table, en relançant tous les résultas entre 91-00.", "MINOR20": "Chaos en cascade: effectuez un nouveau jet sur le Tableau des Incantations Imparfaites Majeures.", "MAJOR1": "Voix fantomatiques: toutes les personnes dans un rayon de (Force Mentale) mètres entendent de sombres murmures envoûtants émanant du royaume du Chaos. Toutes les créatures douées de conscience doivent réussir un Test de Calme Accessible (+20) ou gagner 1 Point de Corruption.", - "MAJOR2": "Regard maudit: vos yeux prennent un couleur anormale associée à votre Domaine pendant 1d10 heures. Tant que vos yeux gardent cette couleur, vous possédez 1 État Aveuglé qui ne peut être retiré d'autre façon.", - "MAJOR3": "Choc aethyrique: vous subissez 1d10 Blessures qui ignorent le Bonus d'Endurance et les PAS. Réalisez un Test de Résistance Accessible (+20) ou gagnez immédiatement 1 État Assomé.", - "MAJOR4": "Marcheur de mort: vos pas sèment la mort sur votre passage. Pour les 1d10 prochaines heures, toutes les plantes vivantes près de vous fanent et meurent.", - "MAJOR5": "Rebellion intestinale: vos intestions deviennent incontrôlable et vous vous souillez. Gagnez 1État Exténué qui ne peut être retiré tant que vous ne pouvez pas changer de vêtements et vous nettoyer.", - "MAJOR6": "Feu de l'âme: gagnez 1 État Enflammé, alors que vous êtes enveloppé de flammes impies de la couleur associée de votre Domaine.", - "MAJOR7": "Propos ésotériques: vous jacassez de façon inintelligible pendant 1d10 rounds. Pendant ce temps, vous ne pouvez pas communiquer verbalement, ni effectuer de Tests d'Incantation, mais vous pouvez tout de même agir normalement.", - "MAJOR8": "Essaim: Vous êtes engagé avec une nuée de rats, araignées géantes, serpents aethyriques, ou autres créatures similaires (au choix du MJ). Utilisez les profils standard pour le typr de créature concernée, en ajoutant le Trait de Créature Nuée. Après 1d10 rounds, si elle n'a pas été détruite, la nuée bat en retraite.", - "MAJOR9": "Pouppée de chiffon: vous êtes projeté à 1d10 mètres dans les airs dans une direction aléatoire, subissant 1d10 Point de Blessure à l'aterrissage qui ignorent les PA, et recevez l'état A Terre.", - "MAJOR10": "Membre gelé: l'un de vos membres (déterminé au hasard) gèle sur place pendant 1d10 heures. Il est inutile comme s'il avait été Amputé (voir page 180).", - "MAJOR11": "Vue assombrie: vous perdez le bénéfice du Talent Seconde Vue pendant 1d10 heures. Les Tests de Focalisation subissent également une pénalité de -20 pour la durée de l'effet.", - "MAJOR12": "Clairvoyance chaotique: gagnez une réserve bonus de 1d10 Point de Chance(qui peut dépasser votre limite naturelle). Chaque fois que vous dépensez l'un de ces points, gagnez 1 Point de Corruption. Tous les Points restant à la finde la sessoin sont perdus.", - "MAJOR13": "Lévitation: vous êtes soulevé par les Vents de la Magie, flottant 1d10 mètres au-dessus du sol pendant 1d10 minutes. Les autres personnages peuvent vous déplacer de force, et vous pouvez avancer à l'aide de Sorts, d'ailes ou autres, mais vous revenez continuellement à votre position de lévitation lorsqu'on vous laisse tranquille. Référez-vous aux règles de Chute (voir page 166) pour voir ce qui arrive quand la Lévitation prend fin..", - "MAJOR14": "Réguritation: vous vommissez de façon incontrôlable bien plus de rejets nauséabonds que votre corps ne peut en contenir. Gagnez l'État Assommé, qui dure 1d10 rounds.", - "MAJOR15": "Secousses du Chaos: toutes les créatures dans un rayon de 1d100 mètres doivent réussir un Test d'Athlétisme Accessible (+20) ou gagner l'État A Terre.", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Coeur de traître: les Sombres dieux vous incitent à commettre une horrible perfidie. Si vous attaquez ou trahissez un allié dans toute la mesure de vos capacités, regagnez tous vos Points de Chance. Si vous faites perdre un Point de Chance à un autre Personnage, gagnez +1 Point de Chance.", "MAJOR17": "Terrible affaiblissement: gagnez 1 Point de Corruption, 1 État A Terre et 1 État Exténué.", "MAJOR18": "Puanteur infernale: vous sentez vraiment mauvais ! Vous gagnez le Trait de Créature Perturbant (voir Page 341), et probablement l'inimité de toute personne ayant de l'odorat. Cet effet dure 1d10 heures.", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Subornation", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Sens de la magie", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/he.json b/Warhammer 4e Character Sheet/translations/he.json index ebd61ca1bc..a2effa2278 100644 --- a/Warhammer 4e Character Sheet/translations/he.json +++ b/Warhammer 4e Character Sheet/translations/he.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/hu.json b/Warhammer 4e Character Sheet/translations/hu.json index 0c0cdb825e..72256d6bec 100644 --- a/Warhammer 4e Character Sheet/translations/hu.json +++ b/Warhammer 4e Character Sheet/translations/hu.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/it.json b/Warhammer 4e Character Sheet/translations/it.json index de6d433f64..cbe6f26309 100644 --- a/Warhammer 4e Character Sheet/translations/it.json +++ b/Warhammer 4e Character Sheet/translations/it.json @@ -151,6 +151,7 @@ "PRAY": "Pregare", "STEALTH": "Nascondersi", "ANIMALCARE": "Allevare", + "AUGURY": "Augury", "CHARM": "Affascinare", "CHARMANIMAL": "Domare Animali", "CONSUMEALCOHOL": "Reggere Alcolici", @@ -174,6 +175,7 @@ "RESEARCH": "Ricercare", "HYPNOTISM": "Ipnotismo", "NAVIGATION": "Orientarsi", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Scassinare", "SETTRAP": "Piazzare Trappole", "SLEIGHTOFHAND": "Rapidità di Mano", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Incanalare (Stregoneria)", "CHANNELLINGDARK": "Incanalare (Necromanzia)", "CHANNELLINGCHAOS": "Incanalare (Caos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Incanalare (Vario)", "FIRE": "Fuoco", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Stregoneria", "DARK": "Oscura", "CHAOS": "Caos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Ing", "REACH": "Portata", "IMPACT": "Impatto", @@ -547,37 +552,37 @@ "MINOR2": "Latte Inacidito: tutto il latte entro 1d100 m diventa acido all’istante.", "MINOR3": "Carestia: le piante in un numero di campi pari al Bonus Volontà del Mago ed entro Bonus Volontà×1,5 km marciscono durante la notte.", "MINOR4": "Cerume: le orecchie del Mago si otturano di cerume. Subisce 1 Assordato, che non può essere rimosso finché qualcuno non le ripulisce con una Prova di Guarire.", - "MINOR5": "Luce Stregata: il Mago emette una luce inquietante, del colore del proprio Vento, pari a quella di un grosso falò per 1d10 Round.", - "MINOR6": "Sussurri Maligni: il Mago deve superare una Prova Media (+20) di Volontà o subire 1 Punto Corruzione.", - "MINOR7": "Sanguinante: il Mago perde sangue da naso e orecchie, subisce 1d10 Sanguinante.", - "MINOR8": "Tremito nell’Anima: il Mago cade Prono.", - "MINOR9": "Slacciare: ogni fibbia e laccio addosso al Mago si aprono, facendo cadere cinture, borse e armature.", - "MINOR10": "Abiti in Fuga: gli abiti del Mago si animano di vita propria, causandogli 1 Afferrato con Forza pari a 1d10×5.", - "MINOR11": "Maledizione della Temperanza: tutto l’alcol entro 1d100 metri acetifica e diventa imbevibile.", - "MINOR12": "Anima Prosciugata: il Mago subisce 1 Affaticato che dura 1d10 ore.", - "MINOR13": "Distrazione: se il Mago è in combattimento diventa Sorpreso; altrimenti è incapace di concentrarsi per alcuni secondi, mentre il cuore gli batte a mille.", - "MINOR14": "Visioni Sacrileghe: il Mago è colpito da visioni di atti profani. Subisce 1 Accecato e deve superare una Prova Impegnativa (+0) di Freddezza per non subirne un secondo.", - "MINOR15": "Lingua Allappata: tutte le Prove di Linguaggio parlato (comprese le Prove di Lancio) subiscono -10 per 1d10 Round.", - "MINOR16": "L’Orrore!: il Mago deve superare una Prova Ardua (-20) di Freddezza o subire 1 Atterrito.", - "MINOR17": "Corruzione: il Mago ottiene 1 Punto Corruzione.", - "MINOR18": "Il Doppio dei Guai: gli effetti dell’Incantesimo si manifestano anche a 1d10×1,5 km di distanza. Questo potrebbe avere delle conseguenze a discrezione del GM.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Moltiplicarsi della Sfortuna: tirare 2 volte su questa tabella, ritirando ogni risultato di 91-00.", "MINOR20": "Effetto a Cascata: tirare di nuovo sulla Tabella degli Incidenti Magici Maggiori.", "MAJOR1": "Voci spettrali: tutti entro un numero di metri pari al Bonus Volontà sentono sussurri oscuri e seducenti dal Reame del Caos. Ogni creatura senziente deve superare una Prova Media (+20) di Freddezza od ottenere 1 Punto Corruzione.", - "MAJOR2": "Occhi Stregati: gli occhi del Mago assumono un colore innaturale legato al suo Vento per 1d10 ore. In questo periodo subisce 1 Accecato che non può essere rimosso in alcun modo.", - "MAJOR3": "Shock Aethyrico: il Mago subisce 1d10 Ferite, ignorando il Bonus Resistenza e l’Armatura, e deve superare una Prova Media (+20) di Tempra per non subire anche 1 Stordito.", - "MAJOR4": "Camminata di Morte: la morte segue i passi del Mago. Per 1d10 ore, ovunque poggi il piede la vegetazione appassisce e muore.", - "MAJOR5": "Ribellione Intestinale: le viscere del Mago si contraggono senza controllo e se la fa addosso. Subisce 1 Affaticato che non può essere rimosso finché non si sarà lavato e cambiato.", - "MAJOR6": "Fuoco dell’Anima: il Mago arde di fuoco innaturale del colore del proprio Vento, subendo 1 In Fiamme.", - "MAJOR7": "Babele: il Mago biascica in modo inintelligibile per 1d10 Round, durante i quali non può parlare né lanciare Incantesimi.", - "MAJOR8": "Sciame: il Mago viene assalito da un’orda Aethyrica di Ratti Giganti, Ragni Giganti, Serpenti o altre creature a scelta del GM. Usare il normale profilo della creatura con l’aggiunta del Tratto Sciame. Le creature si ritirano dopo 1d10 Round.", - "MAJOR9": "Pupazzo: il Mago viene scagliato in aria per 1d10 metri in direzione casuale. Quando atterra subisce 1d10 Ferite, ignorando i Punti Armatura, ed è Prono.", - "MAJOR10": "Arto Congelato: un arto scelto a caso del Mago resta paralizzato per 1d10 ore. È inservibile, come se fosse stato amputato (pag. 180).", - "MAJOR11": "Vista Crepuscolare: per 1d10 ore, il Mago perde i benefici di Seconda Vista e subisce -20 alle Prove d’Incanalare.", - "MAJOR12": "Preveggenza Caotica: il Mago ottiene 1d10 Punti Fortuna (che possono superare il normale massimale), ma ogni volta che ne spende uno accumula 1 Punto Corruzione. A fine sessione perderà quelli rimanenti.", - "MAJOR13": "Levitazione: il Mago viene sollevato dai Venti della Magia a 1d10 metri da terra per 1d10 minuti. Può spostarsi usando magie, ali o venire mosso da altri ma, se lasciato a se stesso, tornerà al punto d’origine. Al termine dell’effetto subirà Danni da Caduta (pag. 166).", - "MAJOR14": "Rigurgito: il Mago rigetta in maniera incontrollata più vomito puzzolente di quanto il suo corpo potrebbe contenere. Subisce 1 Stordito per 1d10 Round.", - "MAJOR15": "Sisma del Caos: ogni creatura entro 1d100 metri deve superare una Prova Media (+20) di Atletica o cadere Prona.", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Cuore di Traditore: gli Dei Oscuri spingono il Mago a commettere una terribile perfidia. Se deciderà di attaccare o tradire con tutte le proprie capacità un alleato, riguadagnerà tutti i propri Punti Fortuna. Se questi perde 1 Punto Fato in tal modo, il Mago ne guadagna uno.", "MAJOR17": "Orrido Indebolimento: il Mago subisce 1 Punto Corruzione e le Condizioni Prono e 1 Affaticato.", "MAJOR18": "Tanfo Infernale: il Mago puzza terribilmente! Ottiene il Tratto Distraente (pag. 235) per 1d10 ore e, probabilmente, l’antipatia di chiunque abbia un naso.", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Sfondare", "B&E": "Sfond.", "BRIBERY": "Corrompere", + "BRIBER": "Briber", "BERSERK-CHARGE": "Carica del Berserker", "CARDSHARP": "Baro (Carte)", "CAREFUL-STRIKE": "Colpo Misurato", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Senso Magico", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Resistente alla Magia", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Tiratore", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Determinato", "STRONG-SWIMMER": "Nuotatore", "SUAVE": "Cortese", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffuso con", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffuso con (Vento)", + "WIND": "Vento", + "RITUALS": "Rituali", "SUPER-NUMERATE": "Genio Matematico", "SUPPORTIVE": "Solidale", "SURE-SHOT": "Mira Sicura", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Nervi d'Acciaio", "VERY-RESILIENT": "Saldo", "VERY-STRONG": "Forzuto", + "VICE": "Vice", "WAR-LEADER": "Condottiero", "WAR-LEADER-EFFECT": "Il bersaglio guadagna +", "WAR-LEADER-EFFECT2": "LS a una Prova di Volontà (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Sapere di Nurgle", "SLAANESH-LORE": "Sapere di Slaanesh", "TZEENTCH-LORE": "Sapere di Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Incantesimi appresi", "SPELL-SELECT": "Seleziona Incantesimo", "SPELL-NAME": "Nome Incantesimo", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Flusso di Corruzione", "SPELL-ACQUIESCENCE": "Rassegnazione", "SPELL-TREASON-OF-TZEENTCH": "Tradimento di Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Seleziona Benedizione", "BLESSING-CUSTOM": "Nome Benedizione Personalizzato", "BLESSING-BATTLE": "Benedizione della Battaglia", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Benedizione della Tenacia", "BLESSING-WIT": "Benedizione dell’Astuzia", "BLESSING-WIZDOM": "Benedizione della Saggezza", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "SEGNO ZODIACALE", "MAGIC-LORE": "Sapere", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSICOLOGIA", "DRUNK": "Ubriaco", "UNARMED": "Disarmato", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorizzato", "NOT-MEMORISED": "Non Memorizzato", "CHANNELING-MOD": "Mod. Incanalare", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/ja.json b/Warhammer 4e Character Sheet/translations/ja.json index de3ce6bf28..2bd64d6a66 100644 --- a/Warhammer 4e Character Sheet/translations/ja.json +++ b/Warhammer 4e Character Sheet/translations/ja.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "隠密", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "間合い", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/ko.json b/Warhammer 4e Character Sheet/translations/ko.json index fe8c894f1d..9a6360534a 100644 --- a/Warhammer 4e Character Sheet/translations/ko.json +++ b/Warhammer 4e Character Sheet/translations/ko.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "영향", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/nl.json b/Warhammer 4e Character Sheet/translations/nl.json index 7263a49927..8e3e41b829 100644 --- a/Warhammer 4e Character Sheet/translations/nl.json +++ b/Warhammer 4e Character Sheet/translations/nl.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/pb.json b/Warhammer 4e Character Sheet/translations/pb.json index 0c0cdb825e..72256d6bec 100644 --- a/Warhammer 4e Character Sheet/translations/pb.json +++ b/Warhammer 4e Character Sheet/translations/pb.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/pl.json b/Warhammer 4e Character Sheet/translations/pl.json index 43ed50a9cf..672115a780 100644 --- a/Warhammer 4e Character Sheet/translations/pl.json +++ b/Warhammer 4e Character Sheet/translations/pl.json @@ -151,6 +151,7 @@ "PRAY": "Modlitwa", "STEALTH": "Skradanie", "ANIMALCARE": "Opieka nad Zwierzętami", + "AUGURY": "Wróżenie", "CHARM": "Charyzma", "CHARMANIMAL": "Oswajanie", "CONSUMEALCOHOL": "Mocna Głowa", @@ -174,6 +175,7 @@ "RESEARCH": "Badania naukowe", "HYPNOTISM": "Hipnoza", "NAVIGATION": "Nawigacja", + "PSYCHOMETRY": "Psychometria", "PICKLOCK": "Otwieranie zamków", "SETTRAP": "Zastawianie Pułapek", "SLEIGHTOFHAND": "Zwinne Palce", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Splatanie magii (Czarownic)", "CHANNELLINGDARK": "Splatanie magii (Czarnoksięstwo)", "CHANNELLINGCHAOS": "Splatanie magii (Chaos)", + "CHANNELLINGGREATMAW": "Splatanie magii (Wielka Paszcza)", "CHANNELLINGMISC": "Splatanie magii (inne)", "FIRE": "Ognia", "MAGIC-FIRE-EFFECT": "Przy trafieniu może zadać +1 Podpalenie", @@ -247,7 +250,7 @@ "MAGIC-LIFE-EFFECT": "+10 do Splatania/Rzucania na wsi/w dziczy", "MAGIC-LIFE-EFFECT2": "Żywe cele tracą Zmęczenie/Krwawienie", "MAGIC-LIFE-EFFECT3": "Demoniczny/Ożywieniec +BSW Obr, ignoruj BWt/PP", - "LIGHT": "Lekki", + "LIGHT": "Światło", "MAGIC-LIGHT-EFFECT": "Możesz zadać +1 Oślepienie przy Trafieniu", "MAGIC-LIGHT-EFFECT2": "Demoniczny/Ożywieniec +Bint Obr, ignoruj BWt/PP", "DEATH": "Śmierci", @@ -257,6 +260,8 @@ "WITCH": "Czarownic", "DARK": "Czarnoksięstwa", "CHAOS": "Chaosu", + "GREAT-MAW": "Wielka Paszcza", + "MAGIC-GREAT-MAW-EFFECT": "Jeżeli złożyłeś ofiarę - rzuć 1k10, jeśli 10 lub >= PZ, wylecz PZ Ran ", "ABBREVIATE-ENCUMBRANCE": "Obc.", "REACH": "Długość", "IMPACT": "Druzgocząca", @@ -392,7 +397,7 @@ "BROKEN-NOSE": "Złamany nos", "BROKEN-NOSE-DESC": "Silny cios trafia w sam środek twarzy, a postać zalewa się krwią. Postać otrzymuje 2 poziomy Krwawienia. Musi także zdać Wymagający (+0) Test Odporności, w przeciwnym wypadku otrzyma również 1 poziom Oszołomienia. Po wyleczeniu tej rany postać uzyskuje premię +1 PS lub karę -1 PS do Testów w kontaktach społecznych (w zależności od kontekstu), chyba że podjęto Test Chirurgii, by nastawić i wyprostować nos.", "BROKEN-JAW": "Zmiażdżona żuchwa", - "BROKEN-JAW-DESC": "Następuje obrzydliwy trzask, a cios trafia w żuchwę od spodu, miażdżąc ją. Postać otrzymuje 3 poziomy Oszołomienia. Musi także zdać Wymagający (+0) Test Odporności, w przeciwnym wypadku otrzyma również 1 poziom Ogłuszenia. Ponadto otrzymuje Uraz Złamanie (poważne) (-30 do wszystkich Testów Języków).", + "BROKEN-JAW-DESC": "Następuje obrzydliwy trzask, a cios trafia w żuchwę od spodu, miażdżąc ją. Postać otrzymuje 3 poziomy Oszołomienia. Musi także zdać Wymagający (+0) Test Odporności, w przeciwnym wypadku nastąpi Utrata Przytomności. Ponadto otrzymuje Uraz Złamanie (poważne) (-30 do wszystkich Testów Języków).", "CONCUSSIVE-BLOW": "Wstrząśnienie mózgu", "CONCUSSIVE-BLOW-DESC": "Mózg obija się wewnątrz czaszki, a krew wypływa z nosa i uszu. Postać otrzymuje 1 poziom Ogłuszenia, 2 poziomy Krwawienia oraz 1k10 poziomów Oszołomienia. Ponadto na 1k10 dni uznaje się ją również za Zmęczoną. Jeśli postać otrzyma kolejną Ranę Krytyczną w głowę, będąc jeszcze Zmęczoną po ostatnim wstrząśnieniu mózgu, musi wykonać Przeciętny (+20) Test Odporności. Jeśli ten się nie powiedzie, następuje Utrata Przytomności.", "CONCUSSIVE-BLOW-DESC2": "Postać dostaje solidne uderzenie w czaszkę. Postać otrzymuje 1 poziom Ogłuszenia, 2 poziomy Krwawienia i 1k10 poziomów Oszołomienia. Oprócz tego otrzymuje 1 poziom Zmęczenia, który utrzymuje się przez 1k10 dni.", @@ -547,37 +552,37 @@ "MINOR2": "Skwaśniałe mleko: Wszelkie mleko w promieniu 1k100 metrów natychmiast kwaśnieje.", "MINOR3": "Nieurodzaj: Liczbę pól uprawnych równą Bonusowi z Siły Woli w promieniu Bonus z Siły Woli kilometrów dotyka klęska żywiołowa i w ciągu jednej nocy wszystkie plony gniją.", "MINOR4": "Woskowina: Uszy czarodzieja natychmiast zatykają się przez nadmiar gęstej woskowiny. Postać otrzymuje 1 poziom Ogłuszenia, który nie może zostać usunięty, dopóki ktoś nie wyczyści uszu postaci (udany Test Leczenia).", - "MINOR5": "Wiedźmi blask: Na 1k10 Rund postać żarzy się dziwnym blaskiem, który emituje tyle światła, co ognisko. Kolor zależny jest od Tradycji zaklęcia.", - "MINOR6": "Straszliwe szepty: Wykonaj Przeciętny (+20) Test Siły Woli. Jeśli się on nie powiedzie, postać otrzymuje 1 Punkt Zepsucia.", - "MINOR7": "Krwotok: Nos, oczy i uszy zaczynają obficie krwawić. Postać otrzymuje 1k10 poziomów Krwawienia.", - "MINOR8": "Trzęsienie duszy: Postać zostaje Powalona.", - "MINOR9": "Otwarcie: Wszystkie klamry i troki przy ciele rzucającego rozpinają się i rozwiązują, co powoduje, że spadają pasy, otwierają się sakwy i torby, odpadają kawałki pancerza itd.", - "MINOR10": "Krnąbrne odzienie: Ubrania postaci zaczynają się skręcać, jakby nagle otrzymały wolną wolę. Postać otrzymuje 1 poziom Pochwycenia, którego Siła równa jest 1k10x5.", - "MINOR11": "Klątwa abstynencji: Wszelki alkohol w promieniu 1k100 metrów psuje się, staje się gorzki i paskudny w smaku.", - "MINOR12": "Wyssanie duszy: Postać otrzymuje 1 poziom Zmęczenia, który utrzymuje się przez 1k10 godzin.", - "MINOR13": "Rozproszenie uwagi: Jeśli postać zaangażowana jest w walkę, staje się Zaskoczona. Jeśli nie jest to scena walki, postać ogarnia strach, serce wali jej jak młotem, nie jest w stanie skupić się na niczym przez kilka chwil.", - "MINOR14": "Bezbożne wizje: Przez krótką chwilę postać nawiedzają bluźniercze i bezbożne wizje. Postać otrzymuje 1 poziom Oślepienia i musi zdać Wymagający (+0) Test Opanowania albo otrzymuje kolejny poziom Oślepienia.", - "MINOR15": "Język w supeł: Wszystkie Testy językowe (w tym Testy Rzucenia Zaklęć) otrzymują karę -10 na 1k10 Rund.", - "MINOR16": "Zgroza!: Postać musi zdać Trudny (-20) Test Opanowania albo otrzymuje 1 poziom Paniki.", - "MINOR17": "Klątwa zepsucia: Postać otrzymuje 1 Punkt Zepsucia.", - "MINOR18": "Przesunięcie: Efekt rzuconego zaklęcia pojawia się 2k10 kilometrów od rzucającego. W zależności od MG, jeśli to możliwe, taka sytuacja powinna mieć odpowiednie konsekwencje.", + "MINOR5": "Mrożący oddech: Temperatura w twoim otoczeniu nagle spada i w powietrzu widać oddechy ludzi. Ludzie w promieniu Bonusu do Siły Woli muszą zdać Wymagający Test Opanowania (+0) lub otrzymają -10 do Umiejętności Strzeleckich, Zwinności i Zręczności z powodu zimna. Efekt utrzymuje się tylko w tym obszarze i trwa przez 1 minutę.", + "MINOR6": "Otwarcie: Wszystkie klamry i troki przy ciele rzucającego rozpinają się i rozwiązują, co powoduje, że spadają pasy, otwierają się sakwy i torby, odpadają kawałki pancerza itd.", + "MINOR7": "Krnąbrne odzienie: Ubrania postaci zaczynają się skręcać, jakby nagle otrzymały wolną wolę. Postać otrzymuje 1 poziom Pochwycenia, którego Siła równa jest 1k10x5.", + "MINOR8": "Klątwa abstynencji: Wszelki alkohol w promieniu 1k100 metrów psuje się, staje się gorzki i paskudny w smaku.", + "MINOR9": "Język w supeł: Wszystkie Testy językowe (w tym Testy Rzucenia Zaklęć) otrzymują karę -10 na 1k10 Rund.", + "MINOR10": "Rozproszenie uwagi: Jeśli postać zaangażowana jest w walkę, staje się Zaskoczona. Jeśli nie jest to scena walki, postać ogarnia strach, serce wali jej jak młotem, nie jest w stanie skupić się na niczym przez kilka chwil.", + "MINOR11": "Bezbożne wizje: Przez krótką chwilę postać nawiedzają bluźniercze i bezbożne wizje. Postać otrzymuje 1 poziom Oślepienia i musi zdać Wymagający (+0) Test Opanowania albo otrzymuje kolejny poziom Oślepienia.", + "MINOR12": "Przeklęty wzrok: Oczy postaci nabierają nienaturalnego koloru, odpowiedniego dla Tradycji zaklęcia, na 1k10 godzin. W tym czasie postać cierpi z powodu 1 poziomu Oślepienia, co nie może zostać wyleczone ani rozproszone żadnym sposobem.", + "MINOR13": "Krwotok: Nos, oczy i uszy zaczynają obficie krwawić. Postać otrzymuje 1 poziom Krwawienia.", + "MINOR14": "Straszliwe szepty: Wykonaj Przeciętny (+20) Test Siły Woli. Jeśli się on nie powiedzie, postać otrzymuje 1 Punkt Zepsucia.", + "MINOR15": "Zgroza!: Postać musi zdać Trudny (-20) Test Opanowania albo otrzymuje 1 poziom Paniki.", + "MINOR16": "Klątwa zepsucia: Postać otrzymuje 1 Punkt Zepsucia.", + "MINOR17": "Żołądkowa rewolucja: Wnętrzności zaczynają poruszać się w niekontrolowany sposób, a postać wypróżnia się wbrew swojej woli. Otrzymuje 1 poziom Zmęczenia, którego nie da się usunąć inaczej niż kąpielą i zmianą ubrania.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Wielopech: Wykonaj dwa rzuty i zastosuj odpowiednie efekty obydwu. Przerzuć, jeśli kolejny wynik będzie się mieścił w przedziale 91-100.", "MINOR20": "Fala Chaosu: Rzuć ponownie, ale tym razem porównaj efekt z Tabelą Większych Manifestacji.", "MAJOR1": "Upiorne głosy: Każdy w promieniu tylu metrów, ile wynosi Siła Woli postaci, słyszy mroczne, nęcące szepty, które są emanacją Dziedziny Chaosu. Wszystkie myślące stworzenia muszą zdać Przeciętny (+20) Test Opanowania albo otrzymują 1 Punkt Zepsucia.", - "MAJOR2": "Przeklęty wzrok: Oczy postaci nabierają nienaturalnego koloru, odpowiedniego dla Tradycji zaklęcia, na 1k10 godzin. W tym czasie postać cierpi z powodu 1 poziomu Oślepienia, co nie może zostać wyleczone ani rozproszone żadnym sposobem.", - "MAJOR3": "Wstrząs Eteru: Postać otrzymuje 1k10 Obrażeń, które ignorują Bonus z Wytrzymałości oraz Punkty Pancerza. Musi także zdać Przeciętny (+20) Test Odporności, w przeciwnym wypadku otrzyma również 1 poziom Oszołomienia.", - "MAJOR4": "Spacer śmierci: Wszędzie, gdzie stąpa postać, pojawia się śmierć. Przez najbliższe 1k10 godzin wszelkie rośliny obok postaci usychają i giną.", - "MAJOR5": "Żołądkowa rewolucja: Wnętrzności zaczynają poruszać się w niekontrolowany sposób, a postać wypróżnia się wbrew swojej woli. Otrzymuje 1 poziom Zmęczenia, którego nie da się usunąć inaczej niż kąpielą i zmianą ubrania.", - "MAJOR6": "Ogień duszy: Postać otrzymuje 1 poziom Podpalenia, trawiona przez potworne płomienie w kolorze Tradycji zaklęcia.", - "MAJOR7": "Dar języków: Postać przez 1k10 Rund trajkocze niezrozumiale. Podczas trwania tego efektu nie może porozumiewać się werbalnie ani podejmować Testów Rzucania Zaklęć, choć oprócz tego zachowuje się zupełnie normalnie.", - "MAJOR8": "Rój: Postać zostaje zaatakowana przez chmarę eterycznych szczurów, gigantycznych pająków, węży lub innych podobnych stworzeń (decyduje MG). Użyj standardowych charakterystyk, odpowiednich dla danego gatunku stworzenia, dodając Cechę Stworzenia Rój. Po 1k10 Rundach, jeśli nie zostały zniszczone wcześniej, stwory znikają.", - "MAJOR9": "Szmaciana lalka: Postać zostaje wyrzucona w powietrze i leci 1k10 metrów w losowym kierunku. Otrzymuje 1k10 Obrażeń ignorujących Punkty Pancerza, zostaje również Powalona.", - "MAJOR10": "Zmrożone kończyny: Jedna kończyna (losowa) zostaje zamrożona na 1k10 godzin. Przez ten czas jest zupełnie bezużyteczna, jakby została Amputowana.", - "MAJOR11": "Mroczna ślepota: Na 1k10 godzin postać traci swój Talent Percepcja Magiczna. Wszelkie Testy Splatania Magii otrzymują karę -20.", - "MAJOR12": "Chaotyczna dalekowzroczność: Otrzymujesz premiową pulę 1k10 Punktów Szczęścia (które mogą przekroczyć normalny limit). Za każdym razem, gdy postać korzysta z tych punktów, otrzymuje 1 Punkt Zepsucia. Wszelkie pozostałe Punkty Szczęścia zdobyte w ten sposób przepadają po zakończeniu sesji gry.", - "MAJOR13": "Lewitacja: Wiatry Magii porywają postać w powietrze. Na 1k10 minut unosi się 1k10 metrów nad ziemią. Inne postaci mogą ją przemieszczać siłą. Ponadto postać może poruszać się sama dzięki zaklęciom, skrzydłom i innym zabiegom, ale jeśli zostanie pozostawiona sama sobie, uniesie się z powrotem jak balonik. Lewitacja kończy się upadkiem.", - "MAJOR14": "Wymioty: Postać wymiotuje, wyrzucając z siebie o wiele więcej odrażająco śmierdzących wymiocin, niż mogłoby pomieścić ciało. Postać otrzymuje 1 poziom Oszołomienia, który utrzymuje się przez 1k10 Rund.", - "MAJOR15": "Trzęsienie Chaosu: Wszystkie stworzenia w promieniu 1k100 metrów muszą zdać Przeciętny (+20) Test Atletyki albo zostaną Powalone.", + "MAJOR2": "Wstrząs Eteru: Postać otrzymuje 1k10 Obrażeń, które ignorują Bonus z Wytrzymałości oraz Punkty Pancerza. Musi także zdać Przeciętny (+20) Test Odporności, w przeciwnym wypadku otrzyma również 1 poziom Oszołomienia.", + "MAJOR3": "Spacer śmierci: Wszędzie, gdzie stąpa postać, pojawia się śmierć. Przez najbliższe 1k10 godzin wszelkie rośliny obok postaci usychają i giną.", + "MAJOR4": "Przesunięcie: Efekt rzuconego zaklęcia pojawia się 2k10 kilometrów od rzucającego. W zależności od MG, jeśli to możliwe, taka sytuacja powinna mieć odpowiednie konsekwencje.", + "MAJOR5": "Ogień duszy: Postać otrzymuje 1 poziom Podpalenia, trawiona przez potworne płomienie w kolorze Tradycji zaklęcia.", + "MAJOR6": "Dar języków: Postać przez 1k10 Rund trajkocze niezrozumiale. Podczas trwania tego efektu nie może porozumiewać się werbalnie ani podejmować Testów Rzucania Zaklęć, choć oprócz tego zachowuje się zupełnie normalnie.", + "MAJOR7": "Rój: Postać zostaje zaatakowana przez chmarę eterycznych szczurów, gigantycznych pająków, węży lub innych podobnych stworzeń (decyduje MG). Użyj standardowych charakterystyk, odpowiednich dla danego gatunku stworzenia, dodając Cechę Stworzenia Rój. Po 1k10 Rundach, jeśli nie zostały zniszczone wcześniej, stwory znikają.", + "MAJOR8": "Szmaciana lalka: Postać zostaje wyrzucona w powietrze i leci 1k10 metrów w losowym kierunku. Otrzymuje 1k10 Obrażeń ignorujących Punkty Pancerza, zostaje również Powalona.", + "MAJOR9": "Zmrożone kończyny: Jedna kończyna (losowa) zostaje zamrożona na 1k10 godzin. Przez ten czas jest zupełnie bezużyteczna, jakby została Amputowana.", + "MAJOR10": "Mroczna ślepota: Na 1k10 godzin postać traci swój Talent Percepcja Magiczna. Wszelkie Testy Splatania Magii otrzymują karę -20.", + "MAJOR11": "Chaotyczna dalekowzroczność: Otrzymujesz premiową pulę 1k10 Punktów Szczęścia (które mogą przekroczyć normalny limit). Za każdym razem, gdy postać korzysta z tych punktów, otrzymuje 1 Punkt Zepsucia. Wszelkie pozostałe Punkty Szczęścia zdobyte w ten sposób przepadają po zakończeniu sesji gry.", + "MAJOR12": "Lewitacja: Wiatry Magii porywają postać w powietrze. Na 1k10 minut unosi się 1k10 metrów nad ziemią. Inne postaci mogą ją przemieszczać siłą. Ponadto postać może poruszać się sama dzięki zaklęciom, skrzydłom i innym zabiegom, ale jeśli zostanie pozostawiona sama sobie, uniesie się z powrotem jak balonik. Lewitacja kończy się upadkiem.", + "MAJOR13": "Wymioty: Postać wymiotuje, wyrzucając z siebie o wiele więcej odrażająco śmierdzących wymiocin, niż mogłoby pomieścić ciało. Postać otrzymuje 1 poziom Oszołomienia, który utrzymuje się przez 1k10 Rund.", + "MAJOR14": "Trzęsienie Chaosu: Wszystkie stworzenia w promieniu 1k100 metrów muszą zdać Przeciętny (+20) Test Atletyki albo zostaną Powalone.", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Zdrada w sercu: Mroczni Bogowie nakłaniają postać do wybitnie perfidnego czynu. Jeśli postać zaatakuje lub w inny sposób zdradzi sojusznika (z całą mocą i bez ograniczeń), odzyskuje wszystkie Punkty Szczęścia. Jeśli zmusi inną postać do wydania Punktu Przeznaczenia, sama otrzymuje 1 Punkt Przeznaczenia.", "MAJOR17": "Plugawa niemoc: Postać otrzymuje 1 Punkt Zepsucia, 1 poziom Zmęczenia i zostaje Powalona.", "MAJOR18": "Odór z piekła rodem: To jest dopiero smród! Postać otrzymuje Cechę Stworzenia Dekoncentrujący, a najpewniej też wrogość czegokolwiek, co ma zmysł powonienia. Efekt utrzymuje się przez 1k10 godzin.", @@ -636,10 +641,10 @@ "PHYSICAL-MUTATION4-HEAD1": "Bear: +1 Armour Point to the Head; gain the Bite +9 Creature Trait", "PHYSICAL-MUTATION4-HEAD2": "Boar: +1 Armour Point to the Head; gain the Horns (Tusks) Creature Trait", "PHYSICAL-MUTATION4-HEAD3": "Bull: +1 Armour Point to the Head; gain the Horns Creature Trait", - "PHYSICAL-MUTATION4-HEAD4": "Dog: Gain the Bite +5 Creature Trait", - "PHYSICAL-MUTATION4-HEAD5": "Eagle: Gain the Bite +4 Creature Trait", - "PHYSICAL-MUTATION4-HEAD6": "Rat: Gain the Bite +4 and Infected Creature Traits", - "PHYSICAL-MUTATION4-HEAD7": "Giant Spider: Gain the Bite +3 and Venom (Average) Creature Traits", + "PHYSICAL-MUTATION4-HEAD4": "Pies: Zyskujesz Cechę Ugryzienie +5", + "PHYSICAL-MUTATION4-HEAD5": "Orzeł: Zyskujesz Cechę Ugryzienie +4", + "PHYSICAL-MUTATION4-HEAD6": "Szczur: Zyskujesz Cechy Ugryzienie +4 i Zaraza", + "PHYSICAL-MUTATION4-HEAD7": "Olbrzymi Pająk: Zyskujesz Cechy Ugryzienie +3 i Jad (Przeciętny)", "PHYSICAL-MUTATION4-HEAD8": "Goat: Gain the Horns Creature Trait ", "PHYSICAL-MUTATION4-HEAD9": "Wolf: +1 Armour Point to the Head; gain the Bite +6 Creature Trait; gain the Acute Senses (Smell) Talen", "PHYSICAL-MUTATION4-HEAD10": "Snake: +1 Armour Point to the Head; gain the Bite +3 and Venom (Average) Creature Traits", @@ -653,15 +658,15 @@ "PHYSICAL-MUTATION12": "Carapace: +1 Armour Point on two random Hit Locations", "PHYSICAL-MUTATION13": "Claws: Hands count as a Creature Weapon of Damage equal to your SB", "PHYSICAL-MUTATION14": "Cloud of Flies: Gain the Distracting Creature Trait", - "PHYSICAL-MUTATION15": "Corpulent: –1 Movement, +5 Strength, +5 Toughness", + "PHYSICAL-MUTATION15": "Otyłość: Szybkość –1, Siła +5, Wytrzymałość +5", "PHYSICAL-MUTATION16": "Crested Head: Gain the Attractive Talent when dealing with Mutants and Beastmen", "PHYSICAL-MUTATION17": "Deafening Cry: Gain the Distracting Creature Trait", - "PHYSICAL-MUTATION18": "Distended Digits: +10 Dexterity", + "PHYSICAL-MUTATION18": "Wydłużone palce: Zręczność +10", "PHYSICAL-MUTATION19": "Elastic Arms: You may count any melee weapon as having a Reach up to 2 steps longer", - "PHYSICAL-MUTATION20": "Emaciated: –10 Strength, +5 Agility", + "PHYSICAL-MUTATION20": "Wychudzone ciało: Siła –10, Zwinność +5", "PHYSICAL-MUTATION21": "Evil Eye: You may cast the Evil Eye Spell (WFRP, page 256) without performing a Test by spending a Fortune Point; you immediately suffer a Minor Miscast", - "PHYSICAL-MUTATION22": "Extra Leg Joints: +5 Agility", - "PHYSICAL-MUTATION23": "Extra Mouth: Roll on the Hit Location table to see where", + "PHYSICAL-MUTATION22": "Dodatkowe stawy w nogach: Zwinność +5", + "PHYSICAL-MUTATION23": "Dodatkowe usta: Rzuć kośćmi, by ustalić Miejsce Trafienia, w którym się pojawią", "PHYSICAL-MUTATION24": "Eyestalks: See over/around obstacles ", "PHYSICAL-MUTATION25": "Fleshy Tentacle: Gain the Tentacles Creature Trait", "PHYSICAL-MUTATION26": "Foul Odour: Gain the Distracting Creature Trait", @@ -679,7 +684,7 @@ "PHYSICAL-MUTATION38": "Multiple Arms: Gain one Free Attack", "PHYSICAL-MUTATION39": "Multiple Legs: +1 Movement", "PHYSICAL-MUTATION40": "One Eye: –20 Ballistic Skill", - "PHYSICAL-MUTATION41": "Patchy Feathers: Roll on the Hit Location table twice to see where", + "PHYSICAL-MUTATION41": "Niejednolite opierzenie: Rzuć dwukrotnie, by ustalić Miejsce Trafienia porosłe pierzem", "PHYSICAL-MUTATION42": "Pin Head: Gain the Stupid Creature Trait", "PHYSICAL-MUTATION43": "Pointed Head: Gain the Stupid Creature Trait; you cannot wear a helmet", "PHYSICAL-MUTATION44": "Rearranged Face: Gain the Fear 1 Creature Trait; Characters trying to determine if you are lying suffer a –20 penalty to Intuition", @@ -692,49 +697,49 @@ "PHYSICAL-MUTATION51": "Tail: Gain the Tail Attack +3 Creature Trait", "PHYSICAL-MUTATION52": "Thorny Scales: +1 Armour Points to all locations", "PHYSICAL-MUTATION53": "Three Eyes: Gain the Acute Sense (Vision) Talent", - "PHYSICAL-MUTATION54": "Transparent Skin: Gain the Fear 2 Creature Trait", + "PHYSICAL-MUTATION54": "Przezroczysta skóra: Zyskujesz Cechę Stworzenia Strach 2", "PHYSICAL-MUTATION55": "Two Heads: Gain the Ambidextrous Talent", - "PHYSICAL-MUTATION56": "Uneven Horns: +1 Armour Points to the Head; counts as a Creature Weapon of Damage equal to your SB", + "PHYSICAL-MUTATION56": "Nierówne rogi: +1 Punkt Pancerza na głowie. Postać liczy się, jakby posiadała Cechę Stworzenia Broń o współczynniku obrażeń +BS (patrz strona 343)", "PHYSICAL-MUTATION57": "Unusual Skin: Odd colour or texture: orange, striped, spotted, warty, etc.", "PHYSICAL-MUTATION58": "Warp Frenzy: Gain the Frenzy Creature Trait; whilst Frenzied, temporarily gain another random physical mutation", "PHYSICAL-MUTATION59": "Webbed Feet: Gain the Amphibious Creature Trait", - "PHYSICAL-MUTATION60": "Weeping Pus: Roll on the Hit Location Table to see from where", + "PHYSICAL-MUTATION60": "Sącząca się ropa: Rzuć k100, by ustalić Miejsce Trafienia, z którego się sączy", "PHYSICAL-MUTATION61": "Whiskered Snout: +10 Track", "PHYSICAL-MUTATION62": "Wings: Gain the Flight 60 Creature Trait", "MENTAL-MUTATION1": "Aethyric Leak: Gain the Witch! Talent; –5 Fellowship, –5 Intelligence", "MENTAL-MUTATION2": "Animalistic Psyche: Gain the Bestial Creature Trait for 1d10 hours if you fail a Test derived from Willpower", - "MENTAL-MUTATION3": "Awful Cravings: –5 Fellowship, –5 Willpower", + "MENTAL-MUTATION3": "Odrażające zachcianki: Ogłada –5, Siła Woli –5", "MENTAL-MUTATION4": "Beacon of Corruption: Whenever subject to Psychology (WFRP, page 190), gain the Corruption (Minor) Creature Trait; –10 Fellowship", - "MENTAL-MUTATION5": "Beast Within: +10 Willpower, –5 Fellowship, –5 Intelligence", + "MENTAL-MUTATION5": "Wewnętrzna bestia: Siła Woli +10, Ogłada –5, Inteligencja –5", "MENTAL-MUTATION6": "Beyond Pain: Gain the Painless Creature Trait; –20 Initiative, –20 Intelligence", "MENTAL-MUTATION7": "Blasphemous Soul: Gain the Hatred (Religion) Creature Trait; +10 Willpower", "MENTAL-MUTATION8": "Blasted Mind: Gain the Immunity to Psychology Creature Trait for 1d10 Rounds whenever you would take a Broken Condition, afterwards take 1d10 Broken Conditions", - "MENTAL-MUTATION9": "Chaotic Dreams: Gain the Fatigued Condition for the first two hours every day", - "MENTAL-MUTATION10": "Crawling Skin: –5 Initiative, –5 Dexterity", - "MENTAL-MUTATION11": "Fantasist: –5 Initiative, –5 Willpower", + "MENTAL-MUTATION9": "Chaotyczne sny: Postać przez pierwsze 2 godziny po śnie uznawana jest za Zmęczoną", + "MENTAL-MUTATION10": "Nieustanne dreszcze: Inicjatywa –5, Zręczność –5", + "MENTAL-MUTATION11": "Mitomania: Inicjatywa –5, Siła Woli –5", "MENTAL-MUTATION12": "Fitful Hatred: Gain the Hatred (Target) Creature Trait. Roll on the Fixations Table once per day for the Target", "MENTAL-MUTATION13": "Glorious Corruption: Gain a Fatigued Condition for every week you go without gaining a Corruption Point, or where you are not responsible for another Character gaining a Corruption Point; lose all Fatigued Conditions if either situation occurs", - "MENTAL-MUTATION14": "Hateful Impulses: Subject to Animosity (WFRP, page 190) to all not of your species", - "MENTAL-MUTATION15": "Hollow Heart: +10 Willpower, –10 Fellowship", + "MENTAL-MUTATION14": "Nienawistne popędy: Wrogość (patrz Psychologia) wobec wszystkich istot poza rasą postaci", + "MENTAL-MUTATION15": "Bezduszność: +10 Siła woli, -10 Drużyna", "MENTAL-MUTATION16": "Hounds of Despair: Gain the Malaise Symptom for 1d10 hours if you fail a Test derived from Willpower", "MENTAL-MUTATION17": "Hurried Masochism: Gain the Belligerent Creature Trait; you cannot Flee (WFRP, page 165) voluntarily", - "MENTAL-MUTATION18": "Jealous Thoughts: –10 Fellowship", + "MENTAL-MUTATION18": "Zazdrosne myśli: Ogłada –10", "MENTAL-MUTATION19": "Lingering Foulness: Gain the Nausea Symptom for 1d10 hours after interacting with filth", "MENTAL-MUTATION20": "Lonely Spirit: –10 to any Test when alone", - "MENTAL-MUTATION21": "Mental Blocks: –10 Intelligence", + "MENTAL-MUTATION21": "Blokada psychiczna: Inteligencja –10", "MENTAL-MUTATION22": "Mindless Wandering: –10 Intelligence, +10 Willpower Additionally, Gain the Stupid Creature Trait when alone.", "MENTAL-MUTATION23": "Monstrous Paranoia: Gain the Skittish Creature Trait; +10 Initiative", "MENTAL-MUTATION24": "Panicked Urgency: –10 Willpower, +10 Agility", "MENTAL-MUTATION25": "Ravenous Hunger: Gain the Hungry Creature Trait", - "MENTAL-MUTATION26": "Shaky Morale: Gain the Broken Condition if you fail a Test derived from Willpower", + "MENTAL-MUTATION26": "Chwiejne morale: Za każdym razem, gdy postaci nie powiedzie się Test Siły Woli, otrzymuje 1 poziom Paniki", "MENTAL-MUTATION27": "Soul Sickness: Gain the Convulsions Symptom for 1d10 hours if you fail a Test derived from Willpower", - "MENTAL-MUTATION28": "Suspicious Mind: –5 Initiative, –5 Intelligence", + "MENTAL-MUTATION28": "Paranoja: –5 Inicjatywa, –5 Inteligencja", "MENTAL-MUTATION29": "Terrible Phobia: Gain the Afraid (Target) Creature Trait, rolling on the Fixations Table to determine the Target", - "MENTAL-MUTATION30": "Thrill Seeker: +10 Willpower, –10 Initiative", - "MENTAL-MUTATION31": "Tortured Visions: +10 Willpower, –10 Initiative", - "MENTAL-MUTATION32": "Totally Unhinged: –20 Fellowship, +10 Willpower", - "MENTAL-MUTATION33": "Unending Malice: –10 to any Test not hurting another; +10 on Tests to hurt", - "MENTAL-MUTATION34": "Worried Jitters: +5 Agility, –5 Fellowship", + "MENTAL-MUTATION30": "Uzależnienie od adrenaliny: Siła Woli +10, Inicjatywa –10", + "MENTAL-MUTATION31": "Dręczące wizje: Inicjatywa –10", + "MENTAL-MUTATION32": "Kompletny świr: Ogłada –20, Siła Woli +10", + "MENTAL-MUTATION33": "Złe zamiary: –10 do Testów, które nie mają na celu krzywdzenia innych; +10, jeśli zamiarem jest wyrządzenie krzywdy", + "MENTAL-MUTATION34": "Drżączka: Zwinność +5, Ogłada –5", "FIXATION2": "Przedmioty nieożywione", "FIXATION3": "Ubóstwo", "FIXATION4": "Ognia", @@ -1005,14 +1010,14 @@ "BLAST-EFFECT": "Odłamkowa: Obr dla każdego w promieniu ", "ACCURATE": "Celna", "DISTRACT": "Dekoncentrująca", - "DISTRACT-EFFECT": "Distract: Dmg or push back", + "DISTRACT-EFFECT": "Dekoncentrująca: Zadaj Obrażenia lub odepchnij wroga", "WRAP": "Plącząca", - "WRAP-EFFECT": "Wrap: Defender Opposed test -1 SL Mod", + "WRAP-EFFECT": "Plącząca: Obrońca -1 PS", "ENTANGLE": "Unieruchamiająca", "ENTANGLE-EFFECT": "Unieruchamiająca: Przy trafieniu +1 Unieruchomienie (Siła = BS)", "REPEATER": "Wielostrzał", "TRAP-BLADE": "Łamacz mieczy", - "TRAP-BLADE-EFFECT": "Or Trap Blade : Opp Str test", + "TRAP-BLADE-EFFECT": "Lub zablokuj Broń: Test Przeciw Siły", "BLACKPOWDER": "Prochowa", "BLACKPOWDER-EFFECT": "Opanowanie (+20) lub +1 Panika", "AMBIDEXTROUS": "Oburęczność", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Wtargnięcie z Włamaniem", "B&E": "WzW", "BRIBERY": "Przekupstwo", + "BRIBER": "Łapówkarz", "BERSERK-CHARGE": "Berserkerska Szarża", "CARDSHARP": "Szuler", "CAREFUL-STRIKE": "Cios Mierzony", @@ -1070,9 +1076,9 @@ "DISTRACT_TALENT": "Rozproszenie Uwagi", "DISTRACT-TALENT-DESC1": "Odwrócenie Uwagi: Cel wykonuje Test Opanowania", "DISTRACT-TALENT-DESC2": "Jeśli Cel przegra to nie może zbierać przewagi do końca następnej Rundy.", - "BEAT-BLADE-TALENT-DESC1": "Beat Blade: Test is not Opposed", - "BEAT-BLADE-TALENT-DESC2": "If success Target loses 1 Adv, +1 for each +SL. Does not work Vs Large/Unarmed", - "BEAT-BLADE-TALENT-DESC3": "If success Target loses 1 Group Adv, +1 if >5SL. Does not work Vs Large/Unarmed", + "BEAT-BLADE-TALENT-DESC1": "Zbicie broni: Test nie jest Przeciwstawny", + "BEAT-BLADE-TALENT-DESC2": "Jeśli Sukces, Cel traci 1 Przewagi (+1/+PS). Nie działa przeciwko Dużym/Nieuzbrojonym", + "BEAT-BLADE-TALENT-DESC3": "Jeśli Sukces, Cel traci 1 Przewagę Grupową (+1/+5 PS). Nie działa przeciwko Dużym/Nieuzbrojonym", "DOOMED": "Wróżba Losu", "DRILLED": "Musztra", "DRILLED-EFFECT": "Musztra: Jeśli Test nieudany, zachowaj", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magiczna", "MAGICAL-EFFECTS": "Efekty magiczne", "MAGICAL-SENSE": "Wykrywanie Magii", + "MAGICAL-ASSISTANT": "Magiczny Asystent", "MAGIC-RESISTANCE": "Odporność na Magię", "MAGNUM-OPUS": "Arcydzieło", "MARKSMAN": "Strzelec Wyborowy", @@ -1160,7 +1167,7 @@ "REVERSAL": "Odwrócenie Szans", "RIPOSTE": "Riposta", "USE-RIPOSTE": "Użyj Riposty", - "USE-SHIELDBASH": "Use Shield Bash", + "USE-SHIELDBASH": "Użyj Uderzenia tarczą", "USE-FURIOUS-ASSAULT": "Użyj Wściekłego Ataku", "RIVER-GUIDE": "Pilot Rzeczny", "ROUGHRIDER": "Urodzony w Siodle", @@ -1178,7 +1185,7 @@ "SHARP": "Czujny", "SHARPSHOOTER": "Strzał w Dziesiątkę", "SNIPER": "Snajper", - "SHIELD-BASH": "Shield Bash", + "SHIELD-BASH": "Uderzenie tarczą", "SHIELDSMAN": "Tarczownik", "SHIELDSMAN-EFFECT": "Shieldsman: If Opp Roll lost", "SHIELDSMAN-EFFECT2": "Spend 2 Adv to push 2 ft or do Dmg", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Odporność Psychiczna", "STRONG-SWIMMER": "Świetny Pływak", "SUAVE": "Charyzmatyczny", - "SUFFUSED-WITH-UGLU": "Dostrojony do Ulgu", + "SUFFUSED-WITH": "Dostrojony do", + "AQSHY-FIRE": "Aqshy (Ognia)", + "AZYR-HEAVENS": "Azyr (Niebios)", + "CHAMON-METAL": "Chamon (Metalu)", + "GHUR-BEASTS": "Ghur (Zwierząt)", + "GHYRAN-LIFE": "Ghyran (Życia)", + "HYSH-LIGHT": "Shyish (Światła)", + "SHYISH-DEATH": "Shyish (Śmierci)", + "UGLU-SHADOWS": "Ulgu (Cienia)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Dostrojony do (Wiatru)", + "WIND": "Wiatr", + "RITUALS": "Rytuały", "SUPER-NUMERATE": "Geniusz Arytmetyczny", "SUPPORTIVE": "Pomocny", "SURE-SHOT": "Strzał Przebijający", @@ -1209,7 +1235,7 @@ "DANGEROUS": "Niebezpieczna", "IMPRECISE": "Nieprecyzyjna", "UNDAMAGING": "Tępa", - "UNDAMAGING-EFFECT": "Obrońca: PZx2, min Obr = 0", + "UNDAMAGING-EFFECT": "Tępa: Obrońca PZx2, bez min Obr", "UNBREAKABLE": "Niełamliwa", "STRIKE-TO-INJURE": "Morderczy Atak", "STRIKE-TO-STUN": "Ogłuszenie", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Niewzruszony", "VERY-RESILIENT": "Niezwykle Odporny", "VERY-STRONG": "Bardzo Silny", + "VICE": "Nałóg", "WAR-LEADER": "Wódz", "WAR-LEADER-EFFECT": "Cele otrzymują +", "WAR-LEADER-EFFECT2": "PS do Testów Siły Woli (raz na rundę)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Tradycja Nurgla", "SLAANESH-LORE": "Tradycja Slaanesha", "TZEENTCH-LORE": "Tradycja Tzeentcha", + "GREATMAW-LORE": "Tradycja Wielkiej Paszczy", "LEARNED-SPELLS": "Nauczone zaklęcia", "SPELL-SELECT": "Wybierz zaklęcie", "SPELL-NAME": "Nazwa zaklęcia", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Struga zepsucia", "SPELL-ACQUIESCENCE": "Idylla", "SPELL-TREASON-OF-TZEENTCH": "Zdradliwość Tzeentcha", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Wybierz Błogosławieństwo", "BLESSING-CUSTOM": "Niestandardowe Błogosławieństwo", "BLESSING-BATTLE": "Błogosławieństwo Bitwy", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Błogosławieństwo Nieustępliwości", "BLESSING-WIT": "Błogosławieństwo Sprytu", "BLESSING-WIZDOM": "Błogosławieństwo Mądrości", + "RITUAL-NAME": "Nazwa rytuału", + "RITUAL-SELECT": "Wybierz rytuał", + "RITUAL-CUSTOM": "Niestandardowy rytuał", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Stworzenie kamienia mocy", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Stworzenie konstruktu", + "RITUAL-CREATE-FAMILIAR": "Stworzenie chowańca", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Przyzwanie demona", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Usuń klątwę", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Składniki rytuału", + "RITUAL-CONDITIONS": "Warunki rytuału", + "RITUAL-SACRIFICES": "Ofiary rytualne", + "RITUAL-CONSEQUENCE": "Konsekwencje rytuału", + "RITUAL-DESCRIPTION": "Opis rytuału", + "GRIMMC1": "Wryte w pamięć: Czarodziej ma wrażenie, jakby jego głowa eksplodowała z bólu i otrzymuje 1k10 + 1 obrażenia ignorujące PP. Czarodziej dodatkowo natychmiast zapamiętuje zaklęcie.", + "GRIMMC2": "Przeraźliwy Ból: Czarodziej czuje przeraźliwy bół, otrzymuje 1k10 + 4 Obrażeń ignorujących PP.", + "GRIMMC3": "Brak efektu", + "GRIMMC4": "Poszło z dymem: Magiczna energia wypala stronę z Księgi Zaklęć, zaklęcie zostaje utracone.", + "GRIMMC5": "Spalenie Księgi: Księga Zaklęć zostaje zniszczona.", + "GRIMOIRE-MISCAST": "Manifestacja Księgi Zaklęć", + "NOT-WORN": "Niewyposażony", + "UNEQUIPED": "Niewyposażony", + "ALL-WINDS": "Wszystkie wiatry", + "WIZARDS-ROBES": "Szaty czarodzieja", + "ENCHANTED-STAFF": "Magiczny Kostur", + "ENCHANTED-STAFF-BONUS": "Bonus Magicznego Kostura", "STAR-SIGN": "ZNAK GWIEZDNY", "MAGIC-LORE": "Tradycja", + "SELECT": "Wybierz", "PSYCHOLOGYCAP": "PSYCHOLOGIA", "DRUNK": "Pijany", "UNARMED": "Pięści i kopniaki", @@ -1459,8 +1532,9 @@ "MEMORISED": "Zapamiętane", "NOT-MEMORISED": "Niezapamiętane", "CHANNELING-MOD": "Modyfikator Splatania", + "CN-MOD": "Modyfikator PZ", "OVERCHANNELING-DISC": "Zasady splatania", "OVERCHANNELING-RULE1": "Podręcznik Podstawowy (domyślne)", "OVERCHANNELING-RULE2": "Dodatkowe sukcesy przy Splataniu dodają się do Rzucania", - "RANGED-SIZE-MOD": "Mod. rozmiaru" + "RANGED-SIZE-MOD": "Ograniczenie PS (rozmiar)" } \ No newline at end of file diff --git a/Warhammer 4e Character Sheet/translations/pt.json b/Warhammer 4e Character Sheet/translations/pt.json index 4e87e8fdaf..92b77a8f2a 100644 --- a/Warhammer 4e Character Sheet/translations/pt.json +++ b/Warhammer 4e Character Sheet/translations/pt.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Peso", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/ru.json b/Warhammer 4e Character Sheet/translations/ru.json index 0760fbf345..0742f4abeb 100644 --- a/Warhammer 4e Character Sheet/translations/ru.json +++ b/Warhammer 4e Character Sheet/translations/ru.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Скрытность", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Дальность", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/sl.json b/Warhammer 4e Character Sheet/translations/sl.json index 0c0cdb825e..72256d6bec 100644 --- a/Warhammer 4e Character Sheet/translations/sl.json +++ b/Warhammer 4e Character Sheet/translations/sl.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/sv.json b/Warhammer 4e Character Sheet/translations/sv.json index 8a7f8e8397..54025fea55 100644 --- a/Warhammer 4e Character Sheet/translations/sv.json +++ b/Warhammer 4e Character Sheet/translations/sv.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/tr.json b/Warhammer 4e Character Sheet/translations/tr.json index 1f78ac18c6..ff0e742e8f 100644 --- a/Warhammer 4e Character Sheet/translations/tr.json +++ b/Warhammer 4e Character Sheet/translations/tr.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/uk.json b/Warhammer 4e Character Sheet/translations/uk.json index 0c0cdb825e..72256d6bec 100644 --- a/Warhammer 4e Character Sheet/translations/uk.json +++ b/Warhammer 4e Character Sheet/translations/uk.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "Stealth", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "Reach", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/Warhammer 4e Character Sheet/translations/zh.json b/Warhammer 4e Character Sheet/translations/zh.json index 7ec2288577..1d9ae08901 100644 --- a/Warhammer 4e Character Sheet/translations/zh.json +++ b/Warhammer 4e Character Sheet/translations/zh.json @@ -151,6 +151,7 @@ "PRAY": "Pray", "STEALTH": "潛行", "ANIMALCARE": "Animal Care", + "AUGURY": "Augury", "CHARM": "Charm", "CHARMANIMAL": "Charm Animal", "CONSUMEALCOHOL": "Consume Alcohol", @@ -174,6 +175,7 @@ "RESEARCH": "Research", "HYPNOTISM": "Hypnotism", "NAVIGATION": "Navigation", + "PSYCHOMETRY": "Psychometry", "PICKLOCK": "Pick Lock", "SETTRAP": "Set Trap", "SLEIGHTOFHAND": "Sleight of Hand", @@ -232,6 +234,7 @@ "CHANNELLINGWITCH": "Channelling (Witch)", "CHANNELLINGDARK": "Channelling (Dark)", "CHANNELLINGCHAOS": "Channelling (Chaos)", + "CHANNELLINGGREATMAW": "Channelling (Great Maw)", "CHANNELLINGMISC": "Channelling (Misc)", "FIRE": "Fire", "MAGIC-FIRE-EFFECT": "May inflict +1 Ablaze OnHit", @@ -257,6 +260,8 @@ "WITCH": "Witch", "DARK": "Dark", "CHAOS": "Chaos", + "GREAT-MAW": "Great Maw", + "MAGIC-GREAT-MAW-EFFECT": "If Offering Used - Roll 1d10, if 10 or >= to CN, recover CN wounds", "ABBREVIATE-ENCUMBRANCE": "Enc", "REACH": "及遠", "IMPACT": "Impact", @@ -547,37 +552,37 @@ "MINOR2": "Soured Milk: All milk within 1d100 yards goes sour instantly. ", "MINOR3": "Blight: Willpower Bonus fields within Willpower Bonus miles suffer a blight, and all crops rot overnight.", "MINOR4": "Soulwax: Your ears clog instantly with a thick wax. Gain 1 Deafened Condition, which is not removed until someone cleans them for you (with a successful use of the Heal Skill). ", - "MINOR5": "Witchlight: You glow with an eerie light related to your Lore, emitting as much light as a large bonfire, which lasts for 1d10 Rounds.", - "MINOR6": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", - "MINOR7": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", - "MINOR8": "Soulquake: Gain the Prone Condition.", - "MINOR9": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", - "MINOR10": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", - "MINOR11": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", - "MINOR12": "Souldrain: Gain 1 Fatigued Condition, which lasts for 1d10 hours.", - "MINOR13": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", - "MINOR14": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", - "MINOR15": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", - "MINOR16": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", - "MINOR17": "Curse of Corruption: Gain 1 Corruption point.", - "MINOR18": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MINOR5": "Freezing Breath: The temperature in your immediate vicinity falls suddenly and people’s breath can be seen in the air. People within Willpower Bonus yards of you must make a Challenging (+0) Endurance Test or suffer –10 Ballistic Skill, Agility, and Dexterity due to the sudden cold until they leave the area. The effect lasts for 1 minute.", + "MINOR6": "Unfasten: On your person, every buckle unfastens, and every lace unties, which may cause belts to fall, pouches to open, bags to fall, and armour to slip.", + "MINOR7": "Warward Garb: your clothes seem to writhe with a mind of their own. Receive 1 Entangled Condition with a Strength of 1d10×5 to resist.", + "MINOR8": "Curse of Temperance: All alcohol within 1d100 yards goes bad, tasting bitter and foul.", + "MINOR9": "Cloying Tongue: All Language Tests (including Casting Tests) suffer a –10 penalty for 1d10 Rounds.", + "MINOR10": "Driven to Distraction: If engaged in combat, gain the Surprised Condition. Otherwise, you are completely startled, your heart racing, and unable to concentrate for a few moments.", + "MINOR11": "Unholy Visions: Fleeting visions of profane and unholy acts harass you. Receive a Blinded Condition; pass a Challenging (+0) Cool Test or gain another.", + "MINOR12": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", + "MINOR13": "Rupture: Your nose, eyes, and ears bleed profusely. Gain 1d10 Bleeding Conditions.", + "MINOR14": "Fell Whispers: Pass a Routine (+20) Willpower Test or gain 1 Corruption point.", + "MINOR15": "The Horror!: Pass a Hard (–20) Cool Test or gain 1 Broken Condition.", + "MINOR16": "Curse of Corruption: Gain 1 Corruption point.", + "MINOR17": "Intestinal Rebelion: Your bowels move uncontrollably and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", + "MINOR18": "Marked by Magic: You suffer from an arcane mark, associated with the Wind of Magic you worked. See page 58 for Marks of Hysh, page 70 for Marks of Chamon, page 82 for Marks of Ghyran, page 94 for marks of Azyr, page 106 for Marks of Ulgu, page 118 for Marks of Shyish, page 130 for Marks of Aqshy, and page 142 for Marks of Ghur. If no Arcane Marks Table exists for your magical tradition, roll again on the Major Miscast Table.", "MINOR19": "Multiplying Misfortune: Roll twice on this table, rerolling any results between 91-00.", "MINOR20": "Cascading Chaos: Roll again on the Major Miscast Table.", "MAJOR1": "Ghostly Voices: Everyone within Willpower yards hears darkly seductive whispering of voices emanating from the Realm of Chaos. All sentient creatures must pass an Average (+20) Cool Test or gain 1 Corruption point.", - "MAJOR2": "Hexeyes: Your eyes turn an unnatural colour associated with your Lore for 1d10 hours. While your eyes are discoloured, you have 1 Blinded Condition that cannot be resolved by any means.", - "MAJOR3": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", - "MAJOR4": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", - "MAJOR5": "Intestinal Rebellion: Your bowels move uncontrollably, and you soil yourself. Gain 1 Fatigued Condition, which cannot be removed until you can change your clothes and clean yourself up.", - "MAJOR6": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", - "MAJOR7": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", - "MAJOR8": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", - "MAJOR9": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", - "MAJOR10": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", - "MAJOR11": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", - "MAJOR12": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", - "MAJOR13": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", - "MAJOR14": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", - "MAJOR15": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR2": "Aethyric Shock: You suffer 1d10 wounds, ignoring your Toughness Bonus and Armour Points. Pass an Average (+20) Endurance Test, or also gain a Stunned Condition.", + "MAJOR3": "Death Walker: Your footsteps leave death in their wake. For the next 1d10 hours, any plant life near you withers and dies.", + "MAJOR4": "Double Trouble: The effect of the spell you cast occurs elsewhere within 1d10 miles. At the GM’s discretion, where possible it should have consequences.", + "MAJOR5": "Soulfire: Gain an Ablaze Condition, as you are wreathed in unholy flames with a colour associated with your Lore.", + "MAJOR6": "Speak In Tongues: You gabble unintelligibly for 1d10 rounds. During this time, you cannot communicate verbally, or make any Casting Tests, although you may otherwise act normally.", + "MAJOR7": "Swarmed: You are engaged by a swarm of aethyric Rats, Giant Spiders, Snakes, or similar (GM’s choice). Use the standard profiles for the relevant creature type, adding the Swarm Creature Trait. After 1d10 rounds, if not yet destroyed, the swarm retreats. ", + "MAJOR8": "Ragdoll: You are flung 1d10 yards through the air in a random direction, taking 1d10 wounds on landing, ignoring Armour Points, and receiving the Prone Condition.", + "MAJOR9": "Limb Frozen: One limb (randomly determined) is frozen in place for 1d10 hours. The limb is useless, as if it had been Amputated (see page 180).", + "MAJOR10": "Darkling Sight: You lose the benefit of the Second Sight Talent for 1d10 hours. Channelling Tests also suffer a penalty of –20 for the duration. ", + "MAJOR11": "Chaotic Foresight: Gain a bonus pool of 1d10 Fortune points (this may take you beyond your natural limit). Every time you spend one of these points, gain 1 Corruption point. Any of these points remaining at the end of the session are lost. ", + "MAJOR12": "Levitation: You are borne aloft on the Winds of Magic, floating 1d10 yards above the ground for 1d10 minutes. Other characters may forcibly move you, and you may move using spells, wings or similar, but will continually return to your levitating position if otherwise left alone. Refer to the Falling rules (see page 166) for what happens when Levitation ends. ", + "MAJOR13": "Reguritation: You spew uncontrollably, throwing up far more foul-smelling vomitus than your body can possibly contain. Gain the Stunned Condition, which lasts for 1d10 Rounds. ", + "MAJOR14": "Chaos Quake: All creatures within 1d100 yards must pass an Average (+20) Athletics Test or gain the Prone Condition. ", + "MAJOR15": "Forgetfulness: The spell you are trying to cast is lost to your memory. If you had previously memorised the spell, you no longer recall it and must memorise it again. If casting from a grimoire, the page upon which the spell is written bursts into flames. The spell is lost and, unless appropriate action is taken quickly, the grimoire receives an Ablaze Condition.", "MAJOR16": "Traitor's Heart: The Dark Gods entice you to commit horrendous perfidy. Should you attack or otherwise betray an ally to the full extent of your capabilities, regain all Fortune points. If you cause another character to lose a Fate Point, gain +1 Fate Point. ", "MAJOR17": "Foul Enfeeblement: Gain 1 Corruption point, the Prone Condition, and a Fatigued Condition", "MAJOR18": "Hellish Stench: You now smell really bad! You gain the Distracting Creature Trait (see page 339), and probably the enmity of anyone with a sense of smell. This lasts for 1d10 hours. ", @@ -1035,6 +1040,7 @@ "BREAK-AND-ENTER": "Break & Enter", "B&E": "B&E", "BRIBERY": "Bribery", + "BRIBER": "Briber", "BERSERK-CHARGE": "Berserk Charge", "CARDSHARP": "Cardsharp", "CAREFUL-STRIKE": "Careful Strike", @@ -1126,6 +1132,7 @@ "MAGICAL": "Magical", "MAGICAL-EFFECTS": "Magical Effects", "MAGICAL-SENSE": "Magical Sense", + "MAGICAL-ASSISTANT": "Magical Assistant", "MAGIC-RESISTANCE": "Magic Resistance", "MAGNUM-OPUS": "Magnum Opus", "MARKSMAN": "Marksman", @@ -1199,7 +1206,26 @@ "STRONG-MINDED": "Strong-minded", "STRONG-SWIMMER": "Strong Swimmer", "SUAVE": "Suave", - "SUFFUSED-WITH-UGLU": "Suffused With Ulgu", + "SUFFUSED-WITH": "Suffused With", + "AQSHY-FIRE": "Aqshy (Fire)", + "AZYR-HEAVENS": "Azyr (Heavens)", + "CHAMON-METAL": "Chamon (Metal)", + "GHUR-BEASTS": "Ghur (Beasts)", + "GHYRAN-LIFE": "Ghyran (Life)", + "HYSH-LIGHT": "Hysh (Light)", + "SHYISH-DEATH": "Shyish (Death)", + "UGLU-SHADOWS": "Uglu (Shadows)", + "AQSHY": "Aqshy", + "AZYR": "Azyr", + "CHAMON": "Chamon", + "GHUR": "Ghur", + "GHYRAN": "Ghyran", + "HYSH": "Hysh", + "SHYISH": "Shyish", + "UGLU": "Uglu", + "SUFFUSED-WITH-WIND": "Suffused With (Wind)", + "WIND": "Wind", + "RITUALS": "Rituals", "SUPER-NUMERATE": "Super Numerate", "SUPPORTIVE": "Supportive", "SURE-SHOT": "Sure Shot", @@ -1223,6 +1249,7 @@ "UNSHAKABLE": "Unshakable", "VERY-RESILIENT": "Very Resilient", "VERY-STRONG": "Very Strong", + "VICE": "Vice", "WAR-LEADER": "War Leader", "WAR-LEADER-EFFECT": "Targets gain +", "WAR-LEADER-EFFECT2": "SL to WP test (1/round)", @@ -1290,6 +1317,7 @@ "NURGLE-LORE": "Lore of Nurgle", "SLAANESH-LORE": "Lore of Slaanesh", "TZEENTCH-LORE": "Lore of Tzeentch", + "GREATMAW-LORE": "Lore of The Great Maw", "LEARNED-SPELLS": "Learned Spells", "SPELL-SELECT": "Select Spell", "SPELL-NAME": "Spell Name", @@ -1429,6 +1457,13 @@ "SPELL-STREAM-OF-CORRUPTION": "Stream of Corruption", "SPELL-ACQUIESCENCE": "Acquiescence", "SPELL-TREASON-OF-TZEENTCH": "Treason of Tzeentch", + "SPELL-BONECRUSHER": "Bonecrusher", + "SPELL-BULLGORGER": "Bullgorger", + "SPELL-BRAINGOBBLER": "Braingobbler", + "SPELL-TASTE-DEATH": "Taste Death", + "SPELL-TROLLGUTS": "Trollguts", + "SPELL-THE-MAW": "The Maw", + "SPELL-FEAST-OF-THE-FALLEN": "Feast of the Fallen", "SELECT-BLESSING": "Select Blessing", "BLESSING-CUSTOM": "Custom Blessing Name", "BLESSING-BATTLE": "Blessing of Battle", @@ -1450,8 +1485,46 @@ "BLESSING-TENACITY": "Blessing of Tenacity", "BLESSING-WIT": "Blessing of Wit", "BLESSING-WIZDOM": "Blessing of Wisdom", + "RITUAL-NAME": "Ritual Name", + "RITUAL-SELECT": "Select Ritual", + "RITUAL-CUSTOM": "Custom Ritual Name", + "RITUAL-BIND-MONSTROUS-BEAST": "Bind Monstrous Beast", + "RITUAL-BIND-SPIRIT-WITHIN-POWER-STONE": "Bind Spirit within Power Stone", + "RITUAL-CARVE-OGHAM-STONE": "Carve Ogham Stone", + "RITUAL-CREATE-POWER-STONE": "Create Power Stone", + "RITUAL-CONJURATION-BLOODY-HIDESMAN": "Conjuration of The Bloody Hidesman", + "RITUAL-CONJURATION-ELEMENTAL-DEATH": "Conjuration of the Incarnate Elemental of Death", + "RITUAL-CONJURATION-JACK-CINDERS": "Conjuration of Jack o’ Cinders", + "RITUAL-CORRUPT-WAYSTONE": "Corrupt Waystone", + "RITUAL-CREATE-CONSTRUCT": "Create Construct", + "RITUAL-CREATE-FAMILIAR": "Create Familiar", + "RITUAL-WAYSTONE-PROPERTY": "Create Waystone Property", + "RITUAL-CURSECRAFT": "Cursecraft", + "RITUAL-IMBUE-STAFF": "Imbue Staff", + "RITUAL-INVOCATE-DAEMON": "Invocate Daemon", + "RITUAL-MATERIALISE-LIVING-SWAMP": "Materialise the Living Swamp", + "RITUAL-REMOVE-CURSE": "Remove Curse", + "RITUAL-THE-CROSSED-SCYTHES": "The Crossed Scythes", + "RITUAL-INGREDIENTS": "Ritual Ingredients", + "RITUAL-CONDITIONS": "Ritual Conditions", + "RITUAL-SACRIFICES": "Ritual Sacrifices", + "RITUAL-CONSEQUENCE": "Ritual Consequence", + "RITUAL-DESCRIPTION": "Ritual Description", + "GRIMMC1": "Seared In the Mind: The wizard's head feels like it will explode with pain as they take 1d10 + 1 damage ignoring AP. However the wizard immediatly memorises the spell.", + "GRIMMC2": "All Pain, No Gain: The wizard is racked with pain taking 1d10 + 4 dmg ignoring AP.", + "GRIMMC3": "No Effect", + "GRIMMC4": "Up in Smoke: Magical energy burns the spell from the Grimoire and it is lost.", + "GRIMMC5": "Book Burning: The Grimoire is destroyed.", + "GRIMOIRE-MISCAST": "Grimoire Miscast", + "NOT-WORN": "Not Worn", + "UNEQUIPED": "Unequiped", + "ALL-WINDS": "All Winds", + "WIZARDS-ROBES": "Wizard’s Robes", + "ENCHANTED-STAFF": "Enchanted Staff", + "ENCHANTED-STAFF-BONUS": "Enchanted Staff Bonus", "STAR-SIGN": "STAR SIGN", "MAGIC-LORE": "Lore", + "SELECT": "Select", "PSYCHOLOGYCAP": "PSYCHOLOGY", "DRUNK": "Drunk", "UNARMED": "Unarmed", @@ -1459,6 +1532,7 @@ "MEMORISED": "Memorised", "NOT-MEMORISED": "Not Memorised", "CHANNELING-MOD": "Channelling Mod", + "CN-MOD": "CN Mod", "OVERCHANNELING-DISC": "Overchannelling rules", "OVERCHANNELING-RULE1": "Core Book Default", "OVERCHANNELING-RULE2": "Allow Overchannelling SLs to add +SL to Spell Cast", diff --git a/YellowKing/Preview.png b/YellowKing/Preview.png new file mode 100644 index 0000000000..cf6aa78faf Binary files /dev/null and b/YellowKing/Preview.png differ diff --git a/YellowKing/ReadMe.md b/YellowKing/ReadMe.md new file mode 100644 index 0000000000..c70af5e174 --- /dev/null +++ b/YellowKing/ReadMe.md @@ -0,0 +1,11 @@ +# Sheet Instructions +This is a character sheet for The Yellow King RPG written by Robin D. Laws and Published by Pelgrane Press. + +It includes four separate versions of the sheet, one for each of the game's four sequences. It is recommended that you adjust the default sheet settings to reflect the sequence you are playing in, as new sheets will automatically be created using the chosen sequence. Once a character has been created, you can use the dropdown menu it the upper right corner to change to a different sequence. Character attributes will be preserved across sequence changes, but they will be hidden if the currently selected sequence doesn't include those attribues. + +Use Roll20's card deck functions to track shocks and injuries. + +Gaze not at the Yellow Sign. + +# Images +The Yellow Sign Logos used in this sheet were created by Pelgrane Press. Pelgrane has chosen to release those logos into the public domain as detailed [here](https://pelgranepress.com/2020/02/06/our-yellow-sign-is-your-yellow-sign/). diff --git a/YellowKing/YellowKing.css b/YellowKing/YellowKing.css new file mode 100644 index 0000000000..c97fd7c3fb --- /dev/null +++ b/YellowKing/YellowKing.css @@ -0,0 +1,789 @@ +@import url('https://fonts.googleapis.com/css?family=Crimson+Pro|Domine:wght@700|IM+Fell+French+Canon+SC|Libre+Bodoni|Libre+Franklin|Montserrat:ital,wght@0,400;0,700;1,700|Ropa+Sans&display=swap'); + + + +.ui-dialog div.charsheet { + color: #000; + background-color: #000; + min-width: 800px; + padding: 0px; +} + +div.subsheet { + border-style: solid; + border-width: 10px; + box-sizing: border-box; + padding: 0px 80px 0px 80px; +} + +div.paris.subsheet, +div.wars.subsheet, +div.aftermath.subsheet, +div.tinn.subsheet { + display:none; +} + +/*Paris subsheet elements*/ +div.paris { + color: rgb(0,0,0); + background-color: rgb(246,238,226); + border-color: rgb(255,193,175); + + font-family: 'Libre Bodoni'; + +} + +div.paris h1{ + color: rgb(255,193,175); + font-size: xxx-large; + padding-top: 25px; +} + +div.paris .bar{ + border-top: 3px solid; + border-bottom: 2px solid; + border-color: rgb(255,193,175); + margin: 5px 0px 5px 0px; + padding: 1px; +} + +div.paris .fleuron{ + color: rgb(255,193,175); + font-weight: normal; +} + +div.paris .stylebox{ + color: rgb(0,0,0); + border-color: rgb(255,193,175); + background-color: rgb(255,255,255); +} + +div.paris .fullbar label { + font-family: 'IM Fell French Canon SC'; +} + +div.paris .pushcircle { + position: relative; + top: .25em; + display: inline-block; + border: 3px solid; + border-radius: 50%; + height: 20px; + width: 20px; + padding: 0px; + margin: 0px; + content: ''; + + border-color: rgb(255,193,175); + background-color: rgb(255,255,255); + +} + +div.paris .pushbox:checked + .pushcircle { + background-color: rgb(255,193,175); +} + +div.paris .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(255,193,175); +} + +div.paris .pushbox:checked + .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(246,238,226); +} + +div.paris .gridtitle { + font-family: 'Libre Bodoni'; +} + +div.paris .abilitybutton label { + color: rgb(0,0,0); +} + +div.paris .abilitybutton label:hover { + color: rgb(255,193,175); +} + +div.paris h4{ + font-family: 'Libre Bodoni'; + font-style: italic; + font-weight: normal; +} + +div.paris .spacedsection{ + margin-top: 29px; +} + +div.paris .textbox { + height: 374px; +} + + +/*Wars subsheet elements*/ +div.wars { + color: rgb(0,0,0); + background-color: rgb(227,226,214); + border-color: rgb(120,143,122); + + font-family: 'Libre Franklin'; + +} + +div.wars h1{ + color: rgb(120,143,122); + font-family: 'Domine'; + font-size: xxx-large; + padding-top: 25px; +} + +div.wars .bar{ + border-top: 6px solid; + border-color: rgb(0,0,0); + margin: 5px 0px 5px 0px; +} + +div.wars .stylebox{ + color: rgb(0,0,0); + border-color: rgb(0,0,0); + background-color: rgb(255,255,255); +} + +div.wars label.stylebox{ + font-weight: normal; +} + +div.wars .pushcircle { + position: relative; + top: .25em; + display: inline-block; + border: 3px solid; + height: 20px; + width: 20px; + padding: 0px; + margin: 0px; + content: ''; + + border-color: rgb(0,0,0); + background-color: rgb(255,255,255); + +} + +div.wars .pushbox:checked + .pushcircle { + background-color: rgb(120,143,122); +} + +div.wars .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(120,143,122); +} + +div.wars .pushbox:checked + .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(227,226,214); +} + +div.wars .gridtitle { + font-family: 'Libre Franklin'; +} + +div.wars .abilitybutton label { + color: rgb(0,0,0); +} + +div.wars .abilitybutton label:hover { + color: rgb(120,143,122); +} + +div.wars h4{ + font-family: 'Libre Franklin'; + font-weight: normal; +} + +div.wars .spacedsection{ + margin-top: 29px; +} + +div.wars .textbox { + height: 116px; +} + +/*Aftermath subsheet elements*/ +div.aftermath { + color: rgb(0,0,0); + background-color: rgb(229,227,227); + border-color: rgb(209,34,41); + + font-family: 'Ropa Sans'; + +} + +div.aftermath h1{ + color: rgb(209,34,41); + font-weight: bold; + font-size: xxx-large; + padding-top: 25px; +} + +div.aftermath .bar{ + border-top: 6px solid; + border-color: rgb(0,0,0); + margin: 5px 0px 5px 0px; +} + +div.aftermath .stylebox{ + color: rgb(0,0,0); + border-color: rgb(0,0,0); + background-color: rgb(255,255,255); +} + +div.aftermath label.stylebox{ + font-weight: bold; +} + +div.aftermath .pushcircle { + position: relative; + top: .25em; + display: inline-block; + border: 3px solid; + height: 20px; + width: 20px; + padding: 0px; + margin: 0px; + content: ''; + + border-color: rgb(0,0,0); + background-color: rgb(255,255,255); + +} + +div.aftermath .pushbox:checked + .pushcircle { + background-color: rgb(209,34,41); +} + +div.aftermath .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(209,34,41); +} + +div.aftermath .pushbox:checked + .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(229,227,227); +} + +div.aftermath .gridtitle { + font-family: 'Ropa Sans'; +} + +div.aftermath .abilitybutton label { + color: rgb(0,0,0); +} + +div.aftermath .abilitybutton label:hover { + color: rgb(209,34,41); +} + +div.aftermath h4{ + font-family: 'Ropa Sans'; + font-size: inherit; +} + +div.aftermath .spacedsection{ + margin-top: 29px; +} + +div.aftermath .textbox { + height: 290px; +} + +/*This Is Normal Now subsheet elements*/ +div.tinn { + color: rgb(0,0,0); + background-color: rgb(255,255,255); + border-color: rgb(138,178,222); + + font-family: 'Montserrat'; + +} + +div.tinn h1{ + color: rgb(138,178,222); + font-weight: bold; + font-size: xxx-large; + padding-top: 25px; +} + +div.tinn .bar{ + border-top: 6px solid; + border-color: rgb(138,178,222); + margin: 5px 0px 5px 0px; +} + +div.tinn .stylebox{ + color: rgb(0,0,0); + border-color: rgb(0,0,0); + background-color: rgb(225,233,245); +} + +div.tinn label.stylebox{ + font-weight: bold; +} + +div.tinn .fullbar label { + font-style: italic; +} + +div.tinn .stylebox.hiddenbox{ + border-color: rgb(255,255,255); + background-color: rgb(255,255,255); +} + +div.tinn .pushcircle { + display: inline-block; + border: none; + height: 20px; + width: 23px; + padding: 0px; + margin: 0px; + content: ''; + + border-color: rgb(0,0,0); + background-color: rgb(225,233,245); + + clip-path: polygon(0% 50%, 25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%); + +} + +div.tinn .hexborder{ + position: relative; + top: .25em; + display: inline-block; + border: 3px solid; + height: 20px; + width: 23px; + padding: 0px; + margin: 0px; + + border-color: rgb(0,0,0); + background-color: rgb(0,0,0); + + clip-path: polygon(0% 50%, 25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%); + +} + +div.tinn .pushbox:checked + .pushcircle { + background-color: rgb(138,178,222); +} + +div.tinn .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(138,178,222); +} + +div.tinn .pushbox:checked + .pushcircle:hover { + box-shadow: 0px 0px 10px inset rgb(255,255,255); +} + +div.tinn .gridtitle { + font-family: 'Montserrat'; +} + +div.tinn .abilitybutton label { + color: rgb(0,0,0); +} + +div.tinn .abilitybutton label:hover { + color: rgb(138,178,222); +} + +div.tinn h4{ + font-family: 'Montserrat'; + font-size: inherit; +} + +div.tinn .spacedsection{ + margin-top: 29px; +} + +div.tinn .textbox { + height: 203px; +} + + + +/*Elements shared by all subsheets*/ +h1, h2 { + text-align: center; +} + +h3.capsheader{ + margin-top: 15px; +} + +.blankit { + display: none; +} + +div.fullbar { + display: flex; + flex-direction: row; +} + +.fullbar label { + color: #333; + + display: inline-block; + + width: 20%; + + margin-bottom: 10px; + + padding-right: 4px; +} + +.fullbar input { + width: 89%; + + font-weight: bold; + + margin-bottom: 10px; + + font-family: 'Crimson Pro'; +} + +.stylebox { + border-style: none none solid none; + border-width: 3px; + border-radius: 0px; + padding: 4px; + margin: 0px; +} + +.full { + width: 100%; + + font-weight: bold; + + font-family: 'Crimson Pro'; +} + +.pushtitle { + padding-right: 10px; +} + +.pushbar label { + display: inline; +} + +.pushbar { + height: 1.5em; +} + +.abilitygrid { + display: grid; + grid-template-columns: auto auto auto auto; + justify-content: space-between; + align-items: end; + font-family: 'Crimson Pro'; +} + +button.abilitybutton { + cursor:default; +} + + +.abilitybutton label { + display: inline; + font-size: medium; +} + +.abilitybutton label:hover { + color: #A73; +} + +.gridtitle { + grid-column-end: span 2; +} + +.abilitygrid button[type=roll].abilitybutton{ + padding: 0px; + padding-bottom: 7px; + border: 0px; + margin: 0px; + border-radius: 0px; + + font-size: medium; + text-align: left; + + background-color: transparent; + background-image: none; + text-shadow: none; + box-shadow: none; +} + +.abilitygrid button[type=roll].abilitybutton::before { + content: ''; +} + +.abilitygrid span { + padding-bottom: 7px; + border-bottom: 0px; +} + +.abilitygrid input { + font-weight: bold; + font-family: 'Crimson Pro' +} + +label.sectionlabel { + margin: 0px; + padding-right: 0px; + box-sizing: border-box; +} + +textarea.textbox { + resize: none; + box-sizing: border-box; + font-family: 'Crimson Pro' +} + +.columnframe { + display: flex; + flex-direction: row; + justify-content: space-between; +} + +.col { + width: 48%; + display: flex; + flex-direction: column; +} + +.logo { + width: 150px; + height: 150px; + margin: 30px auto 30px auto; + background-image: url(https://pelgranepress.com/nas/content/live/pelgranepress/wp-content/uploads/2020/02/Yellow-Sign-w-circle.png); + background-size: contain; + transition:transform 5s cubic-bezier(0,.25,0,1); + clip-path:circle(50%); +} + +/*Easter Egg: Seeing the Yellow Sign*/ +.logo:hover { + transform: scale(5); + transition: transform 600s; +} + +/*Styling the sequence selection dropdown menu*/ +div.sequencepicker{ + position:absolute; + top: 75px; + right: 35px; + + font-family: 'Crimson Pro'; + +} + +.sequencelabel { + color: rgb(0,0,0); + font-size: small; + font-weight: bold; + + display: flex; + align-items: center; + justify-content: right; +} + +.sequenceicon { + width: 20px; + height: 20px; + display: inline-block; + background-image: url(https://pelgranepress.com/nas/content/live/pelgranepress/wp-content/uploads/2020/02/Yellow-Sign-Character-Only.png); + background-size: contain; + background-repeat: no-repeat; +} + +.sequencetext { + padding: 7px; +} + +.sequenceselect { + background-color: rgb(242,229,119); + border-color: rgb(0,0,0); + border: 3px solid; + padding: 4px; + max-height: 1px; + transform: scaleY(0); + transform-origin: top center; + transition: transform 250ms ease 0ms, max-height 0ms ease 250ms; + overflow: clip; +} + +.sequencepicker:hover .sequenceselect { + display: block; + max-height: 500px; + transform: scaleY(1); + transition: transform 250ms ease 1ms, max-height 0ms ease 0ms; +} + +.sequenceselect label.sequencebutton { + color: rgb(0,0,0); + text-align: center; +} + +.sequencebutton.paris { + font-family: 'Libre Bodoni'; +} + +.sequencebutton.wars { + font-family: 'Domine'; +} + +.sequencebutton.aftermath { + font-family: 'Ropa Sans'; +} + +.sequencebutton.tinn { + font-family: 'Montserrat'; +} + +.sequencebutton.paris:hover { + text-shadow: 0px 0px 5px rgb(246,238,226),0px 0px 5px rgb(246,238,226),0px 0px 5px rgb(246,238,226); + color: rgb(0,0,0); +} + +.sequencebutton.paris:hover::before { + color: rgb(255,193,175); + content: '☙'; +} + +.sequencebutton.paris:hover::after { + color: rgb(255,193,175); + content: '❧'; +} + +.sequencebutton.wars:hover { + text-shadow: 0px 0px 5px rgb(227,226,214),0px 0px 5px rgb(227,226,214),0px 0px 5px rgb(227,226,214); + color: rgb(120,143,122); +} + +.sequencebutton.aftermath:hover { + text-shadow: 0px 0px 5px rgb(229,227,227),0px 0px 5px rgb(229,227,227),0px 0px 5px rgb(229,227,227); + color: rgb(209,34,41); +} + +.sequencebutton.tinn:hover { + text-shadow: 0px 0px 5px rgb(225,233,245),0px 0px 5px rgb(225,233,245),0px 0px 5px rgb(225,233,245); + color: rgb(138,178,222); +} + +/*This is what makes the sequence menu show and hide the subsheets*/ +.sequencetoggle[value="paris"] ~ .paris.subsheet, +.sequencetoggle[value="wars"] ~ .wars.subsheet, +.sequencetoggle[value="aftermath"] ~ .aftermath.subsheet, +.sequencetoggle[value="tinn"] ~ .tinn.subsheet { + display: block; +} + + +/*Roll Templates*/ +.sheet-rolltemplate-parisroll, +.sheet-rolltemplate-warsroll, +.sheet-rolltemplate-aftermathroll, +.sheet-rolltemplate-tinnroll { + color: rgb(0,0,0); + font-family: 'crimson pro'; + + border-style: solid; + border-width: 10px; + border-radius: 0px; + + padding: 10px; +} + +.sheet-rolltemplate-parisroll .sheet-rolldesc, +.sheet-rolltemplate-warsroll .sheet-rolldesc, +.sheet-rolltemplate-aftermathroll .sheet-rolldesc, +.sheet-rolltemplate-tinnroll .sheet-rolldesc{ + font-size: large; + margin-bottom: 10px; +} + +.sheet-rolltemplate-parisroll .sheet-result, +.sheet-rolltemplate-warsroll .sheet-result, +.sheet-rolltemplate-aftermathroll .sheet-result, +.sheet-rolltemplate-tinnroll .sheet-result { + font-size: xxx-large; + line-height: 1em; + text-align: center; + box-sizing: border-box; + padding: 1em 0 1em 0; +} + +.sheet-rolltemplate-parisroll span.inlinerollresult, +.sheet-rolltemplate-warsroll span.inlinerollresult, +.sheet-rolltemplate-aftermathroll span.inlinerollresult, +.sheet-rolltemplate-tinnroll span.inlinerollresult{ + box-sizing: border-box; + + padding: 0px 20px 10px 20px; + + background-color: rgb(255,255,255); + border-color: rgb(0,0,0); + border-style: none none solid none; + border-width: 3px; + border-radius: 0px; +} + +.sheet-rolltemplate-parisroll .inlinerollresult.fullfail, +.sheet-rolltemplate-warsroll .inlinerollresult.fullfail, +.sheet-rolltemplate-aftermathroll .inlinerollresult.fullfail, +.sheet-rolltemplate-tinnroll .inlinerollresult.fullfail{ + border-style: none none solid none; + border-width: 3px; + border-color: rgb(191,0,0); + border-radius: 0px; +} + +.sheet-rolltemplate-parisroll .inlinerollresult.fullcrit, +.sheet-rolltemplate-warsroll .inlinerollresult.fullcrit, +.sheet-rolltemplate-aftermathroll .inlinerollresult.fullcrit, +.sheet-rolltemplate-tinnroll .inlinerollresult.fullcrit{ + border-style: none none solid none; + border-width: 3px; + border-color: rgb(0,191,0); + border-radius: 0px; +} + +.sheet-rolltemplate-parisroll { + background-color: rgb(246,238,226); + border-color: rgb(255,193,175); +} + +.sheet-rolltemplate-parisroll span.inlinerollresult{ + border-color: rgb(255,193,175); + font-family: 'Libre Bodoni'; +} + +.sheet-rolltemplate-warsroll { + background-color: rgb(227,226,214); + font-family: 'Libre Franklin'; + border-color: rgb(120,143,122); +} + +.sheet-rolltemplate-warsroll span.inlinerollresult{ + font-family: 'Domine'; +} + +.sheet-rolltemplate-aftermathroll { + background-color: rgb(229,227,227); + border-color: rgb(209,34,41); + font-family: 'Ropa Sans'; +} + +.sheet-rolltemplate-tinnroll { + background-color: rgb(255,255,255); + border-color: rgb(138,178,222); + font-family: 'Montserrat'; +} + +.sheet-rolltemplate-tinnroll span.inlinerollresult{ + background-color: rgb(225,233,245); +} + +/*Man, I really should have learned how to use css variables to set those colors rather than manually using the rgb values in twenty different spots. +But it's working right now, and I don't want to break it by trying to improve the code.*/ \ No newline at end of file diff --git a/YellowKing/YellowKing.html b/YellowKing/YellowKing.html new file mode 100644 index 0000000000..c414ba308f --- /dev/null +++ b/YellowKing/YellowKing.html @@ -0,0 +1,776 @@ + + +
+
+ + Choose Sequence +
+
+ + + + +
+
+ + + + + +
+
+

PARIS

+
+

+ ☙ + CHARACTER SHEET + ❧ +

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+
+

INVESTIGATIVE ABILITIES

+ + + + + + + +
+
+

+ PUSHES (2): + + + + +

+
+
+
+

GENERAL ABILITIES

+ pool + max + + + (Physical) + + + + + (Presence) + + + + + (Physical) + + + + + (Focus) + + + + + (Physical) + + + + + (Focus) + + + + + (Presence) + + + + + (Physical) + + + + + (Presence) + + + + + (Focus) + + + +
+
+
+
+
+


+ + +
+
+ + +
+
+ + +
+
+
+ + + +
+ +
+
+

THE WARS

+
+

+ Character Sheet +

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+

INVESTIGATIVE ABILITIES

+
+
+ + + + +
+
+ + + + +
+
+ +
+
+

+ PUSHES (2): + + + + +

+
+
+
+
+

GENERAL ABILITIES

+ pool + max + + + (Physical) + + + + + (Physical) + + + + + (Physical) + + + + + (Presence) + + + + + (Physical) + + + + + (Physical) + + + + + (Focus) + + + + + (Physical) + + +
+
+
+
+

 

+ pool + max + + + (Focus) + + + + + (Presence) + + + + + (Presence) + + + + + (Physical) + + + + + (Presence) + + + + + (Presence) + + + + + (Focus) + + + + + (Focus) + + + +
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + +
+ +
+
+

AFTERMATH

+
+

+ CHARACTER SHEET +

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+

INVESTIGATIVE ABILITIES

+
+
+ + + + +
+
+ + + + +
+
+ +
+
+

+ PUSHES (2): + + + + +

+
+
+
+
+
+

GENERAL ABILITIES

+ pool + max + + + (Physical) + + + + + (Presence) + + + + + (Physical) + + + + + (Physical) + + + + + (Focus) + + + + + (Physical) + + + + + (Focus) + + + + + (Focus) + + + + + (Presence) + + + + + (Focus) + + + + + (Presence) + + + + + (Presence) + + + + + (Presence) + + + + + (Focus) + + +
+
+
+
+
+


+ + +
+
+ + +
+
+
+
+ + + +
+ +
+
+

THIS IS NORMAL NOW

+
+

+ Character Sheet +

+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+

Investigative Abilities

+
+
+ + + + +
+
+ + + + +
+
+ +
+
+

+ Pushes (2): +
+ + +
+
+ + +
+

+
+
+
+
+

General Abilities

+ pool + max + + + (Physical) + + + + + (Presence) + + + + + (Physical) + + + + + (Physical) + + + + + (Focus) + + +
+
+
+
+

 

+ pool + max + + + (Physical) + + + + + (Focus) + + + + + (Presence) + + + + + (Presence) + + + + + (Focus) + + +
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + +
+ + + + + +
+ {{charname}}
+ spends {{spend}} point(s) on
+ {{article}} {{ability}} test. +
+
{{roll}}
+
+ + +
+ {{charname}}
+ spends {{spend}} point(s) on
+ {{article}} {{ability}} test. +
+
{{roll}}
+
+ + +
+ {{charname}}
+ spends {{spend}} point(s) on
+ {{article}} {{ability}} test. +
+
{{roll}}
+
+ + +
+ {{charname}}
+ spends {{spend}} point(s) on
+ {{article}} {{ability}} test. +
+
{{roll}}
+
\ No newline at end of file diff --git a/YellowKing/images/Yellow-Sign-Character-Only.png b/YellowKing/images/Yellow-Sign-Character-Only.png new file mode 100644 index 0000000000..a644d4b9ac Binary files /dev/null and b/YellowKing/images/Yellow-Sign-Character-Only.png differ diff --git a/YellowKing/images/Yellow-Sign-w-circle.png b/YellowKing/images/Yellow-Sign-w-circle.png new file mode 100644 index 0000000000..0bb0cf8a28 Binary files /dev/null and b/YellowKing/images/Yellow-Sign-w-circle.png differ diff --git a/YellowKing/sheet.json b/YellowKing/sheet.json new file mode 100644 index 0000000000..5b49728064 --- /dev/null +++ b/YellowKing/sheet.json @@ -0,0 +1,24 @@ +{ + "html": "YellowKing.html", + "css": "YellowKing.css", + "authors": "Alan Scott", + "roll20userid": "202071", + "preview": "Preview.png", + "instructions": "This is a character sheet for The Yellow King RPG written by Robin D. Laws and Published by Pelgrane Press.\n\nIt includes four separate versions of the sheet, one for each of the game's four sequences. It is recommended that you adjust the default sheet settings to reflect the sequence you are playing in, as new sheets will automatically be created using the chosen sequence. Once a character has been created, you can use the dropdown menu it the upper right corner to change to a different sequence. Character attributes will be preserved across sequence changes, but they will be hidden if the currently selected sequence doesn't include those attribues.\n\nUse Roll20's card deck functions to track shocks and injuries.\n\nGaze not at the Yellow Sign.", + "useroptions": [ + { + "attribute": "sequence", + "displayname": "Sequence: ", + "type": "select", + "options": [ + "Paris|paris", + "The Wars|wars", + "Aftermath|aftermath", + "ThisIsNormalNow|tinn" + ], + "default": "paris", + "description": "Select the sequence that newly created sheets will default to." + } + ], + "legacy": false +} diff --git a/approved.yaml b/approved.yaml index 16341aae62..2b1ad969af 100644 --- a/approved.yaml +++ b/approved.yaml @@ -4373,7 +4373,6 @@ hauntedwest: - Haunted-West-Character-Sheet - Haunted West - Haunted West -- publisher sigilshadow: - Sigil-Shadow - Sigil & Shadow @@ -4436,3 +4435,45 @@ arkanarpg: - Arkana-RPG by Pktome - Arkana-RPG - Arkana-RPG +space1889: +- Space1889 +- Space 1889 +- Ubiquity +newhongkong: +- NHKS +- New Hong Kong Story +- New Hong Kong Story +fightingfantasy: +- FightingFantasy +- Fighting Fantasy +- Fighting Fantasy +ryf: +- RyF (Rapido y Facil) +- RyF - Rapido y Facil +- RyF - Rapido y Facil +root: +- root +- 'Root: The Roleplaying Game' +- 'Root: The Roleplaying Game' +- publisher +brancalonia: +- Brancalonia Official +- Brancalonia by Acheron Games +- Dungeons & Dragons 5th Edition +- publisher +primalquest: +- Primal Quest +- 'Primal Quest: Weird Sorcery and Stone' +- Primal Quest +godsendwol: +- Godsend +- 'Godsend: Worlds of Legacy' +- Powered by the Apocalypse +cfalkenstein: +- Castle Falkenstein +- Castle Falkenstein +- Castle Falkenstein +yellowking: +- YellowKing +- Yellow King RPG +- GUMSHOE diff --git a/root/root.PNG b/root/root.PNG new file mode 100644 index 0000000000..8d2f89b678 Binary files /dev/null and b/root/root.PNG differ diff --git a/root/root.css b/root/root.css new file mode 100644 index 0000000000..bf29e38c3b --- /dev/null +++ b/root/root.css @@ -0,0 +1,2949 @@ +@font-face { + font-family: 'Luminari'; + font-style: normal; + /*font-weight: 400;*/ + src: local('Luminari'), local('Luminari-Regular'), url(https://programmancer.000webhostapp.com/root/img/Luminari.woff) format('woff'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; +} + +.sheet-flexcenter{ +display:flex; +align-items:center; +} + +.sheet-nombreflexcenter{ +display:flex; +align-items:center; +font-family:'Luminari','Helvetica',sans-serif; +} + +.charsheet { + /*Definicion principal*/ + + /*background: url(https://raw.githubusercontent.com/Roll20/roll20-character-sheets/master/Dungeon%20World%20by%20Roll20/images/background.png);*/ + /*background-repeat: repeat-y;*/ + /*background-color: rgb(230, 231, 233);*/ + /* + border: 0px solid rgb(35, 31, 32); + font-weight: normal; + font-family: 'League Gothic', 'Helvetica', sans-serif; + */ + + font-family: serif; + /* + background: url("https://programmancer.000webhostapp.com/root/img/blueprint.jpg"); + background-repeat: no-repeat; + */ + background-image: url("https://programmancer.000webhostapp.com/root/img/bg.jpg"); + background-repeat: repeat; + min-width: 880px; + height: auto; +} + +.charsheet button.repcontrol_edit{ + background-image: url("https://programmancer.000webhostapp.com/root/img/gear.svg"); + background-repeat: no-repeat; + background-size:cover;/*35px 35px;*/ + width:20px; + height:20px; + font-size:0px; + + text-shadow: none; + box-shadow: none; + box-sizing: border-box; + border:none; + outline: none; + border-radius: 0; + color: #000; +} + + +.charsheet .repcontrol_edit:hover { + background: url("https://programmancer.000webhostapp.com/root/img/gear.svg"); + font-size:0px; + +} +.charsheet .editmode { + +} + + +.charsheet button.repcontrol_add{ + background-image: url("https://programmancer.000webhostapp.com/root/img/plus2.svg"); + background-repeat: no-repeat; + background-size:cover;/*35px 35px;*/ + width:20px; + height:20px; + content:""; + + text-shadow: none; + /*background: transparent;*/ + box-shadow: none; + box-sizing: border-box; + border:none; + /*font-weight: bold;*/ + /*font-family: 'Double';*/ + outline: none; + border-radius: 0; + /*transition: all 0.2s;*/ + color: #000; + + font-size: 0px; + +} + +.charsheet .repcontrol_add:hover { + background: url("https://programmancer.000webhostapp.com/root/img/plus2.svg"); + +} + +/*-- MENU - INICIO --*/ +/*Menu antes de todo*/ +.sheet-show-menu:not([value="1"]) ~ .sheet-container-menu .sheet-menu { + display: none; +} + +.sheet-menu-mode:not([value="sheet_choice"]) ~ .sheet-sheet_choice { + display: none; +} + +.sheet-select-estilo{ +background: linear-gradient(to left, #f4eedb , #f4eedb); +border:0; +outline:none; +font-weight:bold; +margin-left:-10px; +} + +.sheet-select-tags{ +background: linear-gradient(to left, #f9f6ed , #f9f6ed); +border:0; +outline:none; +font-weight:bold; +margin-left:-10px; +} + +.sheet-menu { + background: rgba(0, 0, 0, 0.6); + position: absolute; + top: 0; + padding-top: 11px; + z-index: 10000; + left: 0; + width: 100%; + height: 1000px; +} + +.sheet-menu .sheet-content { + background: #f4eedb; + border: 2px solid #99925d ; + margin: 0 auto; + border-radius: 10px; + padding: 15px; +} + +.sheet-menu .sheet-sheet_choice { + width: 450px; + display: grid; + grid: auto/repeat(3, 33%); + grid-row-gap: 5px; + justify-content: space-between; +} + +.sheet-menu .sheet-column { + display: grid; + align-content: start; + grid-row-gap: 8px; + justify-items: center; +} + +.sheet-menu .sheet-label { + font-family: 'Double'; + font-size: 20px; + text-align: center; + margin: 3px 0; +} + +.sheet-menu .sheet-desc { + text-align: center; + font-size: 12px; + margin-bottom: 4px; +} + +.sheet-menu .sheet-footer { + grid-column: 1 / span 3; + font-size: 15px; + white-space: nowrap; + text-align: center; + font-style: italic; + align-self: center; +} + +.sheet-menu .sheet-cancelbutton { + align-self: center; + justify-self: end; +} + +button.sheet-generatebutton { + font-weight: bold; + font-variant: small-caps; + letter-spacing: 0.5px; + font-size: 14px; + padding: 2px 8px; + color: #99925d; + outline: none; + border: 1px solid #99925d; +} + +button.sheet-generatebutton:hover { + color: #3d4d47 ; + border-color: #3d4d47 ; +} + +button.sheet-generatebutton .sheet-optional { + font-size: 0.8em; + font-style: italic; +} + +/**/ +.sheet-eq1col1,.sheet-eq2col1,.sheet-eq3col1,.sheet-eq4col1, +.sheet-eq1col2,.sheet-eq2col2,.sheet-eq3col2,.sheet-eq4col2, +.sheet-eq1col3,.sheet-eq2col3,.sheet-eq3col3,.sheet-eq4col3{ + background-color:#c2bc91; +} +.sheet-xeq1col1,.sheet-xeq2col1,.sheet-xeq3col1,.sheet-xeq4col1, +.sheet-xeq1col2,.sheet-xeq2col2,.sheet-xeq3col2,.sheet-xeq4col2, +.sheet-xeq1col3,.sheet-xeq2col3,.sheet-xeq3col3,.sheet-xeq4col3{ + color:#ffffff; +} + + +.sheet-checkequipment1col1:checked ~ .sheet-eq1col1{background-color:#3d4d47;} +.sheet-checkequipment1col1:checked ~ .sheet-xeq1col1{color:#ffffff;} +.sheet-checkequipment2col1:checked ~ .sheet-eq2col1{background-color:#3d4d47;} +.sheet-checkequipment2col1:checked ~ .sheet-xeq2col1{color:#ffffff;} +.sheet-checkequipment3col1:checked ~ .sheet-eq3col1{background-color:#3d4d47;} +.sheet-checkequipment3col1:checked ~ .sheet-xeq3col1{color:#ffffff;} +.sheet-checkequipment4col1:checked ~ .sheet-eq4col1{background-color:#3d4d47;} +.sheet-checkequipment4col1:checked ~ .sheet-xeq4col1{color:#ffffff;} +.sheet-checkequipment1col2:checked ~ .sheet-eq1col2{background-color:#3d4d47;} +.sheet-checkequipment1col2:checked ~ .sheet-xeq1col2{color:#ffffff;} +.sheet-checkequipment2col2:checked ~ .sheet-eq2col2{background-color:#3d4d47;} +.sheet-checkequipment2col2:checked ~ .sheet-xeq2col2{color:#ffffff;} +.sheet-checkequipment3col2:checked ~ .sheet-eq3col2{background-color:#3d4d47;} +.sheet-checkequipment3col2:checked ~ .sheet-xeq3col2{color:#ffffff;} +.sheet-checkequipment4col2:checked ~ .sheet-eq4col2{background-color:#3d4d47;} +.sheet-checkequipment4col2:checked ~ .sheet-xeq4col2{color:#ffffff;} +.sheet-checkequipment1col3:checked ~ .sheet-eq1col3{background-color:#3d4d47;} +.sheet-checkequipment1col3:checked ~ .sheet-xeq1col3{color:#ffffff;} +.sheet-checkequipment2col3:checked ~ .sheet-eq2col3{background-color:#3d4d47;} +.sheet-checkequipment2col3:checked ~ .sheet-xeq2col3{color:#ffffff;} +.sheet-checkequipment3col3:checked ~ .sheet-eq3col3{background-color:#3d4d47;} +.sheet-checkequipment3col3:checked ~ .sheet-xeq3col3{color:#ffffff;} +.sheet-checkequipment4col3:checked ~ .sheet-eq4col3{background-color:#3d4d47;} +.sheet-checkequipment4col3:checked ~ .sheet-xeq4col3{color:#ffffff;} + + +.sheet-equipment1col1,.sheet-equipment2col1,.sheet-equipment3col1,.sheet-equipment4col1, +.sheet-equipment1col2,.sheet-equipment2col2,.sheet-equipment3col2,.sheet-equipment4col2, +.sheet-equipment1col3,.sheet-equipment2col3,.sheet-equipment3col3,.sheet-equipment4col3{ + display:none; +} + +.sheet-checkequipment1col1:checked ~ .sheet-equipment1col1{display:block;} +.sheet-checkequipment2col1:checked ~ .sheet-equipment2col1{display:block;} +.sheet-checkequipment3col1:checked ~ .sheet-equipment3col1{display:block;} +.sheet-checkequipment4col1:checked ~ .sheet-equipment4col1{display:block;} +.sheet-checkequipment1col2:checked ~ .sheet-equipment1col2{display:block;} +.sheet-checkequipment2col2:checked ~ .sheet-equipment2col2{display:block;} +.sheet-checkequipment3col2:checked ~ .sheet-equipment3col2{display:block;} +.sheet-checkequipment4col2:checked ~ .sheet-equipment4col2{display:block;} +.sheet-checkequipment1col3:checked ~ .sheet-equipment1col3{display:block;} +.sheet-checkequipment2col3:checked ~ .sheet-equipment2col3{display:block;} +.sheet-checkequipment3col3:checked ~ .sheet-equipment3col3{display:block;} +.sheet-checkequipment4col3:checked ~ .sheet-equipment4col3{display:block;} + + +.sheet-c-wear1,.sheet-c-wear2,.sheet-c-wear3,.sheet-c-wear4,.sheet-c-wear5, +.sheet-c-wear6,.sheet-c-wear7,.sheet-c-wear8,.sheet-c-wear9,.sheet-c-wear10{ + display:none; +} + +.sheet-check1:checked ~ .sheet-c-wear1{ + display:block; +} +.sheet-check2:checked ~ .sheet-c-wear2{ + display:block; +} +.sheet-check3:checked ~ .sheet-c-wear3{ + display:block; +} +.sheet-check4:checked ~ .sheet-c-wear4{ + display:block; +} +.sheet-check5:checked ~ .sheet-c-wear5{ + display:block; +} +.sheet-check6:checked ~ .sheet-c-wear6{ + display:block; +} +.sheet-check7:checked ~ .sheet-c-wear7{ + display:block; +} +.sheet-check8:checked ~ .sheet-c-wear8{ + display:block; +} +.sheet-check9:checked ~ .sheet-c-wear9{ + display:block; +} +.sheet-check10:checked ~ .sheet-c-wear10{ + display:block; +} + + + +.sheet-menu-mode[value="champion"] ~ .sheet-champion, +.sheet-menu-mode[value="chronicler"] ~ .sheet-chronicler, +.sheet-menu-mode[value="exile"] ~ .sheet-exile, +.sheet-menu-mode[value="envoy"] ~ .sheet-envoy, +.sheet-menu-mode[value="heretic"] ~ .sheet-heretic, +.sheet-menu-mode[value="pirate"] ~ .sheet-pirate, +.sheet-menu-mode[value="prince"] ~ .sheet-prince, +.sheet-menu-mode[value="raconteur"] ~ .sheet-raconteur, +.sheet-menu-mode[value="raider"] ~ .sheet-raider, +.sheet-menu-mode[value="seeker"] ~ .sheet-seeker, +.sheet-menu-mode[value="adventurer"] ~ .sheet-adventurer, +.sheet-menu-mode[value="arbiter"] ~ .sheet-arbiter, +.sheet-menu-mode[value="harrier"] ~ .sheet-harrier, +.sheet-menu-mode[value="ranger"] ~ .sheet-ranger, +.sheet-menu-mode[value="ronin"] ~ .sheet-ronin, +.sheet-menu-mode[value="scoundrel"] ~ .sheet-scoundrel, +.sheet-menu-mode[value="tinker"] ~ .sheet-tinker, +.sheet-menu-mode[value="thief"] ~ .sheet-thief, +.sheet-menu-mode[value="vagrant"] ~ .sheet-vagrant { + display: block; +} + +.sheet-menu-mode[value="champion"] ~ .sheet-championi, +.sheet-menu-mode[value="chronicler"] ~ .sheet-chronicleri, +.sheet-menu-mode[value="exile"] ~ .sheet-exilei, +.sheet-menu-mode[value="envoy"] ~ .sheet-envoyi, +.sheet-menu-mode[value="heretic"] ~ .sheet-heretici, +.sheet-menu-mode[value="pirate"] ~ .sheet-piratei, +.sheet-menu-mode[value="prince"] ~ .sheet-princei, +.sheet-menu-mode[value="raconteur"] ~ .sheet-raconteuri, +.sheet-menu-mode[value="raider"] ~ .sheet-raideri, +.sheet-menu-mode[value="seeker"] ~ .sheet-seekeri, +.sheet-menu-mode[value="adventurer"] ~ .sheet-adventureri, +.sheet-menu-mode[value="arbiter"] ~ .sheet-arbiteri, +.sheet-menu-mode[value="harrier"] ~ .sheet-harrieri, +.sheet-menu-mode[value="ranger"] ~ .sheet-rangeri, +.sheet-menu-mode[value="ronin"] ~ .sheet-ronini, +.sheet-menu-mode[value="scoundrel"] ~ .sheet-scoundreli, +.sheet-menu-mode[value="tinker"] ~ .sheet-tinkeri, +.sheet-menu-mode[value="thief"] ~ .sheet-thiefi, +.sheet-menu-mode[value="vagrant"] ~ .sheet-vagranti { + display: inline; +} + + +.sheet-menu-type[value="char"] ~ .sheet-setting-char, +.sheet-menu-type[value="chan"] ~ .sheet-setting-chan +{ + display: block; +} + +.sheet-setting-char, +.sheet-setting-chan, +.sheet-champion,.sheet-chronicler,.sheet-exile,.sheet-envoy,.sheet-heretic, +.sheet-pirate,.sheet-prince,.sheet-raconteur,.sheet-raider,.sheet-seeker, +.sheet-adventurer,.sheet-arbiter,.sheet-harrier,.sheet-ranger,.sheet-ronin, +.sheet-scoundrel,.sheet-vagrant,.sheet-thief,.sheet-tinker{ + display: none; +} + +.sheet-championi,.sheet-chronicleri,.sheet-exilei,.sheet-envoyi,.sheet-heretici, +.sheet-piratei,.sheet-princei,.sheet-raconteuri,.sheet-raideri,.sheet-seekeri, +.sheet-adventureri,.sheet-arbiteri,.sheet-harrieri,.sheet-rangeri,.sheet-ronini, +.sheet-scoundreli,.sheet-vagranti,.sheet-thiefi,.sheet-tinkeri{ + display: none; +} + +.sheet-adventurerx,.sheet-arbiterx,.sheet-harrierx,.sheet-rangerx,.sheet-roninx, +.sheet-scoundrelx,.sheet-vagrantx,.sheet-thiefx,.sheet-tinkerx { + display: none; +} +/*-- MENU - FIN --*/ + +/*-- IMAGENES - INICIO --*/ +.sheet-show-otraimg:not([value="1"]) ~ .sheet-container-otraimg .sheet-otraimg { + display: none; +} + +.sheet-menu-otraimg:not([value="sheet_otraimg"]) ~ .sheet-sheet_otraimg { + display: none; +} + +.sheet-otraimg { + background: rgba(0, 0, 0, 0.6); + position: absolute; + top: 0; + padding-top: 11px; + z-index: 10000; + left: 0; + width: 100%; + height: 2000px; +} + +.sheet-otraimg .sheet-content { + background: #f4eedb; + border: 2px solid #99925d ; + margin: 0 auto; + border-radius: 10px; + padding: 15px; +} + +.sheet-otraimg .sheet-sheet_otraimg { + width: 450px; + display: grid; + grid: auto/repeat(4, 25%); + grid-row-gap: 5px; + justify-content: space-between; +} + +.sheet-otraimg .sheet-column { + display: grid; + align-content: start; + grid-row-gap: 8px; + justify-items: center; +} + +.sheet-otraimg .sheet-label { + font-family: 'Double'; + font-size: 20px; + text-align: center; + margin: 3px 0; +} + +.sheet-otraimg .sheet-desc { + text-align: center; + font-size: 12px; + margin-bottom: 4px; +} + +.sheet-otraimg .sheet-footer { + grid-column: 1 / span 4; + font-size: 15px; + white-space: nowrap; + text-align: center; + font-style: italic; + align-self: center; +} + +.sheet-otraimg .sheet-cancelbutton { + align-self: center; + justify-self: end; +} + +button.sheet-generatebutton { + font-weight: bold; + font-variant: small-caps; + letter-spacing: 0.5px; + font-size: 14px; + padding: 2px 8px; + color: #99925d; + outline: none; + border: 1px solid #99925d; +} + +button.sheet-generatebutton:hover { + color: #3d4d47 ; + border-color: #3d4d47 ; +} + +button.sheet-generatebutton .sheet-optional { + font-size: 0.8em; + font-style: italic; +} + + +/*SELECCION HOJA*/ +.sheet-otraimg-mode[value="img1"] ~ .sheet-img1, +.sheet-otraimg-mode[value="img2"] ~ .sheet-img2, +.sheet-otraimg-mode[value="img3"] ~ .sheet-img3, +.sheet-otraimg-mode[value="img4"] ~ .sheet-img4, +.sheet-otraimg-mode[value="img5"] ~ .sheet-img5, +.sheet-otraimg-mode[value="img6"] ~ .sheet-img6, +.sheet-otraimg-mode[value="img7"] ~ .sheet-img7, +.sheet-otraimg-mode[value="img8"] ~ .sheet-img8, +.sheet-otraimg-mode[value="img9"] ~ .sheet-img9,.sheet-otraimg-mode[value="img10"] ~ .sheet-img10, +.sheet-otraimg-mode[value="img11"] ~ .sheet-img11,.sheet-otraimg-mode[value="img12"] ~ .sheet-img12,.sheet-otraimg-mode[value="img13"] ~ .sheet-img13,.sheet-otraimg-mode[value="img14"] ~ .sheet-img14,.sheet-otraimg-mode[value="img15"] ~ .sheet-img15,.sheet-otraimg-mode[value="img16"] ~ .sheet-img16,.sheet-otraimg-mode[value="img17"] ~ .sheet-img17,.sheet-otraimg-mode[value="img18"] ~ .sheet-img18,.sheet-otraimg-mode[value="img19"] ~ .sheet-img19,.sheet-otraimg-mode[value="img20"] ~ .sheet-img20, +.sheet-otraimg-mode[value="img21"] ~ .sheet-img21,.sheet-otraimg-mode[value="img22"] ~ .sheet-img22,.sheet-otraimg-mode[value="img23"] ~ .sheet-img23,.sheet-otraimg-mode[value="img24"] ~ .sheet-img24,.sheet-otraimg-mode[value="img25"] ~ .sheet-img25,.sheet-otraimg-mode[value="img26"] ~ .sheet-img26,.sheet-otraimg-mode[value="img27"] ~ .sheet-img27,.sheet-otraimg-mode[value="img28"] ~ .sheet-img28,.sheet-otraimg-mode[value="img29"] ~ .sheet-img29,.sheet-otraimg-mode[value="img30"] ~ .sheet-img30, +.sheet-otraimg-mode[value="img31"] ~ .sheet-img31,.sheet-otraimg-mode[value="img32"] ~ .sheet-img32,.sheet-otraimg-mode[value="img33"] ~ .sheet-img33,.sheet-otraimg-mode[value="img34"] ~ .sheet-img34,.sheet-otraimg-mode[value="img35"] ~ .sheet-img35,.sheet-otraimg-mode[value="img36"] ~ .sheet-img36,.sheet-otraimg-mode[value="img37"] ~ .sheet-img37,.sheet-otraimg-mode[value="img38"] ~ .sheet-img38,.sheet-otraimg-mode[value="img39"] ~ .sheet-img39,.sheet-otraimg-mode[value="img40"] ~ .sheet-img40, +.sheet-otraimg-mode[value="img41"] ~ .sheet-img41,.sheet-otraimg-mode[value="img42"] ~ .sheet-img42,.sheet-otraimg-mode[value="img43"] ~ .sheet-img43,.sheet-otraimg-mode[value="img44"] ~ .sheet-img44,.sheet-otraimg-mode[value="img45"] ~ .sheet-img45,.sheet-otraimg-mode[value="img46"] ~ .sheet-img46,.sheet-otraimg-mode[value="img47"] ~ .sheet-img47,.sheet-otraimg-mode[value="img48"] ~ .sheet-img48,.sheet-otraimg-mode[value="img49"] ~ .sheet-img49,.sheet-otraimg-mode[value="img50"] ~ .sheet-img50, +.sheet-otraimg-mode[value="img51"] ~ .sheet-img51,.sheet-otraimg-mode[value="img52"] ~ .sheet-img52,.sheet-otraimg-mode[value="img53"] ~ .sheet-img53,.sheet-otraimg-mode[value="img54"] ~ .sheet-img54,.sheet-otraimg-mode[value="img55"] ~ .sheet-img55, +.sheet-otraimg-mode[value="img56"] ~ .sheet-img56{ + display: block; +} + +.sheet-otraimg-type[value="char"] ~ .sheet-setting-char, +.sheet-otraimg-type[value="chan"] ~ .sheet-setting-chan +{ + display: block; +} + +.sheet-img1, +.sheet-img2, +.sheet-img3, +.sheet-img4, +.sheet-img5, +.sheet-img6, +.sheet-img7, +.sheet-img8, +.sheet-img9,.sheet-img10,.sheet-img11,.sheet-img12,.sheet-img13,.sheet-img14,.sheet-img15,.sheet-img16,.sheet-img17,.sheet-img18,.sheet-img19,.sheet-img20, +.sheet-img21,.sheet-img22,.sheet-img23,.sheet-img24,.sheet-img25,.sheet-img26,.sheet-img27,.sheet-img28,.sheet-img29,.sheet-img30, +.sheet-img31,.sheet-img32,.sheet-img33,.sheet-img34,.sheet-img35,.sheet-img36,.sheet-img37,.sheet-img38,.sheet-img39,.sheet-img40, +.sheet-img41,.sheet-img42,.sheet-img43,.sheet-img44,.sheet-img45,.sheet-img46,.sheet-img47,.sheet-img48,.sheet-img49,.sheet-img50, +.sheet-img51,.sheet-img52,.sheet-img53,.sheet-img54,.sheet-img55, +.sheet-img56{ + display: none; +} + +.sheet-img1x, +.sheet-img2x { + display: none; +} +/*-- IMAGENES - FIN --*/ +/*-- NATURE - INICIO --*/ +.sheet-show-nature:not([value="1"]) ~ .sheet-container-nature .sheet-nature { + display: none; +} + +.sheet-menu-nature:not([value="sheet_nature"]) ~ .sheet-sheet_nature { + display: none; +} + +.sheet-nature { + background: rgba(0, 0, 0, 0.6); + position: absolute; + top: 0; + padding-top: 100px;/*11px;*/ + z-index: 10000; + left: 0; + width: 100%; + height: 10000; +} + +.sheet-nature .sheet-content { + background: #eee; + border: 2px solid black; + margin: 0 auto; + border-radius: 10px; + padding: 15px; +} + +.sheet-nature .sheet-sheet_nature { + width: 450px; + display: grid; + grid: auto/repeat(3, 33%); + grid-row-gap: 5px; + justify-content: space-between; +} + +.sheet-nature .sheet-column { + display: grid; + align-content: start; + grid-row-gap: 8px; + justify-items: center; +} + +.sheet-nature .sheet-label { + font-family: 'Double'; + font-size: 20px; + text-align: center; + margin: 3px 0; +} + +.sheet-nature .sheet-desc { + text-align: center; + font-size: 12px; + margin-bottom: 4px; +} + +.sheet-nature .sheet-footer { + grid-column: 2; + font-size: 15px; + white-space: nowrap; + text-align: center; + font-style: italic; + align-self: center; +} + +.sheet-nature .sheet-cancelbutton { + align-self: center; + justify-self: end; +} + +.sheet-nature-mode[value="nature1"] ~ .sheet-nature1, +.sheet-nature-mode[value="nature2"] ~ .sheet-nature2, +.sheet-nature-mode[value="nature3"] ~ .sheet-nature3, +.sheet-nature-mode[value="nature4"] ~ .sheet-nature4, +.sheet-nature-mode[value="nature5"] ~ .sheet-nature5, +.sheet-nature-mode[value="nature6"] ~ .sheet-nature6, +.sheet-nature-mode[value="nature7"] ~ .sheet-nature7, +.sheet-nature-mode[value="nature8"] ~ .sheet-nature8, +.sheet-nature-mode[value="nature9"] ~ .sheet-nature9, +.sheet-nature-mode[value="nature10"] ~ .sheet-nature10, +.sheet-nature-mode[value="nature11"] ~ .sheet-nature11, +.sheet-nature-mode[value="nature12"] ~ .sheet-nature12, +.sheet-nature-mode[value="nature13"] ~ .sheet-nature13, +.sheet-nature-mode[value="nature14"] ~ .sheet-nature14, +.sheet-nature-mode[value="nature15"] ~ .sheet-nature15,, +.sheet-nature-mode[value="nature16"] ~ .sheet-nature16, +.sheet-nature-mode[value="nature17"] ~ .sheet-nature17, +.sheet-nature-mode[value="nature18"] ~ .sheet-nature18{ + display: block; +} + +.sheet-nature-type[value="char"] ~ .sheet-setting-char, +.sheet-nature-type[value="chan"] ~ .sheet-setting-chan +{ + display: block; +} + +.sheet-nature1, +.sheet-nature2, +.sheet-nature3, +.sheet-nature4, +.sheet-nature5, +.sheet-nature6, +.sheet-nature7, +.sheet-nature8, +.sheet-nature9, +.sheet-nature10, +.sheet-nature11, +.sheet-nature12, +.sheet-nature13, +.sheet-nature14, +.sheet-nature15, +.sheet-nature16, +.sheet-nature17, +.sheet-nature18{ + display: none; +} + +.sheet-nature1x, +.sheet-nature2x { + display: none; +} +/*-- IMAGENES - FIN --*/ + + +/* + + +.sheet-top-container { +display: grid; +grid-template-columns:266px 263px 263px; +grid-template-rows: auto; +align-content: center; + +column-gap: 15px; +row-gap: 8px; +border: 10px solid #FF0000; + +grid-template-areas: +"clase-p clase-p barrio-p" +"name-p stats-p barrio-p"; +} +.sheet-item-clase-p{ +grid-area:clase-p; +border: 2px solid #BBBBBB; +} + +.sheet-top-clase-p +{ +display: grid; +grid-template-columns:20% 20% 20% 20% 20%; +grid-template-rows: auto; +grid-template-areas: +"top-clase-imagen-p top-clase-titulo-p top-clase-titulo-p top-clase-titulo-p top-clase-titulo-p" +"top-clase-imagen-p top-clase-dsc-p top-clase-dsc-p top-clase-dsc-p top-clase-dsc-p"; +} +.sheet-item-top-clase-imagen-p{ +grid-area:top-clase-imagen-p; +border: 2px solid powderblue; +} + +.sheet-imagen{ + width:105px; + height:116px; +} +.sheet-imagen-titulo{ + width:180px; + padding-top:10px; +} + +*/ +.sheet-input-faction { + height: 10px; + width: 100px; + font-family: serif; + font-size: 20px; + padding: 0; + margin: 0; + border: none; + border-bottom: 1px solid #3D4D47; + background: transparent; + outline:none; +} + +.sheet-imagen{ + width:97px; + height:97px; +} +.sheet-imagen-titulo{ + width:180px; + padding-top:10px; +} + +.sheet-input-text-stat +{ + width:40px; + height:40px; + font-size: 22px; + font-weight:bold; + text-align:center; + background-repeat: no-repeat; + background-size:cover;/*35px 35px;*/ + background-image:url(https://programmancer.000webhostapp.com/root/img/statbox.png); + border:0px; + padding-top:8px; + outline: none; + font-family: 'GandhiSansBold','La Ghandi Sans','Helvetica'; +} +.sheet-div-numerito{ +display:inline; +position:relative; +} + +.sheet-label-numerito{ +display:inline; +font-size:13px; +color:#909090; +position:absolute; +top:-9px; +font-family:'La Ghandi Sans','Helvetica',sans-serif; + +} + + +/*--FUENTES*/ +.sheet-nombre{ + font-family:'Luminari','Helvetica',sans-serif; +} + +/*Basic moves*/ +.sheet-titulo { + display: grid; + grid: auto / 5px auto; + height: 15px; + width: 100%; + justify-items:start; + grid-gap: 4px; + padding: 0; + margin: 0; + border: 0px solid #0FF; + /*background: #dedede;*/ +} +.sheet-character{ + color: #FFF; + text-align: left; + /*width:100%;*/ + /*height:100%;*/ + /*justify-self: start;*/ + /*padding-top:21px;*/ + place-self: center start; + border: 0px solid #F00; +} + +button[type="roll"] { + text-shadow: none; + background: transparent; + box-shadow: none; + box-sizing: border-box; + /*font-weight: bold;*/ + /*font-family: 'Double';*/ + outline: none; + border-radius: 0; + transition: all 0.2s; + color: #000; + + font-weight: 400; + font-size: 1px; + font-family: serif; + /*font-variant: small-caps;*/ + padding: 5px 0 0 0; + +} +button[type="roll"].btn::before { + content: ""; + outline: none; +} + +button[type="roll"].sheet-buttonroll { + display: flex; + border: none; + margin: 0; + padding: 0; + outline: none; + font-size:46px; +} + +button[type="roll"].sheet-buttonroll:hover { + color: #999;/*#d3d3d3;*/ + outline: none; +} +button[type="roll"].sheet-buttonrollstats { + display: flex; + border: none; + margin: 0; + padding: 0; + outline: none; + font-size:20px; + font-family:'Luminari',serif; + color:#3D4D47; +} + +button[type="roll"].sheet-buttonrollstats:hover { + color: #999;/*#d3d3d3;*/ + outline: none; +} + +button[type=roll].sheet-buttonbroadcast { + + font-family: pictos; + position: absolute; + border: none; + margin: 0; + padding: 0; + z-index: 3; +} + +button[type=roll].sheet-buttondados { + position: absolute; + border: none; + margin: 0; + padding: 0; + z-index: 3; +} + + +.sheet-diceicon{ + background-image:url(https://programmancer.000webhostapp.com/root/img/diceicon.png); + background-repeat: no-repeat; + background-size: 25px 15px; + height:15px; + width:25px; + margin-top:1px; +} +.sheet-diceicon:hover { + background-image:url(https://programmancer.000webhostapp.com/root/img/diceicon.png); + background-repeat: no-repeat; + background-size: 25px 15px; + height:15px; + width:25px; + margin-top:1px; +} + +.sheet-voluta{ + background-image:url(http://nahualrpg.com/roll20/nahuales/volutag.png); + background-repeat: no-repeat; + background-size: 16px 10px; + height:10px; + width:16px; + margin-top:4px; +} +.sheet-voluta:hover { + background-image:url(http://nahualrpg.com/roll20/nahuales/volutan.png); + background-repeat: no-repeat; + background-size: 16px 10px; + height:10px; + width:16px; + margin-top:4px; +} +/*--Grid 3 cols para equipos - INICIO--*/ +.sheet-equipmentren { grid-area: eren; } +.sheet-equipmentcol1 { grid-area: ecol1; } +.sheet-equipmentcol2 { grid-area: ecol2; } +.sheet-equipmentcol3 { grid-area: ecol3; } + +.sheet-grid-equipmentitems { + display: grid; + grid-template-areas: + 'eren eren eren' + 'ecol1 ecol2 ecol3'; + + /*background-color: #2196F3;*/ + gap:6px; + padding:0; + /*background-image: url("https://programmancer.000webhostapp.com/root/img/bg.jpg"); */ +} +/*--Grid 3 cols para equipos - - FIN--*/ +/*--Grid 2 cols para extras - INICIO--*/ +.sheet-othercol1 { grid-area: other1; } +.sheet-othercol2 { grid-area: other2; } + +.sheet-grid-othermoves { + display: grid; + grid-template-areas: + 'other1 other2 other2'; + + /*background-color: #2196F3;*/ + gap:6px; + padding:0; + /*background-image: url("https://programmancer.000webhostapp.com/root/img/bg.jpg"); */ +} +/*--Grid 2 cols para extras - FIN--*/ + + +/*--Grid 3 cols - se usa en las pestañas - INICIO--*/ +.sheet-3columnas1 { grid-area: col1; } +.sheet-3columnas2 { grid-area: col2; } +.sheet-3columnas3 { grid-area: col3; } + +.sheet-grid-3columnas { + display: grid; + grid-template-areas: + 'col1 col2 col3'; + + /*background-color: #2196F3;*/ + gap:6px; + padding:0; + /*background-image: url("https://programmancer.000webhostapp.com/root/img/bg.jpg"); */ +} + +.sheet-grid-3columnas > div { + /*background-color: rgba(255, 255, 255, 0.8);*/ + text-align: left; + padding: 0; + font-size: 15px; +} +/*--Grid 3 cols - se usa en las pestañas - FIN--*/ + +/*--parte superior - INICIO--*/ +.sheet-item1 { grid-area: perfil; } +.sheet-item2 { grid-area: stats; } +.sheet-item3 { grid-area: harm; } +.sheet-item4 { grid-area: roguish; } +.sheet-item5 { grid-area: basic; } +.sheet-item6 { grid-area: weapon; } +.sheet-item7 { grid-area: reputation; } + +.sheet-grid-container { + display: grid; + + grid-template-columns:260px 260px 260px; + align-content: center; + grid-template-areas: + 'perfil stats basic' + 'perfil harm weapon' + 'perfil roguish weapon' + 'perfil roguish weapon' + 'perfil roguish weapon' + 'reputation reputation reputation'; + column-gap: 19px; + row-gap:19px; + /*background-color: #2196F3;*/ + padding: 15px; + /*background-image: url("https://programmancer.000webhostapp.com/root/img/bg.jpg"); */ +} + +.sheet-grid-container > div { + /*background-color: rgba(255, 255, 255, 0.8);*/ + text-align: center; + padding: 0; + font-size: 30px; +} +/*--parte superior - FIN--*/ +textarea { + resize:none; +} + +textarea::-webkit-scrollbar { + width: 2px; +} + +textarea::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); +} + +textarea::-webkit-scrollbar-thumb { + background-color: #555; + outline: 1px solid #555; +} + +/*--HARM --*/ +.sheet-div-harm { + display: grid; + grid: auto / 17px 17px 17px 17px 17px 17px 17px 17px; + justify-items:start; + grid-gap: 0px; + /*padding: 0;*/ + /*margin: 0;*/ + border: 0px solid #F00; +} +.sheet-div-harm-harm{ + color: #FFF; + /*text-align: left;*/ + /*padding-top:21px;*/ + align-self: center; + justify-self: start; + border: 0px solid #0FF; + padding-top: 4px; + margin:0; +} +.sheet-div-harm-in{ + color: #FFF; + /*text-align: left;*/ + /*padding-top:21px;*/ + align-self: center; + justify-self: start; + border: 0px solid #0FF; + padding:0; + margin:0; +} + +/**container-harm*/ +.sheet-container-harm { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-harm input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-harm { + position: absolute; + top: 0px; + left: 0; + height: 12px; + width: 12px; + background-color: #fff; /*#eee*/ + border: 1px solid #99925D; +} + +.sheet-container-harm:hover input ~ .sheet-checkmark-harm { + background-color: #FFF; /*ccc*/ +} + +.sheet-container-harm input:checked ~ .sheet-checkmark-harm { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #99925D; +} + +.sheet-checkmark-harm:after { + content: ""; + position: absolute; + display: none; +} +.sheet-container-harm input:checked ~ .sheet-checkmark-harm:after { + display: block; +} + +.sheet-container-harm .sheet-checkmark-harm:after { + left: -1000px; + top: -1000px; + width: 0px; + height: 0px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*****************************************************************************************/ +.sheet-barrioq{ +display: grid; +grid: auto/ 18px auto; +grid-gap: 2px; +} + +.sheet-container-vices { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-vices input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +/* Create a custom checkbox */ +.sheet-checkmark-vices { + position: absolute; + top: 5px; + left: 0; + height: 8px; + width: 8px; + background-color: #fff; /*#eee*/ + border: 1px solid #99925D; +} + +/* On mouse-over, add a grey background color */ +.sheet-container-vices:hover input ~ .sheet-checkmark-vices { + background-color: #FFF; /*ccc*/ +} + +/* When the checkbox is checked, add a blue background */ +.sheet-container-vices input:checked ~ .sheet-checkmark-vices { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #99925D; +} + +/* Create the checkmark/indicator (hidden when not checked) */ +.sheet-checkmark-vices:after { + content: ""; + position: absolute; + display: none; +} +/* Show the checkmark when checked */ +.sheet-container-vices input:checked ~ .sheet-checkmark-vices:after { + display: block; +} + +/* Style the checkmark/indicator */ +.sheet-container-vices .sheet-checkmark-vices:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +/* -- ROGUISH FEATS -- */ +.sheet-columna1 { grid-area: columna1; } +.sheet-columna2 { grid-area: columna2; } +.sheet-grid-container-columnas { + display: grid; + grid-template-areas: + 'columna1'; + gap: 1px; + padding: 1px; +} + + +/* -- YOUR REPUTATION --*/ +/* -- ROGUISH FEATS -- */ +.sheet-rep1 { grid-area: rep1; } +.sheet-rep2 { grid-area: rep2; } +.sheet-grid-container-rep { + display: grid; + grid-template-areas: + 'rep1 rep2 rep2 rep2'; + gap: 1px; + padding: 1px; +} + +.sheet-grid-container-rep > div { + text-align: left; + /*padding-left:10px;*/ +} +/*-- TEMPLATE ROOTWEAPON- INICIO --*/ +.sheet-rolltemplate-rootweapon { +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/WeaponSkill-MISS.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootmiss .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/WeaponSkill-HIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-roothit .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/WeaponSkill-FULLHIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootweapon .sheet-roll-rootfull .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +/*-- TEMPLATE ROOTWEAPON FIN --*/ +/*-- TEMPLATE BROADCAST -- INICIO --*/ +.sheet-rolltemplate-broadcast { + /*width: 299px;*/ + /*height: 258px;*/ + padding: 0px; + margin:0 -5px -4px -45px; + /* + background: + background-size: 282px 104px; + background-repeat: no-repeat; + */ + color: white; + background-color: #f4eedb; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} +/*-- TEMPLATE ROOTREPUTATION- INICIO --*/ +.sheet-rolltemplate-rootreputation { +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/ReputationRoll.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootmiss .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/ReputationRoll.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-roothit .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/ReputationRoll.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootreputation .sheet-roll-rootfull .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +/*-- TEMPLATE ROOTREPUTATION- FIN --*/ + +/*-- TEMPLATE ROOTSTATS - INICIO --*/ +.sheet-rolltemplate-rootstats { +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/BasicMoves-MISS.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootmiss .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/BasicMoves-HIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-roothit .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/BasicMoves-FULLHIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-success .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-failure .inlinerollresult, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-rootstats .sheet-roll-rootfull .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +/*-- TEMPLATE ROOTSTATS - FIN --*/ +/*-- TEMPLATE ROOTTIRADAS - INICIO --*/ +.sheet-rolltemplate-roottiradas { +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/StatRoll-MISS.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-success .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-failure .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootmiss .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/StatRoll-HIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-success .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-failure .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-roothit .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull{ + /*width: 299px;*/ + height: 258px; + padding: 0px; + margin:0 -5px -4px -45px; + background: url(https://programmancer.000webhostapp.com/root/img/StatRoll-FULLHIT.jpg); + background-size: 282px 258px; + background-repeat: no-repeat; + color: white; + /*font-weight: bold;*/ + /*text-shadow: 2px 2px #171819;*/ + border: 0px solid black; + border-spacing: 0; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-rollroot{ + display: grid; + grid: auto/ 280px; + grid-gap: 2px; + padding-top: 25px; + padding-left: 20px; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-rollroot .sheet-roll{ + justify-self:start; + align-self: center; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-success .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-success .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-success .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-success .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-failure .inlinerollresult, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullcrit, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-failure .inlinerollresult.fullfail, +.sheet-rolltemplate-roottiradas .sheet-roll-rootfull .sheet-failure .inlinerollresult.importantroll{ + background-color: transparent; + border: none; + font-weight: normal; +} + +/*-- TEMPLATE ROOTTIRADAS - FIN --*/ + +/*-- REPUTATION ROJO--*/ +.sheet-container-reprojo { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-reprojo input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +/* Create a custom checkbox */ +.sheet-checkmark-reprojo { + position: absolute; + top: 5px; + left: 0; + height: 12px; + width: 12px; + border-radius:4px; + background-color: #fff; /*#eee*/ + border: 1px solid #670C0C; +} + +/* On mouse-over, add a grey background color */ +.sheet-container-reprojo:hover input ~ .sheet-checkmark-reprojo { + background-color: #FFF; /*ccc*/ +} + +/* When the checkbox is checked, add a blue background */ +.sheet-container-reprojo input:checked ~ .sheet-checkmark-reprojo { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #670C0C; +} + +/* Create the checkmark/indicator (hidden when not checked) */ +.sheet-checkmark-reprojo:after { + content: ""; + position: absolute; + display: none; +} +/* Show the checkmark when checked */ +.sheet-container-reprojo input:checked ~ .sheet-checkmark-reprojo:after { + display: block; +} + +/* Style the checkmark/indicator */ +.sheet-container-reprojo .sheet-checkmark-reprojo:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- REPUTATION NEGRO--*/ +.sheet-container-repnegro { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-repnegro input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +/* Create a custom checkbox */ +.sheet-checkmark-repnegro { + position: absolute; + top: 5px; + left: 0; + height: 12px; + width: 12px; + border-radius:4px; + background-color: #fff; /*#eee*/ + border: 1px solid #000000; +} + +/* On mouse-over, add a grey background color */ +.sheet-container-repnegro:hover input ~ .sheet-checkmark-repnegro { + background-color: #FFF; /*ccc*/ +} + +/* When the checkbox is checked, add a blue background */ +.sheet-container-repnegro input:checked ~ .sheet-checkmark-repnegro { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #000000; +} + +/* Create the checkmark/indicator (hidden when not checked) */ +.sheet-checkmark-repnegro:after { + content: ""; + position: absolute; + display: none; +} +/* Show the checkmark when checked */ +.sheet-container-repnegro input:checked ~ .sheet-checkmark-repnegro:after { + display: block; +} + +/* Style the checkmark/indicator */ +.sheet-container-repnegro .sheet-checkmark-repnegro:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- REPUTATION VERDE--*/ +.sheet-container-repverde { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-repverde input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +/* Create a custom checkbox */ +.sheet-checkmark-repverde { + position: absolute; + top: 5px; + left: 0; + height: 12px; + width: 12px; + border-radius:4px; + background-color: #fff; /*#eee*/ + border: 1px solid #005023; +} + +/* On mouse-over, add a grey background color */ +.sheet-container-repverde:hover input ~ .sheet-checkmark-repverde { + background-color: #FFF; /*ccc*/ +} + +/* When the checkbox is checked, add a blue background */ +.sheet-container-repverde input:checked ~ .sheet-checkmark-repverde { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #005023; +} + +/* Create the checkmark/indicator (hidden when not checked) */ +.sheet-checkmark-repverde:after { + content: ""; + position: absolute; + display: none; +} +/* Show the checkmark when checked */ +.sheet-container-repverde input:checked ~ .sheet-checkmark-repverde:after { + display: block; +} + +/* Style the checkmark/indicator */ +.sheet-container-repverde .sheet-checkmark-repverde:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +/*-- habilitarEquipos --*/ +.sheet-container-equipos { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-equipos input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-equipos { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/eyeoff.svg"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-equipos:hover input ~ .sheet-checkmark-equipos { + /*background-color: #f4eedb;*/ /*ccc*/ +} + +.sheet-container-equipos input:checked ~ .sheet-checkmark-equipos { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/eyeon.svg"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-equipos:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-equipos input:checked ~ .sheet-checkmark-equipos:after { + display: block; +} + +.sheet-container-equipos .sheet-checkmark-equipos:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + + +/*-- -3 --*/ +.sheet-container-menos3 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-menos3 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-menos3 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos3.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-menos3:hover input ~ .sheet-checkmark-menos3 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-menos3 input:checked ~ .sheet-checkmark-menos3 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos3-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-menos3:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-menos3 input:checked ~ .sheet-checkmark-menos3:after { + display: block; +} + +.sheet-container-menos3 .sheet-checkmark-menos3:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/**/ +.sheet-container-menos2 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-menos2 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-menos2 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos2.png"); + background-size: cover; + border: 0px solid #FF0000; +} + +.sheet-container-menos2:hover input ~ .sheet-checkmark-menos2 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-menos2 input:checked ~ .sheet-checkmark-menos2 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos2-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-menos2:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-menos2 input:checked ~ .sheet-checkmark-menos2:after { + display: block; +} + +.sheet-container-menos2 .sheet-checkmark-menos2:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- -1 --*/ +.sheet-container-menos1 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-menos1 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-menos1 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos1.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-menos1:hover input ~ .sheet-checkmark-menos1 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-menos1 input:checked ~ .sheet-checkmark-menos1 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/menos1-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-menos1:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-menos1 input:checked ~ .sheet-checkmark-menos1:after { + display: block; +} + +.sheet-container-menos1 .sheet-checkmark-menos1:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- +0 --*/ +.sheet-container-mas0 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-mas0 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-mas0 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas0.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-mas0:hover input ~ .sheet-checkmark-mas0 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-mas0 input:checked ~ .sheet-checkmark-mas0 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas0-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-mas0:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-mas0 input:checked ~ .sheet-checkmark-mas0:after { + display: block; +} + +.sheet-container-mas0 .sheet-checkmark-mas0:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- +1 --*/ +.sheet-container-mas1 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-mas1 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-mas1 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas1.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-mas1:hover input ~ .sheet-checkmark-mas1 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-mas1 input:checked ~ .sheet-checkmark-mas1 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas1-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-mas1:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-mas1 input:checked ~ .sheet-checkmark-mas1:after { + display: block; +} + +.sheet-container-mas1 .sheet-checkmark-mas1:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- +2 --*/ +.sheet-container-mas2 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-mas2 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-mas2 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas2.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-mas2:hover input ~ .sheet-checkmark-mas2 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-mas2 input:checked ~ .sheet-checkmark-mas2 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas2-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-mas2:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-mas2 input:checked ~ .sheet-checkmark-mas2:after { + display: block; +} + +.sheet-container-mas2 .sheet-checkmark-mas2:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*-- +3 --*/ +.sheet-container-mas3 { + display: block; + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.sheet-container-mas3 input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-mas3 { /*este es el cuadrito blanco*/ + position: absolute; + top: 5px; + left: 0; + height: 16px; + width: 16px; + /*background-color: #fff; */ + /*border: 1px solid #0000ff;*/ + + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas3.png"); + background-size: cover; + border: 0px solid #FF0000; + + +} + +.sheet-container-mas3:hover input ~ .sheet-checkmark-mas3 { + background-color: #f4eedb; /*ccc*/ +} + +.sheet-container-mas3 input:checked ~ .sheet-checkmark-mas3 { + background-color: #FFF; /*2196F3*/ + background: url("https://programmancer.000webhostapp.com/root/img/mas3-c.png"); + background-size: cover; + border: 0px solid #00FFFF; +} + +.sheet-checkmark-mas3:after { + content: ""; + position: absolute; + display: none; +} + +.sheet-container-mas3 input:checked ~ .sheet-checkmark-mas3:after { + display: block; +} + +.sheet-container-mas3 .sheet-checkmark-mas3:after { + left: -1000px; + top: 5px; + width: 5px; + height: 10px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + + +/*-- PESTAÑAS TAB - INICIO --*/ +div.sheet-tab-content { display: none; } + +input.sheet-tab1:checked ~ div.sheet-tab1, +input.sheet-tab2:checked ~ div.sheet-tab2, +input.sheet-tab3:checked ~ div.sheet-tab3, +input.sheet-tab4:checked ~ div.sheet-tab4 +{ + display: block; +} + +input.sheet-tab1:checked + span.sheet-tab1, +input.sheet-tab2:checked + span.sheet-tab2, +input.sheet-tab3:checked + span.sheet-tab3, +input.sheet-tab4:checked + span.sheet-tab4{ +/* background: gray; + color: white;*/ + color:#e0e0e0; + background:#000000; +} + +input.sheet-tab +{ + width: 200px; + height: 30px; + position: relative; + top: 5px; + left: 6px; + margin-left: -4.3px; + margin-top: -1.5px; + cursor: pointer; + opacity: 0; + z-index: 9999; +} +span.sheet-tab { + outline:none; + border:0px; + height:40px; + width:200px; + /*font-weight:bold;*/ + font-size:20px; + font-family:Luminari,serif; + padding:0; + /*margin:0;*/ + text-align: center; + + color:#ffffff; + background:#4e748a; + + position: relative; + margin-left: -200px; + cursor:pointer; + display:inline-block; + /* + display: inline-block; + font-size: 13px; + background: white; + color: gray; + font-weight: bold; + width: 70px; + height: 20px; + cursor: pointer; + position: relative; + margin-left: -75px; + */ +} +input.sheet-tab::before +{ + content: attr(title); + border: solid 1px #a8a8a8; + border-bottom-color: black; + text-align: center; + display: inline-block; + background: #fff; + background: -moz-linear-gradient(to top, #c8c8c8, #fff, #c8c8c8); + background: -webkit-linear-gradient(to top, #c8c8c8, #fff, #c8c8c8); + background: -ms-linear-gradient(to top, #c8c8c8, #fff, #c8c8c8); + background: -o-linear-gradient(to top, #c8c8c8, #fff, #c8c8c8); + background: linear-gradient(to top, #c8c8c8, #fff, #c8c8c8); + width: 50px; + height: 20px; + font-size: 18px; +} + +input.sheet-tab:checked::before +{ + background: #dcdcdc; + background: -moz-linear-gradient(to top, #fcfcfc, #dcdcdc, #fcfcfc); + background: -webkit-linear-gradient(to top, #fcfcfc, #dcdcdc, #fcfcfc); + background: -ms-linear-gradient(to top, #fcfcfc, #dcdcdc, #fcfcfc); + background: -o-linear-gradient(to top, #fcfcfc, #dcdcdc, #fcfcfc); + background: linear-gradient(to top, #fcfcfc, #dcdcdc, #fcfcfc); + border-bottom-color: #fff; +} + +input.sheet-tab:not(:first-child)::before +{ + border-left: none; +} + +div.sheet-tab-content +{ + + border: 1px solid #a8a8a8; + border-top-color: #000; + margin: 0; + padding: 0; + + +} + +/*-- PESTAÑAS TAB - FIN --*/ +/*-- CSS GRID EQUIPMENT --*/ + +.sheet-eqm1 { grid-area: name; } +.sheet-eqm3 { grid-area: value; } +.sheet-eqm4 { grid-area: load; } +.sheet-eqm5 { grid-area: range; } +.sheet-eqm6 { grid-area: weapons; } +.sheet-eqm7 { grid-area: tags; } + +.sheet-grid-equipment { + display: grid; + grid-template-areas: + 'name name' + 'value load ' + 'range range ' + 'weapons weapons' + 'tags tags'; + gap: 0px; + + justify-content: start; + grid-template-columns: auto auto auto auto; + + align-items: center; +} +/*-- --*/ +/*--HARM --*/ +.sheet-div-wear { + display: grid; + grid: auto / 17px 17px 17px 17px 17px 17px 17px 17px 17px 17px 5px; + justify-items:end; + grid-gap: 0px; + border: 0px solid #F00; +} +.sheet-div-wear-wear{ + color: #FFF; + /*text-align: left;*/ + /*padding-top:21px;*/ + align-self: center; + justify-self: start; + border: 0px solid #0FF; + padding-top: 4px; + margin:0; +} +.sheet-div-wear-in{ + color: #FFF; + /*text-align: left;*/ + /*padding-top:21px;*/ + align-self: center; + justify-self: start; + border: 0px solid #0FF; + padding:0; + margin:0; +} + +/**container-wear*/ +.sheet-container-wear { + /*display: block;*/ + position: relative; + padding-left: 35px; + margin-bottom: 12px; + cursor: pointer; + font-size: 22px; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +/* Hide the browser's default checkbox */ +.sheet-container-wear input { + position: absolute; + opacity: 0; + cursor: pointer; + height: 0; + width: 0; +} + +.sheet-checkmark-wear { + position: absolute; + top: 0px; + left: 0; + height: 12px; + width: 12px; + background-color: #fff; /*#eee*/ + border: 1px solid #99925D; +} + +.sheet-container-wear:hover input ~ .sheet-checkmark-wear { + background-color: #FFF; /*ccc*/ +} + +.sheet-container-wear input:checked ~ .sheet-checkmark-wear { + background-color: #FFF; /*2196F3*/ + background: url("http://nahualrpg.com/roll20/nahuales/x1.jpg"); + background-size: cover; + border: 1px solid #99925D; +} + +.sheet-checkmark-wear:after { + content: ""; + position: absolute; + display: none; +} +.sheet-container-wear input:checked ~ .sheet-checkmark-wear:after { + display: block; +} + +.sheet-container-wear .sheet-checkmark-wear:after { + left: -1000px; + top: -1000px; + width: 0px; + height: 0px; + border: solid white; + border-width: 0 3px 3px 0; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} +/*****************************************************************************************/ +/*YOUR MOVES - INICIO*/ +.sheet-vices{ +display: grid; +grid-template-columns:13px auto; +/*grid-template-rows: auto auto;*/ +grid-gap: 0px; +grid-template-areas: +"vices1 vices2" +"vices3 vices3"; + +} +.sheet-vices1{ +grid-area:vices1; +width:1px; +justify-self: start: +align-self: end; +border: 0px solid #909090; +} +.sheet-vices2{ +grid-area:vices2; +justify-self: start: +align-self: end; +padding-top: 2px; +border: 0px solid #909090; +} +.sheet-vices3{ +grid-area:vices3; +justify-self: start: +align-self: end; +border: 0px solid #909090; +} +/**/ + +/*YOUR MOVES - FIN*/ + diff --git a/root/root.html b/root/root.html new file mode 100644 index 0000000000..f26a27dc83 --- /dev/null +++ b/root/root.html @@ -0,0 +1,27817 @@ + +
+
+ + +
+ +
+ + + + + + + + +
+
+ + + + + + + + +
+
+ + + + + + + + +
+ +
+
+
+ + +
+
+ + +
+ +
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + +
+
+
+
+ + + + + +
+
+ + + + + + + +
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + +
+
+
+ +
+
 
+
+ + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + + +
+
 
+ +
+ + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
 
+ +
+ + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + +
+
 
+ +
+ + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
 
+ +
+ + + + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ + + +
+
+ + +
+
+
+ + + +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+ + +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ + + + + +
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+
+
+
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+
 
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ +
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ + +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+
 
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+ +
+ + + + +
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+ + +
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+ +
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+ +
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+ +
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+ + +
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+ +
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+ + +
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+
 
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+ + +
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+
+ + + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + +
+
+
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+ +
+
+
+ + + + + +
+
+ + +
+ + Character + + Your Moves + + Your Equipment + + Extras + +
+
+
+ + + + + + + +
 
+ + + + + + + + + +
+
+ + + + +
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+ +
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+ + + + +
+ +
+
 
+
+
+ +
+ + + + + +
+
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+ + + +
+ +
+ +
+
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+
+
+
+ + + +
+ +
+ +
+
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+
+
+ + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+ +
+ + +
+ +
+ +
+
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+ +
+
+
+ + + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+ + + +
+ +
+ +
+
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+
+
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+ + + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+
+
+ + +
+ +
+ +
+
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+ +
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+
+
+ + + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+ +
+ + +
+ +
+ +
+
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+ +
+
+
+ + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+ +
+ + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+ +
+
+
+ + + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+ +
+ + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+ +
+
+ + +
+ +
+ + +
+ +
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+ + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+
+
+
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+ + + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+
+
+
+ + + +
+ +
+ +
+
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+ + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+ +
+
+
+ + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+ + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+ +
+
+
+ + +
+ +
+ +
+
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+ + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+
+
+ + +
+ +
+ +
+
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+ + +
+ +
+ +
+
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+
+
+
+ + +
+ +
+ + +
+ +
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+ +
+ + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+
+
+
+ + +
+ +
+ + +
+ +
+ When you help them, you can mark 2-exhaustion to give a +2, instead of 1-exhaustion for a +1. +
+ +
+ + +
+ +
+ +
+
+ When you help them fulfill their nature, you both clear your exhaustion track. +
+ +
+
+
+ + + +
+ +
+ + +
+ +
+ When they are in reach, mark exhaustion to take a blow meant for them. If you do, take +1 ongoing to weapon moves for the rest of the scene. +
+ +
+ + +
+ +
+ +
+
+ When you figure them out, you always hold 1, even on a miss. When you plead with them to go along with you, you can let them clear 2-exhaustion instead of 1. +
+ +
+
+
+ + +
+ +
+ + +
+ +
+ When you fill in this connection, you each mark 2-prestige with the faction you helped, and mark 2-notoriety with the faction you harmed. During play, if you are spotted together, then any prestige or notoriety gains with those factions are doubled for the two of you. +
+ +
+ + +
+ +
+ +
+
+ If you share information with them after reading a tense situation, you both benefit from the +1 for acting on the answers. If you help them while they attempt a roguish feat, you gain choices on the help move as if you had marked 2-exhaustion when you mark 1-exhaustion. +
+
+ +
 
+ + + +
+ + + +
+
 
+ +
+
+
+
+
+
+ + + +
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
 
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
+ +
+ +
+
+ +
+ +
+ +
+
+ + + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+
+
+
+ +
+
+ + + + + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
+ +
+ +
+ + + + + + +
+ + +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+ + +
+ + + + + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ + + + + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ + + + + +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+ + +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+ +
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+ +
 
+ +
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+
+
+ +
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+ +
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+
+ +
+ + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ +
+
+ + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ +
+
+ + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ + + +
+ + + + +
+ +
+
+ + +
+
+ + + + +
+ + + + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ + +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+
+ + + + + + +
+
+ + +
+ +
 
+
+ + +
+ + + +
+ +
 
+
+ + +
+ + + +
+ + +
 
+
+ + +
+ + +
+ +
 
+
 
+
+ +
+
+
+
+
+
+ + +
+ + +
+
 
+
+
+ + +
+
+
+
+ + + + {{#rollGreater() result 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollGreater() result 9}} + {{#rollBetween() result 7 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollBetween() result 7 9}} + {{#rollLess() result 7}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollLess() result 7}} +
+ + + {{#rollGreater() result 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollGreater() result 9}} + {{#rollBetween() result 7 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollBetween() result 7 9}} + {{#rollLess() result 7}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollLess() result 7}} +
+ + + + {{#rollGreater() result 9}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollGreater() result 9}} + {{#rollBetween() result 7 9}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollBetween() result 7 9}} + {{#rollLess() result 7}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollLess() result 7}} +
+ + + {{#rollGreater() result 9}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollGreater() result 9}} + {{#rollBetween() result 7 9}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollBetween() result 7 9}} + {{#rollLess() result 7}} +
+
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+ {{/rollLess() result 7}} +
+ + + {{#rollGreater() result 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+
+ {{/rollGreater() result 9}} + {{#rollBetween() result 7 9}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+
+ {{/rollBetween() result 7 9}} + {{#rollLess() result 7}} +
+
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
 
+
+ +
+
+
+
+ {{/rollLess() result 7}} +
+ + +
+
+
 
+
+ +
+
 
+
+ +
+
+
 
+
+ +
+
+
+
+ + + + + + diff --git a/root/sheet.json b/root/sheet.json new file mode 100644 index 0000000000..fc9c0b90ee --- /dev/null +++ b/root/sheet.json @@ -0,0 +1,9 @@ +{ + "html": "root.html", + "css": "root.css", + "authors": "Jesús Roberto Martínez, Miguel Ángel Espinoza", + "roll20userid": "505520,258510", + "preview": "root.PNG", + "instructions": "Root: The Roleplaying Game is the officially-licensed tabletop RPG based on the award-winning Root: A Game of Woodland Might and Right board game by Leder Games. In Root: The RPG, you play vagabonds, individual outlaws whose adventures and alliances define the Woodland forever.", + "legacy": true +} \ No newline at end of file diff --git a/root/translation.json b/root/translation.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translation.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
  • is your character telling the truth?
  • what is your character really feeling?
  • what does your character intend to do?
  • what does your character wish I’d do?
  • how could I get your character to _______?
", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
  • what’s my best way out / in / through?
  • who or what is the biggest threat?
  • who or what is most vulnerable to me?
  • what should I be on the lookout for?
  • who is in control here?
", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
  • they hesitate; you shake their confidence or weaken their morale.
  • they stumble; you gain a critical opportunity.
  • they overreact; take +1 forward against them.
", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
  • conceal your help or interference
  • create an opportunity or obstacle
", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
  • inflict serious (+1) harm
  • suffer little (-1) harm
  • shift your range one step
  • impress, dismay, or frighten your foe
", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
  • you strike a fast blow; inflict injury
  • you wear them down; they mark exhaustion
  • you exploit weakness; mark exhaustion to inflict 2-injury
  • you withdraw; disengage to close range
", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
  • inflict 2-morale harm
  • they are pinned or blocked
", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
  • you inflict morale or exhaustion harm (GM’s choice)
  • you disarm your opponent; their weapon is out of hand, but in reach
  • you don’t suffer any harm
", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
  • you don’t mark wear
  • you don’t mark exhaustion
  • you move quickly and change your position (and, if you choose, range)
  • you keep your target at bay—they don’t move
", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
  • you show them up; you inflict 2-morale harm
  • you keep them off-balance and confused; you inflict 2-exhaustion
  • you avoid their blows to the best of your ability; you suffer little (–1) harm
  • you use them against each other; mark exhaustion again and they inflict their harm against themselves
", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
  • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
  • your shot strikes a second available target of your choice
  • your shot cuts something, breaks something, or knocks something over, your choice
  • your shot distracts an opponent and provides an opportunity
", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
  • mark an additional wear on the hurled item to inflict an additional 1-injury
  • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
  • your target is knocked off their feet by the throw
", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
  • +1 if you have a connection with each other
  • +1 if you are outnumbered
  • +1 for every 2 additional exhaustion you mark between the two of you
On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
  • you each suffer little (-1) harm
  • you inflict an additional 2-injury to any single target (including a single group) of your choice
  • you inflict 2-morale harm
  • you create a path for the two of you to retreat or advance
", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
  • you inflict 2-exhaustion on your opponent
  • you shift your range one step
  • you deflect some of their incoming blows; suffer little (-1) harm
  • you inflict wear on their equipment with precise strikes
  • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
    • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
    • if you target a piece of equipment’s weak point, inflict 2-wear
    • if you target something in the environment, you strike it, cut it, or break it as appropriate
    On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
    • your new dominant hand is fresher; clear 2-exhaustion
    • your opponent is startled by the shift; they mark morale harm
    • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
    ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/af.json b/root/translations/af.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/af.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
    • is your character telling the truth?
    • what is your character really feeling?
    • what does your character intend to do?
    • what does your character wish I’d do?
    • how could I get your character to _______?
    ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
    • what’s my best way out / in / through?
    • who or what is the biggest threat?
    • who or what is most vulnerable to me?
    • what should I be on the lookout for?
    • who is in control here?
    ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
    • they hesitate; you shake their confidence or weaken their morale.
    • they stumble; you gain a critical opportunity.
    • they overreact; take +1 forward against them.
    ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
    • conceal your help or interference
    • create an opportunity or obstacle
    ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
    • inflict serious (+1) harm
    • suffer little (-1) harm
    • shift your range one step
    • impress, dismay, or frighten your foe
    ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
    • you strike a fast blow; inflict injury
    • you wear them down; they mark exhaustion
    • you exploit weakness; mark exhaustion to inflict 2-injury
    • you withdraw; disengage to close range
    ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
    • inflict 2-morale harm
    • they are pinned or blocked
    ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
    • you inflict morale or exhaustion harm (GM’s choice)
    • you disarm your opponent; their weapon is out of hand, but in reach
    • you don’t suffer any harm
    ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
    • you don’t mark wear
    • you don’t mark exhaustion
    • you move quickly and change your position (and, if you choose, range)
    • you keep your target at bay—they don’t move
    ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
    • you show them up; you inflict 2-morale harm
    • you keep them off-balance and confused; you inflict 2-exhaustion
    • you avoid their blows to the best of your ability; you suffer little (–1) harm
    • you use them against each other; mark exhaustion again and they inflict their harm against themselves
    ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
    • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
    • your shot strikes a second available target of your choice
    • your shot cuts something, breaks something, or knocks something over, your choice
    • your shot distracts an opponent and provides an opportunity
    ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
    • mark an additional wear on the hurled item to inflict an additional 1-injury
    • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
    • your target is knocked off their feet by the throw
    ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
    • +1 if you have a connection with each other
    • +1 if you are outnumbered
    • +1 for every 2 additional exhaustion you mark between the two of you
    On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
    • you each suffer little (-1) harm
    • you inflict an additional 2-injury to any single target (including a single group) of your choice
    • you inflict 2-morale harm
    • you create a path for the two of you to retreat or advance
    ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
    • you inflict 2-exhaustion on your opponent
    • you shift your range one step
    • you deflect some of their incoming blows; suffer little (-1) harm
    • you inflict wear on their equipment with precise strikes
    • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
      • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
      • if you target a piece of equipment’s weak point, inflict 2-wear
      • if you target something in the environment, you strike it, cut it, or break it as appropriate
      On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
      • your new dominant hand is fresher; clear 2-exhaustion
      • your opponent is startled by the shift; they mark morale harm
      • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
      ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/ca.json b/root/translations/ca.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/ca.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
      • is your character telling the truth?
      • what is your character really feeling?
      • what does your character intend to do?
      • what does your character wish I’d do?
      • how could I get your character to _______?
      ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
      • what’s my best way out / in / through?
      • who or what is the biggest threat?
      • who or what is most vulnerable to me?
      • what should I be on the lookout for?
      • who is in control here?
      ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
      • they hesitate; you shake their confidence or weaken their morale.
      • they stumble; you gain a critical opportunity.
      • they overreact; take +1 forward against them.
      ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
      • conceal your help or interference
      • create an opportunity or obstacle
      ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
      • inflict serious (+1) harm
      • suffer little (-1) harm
      • shift your range one step
      • impress, dismay, or frighten your foe
      ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
      • you strike a fast blow; inflict injury
      • you wear them down; they mark exhaustion
      • you exploit weakness; mark exhaustion to inflict 2-injury
      • you withdraw; disengage to close range
      ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
      • inflict 2-morale harm
      • they are pinned or blocked
      ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
      • you inflict morale or exhaustion harm (GM’s choice)
      • you disarm your opponent; their weapon is out of hand, but in reach
      • you don’t suffer any harm
      ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
      • you don’t mark wear
      • you don’t mark exhaustion
      • you move quickly and change your position (and, if you choose, range)
      • you keep your target at bay—they don’t move
      ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
      • you show them up; you inflict 2-morale harm
      • you keep them off-balance and confused; you inflict 2-exhaustion
      • you avoid their blows to the best of your ability; you suffer little (–1) harm
      • you use them against each other; mark exhaustion again and they inflict their harm against themselves
      ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
      • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
      • your shot strikes a second available target of your choice
      • your shot cuts something, breaks something, or knocks something over, your choice
      • your shot distracts an opponent and provides an opportunity
      ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
      • mark an additional wear on the hurled item to inflict an additional 1-injury
      • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
      • your target is knocked off their feet by the throw
      ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
      • +1 if you have a connection with each other
      • +1 if you are outnumbered
      • +1 for every 2 additional exhaustion you mark between the two of you
      On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
      • you each suffer little (-1) harm
      • you inflict an additional 2-injury to any single target (including a single group) of your choice
      • you inflict 2-morale harm
      • you create a path for the two of you to retreat or advance
      ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
      • you inflict 2-exhaustion on your opponent
      • you shift your range one step
      • you deflect some of their incoming blows; suffer little (-1) harm
      • you inflict wear on their equipment with precise strikes
      • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
        • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
        • if you target a piece of equipment’s weak point, inflict 2-wear
        • if you target something in the environment, you strike it, cut it, or break it as appropriate
        On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
        • your new dominant hand is fresher; clear 2-exhaustion
        • your opponent is startled by the shift; they mark morale harm
        • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
        ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/cs.json b/root/translations/cs.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/cs.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
        • is your character telling the truth?
        • what is your character really feeling?
        • what does your character intend to do?
        • what does your character wish I’d do?
        • how could I get your character to _______?
        ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
        • what’s my best way out / in / through?
        • who or what is the biggest threat?
        • who or what is most vulnerable to me?
        • what should I be on the lookout for?
        • who is in control here?
        ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
        • they hesitate; you shake their confidence or weaken their morale.
        • they stumble; you gain a critical opportunity.
        • they overreact; take +1 forward against them.
        ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
        • conceal your help or interference
        • create an opportunity or obstacle
        ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
        • inflict serious (+1) harm
        • suffer little (-1) harm
        • shift your range one step
        • impress, dismay, or frighten your foe
        ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
        • you strike a fast blow; inflict injury
        • you wear them down; they mark exhaustion
        • you exploit weakness; mark exhaustion to inflict 2-injury
        • you withdraw; disengage to close range
        ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
        • inflict 2-morale harm
        • they are pinned or blocked
        ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
        • you inflict morale or exhaustion harm (GM’s choice)
        • you disarm your opponent; their weapon is out of hand, but in reach
        • you don’t suffer any harm
        ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
        • you don’t mark wear
        • you don’t mark exhaustion
        • you move quickly and change your position (and, if you choose, range)
        • you keep your target at bay—they don’t move
        ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
        • you show them up; you inflict 2-morale harm
        • you keep them off-balance and confused; you inflict 2-exhaustion
        • you avoid their blows to the best of your ability; you suffer little (–1) harm
        • you use them against each other; mark exhaustion again and they inflict their harm against themselves
        ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
        • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
        • your shot strikes a second available target of your choice
        • your shot cuts something, breaks something, or knocks something over, your choice
        • your shot distracts an opponent and provides an opportunity
        ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
        • mark an additional wear on the hurled item to inflict an additional 1-injury
        • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
        • your target is knocked off their feet by the throw
        ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
        • +1 if you have a connection with each other
        • +1 if you are outnumbered
        • +1 for every 2 additional exhaustion you mark between the two of you
        On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
        • you each suffer little (-1) harm
        • you inflict an additional 2-injury to any single target (including a single group) of your choice
        • you inflict 2-morale harm
        • you create a path for the two of you to retreat or advance
        ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
        • you inflict 2-exhaustion on your opponent
        • you shift your range one step
        • you deflect some of their incoming blows; suffer little (-1) harm
        • you inflict wear on their equipment with precise strikes
        • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
          • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
          • if you target a piece of equipment’s weak point, inflict 2-wear
          • if you target something in the environment, you strike it, cut it, or break it as appropriate
          On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
          • your new dominant hand is fresher; clear 2-exhaustion
          • your opponent is startled by the shift; they mark morale harm
          • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
          ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/da.json b/root/translations/da.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/da.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
          • is your character telling the truth?
          • what is your character really feeling?
          • what does your character intend to do?
          • what does your character wish I’d do?
          • how could I get your character to _______?
          ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
          • what’s my best way out / in / through?
          • who or what is the biggest threat?
          • who or what is most vulnerable to me?
          • what should I be on the lookout for?
          • who is in control here?
          ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
          • they hesitate; you shake their confidence or weaken their morale.
          • they stumble; you gain a critical opportunity.
          • they overreact; take +1 forward against them.
          ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
          • conceal your help or interference
          • create an opportunity or obstacle
          ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
          • inflict serious (+1) harm
          • suffer little (-1) harm
          • shift your range one step
          • impress, dismay, or frighten your foe
          ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
          • you strike a fast blow; inflict injury
          • you wear them down; they mark exhaustion
          • you exploit weakness; mark exhaustion to inflict 2-injury
          • you withdraw; disengage to close range
          ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
          • inflict 2-morale harm
          • they are pinned or blocked
          ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
          • you inflict morale or exhaustion harm (GM’s choice)
          • you disarm your opponent; their weapon is out of hand, but in reach
          • you don’t suffer any harm
          ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
          • you don’t mark wear
          • you don’t mark exhaustion
          • you move quickly and change your position (and, if you choose, range)
          • you keep your target at bay—they don’t move
          ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
          • you show them up; you inflict 2-morale harm
          • you keep them off-balance and confused; you inflict 2-exhaustion
          • you avoid their blows to the best of your ability; you suffer little (–1) harm
          • you use them against each other; mark exhaustion again and they inflict their harm against themselves
          ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
          • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
          • your shot strikes a second available target of your choice
          • your shot cuts something, breaks something, or knocks something over, your choice
          • your shot distracts an opponent and provides an opportunity
          ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
          • mark an additional wear on the hurled item to inflict an additional 1-injury
          • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
          • your target is knocked off their feet by the throw
          ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
          • +1 if you have a connection with each other
          • +1 if you are outnumbered
          • +1 for every 2 additional exhaustion you mark between the two of you
          On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
          • you each suffer little (-1) harm
          • you inflict an additional 2-injury to any single target (including a single group) of your choice
          • you inflict 2-morale harm
          • you create a path for the two of you to retreat or advance
          ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
          • you inflict 2-exhaustion on your opponent
          • you shift your range one step
          • you deflect some of their incoming blows; suffer little (-1) harm
          • you inflict wear on their equipment with precise strikes
          • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
            • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
            • if you target a piece of equipment’s weak point, inflict 2-wear
            • if you target something in the environment, you strike it, cut it, or break it as appropriate
            On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
            • your new dominant hand is fresher; clear 2-exhaustion
            • your opponent is startled by the shift; they mark morale harm
            • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
            ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/de.json b/root/translations/de.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/de.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
            • is your character telling the truth?
            • what is your character really feeling?
            • what does your character intend to do?
            • what does your character wish I’d do?
            • how could I get your character to _______?
            ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
            • what’s my best way out / in / through?
            • who or what is the biggest threat?
            • who or what is most vulnerable to me?
            • what should I be on the lookout for?
            • who is in control here?
            ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
            • they hesitate; you shake their confidence or weaken their morale.
            • they stumble; you gain a critical opportunity.
            • they overreact; take +1 forward against them.
            ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
            • conceal your help or interference
            • create an opportunity or obstacle
            ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
            • inflict serious (+1) harm
            • suffer little (-1) harm
            • shift your range one step
            • impress, dismay, or frighten your foe
            ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
            • you strike a fast blow; inflict injury
            • you wear them down; they mark exhaustion
            • you exploit weakness; mark exhaustion to inflict 2-injury
            • you withdraw; disengage to close range
            ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
            • inflict 2-morale harm
            • they are pinned or blocked
            ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
            • you inflict morale or exhaustion harm (GM’s choice)
            • you disarm your opponent; their weapon is out of hand, but in reach
            • you don’t suffer any harm
            ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
            • you don’t mark wear
            • you don’t mark exhaustion
            • you move quickly and change your position (and, if you choose, range)
            • you keep your target at bay—they don’t move
            ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
            • you show them up; you inflict 2-morale harm
            • you keep them off-balance and confused; you inflict 2-exhaustion
            • you avoid their blows to the best of your ability; you suffer little (–1) harm
            • you use them against each other; mark exhaustion again and they inflict their harm against themselves
            ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
            • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
            • your shot strikes a second available target of your choice
            • your shot cuts something, breaks something, or knocks something over, your choice
            • your shot distracts an opponent and provides an opportunity
            ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
            • mark an additional wear on the hurled item to inflict an additional 1-injury
            • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
            • your target is knocked off their feet by the throw
            ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
            • +1 if you have a connection with each other
            • +1 if you are outnumbered
            • +1 for every 2 additional exhaustion you mark between the two of you
            On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
            • you each suffer little (-1) harm
            • you inflict an additional 2-injury to any single target (including a single group) of your choice
            • you inflict 2-morale harm
            • you create a path for the two of you to retreat or advance
            ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
            • you inflict 2-exhaustion on your opponent
            • you shift your range one step
            • you deflect some of their incoming blows; suffer little (-1) harm
            • you inflict wear on their equipment with precise strikes
            • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
              • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
              • if you target a piece of equipment’s weak point, inflict 2-wear
              • if you target something in the environment, you strike it, cut it, or break it as appropriate
              On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
              • your new dominant hand is fresher; clear 2-exhaustion
              • your opponent is startled by the shift; they mark morale harm
              • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
              ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/el.json b/root/translations/el.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/el.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
              • is your character telling the truth?
              • what is your character really feeling?
              • what does your character intend to do?
              • what does your character wish I’d do?
              • how could I get your character to _______?
              ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
              • what’s my best way out / in / through?
              • who or what is the biggest threat?
              • who or what is most vulnerable to me?
              • what should I be on the lookout for?
              • who is in control here?
              ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
              • they hesitate; you shake their confidence or weaken their morale.
              • they stumble; you gain a critical opportunity.
              • they overreact; take +1 forward against them.
              ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
              • conceal your help or interference
              • create an opportunity or obstacle
              ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
              • inflict serious (+1) harm
              • suffer little (-1) harm
              • shift your range one step
              • impress, dismay, or frighten your foe
              ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
              • you strike a fast blow; inflict injury
              • you wear them down; they mark exhaustion
              • you exploit weakness; mark exhaustion to inflict 2-injury
              • you withdraw; disengage to close range
              ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
              • inflict 2-morale harm
              • they are pinned or blocked
              ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
              • you inflict morale or exhaustion harm (GM’s choice)
              • you disarm your opponent; their weapon is out of hand, but in reach
              • you don’t suffer any harm
              ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
              • you don’t mark wear
              • you don’t mark exhaustion
              • you move quickly and change your position (and, if you choose, range)
              • you keep your target at bay—they don’t move
              ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
              • you show them up; you inflict 2-morale harm
              • you keep them off-balance and confused; you inflict 2-exhaustion
              • you avoid their blows to the best of your ability; you suffer little (–1) harm
              • you use them against each other; mark exhaustion again and they inflict their harm against themselves
              ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
              • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
              • your shot strikes a second available target of your choice
              • your shot cuts something, breaks something, or knocks something over, your choice
              • your shot distracts an opponent and provides an opportunity
              ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
              • mark an additional wear on the hurled item to inflict an additional 1-injury
              • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
              • your target is knocked off their feet by the throw
              ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
              • +1 if you have a connection with each other
              • +1 if you are outnumbered
              • +1 for every 2 additional exhaustion you mark between the two of you
              On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
              • you each suffer little (-1) harm
              • you inflict an additional 2-injury to any single target (including a single group) of your choice
              • you inflict 2-morale harm
              • you create a path for the two of you to retreat or advance
              ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
              • you inflict 2-exhaustion on your opponent
              • you shift your range one step
              • you deflect some of their incoming blows; suffer little (-1) harm
              • you inflict wear on their equipment with precise strikes
              • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                • if you target a piece of equipment’s weak point, inflict 2-wear
                • if you target something in the environment, you strike it, cut it, or break it as appropriate
                On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                • your new dominant hand is fresher; clear 2-exhaustion
                • your opponent is startled by the shift; they mark morale harm
                • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/en.json b/root/translations/en.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/en.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                • is your character telling the truth?
                • what is your character really feeling?
                • what does your character intend to do?
                • what does your character wish I’d do?
                • how could I get your character to _______?
                ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                • what’s my best way out / in / through?
                • who or what is the biggest threat?
                • who or what is most vulnerable to me?
                • what should I be on the lookout for?
                • who is in control here?
                ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                • they hesitate; you shake their confidence or weaken their morale.
                • they stumble; you gain a critical opportunity.
                • they overreact; take +1 forward against them.
                ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                • conceal your help or interference
                • create an opportunity or obstacle
                ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                • inflict serious (+1) harm
                • suffer little (-1) harm
                • shift your range one step
                • impress, dismay, or frighten your foe
                ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                • you strike a fast blow; inflict injury
                • you wear them down; they mark exhaustion
                • you exploit weakness; mark exhaustion to inflict 2-injury
                • you withdraw; disengage to close range
                ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                • inflict 2-morale harm
                • they are pinned or blocked
                ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                • you inflict morale or exhaustion harm (GM’s choice)
                • you disarm your opponent; their weapon is out of hand, but in reach
                • you don’t suffer any harm
                ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                • you don’t mark wear
                • you don’t mark exhaustion
                • you move quickly and change your position (and, if you choose, range)
                • you keep your target at bay—they don’t move
                ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                • you show them up; you inflict 2-morale harm
                • you keep them off-balance and confused; you inflict 2-exhaustion
                • you avoid their blows to the best of your ability; you suffer little (–1) harm
                • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                • your shot strikes a second available target of your choice
                • your shot cuts something, breaks something, or knocks something over, your choice
                • your shot distracts an opponent and provides an opportunity
                ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                • mark an additional wear on the hurled item to inflict an additional 1-injury
                • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                • your target is knocked off their feet by the throw
                ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                • +1 if you have a connection with each other
                • +1 if you are outnumbered
                • +1 for every 2 additional exhaustion you mark between the two of you
                On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                • you each suffer little (-1) harm
                • you inflict an additional 2-injury to any single target (including a single group) of your choice
                • you inflict 2-morale harm
                • you create a path for the two of you to retreat or advance
                ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                • you inflict 2-exhaustion on your opponent
                • you shift your range one step
                • you deflect some of their incoming blows; suffer little (-1) harm
                • you inflict wear on their equipment with precise strikes
                • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                  • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                  • if you target a piece of equipment’s weak point, inflict 2-wear
                  • if you target something in the environment, you strike it, cut it, or break it as appropriate
                  On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                  • your new dominant hand is fresher; clear 2-exhaustion
                  • your opponent is startled by the shift; they mark morale harm
                  • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                  ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/es.json b/root/translations/es.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/es.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                  • is your character telling the truth?
                  • what is your character really feeling?
                  • what does your character intend to do?
                  • what does your character wish I’d do?
                  • how could I get your character to _______?
                  ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                  • what’s my best way out / in / through?
                  • who or what is the biggest threat?
                  • who or what is most vulnerable to me?
                  • what should I be on the lookout for?
                  • who is in control here?
                  ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                  • they hesitate; you shake their confidence or weaken their morale.
                  • they stumble; you gain a critical opportunity.
                  • they overreact; take +1 forward against them.
                  ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                  • conceal your help or interference
                  • create an opportunity or obstacle
                  ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                  • inflict serious (+1) harm
                  • suffer little (-1) harm
                  • shift your range one step
                  • impress, dismay, or frighten your foe
                  ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                  • you strike a fast blow; inflict injury
                  • you wear them down; they mark exhaustion
                  • you exploit weakness; mark exhaustion to inflict 2-injury
                  • you withdraw; disengage to close range
                  ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                  • inflict 2-morale harm
                  • they are pinned or blocked
                  ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                  • you inflict morale or exhaustion harm (GM’s choice)
                  • you disarm your opponent; their weapon is out of hand, but in reach
                  • you don’t suffer any harm
                  ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                  • you don’t mark wear
                  • you don’t mark exhaustion
                  • you move quickly and change your position (and, if you choose, range)
                  • you keep your target at bay—they don’t move
                  ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                  • you show them up; you inflict 2-morale harm
                  • you keep them off-balance and confused; you inflict 2-exhaustion
                  • you avoid their blows to the best of your ability; you suffer little (–1) harm
                  • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                  ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                  • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                  • your shot strikes a second available target of your choice
                  • your shot cuts something, breaks something, or knocks something over, your choice
                  • your shot distracts an opponent and provides an opportunity
                  ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                  • mark an additional wear on the hurled item to inflict an additional 1-injury
                  • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                  • your target is knocked off their feet by the throw
                  ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                  • +1 if you have a connection with each other
                  • +1 if you are outnumbered
                  • +1 for every 2 additional exhaustion you mark between the two of you
                  On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                  • you each suffer little (-1) harm
                  • you inflict an additional 2-injury to any single target (including a single group) of your choice
                  • you inflict 2-morale harm
                  • you create a path for the two of you to retreat or advance
                  ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                  • you inflict 2-exhaustion on your opponent
                  • you shift your range one step
                  • you deflect some of their incoming blows; suffer little (-1) harm
                  • you inflict wear on their equipment with precise strikes
                  • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                    • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                    • if you target a piece of equipment’s weak point, inflict 2-wear
                    • if you target something in the environment, you strike it, cut it, or break it as appropriate
                    On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                    • your new dominant hand is fresher; clear 2-exhaustion
                    • your opponent is startled by the shift; they mark morale harm
                    • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                    ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/fi.json b/root/translations/fi.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/fi.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                    • is your character telling the truth?
                    • what is your character really feeling?
                    • what does your character intend to do?
                    • what does your character wish I’d do?
                    • how could I get your character to _______?
                    ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                    • what’s my best way out / in / through?
                    • who or what is the biggest threat?
                    • who or what is most vulnerable to me?
                    • what should I be on the lookout for?
                    • who is in control here?
                    ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                    • they hesitate; you shake their confidence or weaken their morale.
                    • they stumble; you gain a critical opportunity.
                    • they overreact; take +1 forward against them.
                    ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                    • conceal your help or interference
                    • create an opportunity or obstacle
                    ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                    • inflict serious (+1) harm
                    • suffer little (-1) harm
                    • shift your range one step
                    • impress, dismay, or frighten your foe
                    ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                    • you strike a fast blow; inflict injury
                    • you wear them down; they mark exhaustion
                    • you exploit weakness; mark exhaustion to inflict 2-injury
                    • you withdraw; disengage to close range
                    ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                    • inflict 2-morale harm
                    • they are pinned or blocked
                    ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                    • you inflict morale or exhaustion harm (GM’s choice)
                    • you disarm your opponent; their weapon is out of hand, but in reach
                    • you don’t suffer any harm
                    ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                    • you don’t mark wear
                    • you don’t mark exhaustion
                    • you move quickly and change your position (and, if you choose, range)
                    • you keep your target at bay—they don’t move
                    ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                    • you show them up; you inflict 2-morale harm
                    • you keep them off-balance and confused; you inflict 2-exhaustion
                    • you avoid their blows to the best of your ability; you suffer little (–1) harm
                    • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                    ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                    • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                    • your shot strikes a second available target of your choice
                    • your shot cuts something, breaks something, or knocks something over, your choice
                    • your shot distracts an opponent and provides an opportunity
                    ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                    • mark an additional wear on the hurled item to inflict an additional 1-injury
                    • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                    • your target is knocked off their feet by the throw
                    ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                    • +1 if you have a connection with each other
                    • +1 if you are outnumbered
                    • +1 for every 2 additional exhaustion you mark between the two of you
                    On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                    • you each suffer little (-1) harm
                    • you inflict an additional 2-injury to any single target (including a single group) of your choice
                    • you inflict 2-morale harm
                    • you create a path for the two of you to retreat or advance
                    ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                    • you inflict 2-exhaustion on your opponent
                    • you shift your range one step
                    • you deflect some of their incoming blows; suffer little (-1) harm
                    • you inflict wear on their equipment with precise strikes
                    • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                      • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                      • if you target a piece of equipment’s weak point, inflict 2-wear
                      • if you target something in the environment, you strike it, cut it, or break it as appropriate
                      On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                      • your new dominant hand is fresher; clear 2-exhaustion
                      • your opponent is startled by the shift; they mark morale harm
                      • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                      ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/fr.json b/root/translations/fr.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/fr.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                      • is your character telling the truth?
                      • what is your character really feeling?
                      • what does your character intend to do?
                      • what does your character wish I’d do?
                      • how could I get your character to _______?
                      ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                      • what’s my best way out / in / through?
                      • who or what is the biggest threat?
                      • who or what is most vulnerable to me?
                      • what should I be on the lookout for?
                      • who is in control here?
                      ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                      • they hesitate; you shake their confidence or weaken their morale.
                      • they stumble; you gain a critical opportunity.
                      • they overreact; take +1 forward against them.
                      ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                      • conceal your help or interference
                      • create an opportunity or obstacle
                      ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                      • inflict serious (+1) harm
                      • suffer little (-1) harm
                      • shift your range one step
                      • impress, dismay, or frighten your foe
                      ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                      • you strike a fast blow; inflict injury
                      • you wear them down; they mark exhaustion
                      • you exploit weakness; mark exhaustion to inflict 2-injury
                      • you withdraw; disengage to close range
                      ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                      • inflict 2-morale harm
                      • they are pinned or blocked
                      ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                      • you inflict morale or exhaustion harm (GM’s choice)
                      • you disarm your opponent; their weapon is out of hand, but in reach
                      • you don’t suffer any harm
                      ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                      • you don’t mark wear
                      • you don’t mark exhaustion
                      • you move quickly and change your position (and, if you choose, range)
                      • you keep your target at bay—they don’t move
                      ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                      • you show them up; you inflict 2-morale harm
                      • you keep them off-balance and confused; you inflict 2-exhaustion
                      • you avoid their blows to the best of your ability; you suffer little (–1) harm
                      • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                      ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                      • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                      • your shot strikes a second available target of your choice
                      • your shot cuts something, breaks something, or knocks something over, your choice
                      • your shot distracts an opponent and provides an opportunity
                      ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                      • mark an additional wear on the hurled item to inflict an additional 1-injury
                      • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                      • your target is knocked off their feet by the throw
                      ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                      • +1 if you have a connection with each other
                      • +1 if you are outnumbered
                      • +1 for every 2 additional exhaustion you mark between the two of you
                      On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                      • you each suffer little (-1) harm
                      • you inflict an additional 2-injury to any single target (including a single group) of your choice
                      • you inflict 2-morale harm
                      • you create a path for the two of you to retreat or advance
                      ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                      • you inflict 2-exhaustion on your opponent
                      • you shift your range one step
                      • you deflect some of their incoming blows; suffer little (-1) harm
                      • you inflict wear on their equipment with precise strikes
                      • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                        • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                        • if you target a piece of equipment’s weak point, inflict 2-wear
                        • if you target something in the environment, you strike it, cut it, or break it as appropriate
                        On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                        • your new dominant hand is fresher; clear 2-exhaustion
                        • your opponent is startled by the shift; they mark morale harm
                        • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                        ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/he.json b/root/translations/he.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/he.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                        • is your character telling the truth?
                        • what is your character really feeling?
                        • what does your character intend to do?
                        • what does your character wish I’d do?
                        • how could I get your character to _______?
                        ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                        • what’s my best way out / in / through?
                        • who or what is the biggest threat?
                        • who or what is most vulnerable to me?
                        • what should I be on the lookout for?
                        • who is in control here?
                        ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                        • they hesitate; you shake their confidence or weaken their morale.
                        • they stumble; you gain a critical opportunity.
                        • they overreact; take +1 forward against them.
                        ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                        • conceal your help or interference
                        • create an opportunity or obstacle
                        ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                        • inflict serious (+1) harm
                        • suffer little (-1) harm
                        • shift your range one step
                        • impress, dismay, or frighten your foe
                        ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                        • you strike a fast blow; inflict injury
                        • you wear them down; they mark exhaustion
                        • you exploit weakness; mark exhaustion to inflict 2-injury
                        • you withdraw; disengage to close range
                        ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                        • inflict 2-morale harm
                        • they are pinned or blocked
                        ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                        • you inflict morale or exhaustion harm (GM’s choice)
                        • you disarm your opponent; their weapon is out of hand, but in reach
                        • you don’t suffer any harm
                        ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                        • you don’t mark wear
                        • you don’t mark exhaustion
                        • you move quickly and change your position (and, if you choose, range)
                        • you keep your target at bay—they don’t move
                        ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                        • you show them up; you inflict 2-morale harm
                        • you keep them off-balance and confused; you inflict 2-exhaustion
                        • you avoid their blows to the best of your ability; you suffer little (–1) harm
                        • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                        ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                        • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                        • your shot strikes a second available target of your choice
                        • your shot cuts something, breaks something, or knocks something over, your choice
                        • your shot distracts an opponent and provides an opportunity
                        ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                        • mark an additional wear on the hurled item to inflict an additional 1-injury
                        • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                        • your target is knocked off their feet by the throw
                        ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                        • +1 if you have a connection with each other
                        • +1 if you are outnumbered
                        • +1 for every 2 additional exhaustion you mark between the two of you
                        On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                        • you each suffer little (-1) harm
                        • you inflict an additional 2-injury to any single target (including a single group) of your choice
                        • you inflict 2-morale harm
                        • you create a path for the two of you to retreat or advance
                        ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                        • you inflict 2-exhaustion on your opponent
                        • you shift your range one step
                        • you deflect some of their incoming blows; suffer little (-1) harm
                        • you inflict wear on their equipment with precise strikes
                        • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                          • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                          • if you target a piece of equipment’s weak point, inflict 2-wear
                          • if you target something in the environment, you strike it, cut it, or break it as appropriate
                          On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                          • your new dominant hand is fresher; clear 2-exhaustion
                          • your opponent is startled by the shift; they mark morale harm
                          • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                          ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/hu.json b/root/translations/hu.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/hu.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                          • is your character telling the truth?
                          • what is your character really feeling?
                          • what does your character intend to do?
                          • what does your character wish I’d do?
                          • how could I get your character to _______?
                          ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                          • what’s my best way out / in / through?
                          • who or what is the biggest threat?
                          • who or what is most vulnerable to me?
                          • what should I be on the lookout for?
                          • who is in control here?
                          ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                          • they hesitate; you shake their confidence or weaken their morale.
                          • they stumble; you gain a critical opportunity.
                          • they overreact; take +1 forward against them.
                          ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                          • conceal your help or interference
                          • create an opportunity or obstacle
                          ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                          • inflict serious (+1) harm
                          • suffer little (-1) harm
                          • shift your range one step
                          • impress, dismay, or frighten your foe
                          ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                          • you strike a fast blow; inflict injury
                          • you wear them down; they mark exhaustion
                          • you exploit weakness; mark exhaustion to inflict 2-injury
                          • you withdraw; disengage to close range
                          ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                          • inflict 2-morale harm
                          • they are pinned or blocked
                          ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                          • you inflict morale or exhaustion harm (GM’s choice)
                          • you disarm your opponent; their weapon is out of hand, but in reach
                          • you don’t suffer any harm
                          ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                          • you don’t mark wear
                          • you don’t mark exhaustion
                          • you move quickly and change your position (and, if you choose, range)
                          • you keep your target at bay—they don’t move
                          ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                          • you show them up; you inflict 2-morale harm
                          • you keep them off-balance and confused; you inflict 2-exhaustion
                          • you avoid their blows to the best of your ability; you suffer little (–1) harm
                          • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                          ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                          • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                          • your shot strikes a second available target of your choice
                          • your shot cuts something, breaks something, or knocks something over, your choice
                          • your shot distracts an opponent and provides an opportunity
                          ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                          • mark an additional wear on the hurled item to inflict an additional 1-injury
                          • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                          • your target is knocked off their feet by the throw
                          ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                          • +1 if you have a connection with each other
                          • +1 if you are outnumbered
                          • +1 for every 2 additional exhaustion you mark between the two of you
                          On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                          • you each suffer little (-1) harm
                          • you inflict an additional 2-injury to any single target (including a single group) of your choice
                          • you inflict 2-morale harm
                          • you create a path for the two of you to retreat or advance
                          ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                          • you inflict 2-exhaustion on your opponent
                          • you shift your range one step
                          • you deflect some of their incoming blows; suffer little (-1) harm
                          • you inflict wear on their equipment with precise strikes
                          • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                            • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                            • if you target a piece of equipment’s weak point, inflict 2-wear
                            • if you target something in the environment, you strike it, cut it, or break it as appropriate
                            On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                            • your new dominant hand is fresher; clear 2-exhaustion
                            • your opponent is startled by the shift; they mark morale harm
                            • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                            ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/it.json b/root/translations/it.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/it.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                            • is your character telling the truth?
                            • what is your character really feeling?
                            • what does your character intend to do?
                            • what does your character wish I’d do?
                            • how could I get your character to _______?
                            ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                            • what’s my best way out / in / through?
                            • who or what is the biggest threat?
                            • who or what is most vulnerable to me?
                            • what should I be on the lookout for?
                            • who is in control here?
                            ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                            • they hesitate; you shake their confidence or weaken their morale.
                            • they stumble; you gain a critical opportunity.
                            • they overreact; take +1 forward against them.
                            ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                            • conceal your help or interference
                            • create an opportunity or obstacle
                            ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                            • inflict serious (+1) harm
                            • suffer little (-1) harm
                            • shift your range one step
                            • impress, dismay, or frighten your foe
                            ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                            • you strike a fast blow; inflict injury
                            • you wear them down; they mark exhaustion
                            • you exploit weakness; mark exhaustion to inflict 2-injury
                            • you withdraw; disengage to close range
                            ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                            • inflict 2-morale harm
                            • they are pinned or blocked
                            ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                            • you inflict morale or exhaustion harm (GM’s choice)
                            • you disarm your opponent; their weapon is out of hand, but in reach
                            • you don’t suffer any harm
                            ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                            • you don’t mark wear
                            • you don’t mark exhaustion
                            • you move quickly and change your position (and, if you choose, range)
                            • you keep your target at bay—they don’t move
                            ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                            • you show them up; you inflict 2-morale harm
                            • you keep them off-balance and confused; you inflict 2-exhaustion
                            • you avoid their blows to the best of your ability; you suffer little (–1) harm
                            • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                            ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                            • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                            • your shot strikes a second available target of your choice
                            • your shot cuts something, breaks something, or knocks something over, your choice
                            • your shot distracts an opponent and provides an opportunity
                            ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                            • mark an additional wear on the hurled item to inflict an additional 1-injury
                            • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                            • your target is knocked off their feet by the throw
                            ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                            • +1 if you have a connection with each other
                            • +1 if you are outnumbered
                            • +1 for every 2 additional exhaustion you mark between the two of you
                            On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                            • you each suffer little (-1) harm
                            • you inflict an additional 2-injury to any single target (including a single group) of your choice
                            • you inflict 2-morale harm
                            • you create a path for the two of you to retreat or advance
                            ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                            • you inflict 2-exhaustion on your opponent
                            • you shift your range one step
                            • you deflect some of their incoming blows; suffer little (-1) harm
                            • you inflict wear on their equipment with precise strikes
                            • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                              • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                              • if you target a piece of equipment’s weak point, inflict 2-wear
                              • if you target something in the environment, you strike it, cut it, or break it as appropriate
                              On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                              • your new dominant hand is fresher; clear 2-exhaustion
                              • your opponent is startled by the shift; they mark morale harm
                              • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                              ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/ja.json b/root/translations/ja.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/ja.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                              • is your character telling the truth?
                              • what is your character really feeling?
                              • what does your character intend to do?
                              • what does your character wish I’d do?
                              • how could I get your character to _______?
                              ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                              • what’s my best way out / in / through?
                              • who or what is the biggest threat?
                              • who or what is most vulnerable to me?
                              • what should I be on the lookout for?
                              • who is in control here?
                              ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                              • they hesitate; you shake their confidence or weaken their morale.
                              • they stumble; you gain a critical opportunity.
                              • they overreact; take +1 forward against them.
                              ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                              • conceal your help or interference
                              • create an opportunity or obstacle
                              ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                              • inflict serious (+1) harm
                              • suffer little (-1) harm
                              • shift your range one step
                              • impress, dismay, or frighten your foe
                              ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                              • you strike a fast blow; inflict injury
                              • you wear them down; they mark exhaustion
                              • you exploit weakness; mark exhaustion to inflict 2-injury
                              • you withdraw; disengage to close range
                              ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                              • inflict 2-morale harm
                              • they are pinned or blocked
                              ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                              • you inflict morale or exhaustion harm (GM’s choice)
                              • you disarm your opponent; their weapon is out of hand, but in reach
                              • you don’t suffer any harm
                              ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                              • you don’t mark wear
                              • you don’t mark exhaustion
                              • you move quickly and change your position (and, if you choose, range)
                              • you keep your target at bay—they don’t move
                              ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                              • you show them up; you inflict 2-morale harm
                              • you keep them off-balance and confused; you inflict 2-exhaustion
                              • you avoid their blows to the best of your ability; you suffer little (–1) harm
                              • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                              ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                              • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                              • your shot strikes a second available target of your choice
                              • your shot cuts something, breaks something, or knocks something over, your choice
                              • your shot distracts an opponent and provides an opportunity
                              ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                              • mark an additional wear on the hurled item to inflict an additional 1-injury
                              • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                              • your target is knocked off their feet by the throw
                              ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                              • +1 if you have a connection with each other
                              • +1 if you are outnumbered
                              • +1 for every 2 additional exhaustion you mark between the two of you
                              On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                              • you each suffer little (-1) harm
                              • you inflict an additional 2-injury to any single target (including a single group) of your choice
                              • you inflict 2-morale harm
                              • you create a path for the two of you to retreat or advance
                              ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                              • you inflict 2-exhaustion on your opponent
                              • you shift your range one step
                              • you deflect some of their incoming blows; suffer little (-1) harm
                              • you inflict wear on their equipment with precise strikes
                              • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                • if you target a piece of equipment’s weak point, inflict 2-wear
                                • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                • your new dominant hand is fresher; clear 2-exhaustion
                                • your opponent is startled by the shift; they mark morale harm
                                • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/ko.json b/root/translations/ko.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/ko.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                • is your character telling the truth?
                                • what is your character really feeling?
                                • what does your character intend to do?
                                • what does your character wish I’d do?
                                • how could I get your character to _______?
                                ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                • what’s my best way out / in / through?
                                • who or what is the biggest threat?
                                • who or what is most vulnerable to me?
                                • what should I be on the lookout for?
                                • who is in control here?
                                ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                • they hesitate; you shake their confidence or weaken their morale.
                                • they stumble; you gain a critical opportunity.
                                • they overreact; take +1 forward against them.
                                ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                • conceal your help or interference
                                • create an opportunity or obstacle
                                ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                • inflict serious (+1) harm
                                • suffer little (-1) harm
                                • shift your range one step
                                • impress, dismay, or frighten your foe
                                ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                • you strike a fast blow; inflict injury
                                • you wear them down; they mark exhaustion
                                • you exploit weakness; mark exhaustion to inflict 2-injury
                                • you withdraw; disengage to close range
                                ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                • inflict 2-morale harm
                                • they are pinned or blocked
                                ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                • you inflict morale or exhaustion harm (GM’s choice)
                                • you disarm your opponent; their weapon is out of hand, but in reach
                                • you don’t suffer any harm
                                ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                • you don’t mark wear
                                • you don’t mark exhaustion
                                • you move quickly and change your position (and, if you choose, range)
                                • you keep your target at bay—they don’t move
                                ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                • you show them up; you inflict 2-morale harm
                                • you keep them off-balance and confused; you inflict 2-exhaustion
                                • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                • your shot strikes a second available target of your choice
                                • your shot cuts something, breaks something, or knocks something over, your choice
                                • your shot distracts an opponent and provides an opportunity
                                ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                • mark an additional wear on the hurled item to inflict an additional 1-injury
                                • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                • your target is knocked off their feet by the throw
                                ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                • +1 if you have a connection with each other
                                • +1 if you are outnumbered
                                • +1 for every 2 additional exhaustion you mark between the two of you
                                On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                • you each suffer little (-1) harm
                                • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                • you inflict 2-morale harm
                                • you create a path for the two of you to retreat or advance
                                ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                • you inflict 2-exhaustion on your opponent
                                • you shift your range one step
                                • you deflect some of their incoming blows; suffer little (-1) harm
                                • you inflict wear on their equipment with precise strikes
                                • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                  • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                  • if you target a piece of equipment’s weak point, inflict 2-wear
                                  • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                  On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                  • your new dominant hand is fresher; clear 2-exhaustion
                                  • your opponent is startled by the shift; they mark morale harm
                                  • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                  ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/nl.json b/root/translations/nl.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/nl.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                  • is your character telling the truth?
                                  • what is your character really feeling?
                                  • what does your character intend to do?
                                  • what does your character wish I’d do?
                                  • how could I get your character to _______?
                                  ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                  • what’s my best way out / in / through?
                                  • who or what is the biggest threat?
                                  • who or what is most vulnerable to me?
                                  • what should I be on the lookout for?
                                  • who is in control here?
                                  ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                  • they hesitate; you shake their confidence or weaken their morale.
                                  • they stumble; you gain a critical opportunity.
                                  • they overreact; take +1 forward against them.
                                  ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                  • conceal your help or interference
                                  • create an opportunity or obstacle
                                  ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                  • inflict serious (+1) harm
                                  • suffer little (-1) harm
                                  • shift your range one step
                                  • impress, dismay, or frighten your foe
                                  ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                  • you strike a fast blow; inflict injury
                                  • you wear them down; they mark exhaustion
                                  • you exploit weakness; mark exhaustion to inflict 2-injury
                                  • you withdraw; disengage to close range
                                  ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                  • inflict 2-morale harm
                                  • they are pinned or blocked
                                  ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                  • you inflict morale or exhaustion harm (GM’s choice)
                                  • you disarm your opponent; their weapon is out of hand, but in reach
                                  • you don’t suffer any harm
                                  ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                  • you don’t mark wear
                                  • you don’t mark exhaustion
                                  • you move quickly and change your position (and, if you choose, range)
                                  • you keep your target at bay—they don’t move
                                  ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                  • you show them up; you inflict 2-morale harm
                                  • you keep them off-balance and confused; you inflict 2-exhaustion
                                  • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                  • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                  ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                  • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                  • your shot strikes a second available target of your choice
                                  • your shot cuts something, breaks something, or knocks something over, your choice
                                  • your shot distracts an opponent and provides an opportunity
                                  ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                  • mark an additional wear on the hurled item to inflict an additional 1-injury
                                  • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                  • your target is knocked off their feet by the throw
                                  ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                  • +1 if you have a connection with each other
                                  • +1 if you are outnumbered
                                  • +1 for every 2 additional exhaustion you mark between the two of you
                                  On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                  • you each suffer little (-1) harm
                                  • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                  • you inflict 2-morale harm
                                  • you create a path for the two of you to retreat or advance
                                  ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                  • you inflict 2-exhaustion on your opponent
                                  • you shift your range one step
                                  • you deflect some of their incoming blows; suffer little (-1) harm
                                  • you inflict wear on their equipment with precise strikes
                                  • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                    • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                    • if you target a piece of equipment’s weak point, inflict 2-wear
                                    • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                    On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                    • your new dominant hand is fresher; clear 2-exhaustion
                                    • your opponent is startled by the shift; they mark morale harm
                                    • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                    ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/pb.json b/root/translations/pb.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/pb.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                    • is your character telling the truth?
                                    • what is your character really feeling?
                                    • what does your character intend to do?
                                    • what does your character wish I’d do?
                                    • how could I get your character to _______?
                                    ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                    • what’s my best way out / in / through?
                                    • who or what is the biggest threat?
                                    • who or what is most vulnerable to me?
                                    • what should I be on the lookout for?
                                    • who is in control here?
                                    ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                    • they hesitate; you shake their confidence or weaken their morale.
                                    • they stumble; you gain a critical opportunity.
                                    • they overreact; take +1 forward against them.
                                    ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                    • conceal your help or interference
                                    • create an opportunity or obstacle
                                    ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                    • inflict serious (+1) harm
                                    • suffer little (-1) harm
                                    • shift your range one step
                                    • impress, dismay, or frighten your foe
                                    ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                    • you strike a fast blow; inflict injury
                                    • you wear them down; they mark exhaustion
                                    • you exploit weakness; mark exhaustion to inflict 2-injury
                                    • you withdraw; disengage to close range
                                    ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                    • inflict 2-morale harm
                                    • they are pinned or blocked
                                    ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                    • you inflict morale or exhaustion harm (GM’s choice)
                                    • you disarm your opponent; their weapon is out of hand, but in reach
                                    • you don’t suffer any harm
                                    ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                    • you don’t mark wear
                                    • you don’t mark exhaustion
                                    • you move quickly and change your position (and, if you choose, range)
                                    • you keep your target at bay—they don’t move
                                    ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                    • you show them up; you inflict 2-morale harm
                                    • you keep them off-balance and confused; you inflict 2-exhaustion
                                    • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                    • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                    ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                    • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                    • your shot strikes a second available target of your choice
                                    • your shot cuts something, breaks something, or knocks something over, your choice
                                    • your shot distracts an opponent and provides an opportunity
                                    ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                    • mark an additional wear on the hurled item to inflict an additional 1-injury
                                    • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                    • your target is knocked off their feet by the throw
                                    ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                    • +1 if you have a connection with each other
                                    • +1 if you are outnumbered
                                    • +1 for every 2 additional exhaustion you mark between the two of you
                                    On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                    • you each suffer little (-1) harm
                                    • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                    • you inflict 2-morale harm
                                    • you create a path for the two of you to retreat or advance
                                    ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                    • you inflict 2-exhaustion on your opponent
                                    • you shift your range one step
                                    • you deflect some of their incoming blows; suffer little (-1) harm
                                    • you inflict wear on their equipment with precise strikes
                                    • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                      • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                      • if you target a piece of equipment’s weak point, inflict 2-wear
                                      • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                      On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                      • your new dominant hand is fresher; clear 2-exhaustion
                                      • your opponent is startled by the shift; they mark morale harm
                                      • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                      ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/pl.json b/root/translations/pl.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/pl.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                      • is your character telling the truth?
                                      • what is your character really feeling?
                                      • what does your character intend to do?
                                      • what does your character wish I’d do?
                                      • how could I get your character to _______?
                                      ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                      • what’s my best way out / in / through?
                                      • who or what is the biggest threat?
                                      • who or what is most vulnerable to me?
                                      • what should I be on the lookout for?
                                      • who is in control here?
                                      ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                      • they hesitate; you shake their confidence or weaken their morale.
                                      • they stumble; you gain a critical opportunity.
                                      • they overreact; take +1 forward against them.
                                      ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                      • conceal your help or interference
                                      • create an opportunity or obstacle
                                      ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                      • inflict serious (+1) harm
                                      • suffer little (-1) harm
                                      • shift your range one step
                                      • impress, dismay, or frighten your foe
                                      ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                      • you strike a fast blow; inflict injury
                                      • you wear them down; they mark exhaustion
                                      • you exploit weakness; mark exhaustion to inflict 2-injury
                                      • you withdraw; disengage to close range
                                      ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                      • inflict 2-morale harm
                                      • they are pinned or blocked
                                      ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                      • you inflict morale or exhaustion harm (GM’s choice)
                                      • you disarm your opponent; their weapon is out of hand, but in reach
                                      • you don’t suffer any harm
                                      ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                      • you don’t mark wear
                                      • you don’t mark exhaustion
                                      • you move quickly and change your position (and, if you choose, range)
                                      • you keep your target at bay—they don’t move
                                      ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                      • you show them up; you inflict 2-morale harm
                                      • you keep them off-balance and confused; you inflict 2-exhaustion
                                      • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                      • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                      ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                      • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                      • your shot strikes a second available target of your choice
                                      • your shot cuts something, breaks something, or knocks something over, your choice
                                      • your shot distracts an opponent and provides an opportunity
                                      ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                      • mark an additional wear on the hurled item to inflict an additional 1-injury
                                      • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                      • your target is knocked off their feet by the throw
                                      ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                      • +1 if you have a connection with each other
                                      • +1 if you are outnumbered
                                      • +1 for every 2 additional exhaustion you mark between the two of you
                                      On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                      • you each suffer little (-1) harm
                                      • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                      • you inflict 2-morale harm
                                      • you create a path for the two of you to retreat or advance
                                      ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                      • you inflict 2-exhaustion on your opponent
                                      • you shift your range one step
                                      • you deflect some of their incoming blows; suffer little (-1) harm
                                      • you inflict wear on their equipment with precise strikes
                                      • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                        • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                        • if you target a piece of equipment’s weak point, inflict 2-wear
                                        • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                        On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                        • your new dominant hand is fresher; clear 2-exhaustion
                                        • your opponent is startled by the shift; they mark morale harm
                                        • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                        ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/pt.json b/root/translations/pt.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/pt.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                        • is your character telling the truth?
                                        • what is your character really feeling?
                                        • what does your character intend to do?
                                        • what does your character wish I’d do?
                                        • how could I get your character to _______?
                                        ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                        • what’s my best way out / in / through?
                                        • who or what is the biggest threat?
                                        • who or what is most vulnerable to me?
                                        • what should I be on the lookout for?
                                        • who is in control here?
                                        ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                        • they hesitate; you shake their confidence or weaken their morale.
                                        • they stumble; you gain a critical opportunity.
                                        • they overreact; take +1 forward against them.
                                        ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                        • conceal your help or interference
                                        • create an opportunity or obstacle
                                        ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                        • inflict serious (+1) harm
                                        • suffer little (-1) harm
                                        • shift your range one step
                                        • impress, dismay, or frighten your foe
                                        ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                        • you strike a fast blow; inflict injury
                                        • you wear them down; they mark exhaustion
                                        • you exploit weakness; mark exhaustion to inflict 2-injury
                                        • you withdraw; disengage to close range
                                        ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                        • inflict 2-morale harm
                                        • they are pinned or blocked
                                        ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                        • you inflict morale or exhaustion harm (GM’s choice)
                                        • you disarm your opponent; their weapon is out of hand, but in reach
                                        • you don’t suffer any harm
                                        ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                        • you don’t mark wear
                                        • you don’t mark exhaustion
                                        • you move quickly and change your position (and, if you choose, range)
                                        • you keep your target at bay—they don’t move
                                        ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                        • you show them up; you inflict 2-morale harm
                                        • you keep them off-balance and confused; you inflict 2-exhaustion
                                        • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                        • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                        ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                        • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                        • your shot strikes a second available target of your choice
                                        • your shot cuts something, breaks something, or knocks something over, your choice
                                        • your shot distracts an opponent and provides an opportunity
                                        ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                        • mark an additional wear on the hurled item to inflict an additional 1-injury
                                        • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                        • your target is knocked off their feet by the throw
                                        ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                        • +1 if you have a connection with each other
                                        • +1 if you are outnumbered
                                        • +1 for every 2 additional exhaustion you mark between the two of you
                                        On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                        • you each suffer little (-1) harm
                                        • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                        • you inflict 2-morale harm
                                        • you create a path for the two of you to retreat or advance
                                        ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                        • you inflict 2-exhaustion on your opponent
                                        • you shift your range one step
                                        • you deflect some of their incoming blows; suffer little (-1) harm
                                        • you inflict wear on their equipment with precise strikes
                                        • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                          • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                          • if you target a piece of equipment’s weak point, inflict 2-wear
                                          • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                          On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                          • your new dominant hand is fresher; clear 2-exhaustion
                                          • your opponent is startled by the shift; they mark morale harm
                                          • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                          ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/ru.json b/root/translations/ru.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/ru.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                          • is your character telling the truth?
                                          • what is your character really feeling?
                                          • what does your character intend to do?
                                          • what does your character wish I’d do?
                                          • how could I get your character to _______?
                                          ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                          • what’s my best way out / in / through?
                                          • who or what is the biggest threat?
                                          • who or what is most vulnerable to me?
                                          • what should I be on the lookout for?
                                          • who is in control here?
                                          ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                          • they hesitate; you shake their confidence or weaken their morale.
                                          • they stumble; you gain a critical opportunity.
                                          • they overreact; take +1 forward against them.
                                          ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                          • conceal your help or interference
                                          • create an opportunity or obstacle
                                          ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                          • inflict serious (+1) harm
                                          • suffer little (-1) harm
                                          • shift your range one step
                                          • impress, dismay, or frighten your foe
                                          ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                          • you strike a fast blow; inflict injury
                                          • you wear them down; they mark exhaustion
                                          • you exploit weakness; mark exhaustion to inflict 2-injury
                                          • you withdraw; disengage to close range
                                          ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                          • inflict 2-morale harm
                                          • they are pinned or blocked
                                          ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                          • you inflict morale or exhaustion harm (GM’s choice)
                                          • you disarm your opponent; their weapon is out of hand, but in reach
                                          • you don’t suffer any harm
                                          ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                          • you don’t mark wear
                                          • you don’t mark exhaustion
                                          • you move quickly and change your position (and, if you choose, range)
                                          • you keep your target at bay—they don’t move
                                          ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                          • you show them up; you inflict 2-morale harm
                                          • you keep them off-balance and confused; you inflict 2-exhaustion
                                          • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                          • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                          ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                          • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                          • your shot strikes a second available target of your choice
                                          • your shot cuts something, breaks something, or knocks something over, your choice
                                          • your shot distracts an opponent and provides an opportunity
                                          ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                          • mark an additional wear on the hurled item to inflict an additional 1-injury
                                          • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                          • your target is knocked off their feet by the throw
                                          ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                          • +1 if you have a connection with each other
                                          • +1 if you are outnumbered
                                          • +1 for every 2 additional exhaustion you mark between the two of you
                                          On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                          • you each suffer little (-1) harm
                                          • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                          • you inflict 2-morale harm
                                          • you create a path for the two of you to retreat or advance
                                          ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                          • you inflict 2-exhaustion on your opponent
                                          • you shift your range one step
                                          • you deflect some of their incoming blows; suffer little (-1) harm
                                          • you inflict wear on their equipment with precise strikes
                                          • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                            • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                            • if you target a piece of equipment’s weak point, inflict 2-wear
                                            • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                            On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                            • your new dominant hand is fresher; clear 2-exhaustion
                                            • your opponent is startled by the shift; they mark morale harm
                                            • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                            ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/sl.json b/root/translations/sl.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/sl.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                            • is your character telling the truth?
                                            • what is your character really feeling?
                                            • what does your character intend to do?
                                            • what does your character wish I’d do?
                                            • how could I get your character to _______?
                                            ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                            • what’s my best way out / in / through?
                                            • who or what is the biggest threat?
                                            • who or what is most vulnerable to me?
                                            • what should I be on the lookout for?
                                            • who is in control here?
                                            ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                            • they hesitate; you shake their confidence or weaken their morale.
                                            • they stumble; you gain a critical opportunity.
                                            • they overreact; take +1 forward against them.
                                            ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                            • conceal your help or interference
                                            • create an opportunity or obstacle
                                            ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                            • inflict serious (+1) harm
                                            • suffer little (-1) harm
                                            • shift your range one step
                                            • impress, dismay, or frighten your foe
                                            ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                            • you strike a fast blow; inflict injury
                                            • you wear them down; they mark exhaustion
                                            • you exploit weakness; mark exhaustion to inflict 2-injury
                                            • you withdraw; disengage to close range
                                            ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                            • inflict 2-morale harm
                                            • they are pinned or blocked
                                            ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                            • you inflict morale or exhaustion harm (GM’s choice)
                                            • you disarm your opponent; their weapon is out of hand, but in reach
                                            • you don’t suffer any harm
                                            ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                            • you don’t mark wear
                                            • you don’t mark exhaustion
                                            • you move quickly and change your position (and, if you choose, range)
                                            • you keep your target at bay—they don’t move
                                            ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                            • you show them up; you inflict 2-morale harm
                                            • you keep them off-balance and confused; you inflict 2-exhaustion
                                            • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                            • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                            ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                            • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                            • your shot strikes a second available target of your choice
                                            • your shot cuts something, breaks something, or knocks something over, your choice
                                            • your shot distracts an opponent and provides an opportunity
                                            ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                            • mark an additional wear on the hurled item to inflict an additional 1-injury
                                            • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                            • your target is knocked off their feet by the throw
                                            ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                            • +1 if you have a connection with each other
                                            • +1 if you are outnumbered
                                            • +1 for every 2 additional exhaustion you mark between the two of you
                                            On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                            • you each suffer little (-1) harm
                                            • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                            • you inflict 2-morale harm
                                            • you create a path for the two of you to retreat or advance
                                            ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                            • you inflict 2-exhaustion on your opponent
                                            • you shift your range one step
                                            • you deflect some of their incoming blows; suffer little (-1) harm
                                            • you inflict wear on their equipment with precise strikes
                                            • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                              • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                              • if you target a piece of equipment’s weak point, inflict 2-wear
                                              • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                              On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                              • your new dominant hand is fresher; clear 2-exhaustion
                                              • your opponent is startled by the shift; they mark morale harm
                                              • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                              ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/sv.json b/root/translations/sv.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/sv.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                              • is your character telling the truth?
                                              • what is your character really feeling?
                                              • what does your character intend to do?
                                              • what does your character wish I’d do?
                                              • how could I get your character to _______?
                                              ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                              • what’s my best way out / in / through?
                                              • who or what is the biggest threat?
                                              • who or what is most vulnerable to me?
                                              • what should I be on the lookout for?
                                              • who is in control here?
                                              ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                              • they hesitate; you shake their confidence or weaken their morale.
                                              • they stumble; you gain a critical opportunity.
                                              • they overreact; take +1 forward against them.
                                              ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                              • conceal your help or interference
                                              • create an opportunity or obstacle
                                              ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                              • inflict serious (+1) harm
                                              • suffer little (-1) harm
                                              • shift your range one step
                                              • impress, dismay, or frighten your foe
                                              ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                              • you strike a fast blow; inflict injury
                                              • you wear them down; they mark exhaustion
                                              • you exploit weakness; mark exhaustion to inflict 2-injury
                                              • you withdraw; disengage to close range
                                              ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                              • inflict 2-morale harm
                                              • they are pinned or blocked
                                              ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                              • you inflict morale or exhaustion harm (GM’s choice)
                                              • you disarm your opponent; their weapon is out of hand, but in reach
                                              • you don’t suffer any harm
                                              ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                              • you don’t mark wear
                                              • you don’t mark exhaustion
                                              • you move quickly and change your position (and, if you choose, range)
                                              • you keep your target at bay—they don’t move
                                              ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                              • you show them up; you inflict 2-morale harm
                                              • you keep them off-balance and confused; you inflict 2-exhaustion
                                              • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                              • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                              ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                              • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                              • your shot strikes a second available target of your choice
                                              • your shot cuts something, breaks something, or knocks something over, your choice
                                              • your shot distracts an opponent and provides an opportunity
                                              ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                              • mark an additional wear on the hurled item to inflict an additional 1-injury
                                              • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                              • your target is knocked off their feet by the throw
                                              ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                              • +1 if you have a connection with each other
                                              • +1 if you are outnumbered
                                              • +1 for every 2 additional exhaustion you mark between the two of you
                                              On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                              • you each suffer little (-1) harm
                                              • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                              • you inflict 2-morale harm
                                              • you create a path for the two of you to retreat or advance
                                              ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                              • you inflict 2-exhaustion on your opponent
                                              • you shift your range one step
                                              • you deflect some of their incoming blows; suffer little (-1) harm
                                              • you inflict wear on their equipment with precise strikes
                                              • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                                • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                                • if you target a piece of equipment’s weak point, inflict 2-wear
                                                • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                                On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                                • your new dominant hand is fresher; clear 2-exhaustion
                                                • your opponent is startled by the shift; they mark morale harm
                                                • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                                ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/tr.json b/root/translations/tr.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/tr.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                                • is your character telling the truth?
                                                • what is your character really feeling?
                                                • what does your character intend to do?
                                                • what does your character wish I’d do?
                                                • how could I get your character to _______?
                                                ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                                • what’s my best way out / in / through?
                                                • who or what is the biggest threat?
                                                • who or what is most vulnerable to me?
                                                • what should I be on the lookout for?
                                                • who is in control here?
                                                ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                                • they hesitate; you shake their confidence or weaken their morale.
                                                • they stumble; you gain a critical opportunity.
                                                • they overreact; take +1 forward against them.
                                                ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                                • conceal your help or interference
                                                • create an opportunity or obstacle
                                                ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                                • inflict serious (+1) harm
                                                • suffer little (-1) harm
                                                • shift your range one step
                                                • impress, dismay, or frighten your foe
                                                ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                                • you strike a fast blow; inflict injury
                                                • you wear them down; they mark exhaustion
                                                • you exploit weakness; mark exhaustion to inflict 2-injury
                                                • you withdraw; disengage to close range
                                                ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                                • inflict 2-morale harm
                                                • they are pinned or blocked
                                                ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                                • you inflict morale or exhaustion harm (GM’s choice)
                                                • you disarm your opponent; their weapon is out of hand, but in reach
                                                • you don’t suffer any harm
                                                ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                                • you don’t mark wear
                                                • you don’t mark exhaustion
                                                • you move quickly and change your position (and, if you choose, range)
                                                • you keep your target at bay—they don’t move
                                                ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                                • you show them up; you inflict 2-morale harm
                                                • you keep them off-balance and confused; you inflict 2-exhaustion
                                                • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                                • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                                ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                                • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                                • your shot strikes a second available target of your choice
                                                • your shot cuts something, breaks something, or knocks something over, your choice
                                                • your shot distracts an opponent and provides an opportunity
                                                ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                                • mark an additional wear on the hurled item to inflict an additional 1-injury
                                                • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                                • your target is knocked off their feet by the throw
                                                ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                                • +1 if you have a connection with each other
                                                • +1 if you are outnumbered
                                                • +1 for every 2 additional exhaustion you mark between the two of you
                                                On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                                • you each suffer little (-1) harm
                                                • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                                • you inflict 2-morale harm
                                                • you create a path for the two of you to retreat or advance
                                                ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                                • you inflict 2-exhaustion on your opponent
                                                • you shift your range one step
                                                • you deflect some of their incoming blows; suffer little (-1) harm
                                                • you inflict wear on their equipment with precise strikes
                                                • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                                  • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                                  • if you target a piece of equipment’s weak point, inflict 2-wear
                                                  • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                                  On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                                  • your new dominant hand is fresher; clear 2-exhaustion
                                                  • your opponent is startled by the shift; they mark morale harm
                                                  • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                                  ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/uk.json b/root/translations/uk.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/uk.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                                  • is your character telling the truth?
                                                  • what is your character really feeling?
                                                  • what does your character intend to do?
                                                  • what does your character wish I’d do?
                                                  • how could I get your character to _______?
                                                  ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                                  • what’s my best way out / in / through?
                                                  • who or what is the biggest threat?
                                                  • who or what is most vulnerable to me?
                                                  • what should I be on the lookout for?
                                                  • who is in control here?
                                                  ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                                  • they hesitate; you shake their confidence or weaken their morale.
                                                  • they stumble; you gain a critical opportunity.
                                                  • they overreact; take +1 forward against them.
                                                  ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                                  • conceal your help or interference
                                                  • create an opportunity or obstacle
                                                  ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                                  • inflict serious (+1) harm
                                                  • suffer little (-1) harm
                                                  • shift your range one step
                                                  • impress, dismay, or frighten your foe
                                                  ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                                  • you strike a fast blow; inflict injury
                                                  • you wear them down; they mark exhaustion
                                                  • you exploit weakness; mark exhaustion to inflict 2-injury
                                                  • you withdraw; disengage to close range
                                                  ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                                  • inflict 2-morale harm
                                                  • they are pinned or blocked
                                                  ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                                  • you inflict morale or exhaustion harm (GM’s choice)
                                                  • you disarm your opponent; their weapon is out of hand, but in reach
                                                  • you don’t suffer any harm
                                                  ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                                  • you don’t mark wear
                                                  • you don’t mark exhaustion
                                                  • you move quickly and change your position (and, if you choose, range)
                                                  • you keep your target at bay—they don’t move
                                                  ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                                  • you show them up; you inflict 2-morale harm
                                                  • you keep them off-balance and confused; you inflict 2-exhaustion
                                                  • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                                  • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                                  ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                                  • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                                  • your shot strikes a second available target of your choice
                                                  • your shot cuts something, breaks something, or knocks something over, your choice
                                                  • your shot distracts an opponent and provides an opportunity
                                                  ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                                  • mark an additional wear on the hurled item to inflict an additional 1-injury
                                                  • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                                  • your target is knocked off their feet by the throw
                                                  ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                                  • +1 if you have a connection with each other
                                                  • +1 if you are outnumbered
                                                  • +1 for every 2 additional exhaustion you mark between the two of you
                                                  On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                                  • you each suffer little (-1) harm
                                                  • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                                  • you inflict 2-morale harm
                                                  • you create a path for the two of you to retreat or advance
                                                  ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                                  • you inflict 2-exhaustion on your opponent
                                                  • you shift your range one step
                                                  • you deflect some of their incoming blows; suffer little (-1) harm
                                                  • you inflict wear on their equipment with precise strikes
                                                  • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                                    • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                                    • if you target a piece of equipment’s weak point, inflict 2-wear
                                                    • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                                    On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                                    • your new dominant hand is fresher; clear 2-exhaustion
                                                    • your opponent is startled by the shift; they mark morale harm
                                                    • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                                    ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/root/translations/zh.json b/root/translations/zh.json new file mode 100644 index 0000000000..5e92900c17 --- /dev/null +++ b/root/translations/zh.json @@ -0,0 +1,120 @@ +{ + "choose_otraimg_type": "Choose image", + "choose_sheet_type": "Choose playbook", + "agetsa": "and gets a", + "rollswith": "rolls with", + "charm_label": "Charm", + "cunning_label": "Cunning", + "finesse_label": "Finesse", + "luck_label": "Luck", + "might_label": "Might", + "name_label": "NAME", + "species_label": "SPECIES", + "demeanor_label": "DEMEANOR", + "details_label": "DETAILS", + "basicmove_roll": "BASIC MOVE", + "basicmoves1_label": "Attempt a Roguish Feat", + "basicmoves1_dsc": "When you attempt a roguish feat you are skilled in, say your goal and roll with Finesse. On a hit, you achieve your goal. On a 7-9, mark exhaustion or one risk of your feat (GM’s choice) comes to bear. When you attempt a roguish feat you are NOT skilled in, you are trusting fate.", + "basicmoves2_label": "Figure Someone Out", + "basicmoves2_dsc": "When you try to figure someone out, roll with Charm. On a 10+, hold 3. On a 7–9, hold 1. While interacting with them, spend your hold 1 for 1 to ask their player a question:
                                                    • is your character telling the truth?
                                                    • what is your character really feeling?
                                                    • what does your character intend to do?
                                                    • what does your character wish I’d do?
                                                    • how could I get your character to _______?
                                                    ", + "basicmoves3_label": "Persuade a NPC", + "basicmoves3_dsc": "When you persuade an NPC with promises or threats, roll with Charm. On a 10+, they see things your way, provided you have given them a strong motive or reasonable bribe. On a 7–9, they aren’t sure; the GM will tell you what you need to do to sway them.", + "basicmoves4_label": "Read a Tense Situation", + "basicmoves4_dsc": "When you read a tense situation, roll with Cunning. On a 7–9, ask 1. On a 10+, ask 3. Take +1 when acting on the answers.
                                                    • what’s my best way out / in / through?
                                                    • who or what is the biggest threat?
                                                    • who or what is most vulnerable to me?
                                                    • what should I be on the lookout for?
                                                    • who is in control here?
                                                    ", + "basicmoves5_label": "Trick an NPC", + "basicmoves5_dsc": "When you trick an NPC to get what you want, roll with Cunning. On a hit, they take the bait and do what you want. On a 7–9, they can instead choose one:
                                                    • they hesitate; you shake their confidence or weaken their morale.
                                                    • they stumble; you gain a critical opportunity.
                                                    • they overreact; take +1 forward against them.
                                                    ", + "basicmoves6_label": "Trust Fate", + "basicmoves6_dsc": "When you trust fate to get through trouble, roll with Luck. On a hit, you scrape by or barrel through; the GM will tell you what it costs you. On a 10+, fortune favors the bold; your panache also earns you a fleeting opportunity.", + "basicmoves7_label": "Wreck Something", + "basicmoves7_dsc": "When you wreck something, roll with Might. On a hit, you seriously break it; it can’t be used again until it’s repaired. On a 7–9, you’re imprecise and dangerous; you cause collateral damage, attract attention, or end up in a bad spot, GM’s choice.", + "basicmoves8_label": "Help or Interfere", + "basicmoves8_dsc": "When you help or interfere with another vagabond, mark exhaustion to add +1 or –2 to their roll (after rolling). Mark exhaustion again to select one of the following:
                                                    • conceal your help or interference
                                                    • create an opportunity or obstacle
                                                    ", + "basicmoves9_label": "Plead with a PC", + "basicmoves9_dsc": "When you plead with a PC to go along with you, they clear 1-exhaustion if they agree to what you’ve proposed. You may use this move only once per session.", + "basicmoves10_label": "Engage in Melee", + "basicmoves10_dsc": "When you engage an enemy in melee at close or intimate range, roll with Might. On a hit, trade harm. On a 10+, pick 3. On a 7–9, pick 1.
                                                    • inflict serious (+1) harm
                                                    • suffer little (-1) harm
                                                    • shift your range one step
                                                    • impress, dismay, or frighten your foe
                                                    ", + "basicmoves11_label": "Grapple an Enemy", + "basicmoves11_dsc": "When you grapple with an enemy at intimate range, roll with Might. On a hit, you choose simultaneously. Continue making choices until someone disengages, falls unconscious, or dies. On a 10+, you make one choice first, before beginning to make simultaneous choices.
                                                    • you strike a fast blow; inflict injury
                                                    • you wear them down; they mark exhaustion
                                                    • you exploit weakness; mark exhaustion to inflict 2-injury
                                                    • you withdraw; disengage to close range
                                                    ", + "basicmoves12_label": "Target Someone", + "basicmoves12_dsc": "When you target a vulnerable foe at far range, roll with Finesse. On a hit, you inflict injury. On a 10+, you can strike again before they get to cover—inflict injury again—or keep your position hidden, your choice.", + "weaponmove_roll": "WEAPON SKILL", + "weaponmoves1_label": "Cleave", + "weaponmoves1_dsc": "When you cleave armored foes at close range, mark exhaustion and roll with Might. On a hit, you smash through their defenses and equipment; inflict 3-wear. On a 7–9, you overextend your weapon or yourself: mark wear or end up in a bad spot, your choice.", + "weaponmoves2_label": "Confuse Senses", + "weaponmoves2_dsc": "When you throw something to confuse an opponent’s senses at close or intimate range, roll with Finesse. On a hit, you’ve thrown them off balance, blinded them, deafened them, or confused them, and given yourself an opportunity. On a 10+, they have to take some time to get their bearings and restore their senses before they can act clearly again. On a 7–9, you have just a few moments.", + "weaponmoves3_label": "Disarm", + "weaponmoves3_dsc": "When you target an opponent’s weapon with your strikes at close range, roll with Finesse. On a hit, they have to mark 2-exhaustion or lose their weapon—it’s well out of reach. On a 10+, they have to mark 3-exhaustion instead of 2. ", + "weaponmoves4_label": "Harry a Group", + "weaponmoves4_dsc": "When you harry a group of enemies at far range , mark wear and roll with Cunning. On a 10+, both. On a 7–9, choose 1:
                                                    • inflict 2-morale harm
                                                    • they are pinned or blocked
                                                    ", + "weaponmoves5_label": "Improvise a Weapon", + "weaponmoves5_dsc": "When you make a weapon out of improvised materials around you, roll with Cunning. On a hit, you make a weapon; the GM will tell you its range tag and at least one other beneficial tag based on the materials you used. On a 7–9, the weapon also has a weakness tag. ", + "weaponmoves6_label": "Parry", + "weaponmoves6_dsc": "When you try to parry the attacks of an enemy at close range, mark exhaustion and roll with Finesse. On a hit, you consume their attention. On a 10+, all 3. On a 7–9, pick 1.
                                                    • you inflict morale or exhaustion harm (GM’s choice)
                                                    • you disarm your opponent; their weapon is out of hand, but in reach
                                                    • you don’t suffer any harm
                                                    ", + "weaponmoves7_label": "Quick Shot", + "weaponmoves7_dsc": "When you fire a snap shot at an enemy at close range, roll with Luck. On a hit, inflict injury. On a 7–9, choose 1. On a 10+, choose 2.
                                                    • you don’t mark wear
                                                    • you don’t mark exhaustion
                                                    • you move quickly and change your position (and, if you choose, range)
                                                    • you keep your target at bay—they don’t move
                                                    ", + "weaponmoves8_label": "Storm a Group", + "weaponmoves8_dsc": "When you storm a group of foes in melee, mark exhaustion and roll with Might. On a hit, trade harm. On a 10+, choose 2.On a 7–9, choose 1.
                                                    • you show them up; you inflict 2-morale harm
                                                    • you keep them off-balance and confused; you inflict 2-exhaustion
                                                    • you avoid their blows to the best of your ability; you suffer little (–1) harm
                                                    • you use them against each other; mark exhaustion again and they inflict their harm against themselves
                                                    ", + "weaponmoves9_label": "Trick Shot", + "weaponmoves9_dsc": "When you fire a clever shot designed to take advantage of the environment at any range, mark wear and roll with Finesse. On a 7–9, choose 2. On a 10+, choose 3.
                                                    • your shot lands in any target of your choice within range, even if it’s behind cover or hidden (inflicting injury or wear if appropriate)
                                                    • your shot strikes a second available target of your choice
                                                    • your shot cuts something, breaks something, or knocks something over, your choice
                                                    • your shot distracts an opponent and provides an opportunity
                                                    ", + "weaponmoves10_label": "Vicious Strike", + "weaponmoves10_dsc": "When you viciously strike an opponent where they are weak at intimate or close range, mark exhaustion and roll with Might. On a hit, they suffer serious (+1) harm and cannot mark wear on their armor to block it. On a 10+, you get away with the strike. On a 7–9, they score a blow against you as well. ", + "weaponmoves11_label": "Battle Fury", + "weaponmoves11_dsc": "When you fling yourself into a fury of weapon, tooth, and claw in an allout attack at intimate range, mark wear on your weapon and roll with Luck. On a hit, fill your exhaustion track. For each box you mark, inflict 2-injury on your target. On a 7-9, your target also inflicts their harm upon you. This move does not require the weapon to be tagged with intimate range; weapons with close range may also be used.", + "weaponmoves12_label": "Charge", + "weaponmoves12_dsc": "When you charge at an opponent at far range, mark exhaustion and roll with Might. On a hit, they must choose to either mark 2-exhaustion or allow you to push them—you say where they are driven, and you say what range you now stand at. On a 10+, inflict morale harm on them as well.", + "weaponmoves13_label": "Hurl", + "weaponmoves13_dsc": "When you hurl a weapon or dangerous object not intended for throwing at an enemy at far range, mark exhaustion and roll with Might. On a hit, your hurled weapon strikes your target; mark wear on the weapon and inflict 1-injury and 1-exhaustion on your target. On a 7-9, choose 1. On a 10+, choose 2.
                                                    • mark an additional wear on the hurled item to inflict an additional 1-injury
                                                    • the hurled item rebounds to somewhere reachable, instead of out of sight or out of reach
                                                    • your target is knocked off their feet by the throw
                                                    ", + "weaponmoves15_label": "Paired Fighting", + "weaponmoves15_dsc": "When you and another vagabond pair fight back to back against foes at close range, you each mark exhaustion and one of you rolls with the following modifiers (max +3):
                                                    • +1 if you have a connection with each other
                                                    • +1 if you are outnumbered
                                                    • +1 for every 2 additional exhaustion you mark between the two of you
                                                    On a hit, you together inflict 1-injury on every foe within close range (or 3-injury total against a group), and you each suffer 1-injury. On a 7-9, choose 1. On a 10+, choose 2.
                                                    • you each suffer little (-1) harm
                                                    • you inflict an additional 2-injury to any single target (including a single group) of your choice
                                                    • you inflict 2-morale harm
                                                    • you create a path for the two of you to retreat or advance
                                                    ", + "weaponmoves14_label": "Lunge", + "weaponmoves14_dsc": "When you make an outright lunge at a foe within close range, choose an amount of injury between 1-injury and 3-injury and roll with Finesse. On a hit, you inflict that amount of injury—ignoring armor—but if your target survives (or if other foes are present) they can take advantage of your overextension to inflict the same amount on you. On a 7-9, they can inflict 1-injury more upon you than you had originally chosen to inflict upon them.", + "weaponmoves16_label": "Hammerpaws", + "weaponmoves16_dsc": "When you come to blows with an armed opponent at close or intimate range while you are unarmed, roll with Finesse. On a hit, they inflict their harm on you. On a 7-9, choose 2. On a 10+, choose 3.
                                                    • you inflict 2-exhaustion on your opponent
                                                    • you shift your range one step
                                                    • you deflect some of their incoming blows; suffer little (-1) harm
                                                    • you inflict wear on their equipment with precise strikes
                                                    • you take an object from them; they must mark exhaustion to stop you", + "weaponmoves17_label": "Pinpoint Shot", + "weaponmoves17_dsc": "When you take the time to fire a shot at far range with pinpoint accuracy, roll with Cunning. On a hit, you put the shot exactly where you choose:
                                                      • if you target an NPC’s weak point, inflict 3-injury (unblockable by armor)
                                                      • if you target a piece of equipment’s weak point, inflict 2-wear
                                                      • if you target something in the environment, you strike it, cut it, or break it as appropriate
                                                      On a 7-9, your current vantage point isn’t quite right; you need to move to a better one before you can make the perfect shot. Mark exhaustion to scramble there, and then choose as normal.", + "weaponmoves18_label": "Long Shot", + "weaponmoves18_dsc": "When you pull hard on your bow’s draw to extend its range beyond far, mark wear and exhaustion to roll any far range weapon move (target someone, pinpoint shot, etc.) with Might instead of the move’s normal stat, paying the additional cost(s) of the weapon move as well. This weapon skill requires your weapon to be tagged with far range, this skill, and the tag for whatever weapon move you are using (if needed).", + "weaponmoves19_label": "Point-Blank Shot", + "weaponmoves19_dsc": "When you fire a shot at point-blank range (intimate range), mark any combination of up to 2-wear and up to 2-exhaustion, and roll with Luck. On a hit, you put your shot into your target; inflict injury equivalent to the wear and exhaustion you marked, combined. On a 10+, you can also skip back after your shot, moving to close range before your opponent can grab you or otherwise retaliate. Your weapon does not need to be tagged with intimate range to use this weapon skill.", + "weaponmoves20_label": "Switch Hands", + "weaponmoves20_dsc": "When you shift your grip to change your dominant hand in the middle of an extended bout with a foe, roll with Finesse. On a 7-9, choose 1. On a 10+, choose 2:
                                                      • your new dominant hand is fresher; clear 2-exhaustion
                                                      • your opponent is startled by the shift; they mark morale harm
                                                      • your shift gives you an immediate opportunity; mark exhaustion to seize it and inflict 2-injury
                                                      ", + "back_button": "Regresar", + "champion_label": "The Champion", + "champion_dsc": "You are a would-be hero and legend, a defender of the innocent and a standard-bearer of lost causes. Yours is the heroic narrative, even if you sometimes oversimplify things.", + "chronicler_label": "The Chronicler", + "chronicler_dsc": "You are a sage who honors history and the written word, keeper of lost, banned, or forbidden texts of truths the great Woodland powers would rather be forgotten.", + "exile_label": "The Exile", + "exile_dsc": "You were once a prominent member of a powerful faction, but now you are exiled from it, and defined by what you do in relation to the group you once called your own.", + "envoy_label": "The Envoy", + "envoy_dsc": "You are a professional representative, capable of speaking for other powers while maintaining plausible deniability, fashioned as the ultimate neutral agent and diplomatic mercenary.", + "heretic_label": "The Heretic", + "heretic_dsc": "You are a fervent believer in a cause or ideology that most Woodland denizens and factions find distasteful and unacceptable, even if your beliefs are genuinely for the greater good of the denizens.", + "pirate_label": "The Pirate", + "pirate_dsc": "You are a rogue boat captain, at home on the waters of the Woodland’s rivers, lakes, or bays, free from the sway of land-bound life and more than willing to do whatever it takes to maintain that freedom.", + "prince_label": "The Prince", + "prince_dsc": "You are a second-generation vagabond, heir to your parent’s masteries and knowledge, but also born to this life of roguery and independence—you are not a vagabond by your own volition.", + "raconteur_label": "The Raconteur", + "raconteur_dsc": "You are a storyteller, making coin and earning trust by moving amid the clearings and weaving tales that ultimately teach the denizens the 'truth' of what goes on in the Woodland.", + "raider_label": "The Raider", + "raider_dsc": "You are a bandit, a thief-by-force, dangerous and threatening, but perhaps with the capacity to turn your axe to good use...and all the better if you get paid for it.", + "seeker_label": "The Seeker", + "seeker_dsc": "You are an explorer by nature, interested in free-ranging discovery, delving into ruins, and uncovering whatever secret wonders and ancient truths lie hidden amid the Woodland.", + "adventurer_label": "The Adventurer", + "adventurer_dsc": "You are a peaceful, diplomatic vagabond, making allies from those you aid, perhaps toppling greater powers by forging strong bonds with others.", + "arbiter_label": "The Arbiter", + "arbiter_dsc": "You are a powerful, obstinate vagabond, serving as somewhere between a mercenary and a protector, perhaps taking sides too easily in the greater conflict between the factions.", + "harrier_label": "The Harrier", + "harrier_dsc": "You are a quick, enterprising vagabond, racing easily from building to building and clearing to clearing without anything stopping you, perhaps finding yourself in places others would rather keep secret or hidden.", + "ranger_label": "The Ranger", + "ranger_dsc": "You are a capable, stealthy vagabond, centered on the forests that fill the Woodland between the clearings, more interested in the wilds than in the company of other Woodland denizens or their society.", + "ronin_label": "The Ronin", + "ronin_dsc": "You are a skilled, willful vagabond, formerly a servant of a lord in a different land, now masterless. You came to the Woodland to live as a free vagabond.", + "scoundrel_label": "The Scoundrel", + "scoundrel_dsc": "You are a lucky, dangerous vagabond, acting more as destroyer and troublemaker than anything else, perhaps creating chaos and destruction for its own sake.", + "thief_label": "The Thief", + "thief_dsc": "You are a cunning, criminal vagabond, capable of stealing even the most well-guarded treasures, perhaps committed to crime and theft for its own sake.", + "tinker_label": "The Tinker", + "tinker_dsc": "You are an adept, clever vagabond, interested in mechanisms and craftsmanship, perhaps possessed of ideas that separate you from those around you.", + "vagrant_label": "The Vagrant", + "vagrant_dsc": "You are a charming, survivor vagabond, using words to get out of dangerous situations, perhaps even setting possible predators upon each other to keep them away from yourself." +} \ No newline at end of file diff --git a/xenoscape/xenoscape.html b/xenoscape/xenoscape.html index d8b401f581..1a57dcc0ee 100644 --- a/xenoscape/xenoscape.html +++ b/xenoscape/xenoscape.html @@ -122,19 +122,19 @@
                                                      - LD: RES: + LD: RES:
                                                      - LD: RES: + LD: RES:
                                                      - LD: RES: + LD: RES:
                                                      - LD: RES: + LD: RES:
                                                      - LD: RES: + LD: RES:
@@ -144,27 +144,27 @@
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
@@ -192,13 +192,13 @@ Armi leggere
- +
- +
- +
@@ -206,13 +206,13 @@ Armi medie
- +
- +
- +
@@ -220,13 +220,13 @@ Armi pesanti
- +
- +
- +
@@ -234,13 +234,13 @@ Armi da tiro
- +
- +
- +
@@ -248,13 +248,13 @@ Armi da lancio
- +
- +
- +
@@ -262,13 +262,13 @@ Armi da fuoco
- +
- +
- +
@@ -294,13 +294,13 @@ Corsa
- +
- +
- +
@@ -308,13 +308,13 @@ Rissa
- +
- +
- +
@@ -322,13 +322,13 @@ Acrobazie
- +
- +
- +
@@ -336,13 +336,13 @@ Nuoto
- +
- +
- +
@@ -350,13 +350,13 @@ Scalata
- +
- +
- +
@@ -364,13 +364,13 @@ Meditazione
- +
- +
- +
@@ -399,13 +399,13 @@ Falegnameria
- +
- +
- +
@@ -413,13 +413,13 @@ Scultura
- +
- +
- +
@@ -427,13 +427,13 @@ Metallurgia
- +
- +
- +
@@ -441,13 +441,13 @@ Sartoria
- +
- +
- +
@@ -455,13 +455,13 @@ Ingegneria
- +
- +
- +
@@ -469,13 +469,13 @@ Elettronica
- +
- +
- +
@@ -501,13 +501,13 @@ Investigare
- +
- +
- +
@@ -515,13 +515,13 @@ Medicina
- +
- +
- +
@@ -529,13 +529,13 @@ Cucina
- +
- +
- +
@@ -543,13 +543,13 @@ Animali
- +
- +
- +
@@ -557,13 +557,13 @@ Erboristeria
- +
- +
- +
@@ -571,13 +571,13 @@ Furtività
- +
- +
- +
@@ -606,13 +606,13 @@ Danza
- +
- +
- +
@@ -620,13 +620,13 @@ Musica
- +
- +
- +
@@ -634,13 +634,13 @@ Arti figurative
- +
- +
- +
@@ -648,13 +648,13 @@ Oratoria
- +
- +
- +
@@ -662,13 +662,13 @@ Scrittura
- +
- +
- +
@@ -676,13 +676,13 @@ Esoterismo
- +
- +
- +
@@ -709,170 +709,170 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
@@ -885,42 +885,42 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
@@ -945,104 +945,104 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
@@ -1067,86 +1067,86 @@
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
- +
Note
- +
\ No newline at end of file