Merge branch 'dev'
This commit is contained in:
commit
8325edcae1
322
Cargo.lock
generated
322
Cargo.lock
generated
@ -17,6 +17,12 @@ version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "adler2"
|
||||
version = "2.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
|
||||
|
||||
[[package]]
|
||||
name = "ahash"
|
||||
version = "0.4.8"
|
||||
@ -154,18 +160,19 @@ checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a"
|
||||
|
||||
[[package]]
|
||||
name = "arrayvec"
|
||||
version = "0.7.4"
|
||||
version = "0.7.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
|
||||
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
|
||||
|
||||
[[package]]
|
||||
name = "assets_manager"
|
||||
version = "0.11.6"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b4dde42f7d78f1a1d0149ac8526e21c6c849090ce6aa191ae94b90b0cb2e4aed"
|
||||
checksum = "eadb8d5c3ec796630a35133c038842b02bcfc2a8a324349fc24fd6db5d679474"
|
||||
dependencies = [
|
||||
"ahash 0.8.11",
|
||||
"bincode",
|
||||
"hashbrown 0.14.5",
|
||||
"log",
|
||||
"ron",
|
||||
"serde",
|
||||
@ -186,13 +193,13 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "async-trait"
|
||||
version = "0.1.81"
|
||||
version = "0.1.82"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6e0c28dcc82d7c8ead5cb13beb15405b57b8546e93215673ff8ca0349a028107"
|
||||
checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -253,7 +260,7 @@ dependencies = [
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"miniz_oxide",
|
||||
"miniz_oxide 0.7.4",
|
||||
"object",
|
||||
"rustc-demangle",
|
||||
]
|
||||
@ -334,9 +341,9 @@ checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
|
||||
|
||||
[[package]]
|
||||
name = "bytemuck"
|
||||
version = "1.16.3"
|
||||
version = "1.17.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "102087e286b4677862ea56cf8fc58bb2cdfa8725c40ffb80fe3a008eb7f2fc83"
|
||||
checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2"
|
||||
|
||||
[[package]]
|
||||
name = "byteorder"
|
||||
@ -358,9 +365,12 @@ checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.1.8"
|
||||
version = "1.1.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "504bdec147f2cc13c8b57ed9401fd8a147cc66b67ad5cb241394244f2c947549"
|
||||
checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
|
||||
dependencies = [
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cesu8"
|
||||
@ -439,9 +449,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "constant_time_eq"
|
||||
version = "0.3.0"
|
||||
version = "0.3.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2"
|
||||
checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6"
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation"
|
||||
@ -455,15 +465,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "core-foundation-sys"
|
||||
version = "0.8.6"
|
||||
version = "0.8.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
|
||||
checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
|
||||
|
||||
[[package]]
|
||||
name = "cpufeatures"
|
||||
version = "0.2.12"
|
||||
version = "0.2.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504"
|
||||
checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
@ -553,7 +563,7 @@ checksum = "1234e1717066d3c71dcf89b75e7b586299e41204d361db56ec51e6ded5014279"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -576,7 +586,7 @@ dependencies = [
|
||||
"ident_case",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -587,7 +597,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -641,7 +651,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -689,7 +699,7 @@ dependencies = [
|
||||
"heck 0.4.1",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -710,7 +720,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -731,7 +741,7 @@ dependencies = [
|
||||
"darling",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -808,12 +818,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "flate2"
|
||||
version = "1.0.31"
|
||||
version = "1.0.33"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7f211bbe8e69bbd0cfdea405084f128ae8b4aaa6b0b522fc8f2b009084797920"
|
||||
checksum = "324a1be68054ef05ad64b861cc9eaf1d623d2d8cb25b4bf2cb9cdd902b4bf253"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"miniz_oxide",
|
||||
"miniz_oxide 0.8.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -934,7 +944,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -978,11 +988,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "generator"
|
||||
version = "0.7.5"
|
||||
version = "0.8.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5cc16584ff22b460a382b7feec54b23d2908d858152e5739a120b949293bd74e"
|
||||
checksum = "dbb949699c3e4df3a183b1d2142cb24277057055ed23c68ed58894f76c517223"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"cfg-if",
|
||||
"libc",
|
||||
"log",
|
||||
"rustversion",
|
||||
@ -1251,7 +1261,7 @@ dependencies = [
|
||||
"iana-time-zone-haiku",
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
"windows-core",
|
||||
"windows-core 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1305,9 +1315,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "indexmap"
|
||||
version = "2.3.0"
|
||||
version = "2.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "de3fc2e30ba82dd1b3911c8de1ffc143c74a914a14e99514d7637e3099df5ea0"
|
||||
checksum = "68b900aa2f7301e21c36462b170ee99994de34dff39a4a6a528e80e7376d07e5"
|
||||
dependencies = [
|
||||
"equivalent",
|
||||
"hashbrown 0.14.5",
|
||||
@ -1362,15 +1372,6 @@ version = "1.70.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf"
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
|
||||
dependencies = [
|
||||
"either",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "itertools"
|
||||
version = "0.13.0"
|
||||
@ -1408,18 +1409,18 @@ checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130"
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.69"
|
||||
version = "0.3.70"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
|
||||
checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
|
||||
dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "kiddo"
|
||||
version = "4.2.0"
|
||||
version = "4.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9d2f8d9e1bc7c6919ad2cdc83472a9a4b5ed2ea2c5392c9514fdf958a7920f9a"
|
||||
checksum = "60c5fcd3044b774e2c80a502b2387b75d1baa95e99b2bceeb5db00f2e2d27fe9"
|
||||
dependencies = [
|
||||
"az",
|
||||
"divrem",
|
||||
@ -1428,7 +1429,7 @@ dependencies = [
|
||||
"fixed",
|
||||
"generator",
|
||||
"init_with",
|
||||
"itertools 0.12.1",
|
||||
"itertools",
|
||||
"log",
|
||||
"num-traits",
|
||||
"ordered-float",
|
||||
@ -1446,9 +1447,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.155"
|
||||
version = "0.2.158"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
|
||||
|
||||
[[package]]
|
||||
name = "libredox"
|
||||
@ -1549,10 +1550,19 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "1.0.1"
|
||||
name = "miniz_oxide"
|
||||
version = "0.8.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4569e456d394deccd22ce1c1913e6ea0e54519f577285001215d33557431afe4"
|
||||
checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
|
||||
dependencies = [
|
||||
"adler2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "mio"
|
||||
version = "1.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
|
||||
dependencies = [
|
||||
"hermit-abi",
|
||||
"libc",
|
||||
@ -1653,7 +1663,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1708,9 +1718,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "object"
|
||||
version = "0.36.3"
|
||||
version = "0.36.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9"
|
||||
checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@ -1847,7 +1857,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1872,7 +1882,7 @@ dependencies = [
|
||||
"crc32fast",
|
||||
"fdeflate",
|
||||
"flate2",
|
||||
"miniz_oxide",
|
||||
"miniz_oxide 0.7.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1976,9 +1986,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.36"
|
||||
version = "1.0.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
|
||||
checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
]
|
||||
@ -2059,9 +2069,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "redox_users"
|
||||
version = "0.4.5"
|
||||
version = "0.4.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
|
||||
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
|
||||
dependencies = [
|
||||
"getrandom",
|
||||
"libredox",
|
||||
@ -2171,9 +2181,9 @@ checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
|
||||
|
||||
[[package]]
|
||||
name = "rustc_version"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
|
||||
checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92"
|
||||
dependencies = [
|
||||
"semver",
|
||||
]
|
||||
@ -2194,9 +2204,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls-native-certs"
|
||||
version = "0.7.1"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a88d6d420651b496bdd98684116959239430022a115c1240e6c3993be0b15fba"
|
||||
checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5"
|
||||
dependencies = [
|
||||
"openssl-probe",
|
||||
"rustls-pemfile",
|
||||
@ -2223,9 +2233,9 @@ checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-platform-verifier"
|
||||
version = "0.3.3"
|
||||
version = "0.3.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "93bda3f493b9abe5b93b3e7e3ecde0df292f2bd28c0296b90586ee0055ff5123"
|
||||
checksum = "afbb878bdfdf63a336a5e63561b1835e7a8c91524f51621db870169eac84b490"
|
||||
dependencies = [
|
||||
"core-foundation",
|
||||
"core-foundation-sys",
|
||||
@ -2250,9 +2260,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f"
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.102.6"
|
||||
version = "0.102.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e"
|
||||
checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
@ -2342,29 +2352,29 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b"
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.205"
|
||||
version = "1.0.209"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e33aedb1a7135da52b7c21791455563facbbcc43d0f0f66165b42c21b3dfb150"
|
||||
checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09"
|
||||
dependencies = [
|
||||
"serde_derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_derive"
|
||||
version = "1.0.205"
|
||||
version = "1.0.209"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "692d6f5ac90220161d6774db30c662202721e64aed9058d2c394f451261420c1"
|
||||
checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.122"
|
||||
version = "1.0.127"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "784b6203951c57ff748476b126ccb5e8e2959a5c19e5c617ab1956be3dbc68da"
|
||||
checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
@ -2380,7 +2390,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2412,6 +2422,12 @@ dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shlex"
|
||||
version = "1.3.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
||||
|
||||
[[package]]
|
||||
name = "shred"
|
||||
version = "0.16.1"
|
||||
@ -2565,7 +2581,7 @@ dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"rustversion",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2593,9 +2609,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.72"
|
||||
version = "2.0.77"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af"
|
||||
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -2625,7 +2641,7 @@ checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2673,9 +2689,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.39.2"
|
||||
version = "1.40.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "daa4fb1bc778bd6f04cbfc4bb2d06a7396a8f299dc33ea1900cedaa316f467b1"
|
||||
checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
|
||||
dependencies = [
|
||||
"backtrace",
|
||||
"bytes",
|
||||
@ -2695,7 +2711,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2771,15 +2787,15 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tower-layer"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c20c8dbed6283a09604c3e69b4b7eeb54e298b8a600d4d5ecb5ad39de609f1d0"
|
||||
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
|
||||
|
||||
[[package]]
|
||||
name = "tower-service"
|
||||
version = "0.3.2"
|
||||
version = "0.3.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
|
||||
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
|
||||
|
||||
[[package]]
|
||||
name = "tracing"
|
||||
@ -2801,7 +2817,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3003,7 +3019,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-client"
|
||||
version = "0.16.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"authc",
|
||||
"byteorder",
|
||||
@ -3029,7 +3045,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-client-i18n"
|
||||
version = "0.13.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"deunicode",
|
||||
"fluent",
|
||||
@ -3047,7 +3063,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"approx",
|
||||
"bitflags 2.6.0",
|
||||
@ -3059,7 +3075,7 @@ dependencies = [
|
||||
"fxhash",
|
||||
"hashbrown 0.14.5",
|
||||
"indexmap",
|
||||
"itertools 0.13.0",
|
||||
"itertools",
|
||||
"lazy_static",
|
||||
"num-derive",
|
||||
"num-traits",
|
||||
@ -3087,7 +3103,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-assets"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"assets_manager",
|
||||
"dot_vox",
|
||||
@ -3102,7 +3118,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-base"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"directories-next",
|
||||
"tracing",
|
||||
@ -3111,7 +3127,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-ecs"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"specs",
|
||||
"tracing",
|
||||
@ -3121,7 +3137,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-i18n"
|
||||
version = "0.1.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"hashbrown 0.14.5",
|
||||
"rand",
|
||||
@ -3131,7 +3147,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-net"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"bincode",
|
||||
"flate2",
|
||||
@ -3149,7 +3165,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-state"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bytes",
|
||||
@ -3171,9 +3187,9 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-common-systems"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"itertools 0.13.0",
|
||||
"itertools",
|
||||
"ordered-float",
|
||||
"rand",
|
||||
"rayon",
|
||||
@ -3189,7 +3205,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-network"
|
||||
version = "0.3.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"async-channel",
|
||||
"async-trait",
|
||||
@ -3214,7 +3230,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-network-protocol"
|
||||
version = "0.6.1"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"bitflags 2.6.0",
|
||||
@ -3228,7 +3244,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "veloren-world"
|
||||
version = "0.10.0"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2365209c126afede9b55458c07913bff33947abc"
|
||||
source = "git+https://gitlab.com/veloren/veloren?branch=master#2c1a141fd83ad572553e06a8bf4248d4c7fbedbc"
|
||||
dependencies = [
|
||||
"arr_macro",
|
||||
"bincode",
|
||||
@ -3239,7 +3255,7 @@ dependencies = [
|
||||
"fxhash",
|
||||
"hashbrown 0.14.5",
|
||||
"image",
|
||||
"itertools 0.13.0",
|
||||
"itertools",
|
||||
"kiddo",
|
||||
"lazy_static",
|
||||
"noise",
|
||||
@ -3291,34 +3307,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.92"
|
||||
version = "0.2.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
|
||||
checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
"wasm-bindgen-macro",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-backend"
|
||||
version = "0.2.92"
|
||||
version = "0.2.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
|
||||
checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"log",
|
||||
"once_cell",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.92"
|
||||
version = "0.2.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
|
||||
checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
@ -3326,22 +3343,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.92"
|
||||
version = "0.2.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
||||
checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
"wasm-bindgen-backend",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.92"
|
||||
version = "0.2.93"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
|
||||
checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
|
||||
|
||||
[[package]]
|
||||
name = "wavefront"
|
||||
@ -3354,9 +3371,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "webpki-roots"
|
||||
version = "0.26.3"
|
||||
version = "0.26.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd"
|
||||
checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a"
|
||||
dependencies = [
|
||||
"rustls-pki-types",
|
||||
]
|
||||
@ -3400,11 +3417,12 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
||||
|
||||
[[package]]
|
||||
name = "windows"
|
||||
version = "0.48.0"
|
||||
version = "0.58.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
|
||||
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
|
||||
dependencies = [
|
||||
"windows-targets 0.48.5",
|
||||
"windows-core 0.58.0",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3416,6 +3434,60 @@ dependencies = [
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-core"
|
||||
version = "0.58.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
|
||||
dependencies = [
|
||||
"windows-implement",
|
||||
"windows-interface",
|
||||
"windows-result",
|
||||
"windows-strings",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-implement"
|
||||
version = "0.58.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-interface"
|
||||
version = "0.58.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-result"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
|
||||
dependencies = [
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-strings"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
|
||||
dependencies = [
|
||||
"windows-result",
|
||||
"windows-targets 0.52.6",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "windows-sys"
|
||||
version = "0.48.0"
|
||||
@ -3610,7 +3682,7 @@ checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.72",
|
||||
"syn 2.0.77",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
24
README.md
24
README.md
@ -33,12 +33,13 @@ The bot is able to respond to the following commands, which must be sent via "/t
|
||||
search term.
|
||||
- `admin_access`: Admin-only, prompts the bot to send a trade invite to the sender, after which it
|
||||
will give away and accept any items until the trade ends.
|
||||
- `announce`: Admin-only, sends the announcement message to "/world". This will reset the
|
||||
- `announce`: Admin-only, sends the announcement message to "/region". This will reset the
|
||||
announcement timer to 45 minutes.
|
||||
- `location`: Returns the bot's current town or, if it is not in a town, its current position.
|
||||
- `sort [count (optional)]`: Admin-only, sorts the inventory once or the given number of times.
|
||||
- `pos [x] [y] [z]`: Admin-only, sets the bot's desired position where it will try to stand (must
|
||||
be close to the bot's current position)
|
||||
- `ori [0-360]`: Admin-only, sets the bot's desired orientation (or facing direction)
|
||||
be close to the bot's current position).
|
||||
- `ori [0-360]`: Admin-only, sets the bot's desired orientation (or facing direction).
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@ -94,10 +95,8 @@ position = [0, 0, 0]
|
||||
# Its orientation can be changed in-game with the "ori" command.
|
||||
orientation = 0
|
||||
|
||||
# Optional. Announcements are sent every 45 minutes. Use {location} to insert the bot's current
|
||||
# location. If not set, the bot will not send /world announcements but will still send /region
|
||||
# announcements with usage instructions.
|
||||
announcement = "I love cheese! I am at {location}."
|
||||
# Optional. Announcements are sent every 45 minutes. If not set, the bot will not make announcements.
|
||||
announcement = "I love cheese!"
|
||||
|
||||
# The buy_prices and sell_prices tables are required. The keys are item definition IDs and the
|
||||
# values are the price in coins. You may type in-game "/give_item common.items." and press Tab to
|
||||
@ -143,6 +142,17 @@ podman build . -t trade_bot
|
||||
Then follow the [above](#running) steps with the tag "trade_bot" instead of
|
||||
"git.jeffa.io/jeff/trade_bot".
|
||||
|
||||
## Changelog
|
||||
|
||||
- 9/2/2024:
|
||||
- Added the "location" command.
|
||||
- Removed the "{location}" feature from the announcement message. Announcements are now sent to
|
||||
"/region" so this feature is now used by the "location" command.
|
||||
- Changed announcements to be sent to "/region" instead of "/world". The moderators on the official
|
||||
server have asked for this, so please don't run an old version to circumvent the change.
|
||||
- Removed the "Ouch!" and "That hurt!" messages when the bot is attacked. The moderators have also
|
||||
asked for this.
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the GPL-3.0 license. See the [LICENSE](LICENSE) file for details.
|
||||
|
@ -1,35 +0,0 @@
|
||||
## Monster descriptions, used ONLY in npc-speech-tell_monster
|
||||
|
||||
body-npc-speech-generic = some creature
|
||||
body-npc-speech-biped_large-ogre-male = an ogre
|
||||
body-npc-speech-biped_large-ogre-female = an ogre
|
||||
body-npc-speech-biped_large-cyclops = a cyclops
|
||||
body-npc-speech-biped_large-wendigo = a wendigo
|
||||
body-npc-speech-biped_large-werewolf = a werewolf
|
||||
body-npc-speech-biped_large-cave_troll = a cave troll
|
||||
body-npc-speech-biped_large-mountain_troll = a mountain troll
|
||||
body-npc-speech-biped_large-swamp_troll = a swamp troll
|
||||
body-npc-speech-biped_large-blue_oni = a blue oni
|
||||
body-npc-speech-biped_large-red_oni = a red oni
|
||||
body-npc-speech-biped_large-tursus = a tursus
|
||||
body-npc-speech-biped_large-dullahan = a dullahan
|
||||
body-npc-speech-biped_large-occult_saurok = an occult saurok
|
||||
body-npc-speech-biped_large-mighty_saurok = a mighty saurok
|
||||
body-npc-speech-biped_large-sly_saurok = a sly saurok
|
||||
body-npc-speech-biped_large-mindflayer = a mindflayer
|
||||
body-npc-speech-biped_large-minotaur = a minotaur
|
||||
body-npc-speech-biped_large-tidal_warrior = a tidal warrior
|
||||
body-npc-speech-biped_large-yeti = a yeti
|
||||
body-npc-speech-biped_large-harvester = a harvester
|
||||
body-npc-speech-biped_large-cultist_warlord = a cultist warlord
|
||||
body-npc-speech-biped_large-cultist_warlock = a cultist warlock
|
||||
body-npc-speech-biped_large-husk_brute = a husk brute
|
||||
body-npc-speech-biped_large-gigas_frost = a gigas frost
|
||||
body-npc-speech-biped_large-adlet_elder = an adlet elder
|
||||
body-npc-speech-biped_large-sea_bishop = a sea bishop
|
||||
body-npc-speech-biped_large-haniwa_general = a haniwa general
|
||||
body-npc-speech-biped_large-terracotta_besieger = a terracotta besieger
|
||||
body-npc-speech-biped_large-terracotta_demolisher = a terracotta demolisher
|
||||
body-npc-speech-biped_large-terracotta_punisher = a terracotta punisher
|
||||
body-npc-speech-biped_large-terracotta_pursuer = a terracotta pursuer
|
||||
body-npc-speech-biped_large-cursekeeper = a terracotta pursuer
|
@ -1,2 +0,0 @@
|
||||
esc_menu-logout = Logout
|
||||
esc_menu-quit_game = Quit Game
|
@ -1,454 +0,0 @@
|
||||
## Internal terms, currently only used in zh-Hans.
|
||||
## If we remove them here, they also get auto-removed in zh-Hans,
|
||||
## so please keep them, even when not used in English file.
|
||||
## See https://github.com/WeblateOrg/weblate/issues/9895
|
||||
|
||||
-heavy_stance = ""
|
||||
-agile_stance = ""
|
||||
-defensive_stance = ""
|
||||
-crippling_stance = ""
|
||||
-cleaving_stance = ""
|
||||
|
||||
-basic_state = ""
|
||||
-heavy_state = ""
|
||||
-agile_state = ""
|
||||
-defensive_state = ""
|
||||
-crippling_state = ""
|
||||
-cleaving_state = ""
|
||||
-double_slash = ""
|
||||
-modified_depending_stance = ""
|
||||
-crescent_slash = ""
|
||||
-fell_strike = ""
|
||||
-skewer = ""
|
||||
-cascade = ""
|
||||
-cross_cut = ""
|
||||
-requires_moderate_combo = ""
|
||||
-enter_stance = ""
|
||||
-require_stance = ""
|
||||
|
||||
## Debug abilities
|
||||
common-abilities-debug-possess = Possessing Arrow
|
||||
.desc = Shoots a poisonous arrow. Lets you control your target.
|
||||
common-abilities-debug-evolve = Evolve
|
||||
.desc = You become your better self.
|
||||
common-abilities-debug-glide_boost = Vroom
|
||||
.desc = Gives you the force to reach the sky
|
||||
common-abilities-debug-glide_speeder = Vroom
|
||||
.desc = Gives you the force to reach wherever your eyes look
|
||||
|
||||
## Hotbar abilities
|
||||
|
||||
# Not-yet reworked weapon abilities
|
||||
|
||||
common-abilities-hammer-leap = Smash of Doom
|
||||
.desc = An AOE attack with knockback. Leaps to position of cursor.
|
||||
common-abilities-bow-shotgun = Burst
|
||||
.desc = Launches a burst of arrows
|
||||
common-abilities-staff-fireshockwave = Ring of Fire
|
||||
.desc = Ignites the ground with fiery shockwave.
|
||||
common-abilities-sceptre-wardingaura = Warding Aura
|
||||
.desc = Wards your allies against enemy attacks.
|
||||
|
||||
## Sword abilities
|
||||
veloren-core-pseudo_abilities-sword-heavy_stance = Heavy Stance
|
||||
.desc = Attacks in this stance can stagger enemies and deal more damage to staggered enemies but are slower.
|
||||
veloren-core-pseudo_abilities-sword-agile_stance = Agile Stance
|
||||
.desc = Attacks are faster but weaker in this stance.
|
||||
veloren-core-pseudo_abilities-sword-defensive_stance = Defensive Stance
|
||||
.desc = Attacks in this stance can act as either a weak block or a parry.
|
||||
veloren-core-pseudo_abilities-sword-crippling_stance = Crippling Stance
|
||||
.desc = Attacks in this stance create or worsen lasting injuries.
|
||||
veloren-core-pseudo_abilities-sword-cleaving_stance = Cleaving Stance
|
||||
.desc = Attacks in this stance can hit multiple enemies.
|
||||
veloren-core-pseudo_abilities-sword-double_slash = Double Slash
|
||||
.desc = A two-hit combo.
|
||||
common-abilities-sword-basic_double_slash = Basic Double Slash
|
||||
.desc = A basic two-hit combo.
|
||||
common-abilities-sword-heavy_double_slash = Heavy Double Slash
|
||||
.desc = A slower two-hit combo that can stagger.
|
||||
common-abilities-sword-agile_double_slash = Agile Double Slash
|
||||
.desc = A fast two-hit combo with lighter strikes.
|
||||
common-abilities-sword-defensive_double_slash = Defensive Double Slash
|
||||
.desc = A two-hit combo that reduces the impact of enemy strikes.
|
||||
common-abilities-sword-crippling_double_slash = Crippling Double Slash
|
||||
.desc = A two-hit combo that can prolong an enemy's bleeding.
|
||||
common-abilities-sword-cleaving_double_slash = Cleaving Double Slash
|
||||
.desc = A two-hit combo that can cleave through multiple enemies.
|
||||
veloren-core-pseudo_abilities-sword-secondary_ability = Secondary Sword Ability
|
||||
.desc = The ability bound to secondary attack key.
|
||||
common-abilities-sword-basic_thrust = Basic Thrust
|
||||
.desc = Charging the thrust will make it more powerful.
|
||||
common-abilities-sword-heavy_slam = Heavy Slam
|
||||
.desc = A strong overhead slash that can be charged to be more staggering.
|
||||
common-abilities-sword-agile_perforate = Perforate
|
||||
.desc = A rapid flurry of light attacks.
|
||||
common-abilities-sword-agile_dual_perforate = Perforate
|
||||
.desc = A rapid flurry of light attacks with both swords.
|
||||
common-abilities-sword-defensive_vital_jab = Defensive Vital Jab
|
||||
.desc = A quickly charged jab that does more damage against parried foes.
|
||||
common-abilities-sword-crippling_deep_rend = Deep Rend
|
||||
.desc = A strike aimed at an already open wound, deals more damage to bleeding enemies.
|
||||
common-abilities-sword-cleaving_spiral_slash = Spiral Slash
|
||||
.desc = Sweep your blade fully around you to hit anyone nearby.
|
||||
common-abilities-sword-cleaving_dual_spiral_slash = Spiral Slash
|
||||
.desc = Sweep both of your blades fully around you to hit anyone nearby.
|
||||
veloren-core-pseudo_abilities-sword-crescent_slash = Crescent Slash
|
||||
.desc =
|
||||
An upwards diagonal slash.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_crescent_slash = Basic Crescent Slash
|
||||
.desc = A basic, upwards diagonal slash.
|
||||
common-abilities-sword-heavy_crescent_slash = Heavy Crescent Slash
|
||||
.desc = An upwards diagonal slash that can stagger.
|
||||
common-abilities-sword-agile_crescent_slash = Agile Crescent Slash
|
||||
.desc = A light, upwards diagonal slash.
|
||||
common-abilities-sword-defensive_crescent_slash = Defensive Crescent Slash
|
||||
.desc = A parrying, upwards diagonal slash.
|
||||
common-abilities-sword-crippling_crescent_slash = Crippling Crescent Slash
|
||||
.desc = An upwards diagonal slash that can bleed.
|
||||
common-abilities-sword-cleaving_crescent_slash = Cleaving Crescent Slash
|
||||
.desc = An upwards diagonal slash that can cleave through enemies.
|
||||
veloren-core-pseudo_abilities-sword-fell_strike = Fell Strike
|
||||
.desc =
|
||||
A quick strong slash.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_fell_strike = Basic Fell Strike
|
||||
.desc = A basic, quick strong slash.
|
||||
common-abilities-sword-heavy_fell_strike = Heavy Fell Strike
|
||||
.desc = A strong slash that can stagger.
|
||||
common-abilities-sword-agile_fell_strike = Agile Fell Strike
|
||||
.desc = A very quick strong slash.
|
||||
common-abilities-sword-defensive_fell_strike = Defensive Fell Strike
|
||||
.desc = A parrying, quick strong slash.
|
||||
common-abilities-sword-crippling_fell_strike = Crippling Fell Strike
|
||||
.desc = A quick strong slash that can bleed.
|
||||
common-abilities-sword-cleaving_fell_strike = Cleaving Fell Strike
|
||||
.desc = A quick strong slash that can cleave through enemies.
|
||||
veloren-core-pseudo_abilities-sword-skewer = Skewer
|
||||
.desc =
|
||||
A stabbing lunge.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_skewer = Basic Skewer
|
||||
.desc = A basic, stabbing lunge.
|
||||
common-abilities-sword-heavy_skewer = Heavy Skewer
|
||||
.desc = A stabbing lunge that can stagger.
|
||||
common-abilities-sword-agile_skewer = Agile Skewer
|
||||
.desc = A quick, stabbing lunge.
|
||||
common-abilities-sword-defensive_skewer = Defensive Skewer
|
||||
.desc = A parrying, stabbing lunge.
|
||||
common-abilities-sword-crippling_skewer = Crippling Skewer
|
||||
.desc = A stabbing lunge that can bleed.
|
||||
common-abilities-sword-cleaving_skewer = Cleaving Skewer
|
||||
.desc = A stabbing lunge that can cleave through enemies.
|
||||
veloren-core-pseudo_abilities-sword-cascade = Cascade
|
||||
.desc =
|
||||
An overhead slash.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_cascade = Basic Cascade
|
||||
.desc = A basic, overhead slash.
|
||||
common-abilities-sword-heavy_cascade = Heavy Cascade
|
||||
.desc = An overhead slash that can stagger.
|
||||
common-abilities-sword-agile_cascade = Agile Cascade
|
||||
.desc = A quick, overhead slash.
|
||||
common-abilities-sword-defensive_cascade = Defensive Cascade
|
||||
.desc = A parrying, overhead slash.
|
||||
common-abilities-sword-crippling_cascade = Crippling Cascade
|
||||
.desc = An overhead slash that can bleed.
|
||||
common-abilities-sword-cleaving_cascade = Cleaving Cascade
|
||||
.desc = An overhead slash that can cleave through enemies.
|
||||
veloren-core-pseudo_abilities-sword-cross_cut = Cross Cut
|
||||
.desc =
|
||||
A right and left slash.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_cross_cut = Basic Cross Cut
|
||||
.desc = A basic right and left slash.
|
||||
common-abilities-sword-heavy_cross_cut = Heavy Cross Cut
|
||||
.desc = A right and left slash that can each stagger.
|
||||
common-abilities-sword-agile_cross_cut = Agile Cross Cut
|
||||
.desc = A quick right and left slash.
|
||||
common-abilities-sword-defensive_cross_cut = Defensive Cross Cut
|
||||
.desc = A parrying right and left slash.
|
||||
common-abilities-sword-crippling_cross_cut = Crippling Cross Cut
|
||||
.desc = A right and left slash that can bleed.
|
||||
common-abilities-sword-cleaving_cross_cut = Cleaving Cross Cut
|
||||
.desc = A right and left slash which cleave through enemies.
|
||||
common-abilities-sword-basic_dual_cross_cut = Basic Cross Cut
|
||||
.desc = A simultaneous basic right and left slash.
|
||||
common-abilities-sword-heavy_dual_cross_cut = Heavy Cross Cut
|
||||
.desc = A simultaneous right and left slash that can each stagger.
|
||||
common-abilities-sword-agile_dual_cross_cut = Agile Cross Cut
|
||||
.desc = A simultaneous quick right and left slash.
|
||||
common-abilities-sword-defensive_dual_cross_cut = Defensive Cross Cut
|
||||
.desc = A simultaneous parrying right and left slash.
|
||||
common-abilities-sword-crippling_dual_cross_cut = Crippling Cross Cut
|
||||
.desc = A simultaneous right and left slash that can bleed.
|
||||
common-abilities-sword-cleaving_dual_cross_cut = Cleaving Cross Cut
|
||||
.desc = A simultaneous right and left slash which cleave through enemies.
|
||||
veloren-core-pseudo_abilities-sword-finisher = Finisher
|
||||
.desc =
|
||||
An ability that consumes combo and is meant to end a fight.
|
||||
This skill changes depending on your adopted stance.
|
||||
common-abilities-sword-basic_mighty_strike = Mighty Strike
|
||||
.desc =
|
||||
A simple, powerful slash.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-heavy_guillotine = Guillotine
|
||||
.desc =
|
||||
A strong cleave that will likely stagger what it doesn't kill.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-agile_hundred_cuts = Hundred Cuts
|
||||
.desc =
|
||||
Many very rapid slashes on a target.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-defensive_counter = Counter
|
||||
.desc =
|
||||
A rapidly launched attack that deals substantially more damage to a parried foe.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-crippling_mutilate = Mutilate
|
||||
.desc =
|
||||
Mutilate your foe by sawing through their injuries, deals more damage to bleeding foes.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-cleaving_bladestorm = Bladestorm
|
||||
.desc =
|
||||
Decimate your enemies with multiple cyclic swings of your sword.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-cleaving_dual_bladestorm = Bladestorm
|
||||
.desc =
|
||||
Decimate your enemies with multiple cyclic swings of both of your swords.
|
||||
Requires a moderate amount of combo to use.
|
||||
common-abilities-sword-heavy_sweep = Heavy Sweep
|
||||
.desc =
|
||||
A heavy, wide, sweeping strike that deals more damage to a staggered enemy.
|
||||
Enters heavy stance.
|
||||
common-abilities-sword-heavy_pommel_strike = Pommel Strike
|
||||
.desc =
|
||||
Concuss your foe with a blunt strike to the head.
|
||||
Enters heavy stance.
|
||||
common-abilities-sword-agile_quick_draw = Quick Draw
|
||||
.desc =
|
||||
Dash forward as you draw your blade for a quick attack.
|
||||
Enters agile stance.
|
||||
common-abilities-sword-agile_feint = Feint
|
||||
.desc =
|
||||
Step to the side then back before striking.
|
||||
Enters agile stance.
|
||||
common-abilities-sword-defensive_riposte = Riposte
|
||||
.desc =
|
||||
Parry a strike before instantly counter-attacking.
|
||||
Enters defensive stance.
|
||||
common-abilities-sword-defensive_disengage = Disengage
|
||||
.desc =
|
||||
Retreat backwards a step after striking.
|
||||
Enters defensive stance.
|
||||
common-abilities-sword-crippling_gouge = Gouge
|
||||
.desc =
|
||||
Inflict a lasting wound on your enemy that will continue to bleed.
|
||||
Enters crippling stance.
|
||||
common-abilities-sword-crippling_hamstring = Hamstring
|
||||
.desc =
|
||||
Injure the tendons of your foe, leaving them less maneuverable.
|
||||
Enters crippling stance.
|
||||
common-abilities-sword-cleaving_whirlwind_slice = Whirlwind Slice
|
||||
.desc =
|
||||
Strike all surrounding enemies with circular attacks.
|
||||
Enters cleaving stance.
|
||||
common-abilities-sword-cleaving_dual_whirlwind_slice = Whirlwind Slice
|
||||
.desc =
|
||||
Strike all surrounding enemies with circular attacks using both of your swords.
|
||||
Enters cleaving stance.
|
||||
common-abilities-sword-cleaving_earth_splitter = Earth Splitter
|
||||
.desc =
|
||||
Split the earth, if used while falling will have a much stronger impact.
|
||||
Enters cleaving stance.
|
||||
common-abilities-sword-heavy_fortitude = Fortitude
|
||||
.desc =
|
||||
Increases stagger resistance and as you take more damage your attacks will be more staggering.
|
||||
Requires heavy stance.
|
||||
common-abilities-sword-heavy_pillar_thrust = Pillar Thrust
|
||||
.desc =
|
||||
Stab your sword down through the enemy, all the way into the ground, is more powerful if used while falling.
|
||||
Requires heavy stance.
|
||||
common-abilities-sword-agile_dancing_edge = Dancing Edge
|
||||
.desc =
|
||||
Move and attack more swiftly.
|
||||
Requires agile stance.
|
||||
common-abilities-sword-agile_flurry = Flurry
|
||||
.desc =
|
||||
Multiple rapid stabs.
|
||||
Requires agile stance.
|
||||
common-abilities-sword-agile_dual_flurry = Flurry
|
||||
.desc =
|
||||
Multiple rapid stabs with both swords.
|
||||
Requires agile stance.
|
||||
common-abilities-sword-defensive_stalwart_sword = Stalwart Sword
|
||||
.desc =
|
||||
Shrug off the brunt of attacks, incoming damage is reduced.
|
||||
Requires defensive stance.
|
||||
common-abilities-sword-defensive_deflect = Deflect
|
||||
.desc =
|
||||
A swift enough maneuver to even block projectiles.
|
||||
Requires defensive stance.
|
||||
common-abilities-sword-crippling_eviscerate = Eviscerate
|
||||
.desc =
|
||||
Shreds wounds further, deals more damage to crippled enemies.
|
||||
Requires crippling stance.
|
||||
common-abilities-sword-crippling_bloody_gash = Bloody Gash
|
||||
.desc =
|
||||
Cruelly strike an already bleeding wound, does more damage to bleeding enemies.
|
||||
Requires crippling stance.
|
||||
common-abilities-sword-cleaving_blade_fever = Blade Fever
|
||||
.desc =
|
||||
Attack more recklessly, increasing the power of your strikes while leaving yourself open to incoming attacks.
|
||||
Requires cleaving stance.
|
||||
common-abilities-sword-cleaving_sky_splitter = Sky Splitter
|
||||
.desc =
|
||||
A powerful strike that purportedly can even split the sky, but will split through enemies.
|
||||
Requires cleaving stance.
|
||||
|
||||
## Axe abilities
|
||||
common-abilities-axe-triple_chop = Triple Chop
|
||||
.desc = Three quick strikes.
|
||||
common-abilities-axe-cleave = Cleave
|
||||
.desc = A downwards chop that can build multiple combo.
|
||||
common-abilities-axe-brutal_swing = Brutal Swing
|
||||
.desc = A spinning cleave around you.
|
||||
common-abilities-axe-berserk = Berserk
|
||||
.desc = Increases your strength at the cost of leaving you vulnerable.
|
||||
common-abilities-axe-rising_tide = Rising Tide
|
||||
.desc = An upwards strike that greatly increases combo.
|
||||
common-abilities-axe-savage_sense = Savage Sense
|
||||
.desc = Identify a vital point on your target, ensuring your next strike critically damages them.
|
||||
common-abilities-axe-adrenaline_rush = Adrenaline Rush
|
||||
.desc =
|
||||
Consume all your combo to replenish your energy.
|
||||
Scales with combo on activation, consumes all combo.
|
||||
common-abilities-axe-execute = Execute
|
||||
.desc =
|
||||
A devastating strike often known to be fatal.
|
||||
Requires 30 combo to use.
|
||||
Automatically upgrades to maelstrom at 50 combo if unlocked.
|
||||
common-abilities-axe-maelstrom = Maelstrom
|
||||
.desc =
|
||||
Strike everything in your vicinity with a devastating, spinning strike.
|
||||
Automatically upgrades from execute at 50 combo.
|
||||
common-abilities-axe-rake = Rake
|
||||
.desc = Drag your axe across your foe, inducing bleeding.
|
||||
common-abilities-axe-bloodfeast = Bloodfeast
|
||||
.desc = Your axe thirsts for the blood of your enemies, replenishing you with each strike against a bleeding enemy.
|
||||
common-abilities-axe-fierce_raze = Fierce Raze
|
||||
.desc = A rapid flurry of strikes on your foe.
|
||||
common-abilities-axe-dual_fierce_raze = Fierce Raze
|
||||
.desc = A rapid flurry of strikes on your foe using both of your axes.
|
||||
common-abilities-axe-furor = Furor
|
||||
.desc = As your fury rises, your strikes generate more combo.
|
||||
common-abilities-axe-fracture = Fracture
|
||||
.desc =
|
||||
A crippling blow that hampers your foe's movement.
|
||||
Scales with combo on activation, consumes half of combo.
|
||||
common-abilities-axe-lacerate = Lacerate
|
||||
.desc =
|
||||
Flay your target, causing their lifeblood to flow out.
|
||||
Requires 30 combo to use.
|
||||
Automatically upgrades to riptide at 50 combo if unlocked.
|
||||
common-abilities-axe-riptide = Riptide
|
||||
.desc =
|
||||
Flay everything nearby, parting them from their blood.
|
||||
Automatically upgrades from lacerate at 50 combo.
|
||||
common-abilities-axe-skull_bash = Skullbash
|
||||
.desc = A strike with the flat of your axe that can stagger.
|
||||
common-abilities-axe-sunder = Sunder
|
||||
.desc = By changing your grip, you become able to bypass your enemy's armor while restoring your energy more effectively.
|
||||
common-abilities-axe-plunder = Plunder
|
||||
.desc = Quickly step towards your foe, robbing them of their balance with a strike.
|
||||
common-abilities-axe-defiance = Defiance
|
||||
.desc = Stare death in the eye longer as you make yourself resistant to both staggers and death.
|
||||
common-abilities-axe-keelhaul = Keelhaul
|
||||
.desc =
|
||||
Hook your opponent to pull them closer towards you.
|
||||
Scales with combo on activation, consumes half of combo.
|
||||
common-abilities-axe-bulkhead = Bulkhead
|
||||
.desc =
|
||||
A heavy swing that some say can even stagger titans.
|
||||
Requires 30 combo to use.
|
||||
Automatically upgrades to capsize at 50 combo if unlocked.
|
||||
common-abilities-axe-capsize = Capsize
|
||||
.desc =
|
||||
Stagger everything nearby with a heavy spinning strike.
|
||||
Automatically upgrades from bulkhead at 50 combo.
|
||||
|
||||
# Hammer abilities
|
||||
common-abilities-hammer-solid_smash = Solid Smash
|
||||
.desc =
|
||||
A solid smash, that'll hurt
|
||||
common-abilities-hammer-wide_wallop = Wide Wallop
|
||||
.desc =
|
||||
Pull back and send them flying
|
||||
common-abilities-hammer-scornful_swipe = Scornful Swipe
|
||||
.desc =
|
||||
Bolster your fortitude and stamina by taunting your enemies before striking at them. If you fall to an enemy they become empowered.
|
||||
common-abilities-hammer-tremor = Tremor
|
||||
.desc =
|
||||
Strike the earth with enough force that the ground beneath your foes trembles.
|
||||
common-abilities-hammer-vigorous_bash = Vigorous Bash
|
||||
.desc =
|
||||
Use the head of your hammer to quickly strike your foes, giving a surge of adrenaline if the target is off balance.
|
||||
common-abilities-hammer-heavy_whorl = Heavy Whorl
|
||||
.desc =
|
||||
You strike all foes surrounding you with your hammer.
|
||||
common-abilities-hammer-dual_heavy_whorl = Heavy Whorl
|
||||
.desc =
|
||||
You strike all foes surrounding you with your hammers.
|
||||
common-abilities-hammer-intercept = Intercept
|
||||
.desc =
|
||||
Charge forward with your hammer throwing your weight behind your strike.
|
||||
common-abilities-hammer-dual_intercept = Intercept
|
||||
.desc =
|
||||
Charge forward with your hammers throwing your weight behind your strike.
|
||||
common-abilities-hammer-retaliate = Retaliate
|
||||
.desc =
|
||||
After blocking an attack, retaliate with a heavy strike back.
|
||||
common-abilities-hammer-spine_cracker = Spine Cracker
|
||||
.desc =
|
||||
When you foe turns their back to you, strike them hard in the back, targeting the weak part of their spine.
|
||||
common-abilities-hammer-breach = Breach
|
||||
.desc =
|
||||
Breach through your enemy's attempt at defense with a heavy strike from your hammer.
|
||||
common-abilities-hammer-pile_driver = Pile Driver
|
||||
.desc =
|
||||
Strike your enemy into the ground, stopping their movement until they free their legs.
|
||||
common-abilities-hammer-lung_pummel = Lung Pummel
|
||||
.desc =
|
||||
Swipe your hammer into your foe's side, winding them.
|
||||
common-abilities-hammer-helm_crusher = Helm Crusher
|
||||
.desc =
|
||||
Bash your enemy's head with your hammer, concussing them.
|
||||
common-abilities-hammer-iron_tempest = Iron Tempest
|
||||
.desc =
|
||||
Swing swiftly enough that your hammer becomes like a storm, scattering your enemies.
|
||||
common-abilities-hammer-dual_iron_tempest = Iron Tempest
|
||||
.desc =
|
||||
Swing swiftly enough that your hammers becomes like a storm, scattering your enemies.
|
||||
common-abilities-hammer-upheaval = Upheaval
|
||||
.desc =
|
||||
Slam your hammer into your foe, knocking them into the air and leaving them vulnerable to staggers.
|
||||
common-abilities-hammer-dual_upheaval = Upheaval
|
||||
.desc =
|
||||
Slam your hammers into your foes, knocking them into the air and leaving them vulnerable to staggers.
|
||||
common-abilities-hammer-rampart = Rampart
|
||||
.desc =
|
||||
Strike the ground, causing very mild tectonic uplift which protects your allies from attacks.
|
||||
common-abilities-hammer-tenacity = Tenacity
|
||||
.desc =
|
||||
Hold yourself strong as you withstand attack after attack, managing to keep attacking all the while.
|
||||
common-abilities-hammer-thunderclap = Thunderclap
|
||||
.desc =
|
||||
Unleash a devastating, adrenaline-fueled overhead strike against your foe.
|
||||
common-abilities-hammer-seismic_shock = Seismic Shock
|
||||
.desc =
|
||||
After buildup up enough momentum in your hammer, strike the ground with enough force that it erupts outward, throwing your foes into the air.
|
||||
common-abilities-hammer-earthshaker = Earthshaker
|
||||
.desc =
|
||||
Slam the head of your blood-soaked hammer into the ground, unleashing a shockwave that knocks the wind out of everyone around you.
|
||||
common-abilities-hammer-judgement = Judgement
|
||||
.desc =
|
||||
Bring your hammer down on your foe with all your weight, potentially killing them outright if they are staggered.
|
@ -1,59 +0,0 @@
|
||||
hud-bag-inventory = { $playername }'s Inventory
|
||||
hud-bag-stats_title = { $playername }'s Stats
|
||||
hud-bag-armor = Armor
|
||||
hud-bag-stats = Stats
|
||||
hud-bag-head = Head
|
||||
hud-bag-neck = Neck
|
||||
hud-bag-tabard = Tabard
|
||||
hud-bag-shoulders = Shoulders
|
||||
hud-bag-chest = Chest
|
||||
hud-bag-hands = Hands
|
||||
hud-bag-lantern = Lantern
|
||||
hud-bag-glider = Glider
|
||||
hud-bag-belt = Belt
|
||||
hud-bag-ring = Ring
|
||||
hud-bag-back = Back
|
||||
hud-bag-backpack = Backpack
|
||||
hud-bag-legs = Legs
|
||||
hud-bag-feet = Feet
|
||||
hud-bag-mainhand = Mainhand
|
||||
hud-bag-offhand = Offhand
|
||||
hud-bag-inactive_mainhand = Inactive Mainhand
|
||||
hud-bag-inactive_offhand = Inactive Offhand
|
||||
hud-bag-swap_equipped_weapons_title = Swap equipped weapons
|
||||
hud-bag-swap_equipped_weapons_desc = Press { $key }
|
||||
hud-bag-bag = Bag
|
||||
hud-bag-health = Health
|
||||
hud-bag-energy = Energy
|
||||
hud-bag-combat_rating = Combat Rating
|
||||
hud-bag-protection = Protection
|
||||
hud-bag-stun_res = Stun Resilience
|
||||
hud-bag-stealth = Stealth
|
||||
hud-bag-combat_rating_desc =
|
||||
Calculated from your
|
||||
equipment and health.
|
||||
hud-bag-protection_desc = Damage reduction through armor.
|
||||
hud-bag-stun_res_desc =
|
||||
Resilience against being stunned by consecutive hits.
|
||||
Regenerates like energy.
|
||||
hud-bag-sort_by_name = Sort by Name
|
||||
hud-bag-sort_by_quality = Sort by Quality
|
||||
hud-bag-sort_by_category = Sort by Category
|
||||
hud-bag-sort_by_tag = Sort by Tag
|
||||
hud-bag-sort_by_quantity = Sort by Quantity
|
||||
hud-bag-use_slot_equip_drop_items = { $slot_deficit ->
|
||||
[1] Equipping this item will result in insufficient inventory space to hold the items in your inventory and 1 item will drop on the floor. Do you wish to continue?
|
||||
*[other] Equipping this item will result in insufficient inventory space to hold the items in your inventory and { $slot_deficit } items will drop on the floor. Do you wish to continue?
|
||||
}
|
||||
hud-bag-use_slot_unequip_drop_items = { $slot_deficit ->
|
||||
[1] Unequipping this item will result in insufficient inventory space to hold the items in your inventory and 1 item will drop on the floor. Do you wish to continue?
|
||||
*[other] Unequipping this item will result in insufficient inventory space to hold the items in your inventory and { $slot_deficit } items will drop on the floor. Do you wish to continue?
|
||||
}
|
||||
hud-bag-swap_slots_drop_items = { $slot_deficit ->
|
||||
[1] This will result in dropping 1 item on the ground. Are you sure?
|
||||
*[other] This will result in dropping { $slot_deficit } items on the ground. Are you sure?
|
||||
}
|
||||
hud-bag-split_swap_slots_drop_items = { $slot_deficit ->
|
||||
[1] This will result in dropping 1 item on the ground. Are you sure?
|
||||
*[other] This will result in dropping { $slot_deficit } items on the ground. Are you sure?
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
character_window-character_name = Character name
|
||||
character_window-character_stats =
|
||||
Endurance
|
||||
|
||||
Fitness
|
||||
|
||||
Willpower
|
||||
|
||||
Protection
|
@ -1,91 +0,0 @@
|
||||
## Player events, $user_gender should be available
|
||||
|
||||
hud-chat-online_msg = [{ $name }] is online now.
|
||||
hud-chat-offline_msg = [{ $name }] went offline.
|
||||
hud-chat-goodbye = Goodbye!
|
||||
hud-chat-connection_lost = Connection lost. Kicking in { $time } seconds.
|
||||
|
||||
## Player /tell messages, $user_gender should be available
|
||||
|
||||
hud-chat-tell-to = To [{ $alias }]: { $msg }
|
||||
hud-chat-tell-from = From [{ $alias }]: { $msg }
|
||||
|
||||
## Npc /tell messages, no gender info, sadly
|
||||
|
||||
hud-chat-tell-to-npc = To [{ $alias }]: { $msg }
|
||||
hud-chat-tell-from-npc = From [{ $alias }]: { $msg }
|
||||
|
||||
## Generic messages
|
||||
|
||||
hud-chat-message = [{ $alias }]: { $msg }
|
||||
hud-chat-message-with-name = [{ $alias }] { $name }: { $msg }
|
||||
hud-chat-message-in-group = ({ $group }) [{ $alias }]: { $msg }
|
||||
hud-chat-message-in-group-with-name = ({ $group }) [{ $alias }] { $name }: { $msg }
|
||||
|
||||
## PvP Buff deaths, both $attacker_gender and $victim_gender are available
|
||||
|
||||
hud-chat-died_of_pvp_buff_msg =
|
||||
.burning = [{ $victim }] died of: burning caused by [{ $attacker }]
|
||||
.bleeding = [{ $victim }] died of: bleeding caused by [{ $attacker }]
|
||||
.curse = [{ $victim }] died of: curse caused by [{ $attacker }]
|
||||
.crippled = [{ $victim }] died of: crippled caused by [{ $attacker }]
|
||||
.frozen = [{ $victim }] died of: frozen caused by [{ $attacker }]
|
||||
.mysterious = [{ $victim }] died of: secret caused by [{ $attacker }]
|
||||
|
||||
## PvE Buff deaths, only $victim_gender is available
|
||||
|
||||
hud-chat-died_of_npc_buff_msg =
|
||||
.burning = [{ $victim }] died of: burning caused by { $attacker }
|
||||
.bleeding = [{ $victim }] died of: bleeding caused by { $attacker }
|
||||
.curse = [{ $victim }] died of: curse caused by { $attacker }
|
||||
.crippled = [{ $victim }] died of: crippled caused by { $attacker }
|
||||
.frozen = [{ $victim }] died of: frozen caused by { $attacker }
|
||||
.mysterious = [{ $victim }] died of: secret caused by { $attacker }
|
||||
|
||||
## Random Buff deaths, only $victim_gender is available
|
||||
|
||||
hud-chat-died_of_buff_nonexistent_msg =
|
||||
.burning = [{ $victim }] died of: burning
|
||||
.bleeding = [{ $victim }] died of: bleeding
|
||||
.curse = [{ $victim }] died of: curse
|
||||
.crippled = [{ $victim }] died of: crippled
|
||||
.frozen = [{ $victim }] died of: frozen
|
||||
.mysterious = [{ $victim }] died of: secret
|
||||
|
||||
## Other PvP deaths, both $attacker_gender and $victim_gender are available
|
||||
|
||||
hud-chat-pvp_melee_kill_msg = [{ $attacker }] defeated [{ $victim }]
|
||||
hud-chat-pvp_ranged_kill_msg = [{ $attacker }] shot [{ $victim }]
|
||||
hud-chat-pvp_explosion_kill_msg = [{ $attacker }] blew up [{ $victim }]
|
||||
hud-chat-pvp_energy_kill_msg = [{ $attacker }] killed [{ $victim }] with magic
|
||||
hud-chat-pvp_other_kill_msg = [{ $attacker }] killed [{ $victim }]
|
||||
|
||||
## Other PvE deaths, only $victim_gender is available
|
||||
|
||||
hud-chat-npc_melee_kill_msg = { $attacker } killed [{ $victim }]
|
||||
hud-chat-npc_ranged_kill_msg = { $attacker } shot [{ $victim }]
|
||||
hud-chat-npc_explosion_kill_msg = { $attacker } blew up [{ $victim }]
|
||||
hud-chat-npc_energy_kill_msg = { $attacker } killed [{ $victim }] with magic
|
||||
hud-chat-npc_other_kill_msg = { $attacker } killed [{ $victim }]
|
||||
|
||||
## Other deaths, only $victim_gender is available
|
||||
|
||||
hud-chat-fall_kill_msg = [{ $name }] died from fall damage
|
||||
hud-chat-suicide_msg = [{ $name }] died from self-inflicted wounds
|
||||
hud-chat-default_death_msg = [{ $name }] died
|
||||
|
||||
## Chat utils
|
||||
|
||||
hud-chat-all = All
|
||||
hud-chat-chat_tab_hover_tooltip = Right click for settings
|
||||
|
||||
## HUD Pickup message
|
||||
|
||||
hud-loot-pickup-msg-you = { $amount ->
|
||||
[1] You picked up { $item }
|
||||
*[other] You picked up {$amount}x {$item}
|
||||
}
|
||||
hud-loot-pickup-msg = { $amount ->
|
||||
[1] { $actor } picked up { $item }
|
||||
*[other] { $actor } picked up { $amount }x { $item }
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
hud-map-map_title = Map
|
||||
hud-map-qlog_title = Quests
|
||||
hud-map-topo_map = Topographic
|
||||
hud-map-difficulty = Difficulty
|
||||
hud-map-towns = Towns
|
||||
hud-map-castles = Castles
|
||||
hud-map-dungeons = Dungeons
|
||||
hud-map-caves = Caves
|
||||
hud-map-cave = Cave
|
||||
hud-map-peaks = Mountains
|
||||
hud-map-biomes = Biomes
|
||||
hud-map-voxel_map = Voxel map
|
||||
hud-map-trees = Giant Trees
|
||||
hud-map-tree = Giant Tree
|
||||
hud-map-town = Town
|
||||
hud-map-castle = Castle
|
||||
hud-map-bridge = Bridge
|
||||
hud-map-dungeon = Dungeon
|
||||
hud-map-df_mine = Mine
|
||||
hud-map-difficulty_dungeon =
|
||||
Dungeon
|
||||
|
||||
Difficulty: { $difficulty }
|
||||
hud-map-drag = Drag
|
||||
hud-map-zoom = Zoom
|
||||
hud-map-mid_click = Set Waypoint
|
||||
hud-map-recenter = Recenter
|
||||
hud-map-marked_location = Marked Location
|
||||
hud-map-marked_location_remove = Click to remove
|
||||
hud-map-change_map_mode = Change Map Mode
|
||||
hud-map-toggle_minimap_voxel = Toggle Minimap Voxel View
|
||||
hud-map-zoom_minimap_explanation =
|
||||
Zoom in the Minimap to see
|
||||
the area around you in higher detail
|
||||
hud-map-gnarling = Gnarling Fortification
|
||||
hud-map-chapel_site = Sea Chapel
|
||||
hud-map-adlet = Adlet Stronghold
|
||||
hud-map-haniwa = Haniwa Catacomb
|
||||
hud-map-cultist = Cultist Dungeon
|
||||
hud-map-sahagin = Sahagin Island
|
||||
hud-map-terracotta = Terracotta Ruins
|
||||
hud-map-placed_by = Placed by { $name }
|
@ -1,84 +0,0 @@
|
||||
hud-do_not_show_on_startup = Don't show this on startup
|
||||
hud-show_tips = Show Tips
|
||||
hud-quests = Quests
|
||||
hud-you_died = You Died
|
||||
hud-waypoint_saved = Waypoint Saved
|
||||
hud-sp_arrow_txt = SP
|
||||
hud-inventory_full = Inventory Full
|
||||
hud-someone_else = someone else
|
||||
hud-another_group = another group
|
||||
hud-owned_by_for_secs = Owned by { $name } for { $secs } secs
|
||||
hud-press_key_to_show_keybindings_fmt = [{ $key }] Key bindings
|
||||
hud-press_key_to_toggle_lantern_fmt = [{ $key }] Lantern
|
||||
hud-press_key_to_show_debug_info_fmt = Press { $key } to show debug info
|
||||
hud-press_key_to_toggle_keybindings_fmt = Press { $key } to toggle key bindings
|
||||
hud-press_key_to_toggle_debug_info_fmt = Press { $key } to toggle debug info
|
||||
hud_items_lost_dur = Your equipped items have lost Durability.
|
||||
hud-press_key_to_respawn = Press { $key } to respawn at the last campfire you visited.
|
||||
hud-tutorial_btn = Tutorial
|
||||
hud-tutorial_click_here = Press [ { $key } ] to free your cursor and click this button!
|
||||
hud-tutorial_elements = Crafting
|
||||
hud-temp_quest_headline = Greetings traveller!
|
||||
hud-temp_quest_text =
|
||||
To begin your journey you could start looking through this village and gather some supplies.
|
||||
|
||||
You are welcome to take whatever you need on your journey!
|
||||
|
||||
Look at the bottom right of the screen to find various things like your bag, the crafting menu and the map.
|
||||
|
||||
The crafting stations allow you to create armor, weapons, food and much more!
|
||||
|
||||
The wild animals all around town are a great source of Animal Hide to create some protection against the dangers of the world.
|
||||
|
||||
Whenever you feel ready, try to get even better equipment from the many challenges marked on your map!
|
||||
hud-spell = Spells
|
||||
hud-diary = Diary
|
||||
hud-free_look_indicator = Free look active. Press { $key } to disable.
|
||||
hud-camera_clamp_indicator = Camera vertical clamp active. Press { $key } to disable.
|
||||
hud-auto_walk_indicator = Auto walk/swim active
|
||||
hud-zoom_lock_indicator-remind = Zoom locked
|
||||
hud-zoom_lock_indicator-enable = Camera zoom locked
|
||||
hud-zoom_lock_indicator-disable = Camera zoom unlocked
|
||||
hud-activate = Activate
|
||||
hud-deactivate = Deactivate
|
||||
hud-collect = Collect
|
||||
hud-pick_up = Pick up
|
||||
hud-open = Open
|
||||
hud-use = Use
|
||||
hud-read = Read
|
||||
hud-unlock-requires = Open with { $item }
|
||||
hud-unlock-consumes = Use { $item } to open
|
||||
hud-mine = Mine
|
||||
hud-dig = Dig
|
||||
hud-mine-needs_pickaxe = Needs Pickaxe
|
||||
hud-mine-needs_shovel = Needs Shovel
|
||||
hud-mine-needs_unhandled_case = Needs ???
|
||||
hud-talk = Talk
|
||||
hud-pet = Pet
|
||||
hud-trade = Trade
|
||||
hud-mount = Mount
|
||||
hud-follow = Follow
|
||||
hud-stay = Stay
|
||||
hud-sit = Sit
|
||||
hud-steer = Steer
|
||||
hud-lay = Lay
|
||||
hud-portal = Portal
|
||||
|
||||
-server = Server
|
||||
-client = Client
|
||||
hud-init-stage-singleplayer = Starting singleplayer server...
|
||||
hud-init-stage-server-db-migrations = [{ -server }]: Applying database migrations...
|
||||
hud-init-stage-server-db-vacuum = [{ -server }]: Cleaning up database...
|
||||
hud-init-stage-server-worldsim-erosion = [{ -server }]: Erosion { $percentage } %
|
||||
hud-init-stage-server-worldciv-civcreate = [{ -server }]: Generated { $generated } out of { $total } civilizations
|
||||
hud-init-stage-server-worldciv-site = [{ -server }]: Generating sites...
|
||||
hud-init-stage-server-economysim = [{ -server }]: Simulating economy...
|
||||
hud-init-stage-server-spotgen = [{ -server }]: Generating spots...
|
||||
hud-init-stage-server-starting = [{ -server }]: Starting server...
|
||||
hud-init-stage-multiplayer = Starting multiplayer
|
||||
hud-init-stage-client-connection-establish = [{ -client }]: Establishing connection to server...
|
||||
hud-init-stage-client-request-server-version = [{ -client }]: Waiting for server version...
|
||||
hud-init-stage-client-authentication = [{ -client }]: Authenticating...
|
||||
hud-init-stage-client-load-init-data = [{ -client }]: Loading initialization data from server...
|
||||
hud-init-stage-client-starting-client = [{ -client }]: Preparing Client...
|
||||
hud-init-stage-render-pipeline = Creating render pipeline ({ $done }/{ $total })
|
@ -1,7 +0,0 @@
|
||||
hud-quest = Quest
|
||||
hud-quest-intro = Greetings, { $playername }!
|
||||
hud-quest-desc-fetch = Please help me find:
|
||||
hud-quest-desc-kill = Could you help me kill
|
||||
hud-quest-reward = I will reward you with:
|
||||
hud-quest-accept = Accept
|
||||
hud-quest-decline = Decline
|
@ -1,2 +0,0 @@
|
||||
hud-sct-experience = { $amount } XP
|
||||
hud-sct-block = BLOCKED
|
@ -1,167 +0,0 @@
|
||||
hud-settings-general = General
|
||||
hud-settings-none = None
|
||||
hud-settings-press_behavior-toggle = Toggle
|
||||
hud-settings-press_behavior-hold = Hold
|
||||
hud-settings-autopress_behavior-toggle = Toggle
|
||||
hud-settings-autopress_behavior-auto = Auto
|
||||
hud-settings-help_window = Help Window
|
||||
hud-settings-debug_info = Debug Info
|
||||
hud-settings-show_hitboxes = Show hitboxes
|
||||
hud-settings-show_chat = Show chat
|
||||
hud-settings-show_hotkey_hints = Show hotkey hints
|
||||
hud-settings-tips_on_startup = Tips-On-Startup
|
||||
hud-settings-ui_scale = UI-Scale
|
||||
hud-settings-relative_scaling = Relative Scaling
|
||||
hud-settings-custom_scaling = Custom Scaling
|
||||
hud-settings-crosshair = Crosshair
|
||||
hud-settings-opacity = Opacity
|
||||
hud-settings-hotbar = Hotbar
|
||||
hud-settings-slots = Slots
|
||||
hud-settings-toggle_shortcuts = Toggle Shortcuts
|
||||
hud-settings-buffs_skillbar = Buffs at skill bar
|
||||
hud-settings-buffs_mmap = Buffs at Minimap
|
||||
hud-settings-use_prefixes = Use SI prefixes for quantities
|
||||
hud-settings-prefix_switch_point = Digit limit for SI prefix switch
|
||||
hud-settings-toggle_bar_experience = Toggle Experience Bar
|
||||
hud-settings-scrolling_combat_text = Scrolling Combat Text
|
||||
hud-settings-damage_accumulation_duration = Damage Accumulation Duration
|
||||
hud-settings-incoming_damage = Incoming Damage
|
||||
hud-settings-incoming_damage_accumulation_duration = Incoming Damage Accumulation Duration
|
||||
hud-settings-round_damage = Round Damage
|
||||
hud-settings-speech_bubble = Speech Bubble
|
||||
hud-settings-speech_bubble_self = Show Own Speech Bubbles
|
||||
hud-settings-speech_bubble_dark_mode = Speech Bubble Dark Mode
|
||||
hud-settings-speech_bubble_icon = Speech Bubble Icon
|
||||
hud-settings-energybar_numbers = Energy bar numbers
|
||||
hud-settings-always_show_bars = Always show the energy bar
|
||||
hud-settings-enable_poise_bar = Enable Poise bar
|
||||
hud-settings-experience_numbers = Experience points
|
||||
hud-settings-accumulate_experience = Show experience points as aggregate
|
||||
hud-settings-values = Values
|
||||
hud-settings-percentages = Percentages
|
||||
hud-settings-chat = Chat
|
||||
hud-settings-background_opacity = Background Opacity
|
||||
hud-settings-chat_character_name = Character Names in Chat
|
||||
hud-settings-loading_tips = Loading Screen Tips
|
||||
hud-settings-reset_interface = Reset to Defaults
|
||||
hud-settings-pan_sensitivity = Pan Sensitivity
|
||||
hud-settings-zoom_sensitivity = Zoom Sensitivity
|
||||
hud-settings-camera_clamp_angle = Angle for vertical camera clamp mode
|
||||
hud-settings-invert_scroll_zoom = Invert Scroll Zoom
|
||||
hud-settings-invert_mouse_y_axis = Invert Mouse Y Axis
|
||||
hud-settings-invert_controller_y_axis = Invert Controller Y Axis
|
||||
hud-settings-enable_mouse_smoothing = Camera Smoothing
|
||||
hud-settings-free_look_behavior = Free look behavior
|
||||
hud-settings-auto_walk_behavior = Auto walk behavior
|
||||
hud-settings-walking_speed_behavior = Walking speed behavior
|
||||
hud-settings-walking_speed = Walking speed
|
||||
hud-settings-camera_clamp_behavior = Camera clamp behavior
|
||||
hud-settings-zoom_lock_behavior = Camera zoom lock behavior
|
||||
hud-settings-aim_offset_x = Horizontal Aim Offset
|
||||
hud-settings-aim_offset_y = Vertical Aim Offset
|
||||
hud-settings-player_physics_behavior = Player physics (experimental)
|
||||
hud-settings-stop_auto_walk_on_input = Stop auto walk on movement
|
||||
hud-settings-auto_camera = Auto camera
|
||||
hud-settings-bow_zoom = Zoom in when charging bow
|
||||
hud-settings-zoom_lock = Camera zoom lock
|
||||
hud-settings-reset_gameplay = Reset to Defaults
|
||||
hud-settings-view_distance = View Distance
|
||||
hud-settings-entity_view_distance = Entities View Distance
|
||||
hud-settings-lod_distance = LoD Distance
|
||||
hud-settings-sprites_view_distance = Sprites View Distance
|
||||
hud-settings-entities_detail_distance = Entities Detail Distance
|
||||
hud-settings-maximum_fps = Maximum FPS
|
||||
hud-settings-background_fps = Background FPS
|
||||
hud-settings-present_mode = Present Mode
|
||||
hud-settings-present_mode-vsync_capped = Vsync capped
|
||||
hud-settings-present_mode-vsync_adaptive = Adaptive vsync
|
||||
hud-settings-present_mode-vsync_uncapped = Vsync uncapped
|
||||
hud-settings-present_mode-vsync_off = Vsync off
|
||||
hud-settings-fov = Field of View (deg)
|
||||
hud-settings-gamma = Gamma
|
||||
hud-settings-exposure = Exposure
|
||||
hud-settings-ambiance = Ambiance Brightness
|
||||
hud-settings-antialiasing_mode = AntiAliasing Mode
|
||||
hud-settings-upscale_factor = Internal Resolution
|
||||
hud-settings-cloud_rendering_mode = Cloud Rendering Mode
|
||||
hud-settings-fluid_rendering_mode = Fluid Rendering Mode
|
||||
hud-settings-fluid_rendering_mode-low = Low
|
||||
hud-settings-fluid_rendering_mode-medium = Medium
|
||||
hud-settings-fluid_rendering_mode-high = High
|
||||
hud-settings-reflection_rendering_mode = Reflection Rendering Mode
|
||||
hud-settings-reflection_rendering_mode-low = Low
|
||||
hud-settings-reflection_rendering_mode-medium = Medium
|
||||
hud-settings-reflection_rendering_mode-high = High
|
||||
hud-settings-cloud_rendering_mode-minimal = Minimal
|
||||
hud-settings-cloud_rendering_mode-low = Low
|
||||
hud-settings-cloud_rendering_mode-medium = Medium
|
||||
hud-settings-cloud_rendering_mode-high = High
|
||||
hud-settings-cloud_rendering_mode-ultra = Ultra
|
||||
hud-settings-fullscreen = Fullscreen
|
||||
hud-settings-fullscreen_mode = Fullscreen Mode
|
||||
hud-settings-fullscreen_mode-exclusive = Exclusive
|
||||
hud-settings-fullscreen_mode-borderless = Borderless
|
||||
hud-settings-gpu_profiler = Enable GPU timing (not supported everywhere)
|
||||
hud-settings-particles = Particles
|
||||
hud-settings-lossy_terrain_compression = Lossy terrain compression
|
||||
hud-settings-weapon_trails = Weapon trails
|
||||
hud-settings-flashing_lights = Flashing lights
|
||||
hud-settings-flashing_lights_info = Enables all kinds of flashing, e.g. flickering or lightning strikes
|
||||
hud-settings-resolution = Resolution
|
||||
hud-settings-bit_depth = Bit Depth
|
||||
hud-settings-refresh_rate = Refresh Rate
|
||||
hud-settings-lighting_rendering_mode = Lighting Rendering Mode
|
||||
hud-settings-lighting_rendering_mode-ashikhmin = Type A - High
|
||||
hud-settings-lighting_rendering_mode-blinnphong = Type B - Medium
|
||||
hud-settings-lighting_rendering_mode-lambertian = Type L - Cheap
|
||||
hud-settings-shadow_rendering_mode = Shadow Rendering Mode
|
||||
hud-settings-shadow_rendering_mode-none = None
|
||||
hud-settings-shadow_rendering_mode-cheap = Cheap
|
||||
hud-settings-shadow_rendering_mode-map = Map
|
||||
hud-settings-shadow_rendering_mode-map-resolution = Resolution
|
||||
hud-settings-rain_occlusion-resolution = Rain Occlusion Resolution
|
||||
hud-settings-lod_detail = LoD Detail
|
||||
hud-settings-save_window_size = Save window size
|
||||
hud-settings-reset_graphics = Reset to Defaults
|
||||
hud-settings-minimal_graphics = Minimal
|
||||
hud-settings-low_graphics = Low
|
||||
hud-settings-medium_graphics = Medium
|
||||
hud-settings-high_graphics = High
|
||||
hud-settings-ultra_graphics = Ultra
|
||||
hud-settings-bloom = Bloom
|
||||
hud-settings-point_glow = Point Glow
|
||||
hud-settings-master_volume = Master Volume
|
||||
hud-settings-inactive_master_volume_perc = Inactive Window Volume
|
||||
hud-settings-music_volume = Music Volume
|
||||
hud-settings-sound_effect_volume = Sound Effects Volume
|
||||
hud-settings-ambience_volume = Ambience Volume
|
||||
hud-settings-combat_music = Combat Music
|
||||
hud-settings-music_spacing = Music Spacing
|
||||
hud-settings-audio_device = Audio Device
|
||||
hud-settings-reset_sound = Reset to Defaults
|
||||
hud-settings-english_fallback = Display English for missing translations
|
||||
hud-settings-language_send_to_server = Send the configured language to servers (for localizing rules and motd messages)
|
||||
hud-settings-awaitingkey = Press a key...
|
||||
hud-settings-unbound = None
|
||||
hud-settings-reset_keybinds = Reset to defaults
|
||||
hud-settings-keybind-helper =
|
||||
M1 to set
|
||||
M2 to unset
|
||||
hud-settings-chat_tabs = Chat Tabs
|
||||
hud-settings-label = Label:
|
||||
hud-settings-delete = Delete
|
||||
hud-settings-show_all = Show all
|
||||
hud-settings-messages = Messages
|
||||
hud-settings-activity = Activity
|
||||
hud-settings-death = Death
|
||||
hud-settings-group = Group
|
||||
hud-settings-faction = Faction
|
||||
hud-settings-world = World
|
||||
hud-settings-region = Region
|
||||
hud-settings-say = Say
|
||||
hud-settings-all = All
|
||||
hud-settings-group_only = Group only
|
||||
hud-settings-reset_chat = Reset to Defaults
|
||||
hud-settings-third_party_integrations = Third-party Integrations
|
||||
hud-settings-enable_discord_integration = Enable Discord Integration
|
||||
hud-settings-subtitles = Subtitles
|
@ -1 +0,0 @@
|
||||
common-signs-keep_out = Keep Out!
|
@ -1,15 +0,0 @@
|
||||
hud-social = Players
|
||||
hud-social-online = Online:
|
||||
hud-social-friends = Friends
|
||||
hud-social-not_yet_available = Not yet available
|
||||
hud-social-faction = Faction
|
||||
hud-social-play_online_fmt =
|
||||
{ $nb_player ->
|
||||
[1] { $nb_player } player online
|
||||
*[other] { $nb_player } players online
|
||||
}
|
||||
|
||||
hud-social-name = Name
|
||||
hud-social-level = Level
|
||||
hud-social-zone = Zone
|
||||
hud-social-account = Account
|
@ -1,165 +0,0 @@
|
||||
subtitle-campfire = Campfire crackling
|
||||
subtitle-bird_call = Birds singing
|
||||
subtitle-bees = Bees buzzing
|
||||
subtitle-owl = Owl hooting
|
||||
subtitle-running_water = Water bubbling
|
||||
subtitle-lavapool = Lava pool
|
||||
subtitle-lightning = Thunder
|
||||
subtitle-portal-activated = Portal Activated
|
||||
subtitle-portal-teleported = Teleported via portal
|
||||
|
||||
subtitle-footsteps_grass = Walking on grass
|
||||
subtitle-footsteps_earth = Walking on dirt
|
||||
subtitle-footsteps_rock = Walking on rock
|
||||
subtitle-footsteps_snow = Walking on snow
|
||||
subtitle-pickup_item = Item picked up
|
||||
subtitle-pickup_failed = Pickup failed
|
||||
|
||||
subtitle-glider_open = Glider equipped
|
||||
subtitle-glider_close = Glider unequipped
|
||||
subtitle-glide = Gliding
|
||||
subtitle-roll = Rolling
|
||||
subtitle-swim = Swimming
|
||||
subtitle-climb = Climbing
|
||||
subtitle-damage = Damage
|
||||
subtitle-death = Death
|
||||
|
||||
subtitle-wield_bow = Bow equipped
|
||||
subtitle-unwield_bow = Bow unequipped
|
||||
subtitle-pickup_bow = Bow picked up
|
||||
|
||||
subtitle-wield_sword = Sword equipped
|
||||
subtitle-unwield_sword = Sword unequipped
|
||||
subtitle-sword_attack = Sword swung
|
||||
subtitle-pickup_sword = Sword picked up
|
||||
|
||||
subtitle-wield_axe = Axe equipped
|
||||
subtitle-unwield_axe = Axe unequipped
|
||||
subtitle-axe_attack = Axe swung
|
||||
subtitle-pickup_axe = Axe picked up
|
||||
|
||||
subtitle-wield_hammer = Hammer equipped
|
||||
subtitle-unwield_hammer = Hammer unequipped
|
||||
subtitle-hammer_attack = Hammer swung
|
||||
subtitle-pickup_hammer = Hammer picked up
|
||||
|
||||
subtitle-wield_staff = Staff equipped
|
||||
subtitle-unwield_staff = Staff unequipped
|
||||
subtitle-fire_shot = Staff fired
|
||||
subtitle-staff_attack = Staff fired
|
||||
subtitle-pickup_staff = Staff picked up
|
||||
|
||||
subtitle-wield_sceptre = Sceptre equipped
|
||||
subtitle-unwield_sceptre = Sceptre unequipped
|
||||
subtitle-sceptre_heal = Sceptre heal aura
|
||||
subtitle-pickup_sceptre = Sceptre picked up
|
||||
|
||||
subtitle-wield_dagger = Dagger equipped
|
||||
subtitle-uwield_dagger = Dagger unequipped
|
||||
subtitle-dagger_attack = Dagger swung
|
||||
subtitle-pickup_dagger = Dagger picked up
|
||||
|
||||
subtitle-wield_shield = Shield equipped
|
||||
subtitle-unwield_shield = Shield unequipped
|
||||
subtitle-shield_attack = Shield pushed
|
||||
subtitle-pickup_shield = Shield picked up
|
||||
|
||||
subtitle-pickup_pick = Pickaxe picked up
|
||||
subtitle-pickup_gemstone = Gemstone picked up
|
||||
|
||||
subtitle-instrument_organ = Organ playing
|
||||
|
||||
subtitle-wield_instrument = Instrument equipped
|
||||
subtitle-unwield_instrument = Instrument unequipped
|
||||
subtitle-instrument_double_bass = Double Bass playing
|
||||
subtitle-instrument_flute = Flute playing
|
||||
subtitle-instrument_glass_flute = Glass Flute playing
|
||||
subtitle-instrument_lyre = Lyre playing
|
||||
subtitle-instrument_icy_talharpa = Icy Talharpa playing
|
||||
subtitle-instrument_kalimba = Kalimba playing
|
||||
subtitle-instrument_melodica = Melodica playing
|
||||
subtitle-instrument_lute = Lute playing
|
||||
subtitle-instrument_steeldrum = Steeldrum playing
|
||||
subtitle-instrument_shamisen = Shamisen playing
|
||||
subtitle-instrument_sitar = Sitar playing
|
||||
subtitle-instrument_guitar = Guitar playing
|
||||
subtitle-instrument_dark_guitar = Dark Guitar playing
|
||||
subtitle-instrument_washboard = Washboard playing
|
||||
subtitle-instrument_wildskin_drum = Wildskin Drum playing
|
||||
subtitle-pickup_instrument = Pickup instrument
|
||||
|
||||
subtitle-explosion = Explosion
|
||||
subtitle-surprise_egg = Divine Sound
|
||||
|
||||
subtitle-arrow_shot = Arrow released
|
||||
subtitle-arrow_miss = Arrow miss
|
||||
subtitle-arrow_hit = Arrow hit
|
||||
subtitle-skill_point = Skill Point gained
|
||||
subtitle-sceptre_beam = Sceptre beam
|
||||
subtitle-flame_thrower = Flame thrower
|
||||
subtitle-break_block = Block destroyed
|
||||
subtitle-attack_blocked = Attack blocked
|
||||
subtitle-parry = Parried
|
||||
subtitle-interrupted = Interrupted
|
||||
subtitle-stunned = Stunned
|
||||
subtitle-dazed = Dazed
|
||||
subtitle-knocked_down = Knocked down
|
||||
|
||||
subtitle-attack-ground_slam = Ground slam
|
||||
subtitle-attack-laser_beam = Laser beam
|
||||
subtitle-attack-cyclops_charge = Cyclops charge
|
||||
subtitle-attack-fuse_charge = Fuse sizzling
|
||||
subtitle-giga_roar = Frost gigas roar
|
||||
subtitle-deep_laugh = Deep Laugh
|
||||
subtitle-bleep = Beep Bleep
|
||||
subtitle-attack-flash_freeze = Flash freeze
|
||||
subtitle-attack-icy_spikes = Icy spikes
|
||||
subtitle-attack-ice_crack = Ice crack
|
||||
subtitle-attack-steam = Steam
|
||||
subtitle-attack-shovel = Shovel digging
|
||||
subtitle-attack-from-the-ashes = Heal Sound
|
||||
|
||||
subtitle-consume_potion = Drinking potion
|
||||
subtitle-consume_apple = Eating apple
|
||||
subtitle-consume_cheese = Eating cheese
|
||||
subtitle-consume_food = Eating
|
||||
subtitle-consume_liquid = Drinking
|
||||
|
||||
subtitle-utterance-alligator-angry = Alligator hissing
|
||||
subtitle-utterance-antelope-angry = Antelope snorting
|
||||
subtitle-utterance-biped_large-angry = Heavy grunting
|
||||
subtitle-utterance-bird-angry = Bird screeching
|
||||
subtitle-utterance-adlet-angry = Adlet barking
|
||||
subtitle-utterance-pig-angry = Pig grunting
|
||||
subtitle-utterance-reptile-angry = Reptile hissing
|
||||
subtitle-utterance-sea_crocodile-angry = Sea Crocodile hissing
|
||||
subtitle-utterance-saurok-angry = Saurok hissing
|
||||
subtitle-utterance-cat-calm = Cat meowing
|
||||
subtitle-utterance-cow-calm = Cow mooing
|
||||
subtitle-utterance-fungome-calm = Fungome squeaking
|
||||
subtitle-utterance-goat-calm = Goat bleating
|
||||
subtitle-utterance-pig-calm = Pig oinking
|
||||
subtitle-utterance-sheep-calm = Sheep bleating
|
||||
subtitle-utterance-truffler-calm = Truffler oinking
|
||||
subtitle-utterance-human-greeting = Greeting
|
||||
subtitle-utterance-adlet-hurt = Adlet whining
|
||||
subtitle-utterance-antelope-hurt = Antelope crying
|
||||
subtitle-utterance-biped_large-hurt = Heavy hurting
|
||||
subtitle-utterance-human-hurt = Human hurting
|
||||
subtitle-utterance-lion-hurt = Lion growling
|
||||
subtitle-utterance-mandroga-hurt = Mandroga screaming
|
||||
subtitle-utterance-maneater-hurt = Maneater burping
|
||||
subtitle-utterance-marlin-hurt = Marlin hurting
|
||||
subtitle-utterance-mindflayer-hurt = Mindflayer hurting
|
||||
subtitle-utterance-dagon-hurt = Dagon hurting
|
||||
subtitle-utterance-asp-angry = Asp hissing
|
||||
subtitle-utterance-asp-calm = Asp croaking
|
||||
subtitle-utterance-asp-hurt = Asp hurting
|
||||
subtitle-utterance-wendigo-angry = Wendigo screaming
|
||||
subtitle-utterance-wendigo-calm = Wendigo mumbling
|
||||
subtitle-utterance-wolf-angry = Wolf growling
|
||||
subtitle-utterance-wolf-hurt = Wolf whining
|
||||
subtitle-utterance-wyvern-angry = Wyvern roaring
|
||||
subtitle-utterance-wyvern-hurt = Wyvern hurting
|
||||
subtitle-utterance-phoenix-angry = Phoenix screaming
|
||||
subtitle-utterance-phoenix-hurt = Phoenix hurting
|
@ -1,3 +1,4 @@
|
||||
announcement = "Beep Boop!"
|
||||
position = [17720.0, 14951.0, 237.0]
|
||||
orientation = 0
|
||||
|
||||
|
128
src/bot.rs
128
src/bot.rs
@ -21,12 +21,11 @@ use veloren_common::{
|
||||
tool::AbilityMap,
|
||||
ChatType, ControllerInputs, Item, Ori, Pos,
|
||||
},
|
||||
outcome::Outcome,
|
||||
time::DayPeriod,
|
||||
trade::{PendingTrade, TradeAction, TradeResult},
|
||||
uid::Uid,
|
||||
uuid::Uuid,
|
||||
DamageSource, ViewDistances,
|
||||
ViewDistances,
|
||||
};
|
||||
use veloren_common_net::sync::WorldSyncExt;
|
||||
|
||||
@ -37,12 +36,10 @@ const COINS: ItemDefinitionId =
|
||||
const CLIENT_TPS: Duration = Duration::from_millis(33);
|
||||
const TRADE_ACTION_DELAY: Duration = Duration::from_millis(300);
|
||||
const ACCOUNCEMENT_DELAY: Duration = Duration::from_mins(45);
|
||||
const OUCH_DELAY: Duration = Duration::from_secs(2);
|
||||
|
||||
/// An active connection to the Veloren server that will attempt to run every time the `tick`
|
||||
/// function is called.
|
||||
pub struct Bot {
|
||||
username: String,
|
||||
position: Pos,
|
||||
orientation: Ori,
|
||||
admins: Vec<String>,
|
||||
@ -63,7 +60,6 @@ pub struct Bot {
|
||||
previous_trade_receipt: Option<Reciept>,
|
||||
last_trade_action: Instant,
|
||||
last_announcement: Instant,
|
||||
last_ouch: Instant,
|
||||
sort_count: u8,
|
||||
}
|
||||
|
||||
@ -140,7 +136,6 @@ impl Bot {
|
||||
let now = Instant::now();
|
||||
|
||||
Ok(Bot {
|
||||
username,
|
||||
position,
|
||||
orientation,
|
||||
admins,
|
||||
@ -157,7 +152,6 @@ impl Bot {
|
||||
previous_trade_receipt: None,
|
||||
last_trade_action: now,
|
||||
last_announcement: now,
|
||||
last_ouch: now,
|
||||
sort_count: 0,
|
||||
announcement,
|
||||
})
|
||||
@ -284,6 +278,11 @@ impl Bot {
|
||||
Some(price_correction_message)
|
||||
}
|
||||
}
|
||||
"location" => {
|
||||
self.send_location_info(&sender)?;
|
||||
|
||||
None
|
||||
}
|
||||
"ori" => {
|
||||
if self.is_user_admin(&sender)? {
|
||||
if let Some(new_rotation) = split_content.next() {
|
||||
@ -366,36 +365,6 @@ impl Bot {
|
||||
);
|
||||
}
|
||||
}
|
||||
VelorenEvent::Outcome(Outcome::ProjectileHit {
|
||||
target: Some(target),
|
||||
..
|
||||
}) => {
|
||||
if let Some(uid) = self.client.uid() {
|
||||
if uid == target && self.last_ouch.elapsed() > OUCH_DELAY {
|
||||
self.client
|
||||
.send_command("say".to_string(), vec!["Ouch!".to_string()]);
|
||||
|
||||
self.last_ouch = Instant::now();
|
||||
}
|
||||
}
|
||||
}
|
||||
VelorenEvent::Outcome(Outcome::HealthChange { info, .. }) => {
|
||||
if let Some(DamageSource::Buff(_)) = info.cause {
|
||||
return Ok(true);
|
||||
}
|
||||
|
||||
if let Some(uid) = self.client.uid() {
|
||||
if uid == info.target
|
||||
&& info.amount.is_sign_negative()
|
||||
&& self.last_ouch.elapsed() > OUCH_DELAY
|
||||
{
|
||||
self.client
|
||||
.send_command("say".to_string(), vec!["That hurt!".to_string()]);
|
||||
|
||||
self.last_ouch = Instant::now();
|
||||
}
|
||||
}
|
||||
}
|
||||
VelorenEvent::TradeComplete { result, trade } => {
|
||||
let my_party = trade
|
||||
.which_party(self.client.uid().ok_or("Failed to find uid")?)
|
||||
@ -439,24 +408,11 @@ impl Bot {
|
||||
Ok(true)
|
||||
}
|
||||
|
||||
/// Make the bot's trading and help accouncements
|
||||
///
|
||||
/// Currently, this can make two announcements: one in /region with basic usage instructions
|
||||
/// is always made. If an announcement was provided when the bot was created, it will make it
|
||||
/// in /world.
|
||||
fn handle_announcement(&mut self) -> Result<(), String> {
|
||||
debug!("Making an announcement");
|
||||
|
||||
self.client.send_command(
|
||||
"region".to_string(),
|
||||
vec![format!(
|
||||
"I'm a bot. You can trade with me or check prices: '/tell {} price [search_term]'.",
|
||||
self.username
|
||||
)],
|
||||
);
|
||||
|
||||
if let Some(announcement) = &self.announcement {
|
||||
let announcement = if announcement.contains("{location}") {
|
||||
fn send_location_info(&mut self, target: &Uid) -> Result<(), String> {
|
||||
let player_name = self
|
||||
.find_player_alias(target)
|
||||
.ok_or("Failed to find player alias")?
|
||||
.to_string();
|
||||
let location = self
|
||||
.client
|
||||
.sites()
|
||||
@ -473,13 +429,25 @@ impl Bot {
|
||||
})
|
||||
.unwrap_or(format!("{:?}", self.position));
|
||||
|
||||
announcement.replace("{location}", &location)
|
||||
} else {
|
||||
announcement.clone()
|
||||
};
|
||||
self.client.send_command(
|
||||
"tell".to_string(),
|
||||
vec![player_name, format!("I am at {location}.")],
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Make the bot's trading and help accouncements
|
||||
///
|
||||
/// Currently, this can make two announcements: one in /region with basic usage instructions
|
||||
/// is always made. If an announcement was provided when the bot was created, it will make it
|
||||
/// in /world.
|
||||
fn handle_announcement(&mut self) -> Result<(), String> {
|
||||
if let Some(announcement) = &self.announcement {
|
||||
debug!("Making an announcement");
|
||||
|
||||
self.client
|
||||
.send_command("world".to_string(), vec![announcement]);
|
||||
.send_command("region".to_string(), vec![announcement.to_string()]);
|
||||
}
|
||||
|
||||
Ok(())
|
||||
@ -848,22 +816,42 @@ impl Bot {
|
||||
}
|
||||
}
|
||||
|
||||
let inventories = self.client.inventories();
|
||||
let my_inventory = inventories
|
||||
.get(self.client.entity())
|
||||
.ok_or("Failed to find inventory")?;
|
||||
|
||||
for (item_id, price) in &self.sell_prices.0 {
|
||||
let item_name = self.get_item_name(item_id.as_ref());
|
||||
let item = Item::new_from_item_definition_id(
|
||||
item_id.as_ref(),
|
||||
&self.ability_map,
|
||||
&self.material_manifest,
|
||||
)
|
||||
.map_err(|error| error.to_string())?;
|
||||
let (item_name_i18n_id, _) = item.i18n(&self.item_i18n);
|
||||
let item_name = self.localization.read().get_content(&item_name_i18n_id);
|
||||
let item_inventory_slot = my_inventory.get_slot_of_item(&item);
|
||||
let stock = if let Some(slot_id) = item_inventory_slot {
|
||||
my_inventory.get(slot_id).unwrap().amount()
|
||||
} else {
|
||||
0
|
||||
};
|
||||
|
||||
if item_name.to_lowercase().contains(&search_term) {
|
||||
selling.push((item_name, price));
|
||||
selling.push((item_name, price, stock));
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if let Some(item_id_string) = item_id.as_ref().itemdef_id() {
|
||||
if item_id_string.to_lowercase().contains(&search_term) {
|
||||
selling.push((item_name, price));
|
||||
selling.push((item_name, price, stock));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
drop(inventories);
|
||||
|
||||
let total_found = buying.len() + selling.len();
|
||||
|
||||
if total_found == 0 {
|
||||
@ -910,12 +898,12 @@ impl Bot {
|
||||
);
|
||||
}
|
||||
|
||||
for (item_name, price) in selling {
|
||||
for (item_name, price, stock) in selling {
|
||||
self.client.send_command(
|
||||
"tell".to_string(),
|
||||
vec![
|
||||
player_name.clone(),
|
||||
format!("Selling {item_name} for {price} coins."),
|
||||
format!("Selling {item_name} for {price} coins. I have {stock} in stock."),
|
||||
],
|
||||
);
|
||||
}
|
||||
@ -943,7 +931,10 @@ impl Bot {
|
||||
fn handle_position_and_orientation(&mut self) -> Result<(), String> {
|
||||
if let Some(current_position) = self.client.current::<Pos>() {
|
||||
if current_position != self.position {
|
||||
debug!("Updating position to {}", self.position.0);
|
||||
debug!(
|
||||
"Updating position from {} to {}",
|
||||
current_position.0, self.position.0
|
||||
);
|
||||
|
||||
let entity = self.client.entity();
|
||||
let ecs = self.client.state_mut().ecs();
|
||||
@ -957,7 +948,10 @@ impl Bot {
|
||||
|
||||
if let Some(current_orientation) = self.client.current::<Ori>() {
|
||||
if current_orientation != self.orientation {
|
||||
debug!("Updating orientation to {:?}", self.orientation);
|
||||
debug!(
|
||||
"Updating orientation from {:?} to {:?}",
|
||||
current_orientation, self.orientation
|
||||
);
|
||||
|
||||
let entity = self.client.entity();
|
||||
let ecs = self.client.state_mut().ecs();
|
||||
|
@ -29,10 +29,10 @@ fn main() {
|
||||
};
|
||||
let game_server = config
|
||||
.game_server
|
||||
.unwrap_or("server.veloren.net".to_string());
|
||||
.unwrap_or_else(|| "server.veloren.net".to_string());
|
||||
let auth_server = config
|
||||
.auth_server
|
||||
.unwrap_or("https://auth.veloren.net".to_string());
|
||||
.unwrap_or_else(|| "https://auth.veloren.net".to_string());
|
||||
let mut bot = Bot::new(
|
||||
game_server,
|
||||
&auth_server,
|
||||
|
Loading…
Reference in New Issue
Block a user