diff --git a/Cargo.lock b/Cargo.lock index 9e20b47..150d112 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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]] diff --git a/README.md b/README.md index 1f3c424..b33012f 100644 --- a/README.md +++ b/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. diff --git a/assets/voxygen/i18n/en/body.ftl b/assets/voxygen/i18n/en/body.ftl deleted file mode 100644 index f1ad801..0000000 --- a/assets/voxygen/i18n/en/body.ftl +++ /dev/null @@ -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 diff --git a/assets/voxygen/i18n/en/esc_menu.ftl b/assets/voxygen/i18n/en/esc_menu.ftl deleted file mode 100644 index 1ea8d86..0000000 --- a/assets/voxygen/i18n/en/esc_menu.ftl +++ /dev/null @@ -1,2 +0,0 @@ -esc_menu-logout = Logout -esc_menu-quit_game = Quit Game diff --git a/assets/voxygen/i18n/en/hud/ability.ftl b/assets/voxygen/i18n/en/hud/ability.ftl deleted file mode 100644 index 94605a2..0000000 --- a/assets/voxygen/i18n/en/hud/ability.ftl +++ /dev/null @@ -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. diff --git a/assets/voxygen/i18n/en/hud/bag.ftl b/assets/voxygen/i18n/en/hud/bag.ftl deleted file mode 100644 index 778ed00..0000000 --- a/assets/voxygen/i18n/en/hud/bag.ftl +++ /dev/null @@ -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? -} diff --git a/assets/voxygen/i18n/en/hud/char_window.ftl b/assets/voxygen/i18n/en/hud/char_window.ftl deleted file mode 100644 index 34b4e3d..0000000 --- a/assets/voxygen/i18n/en/hud/char_window.ftl +++ /dev/null @@ -1,9 +0,0 @@ -character_window-character_name = Character name -character_window-character_stats = - Endurance - - Fitness - - Willpower - - Protection diff --git a/assets/voxygen/i18n/en/hud/chat.ftl b/assets/voxygen/i18n/en/hud/chat.ftl deleted file mode 100644 index d76f369..0000000 --- a/assets/voxygen/i18n/en/hud/chat.ftl +++ /dev/null @@ -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 } -} diff --git a/assets/voxygen/i18n/en/hud/map.ftl b/assets/voxygen/i18n/en/hud/map.ftl deleted file mode 100644 index 0a913fd..0000000 --- a/assets/voxygen/i18n/en/hud/map.ftl +++ /dev/null @@ -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 } diff --git a/assets/voxygen/i18n/en/hud/misc.ftl b/assets/voxygen/i18n/en/hud/misc.ftl deleted file mode 100644 index 35e1987..0000000 --- a/assets/voxygen/i18n/en/hud/misc.ftl +++ /dev/null @@ -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 }) diff --git a/assets/voxygen/i18n/en/hud/quest.ftl b/assets/voxygen/i18n/en/hud/quest.ftl deleted file mode 100644 index 8e2a55b..0000000 --- a/assets/voxygen/i18n/en/hud/quest.ftl +++ /dev/null @@ -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 diff --git a/assets/voxygen/i18n/en/hud/sct.ftl b/assets/voxygen/i18n/en/hud/sct.ftl deleted file mode 100644 index d1bc1ba..0000000 --- a/assets/voxygen/i18n/en/hud/sct.ftl +++ /dev/null @@ -1,2 +0,0 @@ -hud-sct-experience = { $amount } XP -hud-sct-block = BLOCKED diff --git a/assets/voxygen/i18n/en/hud/settings.ftl b/assets/voxygen/i18n/en/hud/settings.ftl deleted file mode 100644 index 51af2e9..0000000 --- a/assets/voxygen/i18n/en/hud/settings.ftl +++ /dev/null @@ -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 diff --git a/assets/voxygen/i18n/en/hud/signs.ftl b/assets/voxygen/i18n/en/hud/signs.ftl deleted file mode 100644 index cd85a0f..0000000 --- a/assets/voxygen/i18n/en/hud/signs.ftl +++ /dev/null @@ -1 +0,0 @@ -common-signs-keep_out = Keep Out! diff --git a/assets/voxygen/i18n/en/hud/social.ftl b/assets/voxygen/i18n/en/hud/social.ftl deleted file mode 100644 index 17940d2..0000000 --- a/assets/voxygen/i18n/en/hud/social.ftl +++ /dev/null @@ -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 diff --git a/assets/voxygen/i18n/en/hud/subtitles.ftl b/assets/voxygen/i18n/en/hud/subtitles.ftl deleted file mode 100644 index b5cc9c6..0000000 --- a/assets/voxygen/i18n/en/hud/subtitles.ftl +++ /dev/null @@ -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 diff --git a/config/config.toml b/config/config.toml index 63d4310..a63190c 100644 --- a/config/config.toml +++ b/config/config.toml @@ -1,3 +1,4 @@ +announcement = "Beep Boop!" position = [17720.0, 14951.0, 237.0] orientation = 0 diff --git a/src/bot.rs b/src/bot.rs index 873a2d1..8f4f0a3 100644 --- a/src/bot.rs +++ b/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, @@ -63,7 +60,6 @@ pub struct Bot { previous_trade_receipt: Option, 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,47 +408,46 @@ impl Bot { Ok(true) } + 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() + .into_iter() + .find_map(|(_, SiteInfoRich { site, .. })| { + let x_difference = self.position.0[0] - site.wpos[0] as f32; + let y_difference = self.position.0[1] - site.wpos[1] as f32; + + if x_difference.abs() < 100.0 && y_difference.abs() < 100.0 { + site.name.clone() + } else { + None + } + }) + .unwrap_or(format!("{:?}", self.position)); + + 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> { - 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}") { - let location = self - .client - .sites() - .into_iter() - .find_map(|(_, SiteInfoRich { site, .. })| { - let x_difference = self.position.0[0] - site.wpos[0] as f32; - let y_difference = self.position.0[1] - site.wpos[1] as f32; - - if x_difference.abs() < 100.0 && y_difference.abs() < 100.0 { - site.name.clone() - } else { - None - } - }) - .unwrap_or(format!("{:?}", self.position)); - - announcement.replace("{location}", &location) - } else { - announcement.clone() - }; + 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::() { 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::() { 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(); diff --git a/src/main.rs b/src/main.rs index e9ed247..9836eb1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -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,